Update ChangeLogs for 1.19.3
[platform/upstream/gstreamer.git] / subprojects / gstreamer-vaapi / ChangeLog
1 2021-10-18 15:47:00 +0100  Tim-Philipp Müller <tim@centricular.com>
2
3         * tests/check/meson.build:
4           meson: update for meson.build_root() and .build_source() deprecation
5           -> use meson.project_build_root() or .global_build_root() instead.
6           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
7
8 2021-10-18 00:40:14 +0100  Tim-Philipp Müller <tim@centricular.com>
9
10         * docs/meson.build:
11         * gst-libs/gst/vaapi/meson.build:
12         * meson.build:
13         * tests/check/meson.build:
14           meson: update for dep.get_pkgconfig_variable() deprecation
15           ... in favour of dep.get_variable('foo', ..) which in some
16           cases allows for further cleanups in future since we can
17           extract variables from pkg-config dependencies as well as
18           internal dependencies using this mechanism.
19           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
20
21 2021-10-14 18:38:26 +0100  Tim-Philipp Müller <tim@centricular.com>
22
23         * meson.build:
24           meson: bump meson requirement to >= 0.59
25           For monorepo build and ugly/bad, for advanced feature
26           option API like get_option('xyz').required(..) which
27           we use in combination with the 'gpl' option.
28           For rest of modules for consistency (people will likely
29           use newer features based on the top-level requirement).
30           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
31
32 2021-10-15 00:33:39 +0800  He Junyan <junyan.he@intel.com>
33
34         * docs/index.md:
35           Docs: Fix a typo for Intel's vaapi driver name.
36           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1151>
37
38 2021-09-28 10:11:15 +1000  Brad Hards <bradh@frogmouth.net>
39
40         * RELEASE:
41           doc: update IRC links to OFTC
42           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
43
44 2021-09-26 01:07:02 +0100  Tim-Philipp Müller <tim@centricular.com>
45
46         * meson.build:
47           Back to development
48           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
49
50 === release 1.19.2 ===
51
52 2021-09-23 01:35:54 +0100  Tim-Philipp Müller <tim@centricular.com>
53
54         * ChangeLog:
55         * NEWS:
56         * RELEASE:
57         * gstreamer-vaapi.doap:
58         * meson.build:
59           Release 1.19.2
60
61 2021-08-26 15:06:53 +0800  Zhang Yuankun <yuankunx.zhang@intel.com>
62
63         * gst/vaapi/gstvaapidecode.c:
64           vaapi: decoder: modify the condition to judge whether dma buffer is supported
65           It seems "GST_VAAPI_PLUGIN_BASE_SRC_PAD_CAN_DMABUF (decode)" will
66           return false even if this platform support the mem_type dma buffer.
67           And media-driver will return GST_VAAPI_BUFFER_MEMORY_TYPE_DMA_BUF2
68           on Gen12(such as TGL).
69           Without this patch, The command such as:
70           gst-launch-1.0 videotestsrc num-buffers=100 ! video/x-raw, format=I420 ! \
71           x264enc ! h264parse ! vaapih264dec ! video/x-raw\(memory:DMABuf\) ! fakesink
72           will return not-negotiated.
73           Signed-off-by: Zhang Yuankun <yuankunx.zhang@intel.com>
74           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/437>
75
76 2021-05-14 12:04:04 +0800  He Junyan <junyan.he@intel.com>
77
78         * gst-libs/gst/vaapi/gstvaapidisplay.c:
79         * gst/vaapi/gstvaapivideocontext.c:
80           Display: Add a property to export the VA display handle.
81           Just like what we do in VA plugins. The display can be seen as a
82           generic gst object and we can add a property to get the internal
83           VA handle.
84           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/435>
85
86 2021-05-14 11:49:01 +0800  He Junyan <junyan.he@intel.com>
87
88         * gst/vaapi/gstvaapivideomemory.c:
89         * gst/vaapi/gstvaapivideomemory.h:
90           plugins: video memory: Add a GST_MAP_VAAPI flag to peek the surface.
91           Just like what we do in VA plugins, the GST_MAP_VAAPI can directly
92           peek the surface of the VA buffers. The old flag 0 just peek the
93           surface proxy, which may not be convenient for the users who do not
94           want to include our headers.
95           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/435>
96
97 2021-07-09 11:01:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
98
99         * gst/vaapi/gstvaapi.c:
100         * gst/vaapi/gstvaapidecode.c:
101           Revert "vaapi: Demote vaapidecodebin to rank NONE."
102           This reverts commit 7a25c5d4ec95aefeca6515ac023b23c5dd330194.
103           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/436>
104
105 2021-06-23 16:23:00 +0800  He Junyan <junyan.he@intel.com>
106
107         * gst/vaapi/gstvaapiencode.c:
108           plugins: encode: fix a deadlock because of _drain()
109           We call gst_vaapiencode_drain() in gst_vaapiencode_change_state(),
110           whose context does not hold the stream lock of the encoder. The
111           current gst_vaapiencode_drain inside unlock/lock pair adds a extra
112           lock count to the stream lock of encoder and causes hang later.
113           We just remove the gst_vaapiencode_drain() and expand its logic
114           correctly according to the lock/unlock context.
115           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/433>
116
117 2021-06-29 15:09:13 +0800  He Junyan <junyan.he@intel.com>
118
119         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
120           libs: decoder: av1: Clean the film_grain_info field.
121           We need to clean all film_grain_info fields when the film grain
122           feature is not enabled. It may have random data because the picture
123           parameter buffer is not cleaned.
124           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/434>
125
126 2021-06-03 22:12:04 +0800  He Junyan <junyan.he@intel.com>
127
128         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
129         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
130           libs: encoder: mpeg2: Add highP level for 1080@50p/60p.
131           The MPEG2 spec has amendment 3 to introduce a new level highP, which
132           is used for 1080@50p/60p streams. We need to add this level to avoid
133           encoding failure because of the level check.
134           Fix: #306
135           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/432>
136
137 2021-05-11 16:59:07 +0800  He Junyan <junyan.he@intel.com>
138
139         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
140           Decoder: H264: Add the support for frame packing arrangement SEI message.
141           Frame packing arrangement SEI message is an alternative simple stereo 3D
142           manner for AVC. We need to recognize that SEI message and report the correct
143           3D caps.
144           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/420>
145
146 2021-05-22 18:54:49 +0100  Tim-Philipp Müller <tim@centricular.com>
147
148         * gst-libs/gst/vaapi/gstvaapifilter.c:
149         * meson.build:
150           Use g_memdup2() where available and add fallback for older GLib versions
151           Alloc size is based on existing allocations and struct sizes.
152           g_memdup() is deprecated since GLib 2.68 and we want to avoid
153           deprecation warnings with recent versions of GLib.
154           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/431>
155
156 2021-06-01 15:29:16 +0100  Tim-Philipp Müller <tim@centricular.com>
157
158         * meson.build:
159           Back to development
160
161 === release 1.19.1 ===
162
163 2021-06-01 00:16:31 +0100  Tim-Philipp Müller <tim@centricular.com>
164
165         * ChangeLog:
166         * NEWS:
167         * RELEASE:
168         * gstreamer-vaapi.doap:
169         * meson.build:
170           Release 1.19.1
171
172 2021-04-23 19:01:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
173
174         * gst/vaapi/gstvaapi.c:
175         * gst/vaapi/gstvaapidecode.c:
176           vaapi: Demote vaapidecodebin to rank NONE.
177           One of the main reasons of vaapidecodebin was because it mitigated the
178           possible surface exhaustion. But that problem is currently
179           solved. Nowadays, vaapidecodebin brings more problems than it
180           solves. Thus this patch demotes vaapidecodebin to NONE rank while
181           bumping PRIMARY + 1 the most common decoders.
182           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/426>
183
184 2021-05-20 10:28:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
185
186         * gst/vaapi/gstvaapi.c:
187         * gst/vaapi/gstvaapioverlay.c:
188           plugins: Demote rank of vaapipostproc and vaapioverlay.
189           Since almost all video filters have rank NONE, these both elements
190           should be NONE too.
191           This is useful for autovideoconvert and other bins, and users might
192           force to use these by setting the environment variable
193           GST_PLUGIN_FEATURE_RANK.
194           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/429>
195
196 2021-04-21 10:55:45 +0200  François Laignel <fengalin@free.fr>
197
198         * tests/check/elements/vaapioverlay.c:
199           Use gst_element_request_pad_simple...
200           Instead of the deprecated gst_element_get_request_pad.
201           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/425>
202
203 2021-04-23 11:02:05 +0800  Zhang yuankun <yuankunx.zhang@intel.com>
204
205         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
206           libs: encoder: VP9: fix > 4k encode fail issue
207           The VP9 spec defines the MAX_TILE_WIDTH_B64(64), which is the maximum
208           width of a tile in units of superblocks. So the max width of one tile
209           should not be larger than 64x64=4096. When the width exceeds 4k, we
210           need to split it into multiple tiles in columns. The current vp9 encoder
211           does not handle this correctly.
212           The command such as:
213           gst-launch-1.0 videotestsrc ! video/x-raw,width=7680,height=4320 ! \
214           vaapivp9enc ! fakesink
215           will crash.
216           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/424>
217
218 2021-04-02 15:43:45 +0800  Haihao Xiang <haihao.xiang@intel.com>
219
220         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
221           libs: display: drm: don't fallback to default device if explicitly specified device can't load/init
222           Otherwise user will be misled that the specified device is using
223           This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/305
224           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/422>
225
226 2021-03-22 13:41:13 +0800  He Junyan <junyan.he@intel.com>
227
228         * gst-libs/gst/vaapi/gstvaapiencoder.c:
229         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
230         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
231           decoder: H265: Enable cu_qp_delta_enabled_flag when ROI
232           If ROI is enabled, the CUs within the ROI region may have different
233           QP from the other part of the picture. This needs us to enable the
234           cu_qp_delta_enabled_flag even in the CQP mode.
235           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/419>
236
237 2021-03-19 17:42:36 +1100  Matthew Waters <matthew@centricular.com>
238
239         * gst-libs/gst/vaapi/gstvaapicontext.c:
240         * gst-libs/gst/vaapi/gstvaapicontext.h:
241         * gst-libs/gst/vaapi/gstvaapiencoder.c:
242         * gst-libs/gst/vaapi/gstvaapifilter.c:
243         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
244         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
245         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
246         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
247         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
248         * gst-libs/gst/vaapi/gstvaapivalue.c:
249         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
250         * gst/vaapi/gstvaapipluginbase.c:
251         * gst/vaapi/gstvaapisink.c:
252         * gst/vaapi/gstvaapisink.h:
253         * gst/vaapi/gstvaapivideocontext.c:
254         * gst/vaapi/gstvaapivideomemory.c:
255         * tests/internal/simple-decoder.c:
256           gst: don't use volatile to mean atomic
257           volatile is not sufficient to provide atomic guarantees and real atomics
258           should be used instead.  GCC 11 has started warning about using volatile
259           with atomic operations.
260           https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
261           Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
262           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/418>
263
264 2021-02-24 17:41:02 +0100  Paul Goulpié <paul.goulpie@ubicast.eu>
265
266         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
267           gstvaapiencoder_h264: add ENCODER_EXPOSURE on aud propertie
268           forgot during the following mainline commit: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/commit/bc2f8fd19e924aa0e193708307326acd037691ce#
269           Signed-off-by: Paul Goulpié <paul.goulpie@ubicast.eu>
270
271 2021-02-04 15:05:55 +0800  He Junyan <junyan.he@intel.com>
272
273         * gst/vaapi/gstvaapipostproc.c:
274           plugins: postproc: Fix a problem of propose_allocation when passthrough.
275           We should query the downstream element to answer a precise allocation
276           query when the passthrough mode is enabled.
277           The current way still decides the allocation by the postproc itself. The
278           pipeline such as:
279           gst-launch-1.0 -v filesrc location=xxx.264 ! h264parse ! vaapih264dec ! \
280           vaapipostproc ! fakevideosink silent=false sync=true
281           will lose some info such as the GST_VIDEO_META_API_TYPE.
282           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/413>
283
284 2021-01-27 12:05:44 +0800  Haihao Xiang <haihao.xiang@intel.com>
285
286         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
287         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
288         * gst/vaapi/gstvaapivideocontext.c:
289           libs: display: drm: support gst.vaapi.app.Display context for drm backend
290           Attributes for drm backend:
291           - va-display : ponter of VADisplay
292           - drm-device-fd : the DRM device file descriptor
293           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/409>
294
295 2021-01-13 14:43:20 +0800  Haihao Xiang <haihao.xiang@intel.com>
296
297         * docs/index.md:
298         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
299           libs: display: drm: allow user specify a drm device via an env variable
300           Currently the default drm device is always used on a system with
301           multiple drm devices. This patch allows user to specify the required
302           drm device via GST_VAAPI_DRM_DEVICE env variable
303           Example:
304           GST_VAAPI_DRM_DEVICE=/dev/dri/renderD129 gst-launch-1.0 videotestsrc !
305           vaapih264enc ! fakesink
306           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/409>
307
308 2021-01-25 14:45:47 +0800  Haihao Xiang <haihao.xiang@intel.com>
309
310         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
311           libs: display: drm: fix set_device_path_from_fd
312           drmGetBusid() (GET_UNIQUE ioctl) won't return a valid bus id when
313           drmSetInterfaceVersion() (SET_VERSION ioctl) hasn't been called(see[1]),
314           so we can't get the right device path. Running test-display will get the
315           error below:
316           ** (test-display:18630): ERROR **: 10:26:00.434: could not create Gst/VA
317           display
318           Calling drmSetInterfaceVersion() before drmGetBusid() can't fix this
319           issue because a special permission is required for SET_VERSION ioctl.
320           This patch retrieves the device path from file descriptor via
321           g_file_read_link()
322           [1] https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/drm_ioctl.c#L48-L104
323           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/412>
324
325 2021-01-20 10:42:09 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
326
327         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
328           glx: Iterate over FBConfig and select 8 bit color size
329           Texture upload mechanism used by gstreamer-vaapi relies on 8 bpc.
330           In latest mesa versions the first fbconfig might not be 8 bit, so iterate
331           over it to find the correct config with supported values.
332           This also adds 8 bit alpha size to the framebuffer configuration which is
333           required to get it working properly.
334           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/410>
335
336 2021-01-11 09:57:03 +0800  Ung, Teng En <teng.en.ung@intel.com>
337
338         * gst-libs/gst/vaapi/gstvaapiutils.c:
339           vaapipostproc: fix code style.
340           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/407>
341
342 2020-12-21 05:42:00 +0000  Ung, Teng En <teng.en.ung@intel.com>
343
344         * gst-libs/gst/vaapi/gstvaapidisplay.c:
345         * gst-libs/gst/vaapi/gstvaapidisplay.h:
346         * gst-libs/gst/vaapi/gstvaapifilter.c:
347           vaapipostproc: Remove YUV to/from RGB color primary quirk since iHD driver has fixed in https://github.com/intel/media-driver/commit/a39fe9bc051a8c3efa8f35122a1585981ec7f816.
348           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/407>
349
350 2020-12-21 05:36:29 +0000  Ung, Teng En <teng.en.ung@intel.com>
351
352         * gst-libs/gst/vaapi/gstvaapiutils.c:
353           vaapipostproc: Added gstreamer BT2020 color standard support.
354           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/407>
355
356 2021-01-09 16:05:48 +0800  He Junyan <junyan.he@intel.com>
357
358         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
359           decoder: AV1: Fix a static analysis problem of update_state().
360           No need to check the picture pointer after we have already dereferenced it.
361           Fix: #298
362           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/408>
363
364 2020-12-22 23:43:52 +0800  He Junyan <junyan.he@intel.com>
365
366         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
367         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
368         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
369           libs: decoder: Add decode_with_surface_id for AV1 film_grain.
370           The AV1 film_graim feature needs two surfaces the same time for
371           decoding. One is for recon surface which will be used as reference
372           later, and the other one is for display. The GstVaapiPicture should
373           contain the surface for display, while the vaBeginPicture() need
374           the recon surface as the target.
375           We add a gst_vaapi_picture_decode_with_surface_id API to handle this
376           kind of requirement.
377           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/191>
378
379 2020-08-27 21:46:41 +0800  He Junyan <junyan.he@intel.com>
380
381         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
382         * gst-libs/gst/vaapi/gstvaapidecoder_av1.h:
383         * gst-libs/gst/vaapi/gstvaapiprofile.c:
384         * gst-libs/gst/vaapi/gstvaapiprofile.h:
385         * gst-libs/gst/vaapi/gstvaapiutils.c:
386         * gst-libs/gst/vaapi/meson.build:
387         * gst/vaapi/gstvaapidecode.c:
388         * meson.build:
389           libs: decoder: AV1: Add the av1 decoder support.
390           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/191>
391
392 2020-08-27 21:39:35 +0800  He Junyan <junyan.he@intel.com>
393
394         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
395         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
396         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
397         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
398           libs: codecobject: Add number of elements when create codec object.
399           One slice data may need several slice parameter buffers at one time.
400           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/191>
401
402 2020-12-12 10:30:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
403
404         * gst/vaapi/gstvaapidecodebin.c:
405         * gst/vaapi/gstvaapipluginbase.c:
406         * gst/vaapi/gstvaapivideobufferpool.c:
407           vaapi: use gst_clear_object instead of g_clear_object
408           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/406>
409
410 2020-12-08 13:34:35 +0800  He Junyan <junyan.he@intel.com>
411
412         * gst/vaapi/gstvaapiencode.c:
413           plugins: encode: unlock the stream lock before _flush()
414           The current encoder will hang when EOS comes. When we call the
415           gst_vaapi_encoder_encode_and_queue(), we should release the stream
416           lock, just like what we do in gst_vaapiencode_handle_frame().
417           The deadlock happens when: The input thread holding the stream lock
418           is using gst_vaapi_encoder_create_coded_buffer() to acquire a coded
419           buffer, while the output thread which holding the coded buffer resource
420           is acquiring the stream lock in _push_frame() to push the data to
421           down stream element.
422           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/404>
423
424 2020-12-09 00:04:33 +0800  He Junyan <junyan.he@intel.com>
425
426         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
427           libs: encoder: H264: Fix one assert in get_pending_reordered().
428           gst_vaapi_encoder_h264_get_pending_reordered() does not consider the
429           case for HIERARCHICAL_B mode. The pipeline:
430           gst-launch-1.0  videotestsrc num-buffers=48 ! vaapih264enc prediction-type=2 \
431           keyframe-period=32 ! fakesink
432           get a assert:
433           ERROR:../gst-libs/gst/vaapi/gstvaapiencoder_h264.c:1996:reflist1_init_hierarchical_b:
434           assertion failed: (count != 0)
435           The last few B frames are not fetched in correct order when HIERARCHICAL_B
436           is enabled.
437           We also fix a latent bug for normal mode. The g_queue_pop_tail() of B frames
438           make the last several frames encoded in reverse order. The NAL of last few
439           frames come in reverse order in the bit stream, though it can still output
440           the correct image.
441           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/405>
442
443 2020-06-25 16:25:21 +0800  He Junyan <junyan.he@hotmail.com>
444
445         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
446         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
447           libs: encoder: H265: Add screen content coding extensions support.
448           In scc mode, the I frame can ref to itself and it needs the L0 reference
449           list enabled. So we should set the I frame to P_SLICE type. We do not need
450           to change the ref_pic_list0/1 passed to VA driver, just need to enable the
451           VAEncPictureParameterBufferHEVC->pps_curr_pic_ref_enabled_flag to notify
452           the driver consider the current frame as reference. For bits conformance,
453           the NumRpsCurrTempList0 should be incremented by one to include the current
454           picture as the reference frame. We manually do it when packing the slice header.
455           Command line like:
456           gst-launch-1.0  videotestsrc num-buffers=10 ! \
457           capsfilter caps=video/x-raw,format=NV12, framerate=30/1,width=640,height=360 ! \
458           vaapih265enc ! capsfilter caps=video/x-h265,profile="{ (string)screen-extended-main }" ! \
459           filesink location=out.265
460           Can be used to specify that the encoder should use SCC profiles.
461           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/379>
462
463 2020-07-11 23:37:29 +0800  He Junyan <junyan.he@intel.com>
464
465         * gst/vaapi/gstvaapiencode_vp9.c:
466           plugin: encode: vp9: Implement the set_config().
467           We store the allowed profiles list to encoder in set_config().
468           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
469
470 2020-07-11 23:39:40 +0800  He Junyan <junyan.he@intel.com>
471
472         * gst/vaapi/gstvaapiencode_vp9.c:
473           plugin: encode: vp9: Add the profile into output caps.
474           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
475
476 2020-07-11 23:27:21 +0800  He Junyan <junyan.he@intel.com>
477
478         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
479           libs: encoder: vp9: no need to ensure_hw_profile.
480           Once we decide the profile and can get the valid entrypoint for
481           that profile, hw must already support this profile/entrypoint pair.
482           No need to check it again in set_context_info().
483           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
484
485 2020-07-11 23:22:55 +0800  He Junyan <junyan.he@intel.com>
486
487         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
488           libs: encoder: vp9: Improve the manner to decide the profile.
489           We should decide the VP9 encoder's profile based on the chroma and
490           depth of the input format, then make sure it is included in the
491           allowed list.
492           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
493
494 2020-07-11 23:17:02 +0800  He Junyan <junyan.he@intel.com>
495
496         * gst-libs/gst/vaapi/gstvaapiutils_vpx.c:
497         * gst-libs/gst/vaapi/gstvaapiutils_vpx.h:
498           libs: util: vpx: add get_chroma_format_idc for VP9
499           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
500
501 2020-07-11 23:09:59 +0800  He Junyan <junyan.he@intel.com>
502
503         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
504         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
505           libs: encoder: vp9: Add allowed_profiles.
506           We need the allowed_profiles to store the allowed profiles in down
507           stream's caps.
508           Command line like:
509           vaapivp9enc ! capsfilter caps=video/x-vp9,profile="{ (string)1, \
510           (string)3 }"
511           We need to store GST_VAAPI_PROFILE_VP9_1 and GST_VAAPI_PROFILE_VP9_3
512           in this list.
513           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
514
515 2020-11-30 18:00:30 +0800  He Junyan <junyan.he@intel.com>
516
517         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
518           libs: decoder: H265: Fix a typo in scc reference setting.
519           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/402>
520
521 2020-07-17 18:00:30 +0800  He Junyan <junyan.he@intel.com>
522
523         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
524         * gst-libs/gst/vaapi/gstvaapiprofile.c:
525         * gst-libs/gst/vaapi/gstvaapiprofile.h:
526         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
527         * gst-libs/gst/vaapi/video-format.c:
528         * gst/vaapi/gstvaapidecode.c:
529           libs: decoder: H265: Add MAIN_422_12 profile supporting.
530           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
531
532 2020-07-31 14:38:42 +0800  He Junyan <junyan.he@intel.com>
533
534         * gst-libs/gst/vaapi/gstvaapiimage.c:
535         * gst-libs/gst/vaapi/video-format.c:
536         * gst-libs/gst/vaapi/video-format.h:
537           video-format: Add Y212_LE format.
538           It can be used as HEVC YUV_4:2:2 12bits stream's decoder output, and
539           also can be used as the input format for encoding HEVC YUV_4:2:2 12bits
540           stream.
541           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
542
543 2020-07-30 23:21:06 +0800  He Junyan <junyan.he@intel.com>
544
545         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
546         * gst-libs/gst/vaapi/gstvaapiprofile.c:
547         * gst-libs/gst/vaapi/gstvaapiprofile.h:
548         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
549         * gst-libs/gst/vaapi/video-format.c:
550         * gst/vaapi/gstvaapidecode.c:
551           libs: decoder: H265: Add MAIN_444_12 profile supporting.
552           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
553
554 2020-07-30 23:13:10 +0800  He Junyan <junyan.he@intel.com>
555
556         * gst-libs/gst/vaapi/gstvaapiimage.c:
557         * gst-libs/gst/vaapi/video-format.c:
558         * gst-libs/gst/vaapi/video-format.h:
559           video-format: Add Y412_LE format.
560           It can be used as HEVC YUV_4:4:4 12bits stream's decoder output, and
561           also can be used as the input format for encoding HEVC YUV_4:4:4 12bits
562           stream.
563           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
564
565 2020-09-17 16:47:43 +0800  He Junyan <junyan.he@intel.com>
566
567         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
568           libs: decoder: h265: fill missing predictor_palette_size field.
569           The predictor_palette_size of VAPictureParameterBufferHEVCScc is
570           forgotten and need to be filled when streams have palettes.
571           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/396>
572
573 2020-09-17 15:35:11 +0800  He Junyan <junyan.he@intel.com>
574
575         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
576           libs: utils: h265: Use get_profile_from_sps to get profile.
577           We now use gst_h265_get_profile_from_sps() to replace the old way
578           of gst_h265_profile_tier_level_get_profile() to get more precise
579           profile. The new function consider the unstandard cases and give
580           a more suitable profile decision.
581           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/395>
582
583 2020-10-19 13:46:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
584
585         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
586           libs: decoder: vp9: 0xff segment pred probs if no temporal update
587           According to the spec (6.2.11 Segmentation params syntax)
588           segmentation_pred_prob[i] ast to be 0xff if not temporal_update.
589           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/400>
590
591 2020-10-19 13:42:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
592
593         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
594           libs: decoder: vp9: avoid reference rewriting
595           The removed code set all the reference frames to the current frame it is a key
596           one, but later, all the reference frames were rewritten with the decoded picture
597           buffers or VA_INVALID_SURFACE if they were not available.
598           Basically, all this time the first reference frame assignment has been ignored,
599           and it's not described by the spec, and this patch removes that code.
600           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/400>
601
602 2020-09-20 09:56:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
603
604         * gst/vaapi/gstvaapidecode.c:
605           decoder: don't reply src caps query with allowed if pad is fixed
606           If the pad is already fixed the caps query have to be reply with the
607           current fixed caps. Otherwise the query has to be replied with the
608           autogeneratd src caps.
609           This path fix this by falling back to the normal caps query processing
610           if the pad is already fixed. Otherwise it will fetch the allowed src
611           pad caps.
612           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/397>
613
614 2020-09-15 00:11:30 +0800  He Junyan <junyan.he@intel.com>
615
616         * gst/vaapi/gstvaapidecode.c:
617           plugins: decode: fix a DMA caps typo in ensure_allowed_srcpad_caps.
618           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/392>
619
620 2020-09-01 09:31:33 +0200  Marc Leeman <m.leeman@televic.com>
621
622         * gst/vaapi/gstvaapisink.c:
623           vaapisink: when updating the caps, reset rotation
624           When an element upstream changes settings (e.g. crop), new caps are sent
625           to vaapisink. When vaapisink was rotating the image, it needs to
626           re-evaluate if the sink needs to rotate the image.
627           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/389>
628
629 2020-09-08 17:31:02 +0100  Tim-Philipp Müller <tim@centricular.com>
630
631         * .gitlab-ci.yml:
632           ci: include template from gst-ci master branch again
633
634 2020-09-08 16:59:07 +0100  Tim-Philipp Müller <tim@centricular.com>
635
636         * meson.build:
637           Back to development
638
639 === release 1.18.0 ===
640
641 2020-09-08 00:09:51 +0100  Tim-Philipp Müller <tim@centricular.com>
642
643         * .gitlab-ci.yml:
644         * ChangeLog:
645         * NEWS:
646         * RELEASE:
647         * gstreamer-vaapi.doap:
648         * meson.build:
649           Release 1.18.0
650
651 2020-09-07 12:15:43 +0300  Sebastian Dröge <sebastian@centricular.com>
652
653         * gst-libs/gst/vaapi/gstvaapifilter.c:
654           Update for gst_video_transfer_function_*() function renaming
655           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/391>
656
657 2020-08-22 12:53:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
658
659         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
660         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
661           Revert "libs: decoder: h264, h265: in context at least 16 reference surfaces"
662           This reverts commit b387081a4d77d3da202da72686ab40fb9c83ee1e as discussed in
663           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/commit/b387081a4d77d3da202da72686ab40fb9c83ee1e
664
665 === release 1.17.90 ===
666
667 2020-08-20 16:16:25 +0100  Tim-Philipp Müller <tim@centricular.com>
668
669         * ChangeLog:
670         * NEWS:
671         * RELEASE:
672         * gstreamer-vaapi.doap:
673         * meson.build:
674           Release 1.17.90
675
676 2020-08-17 11:43:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
677
678         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
679           libs: surface: egl: guard memory type
680           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/384>
681
682 2020-08-17 19:26:43 +0800  He Junyan <junyan.he@intel.com>
683
684         * gst/vaapi/gstvaapidecode.c:
685           plugin: decode: Fix two mem leaks because of caps.
686           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/385>
687
688 2020-08-16 01:57:15 +0800  He Junyan <junyan.he@intel.com>
689
690         * gst/vaapi/gstvaapivideomemory.c:
691           plugin: allocator: No need to ref allocator when create mem.
692           We do not need to ref the allocator when creating GstVaapiVideoMemory
693           kind memory, and then release it in _free(). The framework already
694           does it for us.
695           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/383>
696
697 2020-08-14 10:42:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
698
699         * gst/vaapi/gstvaapiencode_h264.c:
700           vaapiencode: h264: ignore level without breaking negotiation
701           Since commit 9f627ef2 if the user sets level in the encoder src caps
702           the caps negotiation is rejected.
703           But since the same commit the same encoder set the autoconfigured
704           level in caps. Some change in the base class might fixed the operation
705           order so now the caps are set and later negotiated.
706           This patch removes the level check.
707           Fixes: #273
708           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/382>
709
710 2019-07-09 19:17:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
711
712         * gst-libs/gst/vaapi/egl_vtable.h:
713         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
714         * gst-libs/gst/vaapi/gstvaapisurface_egl.h:
715         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
716           libs: egl: surface: export EGLImage as DMABuf if GEM not supported
717           This code path is used when frames are rendered as textures through
718           GstVideoGLTextureUploadMeta with EGL, mainly under Wayland.
719           Originally the EGLImage was exported as GEM, which was handled by
720           Intel drivers, but Gallium ones cannot create VA surfaces from
721           GEM buffers, only DMABuf.
722           This patch checks the memory types supported by VA driver to choose
723           the render the EGLImages from GEM or DMABuf, because GEM is still
724           better where supported.
725           DMABuf is well handled either by intel-vaapi-driver and gallium.
726           Fixes: #137
727           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/122>
728
729 2020-05-26 16:18:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
730
731         * gst-libs/gst/vaapi/gstvaapifilter.c:
732         * gst-libs/gst/vaapi/gstvaapifilter.h:
733           libs: filter: gst_vaapi_filter_get_memory_types()
734           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/122>
735
736 2020-08-12 18:48:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
737
738         * gst/vaapi/gstvaapipluginbase.c:
739         * gst/vaapi/gstvaapipluginbase.h:
740           plugins: remove gst_vaapi_plugin_base_get_allowed_srcpad_raw_caps()
741           Since nobody uses it, just remove it.
742           Thus extract_allowed_surface_formats() is refactored to attend only
743           gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps().
744           Now a surface is created when the image chorma is different from the
745           previous one. And if the driver has the quirk, it outputs all the
746           supported image formats without trying them.
747           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/381>
748
749 2020-08-12 17:50:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
750
751         * gst/vaapi/gstvaapidecode.c:
752           vaapidecode: expose raw src caps with same chroma
753           The try-and-error approach for getting the possible image formats from
754           a surface has brought several problems in different drivers, from
755           crashes to drop in performance.
756           Instead of that we change the algorithm to determine the possible
757           image formats based in the surface chroma: only those available image
758           formats with same chroma are exposed as possible raw caps.
759           Do this is important to avoid performance degrading in raw sinks
760           which doesn't handle NV12 but it does YV12 or I420.
761           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/381>
762
763 2020-07-10 17:05:38 +0800  He Junyan <junyan.he@intel.com>
764
765         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
766           libs: util: h265: use common parser API to get vaapi profiles.
767           We can reuse H265 parser's API to recognize the correct profile and
768           then just need to convert them to VAAPI profiles.
769           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/356>
770
771 2020-08-07 16:41:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
772
773         * gst-libs/gst/vaapi/meson.build:
774         * gst/vaapi/meson.build:
775         * meson.build:
776           build: update for gl pkg-config file split
777           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/378>
778
779 2020-08-06 12:51:27 +0800  Xu Guangxin <guangxin.xu@intel.com>
780
781         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
782           h264dec: mark remaining frames as unreference before exec_picture_refs_modification
783           8.2.4.2 required this. Some clips will crash if we do not fill the reference list like this.
784           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/376>
785
786 2020-07-31 18:22:46 +0800  He Junyan <junyan.he@intel.com>
787
788         * gst-libs/gst/vaapi/gstvaapiencoder.c:
789         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
790         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
791           libs: encoder: H265: Enable Main 12 profile support.
792           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/375>
793
794 2020-07-31 19:17:39 +0800  He Junyan <junyan.he@intel.com>
795
796         * gst-libs/gst/vaapi/video-format.c:
797           video format: Fix P012_LE's chrome type typo.
798           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/375>
799
800 2020-08-04 21:15:01 +0300  Jordan Petridis <jordan@centricular.com>
801
802         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
803           gstvaapiminiobject.c:   fix clang 10 warnings
804           the typesystem checks in g_atomic_pointer_compare_and_exchange
805           seem to trigger some false positives with clang 10
806           similar to gstreamer!584
807           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/377>
808
809 2020-07-31 11:07:23 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
810
811         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
812           libs: window: wayland: destroy all wayland buffers during finalize
813           Some buffers and the associated FrameState state may still be pending at
814           that point. If the wayland connection is shared, then messages for the
815           buffer may still arrive. However, the associated event queue is already
816           deleted. So the result is a crash.
817           With a private connection the associated memory is leaked instead.
818           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
819
820 2020-06-18 20:25:18 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
821
822         * tests/examples/test-vaapicontext.c:
823           test: vaapicontext: fix draw callback with multiple videos
824           The callback is called for both windows. So make sure that
825           gst_video_overlay_set_render_rectangle() is called for the correct one.
826           Otherwise, the left video will be randomly moved behind the right video.
827           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
828
829 2020-06-19 09:23:52 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
830
831         * tests/examples/meson.build:
832         * tests/examples/test-vaapicontext.c:
833           test: vaapicontext: support wayland display
834           On Wayland, The whole gtk window is one Wayland surface. So
835           gtk_widget_get_window() must be called on the top-level widget.
836           For any other widget the following gdk_window_ensure_native() may create a
837           new top-level Wayland surface that is never visible.
838           As a result, the coordinates passed to
839           gst_video_overlay_set_render_rectangle() must be relativ to the top-level
840           window. Otherwise the video is placed incorrectly.
841           Original-Patch-By: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
842           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
843
844 2017-12-01 20:18:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
845
846         * tests/examples/test-vaapicontext.c:
847           test: vaapicontext: use playbin to test files
848           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
849
850 2017-11-29 11:11:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
851
852         * tests/examples/test-vaapicontext.c:
853           test: vaapicontext: add PLAY and NULL buttons
854           They only appear when only one sink is instanciated and their purpose
855           is to test the NULL-PLAY use case in context sharing.
856           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
857
858 2020-06-19 21:26:52 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
859
860         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
861           libs: wayland: update the opaque region in set_render_rect
862           gst_vaapi_window_wayland_set_render_rect() may be called from an arbitrary
863           thread. That thread may be responsible for making the window visible.
864           At that point another thread will block in gst_vaapi_window_wayland_sync()
865           because the frame callback will not be called until the window is visible.
866           If that happens, then acquiring the display lock in
867           gst_vaapi_window_wayland_set_render_rect() would result in a deadlock.
868           Cache the size of the opaque rectangle separately and create the opaque
869           region right before applying it to the surface.
870           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
871
872 2020-06-19 09:21:16 +0200  Hyunjun Ko <zzoon@igalia.com>
873
874         * gst-libs/gst/vaapi/gstvaapiwindow.c:
875         * gst-libs/gst/vaapi/gstvaapiwindow.h:
876         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
877         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
878         * gst/vaapi/gstvaapisink.c:
879           libs: window: implements gst_vaapi_window_set_render_rectangle
880           Implements new vmethod gst_vaapi_window_set_render_rectangle,
881           which is doing set the information of the rendered rectangle set by
882           user.
883           This is necessary on wayland at least to get exact information of
884           external surface.
885           And vaapisink calls this when gst_video_overlay_set_render_rectangle is
886           called.
887           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
888
889 2017-11-08 13:23:39 +0900  Hyunjun Ko <zzoon@igalia.com>
890
891         * gst/vaapi/gstvaapisink.c:
892           vaapisink: implements gst_vaapisink_wayland_create_window_from_handle()
893           Implements gst_vaapisink_wayland_create_window_from_handle() to support
894           using external wl_surface.
895           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
896
897 2020-06-19 09:11:20 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
898
899         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
900         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
901         * gst-libs/gst/vaapi/gstvaapiwindow.c:
902         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
903         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
904           libs: wayland: implement video overlay API
905           The Wayland sub-surfaces API is used to embed the video into an application
906           window.
907           See Appendix A. Wayland Protocol Specification as the following.
908           """
909           The aim of sub-surfaces is to offload some of the compositing work
910           within a window from clients to the compositor. A prime example is
911           a video player with decorations and video in separate wl_surface
912           objects.
913           This should allow the compositor to pass YUV video buffer processing to
914           dedicated overlay hardware when possible.
915           """
916           Added new method gst_vaapi_window_wayland_new_with_surface()
917           Original-Patch-By: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
918           Zhao Halley <halley.zhao@intel.com>
919           changzhix.wei@intel.com
920           Hyunjun Ko <zzoon@igalia.com>
921           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
922
923 2020-06-19 21:54:52 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
924
925         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
926           doc: libs: wayland: add 'transfer full' to the returnvalye of gst_vaapi_window_wayland_new
927           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
928
929 2020-06-11 08:25:57 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
930
931         * gst-libs/gst/vaapi/gstvaapidisplay.c:
932           libs: display: always call close_display()
933           All close_display() have their own checks for use_foreign_display and only
934           destroy locally created objects in that case.
935           Without this objects other than the actuall foreign display itself are
936           leaked.
937           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
938
939 2020-07-30 23:37:10 +0800  He Junyan <junyan.he@intel.com>
940
941         * gst-libs/gst/vaapi/video-format.h:
942           video-format: Add the missing P012_LE into GST_VAAPI_FORMATS_ALL.
943           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/373>
944
945 2020-05-25 17:02:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
946
947         * gst/vaapi/gstvaapidecode.c:
948         * gst/vaapi/gstvaapipluginutil.c:
949         * gst/vaapi/gstvaapipluginutil.h:
950           plugins: add gst_vaapi_caps_set_width_and_height_range()
951           This utility function is called internally by
952           gst_vaapi_build_caps_from_formats() and can be used outside.
953           This function sets frame size and framerates ranges.
954           Also gst_vaapi_build_caps_from_formats() is simplified.
955           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/374>
956
957 2020-07-31 15:27:38 +0800  He Junyan <junyan.he@intel.com>
958
959         * gst-libs/gst/vaapi/gstvaapidecoder.c:
960           libs: decoder: fix a crash issue when get_surface_formats.
961           Some context does not report any valid format that we can support.
962           For example, the HEVC 444 12 bits decoder context, all the formats
963           it reports is not supported now, which make the formats list a NULL
964           array. We should check that pointer before we use it.
965           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/372>
966
967 2020-07-03 19:28:28 +0800  He Junyan <junyan.he@intel.com>
968
969         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
970           libs: encoder: h265: choose the profile based on allowed list.
971           We can decide the profile in ensure_profile(), based on allowed list
972           passed by the encode. We also need to check whether the entrypoint is
973           available. Once it is decided, no need to check the hw entrypoint
974           them again.
975           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
976
977 2020-07-29 22:05:41 +0800  He Junyan <junyan.he@intel.com>
978
979         * gst/vaapi/gstvaapiencode_h265.c:
980           plugins: encode: h265: set all allowed profiles to encoder.
981           We should collect all allowed profiles and pass them to the inside
982           encoder, rather than just calculate the max profile idc.
983           The allowed profiles should also be supported by the HW.
984           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
985
986 2020-07-29 22:32:55 +0800  He Junyan <junyan.he@intel.com>
987
988         * gst-libs/gst/vaapi/gstvaapidisplay.c:
989         * gst-libs/gst/vaapi/gstvaapidisplay.h:
990           libs: display: Add a helper function to get profiles by codec.
991           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
992
993 2020-07-03 01:28:28 +0800  He Junyan <junyan.he@intel.com>
994
995         * gst/vaapi/gstvaapiencode_h265.c:
996           plugins: encode: h265: collect all allowed profiles to encoder.
997           We should collect all allowed profiles and pass them to the inside
998           encoder, rather than just calculate the max profile idc.
999           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
1000
1001 2020-07-03 00:53:31 +0800  He Junyan <junyan.he@intel.com>
1002
1003         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1004         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1005         * gst/vaapi/gstvaapiencode_h265.c:
1006           libs: encoder: h265: modify set_max_profile to set_allowed_profiles.
1007           In h265, bigger profile idc may not be compatible with the small profile
1008           idc. And more important, there are multi profiles with the same profile
1009           idc. Such as main-422-10, main-444 and main-444-10, they all have profile
1010           idc 4.
1011           So recording the max profile idc is not enough, the encoder needs to know
1012           all allowed profiles when deciding the real profile.
1013           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
1014
1015 2020-07-02 23:33:31 +0800  He Junyan <junyan.he@intel.com>
1016
1017         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1018           libs: encoder: h265: No need to check hw_max_profile.
1019           In h265, higher profile idc number does not mean better compression
1020           performance and may be not compatible with the lower profile idc.
1021           So, it is not suitable to find the heighest idc for hw to ensure the
1022           compatibility.
1023           On the other side, when the entrypoint of the selected profile is valid,
1024           it means the hw really support this profile, no need to check it again.
1025           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
1026
1027 2020-04-08 19:41:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1028
1029         * gst/vaapi/gstvaapipostproc.c:
1030           vaapipostproc: early return if fixate srcpad caps fails
1031           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/371>
1032
1033 2020-07-29 13:39:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1034
1035         * gst/vaapi/gstvaapipluginutil.c:
1036           vaapipluginutil: simplify gst_vaapi_find_preferred_caps_feature()
1037           Generalize the way how the preferred color format is chosen. Also
1038           use new GStreamre API as syntatic sugar.
1039           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/370>
1040
1041 2020-07-29 14:22:18 +0800  He Junyan <junyan.he@intel.com>
1042
1043         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1044         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1045         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1046         * gst/vaapi/gstvaapidecode.c:
1047         * gst/vaapi/gstvaapiencode.c:
1048           libs: profile: Use get_codec_from_caps to get codec type.
1049           There is no need to get a profile from the caps and then convert
1050           that profile into codec type. We can get the codec type by caps's
1051           name easily.
1052           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/358>
1053
1054 2020-07-12 19:42:40 +0800  He Junyan <junyan.he@intel.com>
1055
1056         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1057           libs: profile: h265: Fix return value of from_codec_data_h265.
1058           profile_from_codec_data_h265() returns wrong GstVaapiProfile for h265.
1059           The codec data of caps contain the profile IDC, but the mapping between
1060           profile IDC and GstVaapiProfile is wrong.
1061           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/358>
1062
1063 2020-07-07 00:46:23 +0800  He Junyan <junyan.he@intel.com>
1064
1065         * gst/vaapi/gstvaapiencode_vp9.c:
1066           plugins: encode: vp9: Implement vp9's allowed_profiles() func.
1067           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/188>
1068
1069 2020-07-08 16:30:17 +0800  He Junyan <junyan.he@intel.com>
1070
1071         * gst/vaapi/gstvaapiencode_h264.c:
1072         * gst/vaapi/gstvaapiencode_h265.c:
1073         * gst/vaapi/gstvaapipluginutil.c:
1074         * gst/vaapi/gstvaapipluginutil.h:
1075           plugin: util: rename h26x_encoder_get_profiles_from_caps().
1076           Change its name to encoder_get_profiles_from_caps(). Other codecs such
1077           as VP9 also needs to use this function.
1078           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/188>
1079
1080 2020-07-06 23:35:12 +0800  He Junyan <junyan.he@intel.com>
1081
1082         * gst-libs/gst/vaapi/gstvaapiutils_vpx.c:
1083         * gst-libs/gst/vaapi/gstvaapiutils_vpx.h:
1084         * gst-libs/gst/vaapi/meson.build:
1085           libs: utils: vpx: Add utils vpx to handle VP8/9 misc things.
1086           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/188>
1087
1088 2020-07-29 10:17:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1089
1090         * gst-libs/gst/vaapi/gstvaapicontext.c:
1091         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1092         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1093           libs: display, context: handle broken jpeg decoder for i965 driver
1094           JPEG decoding in i965 driver is pretty much broken, and the driver is
1095           deprecated which mean authors only accept trivial fixes.
1096           Surfaces for JPEG decoder context in i965 only handle IMC3[1] color
1097           format which is not a common format in GStreamer. It can export it to
1098           I420 at mapping raw bytes, but DMABuf exporting is problematic.
1099           This patch artificially adds NV12 to the context format list when it's
1100           JPEG decoder for i965 and force the usage of old VA-API for surface
1101           creation without specifying color format. Also it artificially
1102           disables the DMABuf announcement.
1103           1. https://docs.microsoft.com/en-us/windows/win32/medfound/recommended-8-bit-yuv-formats-for-video-rendering#420-formats-16-bits-per-pixel
1104           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/369>
1105
1106 2020-07-29 12:02:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1107
1108         * gst-libs/gst/vaapi/gstvaapicontext.c:
1109           libs: context: change function to internal code style
1110           Instead of a getter the function `get_preferred_format()` to
1111           `ensure_preferred_format()` which aligns to the code style.
1112           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/369>
1113
1114 2020-07-28 20:00:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1115
1116         * gst/vaapi/gstvaapidecode.c:
1117           vaapidecode: always merge profile caps in sink caps
1118           This commit fixes a regression of e962069d, where if the profile's
1119           caps doesn't have a caps profile, it's ignored.
1120           This patch add a conditional jump if the caps doesn't have a profile
1121           field to merge it.
1122           Fixes: #271
1123           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/368>
1124
1125 2020-07-28 12:22:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1126
1127         * meson.build:
1128           build: request libdrm >= 2.4.98 and fallback
1129           Fixes: #270
1130           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/367>
1131
1132 2020-05-18 17:32:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1133
1134         * gst/vaapi/gstvaapidecode.c:
1135           vaapidecode: dma caps only use reported color format
1136           This fix pipelines without vaapipostproc after vaapi decoder, such as
1137           gst-launch-1.0 filesrc location=~/file.mp4 ! parsebin ! vaapih264dec ! glimagesink
1138           On EGL platforms, so DMABuf is used.
1139           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1140
1141 2020-02-07 17:10:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1142
1143         * gst/vaapi/gstvaapidecode.c:
1144           vaapidecode: use allowed srcpad caps for caps query
1145           Instead of using just the template caps use the current allowed
1146           srcpad caps, which is created considering the current decoder
1147           context.
1148           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1149
1150 2020-01-22 17:41:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1151
1152         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1153         * gst-libs/gst/vaapi/gstvaapidecoder.h:
1154         * gst/vaapi/gstvaapidecode.c:
1155           vaapidecode: build allowed srcpad caps from va context
1156           Instead of generating allowed srcpad caps with generic information,
1157           now it takes the size an formats limits from the decoder's context.
1158           This is possible since srcpad caps are generated after the internal
1159           decoder is created.
1160           The patch replaces gst_vaapi_decoder_get_surface_formats() with
1161           gst_vaapi_decoder_get_suface_attributes().
1162           From these attributes, formats are only used for VASurface memory
1163           caps feature. For system memory caps feature, the old
1164           gst_vaapi_plugin_get_allowed_srcpad_caps() is still used, since
1165           i965 jpeg decoder cannot deliver mappable format for gstreamer.
1166           And for the other caps features (dmabuf and texture upload) the
1167           same static list are used.
1168           This patch also adds DMABuf caps feature only if the context
1169           supports that memory type. Nonetheless, we keep the pre-defined
1170           formats since they are the subset of common derive formats formats
1171           supported either by amd/gallium and both intel drivers, since,
1172           when exporting the fd through vaAcquireBufferHandle()/
1173           vaReleaseBufferHandle(), the formats of the derivable image cannot
1174           be retriebable from the driver. Later we'll use the attribute
1175           formats for the DMABuf feature too, when the code be ported to
1176           vaExportSurfaceHandle().
1177           Finally, the allowed srcpad caps are removed if the internal decoder
1178           is destroyed, since context attribues will change.
1179           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1180
1181 2020-02-07 16:50:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1182
1183         * gst/vaapi/gstvaapidecode.c:
1184           vaapidecode: reorder src caps template
1185           Since negotiation depends on caps order, first is VA, then DMABuf,
1186           later GLUploadTexture (deprecated) and finally raw.
1187           Also, for decoders, the possible available color formats for DMABuf
1188           is extended to all the possible VA color formats.
1189           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1190
1191 2020-07-22 10:01:41 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1192
1193         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1194           libs: window: wayland: use dmabuf protocol if available
1195           Currently vaGetSurfaceBufferWl() is used to create wayland buffers.
1196           Unfortunately this is not implemented by the 'media-driver' and Mesa VA-API
1197           drivers. And the implementation provided by 'intel-vaapi-driver' is not
1198           compatible with a Wayland server that uses the iris Mesa driver.
1199           So create the Wayland buffers manually with the zwp_linux_dmabuf_v1 wayland
1200           protocol. Formats and modifiers supported by the Wayland server are taken
1201           into account. If necessary, VPP is enabled to convert the buffer into a
1202           supported format.
1203           Fall back to vaGetSurfaceBufferWl() if creating buffers via dambuf protocol
1204           fails.
1205           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1206
1207 2020-07-21 10:03:19 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1208
1209         * gst-libs/gst/vaapi/gstvaapiwindow.c:
1210         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
1211           libs: window: allow choosing the format for the vpp pool
1212           Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
1213           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1214
1215 2020-06-28 17:42:29 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1216
1217         * gst-libs/gst/vaapi/video-format.c:
1218         * gst-libs/gst/vaapi/video-format.h:
1219           video-format: add DRM formats to the mapping table
1220           This will be needed for the DMABuf protocol support to map DRM formats to
1221           vaapi and gstreamer formats.
1222           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1223
1224 2020-07-22 09:36:18 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1225
1226         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1227         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
1228         * gst-libs/gst/vaapi/meson.build:
1229           libs: display: wayland: add basic dmabuf protocol support
1230           This is just the basic infrastructure. Hook up the interface and collect
1231           all supported formats.
1232           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1233
1234 2020-07-06 09:59:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1235
1236         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1237           libs: window: wayland: wait for configure before committing the first buffer
1238           Committing the first buffer for a surface must not be done before
1239           ack_configure() has been sent for the xdg_surface.
1240           With weston, the commit will fail with "error 3: xdg_surface has never been
1241           configured".
1242           Wait in gst_vaapi_window_wayland_show() until configure is done to avoid
1243           this.
1244           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1245
1246 2020-07-01 14:50:51 +0800  He Junyan <junyan.he@hotmail.com>
1247
1248         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1249           libs: encoder: h265: set no P frame automatically.
1250           The double reference lists may be required by drivers and there should
1251           be no P frames in the of stream. The old way of converting P frames to
1252           B frames is by setting `low-delay-b` property, which is unconvenient
1253           and has bad user experience, since most of the users do not know when
1254           to set this property, and if it is not set correctly, the encoding
1255           pipeline fails or even hangs on some platforms. VA driver now provides
1256           a attribute to query whether both reference lists must be un-NULL for
1257           a profile/entrypoint pair.
1258           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/284>
1259
1260 2020-04-15 16:26:55 +0800  He Junyan <junyan.he@hotmail.com>
1261
1262         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1263           libs: encoder: h265: Deprecate the low-delay-b property.
1264           In HEVC, P and B definitions are different from AVC: P frames have
1265           just one reference list and so 1 MV, while B frames have two reference
1266           lists and so 2 MVs. No matter B or P, ist reference lists can contain
1267           forward/backward reference. So P and B can both have bi-directions
1268           dependency, the difference is just their reference list
1269           number (i.e. MV number). This is different from the AVC.
1270           The *low delay b mode* refers to a special HEVC mode, in which the
1271           stream just contain I and B frames, without P frames, and all B frames
1272           only have forward direction dependencies (i.e. all inter frames have 2
1273           reference lists but no backward reference in both lists).  This is
1274           similar to AVC I/P mode, but changing the P to the forward dependent
1275           B.
1276           The `low-delay-b` property is now just used to simply convert all P
1277           frames to B frames when driver does not support P frames (so both
1278           reference lists have the same references frames). This is a little
1279           different from the meaning of low delay b mode (the two ref lists may
1280           have the different reference frames). And the driver now can report
1281           whether it supports P frames correctly, so there is no need to use
1282           this property and deprecate it.
1283           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/284>
1284
1285 2020-07-24 12:54:31 +0200  Marc Leeman <m.leeman@televic.com>
1286
1287         * gst/vaapi/gstvaapipostproc.c:
1288           postproc: reconfigure after changing cropping values
1289           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/365>
1290
1291 2020-07-09 13:49:29 +0800  He Junyan <junyan.he@intel.com>
1292
1293         * gst/vaapi/gstvaapiencode.h:
1294         * gst/vaapi/gstvaapiencode_h264.c:
1295         * gst/vaapi/gstvaapiencode_h265.c:
1296         * gst/vaapi/gstvaapiencode_jpeg.c:
1297         * gst/vaapi/gstvaapiencode_mpeg2.c:
1298         * gst/vaapi/gstvaapiencode_vp8.c:
1299         * gst/vaapi/gstvaapiencode_vp9.c:
1300           plugin: encode: Add static caps for template documentation.
1301           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1302
1303 2020-07-08 19:03:14 +0800  He Junyan <junyan.he@intel.com>
1304
1305         * gst/vaapi/gstvaapiencode_vp9.c:
1306           plugin: encode: vp9: Use the dynamically built src template caps.
1307           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1308
1309 2020-07-08 19:02:45 +0800  He Junyan <junyan.he@intel.com>
1310
1311         * gst/vaapi/gstvaapiencode_vp8.c:
1312           plugin: encode: vp8: Use the dynamically built src template caps.
1313           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1314
1315 2020-07-08 19:02:23 +0800  He Junyan <junyan.he@intel.com>
1316
1317         * gst/vaapi/gstvaapiencode_jpeg.c:
1318           plugin: encode: jpeg: Use the dynamically built src template caps.
1319           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1320
1321 2020-07-08 19:00:39 +0800  He Junyan <junyan.he@intel.com>
1322
1323         * gst/vaapi/gstvaapiencode_mpeg2.c:
1324           plugin: encode: mpeg2: Use the dynamically built src template caps.
1325           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1326
1327 2020-07-08 18:59:18 +0800  He Junyan <junyan.he@intel.com>
1328
1329         * gst/vaapi/gstvaapiencode_h265.c:
1330           plugin: encode: h265: Use the dynamically built src template caps.
1331           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1332
1333 2020-07-08 18:57:26 +0800  He Junyan <junyan.he@intel.com>
1334
1335         * gst/vaapi/gstvaapiencode_h264.c:
1336           plugin: encode: h264: Use the dynamically built src template caps.
1337           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1338
1339 2020-07-08 18:46:58 +0800  He Junyan <junyan.he@intel.com>
1340
1341         * gst/vaapi/gstvaapiencode.h:
1342         * gst/vaapi/gstvaapiencode_h264.c:
1343         * gst/vaapi/gstvaapiencode_h265.c:
1344         * gst/vaapi/gstvaapiencode_jpeg.c:
1345         * gst/vaapi/gstvaapiencode_mpeg2.c:
1346         * gst/vaapi/gstvaapiencode_vp8.c:
1347         * gst/vaapi/gstvaapiencode_vp9.c:
1348           plugin: encode: Store the coded caps in type's init data.
1349           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1350
1351 2020-07-08 18:30:00 +0800  He Junyan <junyan.he@intel.com>
1352
1353         * gst/vaapi/gstvaapipluginutil.c:
1354         * gst/vaapi/gstvaapipluginutil.h:
1355           plugin: util: add helper function build_template_coded_caps_by_codec()
1356           Like build_template_raw_caps_by_codec(), this function can detect and
1357           build the caps for specified codec based on the query of the profiles.
1358           The result is coded caps such as video/x-h265, video/x-h264. The result
1359           can be used as the template of encode's src or decode's sink.
1360           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1361
1362 2020-07-07 17:16:41 +0800  He Junyan <junyan.he@intel.com>
1363
1364         * gst/vaapi/gstvaapiencode.h:
1365         * gst/vaapi/gstvaapipluginutil.c:
1366         * gst/vaapi/gstvaapipluginutil.h:
1367           plugins: utils: rename build_template_caps_by_codec.
1368           Rename the function build_template_caps_by_codec() to the name of
1369           build_template_raw_caps_by_codec(). It can be used to collect all
1370           raw video formats for encode's sink and decode's src.
1371           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1372
1373 2020-07-21 20:14:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1374
1375         * gst/vaapi/gstvaapidecode.c:
1376         * gst/vaapi/gstvaapipluginutil.c:
1377         * gst/vaapi/gstvaapipluginutil.h:
1378           vaapidecode: merge common profiles before setting size range
1379           The synthetic profiles, such as H264 baseline, H265 intra, etc. are
1380           added at the end of processing all available VA profiles. This
1381           generated an non-optimal caps for negotiation, since the synthetic
1382           profiles don't have frame size ranges.
1383           This patch adds those possible synthetic profiles when the associated
1384           profile is processed, with its frame size ranges.
1385           Now allowed sink caps are simpler.
1386           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/363>
1387
1388 2020-07-21 22:05:08 +0800  He Junyan <junyan.he@intel.com>
1389
1390         * gst/vaapi/gstvaapipluginutil.c:
1391           plugin: util: Add the missing DMA buffer input in template caps.
1392           We pass the wrong parameter to gst_vaapi_build_caps_from_formats()
1393           and lose the DMA feature in caps.
1394           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/362>
1395
1396 2020-07-14 18:13:56 +0800  He Junyan <junyan.he@intel.com>
1397
1398         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1399         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1400         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1401         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1402         * gst-libs/gst/vaapi/video-format.c:
1403         * gst/vaapi/gstvaapidecode.c:
1404           libs: decoder: H265: Add MAIN_12 profile supporting.
1405           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/359>
1406
1407 2020-07-09 23:07:38 +0800  He Junyan <junyan.he@intel.com>
1408
1409         * gst-libs/gst/vaapi/gstvaapiimage.c:
1410         * gst-libs/gst/vaapi/video-format.c:
1411           video-format: Add P012_LE format.
1412           It can be used as HEVC YUV_4:2:0 12bits stream's decoder output, and
1413           also can be used as the input format for encoding HEVC YUV_4:2:0 12bits
1414           stream.
1415           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/359>
1416
1417 2020-07-17 00:45:53 +0800  He Junyan <junyan.he@intel.com>
1418
1419         * gst/vaapi/gstvaapidecode.c:
1420           plugin: decode: correct ensure_allowed_sinkpad_caps's caps.
1421           The decode allowed caps returned by ensure_allowed_sinkpad_caps()
1422           contains all profiles of the whole VAAPI, like:
1423           image/jpeg, width=(int)[ 0, 1638 4 ], height=(int)[ 0, 16384 ];
1424           video/mpeg, mpegversion=(int)2, profile=(string){ simple, main },
1425           width=(int)[ 0, 2048 ], height=(int)[ 0, 2048 ]; video/x-h264,
1426           profile=(string){ main, high, constrained-baseline }, width=(int)[ 0,
1427           4096 ], height=(int)[ 0, 4096 ]; video/x-h264, profile=(string){
1428           constrained-high, progressive-high, baseline }; video/x-h265,
1429           profile=(string){ main, main-intra }, width=(int)[ 0, 8192 ],
1430           height=(int)[ 0, 8192 ]; video/x-vp8, width=(int)[ 0, 4096 ],
1431           height=(int)[ 0, 4096 ]; video/x-wmv, wmvversion=(int)3,
1432           format=(string)WVC1, profile=(string)advanced, width=(int)[ 0, 3840 ],
1433           height=(int)[ 0, 3840 ]; video/x-wmv, wmvversion=(int)3,
1434           profile=(string){ simple, main }, width=(int)[ 0, 3840 ],
1435           height=(int)[ 0, 3840 ]
1436           Which is verbose and may have latent problems. It should only contains
1437           the profiles belong to its codec type. For example, h265 should only
1438           return:
1439           video/x-h265, profile=(string){ main, main-intra },
1440           width=(int)[ 0, 8192 ], height=(int)[ 0, 8192 ]
1441           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/361>
1442
1443 2020-07-13 11:06:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1444
1445         * gst/vaapi/gstvaapidecodebin.c:
1446           vaapidecodebin: don't force NV12 since P010_10LE is now possible
1447           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/360>
1448
1449 2020-07-12 20:34:31 +0800  He Junyan <junyan.he@intel.com>
1450
1451         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1452           libs: profile: The VP9 profiles' name should be just "0,1,2,3"
1453           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/357>
1454
1455 2020-07-08 17:33:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1456
1457         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1458         * gst-libs/gst/vaapi/gstvaapidecoder.h:
1459         * gst/vaapi/gstvaapidecode.c:
1460         * gst/vaapi/gstvaapidecode.h:
1461         * tests/internal/simple-decoder.c:
1462           vaapidecode: Remove NO_SURFACE error handling
1463           Since surfaces are not bounded to decoding context it makes no sense
1464           to keep the surface semaphore. This patch removes the handling of
1465           this error.
1466           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/353>
1467
1468 2020-07-08 17:48:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1469
1470         * gst/vaapi/gstvaapidecode.c:
1471         * gst/vaapi/gstvaapidecode.h:
1472           Revert "vaapidecode: drop non-keyframe in reverse playback"
1473           Since the number of surfaces are not bounded to decoder context,
1474           this hack is no longer needed.
1475           This reverts commit 19c0c8a97385ce119440c4aad2d689fc79297435.
1476           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/353>
1477
1478 2019-12-06 14:21:33 +0800  He Junyan <junyan.he@hotmail.com>
1479
1480         * gst-libs/gst/vaapi/gstvaapicontext.c:
1481           libs: decoder: context: remove surfaces binding from context.
1482           The vaCreateContext do not need to specify the surfaces for the
1483           context creation now. So we do not need to bind any surface to the
1484           context anymore. Surfaces should be the resource belong to display
1485           and just be used in encoder/decoder context.
1486           The previous manner has big limitation for decoder. The context's
1487           surface number is decided by dpb size. All the surfaces in dpb will
1488           be attached to a gstbuffer and be pushed to down stream, and the
1489           decoder need to wait down stream free the surface and go on if not
1490           enough surface available. For more and more use cases, this causes
1491           deadlock. For example,
1492           gst-launch-1.0 filesrc location=a.h264 ! h264parse ! vaapih264dec
1493           ! x264enc ! filesink location=./output.h264
1494           will cause deadlock and make the whole pipeline hang.
1495           the x264enc encoder need to cache more than dpb size surfaces.
1496           The best solution is seperating the surfaces number and the dpb size.
1497           dpb and dpb size shoule be virtual concepts maintained by the decoder.
1498           And let the surfaces_pool in context maintain the re-use of all surfaces.
1499           For encoder, the situation is better, all the surfaces are just used
1500           as reference frame and no need to be pushed to down stream. We can
1501           just reserve and set the capacity of the surfaces_pool to meet the
1502           request.
1503           Fix: #147
1504           Fix: #88
1505           Co-Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1506           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/353>
1507
1508 2020-07-08 17:50:51 +0100  Tim-Philipp Müller <tim@centricular.com>
1509
1510         * meson.build:
1511         * scripts/extract-release-date-from-doap-file.py:
1512           meson: set release date from .doap file for releases
1513           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/355>
1514
1515 2020-07-08 11:57:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1516
1517         * gst/vaapi/gstvaapipluginbase.c:
1518           plugins: use VA allocator by default on raw caps
1519           Instead of using dmabuf allocator in source pad, when raw video caps
1520           are negotiated, it uses VA allocator as before, since it is stable
1521           in more use cases, for example transcoding, and more backend drivers.
1522           Dmabuf allocator is only used when dmabuf caps feature is negotiated.
1523           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/352>
1524
1525 2020-06-06 18:47:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1526
1527         * gst/vaapi/gstvaapi.c:
1528           vaapisink: rank it as secondary
1529           iHD doesn't provide a full implemention for rendering surfaces and
1530           i965 has problems in wayland. And I suspect this path is followed
1531           by other driver implementations.
1532           This patch demotes the rank of vaapisink to secondary, so it will
1533           not be autoplugged avoiding bad experience of users.
1534           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/336>
1535
1536 2020-06-19 10:44:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1537
1538         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1539         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1540           libs: decoder: h264, h265: in context at least 16 reference surfaces
1541           Registering only stream's DBP size number of surfaces for decoding VA
1542           surfaces brings issues for certain streams. This change register all
1543           possible number of reference surfaces in a stream, which is 16.
1544           Fixes: #94
1545
1546 2020-07-04 21:21:57 +0800  He Junyan <junyan.he@intel.com>
1547
1548         * gst/vaapi/gstvaapiencode_h265.c:
1549           plugins: encode: h265: Add profile,level,tier to output caps.
1550           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/350>
1551
1552 2020-07-04 21:08:20 +0800  He Junyan <junyan.he@intel.com>
1553
1554         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1555           libs: encoder: h265: init tier to GST_VAAPI_TIER_H265_UNKNOWN.
1556           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/350>
1557
1558 2020-07-04 21:05:49 +0800  He Junyan <junyan.he@intel.com>
1559
1560         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1561           libs: encoder: h265: fix a bug to get get_profile_tier_level.
1562           0 is a valid value for h265 tier.
1563           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/350>
1564
1565 2020-07-02 19:19:35 +0800  He Junyan <junyan.he@intel.com>
1566
1567         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1568           libs: encoder: h265: no need to check the high compression tune.
1569           The h265 encoder just support tune mode:
1570           (0): none             - None
1571           (3): low-power        - Low power mode
1572           So, no need to check and set the high compression parameters.
1573           And by the way, the current ensure_tuning_high_compression manner
1574           of choosing the hightest profile idc as the best compression profile
1575           is not correct. Unlike h264, in h265 the higher profile idc number
1576           does not mean it has more compression tools, and so it has better
1577           compression performance. It may even be un-compatible with the lower
1578           profile idc. For example, the SCREEN_CONTENT_CODING profile with idc
1579           9 is not compatible with 3D_MAIN profile with idc 8.
1580           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/348>
1581
1582 2020-07-03 02:04:14 +0100  Tim-Philipp Müller <tim@centricular.com>
1583
1584         * meson.build:
1585           Back to development
1586
1587 === release 1.17.2 ===
1588
1589 2020-07-03 00:36:40 +0100  Tim-Philipp Müller <tim@centricular.com>
1590
1591         * ChangeLog:
1592         * NEWS:
1593         * RELEASE:
1594         * gstreamer-vaapi.doap:
1595         * meson.build:
1596           Release 1.17.2
1597
1598 2020-06-23 10:20:46 -0400  Thibault Saunier <tsaunier@igalia.com>
1599
1600         * docs/gst_plugins_cache.json:
1601         * gst/vaapi/gstvaapiencode.c:
1602           docs: Mark parent classes as plugin API
1603
1604 2020-06-23 00:07:57 +0200  Mathieu Duponchelle <mathieu@centricular.com>
1605
1606         * docs/meson.build:
1607           meson: mark plugins cache target as always stale
1608
1609 2020-06-19 23:34:11 -0400  Thibault Saunier <tsaunier@igalia.com>
1610
1611         * docs/gst_plugins_cache.json:
1612           doc: Stop documenting properties from parents
1613
1614 2020-06-20 00:28:35 +0100  Tim-Philipp Müller <tim@centricular.com>
1615
1616         * meson.build:
1617           Back to development
1618
1619 === release 1.17.1 ===
1620
1621 2020-06-19 19:27:11 +0100  Tim-Philipp Müller <tim@centricular.com>
1622
1623         * ChangeLog:
1624         * NEWS:
1625         * RELEASE:
1626         * gstreamer-vaapi.doap:
1627         * meson.build:
1628           Release 1.17.1
1629
1630 2020-06-19 15:21:56 +0100  Tim-Philipp Müller <tim@centricular.com>
1631
1632         * docs/gst_plugins_cache.json:
1633         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1634         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
1635         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
1636         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1637           Update plugin docs and add more plugins
1638           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/344>
1639
1640 2020-06-11 08:32:05 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1641
1642         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1643           libs: wayland: display: only handle the first output
1644           Right now, all outputs are handled. The means that the registry object for
1645           all but the last are leaked. As a result the sizes are not used correctly.
1646           With two outputs, at first the mode and physical size of the second output
1647           are used. If the first output changes the mode, then the physical size of
1648           the second output is used in combination with the resolution of the first
1649           output. The resulting pixel aspect ratio is incorrect.
1650           There seems to be no way to determine on which output the window is shown,
1651           so just use the first one to get consistent results.
1652           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/341>
1653
1654 2020-06-11 18:15:17 +0800  He Junyan <junyan.he@hotmail.com>
1655
1656         * gst/vaapi/gstvaapipluginbase.c:
1657           plugins: pluginbase: Do not destroy display when _close()
1658           When the element's state changes to NULL, it can still receive
1659           queries, such as the image formats. The display is needed in such
1660           queries but not well protected for MT safe.
1661           For example, ensure_allowed_raw_caps() may still use the display
1662           while it is disposed by gst_vaapi_plugin_base_close() because of
1663           the state change.
1664           We can keep the display until the element is destroyed. When the
1665           state changes to NULL, and then changes to PAUSED again, the display
1666           can be correctly set(if type changes), or leave untouched.
1667           Fix: #260
1668           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/343>
1669
1670 2020-06-09 21:19:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1671
1672         * gst-libs/gst/vaapi/gstvaapicontext.c:
1673           libs: context: use correct printing modifier
1674           GstVaapiID is an alias of gsize, thus its modifier is platform
1675           dependant.
1676           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/340>
1677
1678 2020-06-06 00:42:46 +0200  Mathieu Duponchelle <mathieu@centricular.com>
1679
1680         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1681         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1682         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1683         * gst-libs/gst/vaapi/gstvaapifilter.c:
1684         * gst-libs/gst/vaapi/gstvaapivalue.c:
1685           plugins: uddate gst_type_mark_as_plugin_api() calls
1686
1687 2020-03-05 18:12:27 +0800  He Junyan <junyan.he@hotmail.com>
1688
1689         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1690           libs: encoder: h265: Enable tile in VA command.
1691           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1692
1693 2020-03-05 17:56:51 +0800  He Junyan <junyan.he@hotmail.com>
1694
1695         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1696           libs: encoder: h265: Add ensure_tile to calculate tiles.
1697           We need consider tiles and slices together, separate tiles uniformly
1698           and then assign slices uniformly to each tiles.
1699           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1700
1701 2020-04-30 14:19:29 +0800  He Junyan <junyan.he@hotmail.com>
1702
1703         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1704         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1705           libs: display: add a quirk for iHD driver tile encoding.
1706           The iHD driver has a requirement that one slice can not span tiles
1707           when tile is enabled, which is not required by hevc spec.
1708           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1709
1710 2020-03-05 17:40:43 +0800  He Junyan <junyan.he@hotmail.com>
1711
1712         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1713           libs: encoder: h265: Add tile info to bitstream.
1714           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1715
1716 2020-03-05 17:29:41 +0800  He Junyan <junyan.he@hotmail.com>
1717
1718         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1719           libs: encoder: h265: promote level if tile is enabled.
1720           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1721
1722 2020-03-05 17:07:28 +0800  He Junyan <junyan.he@hotmail.com>
1723
1724         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1725         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
1726           libs: encoder: h265: Add num-tile-cols/rows properties.
1727           These properties are used for support of tile encoding. We just
1728           support uniform mode of tile encoding, that is, separating picture
1729           equally by (num-tile-cols X num-tile-rows).
1730           According to HEVC spec A1, the max number of tiles in column is 20
1731           and in rows is 22, so add two constant definitions.
1732           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1733
1734 2020-03-05 16:21:24 +0800  He Junyan <junyan.he@hotmail.com>
1735
1736         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1737           libs: encoder: h265: extract slice creation from add_slice_headers
1738           extract slice creation details from add_slice_headers, and let the
1739           add_slice_headers just focuses on calculating slice start address
1740           and CTU number.
1741           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1742
1743 2020-03-05 12:44:45 +0800  He Junyan <junyan.he@hotmail.com>
1744
1745         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1746         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
1747           libs: encoder: Add a helper function to check the tile support.
1748           Encoding by tiles separation now is a very common feature for all
1749           relative new codecs, such as HEVC, AV1, and VP9. Just make this
1750           check as a common helper function of the encoder base class.
1751           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1752
1753 2020-05-13 18:02:07 +0800  He Junyan <junyan.he@hotmail.com>
1754
1755         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1756         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1757         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1758         * gst-libs/gst/vaapi/gstvaapiutils.c:
1759         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1760           libs: decoder: H265: Add SCC_MAIN_444_10 profile support.
1761           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
1762
1763 2020-05-13 16:05:59 +0800  He Junyan <junyan.he@hotmail.com>
1764
1765         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1766           libs: decoder: update reference list for SCC.
1767           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
1768
1769 2020-05-13 15:46:29 +0800  He Junyan <junyan.he@hotmail.com>
1770
1771         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1772           libs: decoder: H265: Fill picture and slice SCC parameters.
1773           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
1774
1775 2020-05-13 15:00:53 +0800  He Junyan <junyan.he@hotmail.com>
1776
1777         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1778           libs: util: H265: recognize the SCC profiles.
1779           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
1780
1781 2020-05-13 14:53:46 +0800  He Junyan <junyan.he@hotmail.com>
1782
1783         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1784         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1785         * gst-libs/gst/vaapi/gstvaapiutils.c:
1786           libs: profile: Add screen extended main/main10/main444 define.
1787           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
1788
1789 2020-04-03 14:53:40 +0800  He Junyan <junyan.he@hotmail.com>
1790
1791         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1792         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1793         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1794         * gst/vaapi/gstvaapiencode_h265.c:
1795           libs: encoder: h265: Add support for MAIN 4:2:2 10 profile.
1796           Using YUY2 as the input of the encoder can generate main 4:2:2 bit
1797           streams and using Y210 as the input of the encoder can generate main
1798           4:2:2 10 bit streams.
1799           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
1800
1801 2020-05-29 16:40:20 +0800  He Junyan <junyan.he@hotmail.com>
1802
1803         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1804           libs: encoder: h265: Use correct index for SubWidthC and SubHeightC.
1805           We need to use the chroma_format_idc as the index for getting the
1806           SubWidthC and SubHeightC values as the spec 6.1(table 6-1) defines.
1807           The wrong SubWidthC or SubHeightC make us calculate a wrong right
1808           or bottom offset for crop size and generate garbage in output.
1809           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
1810
1811 2020-05-29 15:37:24 +0800  He Junyan <junyan.he@hotmail.com>
1812
1813         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1814           libs: encoder: h265: Fix chrome idc for 444 10 bits
1815           GST_VAAPI_CHROMA_TYPE_YUV444_10BPP should also set chroma_format_idc
1816           to 3 as GST_VAAPI_CHROMA_TYPE_YUV444 does.
1817           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
1818
1819 2020-06-03 18:37:22 -0400  Thibault Saunier <tsaunier@igalia.com>
1820
1821         * docs/meson.build:
1822           doc: Require hotdoc >= 0.11.0
1823
1824 2020-06-03 18:49:53 -0400  Thibault Saunier <tsaunier@igalia.com>
1825
1826         * gst/vaapi/gstvaapipostproc.c:
1827           doc: Fix wrong link to GstVideoDirectionMethod
1828
1829 2020-06-03 17:38:10 -0400  Thibault Saunier <tsaunier@igalia.com>
1830
1831         * docs/gst_plugins_cache.json:
1832         * meson_options.txt:
1833           docs: Update plugin cache with the new format
1834           And fix the default URL which should not be inside quotes.
1835
1836 2020-06-03 17:37:48 -0400  Thibault Saunier <tsaunier@igalia.com>
1837
1838         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1839         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1840         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1841         * gst-libs/gst/vaapi/gstvaapifilter.c:
1842         * gst-libs/gst/vaapi/gstvaapivalue.c:
1843         * gst/vaapi/gstvaapipostproc.c:
1844           Use gst_type_mark_as_plugin_api() for all non-element plugin types
1845
1846 2020-05-23 22:09:17 +0800  He Junyan <junyan.he@hotmail.com>
1847
1848         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
1849         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
1850         * gst-libs/gst/vaapi/gstvaapicontext.h:
1851         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1852         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1853         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
1854         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
1855         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
1856         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
1857         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
1858         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1859         * gst-libs/gst/vaapi/gstvaapiimage.h:
1860         * gst-libs/gst/vaapi/gstvaapiobject.c:
1861         * gst-libs/gst/vaapi/gstvaapiobject.h:
1862         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
1863         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1864         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
1865         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
1866         * gst-libs/gst/vaapi/gstvaapisurface.h:
1867         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
1868         * gst-libs/gst/vaapi/gstvaapivideopool.c:
1869         * gst-libs/gst/vaapi/meson.build:
1870           libs: delete all gstvaapiobject related files.
1871           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
1872
1873 2020-05-23 20:48:54 +0800  He Junyan <junyan.he@hotmail.com>
1874
1875         * gst-libs/gst/vaapi/gstvaapisurface.c:
1876           libs: surface: return fail immediately if can not create subpicture
1877           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
1878
1879 2020-05-23 14:00:58 +0800  He Junyan <junyan.he@hotmail.com>
1880
1881         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
1882         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
1883         * gst-libs/gst/vaapi/gstvaapisurface.c:
1884         * tests/internal/image.c:
1885           libs: subpicture: Make subpicture a standard GstMiniObject.
1886           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
1887
1888 2020-05-26 02:19:15 +0800  He Junyan <junyan.he@hotmail.com>
1889
1890         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1891           libs: decoder: h264: Add ref flags for splited field.
1892           When split one frame into fields, the second field should also
1893           copy the reference flags.
1894           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/333>
1895
1896 2020-05-25 15:46:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1897
1898         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1899           libs: decoder: h264: disallow multiple slice group
1900           As far as we know there are no VAAPI drivers supporting FMO, which
1901           migth be used in baseline streams.
1902           This commit is a continuation of
1903           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/328
1904           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/332>
1905
1906 2020-05-20 10:50:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1907
1908         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1909         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
1910         * gst/vaapi/gstvaapidecode.c:
1911         * gst/vaapi/gstvaapidecode_props.c:
1912         * gst/vaapi/gstvaapidecode_props.h:
1913           vaapidecoder: h264: remove baseline as constrained property
1914           From now on always the baseline is going to be treated as constrained without
1915           need of setting a property.
1916           Since the property was added along the development cycle (1.17 / commit
1917           866a9f06) and never released, we assume that it is safe to remove it.
1918           Fixes: #252
1919           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/328>
1920
1921 2020-05-21 11:37:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1922
1923         * README:
1924           README: update VP9 decoder and encoder
1925           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/330>
1926
1927 2020-05-21 13:42:47 +0800  Haihao Xiang <haihao.xiang@intel.com>
1928
1929         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1930           vaapiencoder_h264: set direct_spatial_mv_pred_flag to true by default
1931           This flag is set to true by default in both MediaSDK and FFmpeg-vaapi,
1932           so let's align this plugin with other libraries / softwares.
1933           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/329>
1934
1935 2020-05-18 18:29:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1936
1937         * gst/vaapi/gstvaapivideobufferpool.c:
1938           vaapivideobufferpool: fix meta overwrite
1939           commit 7ac2a207 added a regression by erroneously assumed that
1940           GstVaapiVideoMeta is actually a GstMeta, which is not.
1941           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/327>
1942
1943 2020-05-17 09:55:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1944
1945         * gst/vaapi/gstvaapivideobufferpool.c:
1946         * gst/vaapi/gstvaapivideometa_texture.c:
1947         * gst/vaapi/gstvaapivideometa_texture.h:
1948           vaapivideopool: Set pooled flag to added metas.
1949           So this could hint filters how to use these metas.
1950           Had to change the return value for texutre upload meta in order
1951           to flag it.
1952           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/326>
1953
1954 2020-05-16 20:49:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1955
1956         * gst-libs/gst/vaapi/gstvaapicontext.c:
1957         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1958         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
1959         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
1960         * gst-libs/gst/vaapi/gstvaapisurface.c:
1961           libs: use array_unref() rather than array_free()
1962           It is more convinience and thread-safe.
1963           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/325>
1964
1965 2020-04-10 22:20:35 +0800  He Junyan <junyan.he@hotmail.com>
1966
1967         * gst/vaapi/gstvaapi.c:
1968           plugin: use register_type to replace get_type for encode init.
1969           xxx_register_type will detect the template sink caps and is needed
1970           to be called at init time.
1971           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1972
1973 2020-04-10 22:05:50 +0800  He Junyan <junyan.he@hotmail.com>
1974
1975         * gst/vaapi/gstvaapiencode_vp9.c:
1976         * gst/vaapi/gstvaapiencode_vp9.h:
1977           plugins: encode: Modify sink template of vp9 encode.
1978           Use gst_vaapi_detect_codec_caps to get more precise template caps.
1979           Also implement gst_vaapiencode_vp9_register_type, which should be
1980           called at plugin register time.
1981           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1982
1983 2020-04-10 22:05:18 +0800  He Junyan <junyan.he@hotmail.com>
1984
1985         * gst/vaapi/gstvaapiencode_vp8.c:
1986         * gst/vaapi/gstvaapiencode_vp8.h:
1987           plugins: encode: Modify sink template of vp8 encode.
1988           Use gst_vaapi_detect_codec_caps to get more precise template caps.
1989           Also implement gst_vaapiencode_vp8_register_type, which should be
1990           called at plugin register time.
1991           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1992
1993 2020-04-10 22:04:34 +0800  He Junyan <junyan.he@hotmail.com>
1994
1995         * gst/vaapi/gstvaapiencode_mpeg2.c:
1996         * gst/vaapi/gstvaapiencode_mpeg2.h:
1997           plugins: encode: Modify sink template of mpeg2 encode.
1998           Use gst_vaapi_detect_codec_caps to get more precise template caps.
1999           Also implement gst_vaapiencode_mpeg2_register_type, which should be
2000           called at plugin register time.
2001           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2002
2003 2020-04-10 22:03:49 +0800  He Junyan <junyan.he@hotmail.com>
2004
2005         * gst/vaapi/gstvaapiencode_h265.c:
2006         * gst/vaapi/gstvaapiencode_h265.h:
2007           plugins: encode: Modify sink template of h265 encode.
2008           Use gst_vaapi_detect_codec_caps to get more precise template caps.
2009           Also implement gst_vaapiencode_h265_register_type, which should be
2010           called at plugin register time.
2011           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2012
2013 2020-04-10 22:00:38 +0800  He Junyan <junyan.he@hotmail.com>
2014
2015         * gst/vaapi/gstvaapiencode_h264.c:
2016         * gst/vaapi/gstvaapiencode_h264.h:
2017           plugins: encode: Modify sink template of h264 encode.
2018           Use gst_vaapi_detect_codec_caps to get more precise template caps.
2019           Also implement gst_vaapiencode_h264_register_type, which should be
2020           called at plugin register time.
2021           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2022
2023 2020-04-10 22:11:34 +0800  He Junyan <junyan.he@hotmail.com>
2024
2025         * gst/vaapi/gstvaapiencode_jpeg.c:
2026         * gst/vaapi/gstvaapiencode_jpeg.h:
2027           plugins: encode: Modify sink template of jpeg encode.
2028           Use gst_vaapi_detect_codec_caps to get more precise template caps.
2029           Also implement gst_vaapiencode_jpeg_register_type, which should be
2030           called at plugin register time.
2031           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2032
2033 2020-04-23 00:02:02 +0800  He Junyan <junyan.he@hotmail.com>
2034
2035         * gst/vaapi/gstvaapiencode.h:
2036           plugin: encode: add a helper macro to register encode type.
2037           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2038
2039 2020-04-10 21:44:05 +0800  He Junyan <junyan.he@hotmail.com>
2040
2041         * gst/vaapi/gstvaapipluginutil.c:
2042         * gst/vaapi/gstvaapipluginutil.h:
2043           plugins: util: Add a helper function to detect supported caps.
2044           This helper function iterate all profiles and entrypoints belong
2045           to the specified codec, query the VAConfigAttribRTFormat and list
2046           all possible video formats.
2047           This function is used by each codec to get the template sink caps
2048           (for encode) or src caps(for decode) at register time, when just
2049           all possible formats are listed and no need to be very accurate.
2050           So there is no context created for the performance reason. Most
2051           codecs just use YUV kinds of formats as the input/output, so we do
2052           not include RGB kinds of formats. User can specified more formats
2053           in extra_fmts(For example, jpeg may need BGRA) if needed.
2054           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2055
2056 2020-04-10 21:27:32 +0800  He Junyan <junyan.he@hotmail.com>
2057
2058         * gst/vaapi/gstvaapiencode.c:
2059         * gst/vaapi/gstvaapipluginutil.c:
2060         * gst/vaapi/gstvaapipluginutil.h:
2061           plugin: encode: extract the allowed caps maker as a helper function.
2062           Extract all logic about making caps for encode's sink as a standalone
2063           helper function. It can be reused.
2064           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2065
2066 2020-04-10 21:21:43 +0800  He Junyan <junyan.he@hotmail.com>
2067
2068         * gst-libs/gst/vaapi/video-format.c:
2069         * gst-libs/gst/vaapi/video-format.h:
2070           libs: video-format: add a helper function of get_formats_by_chroma.
2071           The function iterates all supported video formats and returns the
2072           formats belong to the specified chroma type.
2073           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2074
2075 2020-05-16 21:03:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2076
2077         * gst-libs/gst/vaapi/gstvaapitexture.c:
2078         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
2079           libs: texture: remove unused headers include
2080           This is continuation of
2081           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/317
2082           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/324>
2083
2084 2020-05-16 19:58:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2085
2086         * gst-libs/gst/vaapi/gstvaapicodedbuffer.h:
2087         * gst-libs/gst/vaapi/gstvaapiimage.h:
2088         * gst-libs/gst/vaapi/gstvaapisurface.h:
2089           libs: removed duplicated function declarations
2090           Some headers had duplicated inlined function declaration. This was
2091           for gtkdoc, but now GStreamer uses hotdoc and the internal library
2092           documentation is not generated. So let's remove these extra lines.
2093           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/323>
2094
2095 2020-04-18 19:32:24 +0800  He Junyan <junyan.he@hotmail.com>
2096
2097         * gst-libs/gst/vaapi/gstvaapitexture.c:
2098         * gst-libs/gst/vaapi/gstvaapitexture.h:
2099         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
2100         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
2101         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
2102         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
2103         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
2104         * gst/vaapi/gstvaapivideometa_texture.c:
2105         * tests/internal/test-textures.c:
2106           libs: texture: Make texture a standard GstMiniObject.
2107           We store GstVaapiTextureGLX and GstVaapiTextureEGL's private data in
2108           the qdata of miniobject and avoid extending the base texture class.
2109           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/317>
2110
2111 2020-04-26 12:33:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2112
2113         * README:
2114           Update README
2115           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/320>
2116
2117 2020-04-21 18:00:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2118
2119         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
2120           libs: display: drm: use g_strcmp0 to be null safe
2121           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/321>
2122
2123 2020-04-26 13:30:16 +0800  Haihao Xiang <haihao.xiang@intel.com>
2124
2125         * gst/vaapi/gstvaapipluginutil.c:
2126           vaapipluginutil: Use GST_VAAPI_DISPLAY_TYPE_DRM for Mesa3D GBM
2127           We may build this plugin with window system support but run it without
2128           window system. Without this patch, the following pipeline will trigger a
2129           segfault when running it without window system.
2130           gst-launch-1.0 filesrc location=input.264 ! h264parse ! vaapih264dec ! fakesink
2131           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/319>
2132
2133 2020-04-21 11:16:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2134
2135         * meson.build:
2136           build: use join_paths() for driverdir
2137
2138 2020-04-21 09:04:51 +0000  Veerabadhran G <vegopala@amd.com>
2139
2140         * README:
2141           README: Update supported hardware
2142           Added the AMD hardware list to the "Hardware Requirements" section.
2143
2144 2020-04-04 13:58:00 +0200  He Junyan <junyan.he@hotmail.com>
2145
2146         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
2147         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
2148         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
2149           libs: bufferproxy: remove GstMemory reference
2150           Since bufferproxy and surface are not referenced circularly, there's
2151           no need to keep, in the buffer proxy, a reference to the GstMemory
2152           where it is held. This patch removes that handling.
2153
2154 2020-03-15 23:29:05 +0800  He Junyan <junyan.he@hotmail.com>
2155
2156         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
2157         * gst-libs/gst/vaapi/gstvaapisurface.c:
2158         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
2159         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
2160         * gst/vaapi/gstvaapivideomemory.c:
2161           libs,plugin: break surface-bufferproxy circular reference
2162           The bufferproxy may reference the surface and the surface may also
2163           reference the bufferproxy, producing a circular reference, which might
2164           lead to serious resource leak problems.
2165           Now make the relationship clearer, the bufferproxy's references is
2166           transfered to surface, while bufferproxy just keeps the surface's
2167           address without increasing its reference count.
2168           The surface can be created through a bufferproxy like in
2169           gst_vaapi_surface_new_with_dma_buf_handle(), and the surface might
2170           get its bufferproxy via gst_vaapi_surface_get_dma_buf_handle(). In
2171           both cases the surface holds a bufferproxy's reference.
2172
2173 2020-04-03 18:43:52 +0200  He Junyan <junyan.he@hotmail.com>
2174
2175         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
2176         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
2177         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
2178           libs: bufferproxy: rename parent memeber as surface
2179
2180 2020-03-15 22:07:31 +0800  He Junyan <junyan.he@hotmail.com>
2181
2182         * gst/vaapi/gstvaapivideobufferpool.c:
2183           plugin: bufferpool: use hashmap to cache dmabuf mem-surface
2184           The old way of refer memory by bufferproxy is not a good one, since it
2185           make the logic error prone.
2186           Now it is established a map between surface-bufferproxy and its GstMemory,
2187           caching the memory bound by a surface looked for the specified surface.
2188
2189 2020-03-15 21:50:24 +0800  He Junyan <junyan.he@hotmail.com>
2190
2191         * gst/vaapi/gstvaapivideobufferpool.c:
2192         * gst/vaapi/gstvaapivideobufferpool.h:
2193           plugin: bufferpool: Delete ACQUIRE_FLAG_NO_ALLOC flag.
2194           Delete the GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC flag.
2195           In fact, no one is using that flag, and all vaapi buffers should
2196           have GstVaapiVideoMeta.
2197
2198 2020-02-13 09:43:38 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2199
2200         * gst/vaapi/gstvaapipostproc.c:
2201         * gst/vaapi/gstvaapipostproc.h:
2202           vaapipostproc: enable HDR10 tone mapping
2203
2204 2020-02-13 09:00:18 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2205
2206         * gst-libs/gst/vaapi/gstvaapifilter.c:
2207         * gst-libs/gst/vaapi/gstvaapifilter.h:
2208           libs: filter: HDR10 tone mapping support
2209           Add support for HDR10 tone mapping (since VA-API 1.4.0).
2210
2211 2020-04-02 15:14:15 +0800  He Junyan <junyan.he@hotmail.com>
2212
2213         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2214         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2215         * gst-libs/gst/vaapi/gstvaapiprofile.c:
2216         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2217         * gst/vaapi/gstvaapiencode_h265.c:
2218           libs: encoder: h265: Support MAIN 4:4:4 10 profile.
2219           Using Y410 as the input of the encoder can generate main_444_10 bit
2220           streams.
2221
2222 2020-04-02 15:19:41 +0800  He Junyan <junyan.he@hotmail.com>
2223
2224         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2225           libs: encoder: fix an inexact trace info in chroma type check.
2226
2227 2020-03-31 12:22:31 +0800  Haihao Xiang <haihao.xiang@intel.com>
2228
2229         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2230           libs: encoder: make sure format array is not NULL when returning TRUE
2231           This fixed segfault when running the pipeline below with iHD driver
2232           (commit efe5e9a) on ICL
2233           gst-launch-1.0 videotestsrc ! vaapivp9enc tune=low-power ! vaapivp9dec ! \
2234           fakesink
2235
2236 2020-03-18 13:28:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2237
2238         * gst-libs/gst/vaapi/gstvaapidecoder.h:
2239         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
2240         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
2241         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
2242         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
2243         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
2244         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
2245         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
2246         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
2247         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2248         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
2249         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
2250         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
2251         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
2252         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
2253         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2254         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2255         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
2256         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
2257         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
2258         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
2259         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
2260         * gst-libs/gst/vaapi/gstvaapifilter.h:
2261         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
2262         * gst-libs/gst/vaapi/gstvaapiwindow.h:
2263         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
2264         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
2265         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
2266         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
2267         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
2268           libs: extend g_autoptr support
2269
2270 2020-03-26 22:40:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2271
2272         * gst/vaapi/gstvaapivideometa.c:
2273           vaapivideometa: remove compiler warning
2274
2275 2020-03-22 20:59:20 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2276
2277         * meson.build:
2278         * meson_options.txt:
2279           build: Add meson's option package-origin.
2280           This options is added to synchronize with other gstreamer packages
2281           build configuration.
2282           Though, to avoid breaking distro configuration it is set, as default,
2283           the issues gitlab's url, instead of the used string
2284           "Unkown package origin".
2285           Also, set_quoted is used for string based cdata.
2286
2287 2020-02-25 13:45:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2288
2289         * gst/vaapi/gstvaapipostproc.c:
2290           vaapipostproc: deprecate format, width and size parameters
2291           Since they should only be controlled by caps negotiation.
2292
2293 2020-03-18 16:41:01 +0800  He Junyan <junyan.he@hotmail.com>
2294
2295         * gst-libs/gst/vaapi/gstvaapiprofile.c:
2296         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2297         * gst/vaapi/gstvaapidecode.c:
2298           libs,plugins: decoder: Add -intra profile support for hevc.
2299           In hevc, we can consider the -intra profile a subset of the none
2300           -intra profile. The -intra profiles just contain I frames and we
2301           definitely can use the none -intra profiles's context to decode
2302           them.
2303           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2304
2305 2020-03-04 12:35:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2306
2307         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2308           libs: encoder: h265: support ICQ/QVBR BRC
2309           Enable support for ICQ and QVBR bitrate control.
2310           The code is essentially the same for h264 ICQ/QVBR support
2311           which was added in commit 9e0c133a2403.
2312
2313 2020-03-19 11:19:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2314
2315         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2316           libs: encoder: set VA HRD param before RC param
2317           This is a workaround for intel-media-driver bug
2318           https://github.com/intel/media-driver/issues/865
2319           The driver will force the RC method to CBR for HEVCe
2320           when it parses the HRD param.  Thus, any RC method
2321           param submitted "prior" to the HRD param will be lost.
2322           Therefore, VBR, ICQ and QVBR for HEVCe can't be
2323           effectively enabled if the RC method param "precedes"
2324           the HRD param.
2325           To work around this issue, set the HRD param before
2326           the RC method param so the driver will parse the RC
2327           method param "after" the HRD param.
2328           Afaict, other codecs in the driver (and other drivers)
2329           do not appear to be dependent on the order of HRD and
2330           RC param submission.
2331
2332 2019-11-25 14:16:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
2333
2334         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2335         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2336         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2337           vaapijpegenc: Add a quantization quirk for iHD driver
2338           iHD driver shifts the value by 50 when calculating quantization for JPEG
2339           encoding, so we should add 50 in this plugin for iHD driver too.
2340
2341 2020-03-13 21:49:15 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2342
2343         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
2344         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
2345         * gst-libs/gst/vaapi/gstvaapipixmap.c:
2346         * gst-libs/gst/vaapi/gstvaapipixmap.h:
2347         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
2348         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
2349         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
2350         * gst-libs/gst/vaapi/gstvaapiwindow.c:
2351         * gst-libs/gst/vaapi/gstvaapiwindow.h:
2352         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
2353         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
2354         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
2355         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
2356         * gst-libs/gst/vaapi/meson.build:
2357         * meson.build:
2358         * tests/internal/output.c:
2359         * tests/internal/output.h:
2360         * tests/internal/simple-decoder.c:
2361         * tests/internal/test-decode.c:
2362           libs: remove GstVaapiPixmap
2363           GstVaapiPixmap is an abstract base class which only implementation
2364           were GstVaapiPixmapX11. This class were used for a special type of
2365           rendering in the tests apps, utterly unrelated in GStreamer.
2366           Since gstreamer-vaapi is no longer a general-user wrapper for VA-API
2367           we should remove this unused API.
2368           This removal drops libxrender dependency.
2369
2370 2020-03-17 18:51:19 +0800  He Junyan <junyan.he@hotmail.com>
2371
2372         * gst-libs/gst/vaapi/gstvaapiutils.c:
2373           libs: utils: Add HEVC Main444 sting in string_of_VAProfile
2374           HEVCMain444_10 is already a supported profile and misses the strings.
2375
2376 2020-03-17 12:47:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2377
2378         * gst/vaapi/gstvaapi.c:
2379           plugin: don't error if cannot create display
2380           This might generated errors on automatic tools such as CI. Let's
2381           rather just raise a warning and let continue.
2382
2383 2020-03-09 01:52:57 +0800  He Junyan <junyan.he@hotmail.com>
2384
2385         * tests/check/meson.build:
2386           test: fix a ninja test failure for vaapioverlay.
2387           That test case only works with drm display, so the build such as
2388           meson -Dwith_x11=yes -Dwith_wayland=no -Dwith_drm=no -Dwith_egl=no
2389           -Dwith_glx=no
2390           gets a failure when run ninja test. Just enable this test when drm
2391           is enabled.
2392
2393 2020-02-07 23:56:13 +0800  He Junyan <junyan.he@hotmail.com>
2394
2395         * gst-libs/gst/vaapi/gstvaapivideopool.c:
2396           libs: videopool: fix a condition race for pool allocate.
2397
2398 2020-03-05 13:22:23 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2399
2400         * gst/vaapi/gstvaapivideobufferpool.c:
2401           vaapivideobufferpool: force video meta if sizes are different
2402           The strides and offsets could be the same, but the allocation
2403           size might be different (e.g. alignment).  Thus, ensure we also
2404           set the flag to copy from VA memory to system memory when alloc
2405           size differs.
2406           Fixes #243
2407
2408 2020-03-05 14:18:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2409
2410         * gst/vaapi/gstvaapidecode.c:
2411           vaapidecode: don't set base sink caps twice
2412           Base class's sink pad caps are already set when calling set_format().
2413           There's no need to call it again in gst_vaapidecode_negotiate().
2414
2415 2020-03-05 13:26:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2416
2417         * gst/vaapi/gstvaapidecode.c:
2418           vaapidecode: unlock stream if caps update fails
2419           If caps update fail a dead lock occurs since the stream mutex is not
2420           unlocked.
2421
2422 2020-03-03 15:24:32 +0800  Xu Guangxin <guangxin.xu@intel.com>
2423
2424         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2425           libs: decoder: h265: parser state after update dependent slice
2426           If the dependent_slice_segment_flag is true, most slice info derived from last slice.
2427           So we need check the slice type after we call populate_dependent_slice_hdr
2428
2429 2020-02-16 12:21:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2430
2431         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2432         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2433           libs: display: force RGBA image format for i965 driver
2434           Since commit 32bf6f1e GLTextureUpload is broken because i965
2435           doesn't report properly RGBA support. It could be possible to use RGBx
2436           but GLTextureUpload only regotiates RGBA.
2437           The simplest fix to this regression is adding synthetically the RGBA
2438           format in the internal format map.
2439
2440 2020-02-14 19:30:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2441
2442         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2443           libs: display: iterate all quirks table
2444           Instead of break at the fist foud quirk in the table, iterate all over
2445           so it would be feasible to add several quirks for one driver per
2446           element in array.
2447
2448 2020-02-25 12:05:28 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2449
2450         * gst-libs/gst/vaapi/gstvaapifilter.c:
2451           libs: filter: handle RGB to/from YUV color primary driver quirk
2452           The intel-media-driver (iHD) can't convert output color
2453           primaries when doing YUV to/from RGB CSC.  Thus, we must
2454           keep the output color primaries the same as the input
2455           color primaries for this case.
2456           fixes #238
2457
2458 2020-02-25 12:00:36 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2459
2460         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2461         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2462           libs: display: add YUV to/from RGB color primary quirk
2463           The intel-media-driver (iHD) can't convert output color
2464           primaries when doing YUV to/from RGB CSC.
2465
2466 2020-02-28 11:33:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2467
2468         * gst/vaapi/gstvaapivideomemory.c:
2469           Revert "vaapivideomemory: Store surface allocation flags."
2470           This reverts commit dd428cc4a12c2d5c694fcd3303811cf486002c9d because
2471           it rewrites the buffer size whilst surface allocation flags are
2472           stored when allocator_params_init() is called since fab890ce.
2473           Fix: #239
2474
2475 2020-01-27 18:19:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2476
2477         * gst/vaapi/gstvaapivideomemory.c:
2478           vaapivideomemory: Try surface with allocation flags.
2479           When a vaapi allocator is instantiated, it first try to generate a
2480           surface with the specified configuration.
2481           This patch adds, in this tried buffer, the requested allocation flags.
2482
2483 2020-01-27 18:10:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2484
2485         * gst/vaapi/gstvaapivideomemory.c:
2486           vaapivideomemory: Store surface allocation flags.
2487           Store surface allocation flags passed to the vaapi allocator in
2488           GObject's qdata, because it might be used by the vaapivideobufferpool
2489           when recreating the allocator given any resolution change.
2490
2491 2020-01-24 19:32:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2492
2493         * gst-libs/gst/vaapi/gstvaapisurface.c:
2494         * gst-libs/gst/vaapi/gstvaapisurface.h:
2495           libs: surface: Add hints to allocation flags.
2496           When creating surfaces it is possible to pass to VA hints of its usage,
2497           so the driver may do some optimizations.
2498           This commit adds the handling of encoding/decoding hints.
2499
2500 2020-01-24 22:08:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2501
2502         * gst-libs/gst/vaapi/gstvaapicontext.c:
2503         * gst-libs/gst/vaapi/gstvaapisurface.c:
2504         * gst-libs/gst/vaapi/gstvaapisurface.h:
2505         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
2506         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
2507         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
2508         * gst-libs/gst/vaapi/gstvaapiwindow.c:
2509         * tests/internal/test-filter.c:
2510         * tests/internal/test-surfaces.c:
2511           libs: surface: surfacepool: Add allocation flags in constructors.
2512
2513 2020-02-22 16:06:13 +0800  He Junyan <junyan.he@hotmail.com>
2514
2515         * meson.build:
2516           build: let the build fail if none if X11, wayland or drm.
2517           In fact, gst_vaapi_create_test_display only test x11, wayland and
2518           drm, no glx and egl entries. So if none of them is enabled, no
2519           vaapi element can be detected.
2520
2521 2020-02-21 00:58:47 +0800  He Junyan <junyan.he@hotmail.com>
2522
2523         * tests/internal/test-display.c:
2524           test: avoid unused warning for test-display
2525           meson -Dwith_x11=yes -Dwith_wayland=no -Dwith_drm=no -Dwith_egl=no
2526           -Dwith_glx=no buildir
2527           generate unused warnings.
2528
2529 2020-02-21 00:50:47 +0800  He Junyan <junyan.he@hotmail.com>
2530
2531         * meson.build:
2532           build: fix meson build error when without x11.
2533           meson -Dwith_x11=no build_dir
2534           can not success build the project because the glx is still enabled.
2535           We need to disable GLX when X11 is disabled.
2536
2537 2020-02-14 19:53:09 +0800  Haihao Xiang <haihao.xiang@intel.com>
2538
2539         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2540           libs: h265enc: Set max_transform_hierarchy_depth_{inter, intra} to 2
2541           Intel HW has limitation on max_transform_hierarchy_depth_inter and
2542           max_transform_hierarchy_depth_intra (see [1]). We can provide a quirk for
2543           other HWs if other HWs may support other values
2544           [1] https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-kbl-vol10-hevc.pdf
2545
2546 2020-02-21 07:37:50 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2547
2548         * gst/vaapi/gstvaapipostproc.c:
2549         * gst/vaapi/gstvaapipostprocutil.c:
2550           vaapipostproc: do not compensate for crop/direction if no VPP
2551           If we do not have functional VPP, then cropping and video
2552           direction is non-functional and we should avoid calling
2553           any of the gst_vaapi_filter* APIs.
2554
2555 2020-02-21 06:54:47 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2556
2557         * gst/vaapi/gstvaapipostproc.c:
2558           vaapipostproc: only set VPP colorimetry when VPP is available
2559           If we don't have functional vpp then we should not call
2560           gst_vaapi_filter_set_colorimetry.
2561
2562 2020-02-16 01:25:37 +0800  He Junyan <junyan.he@hotmail.com>
2563
2564         * gst/vaapi/gstvaapivideobufferpool.c:
2565         * gst/vaapi/gstvaapivideomemory.c:
2566         * gst/vaapi/gstvaapivideomemory.h:
2567           videobufferpool: don't reset surface when created internally
2568           The bug fixing, in commit 89f202ea, just considers the case when
2569           surface's DMABuf is set through gst_buffer_pool_acquire_buffer(),
2570           which is typically a decoder's behavior. But vaapipostproc doesn't
2571           provide any surface when calling gst_buffer_pool_acquire_buffer(),
2572           thus a surface is created when GstMemory is allocated.
2573           If the surface proxy in buffer's meta is reset at
2574           buffer_pool_reset_buffer(), that surface will be destroyed and it
2575           won't be available anymore. But GstBuffers are cached in the buffer
2576           pool and they are reused again, hence only those images are rendered
2577           repeatedly.
2578           Fixes: #232
2579
2580 2020-02-16 17:19:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2581
2582         * gst-libs/gst/vaapi/gstvaapiblend.c:
2583         * gst-libs/gst/vaapi/gstvaapifilter.c:
2584         * gst/vaapi/gstvaapi.c:
2585           libs: blend: filter: handle finalize() if display isn't assigned
2586           I've just discovered iHD driver in Skylake doesn't have VideoProc
2587           entry point, hence, in this platform, when vaapioverlay is tried to be
2588           registered, critical warnings are raised because blend doesn't have a
2589           display assigned.
2590           As it is possible to have drivers without EntryPointVideoProc it is
2591           required to handle it gracefully. This patch does that: only tries to
2592           register vaapioverlay if the testing display has VPP and finalize()
2593           vmethods, in filter and blend, bail out if display is NULL.
2594
2595 2020-02-15 11:02:49 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2596
2597         * gst-libs/gst/vaapi/gstvaapifilter.c:
2598         * gst-libs/gst/vaapi/gstvaapiutils.c:
2599           libs: filter: guard all color properties to VA-API 1.2.0
2600           Older VA-API (0.39.0) doesn't have VAProcColorProperties.
2601           Thus, guard all colorimetry -> VA-API support to version
2602           1.2.0.
2603           Fixes #234
2604
2605 2020-02-17 08:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2606
2607         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2608           libs: decoder: h265: set parser info state at decoding codec data
2609           Commit 1168d6d5 showed up a regression: decode_sps() stores the unit's
2610           parser info in sps array. If that parser info comes from decoding
2611           codec data, that parser info will have an undefined state which might
2612           break ensure_sps().
2613           This patch sets the parser info state, at decoding codec data, with
2614           the internal parser state. This is similar with h264 decoder apprach.
2615           Original-patch-by: Xu Guangxin <guangxin.xu@intel.com>
2616
2617 2020-02-07 15:24:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2618
2619         * gst/vaapi/gstvaapipostproc.c:
2620           vaapipostproc: demote log message to trace level
2621
2622 2020-02-14 14:45:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2623
2624         * gst-libs/gst/vaapi/video-format.c:
2625           libs: video-format: set general vaapi log category
2626           Instead of logging in an unspecified category, set the default vaapi.
2627
2628 2020-02-15 11:44:48 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2629
2630         * gst-libs/gst/vaapi/gstvaapiutils.c:
2631           libs: utils: guard EncSliceLP for VA-API < 0.39.1
2632           Relates to #234
2633
2634 2020-02-14 16:17:04 +0800  Haihao Xiang <haihao.xiang@intel.com>
2635
2636         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2637           libs: h265enc: Set VA_PICTURE_HEVC_INVALID flag for invalid picture
2638
2639 2020-02-11 11:31:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2640
2641         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
2642         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2643         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2644           libs: remove crumbs of libva < 0.39
2645           All these guarded code seem like leftovers of commit 920b1ec7a. This
2646           patch completes that missing clean up.
2647
2648 2020-02-11 00:38:40 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2649
2650         * gst-libs/gst/vaapi/gstvaapifilter.c:
2651         * gst-libs/gst/vaapi/gstvaapiutils.c:
2652           libs: VA explicit color standard not supported until 1.2.0
2653           VAProcColorStandardExplicit and associated VAProcColorProperties
2654           (primaries, transfer and matrix) are not supported until
2655           VA-API 1.2.0.
2656           Use VAProcColorStandardNone instead of VAProcColorStandardExplicit
2657           if VA-API < 1.2.0.
2658           Fixes #231
2659
2660 2020-02-10 09:31:15 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2661
2662         * gst-libs/gst/vaapi/gstvaapiutils.c:
2663           libs: utils: WA: use explicit for sRGB colorimetry
2664           Addresses #228 on iHD side.  It seems iHD can't handle
2665           VAProcColorStandardSRGB in all situations for vpp.  But
2666           it has no problem when we specify the sRGB parameters
2667           via VAProcColorStandardExplicit parameters.
2668
2669 2020-02-07 11:25:31 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2670
2671         * gst-libs/gst/vaapi/gstvaapifilter.c:
2672           libs: filter: set vpp input/output color range
2673           We've always sent VA_SOURCE_RANGE_UNKNOWN to the driver.
2674           And, the [iHD] driver essentially computes the same color
2675           range as gstreamer when we send VA_SOURCE_RANGE_UNKNOWN for
2676           cases were gstreamer computes it automatically.  But,
2677           if the user wants to make it explicit, we should try
2678           to honor it.
2679
2680 2020-02-07 11:20:11 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2681
2682         * gst-libs/gst/vaapi/gstvaapiutils.c:
2683         * gst-libs/gst/vaapi/gstvaapiutils.h:
2684           libs: utils: map GstVideoColorRange to VAAPI VPP
2685
2686 2020-02-07 15:28:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2687
2688         * gst/vaapi/gstvaapidecode.c:
2689           vaapidecode: don't remove chroma-site nor colorimetry
2690           Since now they can be handled by vaapipostproc.
2691
2692 2020-02-04 14:17:43 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2693
2694         * gst/vaapi/gstvaapipostprocutil.c:
2695           vaapipostproc: use sink resolution to calculate src colorimetry
2696           The default output colorimetry is persuaded by the output
2697           resolution, which is too naive when doing VPP cropping
2698           and/or scaling.  For example, scaling 4K(sink)->1080P(src)
2699           resolution (i.e. both YUV) results in bt2020(sink)->bt709(src)
2700           colorimetry selection and some drivers don't support that
2701           mode in vpp.
2702           Thus, if output (i.e. downstream) does not specify a
2703           colorimetry then we use the input resolution instead of the
2704           output resolution to create the default colorimetry.  Also,
2705           note that we still use the output format since it may be a
2706           different color space than the input.  As in the example
2707           above, this will result in bt2020(sink)->bt2020(src)
2708           colorimetry selection and all drivers (afaik) should support
2709           that in vpp.
2710
2711 2020-02-04 09:57:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2712
2713         * gst/vaapi/gstvaapipostprocutil.c:
2714           vaapipostproc: set srcpad colorimetry unconditionally
2715           We always need a srcpad colorimetry for VAAPI VPP
2716           operations.
2717           Also, check the return value of _set_colorimetry.
2718
2719 2020-01-30 12:34:07 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2720
2721         * gst/vaapi/gstvaapipostprocutil.c:
2722           vaapipostproc: do not override explicit srcpad colorimetry
2723           If colorimetry has been set by a capsfilter (e.g.
2724           vaapipostproc ! video/x-raw,colorimetry=bt709) then
2725           don't try to override it.  Previously, the aforementioned
2726           capsfilter will fail to negotiate if default colorimetry
2727           is not the same as the capsfilter (e.g. 4K resolutions).
2728
2729 2020-01-30 09:37:18 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2730
2731         * gst/vaapi/gstvaapipostproc.c:
2732           vaapipostproc: set vpp filter colorimetry
2733           Set the input and output colorimetry for vpp filter.
2734
2735 2020-01-30 09:34:10 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2736
2737         * gst-libs/gst/vaapi/gstvaapifilter.c:
2738         * gst-libs/gst/vaapi/gstvaapifilter.h:
2739           libs: filter: support vpp input/output color standard
2740           Add API function to allow setting the input and output vpp
2741           color standard from GstVideoColorimetry.
2742
2743 2020-02-04 11:32:54 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2744
2745         * gst-libs/gst/vaapi/gstvaapiutils.c:
2746         * gst-libs/gst/vaapi/gstvaapiutils.h:
2747           libs: utils: map GstVideoColorimetry to VAAPI VPP
2748           Fallback to VAProcColorStandardExplicit if there is no
2749           1:1 mapping.
2750
2751 2020-02-04 10:27:23 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2752
2753         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2754         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2755           libs: display: add vpp color standard quirk for i965 driver
2756           The i965 does not properly report supported vpp color
2757           standards.
2758
2759 2020-02-02 18:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2760
2761         * gst/vaapi/gstvaapivideobufferpool.c:
2762           vaapivideobufferpool: dmabuf implies allocator
2763           Some code can be optimized since only if the dmabuf allocator is set,
2764           the internal flag of dmabuf is TRUE, thus there's no need to evaluate
2765           the allocator address.
2766
2767 2020-01-29 11:55:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2768
2769         * gst/vaapi/gstvaapivideobufferpool.c:
2770           vaapivideobufferpool: reject configuration if allocator isn't vaapi
2771           If the requested allocator in set_config() is not a VAAPI valid one,
2772           reject the configuration, instead of lying and using a private one.
2773           This patch superseeds !254 and !24
2774
2775 2020-01-29 11:55:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2776
2777         * gst/vaapi/gstvaapivideobufferpool.c:
2778           vaapivideobufferpool: add explanation for allocator reconfig
2779
2780 2020-01-29 11:54:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2781
2782         * gst/vaapi/gstvaapivideobufferpool.c:
2783           vaapivideobufferpool: check for vaapi meta first
2784           If the configured meta doesn't request vaapi meta then it is not a
2785           vaapi buffer pool. Bail out as soon as possible.
2786
2787 2020-01-29 11:52:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2788
2789         * gst/vaapi/gstvaapivideobufferpool.c:
2790           vaapivideobufferpool: turn errors into warnings
2791           set_config() vmethod should fail gracefully, thus upstream could
2792           negotiate another pool if possible.
2793           Instead of sending error messages to the bus, let demote the level
2794           to warning.
2795
2796 2020-01-29 11:51:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2797
2798         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2799           libs: display: log out vendor string when available
2800           This is useful while asking for logs to know the used driver.
2801
2802 2020-01-27 11:49:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2803
2804         * gst-libs/gst/vaapi/gstvaapisurface.c:
2805           libs: surface: initialize VASurfaceAttribExternalBuffers
2806           Initialize VASurfaceAttribExternalBuffers using compiler's syntax
2807           rather than using memset().
2808
2809 2020-01-27 11:44:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2810
2811         * gst-libs/gst/vaapi/gstvaapisurface.c:
2812           libs: surface: merge two loops into one
2813           Merge two loops into one for setting offsets and strides in the
2814           external buffer descriptor.
2815
2816 2020-01-22 10:42:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2817
2818         * gst-libs/gst/vaapi/gstvaapisurface.c:
2819         * gst-libs/gst/vaapi/gstvaapisurface.h:
2820         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
2821         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
2822           libs: surface: surfacepool: rename variable for clearity
2823           In order to be readable, the meaningless 'flags' is renamed to
2824           surface_allocation_flags, which is clearer.
2825
2826 2020-01-27 18:40:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2827
2828         * gst/vaapi/gstvaapivideobufferpool.c:
2829           vaapivideobufferpool: Reuse internal allocator is possible.
2830           Instead of creating a new allocator when upstream requests a different
2831           allocator, this patch tries to reuse the internal allocator if it was
2832           already initializated.
2833           If the stream changes, then either one will be unref and a new
2834           allocator is created.
2835
2836 2020-01-27 18:05:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2837
2838         * gst/vaapi/gstvaapivideobufferpool.c:
2839           vaapivideobufferpool: Log messages in proper category.
2840           The log messages where logged in the GstBufferPool category because
2841           the instance was not properly casted. This fix that situation.
2842
2843 2020-01-16 11:49:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2844
2845         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2846         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2847         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
2848         * gst/vaapi/gstvaapipluginbase.c:
2849           libs: display: driver quirks mechanism
2850           This mechanism comes from ffmpeg vaapi implementation, where they have
2851           their own quirks.
2852           A specific driver is identified by a substring present in the vendor
2853           string. If that substring is found, a set of bitwise flags are store.
2854           These flags can be accessed through the function
2855           gst_vaapi_display_has_driver_quirks().
2856           The purpose for this first quirks is to disable the put image try for
2857           AMD Gallium driver (see [1]).
2858           1. https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/72
2859
2860 2020-01-15 23:07:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2861
2862         * gst/vaapi/gstvaapipluginutil.c:
2863           plugins: renable Mesa Gallium driver
2864
2865 2020-01-24 11:55:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2866
2867         * gst/vaapi/gstvaapivideobufferpool.c:
2868           vaapivideobufferpool: validate returned meta
2869           Validate if the meta returned by gst_buffer_get_vaapi_video_meta() in
2870           the acquired buffer is not null.
2871           This situation should be very "pathological", but still it is better
2872           be safe since that meta might be used later to create a new dma
2873           buffer.
2874
2875 2020-01-22 18:50:36 +0100  Philipp Zabel <p.zabel@pengutronix.de>
2876
2877         * gst/vaapi/gstvaapivideobufferpool.c:
2878           vaapivideobufferpool: always update/release the underlying surface proxy
2879           gst_vaapi_video_buffer_pool_reset_buffer() is called when the sink
2880           releases the last reference on an exported DMA buffer. This should
2881           release the underlying surface proxy. To avoid releasing the wrong
2882           surface due to a stale surface proxy reference in the buffer's
2883           GstVaapiVideoMeta, always update the reference to the correct surface
2884           in gst_vaapi_video_buffer_pool_acquire_buffer().
2885
2886 2020-01-23 16:56:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2887
2888         * gst-libs/gst/vaapi/gstvaapicontext.c:
2889         * gst-libs/gst/vaapi/gstvaapicontext.h:
2890         * gst-libs/gst/vaapi/gstvaapisurface.c:
2891         * gst-libs/gst/vaapi/gstvaapisurface.h:
2892           libs: context: select vaCreateSurfaces version according attributes
2893           This commit tries to centralize the selection of vaCreateSurfaces
2894           version, instead of having fallbacks everywhere.
2895           These fallbacks are hacks, added because new drivers use the latest
2896           version of vaCreateSurfaces (with surface attributes) [1], meanwhile
2897           old drivers (or profiles as JPEG decoder in i965) might rather use the
2898           old version.
2899           In order to select which method, there's detected hack: each config
2900           context has a list of valid formats, in the case of JPEG decoder the
2901           list only contains "rare" 4:2:2 formats (ICM3, GRAY8) which aren't
2902           handled correctly by the current gstreamer-vaapi code [2].
2903           The hack consist in identify if the format list contains an arbitrary
2904           preferred format (which is suposedly well supported by
2905           gstreamer-vaapi, mostly NV12). If no prefered colour format is found,
2906           the the old version of vaCreateSurfaces is used, and the surfaces wil
2907           be mapped into a image with their own color format.
2908           1. https://bugzilla.gnome.org/show_bug.cgi?id=797143
2909           2. https://bugzilla.gnome.org/show_bug.cgi?id=797222
2910
2911 2020-01-21 19:35:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2912
2913         * gst-libs/gst/vaapi/gstvaapicontext.c:
2914           libs: context: add debug category for context
2915
2916 2020-01-22 20:20:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2917
2918         * gst-libs/gst/vaapi/gstvaapiblend.c:
2919           libs: blend: guard VA_BLEND_GLOBAL_ALPHA
2920
2921 2020-01-21 14:09:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2922
2923         * gst/vaapi/gstvaapiencode_h264.c:
2924           vaapiencode: promote info to warning
2925           Let's notify user about using constrained-baseline instead on
2926           requested basline profile.
2927
2928 2019-06-28 15:41:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
2929
2930         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2931         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
2932         * gst/vaapi/gstvaapidecode.c:
2933         * gst/vaapi/gstvaapidecode_props.c:
2934         * gst/vaapi/gstvaapidecode_props.h:
2935           vaapih264dec: Add a property to assume constrained-baseline
2936           When baseline-as-constrained is set, the decoder will expose support
2937           for baseline decoding and assume that the baseline content is
2938           constrained-baseline. This can be handy to decode streams in hardware
2939           that would otherwise not be possible to decode. A lot of baseline
2940           content is in fact constrained.
2941
2942 2020-01-17 16:19:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2943
2944         * gst/vaapi/gstvaapiencode_h264.c:
2945         * gst/vaapi/gstvaapipluginutil.c:
2946           vaapih264enc: accept baseline as constrained baseline compatible
2947
2948 2020-01-17 14:24:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2949
2950         * gst/vaapi/gstvaapiencode_h264.c:
2951           vaapih264enc: update level in src caps
2952           And, if downstream requests a specific level, the caps are not
2953           negotiated, because there is no mechanism right now to specify a
2954           custom level in the internal encoder.
2955
2956 2020-01-17 17:12:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2957
2958         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2959           libs: encoder: h264: document gst_vaapi_encoder_h264_supports_avc()
2960
2961 2020-01-17 13:38:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2962
2963         * gst/vaapi/gstvaapiencode_h264.c:
2964           vaapih264enc: force byte-stream if avc isn't supported
2965           Removing the validation in gst_vaapiencode_h264_get_caps() since that
2966           ought be handled in gst_vaapiencode_h264_set_config()
2967
2968 2020-01-08 17:37:22 +0100  Philipp Zabel <p.zabel@pengutronix.de>
2969
2970         * gst/vaapi/gstvaapiencode_h264.c:
2971           vaaph264enc: suppress avc if the driver does not support packed headers
2972           Do not negotiate AVC output if the driver does not support it.
2973
2974 2020-01-08 17:16:35 +0100  Philipp Zabel <p.zabel@pengutronix.de>
2975
2976         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2977         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2978           libs: encoder: h264: Add gst_vaapi_encoder_h264_supports_avc()
2979           AVC output requires packed header support in the driver.
2980
2981 2020-01-17 13:07:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2982
2983         * gst/vaapi/gstvaapiencode_h264.c:
2984           vaapih264enc: intersect the new proposed caps
2985           Instead of just leave to keep the proposed caps, with the best profile
2986           in the allowed caps, is its intersected again.
2987
2988 2020-01-17 12:58:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2989
2990         * gst/vaapi/gstvaapiencode_h264.c:
2991           vaapih264enc: propose new profile caps and fixate it
2992           When the available caps doesn't intersect with the allowed caps in the
2993           pipeline, a new caps is proposed rather than just expecting to
2994           iterate.
2995           Later, the intersected caps (profile_caps) is fixated in order to
2996           extract the configuration.
2997
2998 2020-01-17 13:18:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2999
3000         * gst/vaapi/gstvaapiencode_h264.c:
3001           vaapih264enc: common fail for gst_vaapiencode_h264_set_config()
3002           Add a common fail code path for gst_vaapiencode_h264_set_config().
3003
3004 2020-01-17 12:54:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3005
3006         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3007           libs: encoder: unref formats array if none
3008           The formats array is always created, in order to keep the logic and
3009           to avoid broken caps, if this formats array doesn't contain any
3010           elements, it has to be unref and the function should return NULL.
3011
3012 2020-01-17 14:22:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3013
3014         * gst/vaapi/gstvaapiencode_h264.c:
3015           vaapih264enc: fix log message
3016           Before the log wasn't processed because wrong instance pointer.
3017
3018 2019-06-22 00:44:25 +0800  He Junyan <junyan.he@hotmail.com>
3019
3020         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3021         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3022         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
3023         * gst/vaapi/gstvaapiencode_h265.c:
3024           plugin: encode: Add H265 main-444 profile.
3025           Expose the main-444 profile to h265enc caps, when the upstream
3026           chooses to use VUYA as input, we choose main 4:4:4 profile to encode
3027           the frames.
3028
3029 2020-01-15 19:36:00 +0800  He Junyan <junyan.he@hotmail.com>
3030
3031         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3032           libs: encoder: h265: Consider main-444 profile when encoding.
3033           Add support of main-444 profile for parameter setting and packed header
3034           generation.
3035
3036 2020-01-15 23:04:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3037
3038         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3039         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3040         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
3041         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
3042         * gst/vaapi/gstvaapiencode.c:
3043           vaapiencode: DMABuf only if PRIME is available
3044           Add DMABuf capsfeature in encoders' allowed sinkcaps only if PRIME
3045           memory type is available in the VA surface attributes of codec
3046           context.
3047
3048 2020-01-16 09:14:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
3049
3050         * hooks/pre-commit.hook:
3051           Add hooks/pre-commit.hook
3052           meson.build in gstreamer-vaapi requires hooks/pre-commit.hook
3053           Copied and pasted pre-commit.hook from other gstreamer modules to make
3054           sure gstreamer-vaapi follows the same code style
3055
3056 2019-12-26 16:45:51 +0800  He Junyan <junyan.he@hotmail.com>
3057
3058         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3059           libs: encoder: h265: Set encoder paramters base on entrypoint.
3060           When the tune is NONE, we now can choose entrypoint freely. So the
3061           GST_VAAPI_ENCODER_TUNE macro may not return the correct current
3062           entrypoint.
3063           We also delay CTU size calculation after entrypoint has been decided.
3064
3065 2019-12-28 19:18:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3066
3067         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
3068         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
3069         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
3070         * gst-libs/gst/vaapi/gstvaapicontext.c:
3071         * gst-libs/gst/vaapi/gstvaapicontext.h:
3072         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3073         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3074         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3075         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
3076         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
3077         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
3078         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
3079         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
3080         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
3081         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
3082         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3083         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
3084         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
3085         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
3086         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
3087         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
3088         * gst-libs/gst/vaapi/gstvaapiprofile.c:
3089         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3090         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
3091         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
3092         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
3093         * gst-libs/gst/vaapi/meson.build:
3094         * gst/vaapi/gstvaapi.c:
3095         * gst/vaapi/gstvaapiencode.c:
3096         * gst/vaapi/gstvaapiencode.h:
3097         * gst/vaapi/gstvaapiencode_h264_fei.c:
3098         * gst/vaapi/gstvaapiencode_h264_fei.h:
3099         * gst/vaapi/gstvaapifeivideometa.c:
3100         * gst/vaapi/gstvaapifeivideometa.h:
3101         * gst/vaapi/meson.build:
3102         * meson.build:
3103         * tests/internal/meson.build:
3104         * tests/internal/test-fei-enc-in.c:
3105         * tests/internal/test-fei-enc-out.c:
3106           Remove all FEI related
3107           FEI encoders are not actively mantained neither tested, and it is
3108           using infrastructure that is changing and FEI is stopping this
3109           effort.
3110           Also it is required to rethink how FEI can be used in GStreamer.
3111
3112 2020-01-14 11:17:49 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3113
3114         * gst/vaapi/gstvaapioverlay.c:
3115           vaapioverlay: ensure sinkpad has current buffer
3116           Use the gst_video_aggregator_pad_has_current_buffer API
3117           to check if the current sinkpad has a queued buffer before
3118           attempting to obtain a input buffer from the base plugin.
3119           If the sinkpad does not have a current buffer, then it is
3120           either not producing them yet (e.g. current time < sinkpad
3121           start time) or it has reached EOS.
3122           Previously, we only handled EOS case.
3123           Example:
3124           gst-launch-1.0 videotestsrc num-buffers=100 \
3125           ! vaapipostproc ! vaapioverlay name=overlay \
3126           ! vaapisink videotestsrc timestamp-offset=1000000000 \
3127           num-buffers=100 ! video/x-raw,width=160,height=120 \
3128           ! overlay.
3129
3130 2020-01-14 18:57:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3131
3132         * gst/vaapi/gstvaapioverlay.c:
3133           vaapioverlay: unroll the recursive call
3134           Recursive functions are elegant but dangerous since they might
3135           overflow the stack. It is better to turn them into a list tranversal
3136           if possible, as this case.
3137
3138 2020-01-14 18:46:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3139
3140         * gst-libs/gst/vaapi/gstvaapiblend.c:
3141         * gst/vaapi/gstvaapioverlay.c:
3142           vaapioverlay: add minimal documentation
3143
3144 2020-01-14 18:25:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3145
3146         * gst-libs/gst/vaapi/gstvaapiblend.c:
3147         * gst-libs/gst/vaapi/gstvaapiblend.h:
3148         * gst/vaapi/gstvaapioverlay.c:
3149           libs: blend: simplify generator API
3150           Instead of using a parent structure that has to be derived by API
3151           consumers, this change propse a simplification by using the common
3152           pattern of GTK of passing a function pointer and user data which will
3153           be passed as its parameter. That user data contains the state and the
3154           function will be called to update that state.
3155
3156 2020-01-10 10:14:38 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3157
3158         * gst-libs/gst/vaapi/gstvaapiblend.c:
3159         * gst-libs/gst/vaapi/gstvaapiblend.h:
3160           libs: blend: remove begin/render/end API
3161           This API was risky and is superseded by the surface
3162           generator (process) API.
3163           Resolves #219
3164
3165 2020-01-10 10:12:36 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3166
3167         * gst/vaapi/gstvaapioverlay.c:
3168           vaapioverlay: use blend surface generator API
3169           See #219
3170
3171 2020-01-10 09:54:30 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3172
3173         * gst-libs/gst/vaapi/gstvaapiblend.c:
3174         * gst-libs/gst/vaapi/gstvaapiblend.h:
3175           libs: blend: add surface generator API
3176           This new API allows the user to call a single method (process)
3177           which handles the [display] lock/unlock logic internally for
3178           them.
3179           This API supersedes the risky begin, render, end API.
3180           It eliminates the need for the user to call a lock method
3181           (process_begin) before processing the input buffers
3182           (process_render) and calling an unlock method (process_end)
3183           afterwards.
3184           See #219
3185
3186 2019-12-23 14:29:08 +0800  He Junyan <junyan.he@hotmail.com>
3187
3188         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3189         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3190         * gst/vaapi/gstvaapiencode.c:
3191         * gst/vaapi/gstvaapiencode.h:
3192         * gst/vaapi/gstvaapiencode_h264.c:
3193         * gst/vaapi/gstvaapiencode_h265.c:
3194           plugin: encode: List all possible profiles to detect input formats.
3195           The current get_profile just return one possible profile for the encode,
3196           which is not enough.  For example, if we want to support HEVC 4:4:4
3197           profile, the input of encode should be VYUA rather than NV12 in HEVC
3198           main profile. So the command line:
3199           gst-launch-1.0 videotestsrc num-buffers=200 ! capsfilter \
3200           caps=video/x-raw,format=VUYA,width=800,height=600 ! vaapih265enc \
3201           tune=low-power init-qp=30 ! fakesink
3202           can not work because vaapih265enc just report NV12 in sink caps, we need
3203           to specify the profile obviously like:
3204           gst-launch-1.0 videotestsrc num-buffers=200 ! capsfilter \
3205           caps=video/x-raw,format=VUYA,width=800,height=600 ! vaapih265enc \
3206           tune=low-power init-qp=30 ! capsfilter caps=video/x-h265, \
3207           profile=main-444 ! fakesink
3208           The encode should have the ability to choose the profile based on input
3209           format automatically. If the input video format is VUYA, the main-444
3210           profile should be auto choosed.
3211           We modify to let get_allowed_profiles of each encode sub class to return
3212           an array of all supported profiles based on downstream's allowed caps, or
3213           return NULL if no valid profiles specified by downstream.
3214           If no allowed profiles found, all profiles which belong to the current
3215           encoder's codec will be the candidates.
3216           The function gst_vaapi_encoder_get_surface_attributes collects the surface's
3217           attributes for that profile list we just get.
3218           So for this case, both NV12 and VUYA should be returned.
3219           TODO: some codec like VP9, need to implement the get_profile() function.
3220
3221 2020-01-08 15:07:36 +0800  He Junyan <junyan.he@hotmail.com>
3222
3223         * gst/vaapi/gstvaapipluginutil.c:
3224         * gst/vaapi/gstvaapipluginutil.h:
3225           plugin: util: add helper function to detect profiles in caps.
3226
3227 2020-01-08 15:04:18 +0800  He Junyan <junyan.he@hotmail.com>
3228
3229         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3230         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3231           libs: encoder: add a helper function to get all supported profiles
3232
3233 2020-01-13 15:34:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
3234
3235         * gst-libs/gst/vaapi/gstvaapidecoder.c:
3236           libs: decoder: Don't unref null object
3237           ** (gst-launch-1.0:9789): CRITICAL **: 15:29:09.330:
3238           gst_vaapi_context_unref: assertion 'context != NULL' failed
3239
3240 2020-01-10 09:26:44 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3241
3242         * gst/vaapi/gstvaapioverlay.c:
3243           plugins: overlay: use proper NULL check on double pointer
3244           Check the address of the variable is not NULL,
3245           not the address of the pointer.
3246
3247 2020-01-08 23:42:21 +0800  He Junyan <junyan.he@hotmail.com>
3248
3249         * gst-libs/gst/vaapi/gstvaapicodedbuffer_priv.h:
3250           libs: codedbuf: delete a useless field.
3251           The context field in GstVaapiCodedBuffer is not inited correctly
3252           and is never used, just delete it.
3253
3254 2019-12-29 17:57:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3255
3256         * gst/vaapi/gstvaapipluginutil.c:
3257           plugins: add iHD driver in whitelist
3258
3259 2020-01-02 21:02:40 +0800  He Junyan <junyan.he@hotmail.com>
3260
3261         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3262           libs: encoder: modify 265 SPS header's profile compatibility flag.
3263           Make the SPS profile compatibility flags more precisely conform to
3264           the HEVC Spec.
3265
3266 2020-01-06 19:39:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3267
3268         * tests/check/elements/vaapioverlay.c:
3269           test: vaapioverlay: bail test if not available
3270           vaapioverlay is only registered if the VA driver support the blend
3271           operation.
3272           This patch only executes the test if vaapioverlay is available,
3273           otherwise the test is bail out without raising an error.
3274
3275 2020-01-06 14:53:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3276
3277         * tests/check/elements/vaapioverlay.c:
3278           tests: vaapioverlay: force drm backend
3279
3280 2019-12-22 17:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3281
3282         * gst-libs/gst/vaapi/gstvaapiblend.c:
3283           libs: blend: update to new mini-object API
3284
3285 2019-11-19 13:48:22 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3286
3287         * tests/check/elements/vaapioverlay.c:
3288         * tests/check/meson.build:
3289           tests: check: add basic vaapioverlay test
3290           Add test_overlay_position test to verify sink_1 input
3291           is overlayed onto sink_0 input at the appropriate
3292           position.
3293
3294 2019-11-14 12:03:57 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3295
3296         * gst/vaapi/gstvaapi.c:
3297         * gst/vaapi/gstvaapioverlay.c:
3298         * gst/vaapi/gstvaapioverlay.h:
3299         * gst/vaapi/meson.build:
3300           plugins: add vaapioverlay plugin
3301           A plugin similar to the base compositor element but
3302           uses VA-API VPP blend functions to accelerate the
3303           overlay/compositing.
3304           Simple example:
3305           gst-launch-1.0 -vf videotestsrc ! vaapipostproc \
3306           ! tee name=testsrc ! queue \
3307           ! vaapioverlay sink_1::xpos=300 sink_1::alpha=0.75 \
3308           name=overlay ! vaapisink testsrc. ! queue ! overlay.
3309
3310 2019-11-14 12:02:19 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3311
3312         * gst-libs/gst/vaapi/gstvaapiblend.c:
3313         * gst-libs/gst/vaapi/gstvaapiblend.h:
3314         * gst-libs/gst/vaapi/meson.build:
3315           libs: add a vaapi blend class
3316           Support for the VA-API VPP blend functions.
3317
3318 2019-11-14 11:54:59 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3319
3320         * gst/vaapi/gstvaapipluginbase.c:
3321         * gst/vaapi/gstvaapipluginbase.h:
3322           plugins: base: add GstVideoAggregator subclass support
3323
3324 2020-01-05 19:32:16 +0800  He Junyan <junyan.he@hotmail.com>
3325
3326         * gst-libs/gst/vaapi/gstvaapiimage.c:
3327           libs: image: init all image fields correctly.
3328
3329 2020-01-06 17:41:53 +0100  Stéphane Cerveau <scerveau@collabora.com>
3330
3331         * gst/vaapi/gstvaapipostproc.c:
3332           doc: fix pipeline typo in vaapipostproc
3333
3334 2020-01-02 21:11:44 +0800  He Junyan <junyan.he@hotmail.com>
3335
3336         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3337           libs: encoder: modify 265 VPS header fields.
3338           vps_base_layer_internal_flag and vps_base_layer_available_flag
3339           have been clearly defined now.
3340
3341 2020-01-01 19:54:13 +0800  He Junyan <junyan.he@hotmail.com>
3342
3343         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
3344           libs: display: fix a resource leak in X11 pixmap format.
3345
3346 2020-01-02 18:00:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3347
3348         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
3349         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
3350           libs: utils: delete useless gst_vaapi_profile_caps_append_encoder.
3351
3352 2019-12-30 14:09:17 +0800  He Junyan <junyan.he@hotmail.com>
3353
3354         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3355         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3356         * gst/vaapi/gstvaapiencode.c:
3357           libs: encoder: get surfaces resolution the same time with formats.
3358           We can get all the information about the video format at one shot
3359           when we create the test context for getting the supported formats.
3360           The current way to get the width and height ranges are inefficient,
3361           since it calls the function gst_vaapi_profile_caps_append_encoder()
3362           and it creates another temporal context to detect the resolution
3363           information.
3364           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3365
3366 2019-12-28 17:42:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3367
3368         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3369           libs: encoder: vp9: fix code style
3370
3371 2019-12-16 23:19:46 +0800  He Junyan <junyan.he@hotmail.com>
3372
3373         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3374         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3375         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3376         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3377         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3378           libs: encoder: set entrypoint based on tune automatically
3379           Some profile, such as H265_MAIN_444 on new Intel platform, may only
3380           support ENTRYPOINT_SLICE_ENCODE_LP entrypoint. This leads two
3381           problems:
3382           1. We need to specify the tune mode like `vaapih265enc tune=low-power`
3383           every time when we need to use this kind of profile. Or we can not
3384           create the encoder context successfully.
3385           2. More seriously, we set the entrypoint to a fixed value in
3386           init_context_info() and so the create_test_context_config() can not
3387           create the test context for these profile and can not get the
3388           supported video formats, either.
3389           We now change the entrypoint setting based on the tune option of the
3390           encoder. If no tune property provided, we just choose the first
3391           available entrypoint.
3392
3393 2019-12-16 23:19:46 +0800  He Junyan <junyan.he@hotmail.com>
3394
3395         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3396         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3397         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3398         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3399         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3400         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3401         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3402           libs: encoder: set context info profile by encoder
3403           Instead of init_context_info() setting the passed profile, it is
3404           assumed that it has to be set by each encoder.
3405           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3406
3407 2019-12-27 18:49:02 +0100  He Junyan <junyan.he@hotmail.com>
3408
3409         * gst-libs/gst/vaapi/gstvaapicontext.c:
3410         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3411           libs: context: add invalid entrypoint symbol
3412           The symbol GST_VAAPI_ENTRYPOINT_INVALID is just a representation of
3413           zero, which was already used as an invalid value tacitly. This patch
3414           only makes it explicit.
3415           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3416
3417 2019-12-29 01:13:29 +0800  He Junyan <junyan.he@hotmail.com>
3418
3419         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
3420           libs: pixmap: Fix a pixmap creation crash.
3421           We use GST_VAAPI_OBJECT_NATIVE_DISPLAY with wrong parameter for x11
3422           pixmap creation, which causes crash if we run the internal test case
3423           of:
3424           test-decode --pixmap
3425
3426 2019-12-22 14:35:18 +0800  He Junyan <junyan.he@hotmail.com>
3427
3428         * gst/vaapi/gstvaapiencode.c:
3429           plugin: encode: set allowed_sinkpad_caps to empty.
3430           We now set encode->allowed_sinkpad_caps to NULL if we fail to get
3431           surfaces formats. This causes two problem:
3432           1. gst_video_encoder_proxy_getcaps use NULL as its caps parameter,
3433           which changes its behavior. It will use encode's sinkpad template
3434           rather than empty caps to do the clip job. So even if we fail to set
3435           allowed_sinkpad_caps, gst_video_encoder_proxy_getcaps can still return
3436           valid caps.
3437           2. We should just set the allowed_sinkpad_caps once. The NULL point
3438           make the ensure_allowed_sinkpad_caps function works again and again.
3439
3440 2019-12-22 15:22:57 +0800  He Junyan <junyan.he@hotmail.com>
3441
3442         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3443           libs: encoder: Add NULL pointer check for context when finalize.
3444           Context may be NULL if pipeline fail in early stage, and the
3445           ensure_context will not be called. Need to add a pointer protection
3446           for it.
3447
3448 2019-12-20 06:38:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3449
3450         * gst/vaapi/gstvaapipluginbase.c:
3451           plugins: base: do not reset can_dmabuf
3452           Don't reset the can_dmabuf field.  This restores the
3453           close/reset logic that existed prior to commit
3454           ca2942176b5632e07eebac23336954f9aaf1cb26 in regards to
3455           dmabuf support.
3456           Plugins only call gst_vaapi_plugin_base_set_srcpad_can_dmabuf
3457           once during startup, but may need to reset the other private
3458           fields multiple times during negotiation.  Thus, can_dmabuf
3459           should be exempt from the resets.
3460           Fixes #208
3461
3462 2019-12-06 00:21:12 +0800  He Junyan <junyan.he@hotmail.com>
3463
3464         * gst/vaapi/gstvaapiencode.c:
3465           plugin: encode: Refine encode's sink caps.
3466           The old manner to get the encode's sink caps is not correct.
3467           Such as 264 encode, it gets:
3468           video/x-raw(memory:VASurface),
3469           format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210,
3470           P010_10LE, AYUV, Y410, Y444 }, width=(int)[ 32, 4096 ],
3471           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ];
3472           video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA },
3473           width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ],
3474           framerate=(fraction)[ 0/1, 2147483647/1 ];
3475           video/x-raw, format=(string){ NV12 }, width=(int)[ 32, 4096 ],
3476           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
3477           where the formats for memory:VASurface and memory:DMABuf are superfluous.
3478           All the "I420, YV12, YUY2, UYVY, Y210, RGBA" can not be really used as
3479           input format for encoder.
3480           We should get:
3481           video/x-raw, format=(string){ NV12 }, width=(int)[ 32, 4096 ],
3482           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ];
3483           video/x-raw(memory:VASurface), format=(string){ NV12 },
3484           width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ],
3485           framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf),
3486           format=(string){ NV12 }, width=(int)[ 32, 4096 ],
3487           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
3488           as the correct result.
3489
3490 2019-12-20 08:37:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3491
3492         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3493         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3494           libs: display: code clean up
3495
3496 2019-12-12 21:34:21 +0800  He Junyan <junyan.he@hotmail.com>
3497
3498         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3499         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
3500         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3501           libs: display: refine the profile/entrypoint map.
3502           The old way make the one config for each profile/entrypoint pair,
3503           which is not very convenient for description the relationship
3504           between them. One profile may contain more than one entrypoints
3505           to within it, so a set like data structure should be more suitable.
3506
3507 2019-12-19 14:19:10 +0100  He Junyan <junyan.he@hotmail.com>
3508
3509         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
3510         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
3511         * gst-libs/gst/vaapi/gstvaapicontext.c:
3512         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3513         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
3514         * gst-libs/gst/vaapi/gstvaapifilter.c:
3515         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
3516         * gst-libs/gst/vaapi/gstvaapisurface.c:
3517         * gst-libs/gst/vaapi/gstvaapisurface.h:
3518         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
3519         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
3520         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
3521         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
3522         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
3523         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
3524         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
3525         * gst-libs/gst/vaapi/gstvaapivideopool.c:
3526         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3527         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3528         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3529         * gst/vaapi/gstvaapipluginbase.c:
3530         * gst/vaapi/gstvaapivideomemory.c:
3531         * gst/vaapi/gstvaapivideometa.c:
3532         * gst/vaapi/gstvaapivideometa_texture.c:
3533         * tests/internal/image.c:
3534         * tests/internal/test-filter.c:
3535         * tests/internal/test-surfaces.c:
3536         * tests/internal/test-windows.c:
3537           libs: surface: port to GstMiniObject
3538           GstVaapiMiniObject and GstVaapiObject are deprecated.
3539           This is the first step to remove them by porting GstVaapiSurface as
3540           a GstMiniBuffer descendant.
3541           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3542
3543 2019-12-19 18:26:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3544
3545         * gst-libs/gst/vaapi/gstvaapisurface.c:
3546           libs: surface: rename create function names to init
3547           There are several internal functions with 'create' name, but they
3548           don't create any new structure, but rather it initializes that
3549           structure. Renaming those function to reflect better their purpose.
3550
3551 2019-12-19 14:17:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3552
3553         * gst-libs/gst/vaapi/gstvaapisurface.c:
3554           libs: surface: use macro accessors
3555
3556 2019-12-19 13:46:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3557
3558         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
3559           libs: surface: fix internal documentation
3560
3561 2019-12-18 18:00:49 +0100  He Junyan <junyan.he@hotmail.com>
3562
3563         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
3564         * gst-libs/gst/vaapi/gstvaapicodedbuffer.h:
3565         * gst-libs/gst/vaapi/gstvaapicodedbuffer_priv.h:
3566         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
3567         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3568         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3569         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3570         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3571         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3572         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3573         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3574         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3575         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
3576         * gst-libs/gst/vaapi/gstvaapivideopool.c:
3577           libs: codedbuffer: port to GstMiniObject
3578           GstVaapiMiniObject and GstVaapiObject are deprecated.
3579           This is the first step to remove them by porting GstVaapiCodedBuffer
3580           as a GstMiniBuffer descendant.
3581           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3582
3583 2019-12-18 12:57:01 +0100  He Junyan <junyan.he@hotmail.com>
3584
3585         * gst-libs/gst/vaapi/gstvaapiimage.c:
3586         * gst-libs/gst/vaapi/gstvaapiimage.h:
3587         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
3588         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
3589         * gst-libs/gst/vaapi/gstvaapisurface.c:
3590         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
3591         * gst-libs/gst/vaapi/gstvaapivideopool.c:
3592         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3593         * gst/vaapi/gstvaapipluginbase.c:
3594         * gst/vaapi/gstvaapivideomemory.c:
3595         * gst/vaapi/gstvaapivideometa.c:
3596         * tests/internal/image.c:
3597         * tests/internal/simple-encoder.c:
3598         * tests/internal/test-fei-enc-in.c:
3599         * tests/internal/test-filter.c:
3600         * tests/internal/test-windows.c:
3601           libs: image: port to GstMiniObject base class
3602           GstVaapiMiniObject and GstVaapiObject are deprecrated. This is the
3603           first step to remove them, by porting GstVaapiImage as a
3604           GstMiniObject.
3605           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3606
3607 2019-09-24 01:01:22 +0800  He Junyan <junyan.he@hotmail.com>
3608
3609         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
3610         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
3611         * gst-libs/gst/vaapi/gstvaapicontext.c:
3612         * gst-libs/gst/vaapi/gstvaapicontext.h:
3613         * gst-libs/gst/vaapi/gstvaapidecoder.c:
3614         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3615         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3616         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
3617           libs: context: port to a plain C structure
3618           The GstVaapiMiniObject is obsolete and we need to replace it. This
3619           patch turns GstVaapiContext into a plain C structure with its own
3620           reference counting mechanism.
3621           Also this patch removes unused overlays attributes.
3622           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3623
3624 2019-12-18 00:40:58 +0800  He Junyan <junyan.he@hotmail.com>
3625
3626         * gst/vaapi/gstvaapiencode_h264.c:
3627         * gst/vaapi/gstvaapiencode_h264_fei.c:
3628         * gst/vaapi/gstvaapiencode_h265.c:
3629         * gst/vaapi/gstvaapiencode_jpeg.c:
3630         * gst/vaapi/gstvaapiencode_mpeg2.c:
3631         * gst/vaapi/gstvaapiencode_vp8.c:
3632         * gst/vaapi/gstvaapiencode_vp9.c:
3633           plugin: encode: change the dmabuf caps to all supported formats.
3634           The encode's dmabuf caps definition is obsolete, it can support
3635           more formats now. Re-define it to include all supported formats
3636           in video format map.
3637
3638 2019-12-17 17:09:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3639
3640         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3641           libs: encoder: h264fei: remove unnecessary check
3642           Issue detected by Coverity
3643           `info_to_pack.h264_slice_header` is always allocated by
3644           gst_vaapi_feipak_h264_encode(), thus checking it to free it afterwards
3645           in doesn't make much sense.  But it requires to be free on the error
3646           path.
3647           There may be a null pointer dereference, or else the comparison
3648           against null is unnecessary.
3649           In gst_vaapi_encoder_h264_fei_encode: All paths that lead to this null
3650           pointer comparison already dereference the pointer earlier
3651
3652 2019-12-17 17:05:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3653
3654         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3655           libs: encoder: h264fei: remove unnecessary assert
3656           Issue detected by Coverity
3657           An unsigned value can never be negative, so this test will always
3658           evaluate the same way.
3659           In add_slice_headers: An unsigned value can never be less than 0
3660
3661 2019-12-17 16:57:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3662
3663         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3664           libs: encoder: h264fei: remove unnecessary check
3665           Issue detected by Coverity
3666           There may be a null pointer dereference, or else the comparison
3667           against null is unnecessary.
3668           In gst_vaapi_encoder_h264_fei_encode: All paths that lead to this null
3669           pointer comparison already dereference the pointer earlier
3670
3671 2019-12-17 16:49:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3672
3673         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3674         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3675           libs: encoder: h264fei: don't free memory on stack
3676           Issue detected by Coverity
3677           `info_to_pak` variable in gst_vaapi_encoder_h264_fei_encode() is
3678           declared in the stack, but it is free in
3679           gst_vaapi_feienc_h264_encode() as if declared on the heap.
3680           This patch initializes the structure and removes the free.
3681           A non-heap pointer is placed on the free list, likely causing a crash
3682           later.
3683           In gst_vaapi_encoder_h264_fei_encode: Free of an address-of
3684           expression, which can never be heap allocated.
3685
3686 2019-12-17 13:22:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3687
3688         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3689           libs: encoder: h264fei: fix surface leak
3690           Issue detected by Coverity
3691           If the FEI mode is not handled the created resources should be
3692           released and return and error code.
3693           The system resource will not be reclaimed and reused, reducing the
3694           future availability of the resource.
3695           In gst_vaapi_encoder_h264_fei_encode: Leak of memory or pointers to
3696           system resources
3697
3698 2019-12-17 13:09:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3699
3700         * tests/check/elements/vaapipostproc.c:
3701           tests: check return calling of gst_navigation_event_parse.*
3702           This issue was detected by Coverity.
3703           If the function returns an error value, the error value may be mistaken
3704           for a normal value.
3705           In cb_mouse_event: Value returned from a function is not checked for
3706           errors before being used
3707
3708 2019-12-16 16:25:02 +0800  He Junyan <junyan.he@hotmail.com>
3709
3710         * gst/vaapi/gstvaapiencode_h264.c:
3711         * gst/vaapi/gstvaapiencode_h264_fei.c:
3712         * gst/vaapi/gstvaapiencode_h265.c:
3713         * gst/vaapi/gstvaapiencode_jpeg.c:
3714         * gst/vaapi/gstvaapiencode_mpeg2.c:
3715         * gst/vaapi/gstvaapiencode_vp8.c:
3716         * gst/vaapi/gstvaapiencode_vp9.c:
3717           plugin: encode: set sink's raw caps to GST_VAAPI_FORMATS_ALL.
3718           Then encode plugin just supports raw formats declared in vaapi video
3719           format map. This modification makes the template caps more precise.
3720
3721 2019-11-14 11:13:51 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3722
3723         * gst/vaapi/gstvaapipluginbase.c:
3724           plugins: base: add GstPad param to internal helper functions
3725           The base plugin public API function implementations determine
3726           which pad should be passed to the internal helper functions.
3727           Currently, only the base plugin static sinkpad and static
3728           srcpad are supported/used.  However, this change enables future
3729           API functions to be added that can accept a pad (i.e. request pad)
3730           from an element subclass (e.g. a GstVideoAggregator subclass).
3731
3732 2019-11-12 12:21:52 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3733
3734         * gst/vaapi/gstvaapipluginbase.c:
3735         * gst/vaapi/gstvaapipluginbase.h:
3736           plugins: base: manage pad-specific data in a single struct
3737           Define a struct (GstVaapiPadPrivate) to encapsulate the
3738           pad-specific data (i.e. buffer pool, allocator, info,
3739           caps, etc.).
3740           Add an interface to retrieve the data struct for a given
3741           pad.
3742           Finally, update the base plugin to use the data struct
3743           throughout the implementation.
3744           This will enable us to easily extend the base plugin in the
3745           future to allow for N-to-1 pad subclasses (e.g. overlay/
3746           composite).
3747
3748 2019-10-29 15:13:44 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3749
3750         * gst/vaapi/gstvaapidecode.c:
3751         * gst/vaapi/gstvaapiencode.c:
3752         * gst/vaapi/gstvaapipluginbase.h:
3753         * gst/vaapi/gstvaapipostproc.c:
3754           plugins: use plugin base macros to access pad specific data
3755           Don't access base struct fields directly since the underlying
3756           definition can change.  Instead, use the accessor macros.
3757
3758 2019-12-03 00:52:45 +0800  He Junyan <junyan.he@hotmail.com>
3759
3760         * gst/vaapi/gstvaapidecode.c:
3761           libs: decoder: Modify decode src's template raw formats
3762           We do not need to maintain a standalone list of decoder's output
3763           template for raw formats and that is easy to make mistake(for
3764           example, the AYVU is wrong in that list, should be VUYA).
3765           Just use GST_VAAPI_FORMATS_ALL to replace the raw formats list for
3766           src template.
3767
3768 2019-12-11 14:11:13 +0800  He Junyan <junyan.he@hotmail.com>
3769
3770         * gst/vaapi/gstvaapipostproc.c:
3771           libs: postproc: Modify src/sink template raw formats
3772           We need to provide more precise template caps for postproc's src
3773           and sink pads. The GST_VIDEO_FORMATS_ALL make all video formats
3774           available which are really superfluous.
3775
3776 2019-12-10 18:40:42 -0300  Thibault Saunier <tsaunier@igalia.com>
3777
3778         * tests/check/elements/vaapipostproc.c:
3779           Do not mix declaration and code
3780
3781 2019-11-03 17:59:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3782
3783         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3784           libs: decoder: h265: skip all pictures prior the first I-frame
3785           Don't try to decode until the first I-frame is received within the
3786           currently active sequence. i965 H265 decoder don't show any artifact
3787           but it crashes.
3788           Fixes: #98
3789
3790 2019-11-27 01:44:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3791
3792         * gst-libs/gst/vaapi/video-format.c:
3793           libs: video-format: remove dead code
3794
3795 2019-10-31 00:59:34 +0800  He Junyan <junyan.he@hotmail.com>
3796
3797         * gst-libs/gst/vaapi/video-format.c:
3798         * gst-libs/gst/vaapi/video-format.h:
3799         * gst/vaapi/gstvaapipluginutil.h:
3800           libs: video-format: add GST_VAAPI_FORMATS_ALL
3801           GST_VAAPI_FORMATS_ALL collects all declared formats in video-format
3802           as a caps template string, and make them available in caps with
3803           memory:VASurface feature.
3804           Fixes: #199
3805
3806 2019-11-06 22:37:12 +0800  He Junyan <junyan.he@hotmail.com>
3807
3808         * gst-libs/gst/vaapi/video-format.c:
3809         * tests/internal/test-windows.c:
3810           libs: video-format: change GST_VIDEO_FORMAT_AYUV to VUYA.
3811           We only support VUYA format in gst vaapi now, need to correct
3812           the mapping.
3813
3814 2019-10-09 15:13:09 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3815
3816         * tests/check/elements/vaapipostproc.c:
3817           tests: check: vaapipostproc test_orientation_mouse_events
3818           Test that vaapipostproc properly translates mouse events
3819           when using video-direction (orientation).
3820
3821 2019-10-09 10:11:54 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3822
3823         * tests/check/elements/vaapipostproc.c:
3824         * tests/check/meson.build:
3825           tests: check: vaapipostproc test_crop_mouse_events
3826           Test that vaapipostproc properly translates mouse events
3827           when cropping.
3828
3829 2019-10-08 12:20:26 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3830
3831         * meson.build:
3832         * meson_options.txt:
3833         * tests/check/elements/vaapipostproc.c:
3834         * tests/check/meson.build:
3835         * tests/meson.build:
3836           tests: check: initial unit test support
3837           Add minimal unit test toolchain files and a simple
3838           vaapipostproc unit test.
3839
3840 2019-10-08 12:19:06 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3841
3842         * meson.build:
3843         * tests/examples/meson.build:
3844         * tests/examples/test-roi.c:
3845         * tests/examples/test-vaapicontext.c:
3846         * tests/examples/test-vaapipostproc.c:
3847         * tests/examples/test-vaapisink.c:
3848         * tests/internal/codec.c:
3849         * tests/internal/codec.h:
3850         * tests/internal/decoder.c:
3851         * tests/internal/decoder.h:
3852         * tests/internal/image.c:
3853         * tests/internal/image.h:
3854         * tests/internal/meson.build:
3855         * tests/internal/output.c:
3856         * tests/internal/output.h:
3857         * tests/internal/simple-decoder.c:
3858         * tests/internal/simple-encoder.c:
3859         * tests/internal/test-decode.c:
3860         * tests/internal/test-decode.h:
3861         * tests/internal/test-display.c:
3862         * tests/internal/test-fei-enc-in.c:
3863         * tests/internal/test-fei-enc-out.c:
3864         * tests/internal/test-filter.c:
3865         * tests/internal/test-h264.c:
3866         * tests/internal/test-h264.h:
3867         * tests/internal/test-jpeg.c:
3868         * tests/internal/test-jpeg.h:
3869         * tests/internal/test-mpeg2.c:
3870         * tests/internal/test-mpeg2.h:
3871         * tests/internal/test-mpeg4.c:
3872         * tests/internal/test-mpeg4.h:
3873         * tests/internal/test-subpicture-data.c:
3874         * tests/internal/test-subpicture-data.h:
3875         * tests/internal/test-subpicture.c:
3876         * tests/internal/test-surfaces.c:
3877         * tests/internal/test-textures.c:
3878         * tests/internal/test-vc1.c:
3879         * tests/internal/test-vc1.h:
3880         * tests/internal/test-windows.c:
3881         * tests/internal/y4mreader.c:
3882         * tests/internal/y4mreader.h:
3883         * tests/meson.build:
3884           tests: move examples and tests to subfolders
3885           This makes way for adding unit (check) tests.
3886
3887 2019-10-14 01:01:27 +0100  Tim-Philipp Müller <tim@centricular.com>
3888
3889         * .gitmodules:
3890         * Makefile.am:
3891         * autogen.sh:
3892         * common:
3893         * configure.ac:
3894         * git.mk:
3895         * gst-libs/Makefile.am:
3896         * gst-libs/gst/Makefile.am:
3897         * gst-libs/gst/vaapi/Makefile.am:
3898         * gst/Makefile.am:
3899         * gst/vaapi/Makefile.am:
3900         * m4/Makefile.am:
3901         * tests/Makefile.am:
3902         * tests/elements/Makefile.am:
3903           Remove autotools build
3904
3905 2019-10-10 15:26:36 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3906
3907         * gst/vaapi/gstvaapipostproc.c:
3908           vaapipostproc: fix off-by-one coord translations
3909           When translating navigation x,y coordinates for
3910           video-direction, it is necessary to subtract 1
3911           when using the video dimensions to compute the
3912           new x,y coordinates.  That is, a 100x200 image
3913           should map coordinates in x=[0-99],y=[0-199].
3914           This issue was found with unit tests provided
3915           in !182.
3916
3917 2019-10-11 17:34:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3918
3919         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3920           libs: window: x11: Avoid usage of deprecated API
3921
3922 2019-10-11 17:13:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3923
3924         * meson.build:
3925           build: halt meson configuration if no renderer API
3926           We should halt meson configuration if there is no render API
3927           installed (either DRM, Wayland or X11).
3928           That behavior was already in autotools but missed in meson. This patch
3929           brings it back.
3930           Fixes: #196
3931
3932 2019-10-09 12:12:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3933
3934         * gst-libs/gst/vaapi/gstvaapifilter.c:
3935           libs: filter: fix default orientation regression
3936           Fix regression introduced in f232f87f7082
3937
3938 2019-10-07 11:53:23 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3939
3940         * gst-libs/gst/vaapi/gstvaapifilter.c:
3941           libs: filter: use OP_DATA_DEFAULT_VALUE macro
3942
3943 2019-10-07 11:39:19 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3944
3945         * gst-libs/gst/vaapi/gstvaapifilter.c:
3946           libs: filter: use macro for returning op default value
3947           The code is essentially the same for getting all op default
3948           values.  Thus, use a macro to help minimize code duplication
3949           and [hopefully] encourage using the same mechanism for all
3950           default getters.
3951
3952 2019-10-07 09:56:37 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3953
3954         * gst-libs/gst/vaapi/gstvaapifilter.c:
3955           libs: filter: query param spec for default scale method
3956           Related: #159
3957
3958 2019-10-07 09:44:06 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3959
3960         * gst-libs/gst/vaapi/gstvaapifilter.c:
3961           libs: filter: query param spec for default skin-tone values
3962           Related: #159
3963
3964 2019-10-02 12:54:52 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3965
3966         * gst-libs/gst/vaapi/gstvaapifilter.c:
3967           libs: filter: query param spec for default video-direction
3968           Related: #159
3969
3970 2019-10-07 10:23:09 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3971
3972         * .gitignore:
3973           add .gitignore
3974
3975 2019-09-05 16:40:52 +0800  Yan Wang <yan.wang@linux.intel.com>
3976
3977         * gst-libs/gst/vaapi/gstvaapifilter.c:
3978         * gst-libs/gst/vaapi/gstvaapifilter.h:
3979         * gst/vaapi/gstvaapipostproc.c:
3980         * gst/vaapi/gstvaapipostproc.h:
3981           vaapipostproc: Use level value for skin-tone-enhancement filter.
3982           Currently the parameter of skin-tone-enhancement filter is forced
3983           to zero. In fact it could be set different value by the user.
3984           So create a new property named as "skin-tone-enhancement-level"
3985           for accepting the used defined parameter value.
3986           At the same time, skin-tone-enhancement is marked as deprecated.
3987           When skin-tone-enhancement-level is set, skin-tone-enhancement
3988           will be ignored.
3989
3990 2019-09-21 13:39:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3991
3992         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3993         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3994           libs: decoder: h264, h266: fix g_return_val_if_fail() missuse
3995           g_return_val_fail() documentations says:
3996           If expr evaluates to FALSE, the current function should be
3997           considered to have undefined behaviour (a programmer error).
3998           The only correct solution to such an error is to change the
3999           module that is calling the current function, so that it avoids
4000           this incorrect call.
4001           So it was missused in a couple parts of the H264 and H265 internal
4002           decoders. This patch changes that to plain conditionals.
4003           Also, it was included a couple code-style fixes.
4004
4005 2019-09-23 19:52:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4006
4007         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4008         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4009         * tests/simple-encoder.c:
4010         * tests/test-fei-enc-in.c:
4011           libs: encoder: remove gst_vaapi_encoder_{ref,unref}()
4012           Since GstVaapiEncoder is a descendant of of GstObject, there is no
4013           need to keep a custom ref()/unref() methods. This patch deletes them.
4014
4015 2019-09-24 01:03:02 +0800  He Junyan <junyan.he@hotmail.com>
4016
4017         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4018           libs: encoder: correct encoder's ref/unref function.
4019           GstVaapiEncoder now is a standard gstobject and need to use
4020           gst_object_ref/unref functions.
4021
4022 2019-09-19 12:09:20 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4023
4024         * gst/vaapi/gstvaapiencode_h264_fei.c:
4025           gst: encode: h264_fei: remove useless comparison
4026           The expression "len >= 0" is always true since "len"
4027           is an unsigned type.  And it is clear that the writers
4028           intention was not to write "len > 0" since we handle
4029           len == 0 in the ensuing "if (len < 3)" conditional
4030           block.
4031
4032 2019-09-19 11:17:24 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4033
4034         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4035           libs: encoder: h264_fei: fix potential overflow before widen
4036           Found by static analysis. encoder->mb_width * encoder->mb_height
4037           is evaluated using 32-bit arithmetic before widen.  Thus, cast
4038           at least one of these to guint64 to avoid overflow.
4039
4040 2019-09-19 10:56:13 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4041
4042         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4043           libs: encoder: h264_fei: remove dead error condition
4044           Found by static analysis.  The feipak is always null
4045           when we reach the error target.
4046
4047 2019-09-19 10:49:11 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4048
4049         * gst-libs/gst/vaapi/gstvaapiutils.c:
4050           libs: utils: add missing break in switch
4051
4052 2019-09-11 11:56:35 +0800  He Junyan <junyan.he@hotmail.com>
4053
4054         * gst-libs/gst/vaapi/video-format.c:
4055           libs: video-format: Make all YUV format available
4056           The YUV formats have no ambiguity for drivers, so we can add them all.
4057           Some old driver(i965) does not implement full get/put image functions
4058           but can use derive image funtions for the YUV format. It does not
4059           report that kind of formats correctly in image query, but will derive
4060           that YUV format image from surface. The dynamic mapping of YUV format
4061           will block that manner.
4062           Adding more YUV format mapping has no side effect. So considering the
4063           legacy driver conformance, we add all YUV formats mapping statically
4064           and dynamic mapping RBG formats
4065           Fix: #189
4066           Fix: #190
4067
4068 2019-09-18 15:30:03 +1000  Matthew Waters <matthew@centricular.com>
4069
4070         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
4071         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
4072           egl: Fix racyness in display thread creation
4073           Multiple different scenarios could break the display thread creation and
4074           end up blocking waiting for thread o be created.  Fix them all by
4075           correctly waiting for a new boolean to become valid.
4076
4077 2019-09-18 15:29:03 +1000  Matthew Waters <matthew@centricular.com>
4078
4079         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
4080           egl: don't advertise a wrapped EGLContext as actually wrapped
4081           It's not actually wrapped as we create a new EGLContext from the passed
4082           in EGLContext.  As a result, the created EGLContext was never destroyed.
4083
4084 2019-09-16 23:28:31 +0800  He Junyan <junyan.he@hotmail.com>
4085
4086         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4087           libs: h264decoder: do not return error for unhandled NAL unit.
4088           Some streams have error data introducing unknown NAL type. There are
4089           also kinds of NAL types we do not want to handle. The old manner will
4090           set a decoder error when encounter this, which cause a latent crash bug.
4091           The decoder may successfully decode the picture and insert it into DPB.
4092           But there are error NAL units after the AU which cause the post unit error
4093           and make that frame dropped. The later output of the picture still want
4094           to ref that frame and crash.
4095           No need to set decoder error when can not recognize or handle the NAL
4096           unit, just skip it and continue.
4097           Fix: #191
4098
4099 2019-09-11 14:32:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4100
4101         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4102         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4103         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4104         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4105         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4106         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4107         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4108         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4109         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4110         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4111         * gst/vaapi/gstvaapiencode.c:
4112           libs: encoders: use GST_PARAM_USER_SHIFT to define internal params
4113           This patch makes use of GST_PARAM_USER_SHIFT to define the internal
4114           param in encoders to decide which parameters to expose. Thus
4115           gstreamer-vaapi will not interfere with any change in GStreamer in the
4116           future.
4117           Also, the internal symbol was change to
4118           GST_VAAPI_PARAM_ENCODER_EXPOSURE to keep the namespacing.
4119
4120 2019-09-09 18:06:51 +0800  He Junyan <junyan.he@hotmail.com>
4121
4122         * gst-libs/gst/vaapi/gstvaapiimage.c:
4123         * gst-libs/gst/vaapi/video-format.c:
4124           libs: Add BGR10A2_LE support for color space conversion.
4125           Fix: #179
4126
4127 2019-08-23 14:41:06 +0800  He Junyan <junyan.he@hotmail.com>
4128
4129         * gst-libs/gst/vaapi/gstvaapisurface.c:
4130           libs: surface: add pointer check for surface_new_from_formats.
4131           The command line:
4132           gst-launch-1.0 filesrc location=some_name.mjpeg ! jpegparse !
4133           vaapijpegdec !  videoconvert ! video/x-raw,format=I420 ! vaapisink
4134           will crash on i965 driver because of no pointer check.
4135           We now generate the video format map between GST format and VA format
4136           dynamically based on the image format returned by vaQueryImageFormats.
4137           i965 driver does to report image format of 444P and Y800 forcc, while
4138           the jpeg decoder context VASurfaceAttribPixelFormat use them. We can
4139           not recognize these format and pass a NULL pointer to
4140           gst_vaapi_surface_new_from_formats.
4141           We need to add a pointer check here and let the fallback logic handle
4142           this case correctly.
4143           Other drivers work well.
4144
4145 2019-09-07 13:23:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4146
4147         * gst-libs/gst/vaapi/gstvaapiutils.c:
4148           libs: utils: guard the VAEntrypointFEI symbol
4149           VAEntrypointFEI appeared in libva 2.0.0 (API version 1.0.0)
4150
4151 2019-09-05 14:48:22 +0800  He Junyan <junyan.he@hotmail.com>
4152
4153         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4154         * gst-libs/gst/vaapi/video-format.c:
4155         * gst-libs/gst/vaapi/video-format.h:
4156           libs: video-format: Refine the video format mapping.
4157           Improve the mapping between va format and gst format. The new map
4158           will be generated dynamically, based on the query result of image
4159           format in VA driver. Also consider the ambiguity of RGB color
4160           format in LSB mode.
4161
4162 2019-04-15 16:51:26 +0100  Philippe Normand <philn@igalia.com>
4163
4164         * gst/vaapi/gstvaapipluginutil.c:
4165           pluginutil: Remove Mesa from drivers white list
4166           The Mesa Gallium driver is poorly tested currently, leading to bad user
4167           experience for AMD users. The driver can be added back to the white list at
4168           runtime using the GST_VAAPI_ALL_DRIVERS environment variable.
4169
4170 2019-07-08 14:18:00 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4171
4172         * gst/vaapi/gstvaapipostproc.c:
4173         * gst/vaapi/gstvaapipostproc.h:
4174         * gst/vaapi/gstvaapipostprocutil.c:
4175           vaapipostproc: allow cropping via properties
4176           Add crop-left, crop-right, crop-top and crop-bottom
4177           properties to vaapipostproc.
4178
4179 2019-08-30 17:31:45 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4180
4181         * gst/vaapi/gstvaapipostproc.c:
4182           vaapipostproc: rotate outbuf and crop meta if forwarding
4183           When forwarding crop meta to downstream, the output
4184           buffer and crop meta need to be rotated, too.
4185           Test:
4186           for i in 90r 180 90l vert horiz ul-lr ur-ll
4187           do
4188           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4189           ! videocrop top=100 bottom=30 left=40 right=20 \
4190           ! vaapipostproc video-direction=$i \
4191           ! vaapisink & \
4192           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4193           ! videocrop top=100 bottom=30 left=40 right=20 \
4194           ! vaapipostproc video-direction=$i \
4195           ! identity drop-allocation=true \
4196           ! vaapisink
4197           done
4198
4199 2019-08-30 14:14:30 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4200
4201         * gst/vaapi/gstvaapipostproc.c:
4202           vaapipostproc: fix output buffer WxH for crop meta forwarding
4203           Adding crop meta x,y to w,h only compensates for left,top
4204           cropping.  But we also need to compensate for right,bottom
4205           cropping.
4206           The video meta contains the appropriate w,h (uncropped)
4207           values, so use it instead.
4208           Test:
4209           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4210           ! videocrop top=50 bottom=30 left=40 right=20 \
4211           ! vaapipostproc ! vaapisink & \
4212           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4213           ! videocrop top=50 bottom=30 left=40 right=20 \
4214           ! vaapipostproc ! identity drop-allocation=1 \
4215           ! vaapisink
4216
4217 2019-09-04 10:52:51 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4218
4219         * gst/vaapi/gstvaapipostproc.c:
4220           vaapipostproc: handle size and direction together in src events
4221           Mapping a pointer event needs to consider both size and
4222           video-direction operations together, not just one or the other.
4223           This fixes an issue where x,y were not being mapped correctly
4224           for 90r, 90l, ur-ll and ul-lr video-direction. In these directions,
4225           the WxH are swapped and GST_VAAPI_POSTPROC_FLAG_SIZE is set.  Thus,
4226           the first condition in the pointer event handling was entered and
4227           x,y scale factor were incorrectly computed due to srcpad WxH
4228           swap.
4229           This also fixes all cases where both video-direction and scaling
4230           are enabled at the same time.
4231           Test that all pointer events map appropriately:
4232           for i in `seq 0 7`
4233           do
4234           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4235           ! vaapipostproc video-direction=${i} width=300 \
4236           ! vaapisink
4237           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4238           ! vaapipostproc video-direction=${i} width=300 height=200 \
4239           ! vaapisink
4240           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4241           ! vaapipostproc video-direction=${i} height=200 \
4242           ! vaapisink
4243           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4244           ! vaapipostproc video-direction=${i} \
4245           ! vaapisink
4246           done
4247
4248 2019-08-20 14:22:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4249
4250         * gst/vaapi/gstvaapipostproc.c:
4251         * gst/vaapi/gstvaapipostproc.h:
4252           vaapipostproc: advertise crop meta is handled
4253           Advertise to upstream that vaapipostproc can handle
4254           crop meta.
4255           When used in conjunction with videocrop plugin, the
4256           videocrop plugin will only do in-place transform on the
4257           crop meta when vaapipostproc advertises the ability to
4258           handle it.  This allows vaapipostproc to apply the crop
4259           meta on the output buffer using vaapi acceleration.
4260           Without this advertisement, the videocrop plugin will
4261           crop the output buffer directly via software methods,
4262           which is not what we desire.
4263           vaapipostproc will not apply the crop meta if downstream
4264           advertises crop meta handling; vaapipostproc will just
4265           forward the crop meta to downstream.  If crop meta is
4266           not advertised by downstream, then vaapipostproc will
4267           apply the crop meta.
4268           Examples:
4269           1. vaapipostproc will forward crop meta to vaapisink
4270           gst-launch-1.0 videotestsrc \
4271           ! videocrop left=10 \
4272           ! vaapipostproc \
4273           ! vaapisink
4274           2. vaapipostproc will do the cropping
4275           gst-launch-1.0 videotestsrc \
4276           ! videocrop left=10 \
4277           ! vaapipostproc \
4278           ! identity drop-allocation=1 \
4279           ! vaapisink
4280
4281 2019-08-29 18:44:36 +0800  He Junyan <junyan.he@hotmail.com>
4282
4283         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4284           libs: encoder: clean two virtual func in encoder class
4285           set_property and get_default_properties functions are no longer
4286           needed for encoder class.
4287
4288 2019-08-29 18:43:30 +0800  He Junyan <junyan.he@hotmail.com>
4289
4290         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4291         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
4292           libs: encoder: delete old set_property and property enum feienc264
4293
4294 2019-08-29 18:39:27 +0800  He Junyan <junyan.he@hotmail.com>
4295
4296         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4297         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
4298           libs: encoder: delete old set_property and property enum in h264 fei
4299
4300 2019-08-29 18:37:58 +0800  He Junyan <junyan.he@hotmail.com>
4301
4302         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4303         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
4304           libs: encoder: delete old set_property and property enum in vp9
4305
4306 2019-08-29 18:36:51 +0800  He Junyan <junyan.he@hotmail.com>
4307
4308         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4309         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
4310           libs: encoder: delete old set_property and property enum in vp8
4311
4312 2019-08-29 18:35:59 +0800  He Junyan <junyan.he@hotmail.com>
4313
4314         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4315         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
4316           libs: encoder: delete old set_property and property enum in mpeg2
4317
4318 2019-08-29 18:34:57 +0800  He Junyan <junyan.he@hotmail.com>
4319
4320         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4321         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
4322           libs: encoder: delete old set_property and property enum in jpeg
4323
4324 2019-08-29 18:31:56 +0800  He Junyan <junyan.he@hotmail.com>
4325
4326         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4327         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
4328           libs: encoder: delete old set_property and property enum in h265
4329
4330 2019-08-29 18:30:07 +0800  He Junyan <junyan.he@hotmail.com>
4331
4332         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4333         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4334           libs: encoder: delete old set_property and property enum in h264
4335
4336 2019-08-29 18:17:42 +0800  He Junyan <junyan.he@hotmail.com>
4337
4338         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4339         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4340         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4341           libs: encoder: delete EncoderPropInfo related functions
4342
4343 2019-08-29 16:13:19 +0800  He Junyan <junyan.he@hotmail.com>
4344
4345         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4346         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4347           libs: encoder: delete encoder_set_property
4348           We no longer need this obsolete set_property function now after
4349           switch to standard gobject's property manner.
4350           Also delete the old encoder's property enum in the header file.
4351
4352 2019-08-29 15:59:43 +0800  He Junyan <junyan.he@hotmail.com>
4353
4354         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4355         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4356           libs: encoder: delete properties_get_default for base class
4357
4358 2019-08-29 15:52:04 +0800  He Junyan <junyan.he@hotmail.com>
4359
4360         * gst/vaapi/gstvaapiencode.c:
4361         * gst/vaapi/gstvaapiencode.h:
4362           plugin: encode: delete useless init_properties.
4363           Also delete the get_properties function in encode class. We now
4364           use g_object_class_list_properties to get all properties for
4365           internal encoder class.
4366
4367 2019-08-29 15:43:45 +0800  He Junyan <junyan.he@hotmail.com>
4368
4369         * gst/vaapi/gstvaapiencode.c:
4370         * gst/vaapi/gstvaapiencode.h:
4371           plugin: encode: delete set/get_property func in encode class
4372           Use standard gobject's property functions to replace the old way.
4373
4374 2019-08-29 15:31:16 +0800  He Junyan <junyan.he@hotmail.com>
4375
4376         * gst/vaapi/gstvaapiencode.c:
4377         * gst/vaapi/gstvaapiencode.h:
4378           plugin: encode: delete gst_vaapiencode_init_properties
4379           No need to init the properties got by get_default_properties func
4380           now. The properties are inited correctly in internal encoder class.
4381
4382 2019-08-29 15:19:10 +0800  He Junyan <junyan.he@hotmail.com>
4383
4384         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4385           libs: encoder: delete 3 useless init macro
4386
4387 2019-08-29 15:16:26 +0800  He Junyan <junyan.he@hotmail.com>
4388
4389         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4390         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
4391           libs: encoder: delete get_default_properties of feienc
4392
4393 2019-08-29 15:14:14 +0800  He Junyan <junyan.he@hotmail.com>
4394
4395         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4396         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
4397           libs: encoder: delete get_default_properties of H264 Fei
4398
4399 2019-08-29 15:07:17 +0800  He Junyan <junyan.he@hotmail.com>
4400
4401         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4402         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
4403           libs: encoder: delete get_default_properties of VP9
4404
4405 2019-08-29 15:06:25 +0800  He Junyan <junyan.he@hotmail.com>
4406
4407         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4408         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
4409           libs: encoder: delete get_default_properties of VP8
4410
4411 2019-08-29 15:03:52 +0800  He Junyan <junyan.he@hotmail.com>
4412
4413         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4414         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
4415           libs: encoder: delete get_default_properties of MPEG2
4416
4417 2019-08-29 15:03:19 +0800  He Junyan <junyan.he@hotmail.com>
4418
4419         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4420         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
4421           libs: encoder: delete get_default_properties of JPEG
4422
4423 2019-08-30 19:15:38 +0800  He Junyan <junyan.he@hotmail.com>
4424
4425         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4426         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
4427           libs: encoder: delete get_default_properties of H265
4428
4429 2019-08-29 14:59:12 +0800  He Junyan <junyan.he@hotmail.com>
4430
4431         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4432         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4433           libs: encoder: delete get_default_properties of H264
4434
4435 2019-08-29 14:53:59 +0800  He Junyan <junyan.he@hotmail.com>
4436
4437         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4438           libs: encoder: delete the useless constructed func for encoder.
4439
4440 2019-08-26 23:16:33 +0800  He Junyan <junyan.he@hotmail.com>
4441
4442         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4443         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4444         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4445           libs: encoder: implement get_view_ids for h264 encoder.
4446
4447 2019-08-20 23:56:33 +0800  He Junyan <junyan.he@hotmail.com>
4448
4449         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4450         * gst/vaapi/gstvaapiencode.c:
4451         * gst/vaapi/gstvaapiencode_h264.c:
4452         * gst/vaapi/gstvaapiencode_h264_fei.c:
4453         * gst/vaapi/gstvaapiencode_h265.c:
4454         * gst/vaapi/gstvaapiencode_jpeg.c:
4455         * gst/vaapi/gstvaapiencode_mpeg2.c:
4456         * gst/vaapi/gstvaapiencode_vp8.c:
4457         * gst/vaapi/gstvaapiencode_vp9.c:
4458           gst: encode: enable new type of property mechanism.
4459
4460 2019-08-20 22:16:35 +0800  He Junyan <junyan.he@hotmail.com>
4461
4462         * gst/vaapi/gstvaapiencode.c:
4463         * gst/vaapi/gstvaapiencode.h:
4464           gst: encode: add property help functions for encoder properties.
4465           The encoder is a true gstobject now and all the properties are using
4466           gobject's properties mechanism. Add help functions to handle the properties
4467           between encode and encoder class.
4468           The basic idea is mapping the same property between encoder and encode. All
4469           the encoder's properties will have the same name, the same type in encode.
4470           The set/get property function just forward the property setting/getting to
4471           the encoder using the same property name and value. Because the encoder is
4472           created on needed, we need to cache the property setting in encode.
4473
4474 2019-08-30 18:39:32 +0800  He Junyan <junyan.he@hotmail.com>
4475
4476         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4477         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4478         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4479         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4480         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4481         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4482         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4483         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4484         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4485         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4486           libs: encoder: add flags to all encoder properties.
4487           G_PARAM_CONSTRUCT make all properties init correctly, we do not
4488           need to init the properties manually.
4489           G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE is a vaapi encoder specific
4490           flag, means need to expose the property to according encode class.
4491
4492 2019-08-20 17:00:39 +0800  He Junyan <junyan.he@hotmail.com>
4493
4494         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4495           libs: encoder: Add properties for h264 encoder fei.
4496           Install properties for h264 encoder fei class. Also set the new get/set
4497           property functions for gobject class. Still use the old properties
4498           way now and this new feature will be enabled later.
4499
4500 2019-08-20 15:58:30 +0800  He Junyan <junyan.he@hotmail.com>
4501
4502         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4503           libs: encoder: Add properties for h264 fei encoder.
4504           Install properties for h264 fei encoder class. Also set the new get/set
4505           property functions for gobject class. Still use the old properties
4506           way now and this new feature will be enabled later.
4507
4508 2019-08-20 15:29:27 +0800  He Junyan <junyan.he@hotmail.com>
4509
4510         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4511           libs: encoder: Add properties for vp9 encoder.
4512           Install properties for vp9 encoder class. Also set the new get/set
4513           property functions for gobject class. Still use the old properties
4514           way now and this new feature will be enabled later.
4515
4516 2019-08-20 15:01:02 +0800  He Junyan <junyan.he@hotmail.com>
4517
4518         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4519           libs: encoder: Add properties for vp8 encoder.
4520           Install properties for vp8 encoder class. Also set the new get/set
4521           property functions for gobject class. Still use the old properties
4522           way now and this new feature will be enabled later.
4523
4524 2019-08-20 14:31:58 +0800  He Junyan <junyan.he@hotmail.com>
4525
4526         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4527           libs: encoder: Add properties for mpeg2 encoder.
4528           Install properties for mpeg2 encoder class. Also set the new get/set
4529           property functions for gobject class. Still use the old properties
4530           way now and this new feature will be enabled later.
4531
4532 2019-08-20 14:53:06 +0800  He Junyan <junyan.he@hotmail.com>
4533
4534         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4535           libs: encoder: Add properties for jpeg encoder.
4536           Install properties for jpeg encoder class. Also set the new get/set
4537           property functions for gobject class. Still use the old properties
4538           way now and this new feature will be enabled later.
4539
4540 2019-08-20 14:12:36 +0800  He Junyan <junyan.he@hotmail.com>
4541
4542         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4543           libs: encoder: Add properties for h265 encoder.
4544           Install properties for h265 encoder class. Also set the new get/set
4545           property functions for gobject class. Still use the old properties
4546           way now and this new feature will be enabled later.
4547
4548 2019-08-20 01:33:40 +0800  He Junyan <junyan.he@hotmail.com>
4549
4550         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4551           libs: encoder: Add properties for h264 encoder.
4552           Install properties for h264 encoder class. Also set the new get/set
4553           property functions for gobject class. Still use the old properties
4554           way now and this new feature will be enabled later.
4555
4556 2019-08-19 15:38:09 +0800  He Junyan <junyan.he@hotmail.com>
4557
4558         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4559           libs: encoder: add properties and prop help functions
4560           Add all common properties to encoder base class. rate-control and
4561           tune are moved to sub class.
4562
4563 2019-08-29 14:38:49 +0800  He Junyan <junyan.he@hotmail.com>
4564
4565         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4566         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4567           libs: encoder: delete useless gst_vaapi_encoder_new func.
4568           GstVaapiEncoder is a abstract gobject and never be created directly.
4569
4570 2019-07-27 00:55:53 +0800  He Junyan <junyan.he@hotmail.com>
4571
4572         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4573         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4574         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4575         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4576         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4577         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
4578         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4579         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
4580         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4581         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
4582         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4583         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
4584         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4585         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4586         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
4587         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4588         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
4589         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4590         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
4591           lib: encoder: gstobjectfy all vaapi encoders.
4592           Replace all gstvaapiobject in vaapi encoders with standard gstobject.
4593           Let the gstobject common logic to handle all the init and finalize
4594           works. But the property install/set/get still use the old way, need
4595           to be improved later.
4596
4597 2019-08-29 12:11:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4598
4599         * gst/vaapi/gstvaapipostproc.c:
4600           vaapipostproc: check for filter before appending caps
4601           While ensuring the allowed sink pad caps, the filter attributes set
4602           the frame size restriction, but it is not ensured, at that moment,
4603           that the filter is already instantiaded.
4604           In order to silence the glib logs, this patch add only calls
4605           gst_vaapi_filter_append_caps() if the filter is instantiated.
4606
4607 2019-08-28 12:49:03 -0400  Thibault Saunier <tsaunier@igalia.com>
4608
4609         * gst/vaapi/gstvaapidecodebin.c:
4610           Classify vaapidecodebin as a hardware decoder
4611
4612 2019-08-27 18:12:45 +0800  He Junyan <junyan.he@hotmail.com>
4613
4614         * gst/vaapi/gstvaapipostproc.c:
4615           libs: postproc: fix a memory leak point.
4616           filter_ops and filter_formats should already have valid value when
4617           the function gst_vaapipostproc_ensure_filter_caps re-enter
4618
4619 2019-08-27 01:30:36 +0800  He Junyan <junyan.he@hotmail.com>
4620
4621         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4622           libs: util: Fix a memory leak in config_surface_attributes_get
4623
4624 2019-08-22 14:33:54 +0800  Wangfei <fei.w.wang@intel.com>
4625
4626         * gst/vaapi/gstvaapidecode.c:
4627           vaapidecode: support transform ROI meta
4628           This will benefit the use case like:
4629           src --->   encode    ---> decode ---> circle ROI ---> sink
4630           |                |
4631           --> analyse to -->
4632           get ROI
4633
4634 2019-08-23 19:10:15 +0200  Mathieu Duponchelle <mathieu@centricular.com>
4635
4636         * gst/vaapi/gstvaapidecodedoc.c:
4637           docstrings: port ulinks to markdown links
4638
4639 2019-08-20 17:05:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4640
4641         * gst-libs/gst/vaapi/Makefile.am:
4642         * gst-libs/gst/vaapi/gstvaapicontext.c:
4643         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
4644         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
4645         * gst-libs/gst/vaapi/meson.build:
4646           libs: remove context's overlay
4647           The context overlay was an optimization to apply a video composition
4648           to all the surfaces bound to a context.
4649           But since commit 18031dc6 this optimization was disabled, so it is
4650           better just get rid of it.
4651
4652 2019-08-20 16:50:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4653
4654         * gst-libs/gst/vaapi/gstvaapicontext.c:
4655         * gst-libs/gst/vaapi/gstvaapisurface.c:
4656         * gst-libs/gst/vaapi/gstvaapisurface.h:
4657         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
4658         * gst/vaapi/gstvaapipluginutil.c:
4659         * tests/test-subpicture.c:
4660           libs: remove surface's parent context
4661           In commit 18031dc6 surface's parent context is not assigned because of
4662           circular references. Since then (2013), there's has no issue with
4663           subpictures attached to a context, the current only users of this API.
4664           This patch cleans up all of related code with the unused surface's
4665           parent context.
4666
4667 2019-08-18 13:53:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4668
4669         * gst/vaapi/gstvaapidecode.c:
4670           vaapidecode: guard if no structure is available in caps
4671
4672 2019-08-18 13:53:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4673
4674         * gst-libs/gst/vaapi/gstvaapifilter.c:
4675         * gst-libs/gst/vaapi/gstvaapifilter.h:
4676         * gst/vaapi/gstvaapipostproc.c:
4677           vaapipostproc: append frame size restrictions in caps
4678
4679 2019-08-18 13:09:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4680
4681         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
4682           libs: profilecaps: refactor common code
4683
4684 2019-08-16 19:35:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4685
4686         * gst/vaapi/gstvaapiencode.c:
4687           vaapiencode: set frame size restrictions in caps
4688           Fixes: #12
4689
4690 2019-08-16 19:28:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4691
4692         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4693         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4694         * gst/vaapi/gstvaapiencode.c:
4695           vaapiencode: enhance how the profile is defined
4696           This code doesn't define the profile used by the internal encoder, but
4697           it used to "predict" which is going to be used and to get the caps
4698           restrictions.
4699           Before the profile was predicted by checking the donwstream caps, but
4700           sometimes they are not defined, setting an unknown profile. In order
4701           to enhances this situation, the encoder asks to internal encoder if it
4702           has one. If so, it is used.
4703           To ask the internal encoder's profile a new accessor function was
4704           added: gst_vaapi_encoder_get_profile()
4705
4706 2019-08-16 19:26:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4707
4708         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
4709         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
4710           libs: profilecaps: defines gst_vaapi_profile_caps_append_encoder()
4711           Previously it was just a boilerplate. Now it is real implementation.
4712
4713 2019-08-16 19:17:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4714
4715         * gst-libs/gst/vaapi/gstvaapiutils.c:
4716           libs: utils: treat va_rt_format as bitwise flag
4717           The return value of vaGetConfigAttributes() of VAConfigAttribRTFormat
4718           is a bitwise flag with *all* the supported chroma types.
4719           Previously it was assumed that the return value was a single value,
4720           thus when returning the GST_VAAPI_CHROMA_TYPE_XXX the code was a
4721           simple case. But it is wrong.
4722           This patch changes the case block with a sequence of ifs testing the
4723           bitwise. For now we assume a "priority" list in the testing sequence.
4724
4725 2019-08-16 18:07:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4726
4727         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4728         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4729         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4730         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4731         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4732         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4733         * gst-libs/gst/vaapi/gstvaapiprofile.c:
4734         * gst-libs/gst/vaapi/gstvaapiprofile.h:
4735         * tests/test-display.c:
4736           libs: profile: add gst_vaapi_profile_get_va_name()
4737           gst_vaapi_profile_get_name() returns a proper name for
4738           GstCaps. Nonetheless, there are many profiles which don't have a name
4739           representation for that realm.
4740           gst_vaapi_profile_get_va_name() returns the name of the profile
4741           according to its VAProfile name.
4742           This new funtion is used in the encoder error message.
4743
4744 2019-08-05 19:47:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4745
4746         * gst-libs/gst/vaapi/Makefile.am:
4747         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
4748         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
4749         * gst-libs/gst/vaapi/meson.build:
4750         * gst/vaapi/gstvaapidecode.c:
4751           libs: profilecaps: move caps config into a new file
4752           Implement all the appending of frame size restrictions in caps, for
4753           encoders and decoders, in a new source file.
4754
4755 2019-08-05 19:45:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4756
4757         * gst-libs/gst/vaapi/gstvaapidecoder.c:
4758           libs: decoder: ref the caps as property
4759
4760 2019-08-02 16:56:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4761
4762         * gst-libs/gst/vaapi/gstvaapicontext.c:
4763         * gst-libs/gst/vaapi/gstvaapicontext.h:
4764           libs: context: add gst_vaapi_context_get_surface_attributes()
4765           This function copies the surface attributes from the context's object
4766           to the caller.
4767
4768 2019-08-02 12:46:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4769
4770         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
4771         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
4772         * gst-libs/gst/vaapi/gstvaapiutils.c:
4773         * gst-libs/gst/vaapi/gstvaapiutils.h:
4774           libs: move memory types conversions to gstvaapiutils
4775           And add more supported memory types by current VA.
4776
4777 2019-08-01 19:48:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4778
4779         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4780         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
4781           libs: utils: remove unused function gst_vaapi_get_surface_formats()
4782
4783 2019-08-01 19:46:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4784
4785         * gst-libs/gst/vaapi/gstvaapicontext.c:
4786         * gst-libs/gst/vaapi/gstvaapicontext.h:
4787         * gst-libs/gst/vaapi/gstvaapifilter.c:
4788           libs: context, filter: use new surface attributes API
4789
4790 2019-08-01 19:13:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4791
4792         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4793         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
4794           libs: utils: add gst_vaapi_config_surface_attributes_get()
4795           To extract the surface restrictions per config using a new structure:
4796           GstVaapiConfigSurfaceAttributes
4797
4798 2019-07-31 13:08:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4799
4800         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4801           Split the surface attribute retrieval
4802
4803 2019-07-15 21:51:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4804
4805         * gst/vaapi/gstvaapipostproc.c:
4806           vaapipostproc: handle navigation downstream event
4807           When navigation events contains coordiantes those have to be mapped
4808           to the new size and/or orientation.
4809
4810 2019-07-15 21:23:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4811
4812         * tests/elements/test-vaapisink.c:
4813           test-vaapisink: also use vaapipostproc to change orientation
4814
4815 2019-07-15 21:27:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4816
4817         * gst-libs/gst/vaapi/gstvaapifilter.c:
4818         * gst-libs/gst/vaapi/gstvaapifilter.h:
4819         * gst/vaapi/gstvaapipostproc.c:
4820         * gst/vaapi/gstvaapipostproc.h:
4821         * gst/vaapi/gstvaapipostprocutil.c:
4822           vaapipostproc: handle image-orientation upstream event
4823           Now that vaapipostproc can possible handle video-direction, it
4824           should also handle the image-orientation event from upstream if
4825           video-direction property is set to auto.
4826
4827 2019-07-26 22:09:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4828
4829         * gst/vaapi/gstvaapipostproc.c:
4830           vaapipostproc: add missing locks when adding flags
4831
4832 2019-07-26 22:05:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4833
4834         * gst/vaapi/gstvaapipostproc.c:
4835           vaapipostproc: update filter before fixate caps
4836           It is requiered to know if postproc is capable to change the video
4837           direction before fixating the source caps.
4838           In order to do it, it'ss required to know if there's a functional VPP,
4839           but that's checked at create() vmethod, which occurs after caps
4840           fixating.
4841           This patch checks for a functional VPP at fixate caps and, if so,
4842           checks for the enabled filtes and later do the caps fixations.
4843
4844 2019-07-26 19:46:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4845
4846         * gst-libs/gst/vaapi/gstvaapifilter.c:
4847         * gst-libs/gst/vaapi/gstvaapivalue.c:
4848         * gst-libs/gst/vaapi/gstvaapivalue.h:
4849         * gst/vaapi/gstvaapipostproc.c:
4850           vaapipostproc: element warning if video direction is unsupported
4851           If the video direction is unsupported by the driver, an element
4852           warning is posted in the bus to notify the application.
4853           gst_vaapi_enum_type_get_nick() was added in the library thus it can
4854           be used elsewhere. It retrives the nick from an enum gtype.
4855
4856 2019-07-26 19:09:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4857
4858         * gst-libs/gst/vaapi/gstvaapifilter.c:
4859           libs: filter: check mirror and rotation caps only once
4860           This patch locks the display before querying the pipeline caps and
4861           stores the mirror and rotation capabilities, thus they are not queried
4862           every time the video direction is set.
4863
4864 2019-08-16 19:51:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4865
4866         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4867           libs: encoder: vp9: set VP9_0 profile as default
4868           Commit 0afc8131 introduced a regression and only NV12 format were
4869           admitted, failing in any other valid color format.
4870           This patch sets the profile to GST_VAAPI_PROFILE_VP9_0 by default.
4871
4872 2019-08-16 13:25:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4873
4874         * gst-libs/gst/vaapi/gstvaapifilter.c:
4875           libs: filter: fail if first color balance value is invalid
4876
4877 2019-08-06 19:24:08 +0800  Yan Wang <yan.wang@linux.intel.com>
4878
4879         * gst-libs/gst/vaapi/gstvaapifilter.c:
4880         * gst-libs/gst/vaapi/gstvaapiutils.c:
4881         * gst-libs/gst/vaapi/gstvaapiutils.h:
4882           libs: filter: set all color balance values
4883           When set multiple settings of color balance like hue, saturation,
4884           brightness and contrast for vaapipostproc, they should be set as
4885           parameters of color balance filter, at the same color balance
4886           filter calling.
4887           Otherwise, multiple color balance filter calling will cause
4888           previous setting get reset by the last calling with default value.
4889           Fixes #182.
4890           Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
4891
4892 2019-08-16 11:02:08 +0800  Wangfei <fei.w.wang@intel.com>
4893
4894         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4895           libs: h265dec: remove limitation of get iq matrix
4896           According hevc spec, scaling_list_data is not related
4897           to chroma_format_idc.
4898
4899 2019-05-30 23:52:51 +0800  He Junyan <junyan.he@hotmail.com>
4900
4901         * gst-libs/gst/vaapi/gstvaapivideopool.c:
4902           libs: videopool: fix undocumented behavior and counting
4903           gst_vaapi_video_pool_reserve_unlocked() hit an undocumented behavoir
4904           because it locks twice the same mutex.
4905           Also, n had different meanings in the current code: as an increase
4906           value and as a new total of allocated surfaces.
4907           This patche removes the undocumented behavoir (usually a deadlock) and
4908           fixes the meaning of n as the new total of allocated surfaces.
4909           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4910
4911 2019-07-17 11:56:45 +0800  He Junyan <junyan.he@hotmail.com>
4912
4913         * gst-libs/gst/vaapi/gstvaapiutils.c:
4914           libs: utils: Add missing entries for string_of_VAEntrypoint.
4915
4916 2019-07-18 22:01:01 +0800  He Junyan <junyan.he@hotmail.com>
4917
4918         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4919           libs: encoder: Consider vp9 profiles based on input format.
4920           Only support GST_VAAPI_PROFILE_VP9_0 and GST_VAAPI_PROFILE_VP9_2 now.
4921           Fix: #184
4922
4923 2019-08-12 18:41:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4924
4925         * gst/vaapi/gstvaapivideomemory.c:
4926           vaapivideomemory: demote error message to info
4927           The main reason to demote the message's level is because it is not an
4928           error, it's a possible output of the trial and there's a code path
4929           that handles it.
4930           Secondly, it's very annoying when using gallium driver for radeon.
4931
4932 2019-07-18 13:32:46 +0800  Wangfei <fei.w.wang@intel.com>
4933
4934         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4935         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4936         * gst-libs/gst/vaapi/gstvaapitypes.h:
4937         * gst-libs/gst/vaapi/gstvaapiutils.c:
4938         * gst-libs/gst/vaapi/gstvaapivalue.c:
4939           libs: encoder: h264: support ICQ/QVBR bitrate control mode
4940           ICQ is Intelligent Constant Quality. It will use the initial QP
4941           vaule of icq-quality-factor to adjust QP at MB level intelligently
4942           to improve subjective quality.
4943           QVBR is Quality defined VBR. It will use qvbr-quality-factor to
4944           adjust QP for each MB to get enough quality picture without waste
4945           of bits.
4946
4947 2019-08-05 10:51:24 +0800  Wangfei <fei.w.wang@intel.com>
4948
4949         * gst-libs/gst/vaapi/gstvaapitypes.h:
4950           libs: Let GST_VAAPI_RATECONTROL_MASK return unsigned int
4951           The value return from GST_VAAPI_RATECONTROL_MASK will be used by
4952           GST_VAAPI_POPCOUNT32 as its inpput. GST_VAAPI_POPCOUNT32 can only
4953           deal with unsigned int. Otherwise there may be an error of out of
4954           range of integer if we define few more rate-control mode.
4955
4956 2019-06-07 09:54:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4957
4958         * gst/vaapi/gstvaapidecodebin.c:
4959           vaapidecodebin: set queue's max size buffers to 1
4960           Otherwise the queue will swallow all the available decoder's surfaces
4961           reaching a dead-lock.
4962           This setting might impact the bin's peformance, but it's a trade-off.
4963
4964 2019-06-07 09:53:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4965
4966         * gst/vaapi/gstvaapidecodebin.c:
4967           vaapidecodebin: set properties default values
4968
4969 2019-05-31 13:12:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4970
4971         * gst/vaapi/gstvaapidecode.c:
4972           vaapidecode: don't error if can't push buffers downtream
4973           When the code path goes to push buffers downstream when no surface
4974           available in decoder context, and it fails the code bails out with a
4975           fatal error.
4976           That behavior is wrong, since it shouldn't be fatal. The use case is
4977           when the video stream is disabled.
4978           This patch just ignores the errors in this situation and demotes the
4979           level of a log message.
4980
4981 2019-05-18 13:24:35 +0800  Wangfei <fei.w.wang@intel.com>
4982
4983         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4984         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4985         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4986         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
4987         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4988         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
4989           libs: encoder: h264,h265: add new property "max-qp"
4990           Add new property "max-qp" to allow set the maximum quantisation
4991           parameter values.
4992
4993 2019-05-23 10:18:52 -0400  Wangfei <fei.w.wang@intel.com>
4994
4995         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4996           libs: encoder: vp9: add low power mode encode
4997           By now, this feature only support by media-driver on Ice Lake
4998           platform, more information you can reference:
4999           https://github.com/intel/media-driver
5000
5001 2019-07-15 15:33:07 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5002
5003         * gst/vaapi/gstvaapipostprocutil.c:
5004           vaapipostproc: update PAR when rotating
5005           When rotating, swap pixel-aspect-ratio during
5006           negotiation.
5007           Fixes #181
5008
5009 2019-07-01 15:26:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5010
5011         * gst-libs/gst/vaapi/gstvaapifilter.c:
5012         * gst-libs/gst/vaapi/gstvaapiutils.c:
5013         * gst-libs/gst/vaapi/gstvaapiutils.h:
5014         * gst/vaapi/gstvaapipostprocutil.c:
5015           vaapipostproc: add rotation support
5016           Adds vpp rotation support to vaapipostproc.  Uses
5017           property video-direction. Default is identity (no
5018           rotation).
5019           Closes #104
5020
5021 2019-05-22 10:47:30 -0400  Wangfei <fei.w.wang@intel.com>
5022
5023         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5024           libs: encoder: h265: pass diff_cu_qp_delta_depth flag to driver
5025           Intel media-driver requires enablement of diff_cu_qp_delta_depth when
5026           cu_qp_delta_enabled_flag enabled.
5027           Fixes: #177
5028
5029 2019-07-01 17:02:33 +0800  Wangfei <fei.w.wang@intel.com>
5030
5031         * gst-libs/gst/vaapi/gstvaapiutils.c:
5032           libs: encoder: Add MB ratecontrol mode to get its string
5033
5034 2019-07-01 16:52:00 +0800  Wangfei <fei.w.wang@intel.com>
5035
5036         * gst-libs/gst/vaapi/gstvaapiutils.c:
5037           libs: encoder: refine guard of bitrate control mode
5038           Remove useless guard of all bitrate control mode's guard except MB
5039           which is define in VA-API version 0.39.1.
5040
5041 2019-06-29 00:08:40 +1000  Jan Schmidt <jan@centricular.com>
5042
5043         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5044           h264: Update for parse_vui_params parameter removal.
5045           Update calls to the h264 parser lib for removal of the
5046           parse_vui_params parameter.
5047
5048 2019-06-24 16:26:56 -0400  Wang Zhanjun <zhanjunx.wang@intel.com>
5049
5050         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5051           libs: dec: vp9: do not use display size as decoded size
5052           If display size is smaller than current frame size, then the crop size
5053           will be set as display size, which either crashes the pipeline or the
5054           output MD5 does not match. Rather it should use the actual decoded size.
5055           This patch removes the cropping set. For rendering we can use aspect
5056           ratio to set display size.
5057           Fixes #175
5058           Signed-off-by: Wang Zhanjun <zhanjunx.wang@intel.com>
5059           Signed-off-by: Xu Guangxin <guangxin.xu@intel.com>
5060
5061 2019-06-28 16:32:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5062
5063         * README:
5064           Update README
5065
5066 2019-06-25 19:11:12 +0800  He Junyan <junyan.he@hotmail.com>
5067
5068         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5069         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
5070         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
5071           libs: dec: h265: Consider chroma_bit_depth to choose chrome type
5072           For some main-10 stream, sometime the luma is 8 bits while chrome is more
5073           than 8 bits, which cause using the wrong NV12 surface as the render target
5074           and decoding error.
5075           Fix #176
5076
5077 2019-06-25 10:31:20 +0800  Wangfei <fei.w.wang@intel.com>
5078
5079         * gst/vaapi/gstvaapidecode.c:
5080           vaapidecode: set initial decode format according surface chroma type
5081           For surfaces with different chroma type, it is prefer to initialize
5082           a format which chroma type should be same with surface chroma type
5083           instead of using fixed NV12.
5084
5085 2019-05-30 09:48:51 -0400  Wangfei <fei.w.wang@intel.com>
5086
5087         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
5088         * gst-libs/gst/vaapi/gstvaapiimage.c:
5089         * gst-libs/gst/vaapi/video-format.c:
5090         * gst/vaapi/gstvaapidecode.c:
5091         * gst/vaapi/gstvaapipluginutil.h:
5092           libs: decoder: jpeg: add support 400/411/422/444 chroma type
5093           When create vaapi surface, it is better to use the chroma type get
5094           from jpeg file instead of using fixed 420 format. And the correct
5095           chroma type can be determined by horizontal_factor/vertical_factor
5096           flags that get from jpegparse.
5097
5098 2019-06-22 00:05:24 +0800  He Junyan <junyan.he@hotmail.com>
5099
5100         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
5101           libs: dec: h265: Fix profile_idc mapping.
5102           The old mapping values return by gst_vaapi_utils_h265_get_profile_idc is
5103           wrong, though GST_H265_PROFILE_IDC_MAIN and GST_H265_PROFILE_IDC_MAIN_10
5104           happened to be the correct value.
5105           We only support Annex A profile_idc (1-4).
5106
5107 2019-06-10 20:46:30 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5108
5109         * gst/vaapi/gstvaapipluginbase.c:
5110           plugins: remove last negotiated video info if caps are same
5111           If the allocation caps and negotiated caps are the same,
5112           then ensure any previously negotiated video info is also
5113           removed.  This can occur when multi-resolution video
5114           decoding returns to it's original resolution.
5115           Fixes #170
5116
5117 2019-06-10 20:39:28 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5118
5119         * gst/vaapi/gstvaapivideomemory.c:
5120           vaapivideomemory: allow negotiated info to be removed
5121           Allow NULL negotiated_vinfo to be passed into
5122           gst_allocator_set_vaapi_negotiated_video_info to allow
5123           any previously set info to be removed.
5124
5125 2019-06-06 17:24:30 +0300  Freyr <freyrnjordrson@gmail.com>
5126
5127         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5128         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5129           libs: encoder: vp8,vp9: reset frame_counter when input frame's format changes
5130           When input frame's formate changes, vp{8,9} encoders don't reset their frame
5131           counter, hence the newly created frame could become a P-frame, leading to some
5132           major troubles (sigabrt in libdrm in case of vp9). This patch adds some frame
5133           prediction-related reset logic to the `flush' methods of GstVaapiEncoderVP8 and
5134           GstVaapiEncoderVP9 implementations.
5135
5136 2019-05-31 12:30:03 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5137
5138         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5139           libs: encoder: increase bitrate prop max value
5140           There are many profile levels that can support
5141           more than 102400 kbps.  Thus, increase the max
5142           allowed bitrate property value from 102400 kbps
5143           to 2048000 kbps (same as msdk encoder plugins).
5144
5145 2019-06-04 13:27:50 +0800  He Junyan <junyan.he@hotmail.com>
5146
5147         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
5148           libs: mpeg2 encoder: No packed header for SPS and PPS
5149           Dislable passing down packed PPS and PPS to driver if driver does
5150           not want it.
5151           Fix: #168
5152
5153 2019-05-31 23:10:33 +0200  Niels De Graef <niels.degraef@barco.com>
5154
5155         * configure.ac:
5156         * meson.build:
5157         * tests/output.c:
5158           meson: Bump minimal GLib version to 2.44
5159           This means we can use some newer features and get rid of some
5160           boilerplate code using the G_DECLARE_* macros.
5161           As discussed on IRC, 2.44 is old enough by now to start depending on it.
5162
5163 2019-05-31 13:08:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5164
5165         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5166           libs: dec: vp9: clear parser pointer after release
5167           Fix an use-after-release of the parser pointer in VP9 decoder.
5168
5169 2019-05-28 12:09:36 +0300  Freyr666 <sky_rider_93@mail.ru>
5170
5171         * gst/vaapi/gstvaapiencode.c:
5172           vaapiencode: Fixes deadlock in gst_vaapiencode_change_state function
5173           This fixes a deadlock in gst_vaapiencode_change_state, which was due to
5174           srcpad's chain function was locked waiting for available buffers. Since the
5175           coded buffers in codedbuf_queue become available after sinkpad consume the
5176           encoded frames, Paused -> Ready state change leads to deadlock. Coded buffers
5177           are never consumed and marked free, hence gst_vaapiencode_handle_frame waits for
5178           available buffers and holds the stream_lock of the srcpad.
5179
5180 2019-05-29 23:08:22 +0200  Mathieu Duponchelle <mathieu@centricular.com>
5181
5182         * gst-libs/gst/vaapi/gstvaapitypes.h:
5183         * gst/vaapi/gstvaapidecodebin.c:
5184         * gst/vaapi/gstvaapidecodedoc.c:
5185         * gst/vaapi/gstvaapiencode_h264.c:
5186         * gst/vaapi/gstvaapiencode_h264_fei.c:
5187         * gst/vaapi/gstvaapiencode_h265.c:
5188         * gst/vaapi/gstvaapiencode_jpeg.c:
5189         * gst/vaapi/gstvaapiencode_mpeg2.c:
5190         * gst/vaapi/gstvaapiencode_vp8.c:
5191         * gst/vaapi/gstvaapiencode_vp9.c:
5192         * gst/vaapi/gstvaapipostproc.c:
5193         * gst/vaapi/gstvaapisink.c:
5194           doc: remove xml from comments
5195
5196 2019-05-13 16:39:33 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5197
5198         * gst-libs/gst/vaapi/gstvaapifilter.c:
5199         * gst-libs/gst/vaapi/gstvaapifilter.h:
5200         * gst-libs/gst/vaapi/gstvaapiutils.c:
5201         * gst-libs/gst/vaapi/gstvaapiutils.h:
5202         * gst/vaapi/gstvaapipostproc.c:
5203         * gst/vaapi/gstvaapipostproc.h:
5204           vaapipostproc: add mirror support
5205           Adds vpp mirroring support to vaapipostproc.  Use
5206           property video-direction.  Valid values are identity,
5207           horiz or vert.  Default is identity (no mirror).
5208           Closes #89
5209           v2: Use GstVideoOrientationMethod enum
5210           v3: Don't warn for VA_MIRROR_NONE.
5211           Use GST_TYPE_VIDEO_ORIENTATION_METHOD type.
5212           v4: Query VAAPI caps when setting mirror value
5213           instead of during per-frame processing.
5214           v5: Return TRUE in warning cases when setting mirror value.
5215
5216 2019-05-29 01:35:17 +0200  Mathieu Duponchelle <mathieu@centricular.com>
5217
5218         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
5219         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
5220         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5221         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5222         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
5223         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
5224         * gst/vaapi/gstvaapidecodebin.c:
5225         * gst/vaapi/gstvaapisink.c:
5226           doc: fix some incorrect gtk-doc links
5227
5228 2019-05-16 09:22:42 -0400  Thibault Saunier <tsaunier@igalia.com>
5229
5230         * docs/gst_plugins_cache.json:
5231           docs: Update plugin cache
5232           Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
5233
5234 2019-05-16 16:46:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5235
5236         * gst-libs/gst/vaapi/gstvaapisurface.h:
5237           libs: surface: fix documentation format
5238
5239 2019-05-16 10:05:17 +0800  Wangfei <fei.w.wang@intel.com>
5240
5241         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5242           libs: enc: h265: reset num_ref_idx_l1_active_minus1 when low delay B.
5243           When enable low delay B, the reference list 1 will be same with
5244           reference list 0, so need reset the num_ref_idx_l1_active_minus1
5245           to num_ref_idx_l0_active_minus1.
5246           Fixes: #160
5247
5248 2019-05-13 19:05:43 -0400  Thibault Saunier <tsaunier@igalia.com>
5249
5250         * docs/meson.build:
5251           meson: Fix call to wrong function
5252
5253 2018-10-22 11:48:29 +0200  Thibault Saunier <tsaunier@igalia.com>
5254
5255         * Makefile.am:
5256         * configure.ac:
5257         * docs/Makefile.am:
5258         * docs/gst_plugins_cache.json:
5259         * docs/index.md:
5260         * docs/meson.build:
5261         * docs/plugins/Makefile.am:
5262         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
5263         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
5264         * docs/plugins/gstreamer-vaapi-plugins.types:
5265         * docs/plugins/inspect/plugin-vaapi.xml:
5266         * docs/plugins/running.xml:
5267         * docs/sitemap.txt:
5268         * docs/version.entities.in:
5269         * gst/vaapi/meson.build:
5270         * meson.build:
5271         * meson_options.txt:
5272           docs: Port to hotdoc
5273
5274 2019-05-10 18:29:10 +0800  He Junyan <junyan.he@hotmail.com>
5275
5276         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5277         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5278           libs: encoder: not call ensure_num_slices inside g_assert
5279           g_assert will take no effect when glib's G_DISABLE_ASSERT macro is
5280           defined. The function inside the g_assert will take no effect and
5281           we will fail to set the correct slice number.
5282
5283 2019-04-29 09:52:39 +0800  Wangfei <fei.w.wang@intel.com>
5284
5285         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5286           libs: h265: dec: Add extension flags setting.
5287           Use VAPictureParameterBufferHEVCExtension&
5288           VASliceParameterBufferHEVCExtension to pass extension setting from
5289           some extension profile clips which may include these information.
5290           The hevc extension setting only supported after libva release 2.2.0
5291           (API 1.2.0).
5292
5293 2019-05-01 12:56:55 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5294
5295         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5296         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5297         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5298           libs: encoder: add target-percentage property
5299           Allow users to set the target-percentage for
5300           variable rate controls.  The default value is
5301           70 (as hard-coded prior).
5302           v2: minimum allowed value changed from 0 to 1
5303           v3: target-percentage unchanged if CBR used
5304           Resolves #129
5305
5306 2019-05-09 00:09:21 +0800  He Junyan <junyan.he@hotmail.com>
5307
5308         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5309           libs: encoder: Add a missing comment for DEFAULT_ROI_VALUE property.
5310
5311 2019-05-08 23:39:20 +0800  He Junyan <junyan.he@hotmail.com>
5312
5313         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5314         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5315         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5316         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
5317         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5318           libs: encoder: Enable trellis quantization method.
5319           The advanced trellis algorithm is supported in VA driver. We add
5320           its support as a property named "trellis" of encoder.
5321           It only works for H264 now, should be more in future.
5322
5323 2019-05-07 11:03:51 +0800  Wangfei <fei.w.wang@intel.com>
5324
5325         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5326           libs: decoder: vp9: support 422/444 8bit/10bit chroma type.
5327           According to the vp9 sepc, profile 1/3 support 422/440/444 chroma
5328           type, so we need to add subsampling_x&subsampling_y to fix it.
5329           Here is the relationship between chroma type and profile and
5330           subsampling_x&subsampling_y according to vp9 spec:
5331           ------------------------------------------
5332           Profile | Bit depth | Chroma subsampling |
5333           ------------------------------------------
5334           0      | 8         | 420                |
5335           ------------------------------------------
5336           1      | 8         | 422,440,444        |
5337           ------------------------------------------
5338           2      | 10, 12    | 420                |
5339           ------------------------------------------
5340           3      | 10, 12    | 422,440,444        |
5341           ------------------------------------------
5342           -----------------------------------------------
5343           Subsampling_x | Subsampling_y | Chroma format |
5344           -----------------------------------------------
5345           0            | 0             | 444           |
5346           -----------------------------------------------
5347           0            | 1             | 440           |
5348           -----------------------------------------------
5349           1            | 0             | 422           |
5350           -----------------------------------------------
5351           1            | 1             | 420           |
5352           -----------------------------------------------
5353
5354 2019-04-16 18:33:54 +0800  He Junyan <junyan.he@hotmail.com>
5355
5356         * gst-libs/gst/vaapi/gstvaapiimage.c:
5357         * gst-libs/gst/vaapi/video-format.c:
5358           libs: Add packed 24 RGB format support.
5359           Can not find a suitable chrome_type for this GST_VIDEO_FORMAT_RGB
5360           packed 24 format. Just use GST_VAAPI_CHROMA_TYPE_RGB32 as its chrome
5361           type. This kind of surface will just be created by new API with fourcc
5362           and no old style chrome based creation is available.
5363           fixes: #151
5364
5365 2019-03-15 14:29:41 +0800  Wangfei <fei.w.wang@intel.com>
5366
5367         * gst/vaapi/gstvaapiencode.c:
5368         * gst/vaapi/gstvaapiencode_h264.c:
5369         * gst/vaapi/gstvaapiencode_h264_fei.c:
5370         * gst/vaapi/gstvaapiencode_h265.c:
5371         * gst/vaapi/gstvaapiencode_jpeg.c:
5372         * gst/vaapi/gstvaapiencode_mpeg2.c:
5373         * gst/vaapi/gstvaapiencode_vp8.c:
5374         * gst/vaapi/gstvaapiencode_vp9.c:
5375           vaapiencode: handle DMABuf caps feature in sink pad
5376           Add DMABuff caps features in all encoders' sink pad.
5377
5378 2019-05-03 10:31:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5379
5380         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5381           libs: encoder: continue if roi meta is NULL
5382           Coverity scan bug:
5383           If the function actually returns a null value, a null pointer
5384           dereference will occur.
5385           In gst_vaapi_encoder_ensure_param_roi_regions(): Return value of
5386           function which returns null is dereferenced without checking
5387
5388 2019-04-15 19:58:14 +0800  He Junyan <junyan.he@hotmail.com>
5389
5390         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5391           lib: decoder: vp9: Set chroma_type by VP9 bit_depth
5392           The decoder's surface chroma type should depend on the bit depth
5393           of VP9's parser. For 10bits VP9 stream, we need to use P10LE kind
5394           10 bits surface as the decoder result.
5395           Fixes #155
5396
5397 2019-05-02 16:00:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5398
5399         * gst/vaapi/gstvaapipostprocutil.c:
5400           vaapipostproc: don't do any color conversion when GL_TEXTURE_UPLOAD
5401           https://bugzilla.gnome.org/show_bug.cgi?id=748184 has resurrected
5402           with commit 3e992d8a
5403           Since gst_vaapi_find_preferred_caps_feature() returns a color format
5404           from caps negotiation, different from the default one (NV12), the
5405           postproc enables the color transformation. But when GL_TEXTURE_UPLOAD
5406           feature is negotiated, no color transformation shall be done.
5407           Nonetheless, with commit 3e992d8a the requested format changes
5408           firstly, because there's no video sink yet, so ANY caps are
5409           negotiated; but later, when there's a video sink and a caps
5410           renegotiation, the GL_TEXTURE_UPLOAD is negotiated though the color
5411           format conversion still ongoing. It is required to reset that
5412           conversion.
5413           This patch force default color format when GL_TEXTURE_UPLOAD is
5414           selected as preferred, thus avoiding the color conversion.
5415           Fixes: #157
5416
5417 2019-04-19 15:49:37 -0700  Julien Isorce <jisorce@oblong.com>
5418
5419         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
5420           libs: surface: fix double free when dmabuf export fails
5421           Happens if vaAcquireBufferHandle fails.
5422
5423 2019-04-29 20:10:39 +0800  He Junyan <junyan.he@hotmail.com>
5424
5425         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5426           libs: h264encoder: fix a typo of GstVaapiEncoderH264PredictionType
5427
5428 2019-04-19 10:43:35 +0100  Tim-Philipp Müller <tim@centricular.com>
5429
5430         * RELEASE:
5431         * configure.ac:
5432         * docs/plugins/inspect/plugin-vaapi.xml:
5433         * meson.build:
5434           Back to development
5435
5436 === release 1.16.0 ===
5437
5438 2019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
5439
5440         * ChangeLog:
5441         * NEWS:
5442         * RELEASE:
5443         * configure.ac:
5444         * gstreamer-vaapi.doap:
5445         * meson.build:
5446           Release 1.16.0
5447
5448 2019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
5449
5450         * docs/plugins/inspect/plugin-vaapi.xml:
5451           Update docs
5452
5453 2019-04-15 19:34:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5454
5455         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5456         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5457         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5458           libs: encoder: h264,h265: guard VA version for max_qp property
5459           This patch fixes a regression from commit 5b1fe9c6.
5460           max_qp, in rate control configuration, appeared in libva release
5461           2.1 (API 1.1), thus it is required to guard the VA API version.
5462           Fixes: #150
5463
5464 2019-04-08 18:29:35 +0800  He Junyan <junyan.he@hotmail.com>
5465
5466         * gst-libs/gst/vaapi/gstvaapiimage.c:
5467         * gst-libs/gst/vaapi/video-format.c:
5468           libs: Add RGB565 image format support.
5469
5470 2019-04-10 13:59:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5471
5472         * configure.ac:
5473           build: configure: delay USE_GTK conditional until check libva-x11
5474           libva-x11 is used for X11 applications, so it is required to build
5475           any GTK application.
5476           Later, when Wayland test is added, we should change this.
5477
5478 2019-04-10 13:25:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5479
5480         * configure.ac:
5481           build: configure: disable GLX if libva-x11 is not found
5482
5483 2019-04-15 13:55:26 +0200  He Junyan <junyan.he@hotmail.com>
5484
5485         * gst-libs/gst/vaapi/gstvaapiutils.c:
5486           libs: utils: avoid macro evaluation when stringify
5487           string_of_va_chroma_format() gets a wrong string format description.
5488           For example, the YUV420_10BPP get a string of 0x00000100 as output.
5489           It's because VA_RT_FORMAT_xxx values are macro definitions. And
5490           STRINGIFY(VA_RT_FORMAT_xxx) will expand to its real value
5491           0x00000XXX.
5492           To avoid the macro evaluation, it is changed to show only the color
5493           format without VA_RT_FORMAT_ prefix.
5494
5495 2019-04-15 13:54:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5496
5497         * gst-libs/gst/vaapi/gstvaapiutils.c:
5498           libs: utils: use glib's macros
5499           Don't reinvent the wheel.
5500
5501 2019-04-11 15:05:02 +0800  Wangfei <fei.w.wang@intel.com>
5502
5503         * gst/vaapi/gstvaapipluginutil.c:
5504           plugins: find the preferred format from right caps.
5505           When the downstream has any caps, then raw video feature will
5506           be used. At this situation, the preferred format should be chose
5507           from caps which contains "vide/x-raw" feature instead of from
5508           the fist allowed caps.
5509           Fixes #142
5510
5511 2019-04-10 11:43:33 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5512
5513         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5514           libs: encoder: h265: fill tier in va seq param buf
5515           Now that tier is calculated in commit 58e74f9440fe (!68),
5516           ensure we fill in the general_tier_flag in the
5517           VAEncSequenceParameterBufferHEVC.
5518
5519 === release 1.15.90 ===
5520
5521 2019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
5522
5523         * ChangeLog:
5524         * NEWS:
5525         * RELEASE:
5526         * configure.ac:
5527         * gstreamer-vaapi.doap:
5528         * meson.build:
5529           Release 1.15.90
5530
5531 2019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
5532
5533         * docs/plugins/inspect/plugin-vaapi.xml:
5534           Update docs
5535
5536 2019-04-09 20:42:04 +0800  He Junyan <junyan.he@hotmail.com>
5537
5538         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5539           libs: encoder: h265: Recognize the correct level and tier.
5540           The current manner can not recognize the correct level and always
5541           set the tier to main. Need to add frame rate check to recognize
5542           levels such as 4.1, 6.2, etc. We also add a logic to check main
5543           and high tier based on bitrate.
5544           Fixes: #145
5545
5546 2019-04-03 14:12:23 +0800  He Junyan <junyan.he@hotmail.com>
5547
5548         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5549         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5550         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5551           libs: encoder: h264,h265: Set max_qp if min_qp is non-zero.
5552           media-driver currently fails to set a correct value of max_qp when
5553           min_qp is different to zero, in CBR and VBR mode, generating full
5554           quality frames, thus unexpected huge output.
5555           This patch sets max_qp to an arbitrary value to avoid this output
5556           temporary.
5557           Fixes: #144
5558
5559 2019-04-09 12:42:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5560
5561         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5562         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5563         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5564           libs: encoder: h264,h265: initial and minimal QP can be zero
5565           Currently the minimal value for either min_qp and init_qp are 1,
5566           but VA documentation specifiy that zero is also valid and means
5567           to ignore the quantiser.
5568           The default value is not changed though to avoid behaivor changes
5569           to users.
5570
5571 2019-04-09 09:20:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
5572
5573         * tests/elements/meson.build:
5574           meson: build test-vaapicontext when using X11
5575           x11_dep and libva_x11_dep are optional and meson ignores these
5576           dependencies even if they are added into the dependency list.
5577           This fixes the error below when libva-x11 is not avaiblabe:
5578           cc -Itests/elements/tests@elements@@test-vaapicontext@exe
5579           -Itests/elements -I../../gstreamer-vaapi/tests/elements -I.
5580           -I../../gstreamer-vaapi/ -Igst-libs -I../../gstreamer-vaapi/gst-libs
5581           -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0
5582           -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/orc-0.4
5583           -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0
5584           -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
5585           -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/
5586           -I/usr/include/libdrm -I/usr/include/harfbuzz -I/usr/include/pango-1.0
5587           -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo
5588           -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2
5589           -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
5590           -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall
5591           -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -pthread
5592           -DHAVE_CONFIG_H  -MD -MQ
5593           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
5594           -MF
5595           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o.d'
5596           -o
5597           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
5598           -c ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c
5599           ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c:29:10: fatal
5600           error: va/va_x11.h: No such file or directory
5601           #include <va/va_x11.h>
5602
5603 2019-04-01 12:56:28 +0800  He Junyan <junyan.he@hotmail.com>
5604
5605         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5606         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
5607         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
5608           libs: encoder: h264_fei: Use gst_param_spec_array for view-ids
5609           GValueArray is deprecated. Use GstValueArray instead.
5610
5611 2019-03-30 18:29:31 +0100  Danilo Spinella <danyspin97@protonmail.com>
5612
5613         * gst/vaapi/gstvaapipluginutil.c:
5614           vaapipluginutil: Fix #endif for USE_X11
5615
5616 2019-03-29 18:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5617
5618         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5619           libs: encoder: h264: simplify the view-ids setting
5620
5621 2019-03-26 14:54:47 +0800  He Junyan <junyan.he@hotmail.com>
5622
5623         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5624           libs: encoder: h264: Use gst_param_spec_array for view-ids
5625           GValueArray is deprecated. Use GstValueArray instead.
5626           gst_param_spec_array can be deserialized from command line using:
5627           vaapih264enc view-ids="<(uint)40,(uint)100>" num-views=2
5628           While the g_param_spec_value_array() can not, and always get
5629           error: "gst_value_deserialize_g_value_array: unimplemented"
5630           Also fixed an out-of-range bug.
5631
5632 2019-03-29 13:33:41 +0800  He Junyan <junyan.he@hotmail.com>
5633
5634         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
5635           libs: Change the parameter setting order when encode picture.
5636           The order in gst_vaapi_enc_picture_encode when encoding one
5637           picture is not very correct. The misc parameters are set before
5638           the picture parameters. Some of the misc parameters such as
5639           ROI may change the current picture parameters. But the later
5640           setting of picture parameter will re-init all picture related
5641           parameters and clear the previous setting. The right order
5642           should be picture parameter first and then misc parameters.
5643           Signed-off-by: He Junyan <junyan.he@hotmail.com>
5644
5645 2019-03-26 14:20:34 +0800  Wangfei <fei.w.wang@intel.com>
5646
5647         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
5648           libs: decoder: jpeg: support dynamic resolution change decode.
5649           Add size_changed flag to watch out resolution. if change, reset
5650           jpeg decoder's context.
5651
5652 2019-03-23 15:34:03 +0800  Wangfei <fei.w.wang@intel.com>
5653
5654         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5655           libs: encoder: h265: add low power mode encode.
5656           By now, this feature only support by media-driver on Ice Lake
5657           platform, more information you can reference:
5658           https://github.com/intel/media-driver
5659
5660 2019-03-15 18:40:21 +0800  He Junyan <junyan.he@hotmail.com>
5661
5662         * gst/vaapi/gstvaapiencode.c:
5663           vaapiencode: gobject's prop_id differ from vaapi encoder
5664           The vaapi internal encoder's property id are negative, thus they are
5665           different from GObject's property ids.
5666           gst_vaapi_encoder_set_property() should map to the internal encoder
5667           property id, assigned in gst_vaapiencode_default_set_property().
5668
5669 2019-03-21 16:56:34 +0000  Tim-Philipp Müller <tim@centricular.com>
5670
5671         * meson.build:
5672           meson: disable compiler warnings for unused vars and args if gst debug system is disabled
5673
5674 2019-03-21 13:31:57 +0000  Tim-Philipp Müller <tim@centricular.com>
5675
5676         * meson.build:
5677           meson: use new 'python' module instead of deprecated 'python3' one
5678
5679 2019-03-11 18:38:36 -0300  Thibault Saunier <tsaunier@igalia.com>
5680
5681         * common:
5682           Update common submodule back to 59cb678164719ff59dcf6c8b93df4617a1075d11
5683           It was wrongly changed in 3d9555a86d45565870c684fe00ec8bbb0fed7205
5684
5685 2019-03-04 09:16:17 +0000  Tim-Philipp Müller <tim@centricular.com>
5686
5687         * NEWS:
5688         * RELEASE:
5689         * configure.ac:
5690         * docs/plugins/inspect/plugin-vaapi.xml:
5691         * meson.build:
5692           Back to development
5693
5694 2019-03-01 12:33:26 +0800  He Junyan <junyan.he@hotmail.com>
5695
5696         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
5697           libs: Fix a typo in comments.
5698           Fix a typo in function description of
5699           gst_vaapi_surface_pool_new_with_chroma_type.
5700           Signed-off-by: He Junyan <junyan.he@hotmail.com>
5701
5702 2019-02-27 13:02:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5703
5704         * gst/vaapi/gstvaapipluginutil.c:
5705           plugin: if any caps in downstream, negotiate raw video
5706           When downstream has any caps, vaapi should not shovel vaapi featured
5707           buffers, but rather plain raw video, assuming always the worst case
5708           scenario (downstream cannot handle featured video memory but raw
5709           system memory buffers).
5710           This patch query the peer caps without any filter, to know if
5711           donwstream just ask for any caps, if so jump to the color space
5712           checking, otherwise do the caps intersection and continue with the
5713           feature selection algorithm.
5714           Fixes: #139
5715
5716 === release 1.15.2 ===
5717
5718 2019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
5719
5720         * ChangeLog:
5721         * NEWS:
5722         * RELEASE:
5723         * configure.ac:
5724         * gstreamer-vaapi.doap:
5725         * meson.build:
5726           Release 1.15.2
5727
5728 2019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
5729
5730         * docs/plugins/inspect/plugin-vaapi.xml:
5731           Update docs
5732
5733 2019-02-05 16:59:40 +0800  He Junyan <junyan.he@hotmail.com>
5734
5735         * gst/vaapi/gstvaapivideomemory.c:
5736           vaapivideomemory: Prefer same format for surface and image
5737           We prefer to use the same format between image and surface for gst
5738           vaapi allocator. The old way may choose different formats between
5739           image and surface. For example, the RGBA image may have a NV12 surface.
5740           So we need to do format conversion when we put/get image to surface.
5741           Some drivers such as iHD can not support such conversion and always
5742           cause a data flow error. There may also have some performance cost
5743           for format conversion when put/get images.
5744           So we prefer to use the same format for image and surface in the
5745           allocator. If the surface can not support that format, we then
5746           fallback to find a best one as the surface format.
5747           Co-authored-by: Víctor Jáquez <vjaquez@igalia.com>
5748
5749 2019-02-15 15:19:51 +0800  He Junyan <junyan.he@hotmail.com>
5750
5751         * gst-libs/gst/vaapi/video-format.c:
5752           libs: Delete the duplicated ARGB video format.
5753           Two ARGB formats with the same format information.
5754           Should be verbose and delete one.
5755           Signed-off-by: He Junyan <junyan.he@hotmail.com>
5756
5757 2019-02-13 10:39:59 -0500  Adam Jackson <ajax@redhat.com>
5758
5759         * common:
5760         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
5761           glx: Stop specifying GLX_DEPTH_SIZE
5762           This code is just confused. It's asking for at least as many bits of
5763           (z-axis) depth as the root window has bits of (color) depth. For rgb565
5764           or rgb888 this is harmless, but at 10 bits per channel this demands a
5765           30-bit or deeper Z buffer. While some hardware could in principle do a
5766           32-bit Z buffer, Mesa does not expose such fbconfigs (at least on Intel
5767           and AMD).
5768           We're not actually using the Z buffer, so just stop asking for one.
5769
5770 2019-01-14 11:30:48 +0100  Niels De Graef <niels.degraef@barco.com>
5771
5772         * configure.ac:
5773         * gst-libs/gst/vaapi/Makefile.am:
5774         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
5775         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
5776         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5777         * gst-libs/gst/vaapi/meson.build:
5778         * gst/vaapi/gstvaapisink.c:
5779         * meson.build:
5780           libs: wayland: add support for XDG-shell protocol
5781           [wl_shell] is officially [deprecated], so provide support for the
5782           XDG-shell protocol should be provided by all desktop-like compositors.
5783           (In case they don't, we can of course fall back to wl_shell).
5784           Note that the XML file is directly provided by the `wayland-protocols`
5785           dependency and generates the protocol marshalling code.
5786           [wl_shell]: https://people.freedesktop.org/~whot/wayland-doxygen/wayland/Client/group__iface__wl__shell.html
5787           [deprecated]: https://github.com/wayland-project/wayland/commit/698dde195837f3d0844b2725ba4ea8ce9ee7518c
5788
5789 2019-02-16 19:09:50 +0100  Niels De Graef <nielsdegraef@gmail.com>
5790
5791         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5792           libs: window: wayland: Prefix wl_shell_surface field with `wl_`
5793           It will help us to distinguish from other Wayland shell surface
5794           (such as XDG-shell) later on.
5795
5796 2019-01-14 09:58:19 +0100  Niels De Graef <nielsdegraef@gmail.com>
5797
5798         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
5799         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
5800         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5801           libs: wayland: Prefix wl_shell field with `wl_`
5802           It will help us to distinguish from other Wayland shells (such as
5803           XDG-shell) later on.
5804
5805 2019-02-08 09:21:28 +0300  Denis Nagorny <denis.nagorny@intel.com>
5806
5807         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5808           libs: display: lock ensure_profile()
5809           Thread safety patch for ensure_profile() function
5810           Fixes #133
5811
5812 2019-02-08 16:35:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5813
5814         * meson.build:
5815           meson: bump the minimum wayland version requirement to 1.11.0
5816           This was missed on commit 77bb3424
5817
5818 2019-01-24 21:08:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5819
5820         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5821         * gst/vaapi/gstvaapisink.c:
5822           vaapisink: x11: trap WM_DELETE_WINDOW message
5823           Register the WM_DELETE_WINDOW message from window manager and
5824           trap it to stop the pipeline cleanly.
5825           Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/130
5826
5827 2019-01-21 19:22:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5828
5829         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5830           libs: window: remove native-id property
5831           native-id property is problematic since the variable that stores it is
5832           gsize, which is platform specific, and in some is bigger than unsigned
5833           long, and there are not way to handle gsize properties.
5834           Also, GST_VAAPI_ID_INVALID is defined in gsize terms, and we would
5835           like to keep using it for this scope.
5836           This patch removes the native-id property and set it manually in
5837           gst_vaapi_window_new_internal().
5838
5839 2019-01-18 10:33:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5840
5841         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5842           libs: window: use G_GSIZE_MODIFIER for window id
5843           gsize type is not equal in all platforms, then the 'l' print modifier
5844           shall not be used always.
5845           This issue was found in Debian builds.
5846
5847 2019-01-17 10:27:13 +0800  Wangfei <fei.w.wang@intel.com>
5848
5849         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5850         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5851           encoder: h264/h265: set SPS cbr_flag with correct value.
5852           The flag only set as 1 when the rate-control mode is CBR.
5853
5854 === release 1.15.1 ===
5855
5856 2019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
5857
5858         * ChangeLog:
5859         * NEWS:
5860         * RELEASE:
5861         * configure.ac:
5862         * gstreamer-vaapi.doap:
5863         * meson.build:
5864           Release 1.15.1
5865
5866 2019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
5867
5868         * docs/plugins/inspect/plugin-vaapi.xml:
5869           Update docs
5870
5871 2019-01-14 19:35:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5872
5873         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5874           libs: encoder: refactor to avoid code duplication
5875           gst_vaapi_encoder_put_frame() and gst_vaapi_encoder_flush() duplicates
5876           the same code segment where the coded buffer is created, the picture
5877           encoded on it and pushed to the async queue.
5878           The function gst_vaapi_encoder_encode_and_queue() refactor this.
5879
5880 2019-01-14 18:21:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5881
5882         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5883         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5884         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5885         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5886         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5887           libs: encoder: h264/h265: flush pending ordered pictures
5888           In order to flush the pending pictures, a new internal encoder vmethod
5889           is used: get_pending_reordered()
5890           This method follows an iterator pattern which will return the next
5891           picture to encode and push.
5892           The base encoder will call this function in a loop when flush() is called.
5893           For now, only H.264 and H.265 encoders implement this flushing mechanism.
5894
5895 2018-12-06 10:18:53 +0800  Wangfei <fei.w.wang@intel.com>
5896
5897         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5898         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5899         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5900         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5901           libs: encoder: h264/h265: fix encode lose frame issue.
5902           Instead of dropping all remain frames in reorder_frame_list during
5903           flush, keep encoding.
5904           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/97
5905
5906 2019-01-15 14:33:11 +0800  Wangfei <fei.w.wang@intel.com>
5907
5908         * gst/vaapi/gstvaapipostproc.c:
5909           vaapipostproc: before set surface proxy, check if it already been created and exist.
5910           Fix the deinterlace black frame when playing with glimagesink:
5911           gst-launch-1.0 filesrc location=test.264 ! h264parse ! vaapih264dec \
5912           ! vaapipostproc deinterlace-mode=1 deinterlace-method=1 ! glimagesink
5913
5914 2019-01-11 13:48:29 +0800  Wangfei <fei.w.wang@intel.com>
5915
5916         * gst-libs/gst/vaapi/gstvaapiutils.c:
5917           vaapipostproc: clean up USE_VA_VPP macro since it already removed from configure file.
5918
5919 2018-12-26 14:36:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
5920
5921         * gst-libs/gst/vaapi/meson.build:
5922         * gst/vaapi/meson.build:
5923         * meson.build:
5924         * tests/meson.build:
5925           meson: build h264 fei encoder if possible
5926
5927 2018-12-26 14:04:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
5928
5929         * configure.ac:
5930           configure: bump the minimum wayland version requirement to 1.11.0
5931
5932 2018-12-24 12:58:53 +0800  Haihao Xiang <haihao.xiang@intel.com>
5933
5934         * configure.ac:
5935         * gst-libs/gst/vaapi/Makefile.am:
5936         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
5937         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
5938         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
5939         * gst-libs/gst/vaapi/gstvaapicompat.h:
5940         * gst-libs/gst/vaapi/gstvaapicontext.c:
5941         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5942         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
5943         * gst-libs/gst/vaapi/gstvaapifilter.c:
5944         * gst-libs/gst/vaapi/gstvaapiprofile.c:
5945         * gst-libs/gst/vaapi/gstvaapisurface.c:
5946         * gst-libs/gst/vaapi/gstvaapiutils.c:
5947         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
5948         * gst-libs/gst/vaapi/meson.build:
5949         * gst/vaapi/Makefile.am:
5950         * gst/vaapi/gstvaapi.c:
5951         * gst/vaapi/gstvaapidecode.c:
5952         * gst/vaapi/gstvaapidecodebin.c:
5953         * gst/vaapi/gstvaapipluginbase.c:
5954         * gst/vaapi/meson.build:
5955         * meson.build:
5956         * tests/decoder.c:
5957         * tests/simple-decoder.c:
5958           vaapi: bump the minimum vaapi version requirement to 0.39.0
5959           And reduce unnecessary API version and structures check as well.
5960           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/108
5961
5962 2018-12-22 18:07:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5963
5964         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5965         * gst-libs/gst/vaapi/gstvaapiwindow.h:
5966         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
5967         * tests/test-decode.c:
5968         * tests/test-filter.c:
5969         * tests/test-subpicture.c:
5970         * tests/test-textures.c:
5971         * tests/test-windows.c:
5972           libs: window: remove custom ref() and unref()
5973           Use gst_object_ref() and gst_object_unref() instead.
5974
5975 2018-12-22 13:25:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5976
5977         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5978         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
5979         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
5980         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
5981         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5982         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5983           libs: window: use its own debug category
5984
5985 2018-12-22 18:02:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5986
5987         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5988         * gst-libs/gst/vaapi/gstvaapiwindow.h:
5989         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
5990         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
5991         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
5992         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
5993         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
5994         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
5995         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
5996         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5997         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
5998         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5999         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
6000         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
6001           libs: window: refactor as gobject
6002           This is another step in the gobjectification of the internal library
6003           of gstreamer-vaapi. Now it is the turn of GstVaapiWindow and its
6004           derivates.
6005           The idea is to minimize the changeset keeping the same design as
6006           much as possible.
6007           GstVaapiWindow is defined as an abstract class with two properties:
6008           the GstVaapiDisplay and the native ID. Thus, many of the
6009           GstVaapiObject macros were copied as GstVaapiWindow macros.
6010           The function gst_vaapi_window_new_internal() is kept as a decorator
6011           of for calling gst_vaapi_window_create() and the possibility of
6012           failure.
6013           The descendant classes, such as glx, still use the private
6014           structures, but through the gobject mechanism.
6015
6016 2018-12-03 22:05:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6017
6018         * gst-libs/gst/vaapi/gstvaapifilter.c:
6019           libs: filter: use its own debug category
6020
6021 2018-12-24 14:08:42 +0800  He Junyan <junyan.he@hotmail.com>
6022
6023         * gst/vaapi/gstvaapidecode.c:
6024         * gst/vaapi/gstvaapipluginbase.c:
6025         * gst/vaapi/gstvaapipluginbase.h:
6026         * gst/vaapi/gstvaapipostproc.c:
6027         * gst/vaapi/gstvaapisink.c:
6028           plugins: Add more check for allowed raw caps.
6029           The gst_vaapi_plugin_base_get_allowed_raw_caps is used for both sink
6030           pad and src pad, which cause some bugs. For sink pad, we need to verify
6031           vaPutImage() while for the src pad we need to verify vaGetImage().
6032           For vaapidecoderXXX kind of plugins, the case is more complex. We need
6033           to verify whether the decoded result(in some surface, NV12 format most
6034           of the time) can be vaGetImage to some raw image format. Add more check
6035           to fix all these problems.
6036           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/123
6037           Signed-off-by: He Junyan <junyan.he@hotmail.com>
6038
6039 2018-12-18 10:44:21 +0800  Wangfei <fei.w.wang@intel.com>
6040
6041         * gst/vaapi/gstvaapipostproc.c:
6042           vaapipostproc: fix csc fail when only change width or height.
6043
6044 2018-12-15 09:47:15 +0900  Wonchul Lee <chul0812@gmail.com>
6045
6046         * tests/elements/meson.build:
6047           meson: Add gtk guard
6048
6049 2018-12-15 14:48:03 +0800  Wangfei <fei.w.wang@intel.com>
6050
6051         * gst/vaapi/gstvaapiencode_h264.c:
6052           libs: enc: h264: set max profile idc with correct profile.
6053           Use the highest rank of available profile as the max profile to
6054           set max idc value.
6055           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/124
6056
6057 2018-12-03 13:56:52 +0100  Niels De Graef <nielsdegraef@gmail.com>
6058
6059         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6060         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6061         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6062           Use G_DEFINE_TYPE_WITH_PRIVATE if applicable
6063           This gets rid of the strange `do_init` macro and makes the intent a bit
6064           more clear.
6065
6066 2018-12-05 17:24:53 -0300  Thibault Saunier <tsaunier@igalia.com>
6067
6068         * common:
6069           Automatic update of common submodule
6070           From ed78bee to 59cb678
6071
6072 2018-11-27 09:47:44 -0500  Wangfei <fei.w.wang@intel.com>
6073
6074         * gst-libs/gst/vaapi/gstvaapiimage.c:
6075         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6076         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6077         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6078         * gst-libs/gst/vaapi/video-format.c:
6079         * gst/vaapi/gstvaapidecode.c:
6080         * gst/vaapi/gstvaapipluginutil.h:
6081           libs: dec: h265: support decode for main-444 10bit streams.
6082           Add 444 10bit yuv format Y410, which can be used to decode
6083           main-444 10bit streams. Currently, this feature is only
6084           supported by media-driver in Icelake.
6085
6086 2018-11-28 05:56:44 +0200  Jordan Petridis <jordan@centricular.com>
6087
6088         * gst/vaapi/gstvaapidecode.c:
6089         * gst/vaapi/gstvaapisink.c:
6090           Run gst-indent through the files
6091           This is required before we enabled an indent test in the CI.
6092           https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
6093
6094 2018-11-14 13:11:56 +0800  He Junyan <junyan.he@hotmail.com>
6095
6096         * gst/vaapi/gstvaapipluginbase.c:
6097           plugins: modify image check of extract_allowed_surface_formats.
6098           The extract_allowed_surface_formats function just check whether
6099           we can support some kind of surface/image format pair. We just
6100           need to create a surface, create an image with the same video-format
6101           and putImage from image to surface. All these operations success,
6102           that kind of video-format is supported.
6103           The old manner do not work for some kind of video-format. For example,
6104           the RGBA kind of format will create a NV12 surface and RGBA image,
6105           and the putImage will fail because the format is not same. And so
6106           the RGBA format is not supported but actually it is supported.
6107
6108 2018-11-14 11:34:20 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
6109
6110         * gst/vaapi/gstvaapipostproc.c:
6111           vaapipostproc: add some missing locking
6112           gst_vaapi_plugin_base_close() removed the raw caps that are used indirectly
6113           in gst_vaapipostproc_transform_caps(). The usage is already protected by
6114           the mutex.
6115           This is needed when the pipeline is stopped during startup.
6116
6117 2018-11-20 16:07:44 +0800  Xiang, Haihao <haihao.xiang@intel.com>
6118
6119         * gst/vaapi/gstvaapivideomemory.c:
6120           Close dmabuf_fd
6121           Otherwise it will result in resource leak when failed to create
6122           dmabuf memory
6123
6124 2018-11-12 13:39:51 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
6125
6126         * gst/vaapi/gstvaapiencode.c:
6127           vaapiencode: don't start src pad task in set_format
6128           Otherwise the task may be restarted during shutdown. Start the task in
6129           gst_vaapiencode_handle_frame() instead.
6130
6131 2018-11-14 13:52:48 +0800  Wangfei <fei.w.wang@intel.com>
6132
6133         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6134         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6135         * gst-libs/gst/vaapi/gstvaapiutils.c:
6136         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6137         * gst/vaapi/gstvaapidecode.c:
6138         * gst/vaapi/gstvaapipluginutil.h:
6139           libs: dec: h265: support decode for main-444 8bit streams.
6140           Add 444 8bit yuv format AYUV, which can be used to decode
6141           main-444 8bit streams. Currently, this feature is only
6142           supported by media-driver in Icelake.
6143           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/119
6144
6145 2018-11-12 17:43:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6146
6147         * .gitlab-ci.yml:
6148           Add Gitlab CI configuration
6149           This commit adds a .gitlab-ci.yml file, which uses a feature
6150           to fetch the config from a centralized repository. The intent is
6151           to have all the gstreamer modules use the same configuration.
6152           The configuration is currently hosted at the gst-ci repository
6153           under the gitlab/ci_template.yml path.
6154           Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
6155
6156 2018-11-09 22:03:43 +0800  He Junyan <junyan.he@hotmail.com>
6157
6158         * gst-libs/gst/vaapi/gstvaapisurface.h:
6159         * gst-libs/gst/vaapi/gstvaapiutils.c:
6160           libs: Sync the GstVaapiChromaType to VA header file.
6161           Add more kinds of chrometype which will be used to describe
6162           new video formats. Sync it with 1.4.0 version header file.
6163           Alse delete useless GST_VAAPI_CHROMA_TYPE_YUV410 chrome type.
6164           Signed-off-by: He Junyan <junyan.he@hotmail.com>
6165
6166 2018-11-09 23:55:05 +0000  Tim-Philipp Müller <tim@centricular.com>
6167
6168         * gst-libs/gst/vaapi/meson.build:
6169           meson: link with -lm
6170           Fixes #117 hopefully.
6171
6172 2018-11-09 23:46:53 +0000  Tim-Philipp Müller <tim@centricular.com>
6173
6174         * meson.build:
6175           meson: bump meson required to 0.47 for feature options
6176
6177 2018-11-06 14:38:08 +0800  Junyan He <junyan.he@intel.com>
6178
6179         * gst-libs/gst/vaapi/video-format.c:
6180           libs: Modify the video format of endianness.
6181           We lack some video format because endianness declare.
6182           The video format should not directly relate to endianness. For example,
6183           ARGB on big endian should not be simplely seen as BGRA on little endian
6184           machine. We should provide endianess convert or format convert help
6185           functions if endianness does not match.
6186           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/112
6187           Signed-off-by: Junyan He <junyan.he@intel.com>
6188
6189 2018-10-17 18:36:52 +0800  Junyan He <junyan.he@intel.com>
6190
6191         * gst/vaapi/gstvaapipluginutil.c:
6192           plugins: Fix build error when GL is enabled while EGL is disabled.
6193           gl_platform_type in gst_vaapi_get_display_type_from_gl_env generate
6194           unused-variable warning and may block build when Werror enabled.
6195           Several functions like gst_vaapi_display_egl_new_with_native_display
6196           have no prototype warning and link error when GL is enabled but EGL
6197           is disabled. Fix all these warning and link error.
6198           https://bugzilla.gnome.org/show_bug.cgi?id=797358
6199           Signed-off-by: Junyan He <junyan.he@intel.com>
6200
6201 2018-11-03 15:06:09 +0800  Wangfei <fei.w.wang@intel.com>
6202
6203         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
6204         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
6205           libs: encoder: h264/h264fei: remove unuseless code.
6206           The variable are set twice, remove previous one.
6207           https://bugzilla.gnome.org/show_bug.cgi?id=797365
6208
6209 2018-11-03 15:28:35 +0800  Wangfei <fei.w.wang@intel.com>
6210
6211         * tests/simple-encoder.c:
6212         * tests/test-fei-enc-in.c:
6213           tests: check return value when using gst_buffer_map.
6214           https://bugzilla.gnome.org/show_bug.cgi?id=797366
6215
6216 2018-11-02 16:50:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6217
6218         * meson.build:
6219         * meson_options.txt:
6220         * tests/elements/meson.build:
6221         * tests/meson.build:
6222           build: meson: build examples
6223
6224 2018-11-02 16:50:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6225
6226         * gst-libs/gst/vaapi/meson.build:
6227           build: meson: declare headers for libgstvaapi
6228           Thus handling its recompilation if needed.
6229
6230 2018-11-05 05:41:13 +0000  Matthew Waters <matthew@centricular.com>
6231
6232         * .gitmodules:
6233           Update common submodule location
6234           Remove the git directory
6235
6236 2018-11-05 13:00:28 +0800  Haihao Xiang <haihao.xiang@intel.com>
6237
6238         * .gitmodules:
6239         * gstreamer-vaapi.doap:
6240           Clone the code from gitlab
6241           This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/116
6242
6243 2018-10-24 14:18:37 -0400  Wangfei <fei.w.wang@intel.com>
6244
6245         * gst-libs/gst/vaapi/gstvaapiimage.c:
6246         * gst-libs/gst/vaapi/gstvaapisurface.h:
6247         * gst-libs/gst/vaapi/gstvaapiutils.c:
6248         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6249         * gst-libs/gst/vaapi/video-format.c:
6250         * gst/vaapi/gstvaapidecode.c:
6251         * gst/vaapi/gstvaapipluginutil.h:
6252           libs: dec: h265: support decode for main-10-422 10bit streams.
6253           Add 422 10bit yuv format Y210, which can be used to decode
6254           main-10-422 10bit streams. Currently, this feature is only
6255           supported by media-driver in Icelake.
6256           https://bugzilla.gnome.org/show_bug.cgi?id=797264
6257
6258 2018-10-13 15:00:32 +0800  Wangfei <fei.w.wang@intel.com>
6259
6260         * gst-libs/gst/vaapi/gstvaapicontext.c:
6261           libs: context: roi_rc_qp_delta_support should not be checked when CQP.
6262           VA_ROI_RC_QP_DELTA_SUPPORT return value will be ignored when the
6263           rate control mode is set as CQP. In CQP mode, it shouldn't check
6264           roi_rc_qp_delta_support return value from driver backend.
6265           https://bugzilla.gnome.org/show_bug.cgi?id=797087
6266
6267 2018-10-15 17:55:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6268
6269         * gst/vaapi/gstvaapipostproc.c:
6270           vaapipostproc: fix classification string
6271           The classification string is splitted by '/' and then looks for the
6272           components.
6273           This patch removes the ';' by unifying all the components.
6274
6275 2018-10-15 16:05:02 +0100  Philippe Normand <philn@igalia.com>
6276
6277         * gst/vaapi/gstvaapipostproc.c:
6278           vaapipostproc: Add Hardware classifier to metadata
6279
6280 2018-10-12 16:37:34 +0800  Wangfei <fei.w.wang@intel.com>
6281
6282         * gst-libs/gst/vaapi/gstvaapicontext.c:
6283           libs: context: create context first before using it to create surface.
6284           In gst_vaapi_context_reset(), if the context has to be destroyed, make
6285           sure to create it first before allocating its associated surfaces.
6286           This patch fixes a regression introduced in commit 82872f4 because
6287           the formats available in the current context now are ensured before
6288           creating the context's surfaces.
6289           https://bugzilla.gnome.org/show_bug.cgi?id=797277
6290
6291 2018-10-12 15:39:53 +0100  Philippe Normand <philn@igalia.com>
6292
6293         * docs/plugins/inspect/plugin-vaapi.xml:
6294         * gst/vaapi/gstvaapidecode.c:
6295         * gst/vaapi/gstvaapiencode_h264.c:
6296         * gst/vaapi/gstvaapiencode_h264_fei.c:
6297         * gst/vaapi/gstvaapiencode_h265.c:
6298         * gst/vaapi/gstvaapiencode_jpeg.c:
6299         * gst/vaapi/gstvaapiencode_mpeg2.c:
6300         * gst/vaapi/gstvaapiencode_vp8.c:
6301         * gst/vaapi/gstvaapiencode_vp9.c:
6302           gst: Advertise elements interacting with hardware devices
6303
6304 2018-10-01 09:26:05 +0800  Wangfei <fei.w.wang@intel.com>
6305
6306         * gst-libs/gst/vaapi/gstvaapicontext.c:
6307         * gst-libs/gst/vaapi/gstvaapisurface.c:
6308         * gst-libs/gst/vaapi/gstvaapisurface.h:
6309           libs: context: query surface format before context to create surface.
6310           Before using context to create surface, the supported surface format
6311           should be checked first.
6312           https://bugzilla.gnome.org/show_bug.cgi?id=797222
6313
6314 2018-10-09 17:23:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6315
6316         * gst-libs/gst/vaapi/gstvaapiimage.c:
6317         * gst-libs/gst/vaapi/gstvaapivalue.c:
6318           libs: replace g_error with GST_ERROR
6319           And handle those errors rather than halting.
6320
6321 2018-10-09 17:23:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6322
6323         * gst-libs/gst/vaapi/gstvaapiimage.c:
6324         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
6325         * gst-libs/gst/vaapi/gstvaapisurface.c:
6326           libs: replace g_warning with GST_WARNING
6327
6328 2018-09-26 14:55:32 -0500  Matteo Valdina <matteo.valdina@gmail.com>
6329
6330         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6331         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
6332         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6333         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
6334           libs: Move from g_debug to GST_DEBUG.
6335           https://bugzilla.gnome.org/show_bug.cgi?id=797202
6336
6337 2018-10-04 02:20:10 +0800  Soon, Thean Siew <thean.siew.soon@intel.com>
6338
6339         * gst/vaapi/gstvaapipostproc.c:
6340           vaapipostproc: change the way of handling deinterlace
6341           The current vaapipostproc calls driver's video processing
6342           pipeline for deinterlacing only if it is Advance deinterlacing.
6343           Modify in the way that it always tries with driver's video
6344           processing pipeline for deinterlacing, and falls back to software
6345           method of appending picture structure meta data only if it fails
6346           with driver's method.
6347           https://bugzilla.gnome.org/show_bug.cgi?id=797095
6348
6349 2018-09-24 16:54:29 -0500  Matteo Valdina <matteo.valdina@gmail.com>
6350
6351         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
6352         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
6353           libs: h264: Update level table to "Recommendation H.264 (04/17)".
6354           Added level 6, 6.1 and 6.2. Reference Table A-1 – Level limits
6355           from T-REC-H.264-201704.
6356           https://bugzilla.gnome.org/show_bug.cgi?id=797202
6357
6358 2018-09-20 09:57:33 +0800  Wangfei <fei.w.wang@intel.com>
6359
6360         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6361         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6362         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6363         * gst-libs/gst/vaapi/gstvaapisurface.c:
6364         * gst-libs/gst/vaapi/gstvaapiutils.c:
6365         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6366         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
6367         * gst-libs/gst/vaapi/video-format.c:
6368         * gst-libs/gst/vaapi/video-format.h:
6369         * gst/vaapi/gstvaapidecode.c:
6370         * gst/vaapi/gstvaapipluginbase.c:
6371         * gst/vaapi/gstvaapipluginutil.h:
6372           libs: dec: h265: add 422 chroma format support.
6373           Add main-422-10 profile which support 422 chroma format stream.
6374           Currently, this feature is only supported by media-driver in Icelake.
6375           https://bugzilla.gnome.org/show_bug.cgi?id=797143
6376
6377 2018-09-26 19:34:06 +0200  U. Artie Eoff <ullysses.a.eoff@intel.com>
6378
6379         * tests/y4mreader.c:
6380           tests: include sysdeps.h in compilation unit
6381           Fixes https://bugzilla.gnome.org/show_bug.cgi?id=797204
6382           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6383
6384 2018-09-26 18:04:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6385
6386         * tests/y4mreader.c:
6387         * tests/y4mreader.h:
6388           tests: fix compilation
6389           https://bugzilla.gnome.org/show_bug.cgi?id=797204
6390
6391 2018-09-25 20:28:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6392
6393         * tests/y4mreader.h:
6394           tests: don's use sysdeps.h in header
6395
6396 2018-09-14 19:30:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6397
6398         * gst-libs/gst/vaapi/gstvaapiutils.h:
6399           libs: utils: no need of include config.h
6400
6401 2018-09-13 18:12:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6402
6403         * tests/decoder.c:
6404         * tests/output.c:
6405         * tests/test-decode.c:
6406         * tests/test-subpicture.c:
6407           tests: remove already include string.h
6408           Since sysdeps.h includes string.h there's no need to include it again.
6409
6410 2018-09-13 18:11:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6411
6412         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
6413         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6414         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6415         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
6416         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
6417         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
6418         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
6419         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
6420         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6421         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6422         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6423         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6424         * gst-libs/gst/vaapi/gstvaapiimage.c:
6425         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6426         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
6427         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
6428         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6429         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
6430           libs: remove already include string.h
6431           Since sysdeps.h includes string.h there's no need to include it again.
6432
6433 2018-09-13 18:26:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6434
6435         * gst-libs/gst/vaapi/gstvaapiobject.h:
6436         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
6437         * gst/vaapi/gstvaapivideometa_texture.c:
6438           libs: object: separation of internal API and plugins
6439           Removed exposed macros GST_VAAPI_OBJECT_DISPLAY() and
6440           GST_VAAPI_OBJECT_ID() to plugins, keeping them only for internal
6441           library usage.
6442           The purpose is readability.
6443           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6444
6445 2018-09-13 16:34:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6446
6447         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
6448           libs: parser_frame: change macros for inlined functions
6449           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6450
6451 2018-09-13 16:10:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6452
6453         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
6454         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
6455         * gst-libs/gst/vaapi/gstvaapivideopool.c:
6456         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
6457           libs: videopool: remove unneeded code
6458           The removed code comes frome the bad practice of copy&paste. Better
6459           move it as internal function.
6460           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6461
6462 2018-09-13 12:22:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6463
6464         * gst-libs/gst/vaapi/Makefile.am:
6465         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
6466         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
6467         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
6468         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
6469         * gst-libs/gst/vaapi/gstvaapiobject.c:
6470         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
6471         * gst-libs/gst/vaapi/gstvaapipixmap.c:
6472         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
6473         * gst-libs/gst/vaapi/gstvaapitexture.c:
6474         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
6475         * gst-libs/gst/vaapi/gstvaapiwindow.c:
6476         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
6477         * gst-libs/gst/vaapi/meson.build:
6478           libs: remove dependency on IN_LIBGSTVAAPI_CORE
6479           This conditional code was when libgstvaapi was intended to be library
6480           used outside GStreamer. This not the case anymore, thus removing it.
6481           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6482
6483 2018-09-19 10:16:36 +0800  Wangfei <fei.w.wang@intel.com>
6484
6485         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6486           libs: dec: h265: fix the macros used for IDC profile
6487           profile_idc flag in SPS only indicate the IDC profile, which may
6488           need some other flags together to get the real profile.
6489           https://bugzilla.gnome.org/show_bug.cgi?id=797160
6490
6491 2018-09-12 19:06:22 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
6492
6493         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6494         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6495         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6496         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6497         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6498           libs: use g_clear_pointer() when possible
6499           https://bugzilla.gnome.org/show_bug.cgi?id=797131
6500
6501 2018-09-03 13:56:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6502
6503         * gst-libs/gst/vaapi/gstvaapifilter.h:
6504           libs: filter: add gobject's cleanup function
6505
6506 2018-05-22 14:28:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6507
6508         * gst-libs/gst/vaapi/gstvaapifilter.c:
6509         * gst-libs/gst/vaapi/gstvaapifilter.h:
6510         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
6511         * tests/test-filter.c:
6512           libs: filter: remove custom ref() and unref()
6513           Replacing them by gst_object_ref() and gst_object_unref()
6514           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6515
6516 2018-05-22 14:26:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6517
6518         * gst-libs/gst/vaapi/gstvaapifilter.c:
6519         * gst-libs/gst/vaapi/gstvaapifilter.h:
6520           libs: filter: refactor filter as gobject
6521           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6522
6523 2018-05-21 13:38:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6524
6525         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6526         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
6527           libs: decoder: remove destoy() and create() callbacks
6528           They were all replaced by reset()
6529           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6530
6531 2018-05-21 13:26:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6532
6533         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6534           libs: decoder: vp9: implement reset() callback
6535           remove destroy() and create() callback
6536           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6537
6538 2018-05-21 13:25:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6539
6540         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
6541           libs: decoder: vp8: implement reset() callback
6542           remove create() and destroy() callbacks
6543           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6544
6545 2018-05-21 13:24:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6546
6547         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
6548           libs: decoder: vc1: implement reset() callback
6549           remove destroy() and create() callbacks
6550           use g_clear_pointer for rbdu_buffer
6551           no cast for enum
6552           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6553
6554 2018-05-21 13:24:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6555
6556         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
6557           libs: decoder: mpeg4: implement reset() callback
6558           remove destroy() and create() callback
6559           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6560
6561 2018-05-21 13:22:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6562
6563         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
6564           libs: decoder: mpeg2: implement reset() callback
6565           remove create() and destroy() callbacks
6566           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6567
6568 2018-05-21 13:22:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6569
6570         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
6571           libs: decoder: jpeg: implement reset() callback
6572           and remove create() and destroy() callbacks.
6573           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6574
6575 2018-05-21 13:13:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6576
6577         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6578           libs: decoder: h265: implement reset() callback
6579           and remove create() and destroy()
6580           and use g_clear_pointer for dpb structure
6581           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6582
6583 2018-05-21 13:11:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6584
6585         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6586           libs: decoder: h264: remove create() and destroy() callbacks
6587           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6588
6589 2018-05-21 11:56:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6590
6591         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6592         * gst-libs/gst/vaapi/gstvaapidecoder.h:
6593         * tests/test-decode.c:
6594         * tests/test-subpicture.c:
6595           libs: decoder: remove gst_vaapi_decoder_unref()
6596           Replaced by gst_object_unref() in tests
6597           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6598
6599 2018-05-21 11:51:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6600
6601         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6602         * gst-libs/gst/vaapi/gstvaapidecoder.h:
6603           libs: decoder: remove gst_vaapi_decoder_ref()
6604           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6605
6606 2018-05-21 11:50:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6607
6608         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6609         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
6610           libs: decoder: remove gst_vaapi_decoder_new()
6611           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6612
6613 2018-05-18 16:09:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6614
6615         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6616         * gst-libs/gst/vaapi/gstvaapidecoder.h:
6617         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6618         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
6619         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6620         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
6621         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
6622         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
6623         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
6624         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
6625         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
6626         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
6627         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
6628         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
6629         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
6630         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
6631         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
6632         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6633         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
6634           libs: decoder: refactor decoders as gobject
6635           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6636
6637 2018-08-31 20:56:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
6638
6639         * gst/vaapi/gstvaapidecode.c:
6640           vaapidecode: Requests upstream a key unit at parse or decode error.
6641           This is done to resume decoding after a parse error or decode error.
6642           Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
6643
6644 2018-08-31 20:48:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
6645
6646         * gst/vaapi/gstvaapidecode.c:
6647           vaapidecode: sets return value in failure case.
6648           In gst_vaapidecode_handle_frame, when there is a decode error
6649           there is a code path the returns an uninitialized value.
6650           Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
6651
6652 2018-08-30 18:56:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6653
6654         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6655           libs: display: lock at extracting available image formates
6656           When running several vaapi elements at the concurrently, at
6657           initialization, there is a race condition when extractin the avaible
6658           formats for images and subpictures.
6659           This patch add a lock when the those arrays are filled.
6660           https://bugzilla.gnome.org/show_bug.cgi?id=797039
6661
6662 2018-08-31 14:47:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
6663
6664         * meson.build:
6665           meson: Sync libversion and osxversion code from other repos
6666           gstreamer-vaapi does not build any libraries, only plugins, so this is
6667           not used, but sync it just in case someone does add it in the future.
6668
6669 2018-08-29 13:44:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6670
6671         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
6672           libs: encoder: h265: trivial documentation fix
6673
6674 2018-08-30 11:08:07 +0800  Wangfei <fei.w.wang@intel.com>
6675
6676         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6677         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
6678           libs: encoder: h265: add low delay B frame support.
6679           Low delay B frame provide the function of transforming
6680           P frame into low delay B frame which frame type is B, but
6681           only reference predictive frames. This can be used when P
6682           frame unsupported. Especially for P and B both unsupported,
6683           in this case, I and low delay B frame can be encoded in a
6684           stream.
6685           https://bugzilla.gnome.org/show_bug.cgi?id=796984
6686
6687 2018-08-27 20:42:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6688
6689         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6690           libs: decoder: h264: Avoid using picture after it has been free
6691           In some cases, the found_picture ended up being evicted and freed, which
6692           would lead to a use after free when accessing picture->base.poc. In this
6693           fix, we take a ref on the picture before calling dpb_evict.
6694           https://bugzilla.gnome.org/show_bug.cgi?id=787124
6695
6696 2018-07-25 17:03:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6697
6698         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6699           h264decoder: Fail decoding slice with missing inter-view reference
6700           Similarly to previous patch, we have no error concealment. As a side
6701           effect, it's better to skip slices with missing references then passing
6702           NULL pointers to the accelerator. Passing NULL pointer would lead to
6703           major visual artifact, a behaviour that is likely undefined.
6704           https://bugzilla.gnome.org/show_bug.cgi?id=787124
6705
6706 2017-09-14 14:25:41 +0900  Hyunjun Ko <zzoon@igalia.com>
6707
6708         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6709           libs: decoder: h264: reset context when the number of view is increased
6710           Usually in case of MVC decoding, dpb size is increasedi if subset sps.
6711           That's why it resets context without this patch.
6712           But for some media it doesn't increase dpb size. Even in this case we
6713           should reset context to deal with MVC decoding.
6714           Otherwise, it leads to assert.
6715           https://bugzilla.gnome.org/show_bug.cgi?id=787124
6716
6717 2018-07-25 13:50:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6718
6719         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6720         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6721         * gst/vaapi/gstvaapidecode.c:
6722           vaapidecode: Skip unparsable units from adapter
6723           If the unit could not be parsed, just skip this nal and keep parsing
6724           what is left in the adapter. We need to flush the broken unit in the
6725           decoder specific parser because the generic code does not know about
6726           units boundary. This increases error resilliance.
6727           Before this, the broken unit would stay in the adapter and EOS would be
6728           returned. Which stopped the streaming. Just removing the EOS would have
6729           lead to the adapter size growing indefinitely.
6730           https://bugzilla.gnome.org/show_bug.cgi?id=796863
6731
6732 2018-07-24 12:40:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6733
6734         * gst/vaapi/gstvaapidecode.c:
6735           vaapidecoder: Don't error out on decode errors
6736           This is problematic on live pipeline where loosing network can
6737           cause an important amount of errors.
6738           https://bugzilla.gnome.org/show_bug.cgi?id=796832
6739
6740 2018-07-25 15:47:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6741
6742         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6743           h265decoder: Don't scan empty buffer
6744           Same as what we did for H264 decoder, this is to avoid an assertion
6745           in the adapter.
6746           https://bugzilla.gnome.org/show_bug.cgi?id=796832
6747
6748 2018-07-25 20:21:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6749
6750         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6751           libs: h264: renable the vaapi category for logging
6752           h264 log messages were logged in default category because a regression
6753           in code. This patch renable the usage of vaapi logging category.
6754           This regression was introduced in commit 7c365bdd.
6755
6756 2018-07-18 13:09:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6757
6758         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6759           h264decoder: Fail decoding slice if modification process failed
6760           This patch chains up failure to executing the modification process. The
6761           end result is that we now fail decoding the slice if this process fails.
6762           This avoid sending a corrupted state to the accelerator. In some special
6763           cases, this could lead to unrecoverable errors.
6764           https://bugzilla.gnome.org/show_bug.cgi?id=796832
6765
6766 2018-07-18 13:07:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6767
6768         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6769           h264decoder: Don't scan empty buffer
6770           gst_adapter_masked_scan_uint32_peek() asserts if size is 0. Don't
6771           try and scan in that case. This fixes assertion that would some times
6772           happen when the stream is corrupted.
6773           https://bugzilla.gnome.org/show_bug.cgi?id=796832
6774
6775 2018-07-04 12:51:10 +0800  Tianhao Liu <tianhao.liu@intel.com>
6776
6777         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
6778           libs: encoder: jpeg: set component id and Tqi
6779           This change is due a problem encoding JPEGs with Intel's
6780           media-driver: green/black image when playback jpeg
6781           This patch sets component identifier and quantization table
6782           destination selector in frame header to support packing headers
6783           by Intel's media-driver that does not accept packed header
6784           in AP level.
6785           https://bugzilla.gnome.org/show_bug.cgi?id=796705
6786
6787 2018-06-25 14:20:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
6788
6789         * gst/vaapi/gstvaapipluginutil.c:
6790           pluginutil: downgrade unsupported driver logging
6791           On systems with an Nvidia card, this error is output each time
6792           the registry is rebuilt, which happens pretty often when
6793           using gst-build as a development environment.
6794           https://bugzilla.gnome.org/show_bug.cgi?id=796663
6795
6796 2018-06-24 13:07:20 +0200  Tim-Philipp Müller <tim@centricular.com>
6797
6798         * gst/vaapi/gstvaapivideobufferpool.c:
6799           Update for g_type_class_add_private() deprecation in recent GLib
6800
6801 2018-05-30 16:01:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6802
6803         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6804           h264dec: Remove false assumption about parity order
6805           The decoder was trying to detect earlier that a field was lost base
6806           on guessing the parity order. This breaks in streams were the parity
6807           order changes.
6808           This patch reverts the field order prediction code added by commit
6809           8dd93e9c8.
6810           https://bugzilla.gnome.org/show_bug.cgi?id=796169
6811
6812 2018-05-18 17:03:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6813
6814         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6815           h264dec: Properly set sentinel in ref frame list
6816           This ensure that we always have sentinels set in the reference
6817           pictures arrays. The code wasn't unsafe, this simply improve the
6818           tracing, so instead of printing 32 lines of zeros, va tracer
6819           prints proper empty lists.
6820           https://bugzilla.gnome.org/show_bug.cgi?id=796169
6821
6822 2018-06-13 18:00:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6823
6824         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6825         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6826         * gst-libs/gst/vaapi/gstvaapidisplay.h:
6827         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6828         * gst-libs/gst/vaapi/gstvaapifilter.c:
6829         * gst-libs/gst/vaapi/gstvaapiobject.c:
6830         * gst-libs/gst/vaapi/gstvaapivideopool.c:
6831         * gst/vaapi/gstvaapipluginbase.c:
6832         * gst/vaapi/gstvaapivideometa.c:
6833         * tests/test-decode.c:
6834           libs: display: remove gst_vaapi_display_ref()
6835           Replace it with gst_object_ref()
6836           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6837
6838 2018-06-13 17:54:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6839
6840         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6841         * gst-libs/gst/vaapi/gstvaapidisplay.h:
6842         * gst/vaapi/gstvaapi.c:
6843         * gst/vaapi/gstvaapidecode.c:
6844         * gst/vaapi/gstvaapiencode.c:
6845         * gst/vaapi/gstvaapipluginbase.c:
6846         * gst/vaapi/gstvaapipluginutil.c:
6847         * tests/output.c:
6848         * tests/simple-encoder.c:
6849         * tests/test-decode.c:
6850         * tests/test-display.c:
6851         * tests/test-fei-enc-in.c:
6852         * tests/test-filter.c:
6853         * tests/test-subpicture.c:
6854         * tests/test-surfaces.c:
6855         * tests/test-textures.c:
6856         * tests/test-windows.c:
6857           libs: display: remove gst_vaapi_display_unref()
6858           Use gst_object_unref() instead.
6859           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6860
6861 2018-06-13 18:10:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6862
6863         * gst/vaapi/gstvaapivideobufferpool.c:
6864           vaapibufferpool: declare parameter display as object
6865           We have neglected to update this code since GstVaapiDisplay turned
6866           into a GstObject descendant.
6867           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6868
6869 2018-06-01 12:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
6870
6871         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6872         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6873         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6874         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
6875         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
6876         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6877         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6878           libs: display: replace gst_vaapi_display_new() with gst_vaapi_display_config()
6879           Gobjectification for GstVaapiDisplay was almost done by the commit 185da3d1.
6880           But still something breaking GObject code convention remains, which is
6881           calling gst_vaapi_display_new() in each decendants.
6882           This patch replaces it with gst_vaapi_display_config(), defined in private
6883           header.
6884           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6885
6886 2018-06-13 17:05:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6887
6888         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6889           libs: display: redefine gst_vaapi_display_create()
6890           The function name was gst_vaapi_display_create_unlocked(), nonetheless
6891           it wasn't called unlocked. In order to keep the semantics this patch
6892           renames the gst_vaapi_display_create_unlocked() as
6893           gst_vaapi_display_create(), removing the previous function
6894           gst_vaapi_display_create().
6895           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6896
6897 2018-06-12 15:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6898
6899         * meson.build:
6900           Revert "build: meson: libva gst-uninstall friendly"
6901           This reverts commit fc3eef9c432c1628cb92ab56e74924cf1182da30.
6902
6903 2018-06-12 15:13:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6904
6905         * gst/vaapi/gstvaapipluginutil.c:
6906           plugins: fix compilation
6907           gstvaapipluginutil.c:171:1: error: old-style function definition [-Werror=old-style-definition]
6908
6909 2018-04-20 18:05:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6910
6911         * meson.build:
6912           build: meson: libva gst-uninstall friendly
6913           Make gstreamer-vaapi to use libva uninstalled.
6914
6915 2018-06-10 10:44:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6916
6917         * gst/vaapi/gstvaapipluginutil.c:
6918           plugins: refactor gst_vaapi_create_display_from_gl_context()
6919           gst_vaapi_create_display_from_gl_context() was a spaghetti mess.
6920           This path refactors it, in order to make the code readable and
6921           easy to follow.
6922           https://bugzilla.gnome.org/show_bug.cgi?id=796564
6923
6924 2018-05-25 12:17:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6925
6926         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6927         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6928         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
6929           libs: display: resurrect parent private member
6930           This is, practically, a revert of commit dcf135e2.
6931           The parent logic is useful for the EGL display, which is a decorator
6932           of the real windowing subsystem (X11 or Wayland). Thus it is avoided
6933           calling vaInitialize() and vaTerminate() twice.
6934           https://bugzilla.gnome.org/show_bug.cgi?id=795391
6935
6936 2018-04-27 18:35:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6937
6938         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6939           libs: display: egl: initialize params structure
6940           Statically initialise the internal params structure.
6941           https://bugzilla.gnome.org/show_bug.cgi?id=795391
6942
6943 2018-04-27 18:34:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6944
6945         * gst/vaapi/gstvaapipluginutil.c:
6946           plugins: handle EGL when creating VAAPI display from gl
6947           If GstGL reports a EGL platform force to create a EGL display using
6948           the native EGL display.
6949           https://bugzilla.gnome.org/show_bug.cgi?id=795391
6950
6951 2018-04-24 18:17:24 +0900  Hyunjun Ko <zzoon@igalia.com>
6952
6953         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6954         * gst/vaapi/gstvaapipluginutil.c:
6955           display: egl: create VaapiDisplayEGL with native EGL display
6956           gst_vaapi_display_egl_new_with_native_display() has been broken since
6957           it wasn't used.
6958           Currently it's needed to call this API to create a display providing
6959           the EGL display, so it could avoid duplicated calls to the native
6960           display (eg. eglTerminate).
6961           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
6962           https://bugzilla.gnome.org/show_bug.cgi?id=795391
6963
6964 2018-06-07 09:34:11 +0800  Tianhao Liu <tianhao.liu@intel.com>
6965
6966         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
6967           libs: decoder: release VA buffers after vaEndPicture
6968           This change is due a problem decoding JPEGs with Intel's media-driver:
6969           no image was generated.
6970           This patch relases the VA buffers after vaEndPicture() is called,
6971           and not before (after vaRenderPicture()).
6972           https://bugzilla.gnome.org/show_bug.cgi?id=796505
6973
6974 2018-06-07 19:49:02 +0100  Tim-Philipp Müller <tim@centricular.com>
6975
6976         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6977         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
6978         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
6979           meson: fix build when xrender or xrandr are not available
6980           HAVE_XRENDER are defined to 1 or 0, not defined or undefined.
6981
6982 2018-05-25 16:47:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
6983
6984         * gst/vaapi/gstvaapipostproc.c:
6985           vaapipostproc: don't copy the GstParentBufferMeta if use_vpp
6986           Otherwise a reference to a DMABuf input buffer is kept until the output
6987           buffer is deleted.
6988           https://bugzilla.gnome.org/show_bug.cgi?id=796399
6989
6990 2018-05-22 21:13:08 +0900  Hyunjun Ko <zzoon@igalia.com>
6991
6992         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6993         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
6994           libs: display: remove unnecessary legacy code since gobjectification
6995           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6996
6997 2018-05-22 21:05:54 +0900  Hyunjun Ko <zzoon@igalia.com>
6998
6999         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7000         * gst-libs/gst/vaapi/gstvaapidisplay.h:
7001           libs: display: remove unused code
7002           https://bugzilla.gnome.org/show_bug.cgi?id=796470
7003
7004 2018-06-05 15:16:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7005
7006         * gst/vaapi/gstvaapiencode_h264.c:
7007           vaapiencode: h264: log output caps
7008
7009 2018-06-05 22:38:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7010
7011         * gst/vaapi/gstvaapiencode_h264.c:
7012           vaapiencode: h264: find profile in available and allowed caps
7013           The commit 67e33d3de225d0e006d7bf606e7abb20d4544eab ("vaapiencode: h264:
7014           find best profile in those available") changed the code to pick a profile
7015           that is actually supported by the hardware. Unfortunately it dropped the
7016           downstream constraints. This can cause negotiation failures under certain
7017           circumstances.
7018           The fix is split in two cases:
7019           1\ the available VA-API caps doesn't intersect with pipeline's allowed
7020           caps:
7021           * The best allowed profile (pipeline's caps) is set as the encoding
7022           target profile (it will be adjusted later by the available profiles
7023           and properties)
7024           2\ the available VA-API caps does intersect with pipeline's allowed
7025           caps:
7026           * The intersected caps are fixed, and its profile is set as the
7027           encoding target profile. In this case the is not the best profile,
7028           but the minimal one (if VA-API reports the profiles in order).
7029           Setting the minimal profile of the intersected caps is better for
7030           compatibility.
7031           This patch fixes other tests related with caps negotiation, for
7032           example, it handles baseline profile, even when VA only supports
7033           constrained-baseline.
7034           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
7035           https://bugzilla.gnome.org/show_bug.cgi?id=794306
7036
7037 2018-06-01 15:27:25 +0900  Hyunjun Ko <zzoon@igalia.com>
7038
7039         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7040           libs: encoder: h265: increase log2_max_pic_order_cnt range according to spec
7041           The specification says,
7042           "log2_max_pic_order_cnt_lsb_minus4 shall be in the range of 0 to 12, inclusive."
7043           This patch changes the upper limit from 6 to 12.
7044           https://bugzilla.gnome.org/show_bug.cgi?id=796179
7045
7046 2018-05-21 13:27:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7047
7048         * gst/vaapi/gstvaapipluginutil.c:
7049           plugins: guard GstGL code
7050
7051 2018-05-18 18:23:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7052
7053         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7054           libs: decoder: h264: use g_clear_pointer()
7055
7056 2018-05-18 17:27:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7057
7058         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
7059         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
7060           libs: decoder: mpeg4, vc1: remove unused header
7061
7062 2018-05-18 11:09:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7063
7064         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
7065           libs: decoder: remove unused forward declaration
7066
7067 2018-05-07 07:59:25 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
7068
7069         * configure.ac:
7070           fix configure.ac regression
7071           Fixes regression introduced by 77527d67abe
7072           https://bugzilla.gnome.org/show_bug.cgi?id=795885
7073
7074 2018-05-05 17:57:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7075
7076         * gst-libs/gst/Makefile.am:
7077         * gst-libs/gst/base/Makefile.am:
7078         * gst-libs/gst/base/gstbitwriter.c:
7079         * gst-libs/gst/base/gstbitwriter.h:
7080         * gst-libs/gst/base/meson.build:
7081         * gst-libs/gst/meson.build:
7082         * gst-libs/gst/vaapi/Makefile.am:
7083         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7084         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
7085         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7086         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
7087         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
7088         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
7089         * gst-libs/gst/vaapi/meson.build:
7090           libs: remove gstbitwriter
7091           Since it is deployed in gstreamer-core, there is no need to use
7092           our custom version.
7093           https://bugzilla.gnome.org/show_bug.cgi?id=795848
7094
7095 2018-04-28 16:10:46 +0800  Wang,Fei <fei.w.wang@intel.com>
7096
7097         * gst/vaapi/gstvaapidecode.c:
7098           vaapih264dec: add constrained and progressive profiles
7099           Those profiles have been added in the version 2012-01
7100           and 2011-06 of the AVC spec (A.2.4.1 and A.2.4.2).
7101           Both are supported by VAProfileH264High
7102           https://bugzilla.gnome.org/show_bug.cgi?id=795624
7103
7104 2018-04-26 18:15:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7105
7106         * gst/vaapi/gstvaapipluginbase.c:
7107         * gst/vaapi/gstvaapipluginutil.c:
7108         * gst/vaapi/gstvaapivideocontext.c:
7109         * gst/vaapi/gstvaapivideocontext.h:
7110           plugin: remove custom GstGL context handling
7111           Instead of using our own context handling for looking for GstGL
7112           parameters (display, context and other context), this patch changes
7113           the logic to use the utility function offered by GstGL.
7114           https://bugzilla.gnome.org/show_bug.cgi?id=793643
7115
7116 2018-04-26 15:03:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7117
7118         * gst/vaapi/gstvaapipluginbase.c:
7119           plugins: GstGL API must use the member variables
7120           This commit basically is a revert of commits 8092537 and fc1c415
7121           https://bugzilla.gnome.org/show_bug.cgi?id=793643
7122
7123 2018-04-25 16:24:32 +0900  Hyunjun Ko <zzoon@igalia.com>
7124
7125         * gst/vaapi/gstvaapipluginbase.c:
7126           plugins: pass members as parameters of gst_gl_ensure_element_data()
7127           The parameters of gst_gl_ensure_element_data() have to be not
7128           local variable since they are going to be used to see if they're
7129           set in gst_element_set_context() inside the API.
7130           This is basically a revert of commit 3d56306c
7131           https://bugzilla.gnome.org/show_bug.cgi?id=793643
7132
7133 2018-04-25 17:50:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7134
7135         * meson.build:
7136           meson: fix USE_GLES_VERSION_MASK
7137           1. The macro in the code is USE_GLES_VERSION_MASK
7138           2. glesv3 is provided by glesv2 pkg-config, then it's required to
7139           check headers
7140           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7141
7142 2018-04-24 18:12:44 +0900  Hyunjun Ko <zzoon@igalia.com>
7143
7144         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7145           libs: egl: utils: mark context as wrapped when it is
7146           The returning egl context may be null, so we should check the
7147           return value.
7148           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7149
7150 2018-04-24 10:02:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7151
7152         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7153           libs: egl: utils: fix usage of GstGL macros
7154           Include gl.h for the required GstGL symbols.
7155           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7156
7157 2018-04-25 11:01:45 +0100  Tim-Philipp Müller <tim@centricular.com>
7158
7159         * meson.build:
7160           meson: use -Wl,-Bsymbolic-functions where supported
7161           Just like the autotools build.
7162
7163 2018-04-20 16:01:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7164
7165         * meson.build:
7166           meson: use get_pkgconfig_variable()
7167           Use get_pkgconfig_variable() method, of dependency class, rather
7168           than using run_command().
7169
7170 2018-04-20 11:50:55 +0100  Tim-Philipp Müller <tim@centricular.com>
7171
7172         * gst-libs/gst/base/meson.build:
7173         * gst-libs/gst/vaapi/meson.build:
7174         * meson.build:
7175           meson: fix miscellaneous meson warnings
7176           WARNING: Passed invalid keyword argument "rqeuired".
7177           gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "version".
7178           gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "soversion".
7179           gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "version".
7180           gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "soversion".
7181
7182 2018-03-30 13:41:39 +0200  Paul Kocialkowski <paul.kocialkowski@bootlin.com>
7183
7184         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
7185           display: drm: Allow finding DRM paths out of the PCI subsystem
7186           This removes hard-coded checks on the parent subsystem of potential DRM
7187           devices. These checks were set to exlude devices that do not originate
7188           from the PCI bus, which is only a valid approach on x86 devices.
7189           Other devices may have a DRM device originating from the platform
7190           subsystem, so the checks that were previously restricted to PCI are
7191           extended to cover platform devices as well.
7192           https://bugzilla.gnome.org/show_bug.cgi?id=794840
7193           Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
7194
7195 2017-11-08 13:27:06 +0900  Hyunjun Ko <zzoon@igalia.com>
7196
7197         * gst/vaapi/gstvaapivideocontext.c:
7198           videocontext: support wl-display in "gst.vaapi.app.Display"
7199           Through "gst.vaapi.app.Display" context, users can set their own
7200           VADisplay and native display of their backend.
7201           So far we support only X11 display, from now we also support Wayland
7202           display.
7203           Attributes:
7204           - wl-display : pointer of struct wl_display .
7205           https://bugzilla.gnome.org/show_bug.cgi?id=705821
7206
7207 2017-11-08 13:26:38 +0900  Hyunjun Ko <zzoon@igalia.com>
7208
7209         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
7210         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
7211           libs: display: wayland: add gst_vaapi_display_wayland_new_with_va_display()
7212           Implements new API function so that users could create GstVaapiDisplay
7213           with their own VADisplay within a native display as backend.
7214           https://bugzilla.gnome.org/show_bug.cgi?id=705821
7215
7216 2018-04-13 09:28:53 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
7217
7218         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
7219           wayland: don't poll if there are no pending frames
7220           Otherwise the following poll may not return for an arbitrary amount of
7221           time. This can happen if another wayland event queue has flushed and read
7222           our events.
7223           https://bugzilla.gnome.org/show_bug.cgi?id=795224
7224
7225 2017-10-16 12:09:08 +0900  Hyunjun Ko <zzoon@igalia.com>
7226
7227         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7228           libs: encoder: h265: 16 bit rounding of picture width and height
7229           pic_width_in_luma_samples/pic_height_in_luma_samples can be 16-bit rounded
7230           instead of 32-bit.
7231           In addition, codedbuf_size must be calculated according to this change.
7232           https://bugzilla.gnome.org/show_bug.cgi?id=753229
7233
7234 2018-04-16 10:53:47 +0100  Tim-Philipp Müller <tim@centricular.com>
7235
7236         * common:
7237           Automatic update of common submodule
7238           From 3fa2c9e to ed78bee
7239
7240 2018-03-30 20:39:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7241
7242         * gst/vaapi/gstvaapiencode_h264.c:
7243           vaapiencode: h264: find best profile in those available
7244           Instead to look for the best profile in the allowed profiles by
7245           downstream, the encoder should look for the base profile in the
7246           available profile in VA-API.
7247           https://bugzilla.gnome.org/show_bug.cgi?id=794306
7248
7249 2018-03-20 10:49:10 +0000  Tim-Philipp Müller <tim@centricular.com>
7250
7251         * NEWS:
7252         * RELEASE:
7253         * configure.ac:
7254         * docs/plugins/inspect/plugin-vaapi.xml:
7255         * meson.build:
7256           Back to development
7257
7258 === release 1.14.0 ===
7259
7260 2018-03-19 20:30:28 +0000  Tim-Philipp Müller <tim@centricular.com>
7261
7262         * ChangeLog:
7263         * NEWS:
7264         * configure.ac:
7265         * gstreamer-vaapi.doap:
7266         * meson.build:
7267           Release 1.14.0
7268
7269 2018-03-12 16:59:01 +0000  Julien Isorce <jisorce@oblong.com>
7270
7271         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7272           libs: decoder: h264: ensure num_ref_frames is greater than 0
7273           Even if it is the h264parse fault or bad video file, vaapih264dec
7274           should set a proper value for VAPictureParameterBufferH264.num_ref_frames
7275           as the driver might use it.
7276           Also see "info.ref_frames = dpb_size;" in
7277           gstvaapidecoder_h264.c::ensure_context
7278           https://bugzilla.gnome.org/show_bug.cgi?id=793836
7279
7280 === release 1.13.91 ===
7281
7282 2018-03-13 19:32:05 +0000  Tim-Philipp Müller <tim@centricular.com>
7283
7284         * ChangeLog:
7285         * NEWS:
7286         * configure.ac:
7287         * gstreamer-vaapi.doap:
7288         * meson.build:
7289           Release 1.13.91
7290
7291 === release 1.13.90 ===
7292
7293 2018-03-03 22:59:30 +0000  Tim-Philipp Müller <tim@centricular.com>
7294
7295         * ChangeLog:
7296         * NEWS:
7297         * configure.ac:
7298         * gstreamer-vaapi.doap:
7299         * meson.build:
7300           Release 1.13.90
7301
7302 2018-03-01 07:33:27 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7303
7304         * gst/vaapi/gstvaapipostproc.c:
7305           vaapipostproc: change how the metadata is copied
7306           Instead of copying the metada in prepare_output_buffer() vmethod,
7307           it is done in append_output_buffer_metadata() thus deinterlaced
7308           buffers could also have the proper metas.
7309           GstVideoCropMeta now it is copied internally and it is decided via
7310           transform_meta() vmethod.
7311           A new internal method, copy_metadata() was added to handle VPP
7312           transformation where non-GstVideoVaapiMeta metas were lost.
7313
7314 2018-02-27 16:20:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7315
7316         * gst/vaapi/gstvaapipostproc.c:
7317           postproc: Copy meta data from input to output
7318           This will ensure that meta data without memory tags will be copied. This
7319           was noticed when testing ROI.
7320           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7321
7322 2018-02-23 10:48:36 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7323
7324         * tests/elements/test-roi.c:
7325           tests: element: rewrite ROI test
7326           Rewrote the ROI test to use GstVideoRegionOfInterest meta rather
7327           than injecting GstEvents. These meta are added as a pad probe in
7328           the queue src pad.
7329           Also
7330           * Use of navigation messages to control de test
7331           * Use signal watch for processing messages
7332           * Change to H265 rather than H264 since current intel-vaapi-driver
7333           only supports ROI on kabylake.
7334           TODO: add a parameter to change the encoder/decoder to test.
7335           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7336
7337 2018-02-22 14:20:42 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7338
7339         * gst-libs/gst/vaapi/gstvaapicontext.c:
7340         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7341         * gst-libs/gst/vaapi/gstvaapiencoder.h:
7342         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7343         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7344         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
7345           libs: encoder: reimplement ROI using meta
7346           Check input buffers for ROI metas and pass them to VA. Also added a
7347           new "default-roi-delta-qp" property in order to tell the encoder what
7348           delta QP should be applied to ROI by default.
7349           Enabled it for H264 and H265 encoders.
7350           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7351
7352 2018-02-22 08:22:35 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7353
7354         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7355         * gst-libs/gst/vaapi/gstvaapiencoder.h:
7356         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
7357           Revert "libs: encoder: add api gst_vaapi_encoder_add/del_roi"
7358           This reverts commit 7a6f690340dcb3b82c59efa777d4453227851de8.
7359           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7360
7361 2018-02-22 14:29:19 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7362
7363         * tests/simple-encoder.c:
7364           Revert "tests: simple-encoder: add an option to set ROI"
7365           This reverts commit c21345c4787bb6342adddea1190f53fe62abff04.
7366           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7367
7368 2018-02-21 10:56:47 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7369
7370         * gst/vaapi/gstvaapiencode.c:
7371         * gst/vaapi/gstvaapiencode_h264.c:
7372           Revert "vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest"
7373           This reverts commit 8f1b88dac0e64a211325cdcb2cda693b80229bd1.
7374           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7375
7376 2018-02-23 09:25:51 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7377
7378         * gst/vaapi/gstvaapipluginbase.c:
7379           plugins: copy input buffer metas
7380           When importing buffers to a VA-base buffer, it is required to copy
7381           the metas in the original buffer, otherwise information will be
7382           lost, such as GstVideoRegionOfInterestMeta.
7383           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7384
7385 2018-02-27 06:10:09 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7386
7387         * gst-libs/gst/vaapi/gstvaapisurface.c:
7388           libs: surface: cast to uintptr_t pointer
7389           According to Debian package auto-building, uintptr_t is not an
7390           unsigned long in i386 arch, raising an "incompatible pointer type"
7391           error.
7392           This patch adds a casting for compiler's satisfaction in i386.
7393
7394 2018-02-25 20:46:56 -0600  Matteo Valdina <matteo.valdina@gmail.com>
7395
7396         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7397           libs: encoder: add zero as valid value for periodic keyframe.
7398           Enabled zero as valid value for keyframe-period property.
7399           https://bugzilla.gnome.org/show_bug.cgi?id=793829
7400
7401 2018-02-22 08:24:12 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7402
7403         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7404           libs: encoder: code-style fix
7405
7406 2018-02-17 18:32:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7407
7408         * gst/vaapi/gstvaapidecode.c:
7409           vaapidecode: generate system allocated buffers
7410           Generate system allocated output buffers when downstream doesn't
7411           support GstVideoMeta.
7412           The VA buffer content is copied to the new output buffer, and it
7413           replaces the VA buffer.
7414           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7415
7416 2018-02-15 19:32:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7417
7418         * gst/vaapi/gstvaapipostproc.c:
7419           vaapipostproc: handle system allocated buffers when required
7420           When downstream can't handle GstVideoMeta it is required to send
7421           system allocated buffers.
7422           The system allocated buffers are produced in prepare_output_buffer()
7423           vmethod if downstream can't handl GstVideoMeta.
7424           At transform() vmethod if the buffer is a system allocated buffer,
7425           a VA buffer is instanciated and replaces the out buffer. Later
7426           the VA buffer is copied to the system allocate buffer and it
7427           replaces the output buffer.
7428           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7429
7430 2018-02-15 19:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7431
7432         * gst/vaapi/gstvaapipluginbase.c:
7433         * gst/vaapi/gstvaapipluginbase.h:
7434           plugins: add gst_vaapi_copy_va_buffer()
7435           This helper function aims to copy buffers with VA memory to dumb
7436           buffers, when GstVideoMeta is not available dowstream.
7437           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7438
7439 2018-02-15 19:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7440
7441         * gst/vaapi/gstvaapipluginbase.c:
7442         * gst/vaapi/gstvaapipluginbase.h:
7443           plugins: add COPY_OUTPUT_FRAME flag
7444           This patch add the member copy_output_frame and set it TRUE when
7445           when downstream didn't request GstVideoMeta API, the caps are raw
7446           and the internal allocator is the VA-API one.
7447           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7448
7449 2018-02-15 19:28:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7450
7451         * gst/vaapi/gstvaapipluginbase.c:
7452         * gst/vaapi/gstvaapipluginbase.h:
7453           plugins: store the first downstream allocator if available
7454           The allocator will be required if we need to allocate a buffer
7455           to store the frame with the expected strides.
7456           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7457
7458 2018-02-20 02:25:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7459
7460         * gst/vaapi/gstvaapivideobufferpool.c:
7461         * gst/vaapi/gstvaapivideobufferpool.h:
7462           vaapibufferpool: add gst_vaapi_video_buffer_pool_copy_buffer()
7463           This function will inform the element if it shall copy the generated
7464           buffer by the pool to a system allocated buffer before pushing it
7465           to downstream.
7466           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7467
7468 2018-02-15 19:22:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7469
7470         * gst/vaapi/gstvaapivideobufferpool.c:
7471           vaapibufferpool: don't change config when forcing video meta
7472           VA-API based buffer might need a video meta because of different
7473           strides. But when donwstream doesn't support video meta we need to
7474           force the usage of video meta.
7475           Before we changed the buffer pool configuration, but actually this
7476           is a hack and we cannot rely on that for downstream.
7477           This patch add a check fo raw video caps and allocator is VA-API,
7478           then the option is enabled without changing the pool configuration.
7479           In this case the element is responsible to copy the frame to a
7480           simple buffer with the expected strides.
7481           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7482
7483 2018-02-20 09:15:05 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7484
7485         * gst/vaapi/gstvaapipostproc.c:
7486           vaapipostproc: set discont flag at vpp deinterlacing
7487           When deinterlacing with VPP the discont flag was not forwarded to
7488           the new created buffer. This patch sets the discont flag if input
7489           buffer has it.
7490
7491 2018-02-20 02:14:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7492
7493         * gst/vaapi/gstvaapivideobufferpool.h:
7494           vaapibufferpool: remove wrong gcc annotation
7495
7496 2018-02-15 14:55:42 -0600  Matteo Valdina <matteo.valdina@gmail.com>
7497
7498         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7499         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7500         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
7501         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7502         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
7503         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
7504         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
7505           libs: encoder: h264,h265: extend max periodic keyframe.
7506           Increased max values of periodic key frame for h26x codecs.
7507           This allow more fine tunning of encoder that in certian scenario
7508           want higher periodic key frame.
7509           For example: it doesn't want a key frame each 10 seconds but
7510           each 120 seconds.
7511           https://bugzilla.gnome.org/show_bug.cgi?id=786320
7512
7513 2018-02-15 19:44:35 +0000  Tim-Philipp Müller <tim@centricular.com>
7514
7515         * configure.ac:
7516         * meson.build:
7517           Back to development
7518
7519 === release 1.13.1 ===
7520
7521 2018-02-15 17:39:16 +0000  Tim-Philipp Müller <tim@centricular.com>
7522
7523         * Makefile.am:
7524         * NEWS:
7525         * configure.ac:
7526         * gstreamer-vaapi.doap:
7527         * meson.build:
7528           Release 1.13.1
7529
7530 2018-02-15 18:15:33 +0000  Tim-Philipp Müller <tim@centricular.com>
7531
7532         * gst/vaapi/Makefile.am:
7533           vaapi: dist new header
7534
7535 2018-02-12 17:53:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7536
7537         * gst/vaapi/gstvaapi.c:
7538           vaapi: register vaapisink as marginal on wayland
7539           vaapsink, when used with the Intel VA-API driver, tries to display
7540           surfaces with format NV12, which are handled correctly by
7541           Weston. Nonetheless, COGL cannot display YUV surfaces, making fail
7542           pipelines on mutter.
7543           This shall be solved either by COGL or by making the driver to paint
7544           RGB surfaces. In the meanwhile, let's just demote vaapisink as
7545           marginal when the Wayland environment is detected, no matter if it is
7546           Weston.
7547           https://bugzilla.gnome.org/show_bug.cgi?id=775698
7548
7549 2018-02-12 19:00:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7550
7551         * gst/vaapi/gstvaapipluginutil.c:
7552           plugins: update mesa's vendor string in whitelist
7553           Mesa has updated its VA-API Gallium driver vendor string:
7554           https://cgit.freedesktop.org/mesa/mesa/commit/?id=5db29d62ce1fefa3f2ee6e4a4688576fde4bde4a
7555           This patch tries to cover both, the old and the new one.
7556           https://bugzilla.gnome.org/show_bug.cgi?id=793386
7557
7558 2018-02-08 19:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>
7559
7560         * meson.build:
7561           meson: make version numbers ints and fix int/string comparison
7562           WARNING: Trying to compare values of different types (str, int).
7563           The result of this is undefined and will become a hard error
7564           in a future Meson release.
7565
7566 2018-02-07 09:13:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7567
7568         * gst/vaapi/gstvaapipluginbase.c:
7569           plugins: handle vaapi allocator in allocation query
7570           In propose_allocation() if the numer of allocation params is zero, the
7571           system's allocator is added first, and lastly the native VA-API
7572           allocator.
7573           In decide_allocation(), the allocations params in query are travered,
7574           looking for a native VA-API allocator. If it is found, it is reused as
7575           src pad allocator. Otherwise, a new allocator is instantiated and
7576           appended in the query.
7577           https://bugzilla.gnome.org/show_bug.cgi?id=789476
7578
7579 2018-02-07 09:06:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7580
7581         * gst/vaapi/gstvaapivideomemory.h:
7582           vaapivideomemory: remove unused macro
7583           GST_VAAPI_VIDEO_ALLOCATOR_NAME was added in commit 5b11b8332 but it
7584           was never used, since the native VA-API allocator name has been
7585           GST_VAAPI_VIDEO_MEMORY_NAME.
7586           This patch removes GST_VAAPI_VIDEO_ALLOCATOR_NAME macro.
7587           https://bugzilla.gnome.org/show_bug.cgi?id=789476
7588
7589 2018-02-02 08:54:00 +0000  VaL Doroshchuk <valkov@yandex.ru>
7590
7591         * gst/vaapi/gstvaapisink.c:
7592           vaapisink: don't mask button events for foreign windows
7593           Don't subscribe to button press events when using a foreing window,
7594           because the user created window would trap those events, preveting the
7595           show of frames.
7596           https://bugzilla.gnome.org/show_bug.cgi?id=791615
7597
7598 2018-02-05 08:51:56 +0100  Tim-Philipp Müller <tim@centricular.com>
7599
7600         * configure.ac:
7601           autotools: use -fno-strict-aliasing where supported
7602           https://bugzilla.gnome.org/show_bug.cgi?id=769183
7603
7604 2018-01-30 20:38:37 +0000  Tim-Philipp Müller <tim@centricular.com>
7605
7606         * meson.build:
7607           meson: use -fno-strict-aliasing where supported
7608           https://bugzilla.gnome.org/show_bug.cgi?id=769183
7609
7610 2018-01-30 12:56:49 +0000  Philippe Normand <philn@igalia.com>
7611
7612         * gst/vaapi/gstvaapi.c:
7613           vaapi: add NULL-sentinel to kernel_names
7614           The array needs to be NULL-terminated according to the
7615           gst_plugin_add_dependency() documentation.
7616
7617 2018-01-18 18:53:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7618
7619         * gst/vaapi/gstvaapipostprocutil.c:
7620           vaapipostproc: remove spurious code
7621           This assignation is dead code, since gst_video_info_from_caps() set
7622           to 1 by default.
7623           https://bugzilla.gnome.org/show_bug.cgi?id=790149
7624
7625 2018-01-18 18:51:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7626
7627         * gst/vaapi/gstvaapipostprocutil.c:
7628           vaapipostproc: if no p-a-r in out caps define a range
7629           Instead of copying the pixel-aspect-ratio from the sink caps, define
7630           an open range for the src caps pixel-aspect-ratio. Later it will be
7631           defined.
7632           https://bugzilla.gnome.org/show_bug.cgi?id=790149
7633
7634 2018-01-18 13:10:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7635
7636         * gst/vaapi/gstvaapisink.c:
7637           vaapisink: check for display's color-balance properties
7638           Check for display's color-balance properties, available by the VA-API
7639           driver, before setting them.
7640           Also logs an info message of those unavailable properties.
7641           https://bugzilla.gnome.org/show_bug.cgi?id=792638
7642
7643 2018-01-17 17:30:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7644
7645         * gst/vaapi/gstvaapipluginbase.c:
7646           plugins: re-using buffer pool breaks renegotiation
7647           at propose_allocation() we should not reuse the proposed buffer,
7648           because it could break renegotiation.
7649           https://bugzilla.gnome.org/show_bug.cgi?id=792620
7650
7651 2018-01-17 17:26:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7652
7653         * gst/vaapi/gstvaapipluginbase.c:
7654           plugins: use g_clear_object() to unref sinkpad_buffer_pool
7655           https://bugzilla.gnome.org/show_bug.cgi?id=792620
7656
7657 2018-01-17 12:42:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7658
7659         * gst-libs/gst/vaapi/meson.build:
7660           build: meson: add missing GstGL dependency
7661
7662 2018-01-17 12:41:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7663
7664         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7665           libs: utils: egl: add missing guards for GstGL
7666
7667 2018-01-11 11:48:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7668
7669         * gst/vaapi/gstvaapipluginbase.c:
7670           plugins: remove dmabuf-import hack
7671           Remove the hack to check if an upstream element has enabled the
7672           property io-mode enabled as dmabuf-import.
7673           https://bugzilla.gnome.org/show_bug.cgi?id=792034
7674
7675 2017-12-01 15:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7676
7677         * gst-libs/gst/vaapi/Makefile.am:
7678         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7679         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7680         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
7681           libs: egl: utils: use eglGetPlatformDisplay()
7682           eglGetDisplay() is currently broken in Mesa for Wayland.  Also using
7683           eglGetDisplay() is rather fragile, and it is recommended to use
7684           eglGetPlatformDisplay() when possible.
7685           In order to do that, this patch uses the helper in GstGL. If
7686           gstreamer-vaapi is not compiled with GstGL support, eglGetDisplay()
7687           will be used.
7688           https://bugzilla.gnome.org/show_bug.cgi?id=790493
7689
7690 2017-12-08 14:46:02 +0100  Michael Tretter <m.tretter@pengutronix.de>
7691
7692         * gst/vaapi/gstvaapipostproc.c:
7693           vaapipostproc: lock ensure_filter with postproc_lock
7694           gst_vaapipostproc_ensure_filter might free the allowed_srcpad_caps
7695           and allowed_sinkpad_caps. This can race with copying these caps in
7696           gst_vaapipostproc_transform_caps and lead to segfaults.
7697           The gst_vaapipostproc_transform_caps function already locks
7698           postproc_lock before copying the caps. Make sure that calls to
7699           gst_vaapipostproc_ensure_filter also acquire this lock.
7700           https://bugzilla.gnome.org/show_bug.cgi?id=791404
7701
7702 2018-01-10 17:10:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7703
7704         * tests/test-filter.c:
7705           tests: test-filter: fix dereference before null check
7706           Null-checking op_info suggests that it may be null, but it has already
7707           been dereferenced on all paths leading to the check.
7708           There may be a null pointer dereference, or else the comparison
7709           against null is unnecessary.
7710
7711 2018-01-10 17:06:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7712
7713         * tests/y4mreader.c:
7714           tests: y4mreader: fix string state checkup
7715           str cannot be null in that moment, but it may be the end of string.
7716
7717 2018-01-10 16:59:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7718
7719         * tests/y4mreader.c:
7720           tests: y4mreader: use int for fgetc
7721           Assigning the return value of fgetc to char truncates its value.
7722           It will not be possible to distinguish between EOF and a valid
7723           character.
7724
7725 2018-01-10 16:48:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7726
7727         * tests/y4mreader.c:
7728           tests: y4mreader: fix incompatible cast
7729           Passed pointer in parse_int() are unsigned int (32 bits, unsigned) but
7730           they are dereferenced as a wider long (64 bits, signed). This may lead
7731           to memory corruption.
7732
7733 2017-12-19 16:01:10 +0000  Tim-Philipp Müller <tim@centricular.com>
7734
7735         * meson.build:
7736           meson: fix fallback for gstreamer-gl-1.0, it's now in -base
7737
7738 2017-12-14 14:53:27 +1100  Matthew Waters <matthew@centricular.com>
7739
7740         * common:
7741           Automatic update of common submodule
7742           From e8c7a71 to 3fa2c9e
7743
7744 2017-12-06 16:11:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7745
7746         * gst/vaapi/gstvaapivideocontext.c:
7747           videoconvert: gst_element_post_message() is transfer full on msg
7748           For this reson we need not to unref the message, even if it failed.
7749
7750 2017-12-06 16:11:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7751
7752         * gst/vaapi/gstvaapivideocontext.c:
7753           Revert "vaapivideocontext: possible memleak when no bus attached"
7754           This reverts commit 0438a3e62660e64ed390b6bb83bfb560b91664aa.
7755
7756 2017-12-01 23:03:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7757
7758         * tests/elements/test-vaapicontext.c:
7759           test: vaapicontext: process have-context bus message
7760
7761 2017-11-29 18:29:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7762
7763         * tests/elements/test-vaapicontext.c:
7764           test: vaapicontext: app context is not persistent
7765
7766 2017-11-29 11:02:03 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7767
7768         * gst/vaapi/gstvaapipluginbase.c:
7769         * gst/vaapi/gstvaapivideocontext.c:
7770         * gst/vaapi/gstvaapivideocontext.h:
7771           vaapivideocontext: only vaapisink process app context
7772           gst.vaapi.app.Display context is made for applications that will
7773           provide the VA display and the native display to used by the
7774           pipeline, when are using vaapisink as overlay. There are no use
7775           case for encoders, decoders, neither for the postprocessor.
7776           In the case of the vaapisink, it shall query for gst.vaapi.Display
7777           upstream first, and then, if there is no reply,
7778           gst.vaapi.app.Display context will be posted in the bus for the
7779           application. If the application replies, a GstVaapiDisplay object
7780           is instantiated given the context info, otherwise a
7781           GstVaapiDisplay is created with the normal algorithm to guess the
7782           graphics platform. Either way, the instantiated GstVaapiDisplay
7783           is propagated among the pipeline and the have-message bus message.
7784           Also only vaapisink will process the gst.vaapi.app.Display, if
7785           and only if, it doesn't have a display already set. This is
7786           caused because if vaapisink is in a bin (playsink, for example)
7787           the need-context is posted twice, leading to an error state.
7788           https://bugzilla.gnome.org/show_bug.cgi?id=790999
7789
7790 2017-12-01 20:21:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7791
7792         * gst/vaapi/gstvaapivideocontext.c:
7793           vaapivideocontext: log the name of GstVaapiDisplay
7794           https://bugzilla.gnome.org/show_bug.cgi?id=790999
7795
7796 2017-11-30 14:24:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7797
7798         * gst/vaapi/gstvaapivideocontext.c:
7799           vaapivideocontext: possible memleak when no bus attached
7800           https://bugzilla.gnome.org/show_bug.cgi?id=790999
7801
7802 2017-11-27 13:04:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7803
7804         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
7805           libs: window: wayland: remove unused header include
7806           Remove wayland-client.h include since there is no exposed symbols from
7807           it.
7808
7809 2017-11-27 12:18:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7810
7811         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7812         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7813           libs: encoder: h264,h265: guard rate control's macroblock
7814           macroblock parameter appear on VA-API 1.0.0. It should be guarded.
7815
7816 2017-11-27 20:17:55 +1100  Matthew Waters <matthew@centricular.com>
7817
7818         * common:
7819           Automatic update of common submodule
7820           From 3f4aa96 to e8c7a71
7821
7822 2016-07-29 14:58:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7823
7824         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7825           libs: encoder: h264: Add Hierarchical-B encode
7826           Frames are encoded as different layers. Frame in a particular
7827           layer will use pictures in lower or same layer as references.
7828           Which means decoder can drop the frames in upper layer but still
7829           decode lower layer frames.
7830           B-frames, except the one in top most layer, are reference frames.
7831           All the base layer frames are I or P.
7832           eg: with 3 temporal layers
7833           T3:             B1            B3              B5              B7
7834           T2:                   B2                              B6
7835           T1:   I0                                P4                        P8
7836           T1, T2, T3: Temporal Layers
7837           P1...Pn:   P-Frames:
7838           B1...Bn:   B-frames:
7839           T1: I0->P4 , P4->P8 etc..
7840           T2: I0--> B2 <-- P4
7841           T3: I0--> B1 <-- B2, B2 --> B3 <-- P4
7842           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7843           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7844
7845 2016-07-28 18:33:23 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7846
7847         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7848           libs: encoder: h264: Add Hierarchical-P encode
7849           Frames are encoded as different layers. A frame in a particular
7850           layer will use pictures in lower or same layer as references.
7851           Which means decoder can drop the frames in upper layer but still
7852           decode lower layer frames.
7853           eg: with 3 temporal layers
7854           T3:             P1            P3              P5              P7
7855           T2:                   P2                              P6
7856           T1:   P0                                P4                        P8
7857           T1, T2, T3: Temporal Layers
7858           P1...pn:   P-Frames:
7859           P0->P1 , P0->P2, P2->P3, P0->P4......repeat
7860           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7861           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7862
7863 2016-07-28 16:51:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7864
7865         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7866           libs: encoder: h264: Fix frame_num generation
7867           The frame_num generation was not correctly implemented.
7868           According to h264 spec, frame_num should get incremented
7869           for each frame if previous frame is a referece frame.
7870           For eg: IPBPB sequece should have the frame numbers 0,1,2,2,3
7871           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7872           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7873
7874 2016-07-28 15:53:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7875
7876         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7877         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
7878           libs: encoder: h264: Add new property "prediction-type"
7879           Adds new property "prediction-type" to select different reference
7880           picture selection modes like hierarchical-p, hierarchical-b etc.
7881           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7882           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7883
7884 2016-07-28 15:12:05 +0300  XuGuangxin <guangxin.xu@intel.com>
7885
7886         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7887         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
7888           libs: encoder: h264: Add machinery for implementing hierarchical-prediction
7889           Adds some basic building blocks to ease the implementation
7890           of hierarchical prediction modes.
7891           -- add an utility method to find temporal level of each frame
7892           -- define max_ref_frame count based on temporal level count
7893           -- add temporal_level_div[] for finding temporal level each frame
7894           to be encoded.
7895           -- find ip_period based on temporal level count
7896           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7897           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7898
7899 2016-07-28 14:17:53 +0300  XuGuangxin <guangxin.xu@intel.com>
7900
7901         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7902         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
7903           libs: encoder: h264: Add property "temporal-levels"
7904           Adds new property "temporal-levels" to select the number of
7905           temporal levels to be included in the encoded stream.
7906           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7907           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7908
7909 2016-07-27 16:41:01 +0300  XuGuangxin <guangxin.xu@intel.com>
7910
7911         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
7912           libs: encoder: objects: Add a reference flag
7913           We can have p-frame as non-ref and also b-frame as ref
7914           which are not supported yet. Reference flag
7915           is the first machinery needed for more advanced
7916           reference picture selection modes.
7917           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7918           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7919
7920 2017-11-02 13:21:34 +0100  Daniel van Vugt <daniel.van.vugt@canonical.com>
7921
7922         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
7923           libs: surface: egl: add comment
7924           Add a warning comment when using old intel-vaapi-drivers (>1.8.4),
7925           where the creation of surfaces from GEM fd may fail.
7926           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7927
7928 2017-10-10 13:38:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7929
7930         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7931         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
7932         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
7933           libs: display: egl: add gst_vaapi_display_egl_set_current_display()
7934           Adds a new function that changes the internal EGL display to the
7935           current one (eglGetCurrentDisplay()) and sets the current context
7936           too (eglGetCurrentContext()).
7937           This new function is called by gst_vaapi_texture_egl_create() updating
7938           the GstVaapiDisplayEGL with the current EGL display.
7939           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7940
7941 2017-10-09 16:02:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7942
7943         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
7944           libs: texture: egl: update EGL display and context
7945           It is required to use the context of the calling thread when wrapping
7946           a foreign texture. According the documentation of
7947           GstVideoGLTextureUploadMeta:
7948           "The caller of gst_video_gl_texture_upload_meta_upload() must
7949           have OpenGL set up and call this from a thread where it is valid
7950           to upload something to an OpenGL texture."
7951           This patch updates the EGL display and context in GstVaapiDisplay
7952           instance to the one used by te renderer that uploads the texture.
7953           Original-patch-by: Daniel van Vugt <daniel.van.vugt@canonical.com>
7954           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7955
7956 2017-10-10 19:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7957
7958         * gst/vaapi/gstvaapipluginbase.c:
7959           plugins: centralize assignation of GL objects
7960           Add plugin_set_gst_gl() where the GstGL objects are assigned.
7961           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7962
7963 2017-10-10 19:13:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7964
7965         * gst/vaapi/gstvaapipluginbase.c:
7966           plugins: set GL objects if ensured
7967           Only set the GL display and GL other context if they are ensured.
7968           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7969
7970 2017-10-10 17:14:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7971
7972         * gst/vaapi/gstvaapipluginbase.c:
7973           plugins: set GL objects if context is handled
7974           Only set the GL display and GL other context if they are extracted
7975           correctly from the gstreamer's context.
7976           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7977
7978 2017-10-10 19:57:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7979
7980         * gst/vaapi/gstvaapipluginbase.c:
7981           plugins: fix memory leak when GL context is created
7982           When the GL display and context are created inside an VAAPI element
7983           the created GL context is leaked.
7984           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7985
7986 2017-10-10 14:01:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7987
7988         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7989           libs: display: egl: free leaked memory
7990           The EGL VAAPI display forgot to release the egl display, context and
7991           proxied VAAPI display.
7992           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7993
7994 2017-10-05 19:25:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7995
7996         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
7997           libs: texture: egl: code style
7998           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7999
8000 2017-10-04 13:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8001
8002         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
8003           libs: surface: egl: error message if no extension
8004           Instead of silently fail to export the image if there is not available
8005           the EGL_MESA_drm_image, log an error message. Also a code refactoring
8006           was done.
8007           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8008
8009 2017-10-31 13:10:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8010
8011         * gst/vaapi/gstvaapipluginbase.c:
8012           plugins: direct rendering on memory:VASurface
8013           As buffers negotiated with memory:VASurface caps feature can also be
8014           mapped, they can also be configured to use VA derived images, in other
8015           words "direct rendering".
8016           Also, because of the changes in dmabuf allocator as default allocator,
8017           the code for configuring the direct rendering was not clear.
8018           This patch cleans up the code and enables direct rendering when the
8019           environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING is defined,
8020           even then the memory:VASurface cap feature is negotiated.
8021           https://bugzilla.gnome.org/show_bug.cgi?id=786054
8022
8023 2017-10-04 11:54:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8024
8025         * gst/vaapi/gstvaapipluginbase.c:
8026         * gst/vaapi/gstvaapipluginutil.c:
8027           plugins: only dmabuf on srcpad if downstream
8028           Set if source pad can handle dmabuf only if the GstGL context comes
8029           from downstream.
8030           It is possible to know that at two moments:
8031           1\ In the case of GstGLTextureUpload caps feature is negotiated and
8032           downstream pool reports back gst.gl.GstGLContext.
8033           2\ When GstGLContext is found as GstContext from dowstream.
8034           https://bugzilla.gnome.org/show_bug.cgi?id=788503
8035
8036 2017-10-04 11:52:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8037
8038         * gst/vaapi/gstvaapivideocontext.c:
8039           vaapivideocontext: add inline documentation
8040           Document function gst_vaapi_find_gl_local_context().
8041           https://bugzilla.gnome.org/show_bug.cgi?id=788503
8042
8043 2017-10-04 11:50:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8044
8045         * gst/vaapi/gstvaapipluginutil.c:
8046         * gst/vaapi/gstvaapivideocontext.c:
8047         * gst/vaapi/gstvaapivideocontext.h:
8048           vaapivideocontext: return the direction of gl context
8049           In function gst_vaapi_find_gl_context() add a direction parameter to
8050           return back the direction where the GstGL context was found.
8051           This is going to be useful when checking if downstream can import
8052           dmabuf-based buffers.
8053           https://bugzilla.gnome.org/show_bug.cgi?id=788503
8054
8055 2017-10-04 08:30:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8056
8057         * gst/vaapi/gstvaapipluginbase.c:
8058         * gst/vaapi/gstvaapipluginbase.h:
8059           plugins: add gst_vaapi_plugin_base_set_srcpad_can_dmabuf()
8060           This patch refactors the code by adding the function
8061           vaapi_plugin_base_set_srcpad_can_dmabuf(), it determines if the passed
8062           GstGLContext can handle dmabuf-based buffers.
8063           The function is exposed publicly since it is intended to be used later
8064           at GstVaapiDisplay instantiation.
8065           https://bugzilla.gnome.org/show_bug.cgi?id=788503
8066
8067 2017-10-20 12:37:15 +0200  Hyunjun Ko <zzoon@igalia.com>
8068
8069         * gst/vaapi/gstvaapiencode.c:
8070           vaapiencode: allow to set property on runtime
8071           Tis patch, allows some properties that we want to be set on
8072           runtime. (eg. bitrate)
8073           Note that all properties are under control by num_codedbuf_queued.
8074           https://bugzilla.gnome.org/show_bug.cgi?id=786321
8075
8076 2017-09-15 15:38:18 +0900  Hyunjun Ko <zzoon@igalia.com>
8077
8078         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8079           libs: encoder: allow to set bitrate on runtime
8080           In case of streaming, controlling bitrate dynamically for encoder might be
8081           important to manage quality of the streaming.
8082           This patch is to support such a scenario.
8083           https://bugzilla.gnome.org/show_bug.cgi?id=786321
8084
8085 2017-10-10 11:35:24 +0300  Sebastian Dröge <sebastian@centricular.com>
8086
8087         * gst/vaapi/gstvaapi.c:
8088         * gst/vaapi/gstvaapi.h:
8089         * gst/vaapi/gstvaapidecodebin.c:
8090           vaapidecodebin: Register element if no VPP support is available too
8091           VPP support is only needed for advanced deinterlacing, which is not
8092           enabled by default either. Error out if it is selected but VPP is not
8093           supported, and otherwise just work without VPP support.
8094           https://bugzilla.gnome.org/show_bug.cgi?id=788758
8095
8096 2017-10-16 11:57:16 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
8097
8098         * gst/vaapi/gstvaapipluginutil.c:
8099           Avoid infinite loop when vaapi_create_display fails
8100           Which might be the case when using, for example, xvfb.
8101
8102 2017-10-02 18:53:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8103
8104         * gst-libs/gst/vaapi/gstvaapiutils.c:
8105           libs: utils: log warn if display fail
8106           gstreamer-vaapi initializes the display by trial-and-error, thus
8107           logging an error message if the display initialisation fails the user
8108           may be weary of the error message in the screen, if using VA-API 1.0
8109           This commit set the VA error log handler to GStreamer warning level
8110           while calling vaInitialize() and set it to error after that.
8111           https://bugzilla.gnome.org/show_bug.cgi?id=783169
8112
8113 2017-09-29 20:05:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8114
8115         * gst/vaapi/gstvaapipluginutil.c:
8116           plugins: try to create test display in order
8117           When creating the test display for querying capabilites, it try in
8118           certain order: DRM, Wayland and finally X11. GLX nor EGL are tried
8119           since they are either composited with X11 or Wayland.
8120           The reason for this is to reduce the posibility of failure that could
8121           blacklist the plugin.
8122           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8123
8124 2017-09-29 15:07:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8125
8126         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8127         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
8128           libs: display: delay getting screen resolution
8129           Instead of extracting the screen resolution at GstVaapiDisplay
8130           creation, this patch delay it until the screen size is requested for
8131           first time.
8132           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8133
8134 2017-09-28 18:58:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8135
8136         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
8137           libs: display: egl: avoid two vaDisplay instantiates
8138           GstVaapiDisplayEGL is a wrapper of another GstVaapiDisplay, either X11
8139           or Wayland. Nonetheless it created another vaDisplay for it, instead
8140           of using the wrapped one.
8141           This patch enables the reuse of the wrapped vaDisplay avoiding
8142           instantiating two.
8143           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8144
8145 2017-09-28 17:45:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8146
8147         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8148         * gst-libs/gst/vaapi/gstvaapidisplay.h:
8149         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
8150         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
8151         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
8152           libs: display: remove display_type from display info
8153           Since it's no required to pass the display type in the display info,
8154           the structure member is removed.
8155           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8156
8157 2017-09-28 17:35:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8158
8159         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8160         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
8161           libs: display: remove display_type member
8162           It is not used any more since GstVaapiDisplay was ported as a
8163           GstObject-based. This information is part of the class information.
8164           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8165
8166 2017-09-28 16:12:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8167
8168         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8169         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
8170           libs: display: remove parent member
8171           Parent was a crumb left from display cache.
8172           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8173
8174 2017-10-03 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>
8175
8176         * gst/vaapi/gstvaapi.c:
8177           vaapi: Also register vaapipostproc without VPP support
8178           It can still do simple deinterlacing then.
8179
8180 2017-10-03 10:51:06 +0200  Sebastian Dröge <sebastian@centricular.com>
8181
8182         * gst/vaapi/gstvaapipostproc.c:
8183           vaapipostproc: Allow running without VPP support
8184           We returned FALSE from ::start() if VPP support is not available, but it
8185           is only really needed for complex filters and during transform we check
8186           for that. For simple deinterlacing it is not needed.
8187
8188 2017-09-27 18:35:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8189
8190         * gst/vaapi/gstvaapipostproc.c:
8191           vaapipostproc: use scoped variable for return value
8192           Instead of reusing a parameter variable for the return value of
8193           gst_vaapipostproc_transform_caps(), this patch uses the function
8194           scoped pointer. Thus, the code is cleaner.
8195           https://bugzilla.gnome.org/show_bug.cgi?id=785706
8196
8197 2017-09-27 18:32:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8198
8199         * gst/vaapi/gstvaapipostproc.c:
8200           vaapipostproc: removed unused parameter
8201           Removed caps parameter from gst_vaapipostproc_transform_caps_impl()
8202           helper function since the it is not used.
8203           https://bugzilla.gnome.org/show_bug.cgi?id=785706
8204
8205 2017-09-27 13:32:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8206
8207         * gst/vaapi/gstvaapipostproc.c:
8208           vaapipostproc: use scoped variable for return value
8209           Instead of reusing a parameter variable for the return value of
8210           gst_vaapipostproc_fixate_caps(), this patch uses the function scoped
8211           pointer. Thus, the code is cleaner.
8212           https://bugzilla.gnome.org/show_bug.cgi?id=785706
8213
8214 2017-09-27 11:27:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8215
8216         * gst/vaapi/gstvaapipluginutil.h:
8217           plugins: memory:DMABuf only handles planar formats
8218           When glimagesink negotiates the caps feature memory:DMABuf the
8219           exported dmabufs buffers with NV12 format are not well rendered, thus
8220           setting only planar.
8221           https://bugzilla.gnome.org/show_bug.cgi?id=788229
8222
8223 2017-09-25 17:04:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8224
8225         * gst/vaapi/gstvaapiencode.c:
8226           vaapiencode: flush pending frames before set format
8227           Flush pending frames, if any, in the internal encorder, before setting
8228           the new negotiated format.
8229           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8230
8231 2017-09-25 15:50:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8232
8233         * gst/vaapi/gstvaapidecode.c:
8234           vaapidecode: drain pending frames before set format
8235           Drain pending frames, if any, in the internal decoder before setting
8236           the new negotiated format.
8237           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8238
8239 2017-09-22 19:35:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8240
8241         * tests/test-display.c:
8242           tests: display: use GObject getter
8243           Instead of using the gst_vaapi_display_get_property(), this patch
8244           replaces it with g_object_get_property() to dump the available VA
8245           display properties.
8246           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8247
8248 2017-09-22 19:25:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8249
8250         * gst/vaapi/gstvaapisink.c:
8251           vaapisink: use GObject setter and getter
8252           Instead of using gst_vaapi_display_set_property() or
8253           gst_vaapi_display_get_property(), this patch set replace it usage
8254           with g_object_set() or g_object_get().
8255           Also the internal helper cb_set_value() is removed since it is not
8256           used anymore.
8257           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8258
8259 2017-09-22 18:59:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8260
8261         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8262           libs: display: initialize value if they are not yet
8263           This is a difference between the GObject API and the GstVaapi one: the
8264           GValue passed to get a property value, in GObject has to be
8265           initialized with g_value_init(), but in GstVaapi is has not.
8266           In order to overcome this mismatch, this patch call g_value_init()
8267           internally only in the passed one is not already initialized.
8268           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8269
8270 2017-09-22 17:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8271
8272         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8273           libs: display: optimize properties setters and getters
8274           Shuffled some code to avoid to find the properties descriptor in the
8275           array twice, adding the internal functions _set_property() and
8276           _get_property().
8277           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8278
8279 2017-09-22 16:29:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8280
8281         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8282           libs: display: install properties in class
8283           Install the properties in the class as a normal GObject. Implement
8284           set_property() and get_property() vmethods.
8285           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8286
8287 2017-09-22 15:16:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8288
8289         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8290           libs: display: remove gst_vaapi_display_properties_init()
8291           Remove gst_vaapi_display_properties_init() since it can be unrolled in
8292           gst_vaapi_display_class_init()
8293           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8294
8295 2017-09-22 15:12:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8296
8297         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8298           libs: display: remove libgstvaapi_init_once()
8299           It is not required since it can be unrolled in
8300           gst_vaapi_display_class_init()
8301           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8302
8303 2017-09-22 17:50:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8304
8305         * tests/test-display.c:
8306           tests: test-display: remove display cache tests
8307           Since commit ec3e10f6, display cache was removed. This patch removes
8308           this leftovers in the display test.
8309
8310 2017-09-18 14:29:55 +0900  Hyunjun Ko <zzoon@igalia.com>
8311
8312         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8313         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
8314           libs: decoder: h264/h265: decode codec data only if opened
8315           Fixes regression introduced by commit 2eb2b26a.
8316           There is a use case when the decoder set the src caps and immediatly
8317           tries to process the media codec_data, this happens before decoder is
8318           even opened, thus priv->parser is not instantiated yet.
8319           https://bugzilla.gnome.org/show_bug.cgi?id=787818
8320
8321 2017-09-18 19:11:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8322
8323         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8324         * gst-libs/gst/vaapi/gstvaapiencoder.h:
8325         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8326         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8327         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
8328           libs: encoder: change mbbrc from uint to enum
8329           Instead of handling the macroblock bitrate control as a integer, this
8330           patch changes it as a enum, which is more self documented in the
8331           GStreamer elements.
8332           https://bugzilla.gnome.org/show_bug.cgi?id=787855
8333
8334 2017-09-18 13:55:49 +1000  Jan Schmidt <jan@centricular.com>
8335
8336         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8337           Fix a typo in the prop string for compliance-mode
8338
8339 2017-09-15 18:31:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8340
8341         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8342           libs: encoder: don't unref properties
8343           This patch fixes a regression introduced in commit 148f867c, since the
8344           props variable is set to object's member variable
8345           encoder->properties. And it is set in the instance initialization,
8346           thus it will not be leaked.
8347           https://bugzilla.gnome.org/show_bug.cgi?id=787733
8348
8349 2017-09-15 15:14:47 +0900  Hyunjun Ko <zzoon@igalia.com>
8350
8351         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8352         * gst/vaapi/gstvaapiencode.c:
8353           vaapiencode/libs: encoder: fix leaks of properties
8354           https://bugzilla.gnome.org/show_bug.cgi?id=786321
8355
8356 2017-08-24 21:51:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8357
8358         * gst-libs/gst/vaapi/gstvaapidecoder.c:
8359           libs: decoder: at update_caps() decode codec_data
8360           When updating the caps in decoder, if the caps has codec_data (avC
8361           format), it has to be parsed to update the state of the decoder.
8362           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8363
8364 2017-09-13 15:44:32 +0900  Hyunjun Ko <zzoon@igalia.com>
8365
8366         * gst-libs/gst/vaapi/gstvaapicontext.c:
8367           libs: context: fix wrong counter of the array of attributes
8368           The counter value passed to vaCreateConfig is always +1.
8369           This is a regression caused by commit e42ec3ad.
8370           The present patch fixes wrong counting of the array of attributes.
8371           https://bugzilla.gnome.org/show_bug.cgi?id=787613
8372
8373 2017-09-13 12:23:42 +0900  Hyunjun Ko <zzoon@igalia.com>
8374
8375         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8376         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8377           libs: encoder: h265: support I/P/B QP setting seperatedly
8378           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
8379           frames
8380           and set slice_qp_delta for each frame according to the value provided.
8381           https://bugzilla.gnome.org/show_bug.cgi?id=785923
8382
8383 2017-09-13 12:22:07 +0900  Hyunjun Ko <zzoon@igalia.com>
8384
8385         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8386         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8387           libs: encoder: h264: support I/P/B QP setting seperatedly
8388           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
8389           frames
8390           and set slice_qp_delta for each frame according to the value provided.
8391           In addition, remove the limitation of (<= 4) when setting
8392           slice_qp_delta.
8393           https://bugzilla.gnome.org/show_bug.cgi?id=785923
8394
8395 2017-09-13 12:15:57 +0900  Hyunjun Ko <zzoon@igalia.com>
8396
8397         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8398         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8399           libs: encoder: h264/h265: keep min_qp as is unless it's over init_qp
8400           Creates new variable for QP for I frame and keep it at configuration and
8401           use this for pic_init_qp and slice_qp_delta setting.
8402           Since changing min qp doesn't make sense, keep min qp as is.
8403           https://bugzilla.gnome.org/show_bug.cgi?id=785923
8404
8405 2017-09-13 12:09:45 +0900  Hyunjun Ko <zzoon@igalia.com>
8406
8407         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8408         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8409           libs: encoder: h265: Add mbbrc property
8410           This property supports Macroblock level Bitrate Control as the
8411           following (same as h264 encoder):
8412           0: auto
8413           1: on
8414           2: off
8415           https://bugzilla.gnome.org/show_bug.cgi?id=785917
8416
8417 2017-09-13 12:02:53 +0900  Hyunjun Ko <zzoon@igalia.com>
8418
8419         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8420         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8421           libs: encoder: h264: Add mbbrc property
8422           This property supports Macroblock level Bitrate Control as the
8423           following:
8424           0: auto
8425           1: on
8426           2: off
8427           https://bugzilla.gnome.org/show_bug.cgi?id=785917
8428
8429 2017-09-13 11:39:09 +0900  Hyunjun Ko <zzoon@igalia.com>
8430
8431         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8432           libs: encoder: h265: add multi reference support
8433           This is doing the same as h264 encoder as the following:
8434           Using num_ref_frames provided and the result of the Query
8435           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
8436           and perform encoding with multi reference frames as the following:
8437           1\ The num_ref_frames is being considered as the number of
8438           reference picture list0
8439           2\ Encoder adds 1 reference frame more to the reference picture list1
8440           internally if b-frame encoding.
8441           3\ If num_ref_frames is bigger than the number of refrence frames
8442           supported in the driver, it will be lowered.
8443           Also this patch includes:
8444           - Set num_negative_pics and num_positive_pics according to the number of
8445           refs.
8446           - Set delta_poc according to the number of refs.
8447           - Increase max_dec_pic_buffering according to the number of refs
8448           - Change max_num_reorder_pics according to num of bframes
8449           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8450
8451 2017-09-13 11:37:33 +0900  Hyunjun Ko <zzoon@igalia.com>
8452
8453         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8454         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8455           libs: encoder: h265: add refs property
8456           Users can provide the number of reference frame by this property,
8457           which is exaclty same as h264.
8458           The value of the property will be considered as the number of
8459           reference picture list0 and will add 1 reference frame more to the
8460           reference picture list1 internally if b-frame encoding.
8461           If the value provided is bigger than the number of refrence frames
8462           supported in the driver, it will be lowered.
8463           The maximum value is aligned to the value of the driver supported now.
8464           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8465
8466 2017-09-13 11:17:26 +0900  Hyunjun Ko <zzoon@igalia.com>
8467
8468         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8469         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8470           libs: encoder: h264/5: determine num_ref_idx_active_override_flag according to reference list
8471           Follows the specification as below:
8472           7.4.7.1 in Rec. ITU-T H.265 v4 (12/2016)
8473           num_ref_idx_active_override_flag equal to 1 specifies that the syntax
8474           element num_ref_idx_l0_active_minus1 is present for P and B slices and
8475           that the syntax element num_ref_idx_l1_active_minus1 is present for B
8476           slices.
8477           num_ref_idx_active_override_flag equal to 0 specifies that the syntax
8478           elements num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1
8479           are not present.
8480           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8481
8482 2017-09-13 11:06:20 +0900  Hyunjun Ko <zzoon@igalia.com>
8483
8484         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8485           libs: encoder: h265: keep idr_period equal to keyframe period
8486           Remove FIXME code, which makes previous assignation spurious.
8487           This also means to make idr_period equal to keyframe period,
8488           which is same as h264 encoder.
8489           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8490
8491 2017-09-06 14:03:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
8492
8493         * gst/vaapi/gstvaapipluginbase.c:
8494           Request minimum buffer even if need_pool is FALSE
8495           When tee is used, it will not request a pool, but still it wants to
8496           know how many buffers are required.
8497           https://bugzilla.gnome.org/show_bug.cgi?id=730758
8498
8499 2017-09-05 10:58:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
8500
8501         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
8502           libs: encoder: h264_fei: VA-API 1.0 compat
8503           Use VA_ENC_PACKED_HEADER_H264_SEI compat macro for VA-API 1.0
8504           compatibility.
8505           https://bugzilla.gnome.org/show_bug.cgi?id=787322
8506           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
8507
8508 2017-09-01 13:48:01 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8509
8510         * gst/vaapi/gstvaapisink.c:
8511           vaapisink: Fix rendering in drm display
8512           Make sure vaapisink create a va surface backed buffer pool and all
8513           required attributes get assigned correctly for drm display type.
8514           This is needed to make the below pipeline working:
8515           gst-launch-1.0 filesrc location= raw_video.mov ! videoparse format=uyvy
8516           width=320 height=240 framerate=30/1 ! vaapisink display=drm
8517           https://bugzilla.gnome.org/show_bug.cgi?id=786954
8518
8519 2017-08-09 18:46:09 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8520
8521         * tests/Makefile.am:
8522         * tests/test-fei-enc-in.c:
8523         * tests/test-fei-enc-out.c:
8524           FEI: Add test applications to showcase fei use case
8525           test-fei-enc-out: A simple fei encoding application to output mv, mbcode and distortion
8526           eg:
8527           ./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
8528           test-fei-enc-in: A simple fei encoding application for testing input fei buffers
8529           eg:
8530           ./test-fei-enc-in -c h264 -o out.264 -e 4 -q 1 sample_i420.y4m
8531           Fixme: Running test-fei-enc-in in PAK mode with mv and mbcode input buffers
8532           from saved files is still not working
8533           People contributed:
8534           Wang, Yi <yi.a.wang@intel.com>
8535           Leilei <leilei.shang@intel.com>
8536           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8537           xiaominc <xiaomin.chen@intel.com>
8538           Li, Jing B <jing.b.li@intel.com>
8539           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8540           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8541
8542 2017-08-09 18:36:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8543
8544         * gst/vaapi/Makefile.am:
8545         * gst/vaapi/gstvaapi.c:
8546         * gst/vaapi/gstvaapiencode_h264_fei.c:
8547         * gst/vaapi/gstvaapiencode_h264_fei.h:
8548           FEI: plugin: Add vaapih264feienc element
8549           A new FEI based encoder element for h264 is added: vaapih264feienc
8550           FEI is a an extension to VA-API which is providing low level
8551           advanced control over different stages of encoding.
8552           Extending vaapih264enc with fei support is possible, but it will
8553           make the code too much complicated and will be difficult
8554           to debug. So adding the new encoder element, but keeping
8555           the rank as 0 , vaapih264enc will stay as the primary
8556           encoder for normal use cases.
8557           The vaaih264feienc is mainly useful for customers who want to play
8558           with MotionVectors and Macroblock Predictions. Also user can
8559           do one stage of encoding(eg: only the Motion Vector Calculation)
8560           in software and offload trasformation/entroy-coding etc to
8561           Hardware (which is what PAK module is doing) using FEI element.
8562           vaapih264feienc can work in  different modes using fei-mode properoty
8563           eg: gst-launch-1.0 videotestsrc ! vaapih264feienc fei-mode=ENC+PAK ! filesink location=sample.264
8564           Important Note: ENC only mode won't produce any encoded data which is expected.
8565           But ENC alwys requires the output of PAK in order to do the inter-prediction
8566           over reconstructed frames.
8567           Similary PAK mode alway requires MV and MBCode as input, so unless there is an
8568           upstream element providing those buffers, PAK only won't work as expected.
8569           In a nutshell, ENC_PAK and the ENC+PAK modes are the only options we can verify
8570           with vaapih264feienc. But ideally, EN+PAK mode verification is enough to make sure
8571           that ENC and PAK are working as expected since ENC+PAK mode always invoke ENC and PAK
8572           separately in vaapih264feienc.
8573           People contributed:
8574           Wang, Yi <yi.a.wang@intel.com>
8575           Leilei <leilei.shang@intel.com>
8576           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8577           xiaominc <xiaomin.chen@intel.com>
8578           Li, Jing B <jing.b.li@intel.com>
8579           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8580           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8581           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8582
8583 2017-08-09 18:32:13 -0700  Yi A Wang <yi.a.wang@intel.com>
8584
8585         * gst/vaapi/gstvaapiencode.c:
8586         * gst/vaapi/gstvaapiencode.h:
8587           FEI: plugin: Add virtual methods to base encode
8588           Two new virtual methods are added to gstvaapiencode.
8589           load_control_data():  load the FEI input buffers set by the upstream elements
8590           save_stats_to_meta(): save the FEI output buffers to Meta for downnstream elements
8591           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8592           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8593           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8594
8595 2017-08-09 18:26:57 -0700  Yi A Wang <yi.a.wang@intel.com>
8596
8597         * gst/vaapi/Makefile.am:
8598         * gst/vaapi/gstvaapifeivideometa.c:
8599         * gst/vaapi/gstvaapifeivideometa.h:
8600           FEI: plugin: Add fei specific video meta
8601           GstVaapiFeiVideoMeta holds the below fei codec objects:
8602           GstVaapiEncFeiMbCode
8603           GstVaapiEncFeiMv
8604           GstVaapiEncFeiMvPredictor
8605           GstVaapiEncFeiMbControl
8606           GstVaapiEncFeiQp
8607           GstVaapiEncFeiDistortion
8608           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8609           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8610           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8611
8612 2017-08-09 18:19:06 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8613
8614         * gst-libs/gst/vaapi/Makefile.am:
8615         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
8616         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
8617         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
8618         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
8619         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
8620         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
8621           FEI: libs: Add FEI encoder
8622           Adding FEI encoder to core lib.
8623           The code is splitted into three session:
8624           1: gstvaapiencoder_h264_fei.{h,c}
8625           This is the replica of gstvaapiencoder_h264.{c,h} but with FEI.
8626           All the modes ENC, PAK and ENC_PAK are running based
8627           the code in these files.
8628           2: gstvaapifeienc_h264.{h,c}
8629           Abstract implementation intended for ENC (only VME) operation.
8630           3: gstvaapifeipak_h264.{h,c}
8631           Abstrct implementation intended for PAK (only the PAK module)
8632           Right now ENC_PAK, ENC and PAK are running based on code
8633           in gstvaapiencoder_h264_fei.{h,c}. The abstract implementations
8634           in gstvaapifeienc_h264.{h,c} and gstvaapifeipak_h264.{h,c} are
8635           needed if user request for ENC+PAK mode operation.
8636           ENC+PAK: Here we need to invoke two sequence of
8637           vaBeginPicture/vaRenderPicutre/vaEndPicture for each frame,
8638           first for the ENC only and the second for PAK only.
8639           Each mode associated with separate context ,but same pool of surfaces are
8640           shared between the modes.
8641           This is more useful once we have custom BRC algorithms.
8642           Other Contributors:
8643           Wang, Yi <yi.a.wang@intel.com>
8644           Leilei <leilei.shang@intel.com>
8645           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8646           xiaominc <xiaomin.chen@intel.com>
8647           Li, Jing B <jing.b.li@intel.com>
8648           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8649           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8650
8651 2017-08-09 17:54:27 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8652
8653         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
8654         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
8655           FEI: libs: Add fei codec objects to GstVaapiEncPicture
8656           All the codec objects(vaapi buffers) supposed to be
8657           submited in vaRenderPicutre are associated with a GstVaapiEncPicture
8658           for each frame, follow the same design for FEI too.
8659           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8660           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8661
8662 2017-08-09 16:05:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8663
8664         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
8665         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
8666         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
8667           FEI: libs: Add fei codec objects in codedbufferproxy
8668           MbCode, MV and Distortion buffers (fei codec objects)
8669           can be treated as output of different fei modes based user request.
8670           For eg: MbCode and MV are the output of ENC only. MbCode, MV and Dist
8671           can be dumped as output in ENC_PAK mode for analysis purpose.
8672           So treating them as a part of CodedBufferProxy too.
8673           Here we avoided Qp, MbControl and MvPredictor codec objects since
8674           there is no practical use case of treating them as "output buffers".
8675           Other contributors:
8676           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8677           xiaominc <xiaomin.chen@intel.com>
8678           Leilei <leilei.shang@intel.com>
8679           Li, Jing B <jing.b.li@intel.com>
8680           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8681           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8682
8683 2017-08-09 15:49:21 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8684
8685         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
8686         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
8687         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
8688           FEI: libs: Add fei codec objects to surface proxy
8689           Add fei codec objects to surface proxy since handling the
8690           fei buffers(codec objects here) external to gstvaapisurfaceproxy
8691           will make the code complicated. Especially considering the behavior
8692           of encoder where the input frame order from upstream and output
8693           frame order to the downstream are not sequential.
8694           Other contributors:
8695           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8696           xiaominc <xiaomin.chen@intel.com>
8697           Leilei <leilei.shang@intel.com>
8698           Li, Jing B <jing.b.li@intel.com>
8699           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8700           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8701
8702 2017-08-09 15:35:10 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8703
8704         * gst-libs/gst/vaapi/Makefile.am:
8705         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
8706         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
8707         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
8708           FEI: Add codec objects for fei usecase
8709           There are 6 new va buffer types, each defined as a specific codec object.
8710           Borrowed the code from gstvaapicodecobject , but made a clear separation
8711           to avoid any possible mess-up. Because unlike the other gstvaaicodecobjects,
8712           feicodecobjects can be shared between elements and also can be accessed
8713           from different thread.
8714           Unlike the other fei codecs object, VAEncMiscParameterTypeFEIFrameControl
8715           object is not shared between elements.So we utilize the already
8716           existing gst_vaapi_enc_misc_param_new(), but still keeping the code
8717           in gstvaapfei_objects_priv.h in order to have a better
8718           code readability.
8719           Fixme:
8720           -- Probably we need _locked_map() and _unlocked_map()
8721           -- Context can be associated with PreEnc(not just Enoder)
8722           once we have the proper support inplace, but for now we don't have
8723           PreEnc support, so should be safe enough to use GstVaapiEncoder.
8724           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8725           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8726
8727 2017-08-09 14:22:12 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8728
8729         * gst-libs/gst/vaapi/Makefile.am:
8730         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
8731         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
8732           FEI: libs: add H264 fei specific utility functions
8733           Added enum/flag type definitions for a number of FEI
8734           input and output parameters.
8735           Original author of the patch: Wang, Yi <yi.a.wang@intel.com>
8736           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8737           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8738           Signed-off-by: Wang, Yi <yi.a.wang@intel.com>
8739           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8740
8741 2017-08-09 14:10:16 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8742
8743         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8744         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
8745           FEI: libs: Add virtual method for secondary context creation.
8746           Add a new vitrual method ensure_secondary_context to the
8747           base encoder which is only required for the FEI entrypoint, that too
8748           only when user configures the ENC+PAK mode. ENC+PAK mode is not something
8749           supported directly by libva or driver, but this can be enabled
8750           from the middleware.
8751           Original Author of this idea: Leilei Shang <leilei.shang@intel.com>
8752           Signed-off-by: Leilei Shang <leilei.shang@intel.com>
8753           Signed-off-by: xiaominc <xiaomin.chen@intel.com>
8754           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8755           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8756           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8757
8758 2017-08-09 14:05:03 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8759
8760         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8761           FEI: libs: make sure the default context creation works as expected.
8762           Current code always guess the entrypoint during init phase in case
8763           if there is no entrypoint already configured in GstVaapiContextInfo.
8764           Make sure FEI Entrypoint is not messing up with this logic.
8765           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8766           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8767
8768 2017-08-09 13:45:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8769
8770         * gst-libs/gst/vaapi/gstvaapicontext.c:
8771         * gst-libs/gst/vaapi/gstvaapicontext.h:
8772         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8773           FEI: libs: Add FEI functional mode configuration
8774           FEI Entrypoint can work in either one of the 3 different modes:
8775           VA_FEI_FUNCTION_ENC, VA_FEI_FUNCTION_PAK or VA_FEI_FUNCTION_ENC_PAK.
8776           Add infrastructure in gstvaapicontext and gstvaapiencoder for this
8777           functioal mode configuration.
8778           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8779           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8780
8781 2017-08-09 13:02:24 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8782
8783         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8784         * gst-libs/gst/vaapi/gstvaapiprofile.c:
8785         * gst-libs/gst/vaapi/gstvaapiprofile.h:
8786           FEI: libs: Add FEI Entrypoint mapping
8787           Define the new mapping GST_VAAPI_ENTRYPOINT_SLICE_ENCODE_FEI
8788           for VAEntrypointFEI.
8789           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8790           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8791
8792 2017-08-09 12:58:29 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8793
8794         * configure.ac:
8795           FEI: Add support for FEI conditional build
8796           FEI(Flexible Encoding Infrastructure) is an extension
8797           to VA API. Define USE_H264_FEI_ENCODER based on
8798           fei header file and required structures availability.
8799           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8800           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8801
8802 2017-08-28 17:34:50 -0700  Orestis Floros <orestisf1993@gmail.com>
8803
8804         * gst/vaapi/gstvaapidecode.c:
8805           vaapidecode: force add h264 SVC profiles in caps
8806           When vaapih264dec's base-only profile is set to TRUE, fake SVC profile
8807           support in caps.
8808           https://bugzilla.gnome.org/show_bug.cgi?id=732266
8809           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8810
8811 2017-08-28 17:32:57 -0700  Orestis Floros <orestisf1993@gmail.com>
8812
8813         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8814           libs: decoder: h264: decode SVC base layer only
8815           Drops non-base NALs when the base-only property is set to TRUE.
8816           This modifies the behavior for MVC streams with base-only too: All the
8817           non-base units are dropped before they are decoded instead of dropping
8818           the non-base frames.
8819           The relevant part from the H264 spec is:
8820           > Decoders that conform to one or more of the profiles specified in
8821           Annex A rather than the profiles specified in Annexes G or H shall
8822           ignore (remove from the bitstream and discard) the contents of all NAL
8823           units with nal_unit_type equal to 14, 15, or 20.
8824           To eliminate side effects from the offending units:
8825           - PPS's with a broken seq_parameter_set_id (referring to dropped subset
8826           SPS's) are ignored.
8827           - The NAL parsing is skipped and their flags are set to
8828           GST_VAAPI_DECODER_UNIT_FLAG_SKIP.
8829           - Prefix units are not stored in prev_pi. Otherwise, parse_slice() would
8830           use them even if they are flagged to be skipped. Subset SPS's and slice
8831           extension units are not stored there either.
8832           https://bugzilla.gnome.org/show_bug.cgi?id=732266
8833           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8834
8835 2017-08-28 17:28:04 -0700  Orestis Floros <orestisf1993@gmail.com>
8836
8837         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8838           libs: decoder: h264: check nalu validity in parser info finalize
8839           https://bugzilla.gnome.org/show_bug.cgi?id=732266
8840           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8841
8842 2017-08-28 19:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8843
8844         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8845         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8846         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
8847         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8848         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8849           libs: encoder: remove unused cast macro
8850           Remove internal macro to cast structure that are already declared
8851           in the header.
8852
8853 2017-08-28 19:09:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8854
8855         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8856         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8857         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
8858         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
8859         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
8860         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8861           Revert "libs: encoders: remove unused cast macros"
8862           This reverts commit fd7d38f7d26b11e592638092b4073b5c1764f255.
8863
8864 2017-08-28 18:32:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8865
8866         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8867         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8868         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
8869         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
8870         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
8871         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8872           libs: encoders: remove unused cast macros
8873           They are only used inside the code, where another macro is defined.
8874           Thus these exported macros have no use.
8875
8876 2017-08-24 20:26:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8877
8878         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8879           libs: decoder: h264: improve code-style
8880           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8881
8882 2017-08-25 16:22:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8883
8884         * gst-libs/gst/vaapi/gstvaapicompat.h:
8885         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8886           libs: encoder: h264: handle deprecated enum
8887           In VA-API 1.0 the enum VAEncPackedHeaderH264_SEI is deprecated, and
8888           instead VAEncPackedHeaderRawData should be used.
8889           This patch creates a compatibility symbol,
8890           VA_ENC_PACKED_HEADER_H264_SEI, to expose the used enum according the
8891           VA-API version.
8892           https://bugzilla.gnome.org/show_bug.cgi?id=784398
8893
8894 2017-08-25 16:07:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8895
8896         * gst-libs/gst/vaapi/gstvaapiprofile.c:
8897         * gst-libs/gst/vaapi/gstvaapiutils.c:
8898           libs: guard deprecated symbols
8899           In VA-API 1.0 the H.264 baseline profile is deprecated. This patch
8900           guards the H.264 baseline usage. Consider this commit as a
8901           continuation of commit e0e0a474
8902           https://bugzilla.gnome.org/show_bug.cgi?id=784398
8903
8904 2017-08-17 12:54:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8905
8906         * configure.ac:
8907         * meson.build:
8908         * meson_options.txt:
8909           Revert "build: check for libva-2.0"
8910           This reverts commit 8f2eb70803099d4b533ecc10fc259041d8714210.
8911           https://bugzilla.gnome.org/show_bug.cgi?id=784398
8912
8913 2017-08-17 12:44:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8914
8915         * gst-libs/gst/vaapi/gstvaapicompat.h:
8916         * gst-libs/gst/vaapi/gstvaapicontext.c:
8917         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8918           libs: macro to get a renamed value in VA-API 1.0
8919           In VA-API 1.0 the union bits in VAEncMiscParameterBufferROI has
8920           renamed one member from roi_value_is_qp_delat to
8921           roi_value_is_qp_delta, which is the correct name.
8922           In order to keep back compatibility a macro has added to access this
8923           union member.
8924           https://bugzilla.gnome.org/show_bug.cgi?id=784398
8925
8926 2017-08-22 11:37:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8927
8928         * gst/vaapi/gstvaapipluginbase.h:
8929         * gst/vaapi/gstvaapipluginutil.c:
8930           plugins: include main gstgl header
8931           Instead including particular gstgl header files in a header file
8932           that doesn't export a gstgl symbol, the main gstgl header file is
8933           included in gstvaapipluginutil.c where the symbols are used.
8934           https://bugzilla.gnome.org/show_bug.cgi?id=786597
8935
8936 2017-08-18 18:00:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8937
8938         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8939           libs: encoder: h264: fix enum namespace
8940
8941 2017-08-17 12:26:12 +0100  Tim-Philipp Müller <tim@centricular.com>
8942
8943         * common:
8944           Automatic update of common submodule
8945           From 48a5d85 to 3f4aa96
8946
8947 2017-08-17 11:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8948
8949         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8950           libs: encoder: h264: remove spurious assignation
8951           Coverity scan bug:
8952           An assigned value that is never used may represent unnecessary
8953           computation, an incorrect algorithm, or possibly the need for cleanup
8954           or refactoring.
8955           ip_period is assigned first to be rewritter inmediatly after. The
8956           first assignation is spurious.
8957
8958 2017-08-15 17:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
8959
8960         * gst/vaapi/gstvaapidecode.c:
8961           vaapidecode: fix mismatch of the return type
8962           https://bugzilla.gnome.org/show_bug.cgi?id=786307
8963
8964 2017-08-10 13:34:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8965
8966         * gst-libs/gst/vaapi/Makefile.am:
8967         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
8968         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
8969         * gst-libs/gst/vaapi/gstvaapiutils.h:
8970         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
8971         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
8972         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
8973         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
8974         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
8975         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
8976         * gst-libs/gst/vaapi/meson.build:
8977           libs: remove unused header
8978           Since libgstvaapi is not distributed, there is no need to check for
8979           private header inclusion. Thus removing it.
8980           https://bugzilla.gnome.org/show_bug.cgi?id=786119
8981
8982 2017-08-10 13:27:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8983
8984         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
8985         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
8986         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
8987         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
8988         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
8989         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
8990           libs: utils: move gstvaapisurface.h to private headers
8991           Since the utils don't expose API defined in gstvaapisource.h, it is
8992           moved to their private headers where they are used.
8993           https://bugzilla.gnome.org/show_bug.cgi?id=786119
8994
8995 2017-08-10 13:26:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8996
8997         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
8998         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
8999         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
9000         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
9001         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
9002         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
9003           libs: utils: remove va.h include in header
9004           And include gstvaapicompat.h in the C files, since the VA-API is not
9005           exposed in the headers.
9006           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9007
9008 2017-08-10 13:24:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9009
9010         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9011         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9012         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9013         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9014         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9015         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9016           libs: encoder: remove va.h include
9017           Since it is already managed by gstvaapicompat.h
9018           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9019
9020 2017-08-10 13:11:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9021
9022         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
9023         * gst-libs/gst/vaapi/gstvaapicompat.h:
9024         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
9025         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
9026         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9027         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9028         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9029         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9030         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9031         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9032         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9033         * gst-libs/gst/vaapi/gstvaapifilter.c:
9034         * gst-libs/gst/vaapi/gstvaapiutils.c:
9035         * meson.build:
9036           build: consolidate the VA sub API includes
9037           Include all VA sub APIs headers in a single point (gstvaapicompat.h),
9038           since they are all already included in va.h after VA-API 0.38.
9039           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9040
9041 2017-08-10 13:09:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9042
9043         * configure.ac:
9044         * meson.build:
9045           build: check for va_vpp.h
9046           Thus, in config.h the macro HAVE_VA_VA_VPP_H is defined. This will
9047           allow us to handle the inclusion of the header better.
9048           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9049
9050 2017-08-11 20:22:41 +0100  Tim-Philipp Müller <tim@centricular.com>
9051
9052         * meson.build:
9053           meson: don't export symbols by default
9054           Only plugin entry points should be exported.
9055
9056 2017-08-09 19:06:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9057
9058         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9059           libs: decoder: h265: remove spurious code
9060           Coverity scan:
9061           Logically dead code: The indicated dead code may have performed some
9062           action; that action will never occur.
9063           By using pointer arithmetic is impossible to get NULL.
9064
9065 2017-08-08 18:52:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9066
9067         * gst-libs/gst/vaapi/gstvaapicontext.c:
9068           libs: context: use attribs index instead pointers
9069           Coverity scan bug:
9070           Out-of-bounds write. This could cause an immediate crash or incorrect
9071           computations.
9072           Coverity basically found that it is possible to assign more than 4
9073           attribs in the array.
9074           In my opinion this was produced because code pattern used pointer
9075           arithmetic, which is not readable nor maintainable.
9076           This patch refactors config_create() to use an array index rather than
9077           pointer arithmetic. Also a run-time check for index size was added.
9078
9079 2017-08-08 17:38:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9080
9081         * gst/vaapi/gstvaapiencode_h264.c:
9082           vaapiencode: h264: remove spurious code
9083           Coverity scan bug:
9084           An unsigned value can never be negative, so this test will always
9085           evaluate the same way.
9086           As len is guint32, there is no need to check it if it is equal or
9087           bigger than zero.
9088
9089 2017-08-08 17:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9090
9091         * gst/vaapi/gstvaapidecode.c:
9092           vaapidecode: initialize variable
9093           Coverity scan bug:
9094           The variable will contain an arbitrary value left from earlier
9095           computations.
9096           Variable base_only is fetched from base-only property, and it may be
9097           not assigned. It needs to be initialized.
9098
9099 2017-08-08 17:29:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9100
9101         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9102           libs: windows: wayland: fail if cannot remove last frame
9103           Converity scan bug:
9104           If the function returns an error value, the error value may be
9105           mistaken for a normal value.
9106           If g_atomic_pointer_compare_and_exchange() fails because the frame is
9107           not the last one, the function fails. Thus, logging an info message.
9108
9109 2017-08-08 17:21:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9110
9111         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
9112           libs: utils: glx: check return value
9113           Coverity scan bug:
9114           If the function returns an error value, the error value may be
9115           mistaken for a normal value.
9116           Function sscanf returns the number of assignations done. Validate this
9117           return value with the number of expected variables to match.
9118
9119 2017-08-08 17:12:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9120
9121         * gst-libs/gst/vaapi/gstvaapiobject.c:
9122           libs: vaapi: object: remove unrequired NULL check
9123           Coverity scan bug:
9124           Dereference after null check: Either the check against null is
9125           unnecessary, or there may be a null pointer dereference.
9126           Variable klass has been validated as non-NULL several time before in
9127           gst_vaapi_object_new() function, so there is no need to check it
9128           again.
9129
9130 2017-08-08 17:06:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9131
9132         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9133           libs: encoder: h265: remove spurious assignation
9134           Coverity scan bug:
9135           An assigned value that is never used may represent unnecessary
9136           computation, an incorrect algorithm, or possibly the need for cleanup
9137           or refactoring.
9138           ip_period is assigned first to be rewritter inmediatly after. The
9139           first assignation is spurious.
9140
9141 2017-08-08 16:50:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9142
9143         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9144           libs: encoder: h264: fix copy & paste error
9145           Coverity scan bug:
9146           The copied code will not have its intended effect.
9147           This is a bug from commit cdaf15b2, where the intention is to
9148           initialize RefPicList1 while setting RefPicList0.
9149
9150 2017-08-08 16:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9151
9152         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9153         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9154           libs: encoder: h265: fix possible integer overflow
9155           Coverity scan bug:
9156           Unintentional integer overflow. The expression's value may not be what
9157           the programmer intended, because the expression is evaluated using a
9158           narrow (i.e. few bits) integer type.
9159           Cast operator to guint64 before computation to avoid narrowing.
9160           merge with 3c5a6add
9161
9162 2017-08-08 16:12:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9163
9164         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
9165           libs: decoder: mpeg4: fail if return value is not OK
9166           Coverity scan bug:
9167           An assigned value that is never used may represent unnecessary
9168           computation, an incorrect algorithm, or possibly the need for cleanup
9169           or refactoring.
9170           In the return value of decode_slice() or
9171           gst_mpeg4_parse_video_packet_header() are not success, thus fail
9172           decode_packet() function.
9173
9174 2017-08-08 15:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9175
9176         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9177           libs: decoder: h265: check for null
9178           Coverity scan bug:
9179           Dereference after null check: Either the check against null is
9180           unnecessary, or there may be a null pointer dereference.
9181           While looking for hte lowest poc, according to rest of the code, the
9182           picture in the dbp (decoded picture buffer) might be NULL, thus we
9183           could check for a NULL picture before assigned as found.
9184           Also, split a comma operator because it is considered as a bad
9185           practice because it possible side effects.
9186
9187 2017-08-08 15:38:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9188
9189         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9190           libs: decoder: h265: untaint loop control variable
9191           Coverity scan bug:
9192           Scalars (for example, integers) are not properly
9193           bounds-checked (sanitized) before being used as array or pointer
9194           indexes, loop boundaries, or function arguments are considered as
9195           tainted.
9196           In this case, num_nals were not checked before used as loop control.
9197
9198 2017-08-08 13:46:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9199
9200         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9201           libs: decoder: h264: remove unrequired NULL check
9202           Coverity scan bug:
9203           Dereference after null check: Either the check against null is
9204           unnecessary, or there may be a null pointer dereference.
9205           In the original commit for fill_picture_gaps() (commit 5abd2b90) the
9206           prev_picture could be NULL, that's why the code did a null check. But,
9207           since commit 52adebe7, the previous reference frames are tracked, thus
9208           there is no need to check null anymore.
9209
9210 2017-08-03 23:17:44 +0300  orestisf <orestisf1993@gmail.com>
9211
9212         * gst/vaapi/gstvaapidecode.c:
9213           vaapidecode: fix gst_caps_new_simple call
9214           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9215
9216 2017-07-25 22:25:10 +0300  orestisf <orestisf1993@gmail.com>
9217
9218         * gst/vaapi/gstvaapidecode.c:
9219           vaapidecode: force add h264 MVC profiles in caps
9220           When vaapih264dec's base-only profile is set to TRUE, fake MVC profile
9221           support in caps.
9222           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9223
9224 2017-07-25 22:54:30 +0300  orestisf <orestisf1993@gmail.com>
9225
9226         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9227           libs: decoder: h264: decode MVC base view only
9228           If processed SPS has mvc profile and the configuration is set to
9229           base-only, the frame is drop.
9230           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9231
9232 2017-07-25 22:06:56 +0300  orestisf <orestisf1993@gmail.com>
9233
9234         * gst/vaapi/gstvaapidecode.c:
9235         * gst/vaapi/gstvaapidecode_props.c:
9236           vaapidecode: set h264 base-only to decoder
9237           Set the base-only value when property is set and the internal
9238           decoder is already instantiated or when the internal decoder
9239           is created.
9240           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9241
9242 2017-07-25 22:03:34 +0300  orestisf <orestisf1993@gmail.com>
9243
9244         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9245         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
9246           libs: decoder: h264: add setter for base-only mode
9247           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9248
9249 2017-07-25 22:01:37 +0300  orestisf <orestisf1993@gmail.com>
9250
9251         * gst/vaapi/gstvaapidecode_props.c:
9252         * gst/vaapi/gstvaapidecode_props.h:
9253           vaapidecode_props: h264: add base-only property
9254           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9255
9256 2017-08-01 11:11:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9257
9258         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9259           libs: encoder: h264: missing property enum documentation
9260
9261 2017-08-02 14:54:53 +0900  Hyunjun Ko <zzoon@igalia.com>
9262
9263         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9264           libs: encoder: h264: add multi reference support
9265           Using num_ref_frames provided and the result of the Query
9266           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
9267           and perform encoding with multi reference frames as the following:
9268           1\ The num_ref_frames is being considered as the number of
9269           reference picture list0
9270           2\ Encoder adds 1 reference frame more to the reference picture list1
9271           internally if b-frame encoding.
9272           3\ If num_ref_frames is bigger than the number of refrence frames
9273           supported in the driver, it will be lowered.
9274           https://bugzilla.gnome.org/show_bug.cgi?id=783803
9275
9276 2017-08-02 14:53:34 +0900  Hyunjun Ko <zzoon@igalia.com>
9277
9278         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9279         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9280           libs: encoder: h264: add refs property
9281           Users can provide the number of reference frame by this property.
9282           The value of the property will be considered as the number of
9283           reference picture list0 and will add 1 reference frame more to the
9284           reference picture list1 internally if b-frame encoding.
9285           If the value provided is bigger than the number of refrence frames
9286           supported in the driver, it will be lowered.
9287           https://bugzilla.gnome.org/show_bug.cgi?id=783803
9288
9289 2017-07-28 15:27:20 +0900  Hyunjun Ko <zzoon@igalia.com>
9290
9291         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9292         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
9293           libs: encoder: implements gst_vaapi_encoder_ensure_max_num_ref_frames
9294           This function will query VAConfigAttribEncMaxRefFrames to get the
9295           maximum number of reference frames supported in the driver.
9296           This will be used for h264/h265 encoding.
9297           https://bugzilla.gnome.org/show_bug.cgi?id=783803
9298
9299 2017-08-01 18:38:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9300
9301         * gst/vaapi/gstvaapiencode_h265.c:
9302           vaapiencode: h265: compare an unsigned int if not zero
9303           An unsigned value can never be negative, so this test (greater than
9304           zero) will always evaluate the same way. Thus change it to just if
9305           it's not zero.
9306
9307 2017-08-01 18:10:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9308
9309         * gst/vaapi/gstvaapipluginbase.c:
9310           plugins: check gst_gl_ensure_element_data() return value
9311           Refactor gst_vaapi_plugin_base_create_gl_context() in order to check
9312           the return value of gst_gl_ensure_element_data(). The result is a code
9313           bit cleaner.
9314
9315 2017-08-01 17:59:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9316
9317         * gst/vaapi/gstvaapipluginutil.c:
9318           plugins: avoid dead code detection
9319           By using #elif macro, the static code analysis would stop to detect
9320           these lines as dead code. Also it is inforced the mutually exclusive
9321           environments.
9322
9323 2017-08-01 17:39:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9324
9325         * gst/vaapi/gstvaapivideobufferpool.c:
9326           vaapivideobufferpool: don't shift by negative since it's undefined
9327           The function g_bit_nth_lsf() may return -1 if the request bit position
9328           is not avaible. Thus, this patch check if the return value is not -1
9329           in order to continue.
9330
9331 2017-08-01 17:29:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9332
9333         * gst/vaapi/gstvaapisink.c:
9334           vaapisink: fix memory leak
9335
9336 2017-08-01 17:23:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9337
9338         * gst/vaapi/gstvaapipostprocutil.c:
9339           vaapipostproc: fix memory leaks
9340
9341 2017-07-27 10:54:00 +0000  Tomas Rataj <rataj28@gmail.com>
9342
9343         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9344           libs: display: when appending formats change pointers to indexes
9345           Thus, it fixes an invalid read when YV12 or I420 are not supported by
9346           the driver.
9347           https://bugzilla.gnome.org/show_bug.cgi?id=785085
9348
9349 2017-07-19 12:02:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9350
9351         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9352         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9353           libs: encoder: h264: Add uncompliant mode reducing coded buffer size
9354           Added a new property "compliance-mode", which default is the normal
9355           strict compliant mode.
9356           The second mode, "restrict-buf-alloc", is to limit the coded buffer
9357           allocation size to improve performance in some specific Intel
9358           platforms (there is asignificant performance improvement in parallel
9359           encodings). Under this new mode, we use the MinCR field in A.3.1 for
9360           pre-calculating the coded-buffer size.
9361           https://bugzilla.gnome.org/show_bug.cgi?id=784590
9362
9363 2017-07-05 17:13:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9364
9365         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
9366         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
9367           libs: utils_h264: Extend LevelLimit table with MinCR field
9368           Add MinCR(Minimum Compression Ratio) field to GstVaapiH264LevelLimits
9369           based on Annex A.3
9370           https://bugzilla.gnome.org/show_bug.cgi?id=784590
9371
9372 2017-07-11 17:29:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9373
9374         * gst-libs/gst/vaapi/gstvaapiutils.c:
9375           libs: utils: libva 1.0 changed the logging
9376           The logging mechanism in libva has changed it's functions
9377           signatures. This patch updates that for libva versions >= 1.0
9378           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9379
9380 2017-07-11 17:27:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9381
9382         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9383           libs: decoder: h264: libva 1.0 deprecated baseline
9384           libva 1.0 deprecated H.264 baseline profile and FMO support
9385           (commit b4f332b3).
9386           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9387
9388 2017-07-26 20:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9389
9390         * configure.ac:
9391         * meson.build:
9392         * meson_options.txt:
9393           build: check for libva-2.0
9394           Check for libva-2.0 since libva's developers decided to increase the
9395           library's version number.
9396           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9397
9398 2017-07-11 16:55:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9399
9400         * configure.ac:
9401         * meson.build:
9402           build: blacklist only libva 0.99.0
9403           Intel's MSDK uses libva 0.99.0, meanwhile open source libva bumped
9404           its API version to 1.0.0. Thus we have to blacklist only the MSDK's
9405           libva (0.99.0)
9406           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9407
9408 2017-07-26 20:30:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9409
9410         * gst-libs/gst/vaapi/meson.build:
9411           build: meson: remove gstvaapidisplaycache.c
9412           This is a missing bit of commit ec3e10f6
9413
9414 2017-07-26 09:53:10 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
9415
9416         * configure.ac:
9417           configure: do not break configure if gtk+-3.0 devel missing
9418           Fix PKG_CHECK_MODULES rule for with_gtk=check condition to
9419           set USE_GTK=0 if gtk+-3.0 is not available.
9420           Since commit 85856c29a70d6de4aea5b708e04e9eb418190623
9421           Author: Hyunjun Ko <zzoon@igalia.com>
9422           Date:   Wed Jul 5 15:59:43 2017 +0900
9423           tests: elements: add testsuite of vaapi context
9424           ...configure fails if gtk+-3.0 development files are missing.
9425           The "with_gtk" option defaults to "check" in configure.ac
9426           which implies that if it is not explicitly requested then
9427           configure will only enable it if it's available on the system.
9428           However, the PKG_CHECK_MODULES rule that get's activated on
9429           "check" condition did not provide default when gtk+-3.0 devel
9430           packages are not found on the system.  Thus, it resulted in
9431           configure failure.
9432           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
9433           https://bugzilla.gnome.org/show_bug.cgi?id=785452
9434
9435 2017-07-05 15:59:43 +0900  Hyunjun Ko <zzoon@igalia.com>
9436
9437         * configure.ac:
9438         * tests/elements/Makefile.am:
9439         * tests/elements/test-vaapicontext.c:
9440           tests: elements: add testsuite of vaapi context
9441           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9442           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9443
9444 2017-07-05 15:32:43 +0900  Hyunjun Ko <zzoon@igalia.com>
9445
9446         * gst/vaapi/gstvaapisink.c:
9447           vaapisink: fail if surface display is different
9448           Replacing GstVaapiDisplay during rendering might be hiding problems
9449           at some cases, even though it's safe currently since we use cache
9450           of GstVaapidisplay.
9451           Play safe by failing if this happens.
9452           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9453
9454 2017-07-05 15:31:55 +0900  Hyunjun Ko <zzoon@igalia.com>
9455
9456         * gst/vaapi/gstvaapivideocontext.c:
9457         * gst/vaapi/gstvaapivideocontext.h:
9458           videocontext: support "gst.vaapi.app.Display" context
9459           Through "gst.vaapi.app.Display" context, users can set their own VADisplay
9460           and native display of their backend.
9461           Attributes:
9462           - display : pointer of VADisplay
9463           - x11-display : pointer of X11 display (Display *), if they're using.
9464           This patch creates GstVaapidisplayX11 if information provided through
9465           "gst.vaapi.app.Display"
9466           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9467
9468 2017-07-05 14:33:38 +0900  Hyunjun Ko <zzoon@igalia.com>
9469
9470         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
9471         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
9472           libs: display: x11: add gst_vaapi_display_x11_new_with_va_display()
9473           Implements new API function so that users could create GstVaapiDisplay
9474           with their own VADisplay within a native display as backend.
9475           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9476
9477 2017-07-05 14:32:35 +0900  Hyunjun Ko <zzoon@igalia.com>
9478
9479         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9480           libs: display: pass display info when foreign display
9481           When creating a GstVaapiDisplay using a foreign VADisplay, and render
9482           with that display, it also requires native display of the backend.
9483           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9484
9485 2017-06-26 21:18:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9486
9487         * gst-libs/gst/vaapi/Makefile.am:
9488         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9489         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
9490         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
9491         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
9492         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
9493         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
9494         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
9495           libs: display: remove cache
9496           Remove a bunch of code that handles the VADisplay cache, since the
9497           context sharing should be doing this correctly.
9498           https://bugzilla.gnome.org/show_bug.cgi?id=747946
9499
9500 2017-07-13 10:56:18 +0900  Hyunjun Ko <zzoon@igalia.com>
9501
9502         * tests/elements/Makefile.am:
9503         * tests/elements/test-vaapipostproc.c:
9504           tests: elements: add test for vaapipostproc
9505           https://bugzilla.gnome.org/show_bug.cgi?id=754885
9506
9507 2017-07-12 18:25:15 +0900  Hyunjun Ko <zzoon@igalia.com>
9508
9509         * gst/vaapi/gstvaapipostproc.c:
9510           postproc: reconfigure when width or height changes
9511           https://bugzilla.gnome.org/show_bug.cgi?id=754885
9512
9513 2017-07-17 18:53:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9514
9515         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9516           libs: encoder: vp9: array terminated in zeros
9517           There is a crash when setting ref-pic-mode since the #GEnumValue
9518           array is not terminated with a structured with all memvers being
9519           zero.
9520           https://bugzilla.gnome.org/show_bug.cgi?id=785032
9521
9522 2017-07-13 16:43:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9523
9524         * gst/vaapi/gstvaapiencode_h264.c:
9525           vaapiencode: h264: add plugin documentation
9526           Comment how the profile is set and other parameters.
9527
9528 2017-05-26 15:19:00 +0000  Matt Staples <staples255@gmail.com>
9529
9530         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9531           libs: decoder: h264: push frames as soon as possible
9532           Push frames downstream as soon as possible instead of waiting until
9533           they are ejected from the DPB.
9534           This patch makes the decoder not comply with the H.264 specification,
9535           but it is required for some video cameras.
9536           https://bugzilla.gnome.org/show_bug.cgi?id=762509
9537           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9538
9539 2017-07-10 19:27:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9540
9541         * gst/vaapi/gstvaapidecode_props.c:
9542           vaapidecode_props: h264: set low-latency in decoder
9543           Set the low-latency property if the H264 decoder is already
9544           instantiated, thus you could change the behavior in run-time.
9545           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9546
9547 2017-07-06 20:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9548
9549         * gst/vaapi/gstvaapidecode.c:
9550           vaapidecode: set h264 low latency to decoder
9551           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9552
9553 2017-06-14 18:30:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9554
9555         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9556         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
9557           libs: decoder: h264: add getter/setter for low latency mode
9558           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9559
9560 2017-06-14 18:31:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9561
9562         * gst/vaapi/gstvaapidecode_props.c:
9563         * gst/vaapi/gstvaapidecode_props.h:
9564           vaapidecode_props: h264: add low latency property
9565           Adding support for private data.
9566           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9567
9568 2017-06-14 18:23:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9569
9570         * gst/vaapi/Makefile.am:
9571         * gst/vaapi/gstvaapidecode.c:
9572         * gst/vaapi/gstvaapidecode_props.c:
9573         * gst/vaapi/gstvaapidecode_props.h:
9574         * gst/vaapi/meson.build:
9575           vaapidecode_props: add skeleton for h264 decoder properties
9576           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9577
9578 2017-06-14 17:07:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9579
9580         * gst/vaapi/gstvaapidecode.c:
9581           vaapidecode: properties callback in decoders map
9582           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9583
9584 2017-07-07 12:01:59 +0100  Tim-Philipp Müller <tim@centricular.com>
9585
9586         * meson.build:
9587           meson: find python3 via python3 module
9588           https://bugzilla.gnome.org/show_bug.cgi?id=783198
9589
9590 2017-06-09 14:47:40 +0900  Hyunjun Ko <zzoon@igalia.com>
9591
9592         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9593           libs: encoder: h264: submit sps in case of IDR picture
9594           If the picture is IDR, also submit a SPS header.
9595           This means when frame number reaches to keyframe-period or an force
9596           key unit event arrives, we insert SPS/PPS again.
9597           https://bugzilla.gnome.org/show_bug.cgi?id=776712
9598
9599 2017-06-09 14:47:16 +0900  Hyunjun Ko <zzoon@igalia.com>
9600
9601         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9602           libs: encoder: h264: set the frame as IDR if forced key unit
9603           GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME() is a flag usually used to manage
9604           the `frame-lost` event in the case of streaming, such as RTP.
9605           In case of this event, it is needed to start new GOP rather than just
9606           produce an I-frame.
9607           https://bugzilla.gnome.org/show_bug.cgi?id=776712
9608
9609 2017-04-05 14:48:46 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9610
9611         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9612         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9613           libs: encoder: h264: insert AU delimiter
9614           Insert an AUD as the first NAL of each encoded frame.
9615           Some applications require Access Unit Delimiter for decoding the
9616           stream.
9617           The AU delimeter insertion is done only when the aud parameter is
9618           TRUE (by default is disabled). The reason of this it is because this
9619           header is only available from Intel Gen9 and the VA intel driver
9620           should be 1.8 or superior. Otherwise, the output will be corrupted.
9621           https://bugzilla.gnome.org/show_bug.cgi?id=776712
9622           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
9623
9624 2017-06-29 12:50:26 +0900  Hyunjun Ko <zzoon@igalia.com>
9625
9626         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9627           libs: encoder: h264: initialize all elements of view_ids
9628           Currently when num_views is changed by multiview-mode on sink caps, it produces
9629           wrong MVC encoded stream since the array view_ids is not set properly according
9630           to changed num_views.
9631           So this patch initializes all of the array sequentially to handle this case.
9632           Side effect is not going to happen by this patch since this array is being
9633           handled by num_views.
9634           https://bugzilla.gnome.org/show_bug.cgi?id=784321
9635
9636 2017-06-27 14:30:54 +0900  Hyunjun Ko <zzoon@igalia.com>
9637
9638         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9639           Revert "encoder: h264: Use high profile by default"
9640           This reverts commit 4aec5bdd7207fc0e45813ef14c9c0ad5174a8f75.
9641           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9642
9643 2017-06-27 16:03:37 +0900  Hyunjun Ko <zzoon@igalia.com>
9644
9645         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9646           libs: encoder: h264: set profile via capsfilter
9647           Until now, the encoder ignored the profile in src caps and chose one
9648           according with the given parameters. But the encoder must honor the
9649           profile specifed in src caps.
9650           This patch do that, and if the encoder needs to choose the profile,
9651           it will do it by following these rules:
9652           1\ If given parameters are not compatible with given profile, the
9653           encoder will bail out with an error.
9654           2\ The encoder will choose the higher profile indicated in the
9655           src caps.
9656           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9657
9658 2017-06-27 13:14:31 +0900  Hyunjun Ko <zzoon@igalia.com>
9659
9660         * gst/vaapi/gstvaapiencode_h264.c:
9661           vaapiencode: h264: set profile to src caps
9662           So far vaapi encoder does not set profile to src caps. This patch makes it
9663           setting profile to src caps, which is determined by itself.
9664           In addition, if encoder chose different profile, which is not negotiated with
9665           downstream, we should set compatible profile to make negotiation working.
9666           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9667
9668 2017-06-22 09:56:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9669
9670         * gst/vaapi/gstvaapiencode_h264.c:
9671         * gst/vaapi/gstvaapiencode_h264.h:
9672           vaapiencode: h264: verify if requested profile is supported
9673           Check if the requested profile in source caps, is supported by the
9674           VA driver. If it is not, an info log message is send saying that
9675           another (compatible?) profile will be used.
9676           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9677
9678 2017-06-21 21:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9679
9680         * gst/vaapi/gstvaapiencode_h264.c:
9681           vaapiencode: h264: improve set_config() vmethod
9682           First check if downstream requests ANY caps. If so, byte-stream is
9683           used and the profile will be choose by the encoder. If dowstream
9684           requests EMPTY caps, the negotiation will fail.
9685           Lately, byte-stream and profile are looked in the allowed caps.
9686           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9687
9688 2017-06-21 19:30:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9689
9690         * gst/vaapi/gstvaapiencode_h264.c:
9691           vaapiencode: h264: check for avc in set_config()
9692           The check for avc stream format was done in the vaapi encoder's
9693           vmethod get_caps(), but that is wrong since it has to be check
9694           when encoder set_format().
9695           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9696
9697 2017-06-29 12:49:24 +0900  Hyunjun Ko <zzoon@igalia.com>
9698
9699         * gst/vaapi/gstvaapipostprocutil.c:
9700           vaapipostproc: set multivew-mode flags to src caps
9701           vaapipostproc didn't negotiate the proper multiview caps losing
9702           downstream information.
9703           This patch enables the playing of MVC encoded stream by setting
9704           the proper multiview mode/flags and views to src caps, according
9705           to sink caps.
9706           https://bugzilla.gnome.org/show_bug.cgi?id=784320
9707
9708 2016-11-22 15:52:47 +0000  Julien Isorce <j.isorce@samsung.com>
9709
9710         * gst/vaapi/gstvaapipostproc.c:
9711           vaapipostproc: add support for DMABuf caps feature
9712           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9713           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
9714
9715 2017-06-01 19:42:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9716
9717         * gst/vaapi/gstvaapidecode.c:
9718           vaapidecode: add support for DMABuf caps feature
9719           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9720           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
9721
9722 2017-06-23 12:12:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9723
9724         * gst/vaapi/gstvaapipluginbase.c:
9725           vaapipluginbase: force dmabuf allocator if DMABuf caps feature
9726           Instantiate all dmabuf allocator for src pad buffer pool if the
9727           src caps ask for memory:DMABuf feature.
9728           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9729
9730 2016-11-22 23:26:05 +0000  Julien Isorce <j.isorce@samsung.com>
9731
9732         * gst/vaapi/gstvaapipluginutil.c:
9733         * gst/vaapi/gstvaapipluginutil.h:
9734           vaapipluginutil: add support for DMABuf caps feature
9735           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9736           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
9737           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
9738           vaapipluginutil: add support for DMABuf caps feature
9739
9740 2017-06-01 19:13:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9741
9742         * gst/vaapi/gstvaapipluginbase.c:
9743           vaapipluginbase: dmabuf memory map trial for raw caps
9744           Only push dmabuf-based buffers with raw caps if gst_memory_map()
9745           succeeds. Otherwise, use the the vaapi surfaces allocator.
9746           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9747           https://bugzilla.gnome.org/show_bug.cgi?id=774649
9748           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
9749
9750 2016-06-08 19:11:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9751
9752         * gst/vaapi/gstvaapivideomemory.c:
9753         * gst/vaapi/gstvaapivideomemory.h:
9754           vaapivideomemory: add gst_vaapi_dmabuf_can_map()
9755           This new method checks the specified allocator can create GstMemory that can
9756           be mapped.
9757           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9758
9759 2017-06-23 17:33:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9760
9761         * gst/vaapi/gstvaapivideobufferpool.c:
9762           vaapivideobufferpool: fix regression with video metas
9763           There is another regression with 7a206923 when setting the video
9764           info for the video meta, it should be the one from the image's
9765           allocator rather from the allocation caps.
9766           Test pipeline:
9767           gst-launch-1.0 filesrc location=bug766184.flv ! decodebin \
9768           ! tee ! videoconvert ! videoscale                     \
9769           ! video/x-raw, width=1920, height=1080 ! xvimagesink
9770
9771 2017-06-23 14:38:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9772
9773         * gst/vaapi/gstvaapipluginbase.c:
9774         * gst/vaapi/gstvaapivideobufferpool.c:
9775           plugins: update buffer size with the one reported by allocator
9776           There is a regression in 7a206923, since the buffer pool ditches all
9777           the buffers generated by them because the pool config size is
9778           different of the buffer's size.
9779           Test pipeline:
9780           gst-launch-1.0 filesrc location=big_buck_bunny_1080p_h264.mov \
9781           ! qtdemux ! vaapih264dec ! vaapipostproc ! xvimagesink    \
9782           --gst-debug=GST_PERFORMANCE:5
9783           The allocator may update the buffer size according to the VA surface
9784           properties. In order to do this, the video info is modified when the
9785           allocator is created, which reports through the allocation info the
9786           updated size, and set it to the pool config.
9787
9788 2017-06-14 21:40:33 +0900  Hyunjun Ko <zzoon@igalia.com>
9789
9790         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9791           libs: decoder: h264: initialize active_sps/pps in reset
9792           Since commits in https://bugzilla.gnome.org/show_bug.cgi?id=781142 landed,
9793           they introduced regression in seek.
9794           Formerly, once seek is done, decoder drops P-frames until I-frame arrives.
9795           But since the commits landed, it doesn't drop P-frame and does try to
9796           decode it continuously because active_sps is still alive. See ensure_sps function.
9797           But there are prev_frames and prev_ref_frames reset already, then it
9798           causes assertion.
9799           So it's necessary to reset active_sps/pps also in reset method.
9800           https://bugzilla.gnome.org/show_bug.cgi?id=783726
9801
9802 2017-06-15 13:24:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9803
9804         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9805         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9806           libs: encoder: fix compilation with old versions of libva
9807           There are some symbols that are not used when compiling with old
9808           version of libva and those generates a compilation error.
9809           Original-patch-by: Matt Staples <staples255@gmail.com>
9810
9811 2017-06-09 14:02:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9812
9813         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9814           libs: encoder: Fix the quality level clamping
9815           Change the hard-coded range of quality-level from {1-8} to {1-7},
9816           since it is the range Intel Open source driver supports.
9817           Also perform the range clamping only if the user provided
9818           quality-level is greater than the max-range suppored by the driver,
9819           because there could be non-intel drivers giving lower value than
9820           the hard-coded max value 7.
9821           https://bugzilla.gnome.org/show_bug.cgi?id=783567
9822
9823 2017-04-06 19:35:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9824
9825         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9826         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9827         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9828         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9829         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9830         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9831           libs: encoder: log out the name of the profile
9832           Instead of printing a number, it is more readable to log out, in
9833           case of error, the name of the failing profile.
9834
9835 2017-05-31 12:36:17 +0900  Hyunjun Ko <zzoon@igalia.com>
9836
9837         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9838           libs: encoder: h264: changes raw number of profile to macro name of its
9839           Changes raw number of profile to macro name of its to improve readability.
9840           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9841
9842 2017-06-09 17:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9843
9844         * gst/vaapi/gstvaapivideobufferpool.c:
9845           vaapivideobufferpool: remove allocation_vinfo private attribute
9846           There is no need to keep this attribute internally since it is
9847           already managed by the allocator.
9848           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9849
9850 2017-06-09 15:02:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9851
9852         * gst/vaapi/gstvaapivideobufferpool.c:
9853           vaapivideobufferpool: refactor set_config()
9854           Refactor the set_config() virtual method considering a cleaner
9855           approach to allocator instanciation, if it it not set or if it is
9856           not valid for the pool.
9857           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9858
9859 2017-06-09 13:05:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9860
9861         * gst/vaapi/gstvaapipluginbase.c:
9862         * gst/vaapi/gstvaapivideobufferpool.c:
9863         * gst/vaapi/gstvaapivideomemory.c:
9864         * gst/vaapi/gstvaapivideomemory.h:
9865           plugins: distinguish allocation and negotiation caps
9866           The vaapi video decoders might have different allocation caps from
9867           the negotiation caps, thus the GstVideoMeta shall use the negotiation
9868           caps, not the allocation caps.
9869           This was done before reusing gst_allocator_get_vaapi_video_info(),
9870           storing there the negotiation caps if they differ from the allocation
9871           ones, but this strategy felt short when the allocator had to be reset
9872           in the vaapi buffer pool, since we need both.
9873           This patch adds gst_allocator_set_vaapi_negotiated_video_info() and
9874           gst_allocator_get_vaapi_negotiated_video_info() to store the
9875           negotiated video info in the allocator, and distinguish it from
9876           the allocation video info.
9877           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9878
9879 2017-06-08 19:32:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9880
9881         * gst/vaapi/gstvaapivideomemory.c:
9882         * gst/vaapi/gstvaapivideomemory.h:
9883           vaapivideomemory: rename qdata quarks and ids
9884           Also the parameter names were renamed to reflect their origin
9885           and purpose.
9886           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9887
9888 2017-06-08 16:05:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9889
9890         * gst/vaapi/gstvaapivideobufferpool.c:
9891           vaapivideobufferpool: rename local variables
9892           Renamed local video info structure names in set_config() vitual
9893           method. The purpose of their renaming is to clarify the origin
9894           of those structures, whether come from passed caps parameter
9895           (new_allocation_vinfo) or from the configured allocator
9896           (allocator_vinfo).
9897           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9898
9899 2017-06-08 15:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9900
9901         * gst/vaapi/gstvaapivideobufferpool.c:
9902           vaapivideobufferpool: rename video info structures
9903           Renamed private GstVideoInfo structure video_info to allocation_vinfo
9904           and alloc_info to negotiated_vinfo.
9905           The purpose of these renaming is to clarify the origin and purpose of
9906           these private variables:
9907           video_info (now allocation_vinfo) comes from the bufferpool
9908           configuration. It describes the physical video resolution to be
9909           allocated by the allocator, which may be different from the
9910           negotiated one.
9911           alloc_info (now vmeta_vinfo) comes from the negotiated caps in
9912           the pipeline. It represents how the frame is going to be mapped
9913           using the video meta.
9914           In Intel's VA-API backend, the allocation_vinfo resolution is
9915           bigger than the negotiated_info.
9916           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9917
9918 2017-06-08 12:51:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9919
9920         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9921           libs: encoder: set framerate if bigger than 0/1
9922           Just set the framerate parameter if the framerate numerator and
9923           denominator are bigger than zero.
9924           Otherwise, in Intel Gen6 driver, a warning is raised disabling the
9925           bitrate control.
9926           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
9927           https://bugzilla.gnome.org/show_bug.cgi?id=783532
9928
9929 2017-06-07 12:32:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9930
9931         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9932           libs: encoder: bitrate target percentage calculation
9933           If the rate control is set to Constant Bit Rate (CBR) the target
9934           percentage is 100%, otherwise is 70%
9935
9936 2017-06-07 12:25:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9937
9938         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9939         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9940         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9941         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9942         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9943         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9944           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor ratecontrol param
9945           Centralize the common configuration for the Rate Control parameter,
9946           thus can be overloaded per each specific encoder.
9947
9948 2017-06-07 11:10:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9949
9950         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9951         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9952         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9953         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9954         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9955         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9956           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor framerate param
9957           Since the framerate VA parameter is calculated equally among all the
9958           encoders, it is better to handle it in the base encoder class.
9959
9960 2016-08-09 15:53:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9961
9962         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9963         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
9964           libs: encoder: vp9: Adds CBR and VBR Encoding support
9965           https://bugzilla.gnome.org/show_bug.cgi?id=766832
9966           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
9967           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9968
9969 2017-06-01 12:12:26 +0900  Hyunjun Ko <zzoon@igalia.com>
9970
9971         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9972           libs: encoder: vp8: Adds VBR Encoding support
9973           https://bugzilla.gnome.org/show_bug.cgi?id=778732
9974
9975 2017-06-01 12:11:12 +0900  Hyunjun Ko <zzoon@igalia.com>
9976
9977         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9978           libs: encoder: h265: Adds VBR Encoding support
9979           Enables Variable BitRate mode, which does set FrameRate and RateControl
9980           parameters.
9981           https://bugzilla.gnome.org/show_bug.cgi?id=778732
9982
9983 2017-06-02 13:50:05 +0900  Hyunjun Ko <zzoon@igalia.com>
9984
9985         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9986           libs: encoder: Describes more detail about the bitrate property
9987           https://bugzilla.gnome.org/show_bug.cgi?id=778732
9988
9989 2017-06-05 20:44:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9990
9991         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9992           libs: encoder: h265: add rate control parameter
9993           https://bugzilla.gnome.org/show_bug.cgi?id=783449
9994
9995 2017-06-05 20:33:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9996
9997         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9998         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9999         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10000           libs: encoder: h264,h265,mpeg2: add framerate parameter
10001           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10002
10003 2017-06-05 20:30:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10004
10005         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10006         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10007         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10008         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10009           libs: encoder: vp8,h264,h265,mpeg2: set misc param once
10010           Instead of recalculating the miscellaneous buffer parameters for
10011           every buffer, it is only done once, when the encoder is configured.
10012           And for every buffer, the same structures are just copied.
10013           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10014
10015 2017-06-05 17:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10016
10017         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10018         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10019         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10020         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10021         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10022         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10023           libs: encoder: vp8,h264,h265,mpeg2: refactor misc parameters
10024           This is patch pretends to decouple the assignation of the values
10025           in the parameter structures and the VA buffer's parameters setting.
10026           It may lead to some issues since HRD, framerate or controlrate may
10027           not be handled by the specific encoder, but they are set in
10028           the VA buffer's parameters.
10029           I leave as it because this patch is just a transitional patch.
10030           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10031
10032 2017-06-05 16:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10033
10034         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10035           libs: encoder: vp8: fix frame rate calculation
10036           According to the VA documentation:
10037           The framerate is specified as a number of frames per second,
10038           as a fraction.  The denominator of the fraction is given in
10039           the top half (the high two bytes) of the framerate field, and
10040           the numerator is given in the bottom half (the low two bytes).
10041           For example, if framerate is set to (100 << 16 | 750), this is
10042           750 / 100, hence 7.5fps.
10043           If the denominator is zero (the high two bytes are both zero)
10044           then it takes the value one instead, so the framerate is just
10045           the integer in the low 2 bytes.
10046           This patch fixes the the framerate calculation in vp8 encoder
10047           according to this.
10048           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10049
10050 2017-06-02 19:46:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10051
10052         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10053           libs: encoder: vp8: refactor FrameRate parameter
10054           Move frame-rate parameter from ensure_misc_params() to
10055           ensure_contro_rate_param() since it only has meaning when the
10056           control rate is either VBR or CBR.
10057           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10058
10059 2017-06-02 19:33:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10060
10061         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10062         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10063         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10064         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10065           libs: encoder: h264,h265,mpeg2,vp8: refactor HDR
10066           Move the Hypothetical Reference Decoder (HRD) parameter, from
10067           ensure_misc_params() to ensure_control_rate_params(), since it
10068           only shall be defined when the control rate is either VBR or CBR.
10069           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10070
10071 2017-06-02 17:21:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10072
10073         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10074         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10075         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10076           libs: encoder: h264,vp8,mpeg2: refactor control rate
10077           Instead of filling the control rate param in ensure_misc_params(),
10078           this patch refactor it out, as a first step to merge the same code
10079           for all the encoders.
10080           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10081
10082 2017-06-02 16:28:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10083
10084         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10085         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10086         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10087           libs: encoder: h264, h265, mpeg2: remove assert
10088           Remove spurious asserts for misc parameters. If they cannot be
10089           allocated, FALSE is already returned.
10090
10091 2017-06-05 18:19:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10092
10093         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10094         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10095           libs: encoder: use VA quality level structure
10096           Instead of using a proxy to story the buffer quality level, the
10097           encoder now uses the native VA structure, which is copied to the
10098           dynamically allocated VAEncMiscParameterBuffer.
10099           This approach is computationally less expensive.
10100
10101 2017-05-26 11:10:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10102
10103         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10104         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
10105         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10106         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10107           libs: standardize the FIXME comment
10108           This is a trivial patch that makes homogeneous the FIXME tag in
10109           comments.
10110           For more info about these comment style:
10111           http://wiki.c2.com/?FixmeComment
10112
10113 2017-05-22 17:20:45 +0200  Hyunjun Ko <zzoon@igalia.com>
10114
10115         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10116           libs: encoder: vp8: set quality level regardless of rate control mode
10117           https://bugzilla.gnome.org/show_bug.cgi?id=782957
10118
10119 2017-05-15 18:38:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10120
10121         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10122         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10123         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10124         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10125           libs: encoder: check for maximum number of slices
10126           Right now, H264 and HEVC can set as a property the number of slices to
10127           process. But each driver can set a maximum number of slices, depending
10128           on the supported profile & entry point.
10129           This patch verifies the current num_slices to process against the maximum
10130           permitted by the driver and the media size.
10131           https://bugzilla.gnome.org/show_bug.cgi?id=780955
10132
10133 2017-05-15 18:36:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10134
10135         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
10136           libs: utils: mark functions as internals
10137           The functions in this header are internal to the library.
10138
10139 2017-05-15 18:35:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10140
10141         * gst-libs/gst/vaapi/gstvaapicontext.h:
10142           libs: context: add missing documentation
10143           Document the region-of-interest configuration variables.
10144
10145 2017-05-12 18:46:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10146
10147         * tests/elements/test-vaapisink.c:
10148           tests: elements: vaapisink: handle nav events
10149           The test app can now handle navigation events to rotate the
10150           display.
10151
10152 2017-05-12 18:17:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10153
10154         * tests/elements/test-vaapisink.c:
10155           tests: elements: clean up vaapisink test
10156           - Use gst_element_send_event() instead of gst_pad_push_event()
10157           - don't zero App structure
10158           - check for pipeline parsing error
10159           - only get vaapisink for property set
10160
10161 2017-05-12 13:08:30 +0900  Hyunjun Ko <zzoon@igalia.com>
10162
10163         * gst/vaapi/gstvaapisink.c:
10164           vaapisink: keep handle_events flag except that if user want to set
10165           When state of vaapisink is changed from PLAYING to NULL, the handle_events
10166           flag is set to FALSE, and never recovered, and then event thread is never
10167           going to run.
10168           So we should allow to set the flag only when users try it.
10169           https://bugzilla.gnome.org/show_bug.cgi?id=782543
10170
10171 2017-05-12 13:06:24 +0900  Hyunjun Ko <zzoon@igalia.com>
10172
10173         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
10174           libs: window: x11: fix src rect info when using vpp
10175           Since we started using VPP in VaapiWindowX11, we need to care about
10176           the case that src rect and window's size are different.
10177           So, once VPP has converted to other format, we should honor the
10178           size of the VPP's surface as source rect. Otherwise, it is cropped
10179           according the previous size of the source rect.
10180           https://bugzilla.gnome.org/show_bug.cgi?id=782542
10181
10182 2017-04-28 15:20:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10183
10184         * gst/vaapi/gstvaapipluginutil.c:
10185           plugins: remove par from caps negotiation
10186           https://bugzilla.gnome.org/show_bug.cgi?id=781759
10187
10188 2017-03-30 17:57:42 +0900  Hyunjun Ko <zzoon@igalia.com>
10189
10190         * tests/elements/Makefile.am:
10191         * tests/elements/test-roi.c:
10192           tests: elements: add an example for ROI
10193           This implements a pipleint to recognize difference between ROI and non-ROI.
10194           See comments in this code in detail.
10195           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10196           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10197
10198 2017-03-30 17:54:20 +0900  Hyunjun Ko <zzoon@igalia.com>
10199
10200         * gst/vaapi/gstvaapiencode.c:
10201         * gst/vaapi/gstvaapiencode_h264.c:
10202           vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest
10203           Handles new custom event GstVaapiEncoderRegionOfInterest
10204           to enable/disable a ROI region.
10205           Writes a way to use new event to document.
10206           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10207           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10208
10209 2017-02-23 18:53:18 +0900  Hyunjun Ko <zzoon@igalia.com>
10210
10211         * tests/simple-encoder.c:
10212           tests: simple-encoder: add an option to set ROI
10213           $ simple-encoder -r inputfile.y4m
10214           And you'll got an output file in H264 with two regions of interest.
10215           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10216           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10217
10218 2017-02-23 18:52:48 +0900  Hyunjun Ko <zzoon@igalia.com>
10219
10220         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10221           libs: encoder: h264: set ROI params during encoding
10222           Set ROI params during encoding each frame, which are set via
10223           gst_vaapi_encoder_add_roi ()
10224           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10225           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10226
10227 2017-03-28 17:41:37 +0900  Hyunjun Ko <zzoon@igalia.com>
10228
10229         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10230         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10231         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10232           libs: encoder: add api gst_vaapi_encoder_add/del_roi
10233           Implements and exposes new api gst_vaapi_encoder_add/del_roi to set ROI regions.
10234           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10235
10236 2017-02-23 17:57:07 +0900  Hyunjun Ko <zzoon@igalia.com>
10237
10238         * gst-libs/gst/vaapi/gstvaapicontext.c:
10239         * gst-libs/gst/vaapi/gstvaapicontext.h:
10240         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10241           libs: encoder/context: query region of interest support
10242           Queries if the driver supports "Region of Interest" (ROI) during the config
10243           creation.
10244           This attribute conveys whether the driver supports region-of-interest (ROI)
10245           encoding, based on user provided ROI rectangles.  The attribute value is
10246           partitioned into fields as defined in the VAConfigAttribValEncROI union.
10247           If ROI encoding is supported, the ROI information is passed to the driver
10248           using VAEncMiscParameterTypeROI.
10249           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10250           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10251
10252 2017-05-12 11:11:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10253
10254         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
10255           libs: encoder: fix a comment
10256
10257 2017-05-11 12:23:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10258
10259         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10260           libs: encoder: guard quality level configuration
10261           The quality level appeared in VA-API 0.36. So let's guard its
10262           usage.
10263
10264 2017-04-19 13:04:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10265
10266         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10267         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10268         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10269         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10270         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10271         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
10272         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10273         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10274         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10275           encoders: add quality level tuning
10276           This patch adds the handling of VAEncMiscParameterTypeQualityLevel,
10277           in gstreamer-vaapi encoders:
10278           The encoding quality could be set through this structure, if the
10279           implementation supports multiple quality levels. The quality level set
10280           through this structure is persistent over the entire coded sequence, or
10281           until a new structure is being sent. The quality level range can be queried
10282           through the VAConfigAttribEncQualityRange attribute. A lower value means
10283           higher quality, and a value of 1 represents the highest quality. The quality
10284           level setting is used as a trade-off between quality and speed/power
10285           consumption, with higher quality corresponds to lower speed and higher power
10286           consumption.
10287           The quality level is set by the element's parameter "quality-level" with a
10288           hard-coded range of 1 to 8.
10289           Later, when the encoder is configured in run time, just before start
10290           processing, the quality level is scaled to the codec range. If
10291           VAConfigAttribEncQualityRange is not available in the used VA backend, then
10292           the quality level is set to zero, which means "disabled".
10293           All the available codecs now process this parameter if it is available.
10294           https://bugzilla.gnome.org/show_bug.cgi?id=778733
10295           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10296
10297 2017-05-04 18:59:31 +0300  Sebastian Dröge <sebastian@centricular.com>
10298
10299         * configure.ac:
10300         * meson.build:
10301           Back to development
10302
10303 === release 1.12.0 ===
10304
10305 2017-05-04 15:46:03 +0300  Sebastian Dröge <sebastian@centricular.com>
10306
10307         * ChangeLog:
10308         * NEWS:
10309         * configure.ac:
10310         * gstreamer-vaapi.doap:
10311         * meson.build:
10312           Release 1.12.0
10313
10314 2017-05-04 11:49:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10315
10316         * gst/vaapi/gstvaapidecodebin.c:
10317           Revert "vaapidecodebin: fix element's classification"
10318           This reverts commit 8cbe03599a4f27c2001380e2ec150c4f4267a9cf.
10319
10320 2017-04-27 22:55:27 -0700  Scott D Phillips <scott.d.phillips@intel.com>
10321
10322         * configure.ac:
10323         * meson.build:
10324           build: Require libva < 0.99.0
10325           libva >= 0.99.0 is not currently supported by gstreamer-vaapi, so
10326           fail to configure instead of failing late in the build.
10327           This libva is bundled in msdk[1] and it is ahead in time with
10328           respect the official and open source libva[2]. GStreamer-VAAPI
10329           only supports the latter for now.
10330           1. https://software.intel.com/en-us/media-sdk/download
10331           2. https://github.com/01org/libva/
10332           https://bugzilla.gnome.org/show_bug.cgi?id=781866
10333
10334 2017-05-02 14:08:54 +0200  Victor Toso <me@victortoso.com>
10335
10336         * gst/vaapi/gstvaapidecodebin.c:
10337           vaapidecodebin: fix element's classification
10338           This bin should have similar classification as decodebin which is
10339           "Generic/Bin/Decoder" otherwise it will appear wrongly as video
10340           decoder.
10341           Signed-off-by: Victor Toso <victortoso@redhat.com>
10342           https://bugzilla.gnome.org/show_bug.cgi?id=782063
10343
10344 === release 1.11.91 ===
10345
10346 2017-04-27 17:49:52 +0300  Sebastian Dröge <sebastian@centricular.com>
10347
10348         * ChangeLog:
10349         * NEWS:
10350         * configure.ac:
10351         * gstreamer-vaapi.doap:
10352         * meson.build:
10353           Release 1.11.91
10354
10355 2017-04-27 13:08:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10356
10357         * gst/vaapi/gstvaapipluginutil.c:
10358           Revert "plugins: reject pixel-aspect-ratio with value 0/1"
10359           This reverts commit c0be7b1890ea8da915a81ae82bc9f504aee7cc26.
10360
10361 2017-04-27 12:43:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10362
10363         * gst/vaapi/gstvaapipluginutil.c:
10364           plugins: reject pixel-aspect-ratio with value 0/1
10365           Do not negotiate a pixel-aspect-ratio of 0/1.
10366           https://bugzilla.gnome.org/show_bug.cgi?id=781759
10367
10368 2017-04-26 15:48:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10369
10370         * gst/vaapi/gstvaapipostprocutil.c:
10371         * gst/vaapi/gstvaapisink.c:
10372           plugins: handle pixel-aspect-ratio with value 0/1
10373           When downstream negotiates a pixel-aspect-ratio of 0/1, the
10374           calculations for resizing and formatting in vaapipostproc and
10375           vaapisink, respectively, failed, and thus the pipeline.
10376           This patch handles this situation by converting p-a-r of 0/1 to
10377           1/1. This is how other sinks, such as glimagesink, work.
10378           https://bugzilla.gnome.org/show_bug.cgi?id=781759
10379
10380 2017-04-27 14:42:55 +0900  Hyunjun Ko <zzoon@igalia.com>
10381
10382         * gst/vaapi/gstvaapivideobufferpool.c:
10383           vaapivideobufferpool: fix leak of created allocator
10384           Since it's created by itself, it should be unref-counted
10385           after gst_buffer_pool_config_set_allocator call. Afterwards,
10386           this allocator will be ref-counted again when assigning to priv->allocator.
10387           https://bugzilla.gnome.org/show_bug.cgi?id=781577
10388
10389 2017-04-21 19:07:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10390
10391         * gst/vaapi/gstvaapivideobufferpool.c:
10392           vaapivideobufferpool: create or reconfig allocator
10393           Sometimes a video decoder could set different buffer pool
10394           configurations, because their frame size changes. In this case we
10395           did not reconfigure the allocator.
10396           This patch enables this use case, creating a new allocator inside
10397           the VAAPI buffer pool if the caps changed, if it is not dmabuf-based.
10398           If so, it is just reconfigured, since it doesn't have a surface pool.
10399           https://bugzilla.gnome.org/show_bug.cgi?id=781577
10400
10401 2017-04-25 12:58:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10402
10403         * tests/elements/Makefile.am:
10404           test: elements: fix compilation flags
10405           This issue was spotten on bug #766704
10406           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
10407
10408 2017-04-25 16:23:08 +0900  Hyunjun Ko <zzoon@igalia.com>
10409
10410         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10411           libs: windows: wayland: fix leak if failure of sync
10412           Sometimes gst_vaapi_window_wayland_sync returns FALSE when poll returns EBUSY
10413           during destruction.
10414           In this case, if GstVaapiWindow is using vpp, leak of vpp surface happens.
10415           This surface is not attached to anything at this moment, so we should release
10416           it manually.
10417           https://bugzilla.gnome.org/show_bug.cgi?id=781695
10418
10419 2017-04-24 20:30:30 +0100  Tim-Philipp Müller <tim@centricular.com>
10420
10421         * common:
10422           Automatic update of common submodule
10423           From 60aeef6 to 48a5d85
10424
10425 2017-04-21 15:30:09 +0200  Hyunjun Ko <zzoon@igalia.com>
10426
10427         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10428           libs: window: wayland: mark frames as done
10429           When the frame listener callbacks 'done', the number of pending
10430           frames are decreased. Nonetheless, there might be occasions where
10431           the buffer listener callbacks 'release', without calling previously
10432           frame's 'done'. This leads to problem with
10433           gst_vaapi_window_wayland_sync() operation.
10434           This patch marks as done those frames which were callbacked, but if
10435           the buffer callbacks 'release' and associated frame is not marked
10436           as 'done' it is so, thus the number of pending frames keeps correct.
10437           https://bugzilla.gnome.org/show_bug.cgi?id=780442
10438           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10439
10440 2017-04-21 14:07:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10441
10442         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10443           libs: window: wayland: don't sync at destroy()
10444           Don't call gst_vaapi_window_wayland_sync() when destroying the
10445           wayland window instance, since it might lead to a lock at
10446           gst_poll_wait() when more than one instances of vaapisink are
10447           rendering in the same pipeline, this is because they share the
10448           same window.
10449           Since now all the frames are freed we don't need to freed the
10450           private last_frame, since its address is invalid now.
10451           https://bugzilla.gnome.org/show_bug.cgi?id=780442
10452           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
10453
10454 2017-04-19 10:37:19 +0900  Hyunjun Ko <zzoon@igalia.com>
10455
10456         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10457           libs: window: wayland: null buffer at destroy()
10458           Fix leakage of the last wl buffer.
10459           VAAPI wayland sink needs to send a null buffer while destruction,
10460           it assures that all the wl buffers are released. Otherwise, the last
10461           buffer's callback might be not called, which leads to leak of
10462           GstVaapiDisplay.
10463           This was inspired by gstwaylandsink.
10464           https://bugzilla.gnome.org/show_bug.cgi?id=774029
10465           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10466
10467 2016-10-30 10:43:49 +0900  Jagyum Koo <koojagyum@gmail.com>
10468
10469         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10470           libs: window: wayland: rt event queue at destroy()
10471           The proxy object of wl_buffer for the last frame remains in the
10472           wl_map. Even though we call wl_buffer_destroy() in
10473           frame_release_callback(), the proxy object remains without being
10474           removed, since proxy object is deleted when wayland server sees the
10475           delete request and sends 'delete_id' event.
10476           We need to call roundtrip before destroying event_queue so that the
10477           proxy object is removed. Otherwise, it would be mess up as receiving
10478           'delete_id' event from previous play, when playing in the next
10479           va/wayland window with the same wl_display connection.
10480           https://bugzilla.gnome.org/show_bug.cgi?id=773689
10481           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10482
10483 2017-04-20 20:30:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10484
10485         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10486           libs: window: wayland: cancel read at poll message
10487           Always call wl_display_cancel_read() when an errno is set, but
10488           different to EAGAIN or EINTR.
10489           https://bugzilla.gnome.org/show_bug.cgi?id=780442
10490
10491 2017-04-21 18:05:48 +0900  Hyunjun Ko <zzoon@igalia.com>
10492
10493         * gst/vaapi/gstvaapidecodebin.c:
10494         * gst/vaapi/gstvaapidecodebin.h:
10495           vaapidecodebin: skips configuration once it's done
10496           Skips configuration of creation of vpp/capsfilter and link them once it's done.
10497           Otherwise, it always fails when it's trying to re-start playback.
10498           https://bugzilla.gnome.org/show_bug.cgi?id=781573
10499
10500 2017-04-20 18:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10501
10502         * gst/vaapi/gstvaapipostprocutil.c:
10503           vaapipostproc: fixes for memory leaks
10504           The use of gst_vaapi_value_set_format() and gst_structure_*_value()
10505           requires to clear the used GValue to avoid a memory leak.
10506
10507 2016-12-08 18:51:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10508
10509         * gst/vaapi/gstvaapipluginbase.c:
10510         * gst/vaapi/gstvaapipluginbase.h:
10511           plugins: enable direct rendering with envvar
10512           Direct rendering (use vaDeriveImage rather than vaPutImage) has better
10513           performance in some Intel platforms (Haswell, for example) but in others
10514           (Skylake) is the opposite.
10515           In order to have some control, the patch enables the direct rendering
10516           through the environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING.
10517           Also it seems to generating some problems with gallium/radeon backend.
10518           See bug #779642.
10519           https://bugzilla.gnome.org/show_bug.cgi?id=775848
10520
10521 2017-04-08 02:05:21 +1000  Jan Schmidt <jan@centricular.com>
10522
10523         * gst/vaapi/gstvaapidecode.c:
10524           vaapidecode: Don't renegotiate on every flush
10525           If caps don't actually change, don't update the
10526           decoder and don't set the do_renego flag forcing
10527           downstream renegotiation
10528           https://bugzilla.gnome.org/show_bug.cgi?id=781142
10529
10530 2017-04-08 01:21:23 +1000  Jan Schmidt <jan@centricular.com>
10531
10532         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10533           h264 decoder: Implement reset() for faster flush
10534           Implement a custom reset() function for faster flushes
10535           that just clear the reference pictures but don't reallocate
10536           the DPB or clear out SPS/PPS
10537           https://bugzilla.gnome.org/show_bug.cgi?id=781142
10538
10539 2017-04-05 17:24:20 +1000  Jan Schmidt <jan@centricular.com>
10540
10541         * gst-libs/gst/vaapi/gstvaapidecoder.c:
10542         * gst-libs/gst/vaapi/gstvaapidecoder.h:
10543         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10544         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10545         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10546         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
10547         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
10548         * gst/vaapi/gstvaapidecode.c:
10549           Implement decoder reset on flush, rather than recreating
10550           Clear decoders out on a flush but keep the same instance,
10551           rather than completely recreating them. That avoids
10552           unecessarily freeing and recreating surface pools
10553           and contexts, which can be quite expensive
10554           https://bugzilla.gnome.org/show_bug.cgi?id=781142
10555
10556 2017-04-11 18:50:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10557
10558         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10559           libs: window: don't add an unused function
10560           The macro GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE only defines
10561           a function that is never used, thus when compiling we might see
10562           this warning (clang):
10563           gstvaapiwindow.c:147:1: warning: unused function 'gst_vaapi_window_class' [-Wunused-function]
10564           GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE (GstVaapiWindow,
10565           ^
10566           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10567
10568 2017-04-11 18:22:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10569
10570         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10571         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10572           libs: window: remove surface_format member
10573           Since we always convert to NV12, there is no need to keep a
10574           variable for that. Let us hard code it.
10575           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10576
10577 2017-04-10 17:23:26 +0900  Hyunjun Ko <zzoon@igalia.com>
10578
10579         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10580         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
10581         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
10582           libs: window: x11/wayland: use new api for conversion
10583           Since gst_vaapi_window_vpp_convert_internal is created,
10584           GstVaapiWindowX11/Wayland can use it for conversion.
10585           Note that once it chooses to use vpp, it's going to use vpp
10586           until the session is finished.
10587           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10588
10589 2017-04-10 11:41:29 +0900  Hyunjun Ko <zzoon@igalia.com>
10590
10591         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10592         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10593           libs: window: add gst_vaapi_window_vpp_convert_internal()
10594           If a backend doesn't support specific format, we can use vpp for conversion
10595           and make it playing.
10596           This api is originated from GstVaapiWindowWayland and moved to GstVaapiWindow,
10597           so that GstVaapiWindowX11 could use it.
10598           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10599
10600 2017-04-03 16:45:36 +0900  Hyunjun Ko <zzoon@igalia.com>
10601
10602         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10603         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10604         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10605         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
10606         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
10607           libs: window: x11/wayland: chaining up to GstVaapiWindow
10608           Currently, GstVaapiWindowX11/Wayland are not descendants of GstVaapiWindow.
10609           This patch chains them up to GstVaapiWindow to handle common members in GstVaapiWindow.
10610           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10611
10612 2017-04-05 11:19:15 -0700  Scott D Phillips <scott.d.phillips@intel.com>
10613
10614         * gst/vaapi/gstvaapipluginutil.c:
10615           plugins: Fix usage of GST_GL_HAVE_WINDOW_* defines
10616           When these definitions are false, they are undef in the
10617           preprocessor, not a defined value of 0. When they are unset the
10618           compile fails with:
10619           'GST_GL_HAVE_WINDOW_WAYLAND' undeclared (first use in this function)
10620           https://bugzilla.gnome.org/show_bug.cgi?id=780948
10621
10622 2017-04-10 23:51:06 +0100  Tim-Philipp Müller <tim@centricular.com>
10623
10624         * common:
10625           Automatic update of common submodule
10626           From 39ac2f5 to 60aeef6
10627
10628 === release 1.11.90 ===
10629
10630 2017-04-07 16:36:21 +0300  Sebastian Dröge <sebastian@centricular.com>
10631
10632         * ChangeLog:
10633         * NEWS:
10634         * configure.ac:
10635         * gstreamer-vaapi.doap:
10636         * meson.build:
10637           Release 1.11.90
10638
10639 2017-04-03 14:52:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10640
10641         * gst/vaapi/gstvaapiencode_h265.c:
10642           vaapiencode: h265: add main-10 in caps template
10643           This patch adds h265's main-10 profile in encoder src caps template.
10644           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10645
10646 2017-04-03 15:34:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10647
10648         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10649           libs: encoder: h265: chroma and luma with format
10650           If the profile is main-10 the bit_depth_luma_minus8, in the sequence
10651           parameter buffer, shall be the color format bit depth minus 8, 10-8
10652           which is 2. Also for bit_depth_chroma_minus8.
10653           This patch gets the negotiated sink caps format and queries its
10654           luma's depth and uses that value to fill the mentioned parameters.
10655           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10656
10657 2017-03-29 19:20:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10658
10659         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10660           libs: encoder: admit YUV420_10BPP as valid chroma
10661           Accepts as supported the GST_VAAPI_CHROMA_TYPE_YUV420_10BPP chroma
10662           type.
10663           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10664
10665 2017-03-29 19:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10666
10667         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10668           libs: encoder: h265: ensures profile given format
10669           Set the VA profile as GST_VAAPI_PROFILE_H265_MAIN10 if the
10670           configured color format is P010_10LE.
10671           Otherwise, keep GST_VAAPI_PROFILE_H265_MAIN
10672           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10673
10674 2017-04-06 17:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10675
10676         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10677           libs: encode: merge all possible surface formats
10678           When the function gst_vaapi_encoder_get_surface_formats() was added
10679           it was under the assumption that any VA profile of the specific codec
10680           supported the same format colors. But it is not, for example the
10681           profiles that support 10bit formats.
10682           In other words, different VA profiles of a same codec may support
10683           different color formats in their upload surfaces.
10684           In order to expose all the possible color formats, if no profile is
10685           specified via source caps, or if the encoder doesn't have yet a
10686           context, all the possible VA profiles for the specific codec are
10687           iterated and their color formats are merged.
10688           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10689
10690 2017-04-06 16:28:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10691
10692         * gst/vaapi/gstvaapiencode.c:
10693         * gst/vaapi/gstvaapiencode.h:
10694         * gst/vaapi/gstvaapiencode_h264.c:
10695         * gst/vaapi/gstvaapiencode_h265.c:
10696           vaapiencode: add get_profile() vmethod
10697           This new virtual method, get_profile(), if implemented by specific
10698           encoders, will return the VA profile potentially determined by the
10699           source caps.
10700           Also it is implemented by h264 and h265 encoders, which are the main
10701           users of this vmethod.
10702           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10703
10704 2017-04-06 12:49:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10705
10706         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10707         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10708         * gst/vaapi/gstvaapiencode.c:
10709           libs: encoder: pass profile to get_surface_formats()
10710           In order to get the supported surface formats within a specific
10711           profile this patch adds the GstVaapiProfile as property to
10712           gst_vaapi_encoder_get_surface_formats().
10713           Currently the extracted formats are only those related with the
10714           default profile of the element's codec.
10715           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10716
10717 2017-04-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10718
10719         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10720           libs: encoder: dummy context for get_surface_formats()
10721           Instead of creating (if it doesn't exist, yet) the encoder's context
10722           the method gst_vaapi_encoder_get_surface_formats() now it creates
10723           dummy contexts, unless the encoder has it already created.
10724           The purpose of this is to avoid setting a encoder's context with a
10725           wrong profile.
10726           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10727
10728 2017-04-04 14:39:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10729
10730         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10731           libs: encoder: refactor init_context_info()
10732           In order to generate vaapi contexts iterative, the function
10733           init_context_info() is refactored to pass, as parameters the
10734           GstVaapiContextInfo and the GstVaapiProfile.
10735           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10736
10737 2017-04-04 14:21:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10738
10739         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10740         * gst-libs/gst/vaapi/gstvaapiutils.c:
10741         * gst-libs/gst/vaapi/gstvaapiutils.h:
10742           libs: encoder: initialize chroma_type
10743           Instead of initialize the chroma_type with a undefined value, which
10744           will be converted to GST_VAAPI_CHROMA_TYPE_YUV420 by GstVaapiContext,
10745           this patch queries the VA config, given the received
10746           GstVaapiContextInfo's parameters, and gets the first response.
10747           In order to get the GstVaapiChromaType value, also it was needed to
10748           add a new utility function: to_GstVaapiChromaType(), which, given a
10749           VA_RT_FORMAT_* will return the associated GstVaapiChromaType.
10750           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10751
10752 2017-03-31 11:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10753
10754         * gst/vaapi/gstvaapiencode.c:
10755           vaapiencode: enhance logs of negotiated caps
10756           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10757
10758 2017-04-05 11:15:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
10759
10760         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10761           libs: encoder: vp9: Fix initialization of ref_list
10762           gcc 7.0.1 gives a memset-elt-size warning in gst_vaapi_encoder_vp9_init:
10763           'memset' used with length equal to number of elements without
10764           multiplication by element size [-Werror=memset-elt-size]
10765           https://bugzilla.gnome.org/show_bug.cgi?id=780947
10766
10767 2017-03-31 14:12:43 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10768
10769         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10770           encoder: h264: Fix Backward ReferencePicture flag setting
10771           This is a regression introduced by e829b62 which
10772           override the reference flags and caused issues with
10773           latest intel-vaapi-driver.
10774
10775 2017-03-29 13:22:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10776
10777         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10778           libs: encoder: h265: fix code style
10779           Trivial patch to remove a double ';' as end of instruction.
10780
10781 2017-03-28 10:53:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10782
10783         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10784           encoder: h264: Fix B frame encoding artifacts
10785           The current implementation is updating the POC values only
10786           in Slice parameter Buffer.But we are not filling the
10787           picture order count and reference flags in VAPictureH264
10788           while populating VA Picture/Slice structures.The latest
10789           intel-vaapi-driver is directly accessing the above fields
10790           from VAPicutreH264 provided as RefPicLists, which resulted
10791           some wrong maths and prediction errors in driver.
10792           https://bugzilla.gnome.org/show_bug.cgi?id=780620
10793
10794 2017-03-21 16:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10795
10796         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10797           libs: encoder: h265: remove unused macro definition
10798           Since the h265 encoder doesn't use GValueArray, there is no need to
10799           disable the Glib deprecation warnings, thus removing the macro
10800           definition.
10801
10802 2017-03-20 16:45:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10803
10804         * gst/vaapi/gstvaapidecode.c:
10805         * gst/vaapi/gstvaapiencode.c:
10806         * gst/vaapi/gstvaapipostproc.c:
10807         * gst/vaapi/gstvaapisink.c:
10808           plugins: when debug disabled, default category is NULL
10809           As in gstreamer-vaapi a common base class is used, the specific
10810           default category is passed to the base-plugin initializator, thus
10811           the log messages are categorized with the used plugin.
10812           Nonetheless, when the gst-debug is disabled in compilation time,
10813           it is needed to pass NULL to the base-plugin initializator. This
10814           patch does that.
10815           https://bugzilla.gnome.org/show_bug.cgi?id=780302
10816
10817 2017-03-17 17:14:01 +0900  Hyunjun Ko <zzoon@igalia.com>
10818
10819         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10820         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10821         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
10822         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
10823           libs: h26x: adds gst_vaapi_utils_h26x_write_nal_unit()
10824           Implements gst_vaapi_utils_h26x_write_nal_unit(), which writes NAL
10825           unit length and data to a bitwriter.
10826           Note that this helper function applies EPB (Emulation Prevention
10827           Bytes), since otherwise produced codec_data might be broken when
10828           decoder/parser considering EPB, starts parsing.
10829           See sections 7.3 and 7.4 of the H264 and H264 specifications, which
10830           describes the emulation_prevention_three_byte.
10831           https://bugzilla.gnome.org/show_bug.cgi?id=778750
10832           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10833
10834 2017-03-17 16:49:41 +0900  Hyunjun Ko <zzoon@igalia.com>
10835
10836         * gst-libs/gst/vaapi/Makefile.am:
10837         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10838         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10839         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
10840         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
10841         * gst-libs/gst/vaapi/meson.build:
10842           libs: utils: h26x: create vaapiutils_h26x
10843           Since there is duplicated code in h264/265 encoder, we could
10844           refactor it to avoid duplicated code.
10845           https://bugzilla.gnome.org/show_bug.cgi?id=778750
10846           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10847
10848 2017-03-17 16:32:36 +0900  Hyunjun Ko <zzoon@igalia.com>
10849
10850         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10851         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10852           libs: encoder: h264/5: fix wrong return value
10853           https://bugzilla.gnome.org/show_bug.cgi?id=778750
10854
10855 2017-03-13 17:29:59 +0900  Hyunjun Ko <zzoon@igalia.com>
10856
10857         * gst/vaapi/gstvaapiencode_h264.c:
10858         * gst/vaapi/gstvaapiencode_h265.c:
10859           docs: h264/h265: put parser to the example pipeline
10860           https://bugzilla.gnome.org/show_bug.cgi?id=778749
10861
10862 2017-03-13 16:20:59 +0900  Hyunjun Ko <zzoon@igalia.com>
10863
10864         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10865           libs: encoder: h265: fix reserved length of bits
10866           Fix reserved length of bits for bit_depth_luma_minus8 and bit_depth_chroma_minus8
10867           https://bugzilla.gnome.org/show_bug.cgi?id=778749
10868
10869 2017-03-12 18:59:42 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10870
10871         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
10872         * tests/test-display.c:
10873           O_CLOEXEC needs _GNU_SOURCE defined
10874           From man open(2):
10875           The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified
10876           in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc
10877           2.12, one can obtain their definitions by defining either
10878           _POSIX_C_SOURCE with a value greater than or equal to 200809L or
10879           _XOPEN_SOURCE with a value greater than or equal to 700.  In glibc
10880           2.11 and earlier, one obtains the definitions by defining
10881           _GNU_SOURCE.
10882           And indeed, with the uClibc C library, O_CLOEXEC is not exposed if
10883           _GNU_SOURCE is not defined. Therefore, this commit fixes the build of
10884           gstreamer-vaapi with the uClibc C library.
10885           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10886           https://bugzilla.gnome.org/show_bug.cgi?id=779953
10887
10888 2017-03-14 16:07:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10889
10890         * README:
10891           README: fix "Sources" section
10892           Update the URL where the release source tarballs can be downloaded.
10893
10894 2017-03-12 21:39:53 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10895
10896         * README:
10897           README: fix "Reporting bugs" section
10898           The "Reporting bugs" section gives
10899           https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi as the
10900           link to report a bug, but this link says "Sorry, entering a bug into the
10901           product gstreamer-vaapi has been disabled.".
10902           This commit fixes the URL to point to the proper location, and also
10903           removes the following paragraph that is no longer correct.
10904           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10905           https://bugzilla.gnome.org/show_bug.cgi?id=779954
10906
10907 2017-03-03 19:55:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10908
10909         * gst/vaapi/gstvaapipluginutil.c:
10910           plugins: retry to create the VA display
10911           Particularly in GNOME Wayland, the negotiated or created GL context
10912           defines a GLX environment, but VAAPI fails to create a GLX VA
10913           display because there is no a DRI2 connection.
10914           This patch retries to create the VA display if VA cannot create one
10915           with the GL context parameters. Now using the old list of display
10916           types.
10917           This should also work in the case of systems with two GPU, when the
10918           non-VAAPI has the graphics environment, and the VAAPI-enabled one
10919           shall work headless.
10920           https://bugzilla.gnome.org/show_bug.cgi?id=772838
10921
10922 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
10923
10924         * gst/vaapi/gstvaapipostproc.c:
10925           vaapipostproc: texture upload if driver supports GL
10926           Removes GstVideoGLTextureUploadMeta caps feature if the driver
10927           doesn't support opengl.
10928           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10929           https://bugzilla.gnome.org/show_bug.cgi?id=772838
10930
10931 2016-10-25 17:48:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10932
10933         * gst/vaapi/gstvaapidecode.c:
10934           vaapidecode: texture upload if driver supports GL
10935           When the allowed source pad caps are generated, the GLTextureUpload caps are
10936           only inserted if the driver support OpenGL.
10937           https://bugzilla.gnome.org/show_bug.cgi?id=772838
10938
10939 2017-02-22 15:02:01 -0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10940
10941         * configure.ac:
10942           configure: Add missing compiler flags
10943           The AC_CHECK_HEADERS macro was failing to locate some headers, in
10944           particular the va_enc_* headers due to missing compiler flags.
10945           https://bugzilla.gnome.org/show_bug.cgi?id=779101
10946           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10947
10948 2017-03-01 14:48:46 +0900  Hyunjun Ko <zzoon@igalia.com>
10949
10950         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10951           libs: window: wayland: handle more VAStatus to use vpp
10952           Since the commit landed https://github.com/01org/intel-vaapi-driver/pull/55,
10953           we should consider more returned VAStatus to use vpp.
10954           https://bugzilla.gnome.org/show_bug.cgi?id=779400
10955
10956 2017-02-23 15:16:06 +0900  Hyunjun Ko <zzoon@igalia.com>
10957
10958         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10959           libs: encoder: ensure profile when context initialization
10960           We can't be sure that encoder's profile is assgined already or not
10961           at context initialization.
10962           https://bugzilla.gnome.org/show_bug.cgi?id=779120
10963
10964 2017-02-23 15:13:59 +0900  Hyunjun Ko <zzoon@igalia.com>
10965
10966         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10967           libs: encoder: set rate control info only when query succeed
10968           Currently, it set rate control information even when query fails.
10969           In addition, it doesn't update any more since the flag
10970           got_rate_control_mask is set to TRUE.
10971           https://bugzilla.gnome.org/show_bug.cgi?id=779120
10972
10973 2017-02-24 16:00:23 +0200  Sebastian Dröge <sebastian@centricular.com>
10974
10975         * meson.build:
10976           meson: Update version
10977
10978 2017-02-24 15:38:22 +0200  Sebastian Dröge <sebastian@centricular.com>
10979
10980         * configure.ac:
10981           Back to development
10982
10983 === release 1.11.2 ===
10984
10985 2017-02-24 15:10:21 +0200  Sebastian Dröge <sebastian@centricular.com>
10986
10987         * ChangeLog:
10988         * NEWS:
10989         * configure.ac:
10990         * gstreamer-vaapi.doap:
10991           Release 1.11.2
10992
10993 2017-02-16 18:37:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10994
10995         * gst/vaapi/gstvaapiencode.c:
10996           vaapiencode: merge tags for downstream's info
10997           Add encoder and codec name and the bitrate into the output for
10998           informational purposes. Some muxers or application use it as
10999           media metadata.
11000           https://bugzilla.gnome.org/show_bug.cgi?id=778781
11001
11002 2017-02-17 01:27:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11003
11004         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11005           libs: encoder: caps can change at any time
11006           The encoder should be able to change its caps even it is already
11007           processing a stream.
11008           This is suppose to happen after a flush so the codedbuf_queue should
11009           be empty.
11010           https://bugzilla.gnome.org/show_bug.cgi?id=775490
11011
11012 2017-02-17 01:19:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11013
11014         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11015           libs: encoder: h265: bail if nal unit type fails
11016           Bail out if the NAL unit type is not recognized.
11017           https://bugzilla.gnome.org/show_bug.cgi?id=778782
11018
11019 2017-02-16 18:11:50 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11020
11021         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11022         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11023           libs: decoder: h264,h265 avoid uninitialized variable
11024           Configuring GCC to verify possible usage of uninitialized variables,
11025           shows that found_index might be used without previous assignation.
11026           This patch assigns a initial value to found_index, also avoid a
11027           branching when returning the result value.
11028           https://bugzilla.gnome.org/show_bug.cgi?id=778782
11029
11030 2017-02-13 16:39:41 -0800  Scott D Phillips <scott.d.phillips@intel.com>
11031
11032         * configure.ac:
11033         * gst-libs/gst/vaapi/Makefile.am:
11034         * gst/vaapi/gstvaapidecode.c:
11035         * gst/vaapi/gstvaapidecodebin.c:
11036           build: rename USE_HEVC_DECODER to USE_H265_DECODER
11037           Rename to be consistent with H.264 and also H.265 encoder. The
11038           meson build assumed this was already consistently named, and so
11039           previously was not able to actually build the H.265 decoder.
11040           https://bugzilla.gnome.org/show_bug.cgi?id=778576
11041
11042 2017-02-15 19:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>
11043
11044         * meson.build:
11045           meson: gstreamer-codecparsers is a required dep
11046           Just like in configure.ac.
11047
11048 2017-02-15 00:26:21 +0000  Tim-Philipp Müller <tim@centricular.com>
11049
11050         * Makefile.am:
11051           meson: dist meson build files
11052           Ship meson build files in tarballs, so people who use tarballs
11053           in their builds can start playing with meson already.
11054
11055 2017-02-10 09:51:38 +0900  Hyunjun Ko <zzoon@igalia.com>
11056
11057         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11058           libs: encoder: vp8: add CBR encoding mode
11059           This patch enables the Constant BitRate encoding mode in VP8 encoder.
11060           Basically it adds the configuration parameters required by libva to
11061           CBR enconding.
11062           Original-Patch-By: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11063           https://bugzilla.gnome.org/show_bug.cgi?id=749950
11064
11065 2017-02-09 12:39:19 +0900  Hyunjun Ko <zzoon@igalia.com>
11066
11067         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11068           libs: encoder: vp8: fix bitrate calculation
11069           Base encoder's unit of bitrate is in Kbps. We should honor it so
11070           we use the value of bitrate in VA, in which is expressed in bps.
11071           https://bugzilla.gnome.org/show_bug.cgi?id=749950
11072
11073 2017-02-09 12:49:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11074
11075         * gst/vaapi/gstvaapipluginbase.c:
11076           plugins: fix build when gcc
11077           In commit a8e482f9 we added a function without parameters, but gcc
11078           doesn't like that.
11079
11080 2017-02-06 15:46:20 -0800  Scott D Phillips <scott.d.phillips@intel.com>
11081
11082         * gst-libs/gst/base/meson.build:
11083         * gst-libs/gst/meson.build:
11084         * gst-libs/gst/vaapi/meson.build:
11085         * gst-libs/meson.build:
11086         * gst/meson.build:
11087         * gst/vaapi/meson.build:
11088         * meson.build:
11089         * meson_options.txt:
11090           vaapi: add meson build
11091           https://bugzilla.gnome.org/show_bug.cgi?id=778250
11092
11093 2017-02-08 10:17:40 -0800  Scott D Phillips <scott.d.phillips@intel.com>
11094
11095         * configure.ac:
11096         * gst-libs/gst/vaapi/Makefile.am:
11097         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11098         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
11099           make: remove gstvaapiversion.h generation
11100           https://bugzilla.gnome.org/show_bug.cgi?id=778250
11101
11102 2016-10-19 15:47:41 +0100  Julien Isorce <j.isorce@samsung.com>
11103
11104         * gst/vaapi/gstvaapipluginbase.c:
11105           plugins: use linear storage if not the same device
11106           When dmabuf is negotiated downstream and decoding and rendering are
11107           not done on the same device, the layout has to be linear in order for
11108           the memory to be shared accross devices, since each device has its
11109           own way to do tiling.
11110           Right now this code is rather just a to-do comment, since we are not
11111           fetching the device ids.
11112           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11113
11114 2017-02-08 14:17:05 +0900  Hyunjun Ko <zzoon@igalia.com>
11115
11116         * gst-libs/gst/vaapi/gstvaapiutils.c:
11117           libs: utils: add HEVC profiles representation
11118           https://bugzilla.gnome.org/show_bug.cgi?id=778318
11119
11120 2017-02-07 16:17:39 +0900  Hyunjun Ko <zzoon@igalia.com>
11121
11122         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11123           libs: decoder: h264: reduce frame number of gaps
11124           Reduce frame num gaps so that we don't have to create unnecessary
11125           dummy pictures, just throw them away.
11126           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11127           https://bugzilla.gnome.org/show_bug.cgi?id=777506
11128
11129 2016-10-16 01:04:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11130
11131         * gst/vaapi/gstvaapidecode.c:
11132           vaapidecode: don't GLTextureUpload if dmabuf
11133           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
11134           element can handle dmabuf-based buffers, avoiding its negotiation.
11135
11136 2016-10-19 16:21:21 +0100  Julien Isorce <j.isorce@samsung.com>
11137
11138         * gst/vaapi/gstvaapidecode.c:
11139           vaapidecode: make pool to export decoder's surface
11140           Use new -base API gst_video_decoder_allocate_output_frame_full() to
11141           pass the current proxy/surface to the pool.
11142           The pool will will export thins given surface instead of exporting a
11143           brand new surface that will never be filled in with meaningfull data.
11144           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11145
11146 2017-02-03 17:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11147
11148         * gst/vaapi/gstvaapipluginbase.c:
11149           plugins: decoder can negotiate dmabuf downstream
11150
11151 2016-10-19 16:07:07 +0100  Julien Isorce <j.isorce@samsung.com>
11152
11153         * gst/vaapi/gstvaapivideobufferpool.c:
11154           vaapivideobufferpool: override acquire_buffer()
11155           Overriding the vmethod acquire_buffer() it is possible to attach the
11156           right GstMemory to the current acquired buffer.
11157           As a matter of fact, this acquired buffer may contain any instantiated
11158           GstFdmemory, since this buffer have been popped out from the buffer
11159           pool, which is a FIFO queue. So there is no garantee that this buffer
11160           matches with the current processed surface. Evenmore, the VA driver
11161           might not use a FIFO queue. Therefore, it is no way to guess on the
11162           ordering.
11163           In short, acquire_buffer on the VA driver and on the buffer pool return
11164           none matching data, we have to manually attach the right GstFdMemory to
11165           the acquired GstBuffer. The right GstMemory is the one associated with
11166           the current surface.
11167           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11168
11169 2016-10-19 16:05:04 +0100  Julien Isorce <j.isorce@samsung.com>
11170
11171         * gst/vaapi/gstvaapivideobufferpool.c:
11172         * gst/vaapi/gstvaapivideomemory.c:
11173           vaapivideomemory: export surface if it is provided
11174           gst_vaapi_dmabuf_memory_new() always exports a surface. Previously, it
11175           had to create that surface. Now it can also export an already provided
11176           surface. It is useful to export decoder's surfaces (from VA context).
11177           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11178
11179 2016-10-19 15:55:27 +0100  Julien Isorce <j.isorce@samsung.com>
11180
11181         * gst/vaapi/gstvaapivideobufferpool.h:
11182           vaapivideobufferpool: add GstVaapiVideoBufferPoolAcquireParams
11183           Useful to let the pool know the current surface proxy when calling
11184           gst_buffer_pool_alloc_buffer() / gst_buffer_pool_acquire_buffer()
11185           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11186
11187 2016-10-19 15:09:34 +0100  Julien Isorce <j.isorce@samsung.com>
11188
11189         * gst-libs/gst/vaapi/gstvaapisurface.c:
11190         * gst-libs/gst/vaapi/gstvaapisurface.h:
11191           libs: surface: add gst_vaapi_surface_{set,peek}_buffer_proxy()
11192           These functions are useful when a dmabuf-based memory is instantiated in
11193           order to relate the generated buffer @proxy with the processed @surface.
11194           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11195
11196 2016-10-19 15:07:31 +0100  Julien Isorce <j.isorce@samsung.com>
11197
11198         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11199         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11200         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
11201           libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem()
11202           This patch adds a GstMemory as a variable member of the buffer proxy,
11203           because we will need to associate the buffer proxy with the memory
11204           which exposes it. Later, we will know which memory, in the video buffer
11205           pool, is attached to the processed surface.
11206           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11207
11208 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
11209
11210         * gst/vaapi/gstvaapipostproc.c:
11211           vaapipostproc: don't GLTextureUpload if dmabuf
11212           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
11213           element can handle dmabuf-based buffers, avoiding its negotiation.
11214           Similar as "vaapidecode: do not add meta:GstVideoGLTextureUploadMeta
11215           feature if can dmabuf"
11216           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11217
11218 2016-12-16 14:12:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11219
11220         * gst/vaapi/gstvaapipluginbase.c:
11221           plugins: enable DMAbuf allocator to downstream
11222           If the negotiated caps are raw caps and downstream supports the
11223           EGL_EXT_image_dma_buf_import extension, then the created allocator
11224           is the DMAbuf, configured to downstream.
11225           At this moment, the only element which can push dmabuf-based buffers
11226           to downstream, is vaapipostproc.
11227
11228 2016-06-02 22:13:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11229
11230         * gst/vaapi/gstvaapipluginbase.c:
11231         * gst/vaapi/gstvaapipluginbase.h:
11232           plugins: check if negotiate dmabuf with downstream
11233           In order to enable, in the future, dmabuf-based buffers, the vaapi base
11234           plugin needs to check if downstream can import dmabuf buffers.
11235           This patch checks if downstream can handle dmabuf, by introspecting the
11236           shared GL context. If the GL context is EGL/GLES2 and have the extension
11237           EGL_EXT_image_dma_buf_import, then dmabuf can be negotiated.
11238           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
11239
11240 2016-10-19 15:37:04 +0100  Julien Isorce <j.isorce@samsung.com>
11241
11242         * gst/vaapi/gstvaapivideomemory.c:
11243           vaapivideomemory: release proxy's data if downstream
11244           The surface created for downstream is going to be filled by VAAPI
11245           elements. So, the driver needs write access on that surface.
11246           This patch releases the derived image held by the proxy, thus the
11247           surface is unmarked as busy.
11248           This is how it has to be done as discussed on libva mailing list.
11249           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11250
11251 2016-10-19 15:01:04 +0100  Julien Isorce <j.isorce@samsung.com>
11252
11253         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11254         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11255           libs: bufferproxy: add gst_vaapi_buffer_proxy_release_data()
11256           Adds an API to request the user's data release in the buffer proxy.
11257           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11258
11259 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
11260
11261         * gst/vaapi/gstvaapipluginbase.c:
11262         * gst/vaapi/gstvaapivideomemory.c:
11263         * gst/vaapi/gstvaapivideomemory.h:
11264           vaapivideomemory: add direction to dmabuf allocator
11265           Add GstPadDirection param to gst_vaapi_dmabuf_allocator_new(), thus
11266           we later could do different thing when the allocated memory is for
11267           upstream or dowstream, as required by VA-API.
11268           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11269
11270 2016-12-15 15:59:30 +0900  Hyunjun Ko <zzoon@igalia.com>
11271
11272         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
11273           libs: utils: return NULL if failed to get surface formats
11274           Thus, when generating the allowed caps, the element will throw a
11275           warning and it will use its caps template.
11276           This behavior might be a bug in the VA driver.
11277           https://bugzilla.gnome.org/show_bug.cgi?id=775490
11278
11279 2015-11-26 18:21:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11280
11281         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11282           Revert "vaapidisplay: mark X11 display as compatible with EGL"
11283           This reverts commit 200b1baabc066f8a4102f82f539655d588200ec9.
11284
11285 2017-02-01 14:32:45 +0900  Hyunjun Ko <zzoon@igalia.com>
11286
11287         * gst/vaapi/gstvaapipostproc.c:
11288           vaapipostproc: set GST_VAAPI_POSTPROC_FLAG_SIZE according to src caps
11289           A value of width/height property should be set to out caps,
11290           if negotiation had been going properly.
11291           So we can use srcpad_info when making decision of scaling.
11292           https://bugzilla.gnome.org/show_bug.cgi?id=778010
11293
11294 2017-01-27 12:10:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11295
11296         * gst/vaapi/gstvaapidecode.c:
11297         * gst/vaapi/gstvaapiencode.c:
11298         * gst/vaapi/gstvaapipluginutil.c:
11299         * gst/vaapi/gstvaapipluginutil.h:
11300         * gst/vaapi/gstvaapipostproc.c:
11301         * gst/vaapi/gstvaapisink.c:
11302           plugins: handle GL params through context query
11303           If the element instantiated the GL display and context, they should
11304           handle them too through the context query.
11305           https://bugzilla.gnome.org/show_bug.cgi?id=777409
11306
11307 2017-01-26 12:02:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11308
11309         * gst/vaapi/gstvaapipluginbase.c:
11310         * gst/vaapi/gstvaapipluginbase.h:
11311         * gst/vaapi/gstvaapipluginutil.c:
11312           plugins: create a GL context on certain conditions
11313           If a GstVaapiDisplay is not found in the GStreamer context sharing,
11314           then VAAPI elements look for a local GstGLContext in gst context
11315           sharing mechanism ('gst.gl.local.context').
11316           If this GstGLContext not found either then, only the VAAPI decoders
11317           and the VAAPI post-processor, will try to instantiate a new
11318           GstGLContext.
11319           If a valid GstGLContext is received, then a new GstVaapiDisplay will
11320           be instantiated with the platform, API and windowing specified by the
11321           instantiated GstGLContext.
11322           Original-Patch-By: Matt Fischer <matt.fischer@garmin.com>
11323           https://bugzilla.gnome.org/show_bug.cgi?id=777409
11324
11325 2016-08-02 15:48:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11326
11327         * gst/vaapi/gstvaapivideocontext.c:
11328           vaapivideocontext: context type can be rejected
11329           Instead of calling g_return_val_if_fail() to check the context type, we
11330           should use a normal conditional, since it is possible that other context types
11331           can arrive and try to be assigned. Otherwise a critical log message is
11332           printed.
11333           This happens when we use playbin3 with vaapipostproc as video-filter.
11334           https://bugzilla.gnome.org/show_bug.cgi?id=777409
11335
11336 2017-01-20 19:57:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11337
11338         * gst/vaapi/gstvaapipostprocutil.c:
11339           vaapipostproc: use sink caps par if not requested
11340           Use the sink caps pixel-aspect-ratio to fixate the src caps, if it
11341           is not already set.
11342           https://bugzilla.gnome.org/show_bug.cgi?id=777395
11343
11344 2017-01-20 19:00:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11345
11346         * gst/vaapi/gstvaapipostproc.c:
11347         * gst/vaapi/gstvaapipostprocutil.c:
11348           vaapipostproc: set interlace mode
11349           if the vaapipostproc is configured to not do deinterlacing, the
11350           interlace-mode in the src caps should be the same as the input caps.
11351           https://bugzilla.gnome.org/show_bug.cgi?id=777395
11352
11353 2017-01-20 16:10:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11354
11355         * gst/vaapi/gstvaapisink.c:
11356           vaapisink: fix gcc compiler warning
11357           warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
11358
11359 2017-01-12 19:54:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11360
11361         * gst/vaapi/gstvaapisink.c:
11362           vaapisink: don't use member variable outside lock
11363           Thus a race condition segfault is avoided.
11364           Original-patch-by: Matt Staples <staples255@gmail.com>
11365           https://bugzilla.gnome.org/show_bug.cgi?id=777146
11366
11367 2017-01-18 17:20:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11368
11369         * gst/vaapi/gstvaapipluginbase.c:
11370         * gst/vaapi/gstvaapipostproc.c:
11371           plugins: avoid log flood when activating pool
11372           Every time a new buffer is allocated, the pool is activated. This
11373           doesn't impact in performance since gst_buffer_pool_set_active()
11374           checks the current state of the pool. Nonetheless it logs out a
11375           message if the state is the same, and it floods the logging subsystem
11376           if it is enabled.
11377           To avoid this log flooding first the pool state is checked before
11378           changing it.
11379
11380 2017-01-13 21:26:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11381
11382         * gst-libs/gst/vaapi/gstvaapidecoder.c:
11383         * gst-libs/gst/vaapi/gstvaapidecoder.h:
11384         * gst/vaapi/gstvaapidecode.c:
11385         * gst/vaapi/gstvaapidecode.h:
11386           vaapidecode: update internal decoder sink caps
11387           When a new sink caps arrive the internal decoder state is updated
11388           and, if it is, request a downstream renegotiation.
11389           Previously, when new caps arrived the whole decoder where destroyed
11390           and recreated. Now, if the caps are compatible or has the same codec,
11391           the internal decoder is kept, but a downstream renegotiation is
11392           requested.
11393           https://bugzilla.gnome.org/show_bug.cgi?id=776979
11394
11395 2017-01-12 16:33:13 +0200  Sebastian Dröge <sebastian@centricular.com>
11396
11397         * configure.ac:
11398           Back to development
11399
11400 === release 1.11.1 ===
11401
11402 2017-01-12 16:27:12 +0200  Sebastian Dröge <sebastian@centricular.com>
11403
11404         * ChangeLog:
11405         * NEWS:
11406         * configure.ac:
11407         * gstreamer-vaapi.doap:
11408           Release 1.11.1
11409
11410 2017-01-12 12:49:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11411
11412         * gst-libs/gst/vaapi/gstvaapiutils.c:
11413           vaapi: bump ifdef to API 0.40.0 for log redirect
11414           vaSetInfoCallback() is not released yet. It is going to appear in
11415           VA-API 0.40.0
11416
11417 2017-01-12 13:45:29 +0200  Sebastian Dröge <sebastian@centricular.com>
11418
11419         * gst-libs/gst/vaapi/gstvaapiutils.c:
11420           vaapiutils: Fix compilation with latest and previous libva releases
11421           vaSetInfoCallback() was defined after 0.39.4 / 1.7.3, so check for
11422           0.39.5 instead.
11423
11424 2017-01-11 16:04:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11425
11426         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11427         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
11428         * gst-libs/gst/vaapi/gstvaapiutils.c:
11429         * gst-libs/gst/vaapi/gstvaapiutils.h:
11430           libs: display: redirect logging at initialize
11431           Redirect libva's logs to GStreamer logging mechanism. This is
11432           particularly useful when VA is initialized, because it always logs
11433           out the drivers details.
11434           In order to achieve this a new helper function was added as a wrapper
11435           for the vaInitialize() function.
11436           https://bugzilla.gnome.org/show_bug.cgi?id=777115
11437
11438 2017-01-10 15:15:31 +0900  Hyunjun Ko <zzoon@igalia.com>
11439
11440         * gst/vaapi/gstvaapipluginbase.c:
11441           plugins: provide at least two buffers in sink pool
11442           Adds two buffers as the default value of minimum buffer.
11443           This would be used when creating and proposing vaapi bufferpool for
11444           sink pad, hence the upstream element will keep, at least, these two
11445           buffers.
11446           https://bugzilla.gnome.org/show_bug.cgi?id=775203
11447           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11448
11449 2017-01-10 13:49:27 +0900  Hyunjun Ko <zzoon@igalia.com>
11450
11451         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11452           libs: decoder: h264: don't update cloned attributes
11453           If the frame is a cloned picture, its PTS comes from its parent
11454           picture.  In addition, the base decoder doesn't set a valid PTS to
11455           the frame corresponding to the cloned picture.
11456           https://bugzilla.gnome.org/show_bug.cgi?id=774254
11457
11458 2017-01-09 19:25:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11459
11460         * gst/vaapi/gstvaapivideomemory.c:
11461           vaapivideomemory: check for display
11462           This patch fixes the check of display, rather than check for the
11463           meta, which it is known it exists.
11464
11465 2017-01-09 16:23:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11466
11467         * gst/vaapi/gstvaapivideomemory.c:
11468         * gst/vaapi/gstvaapivideomemory.h:
11469           vaapivideomemory: rename dmabuf allocator parameters
11470           Rename the parameters 'vip' and 'flags' to 'alloc_info' and
11471           'surface_alloc_flags' respectively. The purpose of this change is
11472           to auto-document those parameters.
11473           Also, aligned to this patch, the local 'alloc_info' variable was
11474           renamed as 'surface_info', because it stores the possible surface's
11475           video info, not the allocate one.
11476
11477 2017-01-09 16:18:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11478
11479         * gst/vaapi/gstvaapivideomemory.c:
11480         * gst/vaapi/gstvaapivideomemory.h:
11481           vaapivideomemory: rename vip to alloc_info parameter
11482           In order to auto-document the code, this patch renames the 'vip'
11483           parameter in the functions related to gst_vaapi_video_allocator_new ()
11484           to 'alloc_info', since it declares the allocation video info from
11485           the vaapi buffer pool.
11486
11487 2017-01-09 16:08:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11488
11489         * gst/vaapi/gstvaapivideomemory.c:
11490           vaapivideomemory: use GST_VIDEO_INFO_FORMAT_STRING()
11491           Use the existing local macro GST_VIDEO_INFO_FORMAT_STRING() to get
11492           the video format string.
11493
11494 2017-01-09 12:51:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11495
11496         * gst/vaapi/gstvaapivideomemory.c:
11497           vaapivideomemory: unroll gst_vaapi_surface_new_with_format()
11498           gst_vaapi_surface_new_with_format() is a wrapper for
11499           gst_vaapi_surface_new_full (). In this case, the former is simpler
11500           than the first. This patch changes that.
11501
11502 2017-01-04 19:23:06 +0900  Hyunjun Ko <zzoon@igalia.com>
11503
11504         * gst/vaapi/gstvaapipostproc.c:
11505           vaapipostproc: notify if src pad caps changed
11506           If src pad caps have changed, it needs to notify it downstream. In
11507           addition, do not set passthrough if they have changed.
11508           Otherwise, transform sometimes starts processing before caps change.
11509           The passthrough value will be set in fixate later in this case.
11510           https://bugzilla.gnome.org/show_bug.cgi?id=775204
11511
11512 2016-12-14 15:51:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11513
11514         * gst/vaapi/gstvaapidecodebin.c:
11515           vaapidecodebin: capsfilter to optimize negotiation
11516           Add a capsfilter forcing the caps
11517           "video/x-raw(memory:VASurface), format=(string)NV12" between the
11518           queue and the vaapipostproc so no renegotiation is required.
11519           https://bugzilla.gnome.org/show_bug.cgi?id=776175
11520
11521 2016-12-21 17:38:07 +0900  Hyunjun Ko <zzoon@igalia.com>
11522
11523         * gst/vaapi/gstvaapivideomemory.c:
11524           vaapivideomemory: fail surface/image configuration
11525           To detect and handle errors during allocator_configure_surface_info()
11526           and allocator_conigure_image_info().
11527           https://bugzilla.gnome.org/show_bug.cgi?id=776084
11528           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11529
11530 2016-12-21 17:50:41 +0900  Hyunjun Ko <zzoon@igalia.com>
11531
11532         * gst/vaapi/gstvaapisink.c:
11533           vaapisink: ensures raw caps at start()
11534           Calls gst_vaapi_plugin_base_get_allowed_raw_caps() at start() to avoid
11535           race conditions at get_caps(), especially with multiple src elements.
11536           https://bugzilla.gnome.org/show_bug.cgi?id=776303
11537
11538 2016-12-09 14:51:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11539
11540         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11541           libs: surface: fix error handling code style
11542
11543 2016-12-09 16:14:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11544
11545         * gst/vaapi/gstvaapivideomemory.c:
11546           vaapivideomemory: add gst_video_info_update_from_surface()
11547           With this function is possible to refactor and remove duplicated code
11548           between dmabuf configuration and direct rendering/uploading
11549           configuration.
11550
11551 2016-12-09 15:51:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11552
11553         * gst/vaapi/gstvaapivideomemory.c:
11554           vaapivideomemory: no log object at initialization
11555           When an instance of GstVaapiVideoAllocator fails at initializing, the
11556           log message should not include the allocator's object, because it is
11557           going to be unrefed.
11558
11559 2016-12-09 17:56:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11560
11561         * gst/vaapi/gstvaapidecode.c:
11562           vaapidecode: lock stream when setting caps
11563
11564 2016-12-09 17:42:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11565
11566         * gst/vaapi/gstvaapidecode.c:
11567           Revert "vaapidecode: implement negotiate() vmethod"
11568           This reverts commit 3285121181295c544480fc6ba756845b16285d30.
11569           videodecode's negotiate() vmethod is also called when events arrive,
11570           but this would mean that the proper configuration of sink pad might
11571           not be complete, thus we should not update the src pad.
11572           Let's keep the old non-vmethod negotitate().
11573
11574 2016-12-07 16:52:35 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11575
11576         * gst/vaapi/gstvaapi.c:
11577           Revert "encoders: demote to RANK_NONE since not fit for autoplugging yet"
11578           This reverts commit f182b8be2ba05965e6d31a4d380d6563b9b53a77.
11579
11580 2016-12-01 18:57:10 +0900  Hyunjun Ko <zzoon@igalia.com>
11581
11582         * gst/vaapi/gstvaapiencode.c:
11583         * gst/vaapi/gstvaapiencode.h:
11584           vaapiencode: get surface formats in get_caps()
11585           Query for the supported surface formats in config at get_caps() vmethod.
11586           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11587           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11588
11589 2016-12-07 11:26:37 +0100  Hyunjun Ko <zzoon@igalia.com>
11590
11591         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11592         * gst-libs/gst/vaapi/gstvaapiencoder.h:
11593           libs: encoder: add gst_vaapi_encoder_get_surface_formats()
11594           This method will return the valid surface formats in the current
11595           config. If the are no VAConfig it is created with the information
11596           available.
11597           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11598           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11599
11600 2016-12-07 11:10:42 +0100  Hyunjun Ko <zzoon@igalia.com>
11601
11602         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11603           libs: encoder: split set_context_info()
11604           Split set_context_info() adding init_context_info() which only
11605           initialises the GstVaapiContextInfo structure inside GstVaapiEncoder
11606           required for VAConfig.
11607           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11608           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11609
11610 2016-12-02 09:30:52 +0900  Hyunjun Ko <zzoon@igalia.com>
11611
11612         * gst-libs/gst/vaapi/gstvaapicontext.c:
11613           libs: context: skip VAContext if no frame size
11614           If GstVaapiContextInfo has just initial information, without frame's
11615           width and height, skip the creation of the VAContext, just keep the
11616           VAConfig.
11617           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11618           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11619
11620 2016-12-02 09:28:07 +0900  Hyunjun Ko <zzoon@igalia.com>
11621
11622         * gst-libs/gst/vaapi/gstvaapicontext.c:
11623           libs: context: split context_create()
11624           Split the funcion context_create() into context_create() and
11625           config_create().
11626           Decoupling VAConfig and VAContext during context creation, we could
11627           query the VAConfig for the supported surface's formats without creating
11628           a VAContext.
11629           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11630
11631 2016-12-06 17:33:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11632
11633         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
11634           libs: drm: find render node in hybrid system
11635           Originally the drm backend only tried to open the first render node
11636           found. But in hybrid system this first render node might not support
11637           VA-API (propietary Nvidia driver, for example).
11638           This patch tries all the available nodes until a finding one with a
11639           VA-API supported driver.
11640           https://bugzilla.gnome.org/show_bug.cgi?id=774811
11641           Original-patch-by: Stirling Westrup <swestrup@gmail.com> and
11642           Reza Razavi <reza@userful.com>
11643
11644 2016-11-14 17:45:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11645
11646         * gst/vaapi/gstvaapivideomemory.c:
11647           vaapivideomemory: refactor code for readability
11648           Added the inlined function allocator_configure_pools() moving out code
11649           from gst_vaapi_video_allocator_new() to make clear that it is a
11650           post-initalization of the object.
11651
11652 2016-11-14 17:40:37 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11653
11654         * gst/vaapi/gstvaapivideomemory.c:
11655           vaapivideomemory: log error if not VA image
11656           Log an error message if the test image for surface downloading
11657           cannot be allocated or mapped.
11658
11659 2016-11-14 17:33:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11660
11661         * gst/vaapi/gstvaapivideomemory.c:
11662           vaapivideomemory: remove unused macros
11663           These macros are not used. Let us remove them.
11664
11665 2016-11-11 19:45:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11666
11667         * gst/vaapi/gstvaapivideomemory.c:
11668         * gst/vaapi/gstvaapivideomemory.h:
11669           vaapivideomemory: rename video for allocation_info
11670           Since video_info stores the GstVideoInfo of the allocation caps,
11671           it is clear if we rename it as allocation_info, to distinguish it
11672           later from negotiation_info.
11673
11674 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
11675
11676         * gst/vaapi/gstvaapivideomemory.c:
11677         * gst/vaapi/gstvaapivideomemory.h:
11678           vaapivideomemory: add real GstVaapiDmaBufAllocator
11679           Instead of defining GstVaapiDmaBufAllocator as a hackish decorator of
11680           GstDmaBufAllocator, now, since the expose of the GstDmaBufAllocator's
11681           GType, GstVaapiDmaBufAllocator is a full feature GstAllocator inherited
11682           from GstDmaBufAllocator.
11683           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11684           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11685
11686 2016-10-19 15:30:09 +0100  Julien Isorce <j.isorce@samsung.com>
11687
11688         * gst/vaapi/gstvaapivideomemory.c:
11689           vaapivideomemory: errors in gst_vaapi_dmabuf_allocator_new()
11690           Add a helper function to initialize the gst_debug_vaapivideomemory,
11691           to use it either by the GstVaapiVideoAllocatorClass or
11692           GstVaapiDmabufAllocator (which is a decorator of GstDmaBufAllocator).
11693           Later, log possible errors when calling gst_vaapi_dmabuf_allocator_new ()
11694           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11695
11696 2016-11-29 15:14:32 +0900  Hyunjun Ko <zzoon@igalia.com>
11697
11698         * gst/vaapi/gstvaapiencode.c:
11699           vaapiencode: release internal encoder at stop()
11700           As the internal encoder is created at start(), let's release it at
11701           stop() vmethod, to be consistent.
11702           gst_vaapiencode_destroy() is called since it also resets the input and
11703           output states, which is something that the base class does internally
11704           after calling stop() vmethod.
11705           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11706           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11707
11708 2016-12-03 08:20:56 +0100  Edward Hervey <bilboed@bilboed.com>
11709
11710         * common:
11711           Automatic update of common submodule
11712           From f49c55e to 39ac2f5
11713
11714 2016-11-29 14:59:02 +0900  Hyunjun Ko <zzoon@igalia.com>
11715
11716         * gst/vaapi/gstvaapiencode.c:
11717           vaapiencode: call ensure_encoder() at start()
11718           Currently, specific encoder is created during set_format(). This might
11719           lead to race condition when creating profiles with multiple encoders.
11720           This patch moves ensure_encoder() call to start() vmethod to ensure
11721           avoiding the race condition.
11722           https://bugzilla.gnome.org/show_bug.cgi?id=773546
11723
11724 2016-11-21 19:29:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11725
11726         * gst/vaapi/gstvaapidecodebin.c:
11727           vaapidecodebin: bring back dynamic configuration
11728           In commit ca0c3fd6 we remove the dynamic configuration if the bin
11729           because we assumed that the bin will be always static as it is
11730           registered.
11731           Nonetheless we were wrong, because it is possible to request, with a
11732           property, to avoid the use of the post-processor.
11733           Since we want to add a way to disable the post-processor through
11734           environment variables, this remove feature is required again.
11735           If the environment variable GST_VAAPI_DISABLE_VPP is defined the
11736           postprocessor inside of the vaapidecodebin is disabled, then
11737           vaapidecodebin is an alias of the old vaapidecode.
11738           https://bugzilla.gnome.org/show_bug.cgi?id=775041
11739
11740 2016-11-21 18:25:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11741
11742         * gst/vaapi/gstvaapidecode.c:
11743           vaapidecode: implement negotiate() vmethod
11744           Instead of decorating the negotiate() method, let us override it,
11745           so the stream is locked while called.
11746           https://bugzilla.gnome.org/show_bug.cgi?id=775040
11747
11748 2016-11-26 11:27:26 +0000  Tim-Philipp Müller <tim@centricular.com>
11749
11750         * .gitmodules:
11751           common: use https protocol for common submodule
11752           https://bugzilla.gnome.org/show_bug.cgi?id=775110
11753
11754 2016-11-24 21:17:54 +0100  Dominique Leuenberger <dimstar@opensuse.org>
11755
11756         * gst-libs/gst/vaapi/Makefile.am:
11757           build: add LIBVA_WAYLAND_CFLAGS to libgstvaapiegl
11758           In case libva-wayland has its headers not installed in default
11759           locations (like /usr/include), the build fails to include "wayland-client.h":
11760           CC       libgstvaapi_egl_la-gstvaapiutils_egl.lo
11761           In file included from gstvaapidisplay_wayland.h:27:0,
11762           from gstvaapidisplay_egl.c:35:
11763           /usr/include/va/va_wayland.h:31:28: fatal error: wayland-client.h: No such file or directory
11764           #include <wayland-client.h>
11765           As we already passed VA_CLAGS, /usr/include/va/va_wayland.h could be found, but it is
11766           our fault not to instruct the system that we ALSO care for va_wayland. We correctly query
11767           for libva-wayland.pc in configure and use this in other places as well. It is thus only
11768           correct and consequent, to do it also at this spot.
11769           https://bugzilla.gnome.org/show_bug.cgi?id=773946
11770
11771 2015-10-28 12:55:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11772
11773         * gst/vaapi/gstvaapivideocontext.c:
11774           vaapivideocontext: log a message if no bus
11775           Raise a warning if there is no bus when the element tries to post a
11776           message.
11777
11778 2015-10-28 12:57:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11779
11780         * gst/vaapi/gstvaapisink.c:
11781           vaapisink: create display at open()
11782           Instead of creating the VA display before setting the bus to the
11783           element, it is created when the element is opened.
11784           Basically, this commit is a revert of
11785           5e5d62cac79754ba60057fc2516135aad8d7de35
11786           That was done when the GStreamer's context sharing was not mature
11787           enough as now. There is no reason to keep this hack.
11788
11789 2016-11-04 18:04:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11790
11791         * gst/vaapi/gstvaapidecode.c:
11792           vaapidecode: don't add video crop meta
11793           Since the differentiation of negotiation caps and allocation caps,
11794           there is no need to add a video crop meta with the negotiation caps.
11795           Hence, removing it.
11796           https://bugzilla.gnome.org/show_bug.cgi?id=773948
11797
11798 2015-03-19 21:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11799
11800         * gst/vaapi/gstvaapivideobuffer.c:
11801         * gst/vaapi/gstvaapivideometa.c:
11802         * gst/vaapi/gstvaapivideometa.h:
11803           remove the video converter from vaapi buffer meta
11804           Since all the video converter were deprecated in gstreamer-1.2, we don't need
11805           to handle them anymore in the vaapi's buffer meta.
11806           This patch removes its usage and the buffer meta's API for that.
11807           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11808
11809 2016-11-21 18:28:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11810
11811         * gst/vaapi/gstvaapipluginbase.c:
11812           plugins: destroy source pad allocator and pool
11813           First, deactivate source pad pool when the out caps change, and if so,
11814           destroy texture map, the source pad allocator and pool only if the
11815           new caps are different from the ones already set.
11816
11817 2016-11-21 19:17:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11818
11819         * gst/vaapi/gstvaapipluginbase.c:
11820           plugins: don't destroy sink pad allocator
11821           Don't destroy sink pad allocator at _set_caps() because it will be done at
11822           ensure_sinkpad_buffer_pool() if it is required.
11823
11824 2016-11-21 18:27:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11825
11826         * gst/vaapi/gstvaapipluginbase.c:
11827           plugins: first validate the out caps
11828           When calling _set_caps() first validate the out caps before doing
11829           anything else.
11830
11831 2016-11-21 18:42:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11832
11833         * gst/vaapi/gstvaapidecode.c:
11834           vaapidecode: negotiate after destroying allocator
11835           This is related with bug 758907 when no vaapipostproc is used (no
11836           vaapidecodebin). In order to negotiate downstream we need to destroy
11837           the source pad allocator, otherwise the same allocated buffers are
11838           used, failing the mapping.
11839
11840 2016-11-21 16:35:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11841
11842         * gst/vaapi/gstvaapivideomemory.c:
11843           vaapivideomemory: remove GST_VAAPI_TYPE_VIDEO_INFO
11844           Remove redundant GST_VAAPI_TYPE_VIDEO_INFO, since it is a duplicate of
11845           GST_TYPE_VIDEO_INFO created before gstreamer 1.6, where the boxed type
11846           was created.
11847           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11848
11849 2016-11-21 12:51:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11850
11851         * gst/vaapi/gstvaapipluginbase.c:
11852           plugins: update the src pad allocator video info
11853           Update the size, stride and offset of the source pad allocator video
11854           info, so the pool could set the correct GstVideoMeta
11855           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11856
11857 2016-11-21 12:36:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11858
11859         * gst/vaapi/gstvaapivideomemory.c:
11860           vaapivideomemory: add missing documentation
11861           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11862
11863 2016-11-21 12:29:26 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11864
11865         * gst/vaapi/gstvaapipluginbase.c:
11866           plugins: use early return without goto
11867           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11868
11869 2016-11-21 11:25:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11870
11871         * gst/vaapi/gstvaapipluginbase.c:
11872         * gst/vaapi/gstvaapivideomemory.c:
11873         * gst/vaapi/gstvaapivideomemory.h:
11874           plugins: add allocator to allocation query
11875           This patch adds the created allocator to the allocation query either
11876           in decide_allocation() and propose_allocation() vmehtods.
11877           With it, there's no need to set the modified allocator's size in the
11878           pool configuration.
11879           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11880
11881 2016-10-19 15:15:01 +0100  Julien Isorce <j.isorce@samsung.com>
11882
11883         * gst/vaapi/gstvaapivideobufferpool.c:
11884           vaapivideobufferpool: set correct buffer size
11885           We should set the correct buffer size when we are configuring the pool,
11886           otherwise the buffer will be discarded when it returns to the pool.
11887           Indeed when the ref-count of a buffer reaches zero, its pool will queue
11888           it back (and ref it) if, and only if, the buffer size matches the
11889           configured buffer size on the pool.
11890           This issue can be debugged with GST_DEBUG=*PERF*:6, see gstbufferpool.c
11891           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11892
11893 2016-11-10 13:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11894
11895         * gst/vaapi/gstvaapivideomemory.c:
11896           vaapivideomemory: check for memory allocator
11897           When calling gst_vaapi_video_memory_copy() the allocator of the memory
11898           to copy should be allocated by the vaapi allocator.
11899           This patch does this verification.
11900
11901 2016-11-10 13:25:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11902
11903         * gst/vaapi/gstvaapivideomemory.c:
11904           vaapivideomemory: code style fixes
11905           A cosmetic commit for enhance readability of the casts and method
11906           preconditions.
11907
11908 2016-11-09 19:49:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11909
11910         * gst/vaapi/gstvaapivideomemory.c:
11911           vaapivideomemory: unroll gst_vaapi_video_allocator_free()
11912           Instead of having a gst_vaapi_video_memory_free() that is only going to
11913           be called by gst_vaapi_video_allocator_free(), let's just remove the first
11914           and merged into the second.
11915
11916 2016-11-09 19:29:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11917
11918         * gst/vaapi/gstvaapivideomemory.c:
11919           vaapivideomemory: avoid virtual methods casting
11920           Use the expected virtual method signatures for readability.
11921
11922 2016-11-09 18:58:20 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11923
11924         * gst/vaapi/gstvaapivideomemory.c:
11925           vaapivideomemory: remove unimplemented methods
11926           Remove unimplemented method for allocator mem_share() and mem_is_span().
11927
11928 2016-11-09 18:54:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11929
11930         * gst/vaapi/gstvaapivideomemory.c:
11931           vaapivideomemory: fail if frame map can't get plane
11932           If map() vmethod in GstVideMeta cannot get the plane data, return false,
11933           thus the caller will not try to read invalid memory.
11934           https://bugzilla.gnome.org/show_bug.cgi?id=774213
11935
11936 2016-11-09 18:39:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11937
11938         * gst/vaapi/gstvaapivideomemory.c:
11939         * gst/vaapi/gstvaapivideomemory.h:
11940           vaapivideomemory: lock map and unmap operations
11941           In order to avoid race condition when two threads call map/unmap the same
11942           VA surface, this patch mutex these operations.
11943           https://bugzilla.gnome.org/show_bug.cgi?id=774213
11944
11945 2016-11-09 17:37:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11946
11947         * gst/vaapi/gstvaapivideomemory.c:
11948           vaapivideomemory: refactor vaapi memory unmapping
11949           There were duplicated code in gst_video_meta_unmap_vaapi_memory() and
11950           gst_vaapi_video_memory_unmap() when unmapping.
11951           This patch refactors both methods adding the common function
11952           unmap_vaapi_memory(). This also ensures, if direct rendering is enabled, it
11953           is correctly reset.
11954           Additionally, only when mapping flag has the WRITE bit, it set the image as
11955           current, which was done in gst_video_meta_map_vaapi_memory() but no in
11956           gst_vaapi_video_memory_map().
11957           In order to make this, the mapping flags were required, so instead of
11958           overloading mem_unmap() virtual function, mem_unmap_full() is overloaded.
11959           https://bugzilla.gnome.org/show_bug.cgi?id=774213
11960
11961 2016-11-09 13:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11962
11963         * gst/vaapi/gstvaapivideomemory.c:
11964           vaapivideomemory: refactor vaapi memory mapping
11965           There were duplicated code in gst_video_meta_map_vaapi_memory() and
11966           gst_vaapi_video_memory_map() when doing the READ and WRITE mapping.
11967           This patch refactors both methods adding the common function
11968           map_vaapi_memory().
11969           Additionally, only when flag has the READ bit it calls
11970           ensure_images_is_current(), which was done in
11971           gst_video_meta_map_vaapi_memory() but no in
11972           gst_vaapi_video_memory_map().
11973           https://bugzilla.gnome.org/show_bug.cgi?id=772151
11974
11975 2016-10-27 18:22:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11976
11977         * gst/vaapi/gstvaapidecode.c:
11978           vaapidecode: unref allowed_sinkpad_caps at close()
11979           The variable member allowed_sinkpad_caps is constructed querying the
11980           current VA display. Bearing that in mind, the variable shall be freed
11981           when the VA display changes or is removed.
11982           This patch moves the freeing of allowed_sinkpad_caps to close(), when
11983           the VA display is freed.
11984
11985 2016-11-11 11:40:09 +0900  Hyunjun Ko <zzoon@igalia.com>
11986
11987         * gst/vaapi/gstvaapisink.c:
11988           vaapisink: finish event thread at stop()
11989           The thread that handles window's events should be finished during
11990           pipeline's shutdown, otherwise it will remain alive during pipeline
11991           re-activation, leading to unexpected problems.
11992           This patch fixes failures of intensive_state_change scenario of
11993           gst-validate
11994           https://bugzilla.gnome.org/show_bug.cgi?id=774241
11995
11996 2016-11-08 09:35:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11997
11998         * gst/vaapi/gstvaapipostproc.c:
11999           vaapipostproc: enhance debug message
12000           "gst_pad_push" is not a good description of the event.
12001
12002 2016-11-08 10:05:32 +0900  Hyunjun Ko <zzoon@igalia.com>
12003
12004         * gst/vaapi/gstvaapipostproc.c:
12005           postproc: honor gst_pad_push() return value
12006           Returning GST_FLOW_ERROR always when gst_pad_push fails might lead to
12007           deadlock during seek.
12008           This patch returns the same error of gst_pad_push() and log out the
12009           return value.
12010           https://bugzilla.gnome.org/show_bug.cgi?id=774030
12011
12012 2016-11-04 16:26:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12013
12014         * gst/vaapi/gstvaapidecode.c:
12015           vaapidecode: guard GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS
12016           In commit 6d11a00 were introduced a regression when gstreamer-vaapi is
12017           compiled with out EGL/GLX support: it shall not support
12018           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
12019           This patch guards the inclusion of GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS in the
12020           allowed src caps for vaapedecode if EGL/GLX.
12021
12022 2016-11-04 12:55:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12023
12024         * gst/vaapi/gstvaapivideomemory.c:
12025           vaapivideomemory: increment map counter only if succeeded
12026           Previously the frame map counter increased independently if the map succeeded
12027           or not. This leaded to critical messages and crashes if the frame was unable
12028           to be mapped, but the counter increased.
12029           This patch increases the map counter only if the map operation occurred.
12030           https://bugzilla.gnome.org/show_bug.cgi?id=773939
12031
12032 2016-11-03 17:30:46 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12033
12034         * gst/vaapi/gstvaapipluginbase.c:
12035           plugins: set negotiation caps in src allocator
12036           When the allocator is created, it stores the allocation caps. But sometimes
12037           the "allocation caps" may be different from the "negotiation caps".
12038           In this case, the allocator should store the negotiation caps since they
12039           are the ones used for frame mapping with GstVideoMeta.
12040           When vaapispostproc is used, this is not a problem since the element is assume
12041           to resize. But when using a vaapi decoder only, with a software renderer, it
12042           fails in this case.
12043           https://bugzilla.gnome.org/show_bug.cgi?id=773323
12044
12045 2016-07-19 16:40:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12046
12047         * gst/vaapi/gstvaapidecode.c:
12048         * gst/vaapi/gstvaapidecode.h:
12049           vaapidecode: generate source pad caps
12050           Just as vaapipostproc, VA decoder's context can be queried to get the possible
12051           raw formats, so, the src caps can negotiate the exact caps that the context
12052           supports.
12053
12054 2016-02-25 18:57:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12055
12056         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12057         * gst-libs/gst/vaapi/gstvaapidecoder.h:
12058           libs: decoder: add _get_surface_formats()
12059           This function exposes the available formats of the surfaces in the the current
12060           context to the plugins.
12061
12062 2016-02-18 19:32:58 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12063
12064         * gst-libs/gst/vaapi/gstvaapicontext.c:
12065         * gst-libs/gst/vaapi/gstvaapicontext.h:
12066           libs: context: ensure context formats
12067           This patch ensures to get the formats, as filter does, available in the
12068           decoder / encoder context.
12069           The context fills up the array as soon it is created, otherwise the pipeline
12070           could get stalled (perhaps this is a bug in my HSW backend).
12071           https://bugzilla.gnome.org/show_bug.cgi?id=752958
12072
12073 2016-02-18 19:20:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12074
12075         * gst-libs/gst/vaapi/gstvaapifilter.c:
12076         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
12077         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
12078           libs: move get_surface_formats to utils_core
12079           The query of all the supported formats for a VA config were only used by the
12080           postprocessor (vaapifilter). But, in order to enable the vaapidecoder to
12081           negotiate a suitable raw format with downstream, we need to query these
12082           formats against the decoder's config.
12083           This patch is the first step: moves the code in filter's ensure_image() to a
12084           generic gst_vaapi_get_surface_formats() in vaapiutils_core, so it can be
12085           shared later by the decoder.
12086           https://bugzilla.gnome.org/show_bug.cgi?id=752958
12087
12088 2016-07-19 18:56:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12089
12090         * gst/vaapi/gstvaapipluginbase.c:
12091           plugins: remove set_sinkpad_dmabuf_allocator()
12092           Since when the sink pad allocator is created, it is decided if the required
12093           one is vaapi allocator or dmabuf allocator, there is no need to force its set
12094           again.
12095
12096 2016-10-27 11:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12097
12098         * gst/vaapi/gstvaapipluginbase.c:
12099           plugins: ensure display when getting raw caps
12100           When running gst-discoverer-1.0, in certain media, vaapipostroc is stopped
12101           meanwhile it is transforming caps. The problem is that stop() calls
12102           gst_vaapi_plugin_base_close(), which nullifies the element's va display, but
12103           the va display is used in tranform_caps() when it is extracting the possible
12104           format conversions. This display disappearing generates warning messages.
12105           This patch holds a local reference of va display at ensure_allowed_raw_caps()
12106           hence it doesn't go away meanwhile it is used, even if the
12107           gst_vaapi_plugin_base_close() is called in other thread.
12108           https://bugzilla.gnome.org/show_bug.cgi?id=773593
12109
12110 2016-11-03 12:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12111
12112         * gst/vaapi/gstvaapiencode_h264.c:
12113         * gst/vaapi/gstvaapiencode_h265.c:
12114           plugins: fix code style for errors
12115
12116 2016-10-19 19:04:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12117
12118         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
12119         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
12120         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
12121         * gst-libs/gst/vaapi/gstvaapicontext.c:
12122         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
12123         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12124         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
12125         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12126         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12127         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
12128         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
12129         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
12130         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
12131         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
12132         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12133         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
12134         * gst-libs/gst/vaapi/gstvaapiencoder.c:
12135         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12136         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12137         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
12138         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
12139         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
12140         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
12141         * gst-libs/gst/vaapi/gstvaapifilter.c:
12142         * gst-libs/gst/vaapi/gstvaapiimage.c:
12143         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
12144         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
12145         * gst-libs/gst/vaapi/gstvaapipixmap.c:
12146         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
12147         * gst-libs/gst/vaapi/gstvaapisurface.c:
12148         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
12149         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
12150         * gst-libs/gst/vaapi/gstvaapitexture.c:
12151         * gst-libs/gst/vaapi/gstvaapiutils.c:
12152         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
12153         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
12154         * gst-libs/gst/vaapi/gstvaapiwindow.c:
12155         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12156         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12157           libs: fix code style for errors
12158
12159 2016-11-03 09:31:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12160
12161         * gst/vaapi/gstvaapipluginbase.c:
12162         * gst/vaapi/gstvaapivideocontext.c:
12163           plugins: update GstGL deprecated symbol
12164           GST_GL_TYPE_CONTEXT was deprecated. Now it is GST_TYPE_GL_CONTEXT.
12165
12166 2016-10-21 11:48:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12167
12168         * gst/vaapi/gstvaapipluginbase.c:
12169           plugins: direct render when raw video
12170           Enable the direct rendering with linear surfaces if the negotiated src caps
12171           are video/x-raw without features.
12172           Pass also the caps, since they are needed to know the requested caps features.
12173
12174 2016-10-24 20:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12175
12176         * gst/vaapi/gstvaapipluginbase.c:
12177           plugins: move src allocator error to instantiator
12178           Just as we did in ensure_sinkpad_allocator(), let's move the error message
12179           into the ensure_srcpad_allocator() from the caller,
12180           gst_vaapi_plugin_base_decide_allocation()
12181
12182 2016-10-20 19:37:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12183
12184         * gst/vaapi/gstvaapipluginbase.c:
12185           plugins: enable direct upload if raw video
12186           Enable the direct upload with linear surfaces if the negotiated sink caps are
12187           video/x-raw without features.
12188
12189 2016-10-21 11:21:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12190
12191         * gst/vaapi/gstvaapipluginutil.c:
12192         * gst/vaapi/gstvaapipluginutil.h:
12193           pluginutil: add gst_caps_is_video_raw()
12194
12195 2016-10-24 19:25:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12196
12197         * gst/vaapi/gstvaapipluginbase.c:
12198           plugins: receive caps in ensure_sinkpad_allocator()
12199           Instead of receiving the GstVideoInfo structure as parameter, get the original
12200           GstCaps from ensure_sinkpad_buffer_pool(), in this way we could decide better
12201           which allocator instantiate.
12202
12203 2016-10-20 19:31:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12204
12205         * gst/vaapi/gstvaapivideomemory.c:
12206           vaapivideomemory: destroy derived image at unmap
12207           If the allocator was configured to use direct upload or rendering, the
12208           generated derived image created at mapping needs to be destroyed after
12209           unmapping, because, in order to process the surface, it should not be marked
12210           as "busy" by the driver.
12211
12212 2016-10-21 11:57:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12213
12214         * gst/vaapi/gstvaapivideomemory.c:
12215           vaapivideomemory: enhance logs for direct modes
12216           Print, conditionally, only the enabled direct mode.
12217
12218 2016-10-20 17:02:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12219
12220         * gst/vaapi/gstvaapivideomemory.c:
12221         * gst/vaapi/gstvaapivideomemory.h:
12222           vaapivideomemory: add direct upload flag
12223           Adds the direct-upload flag in the GstVaapiVideoAllocator and
12224           GstVaapiVideoMemory.
12225           It still doesn't apply any functional change.
12226
12227 2016-10-20 16:49:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12228
12229         * gst/vaapi/gstvaapipluginbase.c:
12230         * gst/vaapi/gstvaapivideomemory.c:
12231         * gst/vaapi/gstvaapivideomemory.h:
12232           vaapivideomemory: set direct rendering at run-time
12233           The way to experiment with the direct rendering is through and internal
12234           compiler pre-processor flag.
12235           The current change set enables a way to specified at run-time, as a flag
12236           passed to the allocator at instanciation time.
12237
12238 2016-10-20 18:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12239
12240         * gst/vaapi/gstvaapivideomemory.c:
12241           vaapivideomemory: log in perf category when copy
12242           Log in performance category when the derive image handling fails, falling back
12243           to memory copy.
12244
12245 2016-10-20 16:31:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12246
12247         * gst/vaapi/gstvaapivideomemory.c:
12248           vaapivideomemory: error log is derive image fails
12249           Instead of a silently failure of the derive image, this patch log an error
12250           message according to the failure.
12251
12252 2016-10-20 12:52:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12253
12254         * gst/vaapi/gstvaapivideomemory.c:
12255           vaapivideomemory: store surface alloc flags in qdata
12256           For sake of consistency, we should add the requested surface allocation flags
12257           to the object's qdata structure.
12258
12259 2016-10-20 12:22:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12260
12261         * gst/vaapi/gstvaapivideomemory.c:
12262           vaapivideomemory: category init when object define
12263           Move the Gstreamer debug category initialize to the GObject definition.
12264
12265 2016-11-03 08:31:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12266
12267         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
12268           libs: vaapitexturemap: trivial code-style fix
12269
12270 2016-11-02 20:01:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12271
12272         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12273           libs: display: egl: avoid recreate native display
12274           Instead of passing the native descriptor of the display, just pass the received
12275           GstVaapiDisplay and reuse it.
12276
12277 2016-11-02 15:38:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12278
12279         * gst/vaapi/gstvaapipluginbase.c:
12280           plugins: log the GstVaapiDisplay name
12281           Now that GstVaapiDisplay is descendant of GstObject, it has a human-friendly
12282           name. Log it instead of the memory address.
12283
12284 2016-11-02 18:37:00 +0900  Hyunjun Ko <zzoon@igalia.com>
12285
12286         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
12287           libs: window: egl: pass native va display
12288           When creating a GstVaapiWindowEGL, it also creates native window by its own
12289           native display. It should pass the native display, either X11 or Wayland.
12290           https://bugzilla.gnome.org/show_bug.cgi?id=768266
12291
12292 2016-10-13 12:53:17 +0900  Hyunjun Ko <zzoon@igalia.com>
12293
12294         * gst-libs/gst/vaapi/gstvaapidebug.h:
12295         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12296         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12297         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12298         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
12299         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
12300         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12301         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
12302         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
12303         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12304         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
12305         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
12306         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12307         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12308         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
12309         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
12310         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
12311         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
12312         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
12313         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
12314         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
12315         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
12316         * gst/vaapi/gstvaapivideocontext.c:
12317           libs: display: GstVaapiDisplay as GstObject descendant
12318           This patch is to change the inheritance of GstVaapiDisplay to GstObject,
12319           instead of GstVaapiMiniObject. In this way we can use all the available
12320           infrastructure for GObject/GstObject such as GstTracer, GIR, etc.
12321           In addition, a new debug category for GstVaapiDisplay is created to make it
12322           easier to trace debug messages. It is named "vaapidisplay" and it transverse
12323           all the VA display backends (DRM, GLX, EGL, Wayland, ...)
12324           This patch is a step forward to expose GstVaapiDisplay for users in a future
12325           library.
12326           https://bugzilla.gnome.org/show_bug.cgi?id=768266
12327           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12328
12329 === release 1.11.0 ===
12330
12331 2016-11-01 18:54:54 +0200  Sebastian Dröge <sebastian@centricular.com>
12332
12333         * configure.ac:
12334           Back to development
12335
12336 === release 1.10.0 ===
12337
12338 2016-11-01 18:19:32 +0200  Sebastian Dröge <sebastian@centricular.com>
12339
12340         * ChangeLog:
12341         * NEWS:
12342         * configure.ac:
12343         * gstreamer-vaapi.doap:
12344           Release 1.10.0
12345
12346 2016-10-27 17:13:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12347
12348         * gst/vaapi/gstvaapidecodebin.c:
12349           vaapidecodebin: resurrect disable-vpp property
12350           https://bugzilla.gnome.org/show_bug.cgi?id=773589
12351
12352 2016-10-27 16:32:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12353
12354         * gst/vaapi/gstvaapidecodebin.c:
12355           vaapidecodebin: name the internal queue
12356           https://bugzilla.gnome.org/show_bug.cgi?id=773589
12357
12358 2016-10-27 16:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12359
12360         * gst/vaapi/gstvaapidecodebin.c:
12361         * gst/vaapi/gstvaapidecodebin.h:
12362           vaapidecodebin: remove unused variables
12363           Since vaapipostproc is only registered if the driver supports it, all the
12364           support for dynamic loading were removed. Though some leftovers remained.
12365           https://bugzilla.gnome.org/show_bug.cgi?id=773589
12366
12367 2016-10-27 12:53:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12368
12369         * docs/plugins/Makefile.am:
12370         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
12371         * docs/plugins/running.xml:
12372           docs: document environment variables
12373           https://bugzilla.gnome.org/show_bug.cgi?id=773544
12374
12375 2016-10-27 12:31:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12376
12377         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
12378         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
12379         * gst/vaapi/Makefile.am:
12380         * gst/vaapi/gstvaapidecode.c:
12381         * gst/vaapi/gstvaapidecodebin.c:
12382         * gst/vaapi/gstvaapidecodedoc.c:
12383           docs: replace vaapidecode with each codec
12384           In the spirit of the codec split, this patch removes the documentation of
12385           vaapidecode and adds a page per each possible decoder.
12386           Nonetheless, only those available in the compilation system are going to be
12387           instrospected, because the rest are not registered.
12388
12389 2016-10-27 11:06:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12390
12391         * gst/vaapi/gstvaapipluginutil.c:
12392         * gst/vaapi/gstvaapivideobuffer.c:
12393         * gst/vaapi/gstvaapivideometa.c:
12394           docs: add missing long descriptions
12395
12396 2016-10-25 14:32:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12397
12398         * gst/vaapi/gstvaapipostproc.c:
12399           vaapipostproc: use GST_*_OBJECT when possible
12400           Since we can have several vaapipostproc operating in a pipeline, it is useful
12401           to know which one is generating the logging message.
12402           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12403
12404 2016-07-19 17:00:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12405
12406         * gst/vaapi/gstvaapidecode.c:
12407         * gst/vaapi/gstvaapidecode.h:
12408           vaapidecode: rename member to allowed_sinkpad_caps
12409           vaapidecode has a member named allowed_caps, but this name is not enough
12410           explicit. This patch renames allowed_caps to allowed_sinkpad_caps.
12411           No functional changes were included.
12412           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12413
12414 2016-10-20 18:12:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12415
12416         * gst/vaapi/gstvaapiencode_h264.c:
12417         * gst/vaapi/gstvaapiencode_h265.c:
12418         * gst/vaapi/gstvaapisink.c:
12419         * gst/vaapi/gstvaapivideomemory.c:
12420         * gst/vaapi/gstvaapivideometa.c:
12421         * gst/vaapi/gstvaapivideometa_texture.c:
12422           plugins: fix code style for errors
12423           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12424
12425 2016-10-20 17:01:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12426
12427         * gst/vaapi/gstvaapivideomemory.c:
12428           vaapivideomemory: comment style
12429           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12430
12431 2016-10-20 11:19:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12432
12433         * gst/vaapi/gstvaapivideomemory.c:
12434         * gst/vaapi/gstvaapivideomemory.h:
12435           vaapivideomemory: rename input parameter
12436           In order to clarify the use of flag as input parameter, it is renamed to
12437           surface_alloc_flag, since it is used when creating a VA surface with certain
12438           properties.
12439           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12440
12441 2016-10-25 19:22:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12442
12443         * gst/vaapi/gstvaapidecode.c:
12444           vaapidecode: rename element description
12445           So encoders and decoders have similar descriptions.
12446           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12447
12448 2016-08-02 11:32:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12449
12450         * gst/vaapi/gstvaapiencode_h264.c:
12451         * gst/vaapi/gstvaapiencode_h265.c:
12452           vaapiencode: h264, h265: rename codec name
12453           So encoder and decoders have the same codec name.
12454           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12455
12456 2016-07-29 15:17:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12457
12458         * gst/vaapi/gstvaapipluginbase.c:
12459           plugins: simplify code
12460           Merge two lines of variable declarations.
12461           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12462
12463 2016-10-07 18:46:22 +0900  Hyunjun Ko <zzoon@igalia.com>
12464
12465         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12466         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
12467         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
12468         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12469           libs: minor correction for logical consistency
12470           GstVaapiDecode is a descendant of GstVaapiMiniObject, so, thought we should
12471           use its methods, even though it doesn't change functionality.
12472           GstVaapiPixmap, GstVaapiTexture and GstVaapiWindow are descendant of
12473           GstVaapiObject, hence its methods shall be used.
12474           https://bugzilla.gnome.org/show_bug.cgi?id=772554
12475
12476 2016-10-19 15:39:54 +0100  Julien Isorce <j.isorce@samsung.com>
12477
12478         * gst/vaapi/gstvaapivideomemory.c:
12479           vaapivideomemory: add explanation about the call 'dup (dmabuf_fd)'
12480           In short GstFdMemory is configured to call close when using
12481           GstDmabufMemory.
12482           https://bugzilla.gnome.org/show_bug.cgi?id=755072
12483
12484 2016-09-02 16:42:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12485
12486         * configure.ac:
12487         * gst-libs/gst/vaapi/Makefile.am:
12488           build: clean up the dlopen usage
12489
12490 2016-10-08 14:33:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12491
12492         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12493         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12494           encoder: h264,h265: fix regression in offset count
12495           In commit dc35dafa a bug was introduced because I assumed that
12496           GST_CLOCK_TIME_NONE is zero when is -1. This patch fixes that mistake.
12497           https://bugzilla.gnome.org/show_bug.cgi?id=772259
12498
12499 2016-10-18 17:02:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12500
12501         * README:
12502           docs: update README
12503
12504 2016-09-27 17:29:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12505
12506         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12507           libs: display: egl: remove unused header include
12508           The header gmodule.h is not used since the library dynamic loading for EGL
12509           display was removed.
12510           https://bugzilla.gnome.org/show_bug.cgi?id=772599
12511
12512 === release 1.9.90 ===
12513
12514 2016-09-30 13:05:20 +0300  Sebastian Dröge <sebastian@centricular.com>
12515
12516         * ChangeLog:
12517         * NEWS:
12518         * common:
12519         * configure.ac:
12520         * gstreamer-vaapi.doap:
12521           Release 1.9.90
12522
12523 2016-03-04 16:35:11 +0900  Vineeth TM <vineeth.tm@samsung.com>
12524
12525         * gst/vaapi/gstvaapidecode.c:
12526         * gst/vaapi/gstvaapidecodebin.c:
12527         * gst/vaapi/gstvaapiencode_h264.c:
12528         * gst/vaapi/gstvaapiencode_h265.c:
12529         * gst/vaapi/gstvaapiencode_jpeg.c:
12530         * gst/vaapi/gstvaapiencode_mpeg2.c:
12531         * gst/vaapi/gstvaapiencode_vp8.c:
12532         * gst/vaapi/gstvaapipostproc.c:
12533         * gst/vaapi/gstvaapisink.c:
12534           vaapi: use new gst_element_class_add_static_pad_template()
12535           https://bugzilla.gnome.org/show_bug.cgi?id=763083
12536           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12537
12538 2016-09-22 16:34:48 +0900  Hyunjun Ko <zzoon@igalia.com>
12539
12540         * gst/vaapi/gstvaapipluginbase.c:
12541           plugins: reset textures at negotiation/shutdown
12542           When caps reconfiguration is called, the new downstream frame size might be
12543           different. Thus, if the downstream caps change,the display's texture map is
12544           reset.
12545           In addition, during pipeline shutdown, textures in texture map have to be
12546           released, since each one have a reference to the GstVaapiDisplay object, which
12547           is a dangerous circular reference.
12548           https://bugzilla.gnome.org/show_bug.cgi?id=769293
12549           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12550
12551 2016-09-22 16:34:38 +0900  Hyunjun Ko <zzoon@igalia.com>
12552
12553         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12554         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12555         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12556         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
12557         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12558         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
12559         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12560         * gst/vaapi/gstvaapivideometa_texture.c:
12561           libs: display{egl,glx}: cache GstVaapiTextures
12562           instances when created and reuse
12563           This patch improves performance when glimagesink uploads a GL texture.
12564           It caches the GStVaapiTexture instances in GstVaapiDisplay{GLX,EGL}, using an
12565           instance of GstVaapiTextureMap, so our internal texture structure can be found
12566           by matching the GL texture id for each frame upload process, avoiding the
12567           internal texture structure creation and its following destruction.
12568           https://bugzilla.gnome.org/show_bug.cgi?id=769293
12569           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12570
12571 2016-09-22 16:33:06 +0900  Hyunjun Ko <zzoon@igalia.com>
12572
12573         * gst-libs/gst/vaapi/Makefile.am:
12574         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
12575         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
12576           libs: vaapitexturemap: implement GstVaapiTextureMap
12577           Implement GstVaapiTextureMap object, which caches VAAPI textures, so them can be
12578           reused. Internally it is a hash table.
12579           Note that it is GstObject based rather than GstVaapiObject, as part of the future
12580           converstion to GstObject of most of the code.
12581           https://bugzilla.gnome.org/show_bug.cgi?id=769293
12582           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12583
12584 2016-09-21 09:55:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12585
12586         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
12587           encoder: vp8: Increase the allocation size for coded buffer
12588           We are not getting enough compression for some streams and
12589           encoded frame end up with more size than allocated.
12590           Assuming a compression ratio of 4, which should be good enough
12591           for holding the frames.
12592           https://bugzilla.gnome.org/show_bug.cgi?id=771528
12593
12594 2016-09-21 09:52:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12595
12596         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
12597           encoder: vp9: Fix refresh frame flag setting
12598           While doing the mode-1 referece picture selection,
12599           the circular buffer logic was not correctly setting the
12600           refresh frame flags as per VP9 spec.
12601           Make sure refresh_flag[0] get updated correclty after
12602           each cycle of GST_VP9_REF_FRAMES.
12603           https://bugzilla.gnome.org/show_bug.cgi?id=771507
12604
12605 2016-09-14 18:42:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12606
12607         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12608           vaapidecode: codec_data minimal size is 7
12609           When the format of a H.264 stream is AVC3, the SPS and PPS are inside the
12610           stream, not in the codec_data, so the size of codec_data might be 7.
12611           This patch reduces the minimal size of the codec_data buffer from 8 to 7.
12612           https://bugzilla.gnome.org/show_bug.cgi?id=771441
12613
12614 2016-09-14 16:29:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12615
12616         * gst/vaapi/gstvaapidecode.c:
12617           vaapidecode: reset decoder hard when set_format()
12618           set_format() is called by upstream when the stream capabilites has changed.
12619           Before, if the new stream is compatible with the old one the VA decoder was
12620           not destroyed. Nonetheless, with this behavoir, the VA decoder ignores
12621           when the upstreamer parsers gets more details of the stream, such as the
12622           framerate. Hence, when the src caps are negotiates, the further sink caps
12623           updates are ignored.
12624           This patch forces the VA decoder destroying and recreation when set_format()
12625           is called.
12626           https://bugzilla.gnome.org/show_bug.cgi?id=770921
12627
12628 2016-09-14 11:31:39 +0200  Sebastian Dröge <sebastian@centricular.com>
12629
12630         * configure.ac:
12631           configure: Depend on gstreamer 1.9.2.1
12632
12633 2016-09-09 12:03:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12634
12635         * gst/vaapi/gstvaapivideomemory.c:
12636           Revert "vaapivideomemory: load VA Image when mapping to write"
12637           This reverts commit c67edea4aba35f16d9e97c78a0b49ad1b590b112.
12638
12639 2016-09-10 20:52:21 +1000  Jan Schmidt <jan@centricular.com>
12640
12641         * common:
12642           Automatic update of common submodule
12643           From b18d820 to f980fd9
12644
12645 2016-09-10 09:58:25 +1000  Jan Schmidt <jan@centricular.com>
12646
12647         * common:
12648           Automatic update of common submodule
12649           From f49c55e to b18d820
12650
12651 2016-09-08 16:16:09 +0900  Hyunjun Ko <zzoon@igalia.com>
12652
12653         * gst/vaapi/gstvaapipluginbase.c:
12654           plugins: set allocator's image size to sinkpad bufferpool
12655           Otherwise the buffer is always ditched by the bufferpool, losing performance.
12656           https://bugzilla.gnome.org/show_bug.cgi?id=771035
12657
12658 2016-09-07 17:34:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12659
12660         * gst-libs/gst/vaapi/gstvaapisurface.c:
12661           libs: surface: ensure composite overlay is not bigger
12662           Ensure the composition overlay rectangle (subtitles) is not bigger than
12663           the surface where it is going to be composited and rendered.
12664           https://bugzilla.gnome.org/show_bug.cgi?id=766978
12665
12666 2016-09-07 17:51:23 +0900  Hyunjun Ko <zzoon@igalia.com>
12667
12668         * gst/vaapi/gstvaapivideomemory.c:
12669           vaapivideomemory: load VA Image when mapping to write
12670           When calling gst_video_frame_map() with GST_MAP_WRITE flag, it doesn't call
12671           ensure_image_is_current(), which means it doesn't guarentee VAImage is valid
12672           in this case.
12673           https://bugzilla.gnome.org/show_bug.cgi?id=766978
12674
12675 2016-09-06 12:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12676
12677         * gst/vaapi/gstvaapidecode.c:
12678           vaapidecode: merge vc1 and wmv3 elements
12679           This patch merges vaapivc1dec and vaapiwmv3dec into a single
12680           vaapivc1dec. Also, removed the WMVA format, since it is not
12681           supported by libva.
12682           https://bugzilla.gnome.org/show_bug.cgi?id=734093
12683
12684 2016-09-06 11:19:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12685
12686         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
12687           decoder: vc1: fails only on advanced profile
12688           In commit 2eb4394 the frame coding mode was verified for progressive
12689           regardless the profile. But the FCM is only valid in the advanced
12690           profile. This patch checks for the advanced profile before verifying FCM for
12691           progressive.
12692           https://bugzilla.gnome.org/show_bug.cgi?id=769250
12693
12694 2016-09-01 12:39:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12695
12696         * gst/vaapi/gstvaapi.c:
12697           vaapi: DISPLAY envvar as dependency
12698           In a multiple video cards system, a X11 environment may have different VA
12699           capabilities. This patch tracks the DISPLAY environment variable to
12700           invalidates the GStreamer features cache. Also tracks WAYLAND_DISPLAY.
12701           https://bugzilla.gnome.org/show_bug.cgi?id=770357
12702
12703 2016-08-26 14:55:17 -0700  Scott D Phillips <scott.d.phillips@intel.com>
12704
12705         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
12706           decoder: vc1: Fail only on actual interlaced frames
12707           In the earlier patch:
12708           f31d9f3 decoder: vc1: Print error on interlaced content
12709           Decoding would error out if the interlace flag was set in the
12710           sequence bdu. This isn't quite right because a video can have this
12711           flag set and yet not have any interlaced pictures.
12712           Here instead we error out when either parsing a field bdu or
12713           decoding a frame bdu which has fcm set to anything other than
12714           progressive.
12715           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
12716           https://bugzilla.gnome.org/show_bug.cgi?id=769250
12717
12718 2016-09-01 12:34:48 +0300  Sebastian Dröge <sebastian@centricular.com>
12719
12720         * configure.ac:
12721           Back to development
12722
12723 === release 1.9.2 ===
12724
12725 2016-09-01 12:34:38 +0300  Sebastian Dröge <sebastian@centricular.com>
12726
12727         * ChangeLog:
12728         * NEWS:
12729         * configure.ac:
12730         * gstreamer-vaapi.doap:
12731           Release 1.9.2
12732
12733 2016-08-16 11:58:38 +0300  Scott D Phillips <scott.d.phillips@intel.com>
12734
12735         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
12736           decoder: vc1: Print error on interlaced content
12737           Interlaced video is as yet unsupported in the vc1 element. Print
12738           an error to make that more obvious.
12739           https://bugzilla.gnome.org/show_bug.cgi?id=769250
12740
12741 2016-08-10 13:29:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12742
12743         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12744           encoder: h264: fix C90 mixed declarations and code
12745           Commit 4259d1a introduced this compilation error. This patch fixes it.
12746
12747 2016-07-21 17:38:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12748
12749         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12750         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12751         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
12752         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
12753           encoder: h264,h265,mpeg2,vp8: use gst_util_uint64_scale() for bitrate
12754           Use gst_util_uint64_scale() to calculate bitrate instead of normal arithmetic
12755           to avoid overflows, underflows and loss of precision.
12756           https://bugzilla.gnome.org/show_bug.cgi?id=768458
12757
12758 2016-07-05 20:07:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12759
12760         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12761         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12762           vaapiencode: h264,h265: validate fps numerator
12763           Validate that fps numerator is non-zero so it can be used to calculate
12764           the duration of the B frame.
12765           Also it gst_util_uint64_scale() is used instead of normal arithmetic in
12766           order to aviod overflows, underflows and loss of precision.
12767           https://bugzilla.gnome.org/show_bug.cgi?id=768458
12768
12769 2016-08-06 12:54:17 +0100  Tim-Philipp Müller <tim@centricular.com>
12770
12771         * gst/vaapi/gstvaapi.c:
12772           encoders: demote to RANK_NONE since not fit for autoplugging yet
12773           Encoders claim to support a whole bunch of input formats but then
12774           just error out if the format is not actually supported, even if
12775           there's a converter in front. This means they're not fit for
12776           autoplugging in encodebin or camerabin yet and therefore should
12777           not have a rank. People can still use them in custom pipelines.
12778           https://bugzilla.gnome.org/show_bug.cgi?id=769266
12779
12780 2016-07-19 19:24:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12781
12782         * gst/vaapi/gstvaapipluginbase.c:
12783           plugins: check dmabuf-import for sink pad allocator
12784           Check earlier if upstream video source has activated the dmabuf-import
12785           io-mode (hack to disappear soon), thus we can avoid the re-assignation of a
12786           new allocator.
12787
12788 2016-07-19 20:02:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12789
12790         * gst/vaapi/gstvaapipluginbase.c:
12791           plugins: reset allocators if video info changed
12792           If the frame size or format, change, the allocators are reset, so a new ones
12793           can be created with the new video info.
12794
12795 2016-07-19 19:27:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12796
12797         * gst/vaapi/gstvaapipluginbase.c:
12798           plugins: remove sink pad allocator if caps change
12799           If the negotiated sinkpad caps change, destroy the assignated allocator,
12800           because it is not valid anymore.
12801
12802 2016-07-19 20:01:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12803
12804         * gst/vaapi/gstvaapipluginutil.c:
12805         * gst/vaapi/gstvaapipluginutil.h:
12806           pluginutil: const params to gst_video_info_changed()
12807           Since they are not modified, we should mark them as const.
12808
12809 2016-07-29 15:13:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12810
12811         * gst/vaapi/gstvaapipluginbase.c:
12812         * gst/vaapi/gstvaapivideomemory.c:
12813         * gst/vaapi/gstvaapivideomemory.h:
12814           gstvaapivideomemory: allocator's image size getter
12815           Add the method gst_allocator_get_vaapi_image_size() for the
12816           GstVaapiVideoAllocator, which gets the size of the allocated images with the
12817           current video info.
12818           This method replaces the direct call to the allocator's image info when the
12819           pool is configured.
12820
12821 2016-07-29 18:06:30 +0900  Hyunjun Ko <zzoon@igalia.com>
12822
12823         * gst/vaapi/gstvaapipluginbase.c:
12824           plugins: update buffer pool size with new allocator's image size
12825           Depends on media, video size is sometimes updated with new allocator.
12826           It leads to dismatch between bufferpool's set size and real allocated buffer size.
12827           In this case, it causes every buffer is freed during release in bufferpool,
12828           which should be reused. This affects performance.
12829           https://bugzilla.gnome.org/show_bug.cgi?id=769248
12830
12831 2016-07-27 19:49:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12832
12833         * configure.ac:
12834           configure: remove gmodule-2.0 EGL dependency
12835           Since commit 27429ce, EGL support doesn't depend on dynamic loading libraries,
12836           thus the dependency to gmodule-2.0 is not mandatory anymore.
12837
12838 2016-07-27 10:09:38 -0700  Scott D Phillips <scott.d.phillips@intel.com>
12839
12840         * configure.ac:
12841           configure: Fix non-fatal PKG_CHECK_MODULES invocations
12842           Some invocations of PKG_CHECK_MODULES were intended to be non-fatal if
12843           the package is missing, but action-if-not-found was given as an empty
12844           string which still causes the default action to run, which halts
12845           execution.
12846           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
12847           https://bugzilla.gnome.org/show_bug.cgi?id=769237
12848
12849 2016-07-13 18:34:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12850
12851         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12852           libs: egl: remove dynamic library loading code
12853           Since the upstream of gstreamer-vaapi, the library is not a public shared
12854           object anymore. But the EGL support depended on this dynamic library, so the
12855           EGL support was broken.
12856           This patch removes the dynamic library loading code and instantiates the
12857           EGL display using either X11 or Wayland if available.
12858           https://bugzilla.gnome.org/show_bug.cgi?id=767203
12859
12860 2016-07-12 23:47:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12861
12862         * gst/vaapi/gstvaapi.c:
12863         * gst/vaapi/gstvaapidecode.c:
12864         * gst/vaapi/gstvaapidecode.h:
12865           vaapidecode: register only the available decoders
12866           In order to register only the available decoders, this patch queries the
12867           created test VA display, which uses the currently used back-end (X11, Wayland,
12868           DRM, …) on the used display device.
12869           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12870
12871 2016-06-28 11:43:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12872
12873         * gst/vaapi/gstvaapi.c:
12874         * gst/vaapi/gstvaapipluginutil.c:
12875         * gst/vaapi/gstvaapipluginutil.h:
12876           vaapi: register only the available encoders
12877           In order to register only the available encoders, this patch queries the
12878           created test VA display, which uses the currently used back-end (X11,
12879           Wayland, DRM, …) on the used display device.
12880           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12881
12882 2016-06-07 16:28:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12883
12884         * gst/vaapi/gstvaapidecode.c:
12885         * gst/vaapi/gstvaapidecodebin.c:
12886           vaapidecode: split all the codecs
12887           Split the vaapidecode to all the supported codecs with the format
12888           vaapi{codec}dec.
12889           vaapidecode is stil registered as a GObject type, but not as a
12890           GStreamer feature, so it can be used internally by vaapidecodebin without
12891           changing its code too much.
12892           https://bugzilla.gnome.org/show_bug.cgi?id=734093
12893
12894 2016-07-12 22:19:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12895
12896         * gst/vaapi/gstvaapidecodebin.c:
12897           vaapidecodebin: simplify the code
12898           Since the elements dependant of the VA video processor are now only registered
12899           if it is available, vaapidecodebin code can be simplified a lot, removing all
12900           the code required to check if the VA video processor was available.
12901           https://bugzilla.gnome.org/show_bug.cgi?id=768899
12902
12903 2016-07-12 17:54:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12904
12905         * gst/vaapi/gstvaapidecode.c:
12906           vaapidecode: delay the GstVaapiDisplay instantiating
12907           Delay the GstVaapiDisplay instantiating until when changing the state from
12908           READY to PAUSE. In this way the element has more chances to find an already
12909           created GstVaapiDisplay, or a GL context, in the pipeline.
12910           https://bugzilla.gnome.org/show_bug.cgi?id=766206
12911
12912 2016-07-12 17:49:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12913
12914         * gst/vaapi/gstvaapipluginutil.c:
12915           pluginutil: set GLX display type
12916           The function gst_vaapi_create_display_from_gl_context() cretes a
12917           GstVaapiDisplay given a GstGLContext. But it didn't created a GLX VA display
12918           when the GL platform was GLX, but a plain X11 VA display.
12919           This patch fixes that, by querying the GL platform earlier.
12920           https://bugzilla.gnome.org/show_bug.cgi?id=766206
12921
12922 2016-06-02 19:57:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12923
12924         * gst/vaapi/gstvaapipluginbase.c:
12925         * gst/vaapi/gstvaapivideocontext.c:
12926         * gst/vaapi/gstvaapivideocontext.h:
12927           plugins: add gst_vaapi_plugin_base_find_gl_context()
12928           Using the GstContext mechanism, it is possible to find if the pipeline
12929           shares a GstGLContext, even if we are not to negotiating GLTextureUpload
12930           meta. This is interesting because we could negotiate system memory caps
12931           feature, but enable DMABuf if the GstGLContext is EGL with some extensions.
12932           https://bugzilla.gnome.org/show_bug.cgi?id=766206
12933
12934 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12935
12936         * gst/vaapi/gstvaapipluginbase.c:
12937         * gst/vaapi/gstvaapipluginbase.h:
12938           plugins: remove gst_vaapi_plugin_base_driver_is_whitelisted()
12939           Since nobody is calling gst_vaapi_plugin_base_driver_is_whitelisted(),
12940           it is deleted.
12941
12942 2016-07-12 18:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12943
12944         * gst/vaapi/gstvaapipluginbase.h:
12945           plugins: remove common change_state() vmethod
12946           Remove the common change_state() vmethod for all the plugins, since no one is
12947           using it.
12948
12949 2016-07-12 20:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12950
12951         * gst/vaapi/gstvaapidecode.c:
12952           vaapidecode: remove change_state() vmethod
12953           Since the driver checkup is done at registering, there is no need to do it
12954           when changing the element state from NULL to READY. This patch remove this
12955           vmethod from vaapidecode.
12956
12957 2016-07-12 20:29:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12958
12959         * gst/vaapi/gstvaapi.c:
12960           vaapi: register vaapipostproc only if supported
12961           Query the GstVaapiDisplay to know if the driver supports video
12962           postprocessing. If does, then register vaapipostproc and vaapidecodebin
12963           elements.
12964           This patch will simplify the design of vaapidecodebin.
12965           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12966
12967 2016-06-29 12:36:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12968
12969         * gst/vaapi/gstvaapi.c:
12970           vaapi: don't register if VA driver is unsupported
12971           Using the test VA display, the driver name is queried, and if it is not
12972           white-listed, the plugin rejects to register any element.
12973           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12974
12975 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12976
12977         * gst/vaapi/gstvaapipluginbase.c:
12978         * gst/vaapi/gstvaapipluginutil.c:
12979         * gst/vaapi/gstvaapipluginutil.h:
12980           plugins: add gst_vaapi_driver_is_whitelisted()
12981           Move some of the logic in gst_vaapi_plugin_base_driver_is_whitelisted() to a
12982           new function gst_vaapi_driver_is_whitelisted(), in this way, it can be used
12983           when registering the plugin's feature set with the test VA display.
12984           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12985
12986 2016-07-12 19:56:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12987
12988         * gst/vaapi/gstvaapi.c:
12989           vaapi: instantiate a VA display when registering
12990           This patch tries to instantiate a GstVaapiDisplay when registering the plugin
12991           features, if it fails, no gstreamer-vaapi element is registering.
12992           The purpose of this patch is to avoid a situation where the user has
12993           gstreamer-vaapi installed but their VA-API setup is not functional, which may
12994           lead to unexpected behavior.
12995           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12996
12997 2016-06-28 11:33:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12998
12999         * configure.ac:
13000         * gst/vaapi/gstvaapi.c:
13001           vaapi: declare external dependencies
13002           There are two main external dependencies that define the feature set of this
13003           plugin: a) the kernel and b) the VA driver
13004           This patch tracks both dependencies, if any of them change, GStreamer will
13005           re-inspect the plugin.
13006           The kernel is tracked through the device files /dev/dri/card*
13007           The VA driver is tracked through the files VA_DRIVERS_PATH/*_drv_video.so,
13008           where VA_DRIVERS_PATH is the one defined in libva package configuration. Also,
13009           the environment variables LIBVA_DRIVERS_PATH and LIBVA_DRIVER_NAME are tracked
13010           since they modify the driver lookup.
13011           Additionally, the environment variable GST_VAAPI_ALL_DRIVERS is tracked too.
13012           https://bugzilla.gnome.org/show_bug.cgi?id=724352
13013
13014 2016-07-19 16:02:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13015
13016         * gst/vaapi/gstvaapidecode.c:
13017           vaapidecode: remove unneeded initializations
13018           GObject's memory is set to zero, so there is no need to initialize to zero or
13019           NULL it's class variables.
13020
13021 2016-07-19 18:28:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13022
13023         * gst/vaapi/gstvaapipluginbase.h:
13024           plugins: remove undefined macros
13025
13026 2016-07-19 17:43:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13027
13028         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13029           Revert "gstvaapisurface_drm: release image when done"
13030           This reverts commit 1dbcc8a0e199f2da6a0ab8e949f13341916128a3  and commit
13031           372a03a9e38acbf435eb80bf31d9a9844069e504.
13032           While the dmabuf handle is exported, the derive image must exist, otherwise
13033           the image's VA buffer is invalid, thus the dmabuf handle is never released,
13034           leading into a file descriptors leak.
13035
13036 2016-07-21 17:38:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13037
13038         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
13039           encoder: h265: fix code-style
13040
13041 2016-07-22 16:55:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13042
13043         * gst/vaapi/gstvaapipostproc.c:
13044           vaapipostproc: update filters at color balance
13045           This is a fix for a regression of previous commit, which updates the filters
13046           only when the property is set, because it is also required to update the
13047           filter when the color balance interface change its values.
13048
13049 2016-07-22 12:10:23 +0900  Hyunjun Ko <zzoon@igalia.com>
13050
13051         * gst/vaapi/gstvaapipostproc.c:
13052         * gst/vaapi/gstvaapipostproc.h:
13053           vaapipostproc: make it enable/disable pass-through mode
13054           In case that sink caps and src caps are same, and no filtering parameter set,
13055           pass-through mode is enabled.
13056           If new filtering parameter is set during playback, it makes it reconfiguring,
13057           so that pass-through mode is changed
13058           In addition, updating filter is performed during reconfiguration, if needed.
13059           https://bugzilla.gnome.org/show_bug.cgi?id=751876
13060
13061 2016-07-22 11:51:26 +0900  Hyunjun Ko <zzoon@igalia.com>
13062
13063         * gst-libs/gst/vaapi/gstvaapifilter.c:
13064         * gst-libs/gst/vaapi/gstvaapifilter.h:
13065         * gst/vaapi/gstvaapipostproc.c:
13066           vaapipostproc: checking and updating filter parameter only when it's set
13067           This patch is to avoid checking filter value at every frame.
13068           https://bugzilla.gnome.org/show_bug.cgi?id=751876
13069
13070 2016-07-21 11:24:31 +0300  Allen Zhang <Zhang, Zhangfei>
13071
13072         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13073           decoder: h265: handle the SEI NAL units included in codec_data
13074           The prefix/suffix SEI nal units can appear in codec_data too
13075           which weren't handled before. Parse these SEI headers to
13076           fix the segfault.
13077           https://bugzilla.gnome.org/show_bug.cgi?id=768544
13078
13079 2016-07-15 16:32:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13080
13081         * docs/plugins/Makefile.am:
13082           build: doc: do not redefine MAINTAINERCLEANFILES
13083           MAINTAINERCLEANFILES is defined in gtk-doc-plugins.mak, thus instead of
13084           overload it, the files should be added.
13085
13086 2016-07-15 14:41:27 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13087
13088         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13089           encoder: h264: Fix MVC encode while enabling dct8x8
13090           Pack the transform_8x8_mode_flag and other necessary rbsp data
13091           in packed_pps header for MVC encode.
13092           https://bugzilla.gnome.org/show_bug.cgi?id=768647
13093
13094 2016-07-12 23:58:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13095
13096         * gst/vaapi/gstvaapisink.c:
13097           vaapisink: demote a debug message to trace
13098           Reduces noise when debugging.
13099
13100 2016-07-13 17:21:01 +0900  Jagyum Koo <koojagyum@gmail.com>
13101
13102         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
13103           wayland: Error check before using cached wl_display
13104           A planar(or some other) buffer allocation may fail on the driver, then
13105           the wayland connection becomes invalid, not able to send request or
13106           receive any event. So we need to set up a new wayland connection if
13107           there's an error detected on the cached wl_display.
13108           https://bugzilla.gnome.org/show_bug.cgi?id=768761
13109           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13110
13111 2016-07-11 21:15:57 +0200  Stefan Sauer <ensonic@users.sf.net>
13112
13113         * common:
13114           Automatic update of common submodule
13115           From ac2f647 to f49c55e
13116
13117 2016-07-05 18:23:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13118
13119         * gst/vaapi/gstvaapiencode.c:
13120           vaapiencode: demote a log to trace level
13121           Removes noise when debugging.
13122
13123 2016-07-06 11:17:23 +0900  Hyunjun Ko <zzoon@igalia.com>
13124
13125         * gst/vaapi/gstvaapiencode.c:
13126           vaapiencode: implement flush() vmethod
13127           In order to handle correctly seek and other operations, vaapiencode should
13128           flush all the remaining data from the encoder without pushing it downstream.
13129           This patch implements the flush() vmethod, only after of pausing the
13130           source pad task, and restarting it again after the flush stop.
13131           https://bugzilla.gnome.org/show_bug.cgi?id=767176
13132           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13133
13134 2016-07-11 08:43:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13135
13136         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13137           decoder: vc1: flush dpb only if opened
13138           Flush the decode picture buffer, if and only if, the decoder is
13139           started. Otherwise the dpb structure might be NULL.
13140           https://bugzilla.gnome.org/show_bug.cgi?id=742922
13141
13142 2016-07-01 14:42:20 +0900  Hyunjun Ko <zzoon@igalia.com>
13143
13144         * gst/vaapi/gstvaapidecode.c:
13145         * gst/vaapi/gstvaapidecode.h:
13146           vaapidecode: drop non-keyframe in reverse playback
13147           To avoid surface-exhausted situation during reverse playback,
13148           drop frames except for key frame.
13149           Also, to avoid the corruption of the parser state, flush() vmethod
13150           doesn't destroy the VA decoder when playing in reverse.
13151           https://bugzilla.gnome.org/show_bug.cgi?id=742922
13152           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13153
13154 2016-07-10 19:33:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13155
13156         * gst/vaapi/gstvaapidecode.c:
13157           vaapidecode: unref output frame earlier
13158           The queue in GstVaapiDecode adds an extra reference to the frames. This patch
13159           unref that extra reference earlier making the code simpler to follow.
13160           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13161
13162 2016-07-10 19:01:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13163
13164         * gst/vaapi/gstvaapidecode.c:
13165           vaapidecode: remove gst_vaapidecode_internal_flush()
13166           As gst_vaapidecode_finish() is the only callee of
13167           gst_vaapidecode_internal_flush(), it is better to inline it.
13168           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13169
13170 2016-07-10 18:18:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13171
13172         * gst/vaapi/gstvaapidecode.c:
13173           vaapidecode: flush output adapter at drain()
13174           Calling drain() vmethod means "decode any data it can at this point, but that
13175           more data may arrive after". Hence, vaapidecode should check if there is data
13176           in the output adapter and process them, without destroying the decoded picture
13177           buffer (dpb).
13178           Since this operation is done by gst_vaapidecode_internal_flush(), the operation
13179           was refactored into a new function gst_vaapidecode_flush_output_adapter().
13180           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13181
13182 2016-07-10 13:46:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13183
13184         * gst/vaapi/gstvaapidecode.c:
13185           vaapidecode: call purge at flush()
13186           Calling flush() vmethod means "to flush all remaining data from the decoder
13187           without pushing it downstream".
13188           Nonetheless flush() is calling gst_vaapidecode_internal_flush(), which calls
13189           gst_video_decoder_have_frame() if there is still something in the input
13190           adapter, which may push buffers to downstream by calling handle_frame().
13191           This patch changes this behavior by calling gst_vaapidecode_purge() rather
13192           than gst_vaapidecode_internal_flush(), which does what we want: flushes the VA
13193           decoder and releases all the rest of decoded frames.
13194           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13195
13196 2016-07-06 18:38:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13197
13198         * tests/elements/Makefile.am:
13199         * tests/elements/test-vaapisink.c:
13200           test: elements: remove spurious linkage
13201           Element tests only need to link against gstreamer libraries.
13202
13203 2016-07-06 14:41:21 +0300  Sebastian Dröge <sebastian@centricular.com>
13204
13205         * configure.ac:
13206           configure: Require GLib >= 2.40 like everywhere else
13207
13208 2016-07-06 13:51:21 +0300  Sebastian Dröge <sebastian@centricular.com>
13209
13210         * configure.ac:
13211           Back to development
13212
13213 === release 1.9.1 ===
13214
13215 2016-07-06 13:48:07 +0300  Sebastian Dröge <sebastian@centricular.com>
13216
13217         * ChangeLog:
13218         * NEWS:
13219         * common:
13220         * configure.ac:
13221         * gstreamer-vaapi.doap:
13222           Release 1.9.1
13223
13224 2016-07-05 20:59:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13225
13226         * tests/elements/test-vaapisink.c:
13227           tests: elements: rotate orientation event
13228
13229 2016-07-01 16:01:54 +0900  Hyunjun Ko <zzoon@igalia.com>
13230
13231         * configure.ac:
13232         * tests/Makefile.am:
13233         * tests/elements/Makefile.am:
13234         * tests/elements/test-vaapisink.c:
13235           tests: elements: Add testsuite for vaapisink
13236           https://bugzilla.gnome.org/show_bug.cgi?id=765798
13237
13238 2016-07-01 16:00:46 +0900  Hyunjun Ko <zzoon@igalia.com>
13239
13240         * gst-libs/gst/vaapi/gstvaapitypes.h:
13241         * gst-libs/gst/vaapi/gstvaapivalue.c:
13242         * gst/vaapi/gstvaapisink.c:
13243         * gst/vaapi/gstvaapisink.h:
13244           vaapisink: add support for GST_TAG_IMAGE_ORIENTATION
13245           https://bugzilla.gnome.org/show_bug.cgi?id=765798
13246
13247 2016-06-29 13:57:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13248
13249         * gst/vaapi/gstvaapipostproc.c:
13250           vaapipostproc: return caps template if no display
13251           This patch is a fix for my bad review of commit 6d73ca8d. The element should
13252           be able to return the available raw caps handled by the VA display, but that
13253           only should happen when there a VA display. If there's none, the element
13254           should use the caps template.
13255           https://bugzilla.gnome.org/show_bug.cgi?id=768161
13256
13257 2016-06-29 16:42:18 +1000  Matthew Waters <matthew@centricular.com>
13258
13259         * gst/vaapi/gstvaapipostproc.c:
13260           vaapipostproc: don't require a vaapi display for all caps queries
13261           This delays the requirement of having a GstVaapiDisplay until later
13262           https://bugzilla.gnome.org/show_bug.cgi?id=768161
13263
13264 2016-06-28 15:48:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13265
13266         * gst-libs/gst/vaapi/gstvaapiutils.c:
13267           utils: report VP9 profiles
13268           Add VP9Profile0-3 name mapping.
13269
13270 2016-06-28 14:05:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13271
13272         * gst/vaapi/gstvaapi.c:
13273           vaapi: nest includes under USE_ENCODER macro
13274           This is a missed changeset from commit 1c05c53, since also header includes
13275           should be nested.
13276
13277 2016-06-28 11:54:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13278
13279         * gst/vaapi/gstvaapi.c:
13280           vaapi: nest encoders under USE_ENCODER macro
13281           Though USE_{JPEG,VP8,VP9,H265}_ENCODER macros definition depend on USE_ENCODER
13282           macro, it is clearer to nest them, showing explicitly the dependency relation.
13283
13284 2016-06-24 12:05:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13285
13286         * gst/vaapi/gstvaapivideocontext.c:
13287           vaapivideocontext: check if query context is NULL
13288           Under certain conditions the element might receive a positive context query
13289           but without a context instance. This situation will lead to a segmentation
13290           fault when traversing the context list in the pipeline.
13291           https://bugzilla.gnome.org/show_bug.cgi?id=767946
13292
13293 2016-06-20 13:22:36 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13294
13295         * gst-libs/gst/vaapi/Makefile.am:
13296         * gst-libs/gst/vaapi/glibcompat.h:
13297         * gst-libs/gst/vaapi/sysdeps.h:
13298           remove unused glibcompat.h
13299           glibcompat.h is no longer doing anything. Remove it.
13300           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13301           https://bugzilla.gnome.org/show_bug.cgi?id=767886
13302
13303 2016-06-22 14:28:44 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13304
13305         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13306           encoder: h264: Use high profile by default
13307           Change defaults for max-bframes, cabac, and dct8x8 to be enabled
13308           by default. This will cause the default profile to be high instead
13309           of baseline. In most situations this is the right decision, and
13310           the profile can still be lowered in the case of caps restrictions.
13311           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13312           https://bugzilla.gnome.org/show_bug.cgi?id=757941
13313
13314 2016-06-22 12:15:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13315
13316         * gst/vaapi/gstvaapidecodebin.c:
13317           vaapidecodebin: element warning if missing element
13318           Raise an element warning if a required element is not available, thus the
13319           pipeline will post a warning message and the application will be informed.
13320
13321 2016-06-22 15:11:56 +0300  Hyunjun Ko <zzoon@igalia.com>
13322
13323         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13324           decoder: h265: fix to release all dpb pictures
13325           Without this, all dpb pictures are not released during flush,
13326           because we used the global dpb_count variable for checking the
13327           dpb fullness which get decremented in dpb_remove_index()
13328           routine during each loop iteration.
13329           https://bugzilla.gnome.org/show_bug.cgi?id=767934
13330
13331 2016-06-21 11:48:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
13332
13333         * common:
13334           Automatic update of common submodule
13335           From ac2f647 to f363b32
13336
13337 2016-06-20 19:53:26 +0900  Hyunjun Ko <zzoon@igalia.com>
13338
13339         * gst/vaapi/gstvaapidecode.c:
13340         * gst/vaapi/gstvaapipostproc.c:
13341           vaapi: fix minor leaks
13342           https://bugzilla.gnome.org/show_bug.cgi?id=767868
13343
13344 2016-06-17 17:00:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13345
13346         * gst/vaapi/gstvaapi.c:
13347           vaapi: remove an already included header
13348           gst/gst.h is already included in gstcompat.h
13349
13350 2016-06-17 16:53:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13351
13352         * gst/vaapi/gstvaapidecodebin.c:
13353           vaapidecodebin: add vp9 in sink pad template
13354
13355 2016-06-15 20:19:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13356
13357         * gst/vaapi/gstvaapisink.c:
13358           vaapisink: return caps template if no display
13359           If vaapisink received a caps query before getting a VA display, it returned
13360           only the surfaces related caps. This behavior broke the autovideosink
13361           negotiation.
13362           This patch returns the pad's template caps if no VA display, otherwise the
13363           caps are crafted as before.
13364           https://bugzilla.gnome.org/show_bug.cgi?id=767699
13365
13366 2016-06-15 11:25:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13367
13368         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
13369           decoder: vp9: Update comment about context resets
13370           Clarify that vaapi context resets are never needed for vp9, but
13371           that ensure_context() needs called when the size increases so that
13372           new surfaces can be allocated.
13373           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13374           https://bugzilla.gnome.org/show_bug.cgi?id=767474
13375
13376 2016-05-17 15:34:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13377
13378         * gst-libs/gst/vaapi/gstvaapicontext.c:
13379         * gst-libs/gst/vaapi/gstvaapicontext.h:
13380         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
13381           gstvaapicontext: control reset_on_resize with option
13382           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13383           https://bugzilla.gnome.org/show_bug.cgi?id=767474
13384
13385 2016-06-14 09:45:22 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13386
13387         * gst/vaapi/gstvaapivideobufferpool.c:
13388           vaapivideobufferpool: add video meta to config when needed
13389           In cases where we know the video meta must be present, add it to
13390           the pool configuration.
13391           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13392           https://bugzilla.gnome.org/show_bug.cgi?id=766184
13393
13394 2016-06-13 10:48:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13395
13396         * gst/vaapi/gstvaapipluginbase.c:
13397           plugins: retry pool config
13398           if gst_buffer_pool_set_config returns FALSE, check the modified
13399           config and retry set_config if the config is still acceptable.
13400           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13401           https://bugzilla.gnome.org/show_bug.cgi?id=766184
13402
13403 2016-06-08 18:42:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13404
13405         * gst/vaapi/gstvaapivideomemory.h:
13406           vaapivideomemory: internal attributes to methods
13407           Mark as internal the functions used by VA-API dmabuf allocator.
13408
13409 2016-06-02 15:41:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13410
13411         * gst/vaapi/gstvaapipluginbase.c:
13412           plugins: remove precondition for decide_allocation()
13413           There's no need to check for the display in the plugin object when
13414           decide_allocation() vmethod is called, because the display will created or
13415           re-created along the method execution.
13416
13417 2016-06-08 18:44:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13418
13419         * gst/vaapi/gstvaapipluginbase.c:
13420           plugins: avoid possible memory leaks
13421           Get the pool config just before use it, to avoid a memory leak if the
13422           allocator cannot be instantiated. Similarly, return FALSE if the configuration
13423           cannot be set, avoid keep a not used allocator in the pool.
13424
13425 2016-05-31 11:52:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13426
13427         * gst/vaapi/gstvaapipluginbase.c:
13428           plugins: use GstParentBufferMeta
13429           Instead of using the VASurface proxy's notify, which is internal gstvaapi API,
13430           use the GStreamer's GstParentBufferMeta.
13431           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13432
13433 2016-05-31 08:26:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13434
13435         * gst/vaapi/gstvaapipluginbase.c:
13436           plugins: cache VASurfaces from dmabufs
13437           This patch avoids the creation of a VASurface each time a new input buffer is
13438           processed, caching them in the input buffer itself.
13439           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13440
13441 2016-05-30 23:55:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13442
13443         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13444         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
13445         * gst/vaapi/gstvaapipluginbase.c:
13446           libs: change gst_vaapi_surface_new_with_dma_buf_handle()
13447           Instead of passing the data already in GstVideoInfo, let's just pass the
13448           GstVideoInfo structure.
13449           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13450
13451 2016-05-25 12:31:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13452
13453         * gst/vaapi/gstvaapipluginbase.c:
13454         * gst/vaapi/gstvaapipluginbase.h:
13455           plugins: use an unique allocator per pad
13456           Instead of instantiating an allocator per vaapivideobufferpool, only one
13457           allocator is instantiated per element's pad and shared among future pools.
13458           If the pad's caps changes, the allocator is reset.
13459           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13460
13461 2016-05-25 10:58:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13462
13463         * gst/vaapi/gstvaapipluginbase.c:
13464         * gst/vaapi/gstvaapivideobufferpool.c:
13465         * gst/vaapi/gstvaapivideobufferpool.h:
13466           vaapivideobufferpool: share options flag with pluginbase
13467           Originally, vaapivideobufferpool has a set of boolean variables for the
13468           buffer configuration options.
13469           This pach changes these boolean variables for a single bitwise, just as
13470           it is used in pluginbase. Hence, the internal enum was moved to
13471           vaapivideobufferpool header.
13472           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13473
13474 2016-05-10 15:57:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13475
13476         * gst/vaapi/gstvaapipluginbase.c:
13477           plugins: add gst_vaapi_plugin_base_create_pool()
13478           This patch refactors the code in pluginbase in order to centralize the buffer
13479           pool instantiation. As the buffer pool config may have different options, these
13480           are gathered using a bitwise flag.
13481           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13482
13483 2016-05-20 18:46:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13484
13485           pluginbase negotiates allocator with bufferpool
13486           Originally vaapivideobufferpool instantiates its own allocator regardless the
13487           received configuration, and it relies in custom configuration options to
13488           choose which kind of allocator instantiate.
13489           This patch transfers the responsibility of the allocator instantiate to
13490           vaapipluginbase and pass it to the vaapivideobufferpool through its
13491           configuration.
13492           * gst/vaapi/gstvaapipluginbase.c
13493           + set_dmabuf_allocator(): inserts a dmabuf allocator in the bufferpool
13494           + ensure_sinkpad_buffer_pool(): set a normal vaapi video allocator in
13495           bufferpool configuration
13496           + gst_vaapi_plugin_base_propose_allocation(): call set_dmabuf_allocator() if
13497           needed.
13498           + gst_vaapi_plugin_base_decide_allocation(): set a normal vaapi video
13499           allocator in bufferpool configuration
13500           * gst/vaapi/gstvaapivideobufferpool.c
13501           + gst_vaapi_video_buffer_pool_set_config(): instead of instantiate the
13502           allocator, process the received one through its configuration.
13503           * gst/vaapi/gstvaapivideobufferpool.h: removed
13504           GST_BUFFER_POOL_OPTION_DMABUF_MEMORY since it is not used anymore.
13505           * gst/vaapi/gstvaapivideomemory.c
13506           + gst_vaapi_is_dmabuf_allocator(): new helper function to identify a dmabuf
13507           allocator with the vaapi qdata.
13508           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13509
13510 2016-05-20 14:39:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13511
13512         * gst/vaapi/gstvaapivideobufferpool.c:
13513           vaapivideobufferpool: keep only current video info
13514           Instead of keeping old and new GstVideoInfo video structure, we only keep one,
13515           the current one, the negotiated. The old one is not needed at all.
13516           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13517
13518 2016-05-23 15:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13519
13520         * gst/vaapi/gstvaapipluginbase.c:
13521         * gst/vaapi/gstvaapipluginutil.c:
13522         * gst/vaapi/gstvaapipluginutil.h:
13523         * gst/vaapi/gstvaapivideomemory.c:
13524           pluginutil: add gst_video_info_force_nv12_if_encoded()
13525           This lines repeat a couple times in the code, so it would be better to put it
13526           a helper function.
13527           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13528
13529 2016-05-20 14:15:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13530
13531         * gst/vaapi/gstvaapipluginutil.c:
13532         * gst/vaapi/gstvaapipluginutil.h:
13533         * gst/vaapi/gstvaapipostproc.c:
13534         * gst/vaapi/gstvaapivideobufferpool.c:
13535           pluginutil: add gst_video_info_changed() helper
13536           This function is shared among different elements, so let factorized it.
13537           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13538
13539 2016-06-08 10:14:16 +0900  Hyunjun Ko <zzoon@igalia.com>
13540
13541         * gst/vaapi/gstvaapipostprocutil.c:
13542           vaapipostproc: Add colorimetry attributes to src caps
13543           https://bugzilla.gnome.org/show_bug.cgi?id=766596
13544
13545 2016-06-08 10:17:46 +0900  Hyunjun Ko <zzoon@igalia.com>
13546
13547         * gst/vaapi/gstvaapidecode.c:
13548           vaapidecode: remove chroma-site and colorimetry from src caps
13549           https://bugzilla.gnome.org/show_bug.cgi?id=766596
13550
13551 2016-06-07 14:19:50 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13552
13553         * gst/vaapi/gstvaapipostproc.c:
13554         * gst/vaapi/gstvaapipostproc.h:
13555           vaapipostproc: add postproc_lock to protect data members
13556           Add a mutex to postproc to protect concurrent access to data members.
13557           Previously set_caps() could release the allowed_srcpad_caps while
13558           transform_caps was in the middle of using it.
13559           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13560           https://bugzilla.gnome.org/show_bug.cgi?id=766940
13561
13562 2016-05-30 11:30:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13563
13564         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
13565         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
13566           encoder: vp9: Add simple algorithms for reference picture selection
13567           Added two modes(as properties) for reference picture selection:
13568           ref-mode-0: AltRef and GoldRef pointing to the recent keyframe
13569           and LastRef is pointing to the previous frame.
13570           ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef
13571           and n-2 th frame as AltRef
13572           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13573
13574 2016-05-30 11:25:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13575
13576         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
13577           encoder: vp9: Define Max frame width and height
13578           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13579
13580 2016-05-30 11:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13581
13582         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
13583         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
13584           encoder: vp9: Add more propertis for tuning encode quality
13585           Added three tuning properties:
13586           1: filter_level
13587           2: sharpness_level
13588           3: luma ac quant-table index
13589           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13590
13591 2016-05-30 11:24:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13592
13593         * gst/vaapi/Makefile.am:
13594         * gst/vaapi/gstvaapi.c:
13595         * gst/vaapi/gstvaapiencode_vp9.c:
13596         * gst/vaapi/gstvaapiencode_vp9.h:
13597           Add vp9 encode element to "vaapi" plugin
13598           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13599
13600 2016-05-30 11:23:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13601
13602         * gst-libs/gst/vaapi/Makefile.am:
13603         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
13604         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
13605           Add vp9 encoder support in libgstvaapi
13606           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13607
13608 2016-05-30 11:22:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13609
13610         * configure.ac:
13611           build: Add check for VP9 encode API support in libva
13612           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13613
13614 2016-05-26 11:42:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13615
13616         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13617           gstvaapisurface_drm: fix internal documentation
13618
13619 2016-05-26 11:41:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13620
13621         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13622           gstvaapisurface_drm: fix code-style
13623
13624 2016-05-25 12:28:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13625
13626         * gst/vaapi/gstvaapipluginbase.c:
13627           plugins: remove unused header
13628           Remove the include of gst/allocators/allocators.h since it is not used.
13629
13630 2016-05-25 10:36:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13631
13632         * gst/vaapi/gstvaapivideobufferpool.h:
13633           vaapivideobufferpool: remove GL_TEXTURE_UPLOAD_META
13634           Since gstreamer-vaapi is coupled with gstreamer releases, there is no need to
13635           keep compatibility definition.
13636           This patch removes the definition of
13637           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META since it is in
13638           gst-plugins-base version 1.2.2
13639
13640 2016-05-23 22:49:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13641
13642         * gst/vaapi/gstvaapipluginbase.c:
13643           plugins: add gst_vaapi_buffer_pool_caps_is_equal()
13644           This is a helper function to improve the readability of
13645           ensure_sinkpad_buffer_pool(). It makes clearer when the buffer pool needs to be
13646           re-instantiated.
13647
13648 2016-05-24 16:29:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13649
13650         * gst/vaapi/gstvaapipluginbase.c:
13651           plugins: deactivate buffer pool before unref
13652           This buffer pool may still be processing buffers when a caps renegotiation is
13653           done. This one-liner patch deactivates the pool to drain it before it
13654           de-allocation.
13655
13656 2016-05-24 16:22:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13657
13658         * gst/vaapi/gstvaapipluginbase.c:
13659           plugins: no sinkpad bufferpool when decoder
13660           Right now, the decoders create a buffer pool for their sink pad which is not
13661           used at all, because the decoders have never proposed it to upstream.
13662           This patch avoids the buffer pool instantiating when the element inherits from
13663           the GstVideoDecoder class.
13664
13665 2016-05-24 13:39:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13666
13667         * gst/vaapi/gstvaapipluginbase.c:
13668           plugins: avoid to get/set pool config twice
13669           This patch is a bit of optimization, since the bufferpool configuration is get
13670           when the pool is created. Hence, we only need to request it when the pool from
13671           the allocation query is reused.
13672
13673 2016-05-13 13:14:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13674
13675         * gst/vaapi/gstvaapipluginbase.c:
13676           plugins: destroy pool earlier if non-vaapi
13677           If the offered pool in decide_allocation() vmethod doesn't have the
13678           VAAPI_VIDEO_META option, it is destroyed immediatly and the pointer cleared,
13679           so it could be created later.
13680
13681 2016-05-23 22:30:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13682
13683         * gst/vaapi/gstvaapivideobufferpool.c:
13684           vaapivideobufferpool: split caps validation
13685           When validating the caps from bufferpool config, this patch distinguishes the
13686           error from no caps received (NULL) from the invalid caps (cannot be converted
13687           into GstVideoInfo structure).
13688
13689 2016-05-23 22:21:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13690
13691         * gst/vaapi/gstvaapidecode.c:
13692         * gst/vaapi/gstvaapipluginbase.c:
13693           plugins: check for caps in query earlier
13694           Check for caps as soon gst_query_parse_allocation() returns.
13695
13696 2016-05-23 23:13:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13697
13698         * gst/vaapi/gstvaapipluginbase.c:
13699         * gst/vaapi/gstvaapipluginbase.h:
13700           plugins: remove unused variables
13701           This variables stopped to be used since commit 001a5c63, which removed the
13702           gstvaapiuploader.
13703
13704 2016-05-23 18:47:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13705
13706         * gst/vaapi/gstvaapipluginbase.c:
13707           plugins: fix potential memleak from commit 9159328
13708           If gst_video_info_from_caps() fails it is required to unref the instantiated
13709           pool.
13710
13711 2016-05-23 18:04:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13712
13713         * gst/vaapi/gstvaapipostproc.c:
13714           vaapipostproc: handle if gst_video_info_from_caps() fails
13715           Return FALSE is the received caps cannot be transformed into a GstVideoInfo
13716           structure.
13717
13718 2016-05-23 17:55:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13719
13720         * gst/vaapi/gstvaapipluginbase.c:
13721           plugins: handle if gst_video_info_from_caps() fails
13722           Let's play safe and return error if, somehow, the received caps are wrong.
13723
13724 2016-05-23 17:47:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13725
13726         * gst/vaapi/gstvaapipluginbase.c:
13727           plugins: relate errors to instance
13728           Use GST_{ERROR,WARNING}_OBJECT instead of GST_{ERROR,WARNING}, thus the logs
13729           will show the name of the vaapipluginbase instance that failed.
13730           Also, the code-style is fixed, where some error labels need to be surrounded
13731           by braces.
13732
13733 2016-05-20 21:01:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13734
13735         * gst/vaapi/gstvaapipluginbase.c:
13736         * gst/vaapi/gstvaapipluginutil.c:
13737         * gst/vaapi/gstvaapisink.c:
13738           plugins: use GstVideoInfo accessors
13739           Instead of access to GstVideInfo members directly, use their accessors
13740           macros. This patch makes more resistance to future changes in GStreamer core.
13741
13742 2016-05-20 19:33:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13743
13744         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13745         * gst/vaapi/gstvaapipluginbase.c:
13746         * gst/vaapi/gstvaapipostproc.c:
13747         * tests/simple-encoder.c:
13748           remove spurious gst_video_info_init()
13749           gst_video_info_set_format() and gst_video_info_from_caps() call, internally,
13750           gst_video_info_init(), hence it is not required to call it before them. This
13751           patch removes these spurious calls.
13752
13753 2016-05-20 19:15:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13754
13755         * gst/vaapi/gstvaapipluginbase.c:
13756           vaapipluginbase: code-style: rename goto label
13757           The error labels have error_ prefix, but this one.
13758
13759 2016-05-19 16:34:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13760
13761         * gst/vaapi/gstvaapivideomemory.c:
13762           vaapivideomemory: use allocator custom alloc flag
13763           Instead of a dummy alloc() vmethod, the allocator instance set the flag
13764           GST_ALLOCATOR_FLAG_CUSTOM_ALLOC, which is used by the framework to avoid call
13765           gst_allocator_alloc() on the allocator.
13766
13767 2016-05-06 13:17:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13768
13769         * gst/vaapi/gstvaapivideobufferpool.c:
13770           vaapivideobufferpool: relate errors to instance
13771           Use GST_ERROR_OBJECT instead of GST_ERROR, thus the logs will show the name of
13772           the vaapivideobufferpool instance that failed.
13773
13774 2016-05-10 16:14:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13775
13776         * gst/vaapi/gstvaapipluginbase.c:
13777           plugins: remove gst_vaapi_plugin_base_set_pool_config()
13778           This function helper make sense for GStreamer 1.2, but it is not helpful for
13779           greater version since the validation is already done in the API implementation.
13780           Thus, it is removed.
13781
13782 2016-05-18 17:05:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13783
13784         * gst/vaapi/gstvaapipluginbase.c:
13785           gstvaapipluginbase: Fix typo in doc
13786
13787 2016-05-13 11:45:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13788
13789         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13790           encoder : h264: Disable b-frame encode in low-power mode
13791           This is a workaround since vaapi-intel-driver doesn't have
13792           support for B-frame encode when utilizing low-power-enc
13793           hardware block.
13794           Fixme :We should query the VAConfigAttribEncMaxRefFrames
13795           instead of blindly disabling b-frame support and set b/p frame count,
13796           buffer pool size etc based on the query result.
13797           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13798
13799 2016-05-13 11:44:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13800
13801         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13802         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
13803           encoder: h264 : Use "tune=low-power" for enabling lowpower encode
13804           Remove the duplicate property "low-power-enc" and use the
13805           tune property for enabling low power encoding mode.
13806           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13807
13808 2016-05-11 12:06:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13809
13810         * gst-libs/gst/vaapi/gstvaapiencoder.c:
13811           gstvaapiencoder:Use internal api to dervie configured VAEntrypoint
13812           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13813
13814 2016-05-11 12:05:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13815
13816         * gst-libs/gst/vaapi/gstvaapiencoder.c:
13817         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13818         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
13819           encoder: h264: Add support of low power/high performance encoding mode
13820           Added a new property "low-power-enc" for enabling low power
13821           encoding mode. Certain encoding tools may not be available
13822           with the VAEntrypointEncSliceLP.
13823           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13824
13825 2016-05-11 12:04:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13826
13827         * gst-libs/gst/vaapi/gstvaapitypes.h:
13828         * gst-libs/gst/vaapi/gstvaapiutils.c:
13829         * gst-libs/gst/vaapi/gstvaapivalue.c:
13830           Add mapping for Macroblock level rate control (VA_RC_MB)
13831
13832 2016-05-11 12:03:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13833
13834         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13835           gstvaapidisplay: Add VAEntrypointEncSliceLP support
13836           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13837
13838 2016-05-11 11:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13839
13840         * gst-libs/gst/vaapi/gstvaapiprofile.c:
13841         * gst-libs/gst/vaapi/gstvaapiprofile.h:
13842           gstvaapiprofile : Add VAEntrypointEncSliceLP definitions
13843           This is for implementations that supports low_power/high_performance
13844           variant for slice level encode.
13845           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13846
13847 2016-05-05 18:23:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13848
13849         * gst/vaapi/gstvaapipostprocutil.c:
13850           vaapipostproc: negotiate frame size fixation
13851           Refactor _fixate_frame_size(). Now, instead of fixating the frame size only
13852           using the sink caps, also it use the next capsfilter.
13853           This code is a shameless copy of gst_video_scale_fixate_caps() from
13854           https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst/videoscale/gstvideoscale.c?id=1.8.1#n634
13855           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13856
13857 2016-05-06 10:50:10 +0200  Scott D Phillips <scott.d.phillips@intel.com>
13858
13859         * gst/vaapi/gstvaapipostprocutil.c:
13860           vaapipostproc: don't use GstVideoInfo for src caps
13861           Instead of using gst_video_info_to_caps () to generated the fixed src caps,
13862           this patch enables the first step for caps negotiation with a possible
13863           following caps filter.
13864           _get_preferred_caps() will traverse the possible src caps looking for the one
13865           wit the preferred feature and the preferred color format. Then the color
13866           format, the frame size and the frame rate are fixated.
13867           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13868
13869 2016-05-05 15:32:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13870
13871         * gst/vaapi/gstvaapipostproc.c:
13872         * gst/vaapi/gstvaapipostprocutil.c:
13873         * gst/vaapi/gstvaapipostprocutil.h:
13874           vaapipostproc: move gst_vaapipostproc_fixate_srccaps()
13875           Move gst_vaapipostproc_fixate_srccaps() to gstvaapiposptprocutil.
13876           No functional changes.
13877           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13878
13879 2016-05-05 15:19:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13880
13881         * gst/vaapi/gstvaapipostproc.c:
13882           vaapipostproc: simplify code
13883           Change a convoluted snippet to find the preferred color format in the peer
13884           caps.
13885           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13886
13887 2016-05-05 15:16:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13888
13889         * gst/vaapi/gstvaapipostproc.c:
13890           vaapipostproc: use othercaps for preferred caps
13891           Instead of the allowed_srcpad_caps variable, this patch uses the othercaps
13892           from fixate_caps() vmethod to find the preferred caps feature and color
13893           format.
13894           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13895
13896 2016-05-05 13:46:11 +0200  Scott D Phillips <scott.d.phillips@intel.com>
13897
13898         * gst/vaapi/gstvaapipostproc.c:
13899           vaapipostproc: add fixate_caps() vmethod
13900           Instead of fixating the srcpad caps in transform_caps() vmethod, this patch
13901           implements the fixate_caps() vmethod and moves code around.
13902           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13903
13904 2016-05-05 12:07:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13905
13906         * gst/vaapi/Makefile.am:
13907         * gst/vaapi/gstvaapipostproc.c:
13908         * gst/vaapi/gstvaapipostprocutil.c:
13909         * gst/vaapi/gstvaapipostprocutil.h:
13910           vaapipostproc: set early properties restrictions
13911           When running transform_caps() vmethod, returning the srcpad caps, the caps are
13912           early restricted to the element properties set: width, height, format and
13913           force keep aspect.
13914           A new file was added gstvaapipostprocutil.{c,h} where the utilities functions
13915           are stored.
13916           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13917
13918 2016-04-25 13:45:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13919
13920         * gst/vaapi/gstvaapipostproc.c:
13921           vaapipostproc: log the caps transformation
13922           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13923
13924 2016-04-27 21:20:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13925
13926         * gst/vaapi/gstvaapipostproc.c:
13927           vaapipostproc: no GLTextureUpload in sinkpad
13928           As the vaapipostproc does not process frames with the VideoGLTextureUpload
13929           meta, the feature is removed from the sink pad template.
13930           https://bugzilla.gnome.org/show_bug.cgi?id=765931
13931
13932 2015-09-28 08:49:39 +0100  Julien Isorce <j.isorce@samsung.com>
13933
13934         * gst/vaapi/gstvaapivideobufferpool.c:
13935           vaapibufferpool: do not create texture upload meta if dmabuf
13936           https://bugzilla.gnome.org/show_bug.cgi?id=755072
13937
13938 2016-05-06 12:16:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13939
13940         * git.mk:
13941           build: update git.mk
13942
13943 2016-04-29 13:11:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13944
13945         * gst/vaapi/gstvaapipluginbase.h:
13946           plugin: fix macro processor check
13947           Instead of #ifdef it should be used #if becasuse USE_GST_GL_HELPERS is always
13948           defined in config.h, but it would be 0 or 1 depending on the configure output.
13949           https://bugzilla.gnome.org/show_bug.cgi?id=765702
13950
13951 2016-04-29 12:53:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13952
13953         * tests/test-display.c:
13954           tests: display: guard possible unused variables
13955           https://bugzilla.gnome.org/show_bug.cgi?id=765702
13956
13957 2016-04-29 12:48:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13958
13959         * tests/codec.c:
13960         * tests/decoder.c:
13961         * tests/image.c:
13962         * tests/output.c:
13963         * tests/simple-decoder.c:
13964         * tests/test-decode.c:
13965         * tests/test-display.c:
13966         * tests/test-filter.c:
13967         * tests/test-h264.c:
13968         * tests/test-jpeg.c:
13969         * tests/test-mpeg2.c:
13970         * tests/test-mpeg4.c:
13971         * tests/test-subpicture-data.c:
13972         * tests/test-subpicture.c:
13973         * tests/test-surfaces.c:
13974         * tests/test-textures.c:
13975         * tests/test-vc1.c:
13976         * tests/test-windows.c:
13977           tests: inforce gstreamer code-style
13978
13979 2016-04-27 17:10:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13980
13981         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
13982           encoder: h265: Enable cu_qp_delta_enabled_flag for CBR
13983           It seems driver requires enablement of cu_qp_delta_enabled_flag
13984           for modifying QP values to controll the CBR mode bitrate.
13985           https://bugzilla.gnome.org/show_bug.cgi?id=749852
13986
13987 2016-04-27 17:06:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13988
13989         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
13990           encoder: h265: Add CBR Encoding support
13991           https://bugzilla.gnome.org/show_bug.cgi?id=749852
13992
13993 2015-11-27 05:09:10 +0000  Julien Isorce <j.isorce@samsung.com>
13994
13995         * gst-libs/gst/vaapi/gstvaapisurface.c:
13996           gstvaapisurface: explicitely clear TILING flag if dmabuf
13997           https://bugzilla.gnome.org/show_bug.cgi?id=755072
13998
13999 2015-10-04 23:44:16 +0100  Julien Isorce <j.isorce@samsung.com>
14000
14001         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
14002           gstvaapisurface_drm: release image when done
14003           Otherwise intel-vaapi-driver will fail to process the exported surface because
14004           it will find it is currently derived, so considered as busy.
14005           https://bugzilla.gnome.org/show_bug.cgi?id=755072
14006
14007 2015-09-26 06:25:12 +0100  Julien Isorce <j.isorce@samsung.com>
14008
14009         * gst/vaapi/gstvaapipostproc.c:
14010           vaapipostproc: already have a surface proxy if dmabuf
14011           https://bugzilla.gnome.org/show_bug.cgi?id=755072
14012
14013 2016-03-11 08:58:51 +0000  Julien Isorce <j.isorce@samsung.com>
14014
14015         * gst/vaapi/gstvaapipostproc.c:
14016           various gst-indent
14017
14018 2016-04-21 15:14:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14019
14020         * gst/vaapi/gstvaapidecode.c:
14021         * gst/vaapi/gstvaapipluginbase.c:
14022         * gst/vaapi/gstvaapipluginbase.h:
14023           vaapidecode: search driver in whitelist
14024           If the backend driver vendor string is not in a white-list, and the
14025           environment variable GST_VAAPI_ALL_DRIVERS is not set either, the decoder will
14026           change it state from NULL to READY, hence the auto-plug mechanism will look
14027           for another decoder.
14028           This patch assumes the GstContext has already being shared along the pipeline
14029           and the element has a valid GstVaapiDisplay instance.
14030           https://bugzilla.gnome.org/show_bug.cgi?id=764673
14031
14032 2016-04-21 12:57:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14033
14034         * gst/vaapi/gstvaapidecode.c:
14035         * gst/vaapi/gstvaapiencode.c:
14036         * gst/vaapi/gstvaapipluginbase.c:
14037         * gst/vaapi/gstvaapipluginbase.h:
14038         * gst/vaapi/gstvaapipostproc.c:
14039         * gst/vaapi/gstvaapisink.c:
14040           plugins: rework set_context() vmethod definition
14041           In bug 757598 was added the set_context() vmethod chain up in
14042           GstVaapiPluginBase. But it is buggy, since the parent_class address is
14043           assigned to the last element which called gst_vaapi_plugin_base_class_init().
14044           No error has shown up since none of the element's base classes redefined
14045           set_context() vmethod from GstElement, so always the correct function was
14046           called. Still this code is wrong and this patch make it right.
14047           Since set_context() is the same code, a macro is used to implement that code
14048           in all the gst-vaapi elements.
14049           https://bugzilla.gnome.org/show_bug.cgi?id=765368
14050
14051 2016-04-15 17:57:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14052
14053         * gst/vaapi/gstvaapipostproc.c:
14054           vaapipostproc: resize if negotiated and allocation caps are different
14055           Since commit 859a2b2, in vaapidecode, allocation query can be different from
14056           the negotiated caps.
14057           When connecting the vaapidecoder to the vaapipostprocessor, the last one will
14058           resize the frame to the negotiated, if and only if, some other parameter is
14059           activated to avoid the passthrough. If it is not, the surface won't be mapped
14060           into a image. If not, the image won't be resized and the output buffer would be
14061           mapped.
14062           This patch will break the passthrough if the allocation query is different
14063           from the negotiation caps, forcing the resizing.
14064           https://bugzilla.gnome.org/show_bug.cgi?id=765095
14065
14066 2016-04-05 13:09:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14067
14068         * gst/vaapi/gstvaapidecode.c:
14069           vaapidecode: improve code readability
14070           No functional changes.
14071
14072 2016-04-05 13:37:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14073
14074         * gst/vaapi/gstvaapidecode.c:
14075           vaapidecode: move GstCapsFeatures near to its use
14076           Move the handling of the GstCapsFeatures just after it is used, in order to
14077           avoid handling its memory.
14078
14079 2016-04-05 13:07:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14080
14081         * gst/vaapi/gstvaapidecode.c:
14082           vaapidecode: caps negotiation checks
14083           Check that GLUploadTexture is not negotatiated if gstreamer-vaapi is not
14084           compiled with GL support.
14085
14086 2016-03-10 16:43:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14087
14088         * gst/vaapi/gstvaapidecode.c:
14089         * gst/vaapi/gstvaapipluginbase.c:
14090         * gst/vaapi/gstvaapipluginbase.h:
14091         * gst/vaapi/gstvaapipostproc.c:
14092           plugins: remove param in gst_vaapi_plugin_base_decide_allocation()
14093
14094 2016-03-10 16:42:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14095
14096         * gst/vaapi/gstvaapidecode.c:
14097           vaapidecode: bail early if not caps in decide_allocation()
14098
14099 2016-03-29 14:17:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14100
14101         * gst/vaapi/gstvaapidecode.c:
14102         * gst/vaapi/gstvaapipluginbase.c:
14103         * gst/vaapi/gstvaapipluginutil.c:
14104         * gst/vaapi/gstvaapipluginutil.h:
14105         * gst/vaapi/gstvaapipostproc.c:
14106           plugin: use allowed caps filter from element
14107           Instead of using the srcpad template caps for filtering the peer caps, the
14108           function gst_vaapi_find_preferred_caps_feature(), now receives a new parameter
14109           for the element's allowed caps.
14110           With this modification, the vaapipostproc element simplifies a bit its code.
14111           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14112
14113 2016-04-18 17:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14114
14115         * gst/vaapi/gstvaapidecode.c:
14116         * gst/vaapi/gstvaapipluginbase.c:
14117         * gst/vaapi/gstvaapipluginutil.c:
14118         * gst/vaapi/gstvaapipluginutil.h:
14119         * gst/vaapi/gstvaapipostproc.c:
14120           plugin: remove function parameter
14121           The native format parameter in gst_vaapi_find_preferred_caps_feature() can be
14122           saved if the out format is used for both: in and out. Thus the code is more
14123           readable.
14124           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14125
14126 2016-04-18 17:17:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14127
14128         * gst/vaapi/gstvaapidecode.c:
14129           vaapidecode: warns if driver will do color conversions
14130           If the downstream feature is system memory, the surface has to be mapped,
14131           hence a warning message is logged saying that the driver has to do color
14132           conversions. This might be troublesome because not all the color conversion
14133           combinations are supported by the VA-API drivers, and there is not a reliable
14134           way to know them before hand.
14135           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14136
14137 2016-03-29 13:28:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14138
14139         * gst/vaapi/gstvaapipluginutil.c:
14140           plugin: honour negotiated format
14141           Instead of setting the requested format by the caller, the function
14142           gst_vaapi_find_preferred_caps_feature() now returns, in the output parameter,
14143           the negotiated format.
14144           A new helper function was added: gst_vaapi_find_preferred_format(), which,
14145           given the format list from the negotiated caps, will choose the best one, if
14146           possible, given the native format.
14147           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14148
14149 2016-03-28 19:26:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14150
14151         * gst/vaapi/gstvaapipluginutil.c:
14152           plugin: simplify caps feature selection
14153           This patch simplifies the function gst_vaapi_find_preferred_caps_feature().
14154           Instead of intersecting custom caps to find the preferred feature, the peer
14155           caps are traversed in order to find the preferred feature, according to an
14156           ordered feature priority list.
14157           In the case of GLTextureUploadMeta, the colour format is computed using
14158           GstVideoInfo of the selected fixed caps.
14159           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14160
14161 2016-03-31 16:39:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14162
14163         * gst/vaapi/gstvaapidecode.c:
14164           vaapidecode: use macros for GstVideoInfo
14165           Instead of accessing directly to the members of the structure, use the macros.
14166
14167 2016-04-14 17:02:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14168
14169         * gst/vaapi/gstvaapidecode.c:
14170           vaapidecode: refactor is_display_resolution_changed()
14171           Make the comparisons more readable and simple.
14172           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14173
14174 2016-04-14 16:43:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14175
14176         * gst/vaapi/gstvaapidecode.c:
14177         * gst/vaapi/gstvaapidecode.h:
14178           vaapidecode: keep only display_{width,height}
14179           Instead of keeping the structure GstVideoInfo when we are using its width and
14180           height, we only keep these two guints.
14181           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14182
14183 2016-04-14 16:31:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14184
14185         * gst/vaapi/gstvaapidecode.c:
14186           vaapidecode: decoded_info is valid at src caps update
14187           As decoded_info is assured to be valid when gst_vaapidecode_update_src_caps()
14188           is called, then we don't need to verify or replace it with the sinkpad info
14189           (reference state).
14190           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14191
14192 2016-04-14 16:22:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14193
14194         * gst/vaapi/gstvaapidecode.c:
14195           vaapidecode: always a valid format in decoded_info
14196           Always set a valid format in decoded_info class variable.
14197           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14198
14199 2016-03-25 15:31:28 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14200
14201         * gst/vaapi/gstvaapidecode.c:
14202           vaapidecode: code style fixes
14203           No functional changes.
14204           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14205
14206 2016-04-14 16:10:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14207
14208         * gst/vaapi/gstvaapidecode.c:
14209           vaapidecode: init {decoded,display}_info at open()
14210           It is required to initialize {decoded,display}_info variables when the decoder
14211           is open, not only at instance initialization.
14212           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14213
14214 2016-03-28 15:30:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14215
14216         * gst/vaapi/gstvaapidecode.c:
14217         * gst/vaapi/gstvaapidecode.h:
14218           vaapidecode: remove spurious class variables
14219           active, do_pool_renego and do_outstate_renego class variables were used to
14220           indicate when negotiate downstream once, but now that each time a new surface
14221           resolution is pop out a renegotation verified, these variable are not required
14222           anymore.
14223           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14224
14225 2016-04-14 15:46:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14226
14227         * gst/vaapi/gstvaapidecode.c:
14228         * gst/vaapi/gstvaapipluginbase.c:
14229         * gst/vaapi/gstvaapipluginbase.h:
14230         * gst/vaapi/gstvaapipostproc.c:
14231           remove custom allocation query
14232           When resolving bug 753914, a custom allocation query was added, overlapping
14233           the responsibilities of GstVideoDecoder.
14234           But with the merge of the patches from bug 764421 this overlapping was not
14235           required anymore. This patch restores this situation setting the
14236           allocation_caps in the GstVideoCodecState when needed.
14237           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14238
14239 2016-04-14 10:04:47 +0100  Julien Isorce <j.isorce@samsung.com>
14240
14241         * common:
14242           Automatic update of common submodule
14243           From 6f2d209 to ac2f647
14244
14245 2016-04-13 15:44:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14246
14247         * gst/vaapi/gstvaapidecode.c:
14248         * gst/vaapi/gstvaapidecodebin.c:
14249         * gst/vaapi/gstvaapipostproc.c:
14250           plugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX
14251           The plugins should not expose the feature meta:GstVideoGLTextureUploadMeta in
14252           their caps templates if they were not compiled either with GLX or EGL support.
14253
14254 2016-04-13 20:33:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14255
14256         * gst/vaapi/gstvaapipluginutil.c:
14257           plugins: fix compilation when EGL/GLX is disabled
14258           The compiler might complain of gst_vaapi_create_display_from_handle() being
14259           unused if both EGL and GLX are disabled. This patch avoid that compilation
14260           error.
14261
14262 2016-04-13 14:09:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
14263
14264         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
14265           libs: fix deleting a GstVaapiCodedBufferPool object
14266           Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
14267           Otherwise it is not called when the pool is destroyed and all objects
14268           referenced by the GstVaapiVideoPool are never released.
14269           https://bugzilla.gnome.org/show_bug.cgi?id=764993
14270
14271 2016-04-07 18:03:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14272
14273         * gst-libs/gst/vaapi/gstvaapisurface.c:
14274           surface: destroy derived image
14275           If gst_vaapi_image_new_with_image() fails, the created derived image should be
14276           destroyed, otherwise the surface cannot be processed because is being used.
14277           https://bugzilla.gnome.org/show_bug.cgi?id=764607
14278
14279 2016-03-18 20:00:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14280
14281         * gst/vaapi/gstvaapidecode.c:
14282           vaapidecode: add stop function
14283           Clear any status on the current stream:
14284           stored frames, caps and decoder configuration
14285           https://bugzilla.gnome.org/show_bug.cgi?id=763460
14286
14287 2016-04-01 14:00:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14288
14289         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14290           decoder: vp9: Align with the ABI changes in vp9 codecparser
14291           The subsampling_x, subsampling_y, bit_depth, color_space and color_range
14292           fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
14293           These fields are only present in keyframe or intra-only frame, no need to
14294           duplicate them for inter-frames.
14295           https://bugzilla.gnome.org/show_bug.cgi?id=764082
14296
14297 2016-04-01 13:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14298
14299         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14300           decoder: vp9 : Add 10bit decoding support (Profile2)
14301           https://bugzilla.gnome.org/show_bug.cgi?id=764082
14302
14303 2016-04-01 13:57:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14304
14305         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14306         * gst-libs/gst/vaapi/gstvaapiprofile.h:
14307           gstvaapiporfile: Add more VP9 profile definitions
14308           https://bugzilla.gnome.org/show_bug.cgi?id=764082
14309
14310 2016-02-03 20:34:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14311
14312         * Makefile.am:
14313         * configure.ac:
14314           build: possibility to disable tests
14315           The configuration option --disable-examples will disable the compilation of
14316           the sample apps in tests/ directory.
14317
14318 2016-03-29 14:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14319
14320         * gst/vaapi/gstvaapiencode_h264.c:
14321         * gst/vaapi/gstvaapiencode_h265.c:
14322         * gst/vaapi/gstvaapiencode_jpeg.c:
14323         * gst/vaapi/gstvaapiencode_mpeg2.c:
14324         * gst/vaapi/gstvaapiencode_vp8.c:
14325         * gst/vaapi/gstvaapipluginutil.h:
14326         * gst/vaapi/gstvaapisink.c:
14327           unify caps template for VAAPI encoders and decoders
14328           There is no difference in VAAPI surface caps between encoders and decoders.
14329           Thus, the patch makes a simplification by removing encoders specific caps and
14330           shares the same definition of VAAPI surfaces caps for all the elements.
14331
14332 2016-03-10 17:42:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14333
14334         * gst/vaapi/gstvaapidecode.c:
14335           vaapidecode: move gst_vaapidecode_negotiate() code
14336           With it we can remove a function declaration, making the code a bit
14337           more readable.
14338           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14339
14340 2016-03-29 13:50:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14341
14342         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
14343         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
14344         * gst/vaapi/gstvaapidecode.c:
14345           docs: generate vaapijpegdec documentation
14346           https://bugzilla.gnome.org/show_bug.cgi?id=764314
14347
14348 2016-03-30 14:37:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14349
14350         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14351           decoder: h265: Fix offset calculation when there is more than one vps/sps/pps present in codec_data
14352           The array_completeness, reserved bit and num_nal_units fields
14353           in HEVCDecoderConfigurationRecord will be present for each VPS/SPS/PPS array list,
14354           but not for each occurance of similar headers.
14355           https://bugzilla.gnome.org/show_bug.cgi?id=764274
14356
14357 2016-03-29 15:34:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14358
14359         * gst-libs/gst/vaapi/video-format.c:
14360           video-format: Keep the HW order preference while mapping to GstVideoFormats
14361
14362 2016-03-29 15:02:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14363
14364         * gst/vaapi/gstvaapidecode.c:
14365         * gst/vaapi/gstvaapipluginbase.c:
14366         * gst/vaapi/gstvaapipluginutil.c:
14367         * gst/vaapi/gstvaapipluginutil.h:
14368         * gst/vaapi/gstvaapivideomemory.c:
14369           gst/vaapi: keep precedence for NV12 over I420
14370           Use NV12 as default "assumption" format all over.
14371           NV12 is the default high priority format used my most of the
14372           vaapi-drivers.
14373
14374 2016-03-29 14:34:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14375
14376         * gst/vaapi/gstvaapidecode.c:
14377           vaapidecode: Use video format derived from decoded surface as default src pad format
14378           Use the surface format derived from first decoded surface
14379           to negotiate the downstream video format capabilities.
14380           https://bugzilla.gnome.org/show_bug.cgi?id=759181
14381
14382 2016-03-29 14:34:00 +0300  Scott D Phillips <scott.d.phillips@intel.com>
14383
14384         * gst-libs/gst/vaapi/gstvaapiimage.c:
14385         * gst-libs/gst/vaapi/video-format.c:
14386         * gst/vaapi/gstvaapidecode.c:
14387         * gst/vaapi/gstvaapipluginutil.h:
14388         * gst/vaapi/gstvaapisink.c:
14389           Add P010 video format support
14390           The P010 video format is the native format used by the vaapi intel driver
14391           for HEVCMain10 decode . Add support for planes and images of this video format.
14392           https://bugzilla.gnome.org/show_bug.cgi?id=759181
14393
14394 2016-03-27 09:11:00 +0000  Stephen <elfarto@elfarto.com>
14395
14396         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
14397           libs: x11: allows 30-bit colour depth
14398           The colour depth is clamped to 24 when it is not equal {15,16,24,32}. But this
14399           fails with the NVIDIA binary driver as it doesn't advertise a TrueColor visual
14400           with a depth of 24 (only 30 and 32). Allowing the depth to be 30, lets everything
14401           work as expected.
14402           https://bugzilla.gnome.org/show_bug.cgi?id=764256
14403
14404 2016-03-28 13:13:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14405
14406         * gst/vaapi/gstvaapivideometa_texture.c:
14407           gltextureupload: use an array for texture type
14408           Instead of using a single value for the texture type, use an array with 4
14409           elements, just as the GstVideoGLTextureUploadMeta, avoiding a buffer
14410           overflow.
14411           https://bugzilla.gnome.org/show_bug.cgi?id=764231
14412
14413 2016-03-24 15:09:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14414
14415         * gst/vaapi/gstvaapidecode.c:
14416         * gst/vaapi/gstvaapipluginbase.c:
14417           vaapidecode: Fix decide_allocation handling
14418           Set the already configured pool in decide_allocation query
14419           in cases where pool renegotiation is not required.
14420           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14421
14422 2016-03-24 15:09:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14423
14424         * gst/vaapi/gstvaapidecode.c:
14425           vaapidecode: Derive and save the decoded surface format
14426           After the decoding of first frame, try to extract the exact
14427           decoded surface format using vaDeriveImage and keep this
14428           as the format in decoded_info.
14429           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14430
14431 2016-03-24 15:08:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14432
14433         * gst/vaapi/gstvaapidecode.c:
14434         * gst/vaapi/gstvaapidecode.h:
14435         * gst/vaapi/gstvaapipluginbase.c:
14436         * gst/vaapi/gstvaapipluginbase.h:
14437         * gst/vaapi/gstvaapipostproc.c:
14438           Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed
14439           -- Maintaing decoded surface resoluton and actual display resoultion separately
14440           -- Before pushing every frames downstream, check for the requirement of pool negoation and
14441           output_state negotiation: This is needed to avoid multiple issuses with cropping,
14442           multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
14443           possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
14444           We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
14445           This is slight overhead, but safe enough. Optimization could be possible though.
14446           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14447
14448 2016-03-24 15:08:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14449
14450         * gst/vaapi/gstvaapidecode.c:
14451           vaapidecode: Delay the output format setting until we have a decoded surface
14452           This will help to consoidate the out caps negotiation to a single place,
14453           which will make the code simpler, allows to get the exact decoded format
14454           if needed and the selected chroma type too.
14455           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14456
14457 2016-03-24 13:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14458
14459         * gst/vaapi/gstvaapidecode.h:
14460           vaapidecode: GST_VAAPIDECODE macro is a cast
14461           This patch is the continuation of commit 1e1d3b1d because the function
14462           gst_vaapidecode_get_type() got undefined since then.
14463           Now, the macro GST_VAAPIDECODE is a simple cast to the GstVaapiDecode
14464           structure. The rest of the GObject handling macros were deleted too.
14465
14466 2016-03-24 13:34:18 +0200  Sebastian Dröge <sebastian@centricular.com>
14467
14468         * configure.ac:
14469           Back to development
14470
14471 === release 1.8.0 ===
14472
14473 2016-03-24 13:11:05 +0200  Sebastian Dröge <sebastian@centricular.com>
14474
14475         * ChangeLog:
14476         * NEWS:
14477         * configure.ac:
14478         * gstreamer-vaapi.doap:
14479           Release 1.8.0
14480
14481 === release 1.7.91 ===
14482
14483 2016-03-15 12:39:20 +0200  Sebastian Dröge <sebastian@centricular.com>
14484
14485         * ChangeLog:
14486         * NEWS:
14487         * configure.ac:
14488         * gstreamer-vaapi.doap:
14489           Release 1.7.91
14490
14491 2016-03-11 17:44:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14492
14493         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14494           decoder: h265: Fix offset calculation in codec_data parsing
14495           https://bugzilla.gnome.org/show_bug.cgi?id=762922
14496
14497 2016-03-09 20:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14498
14499         * gst/vaapi/gstvaapidecodebin.c:
14500           vaapidecodebin: don't handle jpeg decoding
14501           As JPEG decoder has been split and demoted, it cannot be handled by
14502           vaapidecodebin
14503           Added a fixme comment regarding the future removal of vaapidecode.
14504           https://bugzilla.gnome.org/show_bug.cgi?id=734093
14505
14506 2016-03-09 20:25:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14507
14508         * gst/vaapi/gstvaapidecode.c:
14509           vaapidecode: split out jpeg decoder
14510           Split, as a different element, the JPEG decoder.
14511           https://bugzilla.gnome.org/show_bug.cgi?id=734093
14512
14513 2016-03-09 18:41:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14514
14515         * gst/vaapi/gstvaapi.c:
14516         * gst/vaapi/gstvaapidecode.c:
14517         * gst/vaapi/gstvaapidecode.h:
14518           vaapidecode: register decoder with internal GType
14519           Don't expose the the vaapidecode GType, instead expose a function
14520           which will register element.
14521           This is the first step to split the decoder by codecs.
14522           https://bugzilla.gnome.org/show_bug.cgi?id=734093
14523
14524 2016-03-10 12:47:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14525
14526         * gst/vaapi/gstvaapidecode.c:
14527           vaapidecode: remove unused function declaration
14528           There is no need to pre-declare gst_vaapidecode_update_sink_caps(). And fixed
14529           code-style of the other pre-declared functions.
14530
14531 2016-03-09 18:58:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14532
14533         * docs/plugins/Makefile.am:
14534           build: git ignore gtkdoc generated files
14535
14536 2016-03-09 18:55:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14537
14538         * m4/Makefile.am:
14539           build: handle git ignore in m4 directory
14540
14541 2016-03-04 20:17:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14542
14543         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14544           vaapidecoder_h265: plug leak of h265 parsing info
14545           If something goes wrong while parsing, the info object is
14546           being leaked
14547           https://bugzilla.gnome.org/show_bug.cgi?id=763121
14548
14549 2016-03-04 20:17:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14550
14551         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14552           vaapidecoder_h264: plug leak of h264 parsing info
14553           If something goes wrong while parsing, the info object is
14554           being leaked
14555           https://bugzilla.gnome.org/show_bug.cgi?id=763121
14556
14557 2016-03-09 11:03:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
14558
14559         * gst/vaapi/gstvaapipluginutil.c:
14560           plugins: fix gstgl and vaapi memory leaks
14561           1\ Unref gl_display and gl_window as soon they are not needed.
14562           2\ Remove an unneeded display type check, since is handled by
14563           gst_vaapi_created_display_from_handle()
14564           3\ Unref vaapi's display if the display cannot be bind to a GL API.
14565           Modified-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14566           https://bugzilla.gnome.org/show_bug.cgi?id=763354
14567
14568 2016-03-09 14:13:24 +0900  Vineeth TM <vineeth.tm@samsung.com>
14569
14570         * gst-libs/gst/vaapi/gstvaapidisplay.c:
14571           vaapidisplay: Fix uninitialized value error for VA attribute
14572           https://bugzilla.gnome.org/show_bug.cgi?id=763362
14573
14574 2016-03-08 10:47:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14575
14576         * gst/vaapi/gstvaapidecode.c:
14577         * gst/vaapi/gstvaapiencode.c:
14578           plugins: proxy information from downstream caps
14579           Propagate to upstream the downstream information, such as fps, par, etc.
14580           This will fix several "getcaps" critical warnings in gst-validate.
14581           https://bugzilla.gnome.org/show_bug.cgi?id=763300
14582
14583 2016-03-04 10:51:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14584
14585         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14586           decoder: vp9: Assign values for profile and bit_depth from frame header
14587           bit_depth field has added only in VA-API 0.39.0, added version check.
14588
14589 2016-03-04 09:12:13 +0200  Sebastian Dröge <sebastian@centricular.com>
14590
14591         * Makefile.am:
14592           build: Dist gstreamer-vaapi.doap and configure.ac/autogen.sh
14593           https://bugzilla.gnome.org/show_bug.cgi?id=763067
14594
14595 === release 1.7.90 ===
14596
14597 2016-03-01 19:23:51 +0200  Sebastian Dröge <sebastian@centricular.com>
14598
14599         * ChangeLog:
14600         * NEWS:
14601         * configure.ac:
14602         * gstreamer-vaapi.doap:
14603           Release 1.7.90
14604
14605 2016-03-01 16:14:47 +0200  Sebastian Dröge <sebastian@centricular.com>
14606
14607         * configure.ac:
14608           configure: Use AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO to set release date
14609
14610 2016-03-01 11:35:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14611
14612         * gst/vaapi/gstvaapidecode.c:
14613           vaapidecode: intersect with filter in getcaps()
14614           In commit 6034734d I forgot to add the caps filter intersection in the
14615           getcaps() vmethod generating a regression when a capsfilter is set in the
14616           pipeline.
14617           This commit adds the caps filter intersection.
14618
14619 2016-02-29 11:55:27 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
14620
14621         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
14622           Add memset to initialize value for VAEncSliceParameterBufferJPEG
14623           https://bugzilla.gnome.org/show_bug.cgi?id=762850
14624
14625 2016-02-26 12:42:46 +0200  Sebastian Dröge <sebastian@centricular.com>
14626
14627         * common:
14628           Automatic update of common submodule
14629           From b64f03f to 6f2d209
14630
14631 2016-02-24 12:36:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14632
14633         * Makefile.am:
14634         * configure.ac:
14635         * m4/Makefile.am:
14636           build: add m4 directory
14637           Instead of rely on the automatic creation of m4 directory by aclocal, we
14638           already control it. Later we could create our own m4 scripts in order to
14639           unclutter configure.ac
14640           https://bugzilla.gnome.org/show_bug.cgi?id=762528
14641
14642 2016-02-23 10:55:02 +0200  Scott D Phillips <scott.d.phillips@intel.com>
14643
14644         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14645           decoder: hevc: Fill dependent slice segment headers while parsing
14646           Copy the data into the dependent slice segment header from the
14647           corresponding independent slice segment header during parsing.
14648           Previously the reference to the "previous" independent header was
14649           held through the parsing phase and then dereferenced during the
14650           decoding phase. This caused all dependent headers to be populated
14651           with the data of the AU's last independent header instead of the
14652           proper corresponding header.
14653           https://bugzilla.gnome.org/show_bug.cgi?id=762352
14654           Changes since v1:
14655           - Reworded commit message
14656
14657 2016-02-17 13:43:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14658
14659         * gst/vaapi/gstvaapidecode.c:
14660           vaapidecode: use video decoder getcaps()
14661           The usage of getcaps() vmethod is preferred than to handle manually the sink's
14662           caps query.
14663           In order to avoid function declarations, this patch moves the class_init()
14664           method to the end of the file.
14665
14666 2016-02-17 12:51:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14667
14668         * gst/vaapi/gstvaapipluginbase.c:
14669           plugins: remove deprecated code
14670           Since we are only supporting current GStreamer version, since 1.3
14671           gst_buffer_pool_config_add_option() checks if the option to add is
14672           already set. There is no need to do it ourselves.
14673
14674 2016-02-19 19:03:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14675
14676         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14677           vaapidecoder_h265: fix parsing of NALU aligned data
14678           Don't assume the whole buffer is a single NAL, instead look for the
14679           next start code in case there are multiple NALs per buffer.
14680           https://bugzilla.gnome.org/show_bug.cgi?id=762328
14681
14682 2016-02-19 11:10:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14683
14684         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14685           vaapidecoder_h264: fix parsing of NALU aligned data
14686           Don't assume the whole buffer is a single NAL, instead look for the
14687           next start code in case there are multiple NALs per buffer.
14688           https://bugzilla.gnome.org/show_bug.cgi?id=762328
14689
14690 2016-02-18 10:13:53 +0900  Vineeth TM <vineeth.tm@samsung.com>
14691
14692         * gst/vaapi/gstvaapisink.c:
14693           vaapisink: Fix event,pad,structure memory leaks
14694           https://bugzilla.gnome.org/show_bug.cgi?id=762229
14695
14696 2016-02-17 15:40:54 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
14697
14698         * gst/vaapi/gstvaapipluginbase.c:
14699           Add icamerasrc as dmabuf capable peer element
14700           icamerasrc is another gstreamer plugin using to capture RAW
14701           frames from camera device. It is based on libcamhal library.
14702           There are some properties available to control icamera behavior.
14703           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
14704           Tested & Reviewed: Zhu Haiyang <haiyang.zhu@intel.com>
14705           https://bugzilla.gnome.org/show_bug.cgi?id=759481
14706           Fixme: This is the similar workaround we done for v4l2src.
14707           The workaround will be removed once we fix #755072
14708
14709 2016-02-17 17:15:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
14710
14711         * gst/vaapi/gstvaapipluginbase.c:
14712           vaapipluginbase: Fix structure memory leak
14713           config structure is not being freed in all cases
14714           https://bugzilla.gnome.org/show_bug.cgi?id=762172
14715
14716 2016-02-17 17:20:08 +0900  Vineeth TM <vineeth.tm@samsung.com>
14717
14718         * gst/vaapi/gstvaapidecode.c:
14719           vaapidecode: Fix videocodec state memory leak
14720           When state is not NULL and either width/height of video info is 0, then state leaks
14721           https://bugzilla.gnome.org/show_bug.cgi?id=762173
14722
14723 2016-02-16 15:44:48 +0000  Tim-Philipp Müller <tim@centricular.com>
14724
14725         * gst/vaapi/gstvaapisink.c:
14726           vaapisink: post message for application for unhandled keyboard/mouse events
14727           Makes (most) keyboard shortcuts work in gst-play-1.0 when
14728           the video window has focus.
14729
14730 2016-02-16 08:48:43 +0900  Vineeth TM <vineeth.tm@samsung.com>
14731
14732         * gst/vaapi/gstvaapidecode.c:
14733           vaapidecode: Fix capsfeature memory leak
14734           https://bugzilla.gnome.org/show_bug.cgi?id=762116
14735
14736 2016-02-16 08:15:40 +0900  Vineeth TM <vineeth.tm@samsung.com>
14737
14738         * gst/vaapi/gstvaapisink.c:
14739           vaapisink: Fix capsfeature memory leak
14740           caps feature allocated is not being freeing in some cases
14741           https://bugzilla.gnome.org/show_bug.cgi?id=762111
14742
14743 2016-02-16 15:09:01 +0200  Sebastian Dröge <sebastian@centricular.com>
14744
14745         * configure.ac:
14746         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
14747         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
14748         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14749         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14750         * gst-libs/gst/vaapi/gstvaapifilter.c:
14751         * gst/vaapi/gstvaapidecodebin.c:
14752         * gst/vaapi/gstvaapipluginutil.c:
14753           vaapi: Fix various compiler warnings and disable -Wredundant-decls for now
14754
14755 2016-02-16 14:36:39 +0200  Sebastian Dröge <sebastian@centricular.com>
14756
14757         * configure.ac:
14758           configure: Fix setting of extra compiler warning flags
14759
14760 2016-02-15 18:00:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14761
14762         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
14763           libs: fix build error
14764           gst_vaapi_buffer_proxy_{acquire_handle,release_handle,finalize,class}
14765           functions are used only when libva's API version is greater than 0.36.0
14766           This patch guards those functions completely rather than just their
14767           content. The patch is a continuation of commit 38f8fea4
14768           Original-patch-by: Vineeth TM <vineeth.tm@samsung.com>
14769           https://bugzilla.gnome.org/show_bug.cgi?id=762055
14770
14771 2016-02-15 10:01:54 +0900  Vineeth TM <vineeth.tm@samsung.com>
14772
14773         * tests/simple-encoder.c:
14774           tests: simple-encoder: fix build error
14775           argument mismatch of gsize with 'long unsigned int'
14776           https://bugzilla.gnome.org/show_bug.cgi?id=762055
14777
14778 2016-02-04 10:16:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14779
14780         * gst/vaapi/gstvaapisink.c:
14781           vaapisink: Fix wrong caps advertising
14782           The get_caps() should only report the supported formats.
14783           https://bugzilla.gnome.org/show_bug.cgi?id=761147
14784
14785 2016-02-05 18:11:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14786
14787         * common:
14788           Automatic update of common submodule
14789           From e97c9bb to b64f03f
14790
14791 2016-02-03 19:07:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14792
14793         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
14794         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
14795         * gst/vaapi/gstvaapi.c:
14796         * gst/vaapi/gstvaapiencode_h264.c:
14797         * gst/vaapi/gstvaapiencode_h265.c:
14798         * gst/vaapi/gstvaapiencode_jpeg.c:
14799         * gst/vaapi/gstvaapiencode_mpeg2.c:
14800         * gst/vaapi/gstvaapiencode_vp8.c:
14801           rename encoders to vaapi{codec}enc
14802           Trying to comply with GStreamer's element names, this patch renames the
14803           encoders using the name format vaapi{codec}enc.
14804           In this way, the plugin documentation is linked correctly.
14805           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14806
14807 2016-02-03 18:42:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14808
14809         * configure.ac:
14810           Use new AG_GST_ARG_ENABLE_EXTRA_CHECKS #define
14811           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14812
14813 2016-02-03 18:02:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14814
14815         * configure.ac:
14816           build: remove vp9 parser check
14817           Since the VP9 parser was added in gst-plugins-bad 1.7.1 we can remove safely
14818           the check of the parser, as we did for the others.
14819           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14820
14821 2016-02-03 17:06:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14822
14823         * common:
14824         * configure.ac:
14825           Back to development
14826           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14827
14828 === release 1.6.0 ===
14829
14830 2016-02-03 16:53:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14831
14832         * configure.ac:
14833           Release 1.6.0
14834
14835 2016-02-03 16:45:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14836
14837         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
14838         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14839         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
14840           libs: fix compiler warnings
14841           After setting the release flags, the compiler warns about a couple
14842           initialized variables.
14843           Also marked a couple of set variables as unused, because they are only
14844           used for assertion.
14845           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14846
14847 2016-01-29 20:41:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14848
14849         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
14850         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
14851         * gst/vaapi/gstvaapidecode.c:
14852         * gst/vaapi/gstvaapidecodebin.c:
14853         * gst/vaapi/gstvaapiencode_h264.c:
14854         * gst/vaapi/gstvaapiencode_h265.c:
14855         * gst/vaapi/gstvaapiencode_jpeg.c:
14856         * gst/vaapi/gstvaapiencode_mpeg2.c:
14857         * gst/vaapi/gstvaapiencode_vp8.c:
14858         * gst/vaapi/gstvaapipostproc.c:
14859         * gst/vaapi/gstvaapisink.c:
14860           docs: update plugin documentation
14861           Update all the documentation of elements of the vaapi plugin.
14862           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14863
14864 2016-01-29 15:39:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14865
14866         * Makefile.am:
14867         * configure.ac:
14868         * docs/Makefile.am:
14869         * docs/plugins/Makefile.am:
14870         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
14871         * docs/plugins/gstreamer-vaapi-plugins.types:
14872         * docs/reference/Makefile.am:
14873         * docs/reference/plugins/Makefile.am:
14874         * docs/reference/plugins/plugins-sections.txt:
14875         * docs/reference/plugins/plugins.types:
14876         * docs/version.entities.in:
14877           resurrect gtk-doc machinery
14878           Our auto-generated documentation has been a bit neglected. This patch replaces
14879           the 'normal' gtk-doc with the one used in GStreamer, which is adapted for
14880           plugins, elements and libraries.
14881           This patch also re-enables documentation generation.
14882           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14883
14884 2016-01-28 19:35:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14885
14886         * ChangeLog:
14887         * Makefile.am:
14888         * autogen.sh:
14889         * configure.ac:
14890           use gst-common submodule
14891           This is 'the' big change in gstreamer-vaapi autoconf. Now it uses the official
14892           GStreamer common submodule.
14893           The documentation generation has been disable temporarily since it needs a
14894           major rework, which will be done in the following commit.
14895           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14896
14897 2016-01-25 16:06:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14898
14899         * .gitmodules:
14900         * common:
14901           add gst-common submodule
14902           Pointing to branch 1.6
14903           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14904
14905 2016-01-28 13:28:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14906
14907         * gstreamer-vaapi.doap:
14908           add doap descriptor
14909           DOAP (Description of a Project) is an RDF Schema and XML vocabulary to
14910           describe software projects, in particular free and open source software.
14911           The description is used in GStreamer as in many other open source projects.
14912           This patch adds the doap description of this project.
14913           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14914
14915 2016-02-03 11:50:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14916
14917         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
14918         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14919         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
14920         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
14921         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
14922         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
14923         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
14924         * gst-libs/gst/vaapi/gstvaapiimage.c:
14925         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
14926         * gst-libs/gst/vaapi/gstvaapipixmap.c:
14927         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
14928         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14929         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
14930           libs: humongous code style fix
14931           As part of the upstreaming process of gstreamer-vaapi into the GStreamer
14932           umbrella, we need to comply with the project's code style. This meant to
14933           change a lot of code.
14934           It was decided to use a single massive patch to update the code style.
14935           I would like to apologize with the original developers of this code because of
14936           the history breakage.
14937           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14938
14939 2016-02-03 11:04:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14940
14941         * gst-libs/gst/vaapi/gstvaapicontext.c:
14942         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14943         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
14944         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
14945         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
14946         * gst/vaapi/gstvaapivideomemory.c:
14947           libs: small refactors to enhance the code style
14948           As gst-indent generated ugly code in these cases, this patch changes the used
14949           idiomatic into other one.
14950           No functional changes were introduced.
14951           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14952
14953 2016-02-02 17:59:57 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14954
14955         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
14956         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
14957         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
14958         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14959         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14960         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
14961         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14962         * gst-libs/gst/vaapi/gstvaapidisplay.c:
14963         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14964         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14965         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
14966         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
14967         * gst-libs/gst/vaapi/gstvaapifilter.c:
14968         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
14969         * gst-libs/gst/vaapi/gstvaapisurface.c:
14970         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
14971         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
14972         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
14973         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
14974         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
14975         * gst-libs/gst/vaapi/gstvaapiwindow.c:
14976         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
14977           libs: small code style fixes
14978           This a set of small code style fixes detected as-is by gst-indent.
14979           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14980
14981 2016-02-02 17:50:19 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14982
14983         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
14984         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14985         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
14986         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
14987         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
14988         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
14989         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
14990         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
14991         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
14992           libs: trivial comment style fixes
14993           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14994
14995 2016-02-02 17:31:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14996
14997         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
14998         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
14999           libs: avoid gst-indent mess up
15000           Guard pieces of code to avoid gst-ident to mess up the following code.
15001           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15002
15003 2016-02-03 12:17:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15004
15005         * gst/vaapi/gstvaapidecode.c:
15006         * gst/vaapi/gstvaapidecodebin.c:
15007         * gst/vaapi/gstvaapipluginutil.c:
15008         * gst/vaapi/gstvaapisink.c:
15009         * gst/vaapi/gstvaapivideomemory.c:
15010           plugins: fix code style
15011           Minor code style changes by executing gst-indent in gst/vaapi directory.
15012           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15013
15014 2016-02-01 13:22:10 +0000  Tim-Philipp Müller <tim@centricular.com>
15015
15016         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15017         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15018           Fix some more compiler warning
15019           Two (false) compiler warnings about variables potentially
15020           being used uninitialized, and one about a variable being
15021           set but not used.
15022           https://bugzilla.gnome.org/show_bug.cgi?id=759192
15023
15024 2016-02-01 13:02:13 +0000  Tim-Philipp Müller <tim@centricular.com>
15025
15026         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15027         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
15028         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15029         * gst-libs/gst/vaapi/gstvaapifilter.c:
15030         * gst/vaapi/gstvaapidecode.c:
15031         * gst/vaapi/gstvaapipluginbase.c:
15032         * gst/vaapi/gstvaapipluginutil.c:
15033         * gst/vaapi/gstvaapipostproc.c:
15034         * tests/simple-encoder.c:
15035         * tests/test-filter.c:
15036           vaapi: fix 'ISO C90 forbids mixed declarations and code' compiler warnings
15037           Declare variables at the beginning of a code block, which
15038           is how it's done in GStreamer.
15039           https://bugzilla.gnome.org/show_bug.cgi?id=759192
15040
15041 2016-01-28 14:21:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15042
15043         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15044           decoder: vp9: Fix crop rectangle setting
15045           Align with software vp9dec behaviour: Add crop rectangle
15046           only if display_width/display_height is less than the
15047           frame_hdr->width/frame_hdr->height
15048
15049 2016-01-27 08:56:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15050
15051         * gst/vaapi/gstvaapidecode.c:
15052           vaapidecode: Fix renegotiation for resolution change
15053           Always renegotiate the pool if the immediate frame which going
15054           to be pushed has a different un-cropped resolution than the already
15055           configured one.
15056
15057 2016-01-29 15:51:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15058
15059         * gst/vaapi/gstvaapipluginbase.h:
15060           plugins: use the same pre-processor macro
15061           In gstvaapipluginbase.c we are using the macro USE_GST_GL_HELPERS to guard the
15062           code related with GstGL. Nonetheless, in gstvaapipluginbase.h we are using
15063           HAVE_GST_GL_GL_H macro in order to include the GstGLContext's header.
15064           We should use only one to be homogeneous. This patch sets USE_GST_GL_HELPERS
15065           in the header file.
15066           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15067
15068 2016-01-29 18:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15069
15070         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15071           decoder: update a deprecated function
15072           Somehow this didn't show up earlier, but gst_adapter_prev_timestamp() got
15073           deprecated since GStreamer 1.0.
15074           This patch replace it with gst_adapter_prev_pts()
15075           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15076
15077 2016-01-29 13:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15078
15079         * configure.ac:
15080           build: honor configure's cache
15081           The user might enable --config-cache when calling configure script. If so, our
15082           configuration variables will not be correctly calculated.
15083           This patch extracts the value of our variables either from the cache or from
15084           the operation result.
15085           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15086
15087 2016-01-28 19:12:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15088
15089         * configure.ac:
15090           build: use common version variables
15091           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15092
15093 2016-01-28 19:01:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15094
15095         * configure.ac:
15096           build: hard-code an unneeded macro
15097           That macro is required for EGL's dynamic module loading, but since
15098           gstreamer-vaapi doesn't creates dynamic modules, it is not required anymore.
15099           That code in gst-libs/gst/vaapi/gstvaapidisplay_egl.c should be removed.
15100           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15101
15102 2016-01-28 17:14:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15103
15104         * configure.ac:
15105           build: refactorization of dependency tracking
15106           This patch tries to avoid branching in configure.ac using a more functional
15107           approach in macros usage.
15108           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15109
15110 2016-01-29 12:34:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15111
15112         * configure.ac:
15113           build: check for OpenGL either GLX or EGL are requested
15114           Refactor some code in configure.ac to centralize $enable_opengl definition.
15115           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15116
15117 2016-01-28 16:55:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15118
15119         * configure.ac:
15120           build: indent and add square braces
15121           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15122
15123 2016-01-28 16:50:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15124
15125         * configure.ac:
15126           build: upgrade autotools version dependency
15127           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15128
15129 2016-01-29 11:14:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15130
15131         * configure.ac:
15132           build: enhance string comparisons
15133           Add a 'x' as a prefix in string comparisons to watch out for edge cases where
15134           the string is empty or undefined.
15135           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15136
15137 2016-01-28 14:29:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15138
15139         * configure.ac:
15140           build: remove unused variables
15141           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15142
15143 2016-01-27 19:00:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15144
15145         * configure.ac:
15146           build: remove check for old version of gstreamer
15147           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15148
15149 2016-01-27 17:55:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15150
15151         * configure.ac:
15152           build: remove GStreamer's parsers checks
15153           This patch removes almost all the parsers check since they are already in place,
15154           with the exception of the VP9 parser, since it was merged in Gstreamer 1.7.
15155           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15156
15157 2016-01-29 12:11:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15158
15159         * configure.ac:
15160         * gst/vaapi/Makefile.am:
15161           build: add gstreamer-pbutils dependency
15162           This dependency was added in gstvaapidecodebin with the call
15163           gst_missing_element_message_new().
15164           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15165
15166 2016-01-27 17:53:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15167
15168         * configure.ac:
15169           build: fix variable declaration
15170           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15171
15172 2016-01-27 17:47:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15173
15174         * gst-libs/gst/vaapi/Makefile.am:
15175           build: fix when HEVC decoder is disabled
15176           This a very pathological situation: when we have a HEVC encoder but not a HEVC
15177           decoder.
15178           The encoder needs functions that are only available when the decoder is
15179           enabled.
15180           This patch moves the utils functions into the generic sources, such as the
15181           rest of the utils.
15182           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15183
15184 2016-01-27 17:20:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15185
15186         * gst/vaapi/Makefile.am:
15187           build: remove unused EGL specific sources
15188           These Makefile variables are not used at all.
15189           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15190
15191 2016-01-27 17:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15192
15193         * gst/vaapi/Makefile.am:
15194           build: remove check for GStreamer 1.2
15195           Since we are working for current stable GStreamer 1.6
15196           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15197
15198 2016-01-26 11:49:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15199
15200         * gst/vaapi/gstvaapiparse.h:
15201           Remove more video parser crufts
15202           This header is not used anymore since it declares parsers that are
15203           already in GStreamer 1.6
15204           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15205
15206 2016-01-25 12:43:15 +0000  Tim-Philipp Müller <tim@centricular.com>
15207
15208         * configure.ac:
15209         * docs/reference/Makefile.am:
15210         * docs/reference/libs/Makefile.am:
15211         * docs/reference/libs/libs-docs.xml.in:
15212         * docs/reference/libs/libs-overrides.txt:
15213         * docs/reference/libs/libs-sections.txt:
15214           docs: remove library documentation which is non-public now
15215           https://bugzilla.gnome.org/show_bug.cgi?id=759192
15216
15217 2016-01-25 12:40:49 +0000  Tim-Philipp Müller <tim@centricular.com>
15218
15219         * Makefile.am:
15220         * configure.ac:
15221         * debian.upstream/Makefile.am:
15222         * debian.upstream/changelog.in:
15223         * debian.upstream/compat:
15224         * debian.upstream/control.in:
15225         * debian.upstream/copyright:
15226         * debian.upstream/gstreamer-vaapi-doc.install.in:
15227         * debian.upstream/gstreamer-vaapi.install.in:
15228         * debian.upstream/rules:
15229           Remove debian.upstream packaging
15230           https://bugzilla.gnome.org/show_bug.cgi?id=759192
15231
15232 2016-01-22 19:27:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15233
15234         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15235         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15236         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
15237         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15238         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15239         * gst/vaapi/gstcompat.h:
15240         * gst/vaapi/gstvaapi.c:
15241         * gst/vaapi/gstvaapidecode.c:
15242         * gst/vaapi/gstvaapiencode.c:
15243         * gst/vaapi/gstvaapipluginbase.c:
15244         * gst/vaapi/gstvaapipluginbase.h:
15245         * gst/vaapi/gstvaapipluginutil.c:
15246         * gst/vaapi/gstvaapisink.c:
15247           Remove old gst version guards
15248           As gstreamer-vaapi now only supports from GStreamer 1.6, this patch removes
15249           all the old GStreamer version guards.
15250           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15251
15252 2016-01-22 19:23:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15253
15254         * gst/vaapi/gstvaapiparse.c:
15255           Remove video parser crufts
15256           We forgot to remove gstvaapiparse.c when we removed all the videoparser
15257           machinery.
15258           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15259
15260 2015-12-09 19:52:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15261
15262         * docs/reference/libs/Makefile.am:
15263         * docs/reference/plugins/Makefile.am:
15264         * gst-libs/gst/vaapi/Makefile.am:
15265         * gst/vaapi/Makefile.am:
15266         * tests/Makefile.am:
15267           libs: remove versioning
15268           Since we don't install libraries anymore, it makes no sense to keep
15269           versioning them according to the gstreamer's version.
15270           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15271
15272 2015-12-09 16:59:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15273
15274         * configure.ac:
15275         * debian.upstream/Makefile.am:
15276         * debian.upstream/control.in:
15277         * debian.upstream/libgstvaapi-dev.install.in:
15278         * debian.upstream/libgstvaapi-drm.install.in:
15279         * debian.upstream/libgstvaapi-glx.install.in:
15280         * debian.upstream/libgstvaapi-wayland.install.in:
15281         * debian.upstream/libgstvaapi-x11.install.in:
15282         * debian.upstream/libgstvaapi.install.in:
15283         * gst-libs/gst/vaapi/Makefile.am:
15284         * tests/Makefile.am:
15285           libs: make libraries no installables
15286           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15287
15288 2015-12-09 15:37:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15289
15290         * debian.upstream/libgstvaapi-dev.install.in:
15291         * gst-libs/gst/vaapi/Makefile.am:
15292           Do not install libgstvaapi headers
15293           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15294
15295 2016-01-19 10:40:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15296
15297         * Makefile.am:
15298         * configure.ac:
15299         * patches/Makefile.am:
15300         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
15301         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
15302         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
15303         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
15304         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
15305         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
15306         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
15307         * patches/videoparsers/Makefile.am:
15308         * patches/videoparsers/series.frag:
15309           Remove videoparser patches
15310
15311 2015-12-09 15:18:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15312
15313         * Makefile.am:
15314         * configure.ac:
15315         * debian.upstream/libgstvaapi-dev.install.in:
15316         * pkgconfig/Makefile.am:
15317         * pkgconfig/gstreamer-vaapi-drm.pc.in:
15318         * pkgconfig/gstreamer-vaapi-glx.pc.in:
15319         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
15320         * pkgconfig/gstreamer-vaapi-x11.pc.in:
15321         * pkgconfig/gstreamer-vaapi.pc.in:
15322           Remove pkg-config files
15323           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15324
15325 2015-12-09 13:24:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15326
15327         * .gitmodules:
15328         * Makefile.am:
15329         * configure.ac:
15330         * ext/Makefile.am:
15331         * ext/codecparsers:
15332         * gst-libs/gst/Makefile.am:
15333         * gst-libs/gst/codecparsers/Makefile.am:
15334         * gst-libs/gst/vaapi/Makefile.am:
15335         * gst/vaapi/Makefile.am:
15336           Remove codecparsers submodule
15337           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15338
15339 2015-12-08 00:36:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15340
15341         * .gitmodules:
15342         * autogen.sh:
15343         * configure.ac:
15344         * debian.upstream/libgstvaapi.install.in:
15345         * ext/Makefile.am:
15346         * ext/libvpx/Makefile.am:
15347         * ext/libvpx/gstlibvpx.c:
15348         * ext/libvpx/gstlibvpx.h:
15349         * ext/libvpx/libgstcodecparsers_vpx.vers:
15350         * ext/libvpx/sources.frag:
15351         * ext/libvpx/upstream:
15352         * gst-libs/gst/codecparsers/Makefile.am:
15353         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
15354           Remove libvpx submodule
15355           We will be using upstream codecparsers always.
15356           No more internal libvpx !
15357
15358 2015-12-09 14:12:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15359
15360         * configure.ac:
15361           build: fix check for GstJpegParser
15362           Right now the local JPEG parser is always compiled because the check for the
15363           upstreamed version is broken: it looks for an non existent symbol:
15364           GstJpegImage.
15365           This patch changes that check for< GstJpegFrameHdr.
15366           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15367
15368 2015-10-28 09:56:46 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
15369
15370         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
15371           wayland: free the frame in frame_release_callback()
15372           This basically reverts 62c3888b76afc69f714a020957e8c5dd9d98f561 (wayland:
15373           decouple wl_buffer from frame).
15374           Otherwise the frame may be overwritten while it is still used by the
15375           compositer:
15376           The frame done callback (frame_done_callback()) is called, when the
15377           compositor is done processing the frame and hands it to the hardware.
15378           The buffer release callback (frame_release_callback()) is called when the
15379           buffer memory is no longer used.
15380           This can be quite some time later: E.g. if weston (with the DRM backend)
15381           puts the buffer on a hardware plane, then then buffer release callback is
15382           called when the kernel is done with the buffer. This is usually when the
15383           next frame is shown, so most likely after the frame done callback for the
15384           next frame!
15385           Since 70eff01d36a2870cbf06ffb91c2a941e8cb6b804 "wayland: sync() when
15386           destroy()" the mentioned possible leak should no longer be a problem, so
15387           reverting this change should cause no leaking buffers.
15388           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15389           https://bugzilla.gnome.org/show_bug.cgi?id=758848
15390           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15391
15392 2016-01-14 17:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15393
15394         * gst/vaapi/gstvaapipostproc.c:
15395           vaapipostproc: check ANY caps at transform_caps()
15396           When transforming downstream caps we should check for ANY caps from peer pad,
15397           otherwise we get a segmentation fault.
15398           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15399           https://bugzilla.gnome.org/show_bug.cgi?id=759893
15400
15401 2016-01-13 19:17:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15402
15403         * gst/vaapi/gstvaapisink.c:
15404           vaapisink: ignore frame if its upload failed
15405           When gst_vaapi_plugin_base_get_input_buffer() fail to copy the input buffer
15406           into a VAAPI buffer, the return value is GST_FLOW_NOT_SUPPORTED, and it was
15407           ignored by the vaapisink, leading to a segmentation fault.
15408           This patch ignores the frame that generated the GST_FLOW_NOT_SUPPORTED
15409           returned by gst_vaapi_plugin_base_get_input_buffer(), avoiding the
15410           segmentation fault, but doing and effort to continue rendering. This is
15411           the same behavior of ximagesink.
15412           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15413           https://bugzilla.gnome.org/show_bug.cgi?id=759332
15414
15415 2015-12-09 18:24:50 +0200  Joel Holdsworth <joel.holdsworth@vcatechnology.com>
15416
15417         * configure.ac:
15418           build: Don't ignore GST_PLUGIN_PATH_1_0 even if the directory doesn't exist yet
15419           https://bugzilla.gnome.org/show_bug.cgi?id=759184
15420
15421 2015-12-08 16:14:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15422
15423         * gst-libs/gst/vaapi/gstvaapicontext.c:
15424         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15425         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
15426         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
15427           Add 10 HEVC 10 bit decoding support
15428           Only supporting vaapidecode ! vaapisink combination for now.
15429           Missing dependencies:
15430           1: No support for P010 video format in GStreamer
15431           2: No support for P010 vaGetImage()/vaPutimage() in vaapi-intel-driver
15432           3: As a result of 1&2 , we have no support for Vaapi Video memory mapping
15433           through GstVideoMeta.
15434           Right now we only set chroma format (YUV420 with more than 8 bits per channel)
15435           for surface pool and keeping GST_VIDEO_FORMAT as ENCODED. The underlying format
15436           of the surfaces is implementation (driver) defined, which is P010.
15437
15438 2001-01-01 04:59:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15439
15440         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
15441         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
15442           gstvaapisurfacepool: Add new API to create surface pool based on chroma type
15443           This new API gst_vaapi_surface_pool_new_with_chroma_type() is for
15444           creating a new GstVaapiVideoPool of GstVaapiSurfaces with the specified
15445           chroam type and dimensions. The underlying format of the surfaces is
15446           implementation (driver) defined.
15447
15448 2015-12-07 19:06:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15449
15450         * gst-libs/gst/vaapi/gstvaapisurface.h:
15451         * gst-libs/gst/vaapi/gstvaapiutils.c:
15452           Add definitions for YUV420 with more than 8 bits per channel
15453
15454 2015-12-07 17:26:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15455
15456         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15457           gstvaapiporfile: Fix string representation of HEVCMain10 profile
15458
15459 2015-12-07 16:17:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15460
15461         * configure.ac:
15462           Bump version for development
15463
15464 === release 0.7.0 ===
15465
15466 2015-12-07 12:52:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15467
15468         * configure.ac:
15469           0.7.0
15470
15471 2015-12-07 12:49:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15472
15473         * NEWS:
15474           NEWS: Updates
15475
15476 2015-12-07 12:47:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15477
15478         * AUTHORS:
15479           AUTHORS: Update
15480
15481 2015-12-07 12:39:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15482
15483         * README:
15484           README: Update
15485
15486 2015-11-26 10:34:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15487
15488         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
15489           texture: detect GL version and use the proper API
15490           When receiving the texture from the application or the video sink, we must
15491           know it size and border. To query the texture the API has changed according to
15492           the OpenGL version used in the GL context of the application/vsink.
15493           This patch checks the current context API type and queries the texture
15494           according to this detected API.
15495           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15496           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15497
15498 2015-11-26 10:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15499
15500         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
15501           texture: check for expected target and format
15502           gst_vaapi_texture_glx_new_wrapped() only handles a GL_TEXTURE_2D target and
15503           formats GL_RGBA or GL_BGRA.
15504           This patch adds a debugging verification of those values.
15505           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15506           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15507
15508 2015-11-26 10:26:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15509
15510         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
15511         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
15512           libs: add gl3_bind_texture_2d()
15513           Since OpenGL3.1 removed the fixed pipelines[1] enabling 2D textures is not
15514           needed. In particular, the Intel's Mesa implementation complains if it is
15515           called.
15516           This patch add a new binding function for 2D textures, without enabling
15517           gl3_bind_texture_2d()[2].
15518           1. https://www.opengl.org/wiki/Fixed_Function_Pipeline
15519           2. https://www.opengl.org/wiki/Common_Mistakes#OOP_and_hidden_binding
15520           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15521           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15522
15523 2015-11-26 10:14:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15524
15525         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
15526         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
15527           libs: add gl_get_current_api()
15528           In order to know which OpenGL API use, we must detect the API type of current
15529           context. This patch adds the function gl_get_current_api() which returns the
15530           OpenGL API type.
15531           This function is an adaptation of gst_gl_context_get_current_gl_api() from
15532           GstGL.
15533           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15534           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15535
15536 2015-11-27 12:29:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15537
15538         * configure.ac:
15539         * gst-libs/gst/vaapi/Makefile.am:
15540           build: Add gmodule dependency for libgstvaapi_egl
15541           https://bugzilla.gnome.org/show_bug.cgi?id=756259
15542
15543 2015-11-27 14:24:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15544
15545         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
15546         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
15547         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
15548         * patches/videoparsers/series.frag:
15549           patches/videoparsers: h264: Disable passthorugh mode enabling
15550           This is a quick fix for regression introduced by the upstream
15551           commit e8908f5aeef952566f6bccde743c7735d3f8c6ef in h264 videoparser.
15552           The patch is disabling the passthrough mode, otherwise it will
15553           break multi-layer mvc stream parsing.
15554           https://bugzilla.gnome.org/show_bug.cgi?id=758656
15555
15556 2015-11-25 15:12:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15557
15558         * gst/vaapi/Makefile.am:
15559         * patches/videoparsers/Makefile.am:
15560         * patches/videoparsers/series.frag:
15561           build: add gsth265parse patches conditionally
15562           As gsth265parse was added in GStreamer 1.4, and gstreamer-vaapi still support
15563           GStreamer 1.2, the patching of gsth265parse must be conditional to the target
15564           GStreamer version.
15565           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15566           https://bugzilla.gnome.org/show_bug.cgi?id=755525
15567
15568 2015-11-25 15:11:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15569
15570         * gst/vaapi/Makefile.am:
15571           build: declare correctly parse lib built files
15572           This is a continuation of commit fc8a0d12
15573           When declaring BUILT_SOURCES, those files should not be distributed. This
15574           patch avoids the distribution of the generated source code.
15575           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15576           https://bugzilla.gnome.org/show_bug.cgi?id=755525
15577
15578 2015-11-24 17:14:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15579
15580         * ext/libvpx/sources.frag:
15581           build: libvpx: Add missing source file
15582
15583 2015-11-23 17:21:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15584
15585         * gst/vaapi/gstvaapipostproc.c:
15586           vaapipostproc: Correctly detect the caps change
15587           This is a quick fix for regression introuduced by the
15588           commit 757833230bc73b8e3b4e31649e4618ba802bea51
15589           With out this, the gst_vaapipostproc_create() will
15590           never get invoked.
15591           https://bugzilla.gnome.org/show_bug.cgi?id=758543
15592
15593 2015-11-18 20:48:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15594
15595         * ext/libvpx/Makefile.am:
15596         * ext/libvpx/sources.frag:
15597           build: libvpx: update the sources lists
15598           `make dist` broke since commit f06798 (libvpx: Update the submodule to
15599           libvpx-1.4.0) because the sources.frag does not contain all the module
15600           sources.
15601           This patch updates thoroughly the sources.
15602           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15603           https://bugzilla.gnome.org/show_bug.cgi?id=755525
15604
15605 2015-11-16 17:49:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15606
15607         * gst/vaapi/gstvaapipostproc.c:
15608           vaapipostproc: don't set caps change at first set
15609           When the source caps change, the filter is destroyed and recreated.
15610           Nonetheless, this happens every time the vaapipostproc starts, since the caps
15611           change detection algorithm does not take in consideration when the caps are
15612           set by first time.
15613           This patch intents to be an optimization, to avoid a useless filter
15614           destroy-creation cycle when the sources caps are set for first time.
15615           The new helper function video_info_update() is a refactorization to avoid
15616           duplicated code.
15617           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15618           https://bugzilla.gnome.org/show_bug.cgi?id=758007
15619
15620 2015-11-12 16:13:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15621
15622         * gst/vaapi/gstvaapipostproc.c:
15623           vaapipostproc: params video_info_changed() callers
15624           The signature is video_info_changed(old_vip, new_vip). Nonetheless the callers
15625           swapped the the order. This didn't raise problems since the comparison of both
15626           structures were not affected by its semantics.
15627           But still it would be better to fix this to keep the coherence of the code.
15628           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15629           https://bugzilla.gnome.org/show_bug.cgi?id=758007
15630
15631 2015-09-24 10:35:44 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15632
15633         * gst/vaapi/Makefile.am:
15634           build: declare real built files
15635           When runnig the `make dist` target from a clean tree, it fails because
15636           if could not find the copied files from codecparsers submodule.
15637           They weren't copied because they weren't declared as built sources.
15638           This patch removes the stamp mechanism and use the actual file list to copy
15639           as the built sources. Also it fixes the duplication of the parser files.
15640           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15641           https://bugzilla.gnome.org/show_bug.cgi?id=755525
15642
15643 2015-11-17 19:37:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15644
15645         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15646           decoder: vp9: Fix last/golden/altref frame index setting
15647           Always fill VADecPictureParameterBufferVP9 last/golden/altref indices
15648           based on what ever reference frame indices encoded in frame header.
15649
15650 2015-08-25 16:01:51 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15651
15652         * debian.upstream/rules:
15653           debian: remove custom parallel compilation
15654           In order to build a debian package with upstream source, the user should
15655           do
15656           ./autogen.sh
15657           cp -a debian.upstream debian
15658           debuild -eDEB_BUILD_OPTIONS="parallel=8" -us -uc -b
15659           The environment variable DEB_BUILD_OPTIONS="parallel=8" is the canonical
15660           way to make a parallel build (-j8 in this case).
15661           This commit removes the script in debian/rules that detects the number of
15662           cpus, requested by the environment variable DEBIAN_BUILD_NCPUS, which is not
15663           official in debian.
15664           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15665           https://bugzilla.gnome.org/show_bug.cgi?id=754087
15666
15667 2015-11-16 18:22:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15668
15669         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15670           decoder: vp9: Fix PTS calculation of cloned frames
15671
15672 2015-11-16 18:22:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15673
15674         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15675           decoder: vp9: Avoid unnecessary show_frame flag checking while doing picture output
15676           We always set GST_VAAPI_PICTURE_FLAG_SKIPPED for DECODE_ONLY frames and the
15677           gstvaapidecoder base calss is reponsible for handling those frames later on.
15678           No need for explicit verification of frame header's show_frame in order to
15679           do picture outputing.
15680
15681 2015-11-16 18:22:14 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15682
15683         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15684           decoder: vp9: Fix ref picture update while doing repeat frame
15685           Don't try to do frame decoding and reference picture update
15686           while receiving a vp9 frame having show_existing_frame flag
15687           set as TRUE.
15688
15689 2015-11-16 18:21:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15690
15691         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15692           decoder: vp9: Add repeat-frame display handling
15693           If vp9 frame header come up with show_existing_frame flag set,
15694           we should duplicate the existing decoded frame as current frame to
15695           be displayed.
15696
15697 2015-11-12 11:07:38 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15698
15699         * gst/vaapi/gstvaapidecodebin.c:
15700           vaapidecodebin: add me as element co-author
15701           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15702           https://bugzilla.gnome.org/show_bug.cgi?id=757957
15703
15704 2015-11-12 12:47:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15705
15706         * gst/vaapi/gstvaapidecodebin.c:
15707           vaapidecodebin: try to get display from decoder
15708           Rather than create a dummy display, if none has propagated as a context, we
15709           should try to get the one from vaapidecode.
15710           As the bin is already in READY state, the vaapidecode should be also in that
15711           state. That means that the contexts have been negotiated, and it should have
15712           already a display.
15713           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15714           https://bugzilla.gnome.org/show_bug.cgi?id=757957
15715
15716 2015-11-11 19:04:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15717
15718         * gst/vaapi/gstvaapidecodebin.c:
15719         * gst/vaapi/gstvaapidecodebin.h:
15720           vaapidecodebin: add postprocessor dynamically
15721           The former approach to left the bin unfinished has some problems: the context
15722           cannot be shared because the vaapidecode is unlinked in many cases, leading to
15723           creating a VADisplay twice.
15724           Initially the bin is fully functional, constructed as
15725           (-----------------------------------)
15726           |            vaapidecodebin         |
15727           |   (-------------)    (-------)    |
15728           |<--| vaapidecode |--->| queue |--->|
15729           |   (-------------)    (-------)    |
15730           (-----------------------------------)
15731           When the context is shared and the VADisplay has VPP capabilities, before
15732           changing to READY state, the bin is reconfigured dynamically, adding the
15733           vaapipostproc element afeter the queue:
15734           (--------------------------------------------------------)
15735           |                       vaapidecodebin                   |
15736           |   (-------------)    (-------)    (---------------)    |
15737           |<--| vaapidecode |--->| queue |--->| vaapipostproc |--->|
15738           |   (-------------)    (-------)    (---------------)    |
15739           (--------------------------------------------------------)
15740           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15741           https://bugzilla.gnome.org/show_bug.cgi?id=757957
15742
15743 2015-11-11 16:33:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15744
15745         * gst/vaapi/gstvaapidecodebin.c:
15746           vaapidecodebin: delay the bin configuration
15747           Delay the bin configuration until changing to READY state. This is because we
15748           should add the vaapipostproc element until the vaapidecode has emitted the
15749           HAVE_CONTEXT message, so de gst_bin_add() could set the context set to
15750           vaapipostproc.
15751           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15752           https://bugzilla.gnome.org/show_bug.cgi?id=757957
15753
15754 2015-11-13 19:39:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15755
15756         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15757           decoder: vp9: Add crop rectangle support.
15758           Set crop rectange if:
15759           There is display_width and display_height which is different from actual width/height
15760           or
15761           The changed resolution is less than the actual configured dimension of surfaces
15762
15763 2015-11-13 19:23:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15764
15765         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15766           decoder: vp9: Fix the context and surface pool reset for multi resolution video
15767           Unlike other decoders, vp9 decoder doesn't need to reset the
15768           whole context and surfaces for each resolution change. Context
15769           reset only needed if resolution of any frame is greater than
15770           what actullay configured. There are streams where a bigger
15771           resolution set in ivf header or webm header but actual resolution
15772           of all frames are less. Also it is possible to have inter-prediction
15773           between these multi resolution frames.
15774
15775 2015-11-13 18:58:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15776
15777         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15778           decoder: vp9: Fill the VADecPictureParameterBufferVP9 width/height from frame header
15779           Always fill width/height of VADecPictureParameterBufferVP9 from frame header.
15780           Preliminary fix for supproting multi resolution video decode.
15781
15782 2015-11-13 18:51:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15783
15784         * gst/vaapi/gstvaapidecode.c:
15785           vaapidecode: Add comments for corner case fixes and fix couple of indentations.
15786
15787 2015-11-13 18:41:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15788
15789         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15790           decoder: vp9: Set lossless flag from frame header
15791
15792 2015-11-13 18:40:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15793
15794         * ext/codecparsers:
15795           codecparsers: Update to gst-vaapi-branch d9f25
15796           d9f2527: codecparsers: vp9: Set lossless flag in frame header
15797
15798 2015-11-11 19:16:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15799
15800         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15801           libs: vp9: remove unused symbols
15802           clang complains about a couple variables and one label which were not
15803           used. This patch removes them.
15804           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15805           https://bugzilla.gnome.org/show_bug.cgi?id=757958
15806
15807 2015-11-10 19:00:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15808
15809         * ext/codecparsers:
15810           codecparsers: Update to gst-vaapi-branch da251bb
15811           da251bb: codecparsers: vp9: Optimize the memory allocation
15812           f5759f4: codecparsers: vp9: Fix the wrong memcpy of probability arrays
15813
15814 2015-11-05 12:58:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15815
15816         * gst/vaapi/gstvaapipluginbase.c:
15817         * gst/vaapi/gstvaapipluginbase.h:
15818           plugin: guard pointers to pad query functions
15819           Since gstreamer 1.4 is not required to have pad query functions if the query
15820           vmethods are used.
15821           This patch guards out the pad query functions for gstreamer < 1.4
15822           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15823           https://bugzilla.gnome.org/show_bug.cgi?id=757629
15824
15825 2015-11-05 12:39:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15826
15827         * gst/vaapi/gstvaapiencode.c:
15828           vaapiencode: use pad query vmethods
15829           GstVideoEncoder, the base class of vaapiencode, added support for pad queries
15830           as virtual methods since gstreamer 1.4. This patch enables those vmethods,
15831           while keeps support for previous versions of gstreamer.
15832           This patch is relevant since GstVideoEncoder takes care of other queries that
15833           we are currently ignoring.
15834           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15835           https://bugzilla.gnome.org/show_bug.cgi?id=757629
15836
15837 2015-10-28 13:01:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15838
15839         * gst/vaapi/gstvaapidecode.c:
15840           vaapidecode: return pad's template caps if no display
15841           A caps query can occur before the element has a display. In that case, the
15842           element can return its pad's template. But when the element already has a
15843           display, and the caps probe fails, the element shall return an empty caps, so
15844           the auto-plug could try with another decoder.
15845           If the element has a display and the caps probe works, then the computed caps
15846           should be returned.
15847           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15848           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15849
15850 2015-10-28 12:59:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15851
15852         * gst/vaapi/gstvaapidecode.c:
15853         * gst/vaapi/gstvaapisink.c:
15854           plugins: don't create display at caps query
15855           Caps query can happen before the element has a bus. The display creation should
15856           be should occur on the context negotiation, when the bus is already configured.
15857           Then at caps query no display should be created.
15858           Instead of force the display creation, we graciously fail the allowed_caps()
15859           creation.
15860           This change only applies for vaapidecode and vaapisink. The vaapipostroc, as a
15861           basetransform descendant, seems to be not affected by this, nor the encoders.
15862           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15863           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15864
15865 2015-11-04 21:38:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15866
15867         * gst/vaapi/gstvaapidecode.c:
15868         * gst/vaapi/gstvaapiencode.c:
15869         * gst/vaapi/gstvaapipluginutil.c:
15870         * gst/vaapi/gstvaapipluginutil.h:
15871         * gst/vaapi/gstvaapipostproc.c:
15872         * gst/vaapi/gstvaapisink.c:
15873           plugins: fix context query handling
15874           The current context query handling design is flawed: the function
15875           gst_vaapi_reply_to_query() returns FALSE either if the query is not a
15876           GST_CONTEXT_QUERY of if the query could not be handled correctly. But the
15877           pad query function should handle differently each case.
15878           This patch changes the gst_vaapi_reply_to_query() for
15879           gst_vaapi_handle_context_query() and changes it usage in all the vaapi plugins
15880           to match the correct context query handling.
15881           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15882           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15883
15884 2015-11-04 20:37:05 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15885
15886         * gst/vaapi/gstvaapipluginutil.c:
15887           plugin: don't lose previous context at query
15888           When processing the GST_CONTEXT_QUERY we should not lose the previous
15889           context in the query, we should only add our display structure.
15890           This patch copies the old context, if it is there, and stamp our display on
15891           it. Otherwise, a new context is created.
15892           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15893           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15894
15895 2015-11-04 20:29:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15896
15897         * gst/vaapi/gstvaapivideocontext.c:
15898         * gst/vaapi/gstvaapivideocontext.h:
15899           vaapivideocontext: add gst_vaapi_video_context_set_display()
15900           This function set the display to an already created context. This function is
15901           going to be used later.
15902           Also, gst_vaapi_video_context_new_with_display() now uses this function.
15903           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15904           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15905
15906 2015-10-30 12:27:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15907
15908         * gst/vaapi/gstvaapipluginutil.c:
15909         * gst/vaapi/gstvaapivideocontext.c:
15910         * gst/vaapi/gstvaapivideocontext.h:
15911           plugins: check if display is set in sync
15912           Since the context messages are sync'ed, the display assignation happens in the
15913           same thread, hence we can know if the display was found or not as soon we call
15914           for it.
15915           In order to take advantage of it, gst_vaapi_video_context_prepare() receives,
15916           as a new parameter, the address of the plugin's display, and reports back if
15917           the display was found and set.
15918           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15919           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15920
15921 2015-10-30 12:33:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15922
15923         * gst/vaapi/gstvaapipluginutil.c:
15924         * gst/vaapi/gstvaapivideocontext.c:
15925           plugins: set display through context
15926           Instead of setting the display to the plugin directly after its creation, do
15927           it through the gstreamer's context mechanism, avoiding double assignations.
15928           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15929           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15930
15931 2015-11-02 18:20:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15932
15933         * gst/vaapi/gstvaapivideocontext.c:
15934           vaapivideocontext: rename context structure
15935           The context structure is named "display" which is too generic. The contrary
15936           happens, for example, with GstGL, what uses the same name as the context, and
15937           its logs make more sense.
15938           This patch renames the context structure with the same name as the
15939           context, thus GST_PTR_FORMAT can pretty print it.
15940           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15941
15942 2015-11-04 19:02:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15943
15944         * gst/vaapi/gstvaapivideocontext.c:
15945           vaapivideocontext: refactor gst_vaapi_video_context_prepare()
15946           First, refactorized run_context_query() into _gst_context_run_query(), adding
15947           a new parameter: the pad direction, in order to simplify the code.
15948           Second, added a new helper function: _gst_context_query(), which is a generic
15949           context query function.  It isolates the operation of running the query and
15950           sets the context if found, also it enhances the logs.
15951           _gst_context_query() is similar to the one used in GstGL. Perhaps, in the
15952           future this helper function will be merged into the core libraries of
15953           GStreamer.
15954           Finally, gst_vaapi_video_context_prepare() was rewritten to use
15955           _gst_context_query().
15956           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15957           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15958
15959 2015-10-30 11:18:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15960
15961         * gst/vaapi/gstvaapivideocontext.c:
15962           vaapivideocontext: refactor context category debug
15963           Refactor the extraction GST_CAT_CONTEXT logging using a only once
15964           initializator, so we could get the debug category from different code
15965           paths, safely.
15966           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15967           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15968
15969 2015-10-23 11:17:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15970
15971         * gst/vaapi/gstvaapivideocontext.c:
15972           gstvaapivideocontext: fix indentation
15973           gst-indent does not handle correctly some expression like function
15974           declaration with attributes, breaking the following expressions.
15975           This patch makes gst-indent to ignore the attributed function
15976           declartion so the followed function definition is not mangled, such
15977           as happened in commit b4154a
15978           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15979           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15980
15981 2015-11-02 16:48:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15982
15983         * gst/vaapi/gstvaapipluginbase.c:
15984           plugin: chain up set_context() vmethod
15985           Since Gstreamer 1.7, set_context() vmethod needs to be chained up with
15986           the parent class in order to broadcast all its contexts when the element
15987           is added into a bin:
15988           http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=d5ded1588920c4471eefe055d09095d9e5e989b5
15989           There is no need to guard the call, because before GStreamer 1.7, the
15990           set_context() vmethod was NULL in the element class, hence the conditional
15991           call make it safe.
15992           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15993           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15994
15995 2015-11-06 10:20:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15996
15997         * tests/simple-encoder.c:
15998           tests: simple-encoder: remove dead code
15999           The caps creation for codec state configuration is not used. Let's remove it.
16000           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16001
16002 2015-11-02 19:05:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16003
16004         * gst/vaapi/gstvaapidecodebin.c:
16005           vaapidecodebin: fix a leaked display instance
16006           The display returned by gst_vaapi_video_context_get_display() increments the
16007           references. Thus, we have to unref the returned display.
16008           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16009           https://bugzilla.gnome.org/show_bug.cgi?id=757595
16010
16011 2015-11-04 16:50:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16012
16013         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
16014         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
16015           libs: remove unneeded headers
16016           Since gstvaapidisplay_glx.h do not expose gl.h/glx.h structures, it is not
16017           required to include them in the header. It is not also required to include
16018           them in gstvaapidisplay_glx.c, since gstvaapiutils_glx.h includes them and
16019           exposes their structures (e.g. GLXPixmap).
16020           Nonetheless, glext.h neither glxext.h are required to include, they are
16021           already included conditionally by gl.h and glx.h, respectively.
16022           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16023           https://bugzilla.gnome.org/show_bug.cgi?id=757577
16024
16025 2015-11-06 19:18:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16026
16027         * ext/codecparsers:
16028           codecparsers: Update to gst-vaapi-branch 0ea6792
16029           0ea6792: codecparsers: vp9: Add header comments
16030           347ffc7: codecparsers: vp9: Use g_slice_free() for releasing memory allocated from the slice allocator
16031
16032 2015-11-06 15:19:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16033
16034         * gst/vaapi/gstvaapidecode.c:
16035           VP9: plugins: Add VP9 decoder
16036
16037 2015-11-06 15:12:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16038
16039         * gst-libs/gst/vaapi/Makefile.am:
16040         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16041         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
16042           VP9: libgstvaapi: Add VP9 decoder
16043
16044 2015-11-06 14:57:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16045
16046         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16047         * gst-libs/gst/vaapi/gstvaapiprofile.h:
16048           VP9: gstvaapiprofile: Add profile definitions
16049
16050 2015-11-06 14:39:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16051
16052         * configure.ac:
16053           VP9: build: Check availability of vp9 decoder APIs
16054
16055 2015-11-06 14:24:08 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16056
16057         * configure.ac:
16058         * ext/Makefile.am:
16059         * gst-libs/gst/codecparsers/Makefile.am:
16060           VP9: Allow building vp9 codecparser internally
16061
16062 2015-11-06 12:38:46 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16063
16064         * ext/codecparsers:
16065           codecparsers: Update to gst-vaapi-branch commit ac5dc1a
16066           ac5dc1a: codecparsers: vp9: Add vp9 codec parser
16067           e7d9217: codecparser: h264: initialize parsing structures
16068           403d400: codecparser: h265: initialize parsing structures
16069
16070 2015-11-04 15:37:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16071
16072         * configure.ac:
16073           configure.ac: don't use an undefined variable
16074           If the environment lacks of gstreamer development packages, this error will
16075           be reported to the user: "gstreamer- was not found"
16076           This is because we are using an undefined variable in the printed message. The
16077           fix simple changes the variable for the hard-coded string "1.0".
16078           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16079           https://bugzilla.gnome.org/show_bug.cgi?id=757283
16080
16081 2015-10-16 15:55:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16082
16083         * gst/vaapi/gstvaapidecode.c:
16084           vaapidecode: relax guards for memory:VASurface capsfeature
16085           Though caps features are supported since GStreamer 1.2, there are some
16086           issues with the features caps negotiation in that version. Nonetheless,
16087           those issues are fixed in GStreamer 1.4. So, the memoy:VASurface caps
16088           feature negotiation is relaxed for GStreamer 1.4.
16089           The guard is the same as in vaapisink's caps template.
16090           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16091           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16092
16093 2015-10-15 18:18:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16094
16095         * gst/vaapi/gstvaapidecode.c:
16096           vaapidecode: decide allocation doesn't update srccaps
16097           The received caps query will bring the already negotiated caps, so they are
16098           not expected to change.
16099           This patch removes this verification which is dead code path.
16100           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16101           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16102
16103 2015-10-14 20:30:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16104
16105         * gst/vaapi/gstvaapidecode.c:
16106         * gst/vaapi/gstvaapipluginutil.c:
16107         * gst/vaapi/gstvaapipluginutil.h:
16108           vaapidecode: use caps to check the features
16109           Instead of calling gst_vaapi_find_preferred_caps_feature(), which is
16110           expensive, we check the caps from the allocation query, to check the
16111           negotiated feature.
16112           In order to do this verification a new utility function has been implemented:
16113           gst_vaapi_caps_feature_contains().
16114           As this new function shared its logic with gst_caps_has_vaapi_surface(), both
16115           have been refactorized.
16116           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16117           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16118
16119 2015-10-14 20:22:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16120
16121         * gst/vaapi/gstvaapidecode.c:
16122           vaapidecode: set format before decide allocation
16123           There is a regression from commit 3d8e5e. It was expected the buffer pool
16124           allocation occur before the caps negotiation, but it is not.
16125           This patch fixes this regression: the caps negotiation is done regardless the
16126           allocation query from downstream.
16127           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16128           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16129
16130 2015-10-16 20:21:50 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
16131
16132         * configure.ac:
16133           build: check for patch and fix yasm check
16134           Add configure checking for GNU patch tools and fixed configure
16135           checking YASM to correct sequence.
16136           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
16137           https://bugzilla.gnome.org/show_bug.cgi?id=756690
16138
16139 2015-10-15 19:20:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16140
16141         * ext/libvpx/Makefile.am:
16142           build: Remove disable-md5 option for libvpx build
16143           The configure option --disable-md5 was provided in libvpx-1.3.0 which
16144           has been removed in 1.4.0.
16145
16146 2015-10-15 19:00:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16147
16148         * ext/libvpx/upstream:
16149           libvpx: Update the submodule to libvpx-1.4.0
16150           libvpx git commit: c74bf6d889992c3cabe017ec353ca85c323107cd
16151
16152 2015-10-15 10:59:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16153
16154         * configure.ac:
16155           configure: mark support for GStreamer 1.2 as obsolete.
16156           Support for GStreamer 1.2 is obsolete. i.e. it is no longer supported.
16157           Our goal is to support the last two stable versions of GStreamer which
16158           are 1.4 and 1.6 at the moment.
16159           We still keep the 1.2 specific codes until the next gstreamer-vaapi-0.7
16160           release and will get rid of those in 0.8.
16161
16162 2015-10-12 14:13:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16163
16164         * gst/vaapi/gstvaapidecode.c:
16165           vaapidecode: Fix buffer copy assertion
16166           Don't try to copy the NULL buffer-codec_data.
16167
16168 2015-09-28 14:57:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16169
16170         * configure.ac:
16171           build: allow builds against GStreamer 1.7.x
16172           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16173
16174 2015-09-23 16:02:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16175
16176         * gst/vaapi/gstcompat.h:
16177           gstcompat: add gst_buffer_copy_deep() if gst < 1.5
16178           gst_buffer_copy_deep() was added in GStreamer 1.5. If want to use it we should
16179           add an implementation if gstreamer-vaapi is linked to previous versions.
16180           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16181
16182 2015-09-23 12:13:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16183
16184         * gst/vaapi/gstvaapidecode.c:
16185           vaapidecode: simplify copy of GstVideoCodecState
16186           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16187
16188 2015-09-14 19:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16189
16190         * patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch:
16191         * patches/videoparsers/series.frag:
16192           patches/videoparsers: h265parser: more API fences
16193           Add more API fences according with its version and refresh the patch.
16194           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16195           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16196
16197 2015-09-14 19:19:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16198
16199         * patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch:
16200         * patches/videoparsers/series.frag:
16201           patches/videoparsers: h265parser: rename patch keeping number
16202           Refresh the patch and rename it in order to keep the patch number.
16203           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16204           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16205
16206 2015-09-14 19:18:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16207
16208         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16209           patches/videoparsers: h264parser: more API fences and refresh
16210           Add more API fences according with its version and refresh the patch.
16211           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16212           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16213
16214 2015-09-14 19:16:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16215
16216         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
16217         * patches/videoparsers/series.frag:
16218           patches/videoparsers: h264parser: fix description and refresh
16219           Fix a typo in the patch description and refresh it in order to avoid the
16220           creation of .orig files and break the distcheck target.
16221           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16222           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16223
16224 2015-09-14 19:15:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16225
16226         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
16227         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
16228           patches/videoparsers: h264parser: refresh patches
16229           In order to avoid the creation of .orig files and break the distcheck target.
16230           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16231           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16232
16233 2015-09-15 16:53:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16234
16235         * gst/vaapi/Makefile.am:
16236           build: link libgstvaapi_parse against codec parser
16237           GST_CODEC_PARSER_* variables are defined if builtin codec parsers are disabled
16238           when running configure.
16239           Right now, libgstcodecparsers links only to libgstvaapi, but libgstvaapi_parse
16240           need it if builtin codec parsers are disabled.
16241           This patch adds GST_CODEC_PARSER_* variables to libgstvaapi_parse
16242           compilation. If builtin codec parsers are enable, this variable is null, so it
16243           should work using libgstvaapi, as normal.
16244           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16245           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16246
16247 2015-09-11 16:35:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16248
16249         * configure.ac:
16250           build: verify for H264 MVC and H265 SPS
16251           Currently the H264 and H265 parsers look for MVC and SPS respectively, and
16252           the required symbols for those were added in GStreamer 1.5
16253           If we try to compile in GStreamer < 1.4, without enabling the builtin codec
16254           parsers, the compilation fails, because the lack of those symbols.
16255           This patch verifies if the installed H264 and H265 parsers have those symbols. If
16256           they do not, the specific built in codec parsers are enabled and used.
16257           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16258           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16259
16260 2015-09-11 16:49:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16261
16262         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16263           decoder: h264: initialize PPS's slice_group_id
16264           When the GstVaapiParserInfoH264 is allocated, the memory is not initialized,
16265           so it contains random data.
16266           When gst_h264_parser_parse_pps() fails, the PPS structure keeps slice_group_id
16267           pointer uninitialized, leading to a segmentation fault when the memory is
16268           freed.
16269           This patch prevents this by initializing the slice_group_id before the PPS
16270           parsing.
16271           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16272           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16273
16274 2015-09-15 11:01:29 +0300  Mark Nauwelaerts <mnauw@users.sourceforge.net>
16275
16276         * gst/vaapi/gstvaapidecode.c:
16277           vaapidecode: proper numerator and denominator for forced latency framerate
16278           https://bugzilla.gnome.org/show_bug.cgi?id=755040
16279
16280 2015-09-11 20:51:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16281
16282         * ext/codecparsers:
16283           codecparsers: Update to gst-vaapi-branch commit f9e284b
16284           dae1a84: h264parse/h265parse: Fix negotiation crash
16285           45a9f8a: codecparsers: h265 : Fix default scaling list values
16286           28eaaf5: codecparsers: h265: Fix the selection of Active Ref Pic Set
16287           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16288
16289 2015-09-04 22:19:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16290
16291         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16292           decoder: hevc: Don't flush dpb for EOS/EOB nal
16293           Explicit flushing of dpb for EOS and EOB nal decoding is wrong,
16294           the dpb_add() itself will handle the flusing(if needed) of dpb
16295           for end of sequence and end of bitstream.
16296           https://bugzilla.gnome.org/show_bug.cgi?id=754010
16297
16298 2015-09-04 22:11:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16299
16300         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16301           decoder: hevc: Fix the dpb_add() based on C.5.2.3
16302           Follow the spec as it is in C.5.2.3, add the decoded frame to dpb
16303           just after the PicLatencyCnt setting of existing dpb frames.
16304           https://bugzilla.gnome.org/show_bug.cgi?id=754010
16305
16306 2015-09-04 22:02:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16307
16308         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16309           decoder: hevc: Fix the picture addition in dpb() based on spec H265 v3 (04/2015)
16310           This fix is based on the V3 vesion of spec which was missing in older versions.
16311           When the current picture has PicOutputFlag equal to 1, for each picture in the
16312           DPB that is marked as "needed for output" and follows the current picture in output order,
16313           the associated variable PicLatencyCount is set equal to PicLatencyCount + 1 (C.5.2.3).
16314           https://bugzilla.gnome.org/show_bug.cgi?id=754010
16315
16316 2015-09-04 22:00:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16317
16318         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16319           decoder: h265: Fix indentation
16320
16321 2015-06-13 01:39:31 +1000  Jan Schmidt <jan@centricular.com>
16322
16323         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16324         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16325         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
16326         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16327         * gst/vaapi/gstvaapidecode.c:
16328         * gst/vaapi/gstvaapipluginutil.c:
16329           multiview: initial attempt at stereo/multiview support
16330           Add support for marking caps and buffers for multiview or
16331           stereoscopic output.
16332           https://bugzilla.gnome.org/show_bug.cgi?id=750835
16333
16334 2015-08-28 17:12:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16335
16336         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16337           decoder: hevc: remove unused functions
16338           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16339           https://bugzilla.gnome.org/show_bug.cgi?id=754250
16340
16341 2015-08-31 13:11:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16342
16343         * gst/vaapi/gstvaapidecode.c:
16344           vaapidecode: remove (another) unused variable
16345           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16346
16347 2015-08-28 17:10:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16348
16349         * gst/vaapi/gstvaapidecode.c:
16350           vaapidecode: remove unused variable
16351           Thus silence the compilation warnings.
16352
16353 2015-08-28 16:06:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16354
16355         * gst/vaapi/gstvaapidecode.c:
16356           vaapidecode: compilation fix
16357           gst_vaapi_decoder_state_changed() returns void. This patch fixes the
16358           compilation where the toolchain uses restrictive flags as clang.
16359           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16360
16361 2015-08-29 00:27:05 +0300  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16362
16363         * gst/vaapi/gstvaapidecode.c:
16364           vaapidecode: renegotiate if caps are not equal
16365           The use of gst_caps_is_always_compatible() for this optimization may lead to
16366           false positives. It is better to stick to gst_caps_is_strictly_equal() to know
16367           if it is required a re-negotiation.
16368           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16369           https://bugzilla.gnome.org/show_bug.cgi?id=750835
16370
16371 2015-08-29 00:18:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16372
16373         * gst/vaapi/gstvaapidecode.c:
16374         * gst/vaapi/gstvaapidecode.h:
16375           vaapidecode: Rework the re-negotiation code to handle multi resoultion videos
16376           Delaying the pool re-negotiation untill we push all decoded (and queued)
16377           frames downstream. Otherwise for the multi-resolution videos, the
16378           GstVideoVideoMemory will be having wrong resolution and which leads
16379           to nasty behaviours, especially when using software renderers.
16380           sample media file: RAP_B_Bossen_1.bin
16381           case explained:
16382           The first SPS Nal will report resoultion of 448x256 and having crop rectangles to
16383           get the final resoultion 416x240.
16384           Starting from 25 th frame, the resolution will change to 416x240. But parser
16385           elements won't report this since the effective croped resolution is same in
16386           both cases. Here the core libgstvaapi will detect this through it's internal
16387           parsing and do all context/pool destory/reset stuffs. Also it will notify this
16388           change to plugins in advance. But if the plugin try to do re-negotiaion of pool
16389           immediately, this will not sync with the resolution of already decoded and queued
16390           frames and which will lead to failure in gst_video_frame_map() in downstream(if we use the
16391           software renderer). So we have to delay the pool renegotiation in vaapidecode,
16392           untill we push all decoded frames downstream.
16393           https://bugzilla.gnome.org/show_bug.cgi?id=753914
16394
16395 2015-08-28 23:43:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16396
16397         * gst/vaapi/gstvaapidecode.c:
16398           vaapidecode: Always keep a copy of input codec state
16399           Currently we are sharing the input GstVideoCodecState with
16400           GstVaapiDecoder(gst-libs/gst/vaapi) by just doing ref and unref for
16401           each caps change. This is troublesome in many cases, for eg: if
16402           resoultion changes with in a singe stream. Because, when ever there
16403           is a resolution change, GstVideoDecoder will first change the Codec_state->caps
16404           fields with new resolution, but since we are using the same codecstate (ref)
16405           in gstvaapidecode.c, the caps check for input caps change will always fail.
16406           https://bugzilla.gnome.org/show_bug.cgi?id=753914
16407
16408 2015-08-26 07:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16409
16410         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16411           decoder: hevc: Fix the scaling list scan order
16412           The default scan order of scaling lists are up-right-diagonal
16413           as per hevc specification. Use the newly implemented
16414           uprightdiagonal_to_raster conversion codecparser APIs to
16415           get the the scaling_list values in raster order, which is
16416           what the VA intel driver requires.
16417
16418 2015-08-26 07:20:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16419
16420         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16421           decoder: hevc: sync with the codecparser changes
16422           The Tile Scanning Conversion process (spec 6-3 and 6-4) is implemented
16423           in codecparsers now. Remove the duplication from gstvaapidecoder_h265
16424
16425 2015-08-26 07:04:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16426
16427         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16428           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
16429
16430 2015-08-26 06:57:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16431
16432         * ext/codecparsers:
16433           codecparsers: Update to gst-vaapi-branch commit 69550f1
16434           c207c6d: codecparsers: h265: Fix tile row and column parsing
16435           47074c5: codecparsers: h265: Add APIs for up-right-diagonal/raster scan conversion
16436           cd28b18: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
16437           1746bbe: videoparsers: Use gst_base_parse_merge_tags()
16438           2f0932b: h264parse: Clear SPS info after processing
16439           f57d6b0: videoparsers: enable accept-template flag
16440
16441 2015-08-25 15:38:42 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16442
16443         * debian.upstream/control.in:
16444           debian: add yasm as build dependency
16445           As the compilation of libvpx (for vp8 parser) is enabled by default,
16446           yasm is required by default too.
16447           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16448
16449 2015-08-14 19:21:04 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
16450
16451         * debian.upstream/rules:
16452           debian: remove --with-gstreamer-api option
16453           It is no longer valid in gstreamer-vaapi.
16454           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
16455           [removed unused GST_API_VERSION variable]
16456           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16457           https://bugzilla.gnome.org/show_bug.cgi?id=753618
16458
16459 2015-08-24 19:22:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16460
16461         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16462           wayland: rename is_cancelled to sync_failed
16463           Since commit 065a18a3, the semantics of the variable is_cancelled did not make
16464           sense. This commit renames this variable to sync_failed.
16465
16466 2015-08-13 15:12:44 -0400  Olivier Crete <olivier.crete@collabora.com>
16467
16468         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16469           wayland: Don't return GST_FLOW_ERROR on flushing
16470           Setting the sink to flushing causes gst_vaapi_window_wayland_sync() to
16471           return FALSE which makes gst_vaapi_window_wayland_render() return
16472           FALSE which ends up posting an ERROR message in
16473           gst_vaapisink_show_frame_unlocked(). Solution is to just return TRUE
16474           in the EBUSY case.
16475           https://bugzilla.gnome.org/show_bug.cgi?id=753598
16476
16477 2015-08-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16478
16479         * gst/vaapi/gstvaapi.c:
16480           Revert "Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now."
16481           This reverts commit 3ccb198b513dc6ad287fe44117d03bec4d6a966a.
16482
16483 2015-07-06 20:22:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16484
16485         * gst/vaapi/gstvaapidecodebin.c:
16486           vaapidecodebin: check for postproc instance
16487           If the VPP's deinterlace-method is set, first we should check if the postproc
16488           is already instanced to set it. Otherwise we just store it until the VPP is
16489           added into the bin.
16490           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16491           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16492
16493 2015-08-06 18:48:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16494
16495         * gst/vaapi/gstvaapidecodebin.c:
16496         * gst/vaapi/gstvaapipluginutil.c:
16497         * gst/vaapi/gstvaapipluginutil.h:
16498           vaapidecodebin: ensure VPP before going to READY
16499           There are sometimes that the VA-API display context is not shared among the
16500           pipeline, but it is important to know it before going to READY state (when the
16501           pipeline is already linked).
16502           One instance of this case is this:
16503           gst-launch-1.0 filesrc location=media ! decodebin ! vaapipostproc ! vaapisink
16504           This patch adds a new function in gstvaapipluginutil called
16505           gst_vaapi_create_test_display(). Its purpose is to create a disposable VA-API
16506           display, which only will be used for verify if the VAEntrypointVideoProc is
16507           available by the hardware. Afterwards, it should be unrefed.
16508           If the vaapidecodebin is going to READY state, and the element still doesn't
16509           know if VPP is available, the last resort is to create a new instance of the
16510           VA-API display and test for it.
16511           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16512
16513 2015-08-06 12:39:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16514
16515         * gst/vaapi/gstvaapidecodebin.c:
16516           vaapidecodebin: post an error message if fails
16517           If the construction of the bin fails, post an error message in the bus.
16518           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16519           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16520
16521 2015-08-06 12:36:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16522
16523         * gst/vaapi/gstvaapidecodebin.c:
16524         * gst/vaapi/gstvaapidecodebin.h:
16525           vaapidecodebin: has_vpp as a tri-state variable
16526           has_vpp can be UNKNOWN while the context message hasn't being received.
16527           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16528           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16529
16530 2015-08-03 16:33:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16531
16532         * gst/vaapi/gstvaapivideomemory.c:
16533           gstvaapivideomemory: native format with no derived image
16534           If USE_NATIVE_FORMATS is defined we bail out before configuring the surface
16535           info based on the derived image configuration.
16536           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16537           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16538
16539 2015-07-23 20:07:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16540
16541         * gst-libs/gst/vaapi/video-format.c:
16542         * gst-libs/gst/vaapi/video-format.h:
16543         * gst/vaapi/gstvaapivideomemory.c:
16544           surface pool config based on video info
16545           First added the function gst_vaapi_video_format_get_best_native(), which
16546           returns the best native format that matches a particular chroma type:
16547           YUV 4:2:0 -> NV12, YUV 4:2:2 -> YUY2, YUV 4:0:0 -> Y800
16548           RGB32 chroma and encoded format map to NV12 too.
16549           That format is used to configure, initially, the surface's pool for the
16550           allocator.
16551           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16552           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16553
16554 2015-07-23 16:03:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16555
16556         * gst/vaapi/gstvaapivideomemory.c:
16557           gstvaapivideomemory: refactor gst_vaapi_video_allocator_new()
16558           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16559           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16560
16561 2015-06-19 15:51:07 +0200  Victor Jaquez <vjaquez@igalia.com>
16562
16563         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16564           gstvaapiencoder: validate chroma according to the VA's RT format
16565           Before, only YUV420 color space where supported. With this patch, the
16566           encoder is queried to know the supported formats and admits YUV422
16567           color space if its available.
16568           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16569           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16570
16571 2015-08-13 05:07:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16572
16573         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16574           decoder: hevc: Add calculation of WpOffsetHalfRangeC
16575           This is necessary for finding ChromaOffsetL0/ChromaOffsetL1
16576           prediction weight table values with out using any hard coding.
16577           Fixme: We don't have parser API for sps_range_extension, so
16578           assumed zero value for high_precision_offsets_enabled_flag.
16579           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16580
16581 2015-08-13 04:09:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16582
16583         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16584           decoder: hevc: Fix ChromaOffsetL0/ChromaOffsetL1 calculation
16585           Based on ITU-T rec H265(4/2015): 7-56
16586           This was a wrong equation in rec H265 (4/2013): 7-44...
16587           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16588
16589 2015-08-13 04:08:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16590
16591         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16592           decoder: hevc: Fix default value assignment of pred_weight_table
16593
16594 2015-08-13 03:48:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16595
16596         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16597           decoder: hevc: Fix the value assigning for delta_chroma_log2_weight_denom
16598           Assign only if ChromaArrayType != 0..
16599           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16600
16601 2015-08-13 03:06:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16602
16603         * ext/codecparsers:
16604           codecparsers: Update to gst-vaapi-branch commit 1c70432
16605           8e98b41: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
16606           839c5bc: codecparsers: h265: Fix the parsing of ref_pic_lists_modification
16607           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16608
16609 2015-08-11 08:09:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16610
16611         * ext/codecparsers:
16612           codecparsers: Update to gst-vaapi-branch commit c18b8ad
16613           8a03e67: videoparsers: h265: Avoid skipping of EOS and EOB nals
16614           a033083: videoparsers: h265: Fix the frame start detection code
16615           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16616
16617 2015-08-10 05:50:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16618
16619         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16620           decoder: hevc: Add SEI parsing
16621           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16622
16623 2015-08-07 08:43:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16624
16625         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16626           decoder: hevc: Workaround to recognize wrongly encoded main profile streams
16627           HACK: This is a work-around to identify some main profile streams having wrong profile_idc.
16628           There are some wrongly encoded main profile streams(eg: ENTP_C_LG_3.bin) which doesn't
16629           have any of the profile_idc values mentioned in Annex-A, instead general_profile_idc
16630           has been set as zero and having general_profile_compatibility_flag[general_profile_idc]
16631           is TRUE. Assuming them as MAIN profile for now.
16632           https://bugzilla.gnome.org/show_bug.cgi?id=753226
16633           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16634
16635 2015-08-07 08:41:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16636
16637         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16638           patches/videoparsers: Fix the wrong source file path
16639           This is something wrongly typed in commit 6d7b631
16640
16641 2015-08-07 08:34:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16642
16643         * ext/codecparsers:
16644           codecparsers: Update to gst-vaapi-branch commit b8d8be4
16645           ee7e81b: h264parse: Don't discard first AU delimiter
16646           3690fb9: h264parse: Add more NAL types for debugging output
16647           108d368: h265parse: Avoid checking for Non Mandatory VPS NAL
16648           ace61048: h265parse: expose compatible profiles to downstream
16649           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16650
16651 2015-08-06 13:07:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16652
16653         * gst/vaapi/gstvaapipluginutil.c:
16654         * gst/vaapi/gstvaapivideocontext.c:
16655         * gst/vaapi/gstvaapivideocontext.h:
16656           gstvaapivideocontext: remove unused parameter
16657           gst_vaapi_video_context_prepare() received an unused parameter. This patch
16658           removes it and the structure passed by the caller.
16659           This a left over of "Removal of gstreamer-1.0 support" (commit 8b36e25f).
16660           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16661
16662 2015-08-06 04:01:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16663
16664         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16665           decoder: hevc: Fix decoding of stream when it has temporal sublayers
16666           We are calculating the dpb size based on max_dec_pic_buffering.
16667           But if there are more than one temporal sublayers, we are supposed
16668           to use the max_dec_pic_buffering[max_sub_layers_minus] for dpb
16669           size calculation (Assuming HighestTid as max_sub_layers_minus).
16670           Sample streams: TSCL_A_VIDYO_5.bin, TSCL_B_VIDYO_4.bin
16671           https://bugzilla.gnome.org/show_bug.cgi?id=753226
16672           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16673
16674 2015-08-05 14:11:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16675
16676         * gst/vaapi/gstvaapidecode.c:
16677         * gst/vaapi/gstvaapidecodebin.c:
16678         * gst/vaapi/gstvaapiencode_h264.c:
16679         * gst/vaapi/gstvaapiencode_h265.c:
16680         * gst/vaapi/gstvaapiencode_jpeg.c:
16681         * gst/vaapi/gstvaapiencode_mpeg2.c:
16682         * gst/vaapi/gstvaapiencode_vp8.c:
16683         * gst/vaapi/gstvaapipluginutil.h:
16684         * gst/vaapi/gstvaapipostproc.c:
16685         * gst/vaapi/gstvaapisink.c:
16686           refactor vaapi caps strings for pad templates
16687           Refactor the main vaapi caps strings into three macros:
16688           GST_VAAPI_MAKE_SURFACE_CAPS, GST_VAAPI_MAKE_ENC_SURFACE_CAPS and
16689           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
16690           Those are in gstvaapipluginutil.h so all the elements could use them, instead
16691           of re-declaring them every time.
16692           No functional changes.
16693           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16694
16695 2015-08-05 14:15:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16696
16697         * gst/vaapi/gstvaapipostproc.c:
16698           gstvaapipostproc: fix code style
16699           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16700
16701 2015-08-05 05:23:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16702
16703         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16704           decoder: hevc: Fix the decoding of dependent slice segment
16705           Decoding process for reference picture list construction needs to be
16706           invoked only for P and B slice and the value for slice_type of dependent slice
16707           segment should be taken from the previous independent slice segment header
16708           of the same pic.
16709           https://bugzilla.gnome.org/show_bug.cgi?id=753226
16710           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16711
16712 2015-06-22 17:38:41 +0200  Victor Jaquez <vjaquez@igalia.com>
16713
16714         * gst/vaapi/gstvaapipluginbase.c:
16715           plugins: reduce the noise of warnings
16716           Those messagse should be attached to the object, also the lack of
16717           caps is not an error, in particular in the case of JPEG encoding.
16718           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16719           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16720
16721 2015-06-23 17:49:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16722
16723         * gst-libs/gst/vaapi/gstvaapicontext.c:
16724           gstvaapicontext: fix the JPEG encoder attribs value
16725           When we query for the VAConfigAttribEncJPEG, we get a value which packs the
16726           VAConfigAttribValEncJPEG structure, but we did not assign it. This patch
16727           assigns the returned value to the attribute.
16728           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16729           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16730
16731 2015-06-18 17:37:46 +0200  Victor Jaquez <vjaquez@igalia.com>
16732
16733         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16734           gstvaapiencoder: framerate 0/1 is valid too
16735           Framerate 0/1 is valid, and it is particularly useful for picture
16736           encoding, such as jpeg. This patch makes the encoder to admit that
16737           framerate.
16738           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16739           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16740
16741 2015-07-03 09:35:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16742
16743         * gst/vaapi/gstvaapipostproc.c:
16744           vaapipostroc: GLTextureUploadMeta in sink template
16745           Advertise GLTextureUploadMeta in sink caps template.
16746           https://bugzilla.gnome.org/show_bug.cgi?id=752130
16747
16748 2015-07-23 13:11:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16749
16750         * gst/vaapi/Makefile.am:
16751         * gst/vaapi/gstvaapiencode.c:
16752         * gst/vaapi/gstvaapipluginbase.c:
16753         * gst/vaapi/gstvaapipluginbase.h:
16754         * gst/vaapi/gstvaapipostproc.c:
16755         * gst/vaapi/gstvaapisink.c:
16756         * gst/vaapi/gstvaapiuploader.c:
16757         * gst/vaapi/gstvaapiuploader.h:
16758           remove gstvaapiuploader
16759           Working on bug #744042 I realized that the gstvaapiuploader is practically not
16760           used.
16761           This patch removes the gstvaapiuploader and add the method
16762           gst_vaapi_plugin_base_get_allowed_raw_caps () that returns the raw caps that
16763           the system can handle, which is used by vaapisink and vaapipostproc.
16764           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16765           https://bugzilla.gnome.org/show_bug.cgi?id=752777
16766
16767 2015-07-27 18:49:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16768
16769         * gst/vaapi/gstvaapidecode.c:
16770           vaapidecode: don't lost GLTextureUpload on seek
16771           When seeking, the decoder is reset, but the buffer pool is not
16772           re-negotiated, but in reset_full() the code forgets if the negotiated buffer
16773           pool has the GLTextureUpload meta.
16774           The decoder knows that GLTextureUpload meta was negotiated in
16775           decide_allocation(), but this method is not called when seeking.
16776           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16777           https://bugzilla.gnome.org/show_bug.cgi?id=752929
16778
16779 2015-07-21 18:45:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16780
16781         * gst/vaapi/gstvaapipluginutil.c:
16782           plugins: don't use gst_pad_get_allowed_caps()
16783           gst_pad_get_allowed_caps() query the pad and the peer pad. In the case
16784           decoders, that is OK, but in the case of the postproc might lead loops,
16785           since the gst_base_transform_query_caps() forwards the query upstream
16786           and forth.
16787           Instead of gst_pad_get_allowed_caps() we only query the peer with
16788           gst_pad_peer_query_caps() using the pad's template as filter.
16789           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16790           https://bugzilla.gnome.org/show_bug.cgi?id=752558
16791
16792 2015-07-22 12:40:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16793
16794         * README:
16795           README: updates
16796
16797 2015-07-22 09:45:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16798
16799         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch:
16800         * patches/videoparsers/series.frag:
16801           patches/videoparsers: h264parse: Disable 3D video support for GStremaer < 1.5
16802           All API/ABI changes for S3D/MVC are added in 1.5, backporting
16803           them to older verison is not recommended.
16804           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16805
16806 2015-07-22 09:41:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16807
16808         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16809           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
16810
16811 2015-07-22 09:38:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16812
16813         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
16814           decoder: jpeg: Align with new API/ABI changes in codecparser
16815           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16816
16817 2015-07-22 09:31:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16818
16819         * ext/codecparsers:
16820           codecparsers: Update to gst-vaapi-branch commit 800bdb2
16821           ed13220: mpegvideometa: add meta transform function
16822           18d5efd: codecparsers: jpeg: add some padding to ScanHdr struct
16823           7a51722: codecparsers: jpeg: fix docs for table parsing functions
16824           06b8ded: codecparsers: jpeg: fix validity checking of data parsed
16825           387a39d: codecparsers: jpeg: fix up API
16826           db9d6a9: codecparsers: jpeg: tweak API a little
16827           bb6951e: codecparsers: jpeg: hide gst_jpeg_scan_for_marker_code()
16828           f33c30c: codecparsers: jpeg: fix and optimize scan for next marker code
16829           4658c30: codecparsers: jpeg: fix calculation of segment size
16830           759bcb9: codecparsers: jpeg: fix default Huffman tables generation
16831           b4811ee: codecparsers: jpeg: add JPEG bitstream parser
16832           9422464: h264parse: fix typo in log message
16833           9e793a0: h264parse: Move PAR calcs, and use them for stereoscopic half-aspect
16834           77704ce: nalutils: trivial patch to check if
16835           8bb9249: codecparsers: mpeg4: actually return full number of bits of resync marker
16836           7862f95: Revert "codecparsers: remove ignored increment of return"
16837           54017b1: h264parse: Add support for passing stereoscopic/multiview info
16838           8667ee4: h264parse: Don't switch to passthrough on set_caps()
16839           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16840
16841 2015-06-29 14:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16842
16843         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16844           decoder: h264: track previous reference frames.
16845           Improve closure of gaps in frame_num by strictly following and trying
16846           to fill them with previous reference frames. So, they are now tracked
16847           thus avoiding insertion of dummy ("greenish") frames.
16848
16849 2015-06-29 13:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16850
16851         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16852           decoder: h264: fix integration of second field into the DPB.
16853           If the new picture to be added to the DPB is not a first field, then
16854           it shall be the second field of the previous picture that was added
16855           before.
16856           This removes the need for dpb_find_picture() now that we track the
16857           immediately preceding decoded picture, in decode order.
16858
16859 2015-07-06 14:38:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16860
16861         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16862           decoder: h264: fix closure of "other-field" gap.
16863           When a dummy "other-field" is inserted, it is assumed to inherit the
16864           reference flags from the first field, and the sliding window decoded
16865           reference picture marking process is also executed so that corrupted
16866           frames are moved out as early as possible.
16867           While doing so, we also try to output frames that now contain a single
16868           valid field picture, prior to inserting any other picture into the DPB.
16869           Note: this may be superfluous currently based on the fact that dpb_add()
16870           combines the two most recent pairable fields, but this process would be
16871           further simplified later on.
16872
16873 2015-06-24 13:58:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16874
16875         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16876           decoder: h264: track corrupted frames.
16877           Mark the picture as "corrupted" if it is reconstructed from corrupted
16878           references or if those references are fake, e.g. resulting from lost
16879           frames.
16880           This is useful for notifying the upper layer, or downstream elements,
16881           that the decoded frame may contain artefacts.
16882           https://bugzilla.gnome.org/show_bug.cgi?id=703921
16883
16884 2015-06-24 13:48:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16885
16886         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
16887         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
16888         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
16889         * gst/vaapi/gstvaapidecode.c:
16890           decoder: add initial infrastructure for marking corrupted output.
16891           Add initial infrastructure in core codec library and vaapidecode to mark
16892           corrupted frames as such. A corrupted frame is such a frame that was
16893           reconstructed from invalid references for instance.
16894           https://bugzilla.gnome.org/show_bug.cgi?id=751434
16895           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16896
16897 2015-07-15 18:18:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16898
16899         * configure.ac:
16900           Bump version for development
16901
16902 === release 0.6.0 ===
16903
16904 2015-07-15 15:49:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16905
16906         * configure.ac:
16907           0.6.0
16908
16909 2015-07-15 15:49:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16910
16911         * NEWS:
16912           NEWS: updates
16913
16914 2015-07-14 19:39:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16915
16916         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16917           vaapidecoder: no wmv profiles gstreamer 1.4/1.2
16918           This patch fix the auto-plugging problem in gstreamer 1.2 and gstreamer 1.4
16919           Right now there is not a primary ranked parser for vc1 and the demuxers
16920           delivers caps without specifying the profile. This situation is not an issue
16921           for avdec_vc1 but for vaapidecode it is, which refuses to negotiate without a
16922           explicit profile defined in the negotiated caps.
16923           Nonetheless, in gstreamer 1.5 it seems not to be a problem since the
16924           negotiation admits caps subsets try outs.
16925           This patch solves the issue ignoring the profile negotiation in the caps. For
16926           gstreamer < 1.5 the profile string is not handled, so the auto-plugging get
16927           done without the vc1 parser, such as happens in gstreamer 1.5.
16928           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16929
16930 2015-07-07 20:57:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16931
16932         * gst/vaapi/gstvaapi.c:
16933           Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now.
16934           Unfortunately vaapidecodebin element is not seems to be stable
16935           enough for autoplugging ahead of vaapidecode.
16936           Lowering the rank for now (cosidering the immediate 0.6 release).
16937           See this: https://bugzilla.gnome.org/show_bug.cgi?id=749554
16938           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16939
16940 2015-07-07 13:32:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16941
16942         * gst-libs/gst/vaapi/Makefile.am:
16943           build: Add missing CFLAGS to Makefile.am
16944
16945 2015-07-03 15:07:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16946
16947         * gst-libs/gst/vaapi/gstvaapifilter.c:
16948           gstvaapifilter: Only register STE property if it supported by corresponding VA library
16949           Fix the regression introduced in commit eb465fb.
16950           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
16951           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16952
16953 2015-07-02 17:49:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16954
16955         * gst/vaapi/gstvaapipostproc.c:
16956           vaapipostproc: no format convert on GL tex upload meta
16957           When GL texture upload meta is negotiated, vaapipostproc shall not modify the
16958           color format of the buffer.
16959           https://bugzilla.gnome.org/show_bug.cgi?id=748184
16960
16961 2015-07-03 12:42:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16962
16963         * gst-libs/gst/vaapi/gstvaapifilter.c:
16964           gstvaapifilter: Add guard for VAProcFilterSkinToneEnhancement
16965           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
16966           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16967
16968 2015-07-02 21:57:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16969
16970         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
16971           encoder:h265: Fix the check for packed-header support
16972           Use VA_ENC_PACKED_HEADER_* definition for checking.
16973           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16974
16975 2015-07-02 21:37:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16976
16977         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16978           encoder:h264: Fix the check for packed-header support
16979           Use VA_ENC_PACKED_HEADER_* definition for checking.
16980           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16981
16982 2015-07-02 21:00:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16983
16984         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16985           encoder: h264: submit SEI buffering_period() and picture_timing() messages for CBR mode
16986           One buffering_period() SEI message shall be present in every IDR access unit
16987           when NalHrdBpPresentFlag is inferred to be equal to 1. This is the case when we
16988           use a non-CQP mode, e.g. CBR. In other words, when
16989           nal_hrd_parameters_present_flag is set to 1.
16990           One picture_timing() SEI messages shall be present in every access unit
16991           if CpbDpbDelaysPresentFlag is equal to 1 or pic_struct_present_flag is equal to 1
16992           https://bugzilla.gnome.org/show_bug.cgi?id=722734
16993           https://bugzilla.gnome.org/show_bug.cgi?id=751831
16994           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16995
16996 2015-07-01 14:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16997
16998         * gst/vaapi/gstvaapidecodebin.c:
16999           vaapidecodebin: notify if vpp is disabled
17000           When the system is aware that VPP is not available by the VA driver,
17001           it would be useful to notify to the user that the disable-vpp property
17002           has changed.
17003           https://bugzilla.gnome.org/show_bug.cgi?id=749554
17004
17005 2015-07-01 14:17:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17006
17007         * gst/vaapi/gstvaapidecodebin.c:
17008         * gst/vaapi/gstvaapidecodebin.h:
17009           vaapidecodebin: enable vpp if it is available
17010           Instead of creating and adding VPP into the bin at setup, we wait until
17011           we are sure the VA driver supports it. We know that when the VA video
17012           context is received by the bin. Afterwards, it is decided to instanciate
17013           and link the VPP or not.
17014           This is more efficient and safer than waiting the VPP to fail and then
17015           disable it.
17016           https://bugzilla.gnome.org/show_bug.cgi?id=749554
17017
17018 2015-07-02 12:29:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17019
17020         * tests/test-display.c:
17021         * tests/test-windows.c:
17022           tests: Fix compilation while enabling egl as the only renderer in build
17023           Include missing header files gstvaapidisplay_egl.h and gstvaapiwindow_egl.h.
17024
17025 2015-07-02 10:45:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17026
17027         * configure.ac:
17028           configure: fix the build while enabling egl as the only renderer
17029
17030 2015-07-02 10:25:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17031
17032         * configure.ac:
17033           libs: Bump library major version
17034
17035 2015-06-30 09:44:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17036
17037         * gst/vaapi/gstvaapi.c:
17038         * gst/vaapi/gstvaapidecodebin.c:
17039         * gst/vaapi/gstvaapiencode.c:
17040         * gst/vaapi/gstvaapiencode_jpeg.c:
17041         * gst/vaapi/gstvaapipluginbase.c:
17042         * gst/vaapi/gstvaapipluginutil.c:
17043         * gst/vaapi/gstvaapipostproc.c:
17044         * gst/vaapi/gstvaapivideobufferpool.c:
17045         * gst/vaapi/gstvaapivideocontext.c:
17046         * gst/vaapi/gstvaapivideomemory.c:
17047         * gst/vaapi/gstvaapivideometa.c:
17048           gst/vaapi: Switch to upstreram like indentation.
17049           gst-indent for all gst/vaapi/*.c source files
17050
17051 2015-06-30 09:35:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17052
17053         * gst/vaapi/gstvaapidecodebin.c:
17054         * gst/vaapi/gstvaapidecodebin.h:
17055           vaapidecodebin: Add property to disable VPP
17056           Adding a new propery "disable-vpp", enabling it will prevent
17057           the insertion of vaapipostproc child element.
17058           This is helpful in debugging, specifically to narrow-down the
17059           vaapidecodebin/vaapipostproc related negotiation issues.
17060           No support for run-time disabling for now.
17061           https://bugzilla.gnome.org/show_bug.cgi?id=745901
17062
17063 2015-06-29 13:35:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17064
17065         * gst/vaapi/gstvaapipostproc.c:
17066           vaapipostproc: Fix wrong selection of passthrough mode.
17067           The Current code path is falling back to passthorugh mode if there is no
17068           vpp property set by the user explictily. But we should not use the
17069           passthrough mode if the negotiated src pad caps have a differnt color space
17070           format than sink pad caps (Even though the user didn't set the format property
17071           explicitly).
17072           https://bugzilla.gnome.org/show_bug.cgi?id=748184
17073           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17074
17075 2015-06-29 13:20:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17076
17077         * gst/vaapi/gstvaapipostproc.c:
17078           vaapipostproc: prevent advanced-deinterlacing of non-native video formats.
17079           This is a workaround to deal with the va-intel-driver for non-native
17080           formats while doing advanced deinterlacing. The format of reference surfaces must
17081           be same as the format used by the driver internally for motion adaptive
17082           deinterlacing and motion compensated deinterlacing.
17083           A permanent solution could be to do the color space conversion internally
17084           for reference surfaces.
17085           https://bugzilla.gnome.org/show_bug.cgi?id=730925
17086           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17087
17088 2015-06-29 13:06:30 +0300  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17089
17090         * gst/vaapi/gstvaapisink.c:
17091           Work around ABBA deadlock between vaapisink and vaapipostproc
17092           vaapisink takes the display lock, then does a gst_buffer_replace which can
17093           take the lock on the gst_vaapi_video_pool.
17094           vaapipostproc asks the gst_vaapi_video_pool for a new surface. This takes
17095           the lock on the gst_vaapi_video_pool; if you're unlucky, there are no free
17096           surfaces, which means that gst_vaapi_surface_create is
17097           called. gst_vaapi_surface_create takes the display lock.
17098           If vaapisink and vaapipostproc are in different threads, and this happens,
17099           you get a deadlock. vaapisink holds the display lock, and wants the
17100           gst_vaapi_video_pool lock. vaapipostproc holds the gst_vaapi_video_pool lock
17101           and wants the display lock.
17102           Work around this by releasing the display lock in vaapisink around the
17103           gst_buffer_replace.
17104           https://bugzilla.gnome.org/show_bug.cgi?id=738249
17105           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17106           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17107
17108 2015-04-29 16:34:07 +0200  Jacobo Aragunde Pérez <jaragunde@igalia.com>
17109
17110         * gst/vaapi/gstvaapidecodebin.c:
17111         * gst/vaapi/gstvaapidecodebin.h:
17112           vaapidecodebin: expose deinterlace-method property from inner vaapipostproc
17113           https://bugzilla.gnome.org/show_bug.cgi?id=745901
17114
17115 2015-05-19 11:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17116
17117         * gst/vaapi/gstvaapipostproc.c:
17118           vaapipostproc: log negotiated caps
17119
17120 2015-05-18 14:30:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17121
17122         * gst/vaapi/gstvaapipostproc.c:
17123           vaapipostproc: remove useless debug message
17124
17125 2015-02-12 12:31:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17126
17127         * gst/vaapi/gstvaapidecode.c:
17128           vaapidecode: log negotiated src/sink caps
17129
17130 2015-05-07 15:57:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17131
17132         * gst/vaapi/gstvaapisink.c:
17133           vaapisink: error handling if rendering fails
17134           This patch enhance the code path when an error is found when rendering a
17135           buffer.
17136           If the video meta doesn't contain a surface proxy or a surface, a warning
17137           message is printed.
17138           If the rendering backend fails, a error message is posted in the bus.
17139           https://bugzilla.gnome.org/show_bug.cgi?id=749382
17140
17141 2015-06-18 14:55:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17142
17143         * gst/vaapi/gstvaapisink.c:
17144           vaapisink: Fix the conditional pad template creation.
17145
17146 2015-06-18 13:19:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17147
17148         * tests/Makefile.am:
17149           build: Don't build simple-encoder test program if there is no VA Encoding support
17150           This will fix the build error against older VA-APIs <= 0.32
17151
17152 2015-06-18 12:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17153
17154         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
17155         * gst-libs/gst/vaapi/gstvaapicompat.h:
17156           Fix build error for older VA-API versions
17157           Provide guards for VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM and
17158           VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME which are only availble from
17159           VA >= 0.36.
17160
17161 2015-06-17 14:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17162
17163         * gst/vaapi/gstvaapisink.c:
17164           vaapisink: Fix the capsfeature advertisement in padtemplate
17165           This fixes the regression introduced in 64acc74.
17166           If a pad supports multiple set of capsfeatures, it needs to add
17167           multiple equal structures with different feature sets to the caps.
17168           Because caps structures with the same name but with a non-equal
17169           set of caps features are not compatible.
17170           Without this patch, playbin will autoplug xvimagesink instead of vaapisink.
17171           https://bugzilla.gnome.org/show_bug.cgi?id=750095
17172
17173 2015-06-17 12:41:28 +0300  Adrian Cox <adrian@humboldt.co.uk>
17174
17175         * gst/vaapi/gstvaapisink.c:
17176           vaapisink: Expose the overlay capability for compatibility with dvbsuboverlay.
17177           https://bugzilla.gnome.org/show_bug.cgi?id=750095
17178           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17179           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17180
17181 2015-06-17 09:53:29 +0300  Olivier Crete <olivier.crete@collabora.com>
17182
17183         * gst/vaapi/gstvaapipluginbase.c:
17184           vaapipluginbase: Override downstream allocation reply if no pool
17185           If the downstream replied without a pool, then override it.
17186           https://bugzilla.gnome.org/show_bug.cgi?id=748559
17187
17188 2015-06-09 15:15:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17189
17190         * gst/vaapi/gstvaapipostproc.c:
17191         * gst/vaapi/gstvaapipostproc.h:
17192           vaapipostproc: add color balance interface
17193           https://bugzilla.gnome.org/show_bug.cgi?id=720376
17194
17195 2015-05-22 18:13:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17196
17197         * gst-libs/gst/vaapi/gstvaapifilter.c:
17198         * gst-libs/gst/vaapi/gstvaapifilter.h:
17199         * gst/vaapi/gstvaapipostproc.c:
17200         * gst/vaapi/gstvaapipostproc.h:
17201           vaapipostproc: add skin tone enhancement
17202           Added the 'skin-tone-enhancement' property to vaapostproc.
17203           https://bugzilla.gnome.org/show_bug.cgi?id=744088
17204
17205 2015-05-20 18:02:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17206
17207         * docs/reference/libs/libs-docs.xml.in:
17208           doc: add VA-API reference in freedesktop
17209
17210 2015-06-04 19:03:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17211
17212         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
17213         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
17214         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
17215           patches/videoparsers: rebase all the h264parse patches
17216           In order to avoid the creation of .orig files and break the distcheck target
17217
17218 2015-06-04 18:29:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17219
17220         * ext/libvpx/Makefile.am:
17221           build: don't build in parallel libvpx
17222           This fixes the distcheck -j XX target.
17223
17224 2015-06-02 08:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17225
17226         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
17227           encoder: jpeg: Fix the packed header generation
17228           This is a work-around to satisfy the va-intel-driver.
17229           Normalize the quality factor and scale QM values (only for packed header
17230           generation) similar to what VA-Intel driver is doing . Otherwise the
17231           generated packed headers will be wrong, since the driver itself is
17232           scaling the QM values using the normalized quality factor.
17233           https://bugzilla.gnome.org/show_bug.cgi?id=748335
17234           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17235
17236 2015-06-02 11:46:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17237
17238         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17239           decoder: h264: fix uninitialized variables in avcC mode.
17240           Fix uninitialized variables when decoding SPS and PPS NAL units from
17241           "codec-data" buffers. This is particularly important when seeking ops
17242           are involved, and the new persistent states are used more often.
17243           https://bugzilla.gnome.org/show_bug.cgi?id=750094
17244
17245 2015-06-01 18:39:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17246
17247         * gst/vaapi/gstvaapidecode.c:
17248           vaapidecode: remove unneeded casting
17249           And a code-style fix
17250
17251 2015-05-21 19:38:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17252
17253         * gst/vaapi/gstvaapidecode.c:
17254           vaapidecode: calculate decoding latency
17255           This is a naïve approach to the calculation of the VA-API decoding latency. It
17256           takes into consideration when the frame-rate has some insane value.
17257           https://bugzilla.gnome.org/show_bug.cgi?id=740419
17258
17259 2015-05-21 23:16:14 +1000  Jan Schmidt <jan@centricular.com>
17260
17261         * configure.ac:
17262           configure: Compiling against libgstgl requires libgstvideo
17263           Fix detection of the GstGL helper headers in uninstalled
17264           builds.
17265
17266 2015-05-28 10:52:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17267
17268         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
17269           encoder: hevc: Fix the size over-flow for encoded buffer.
17270           The approximation of 6 times compression ratio migh not
17271           work in all cases. Especially when enabling I frames.
17272           Provide large enough size for coded-buffer creation.
17273
17274 2015-05-28 10:43:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17275
17276         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
17277           encoder: vp8: Fix the size over-flow for encoded buffer.
17278           The approximation of 4 times compression ratio will not
17279           work in all cases. Especially when enabling I frames.
17280           Provide large enough size for coded-buffer creation.
17281
17282 2015-05-28 05:43:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17283
17284         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
17285           encoder: hevc:  fix bug in multi slice encoding.
17286           This is a work-around for satisfying the VA-Intel driver.
17287           The driver only support slices begin from CTU row start address.
17288           Multi-Slice encoding also requires a fix in va-intel-driver:
17289           http://lists.freedesktop.org/archives/libva/2015-May/003351.html
17290           https://bugzilla.gnome.org/show_bug.cgi?id=749854
17291           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17292
17293 2015-03-12 22:57:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17294
17295         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17296           decoder: h264: add initial support for loss of pictures.
17297           Implement decoding process for gaps in frame_num (8.5.2). This
17298           also somewhat supports unintentional loss of pictures.
17299           https://bugzilla.gnome.org/show_bug.cgi?id=745048
17300           https://bugzilla.gnome.org/show_bug.cgi?id=703921
17301           Original-patch-by: Wind Yuan <feng.yuan@intel.com>
17302           [fixed derivation of POC, ensured clone is valid for reference,
17303           actually fixed detection of gaps in FrameNum by PrevRefFrameNum]
17304           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17305
17306 2015-05-22 11:42:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17307
17308         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17309           decoder: h264: add support for missing first field.
17310           Try to identify missing first fields too, thus disregarding any
17311           intermediate gaps in frames. We also assume that we keep the same
17312           field sequence, i.e. if previous frames were in top-field-first
17313           (TFF) order, then so are subsequent frames.
17314           Note that insertion of dummy first fields need to operate in two
17315           steps: (i) create the original first field that the current field
17316           will inherit from, and (ii) submit that field into the DPB prior
17317           to initializing the current (other) field POC values but after any
17318           reference flag was set. i.e. copy reference flags from the child
17319           (other field) to the parent (first field).
17320           https://bugzilla.gnome.org/show_bug.cgi?id=745048
17321
17322 2015-05-07 14:00:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17323
17324         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17325           decoder: h264: add support for missing second field.
17326           Interlaced H.264 video frames always have two fields to decode and
17327           display. However, in some cases, e.g. packet loss, one of the field
17328           can be missing. This perturbs the reference picture marking process,
17329           whereby the number of references available in DPB no longer matches
17330           the expected value.
17331           This patch adds initial support for missing field within a decoded
17332           frame. The current strategy taken is to find out the nearest field,
17333           by POC value, and with the same parity.
17334           https://bugzilla.gnome.org/show_bug.cgi?id=745048
17335
17336 2015-05-22 17:06:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17337
17338         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17339           decoder: h264: improve tracking of "top-field-first" flag.
17340           Try to maintain a "top-field-first" (TFF) flag, even if the H.264 standard
17341           does not mandate it. This will be useful for tracking missing fields, and
17342           also for more correct _split_fields() implementation for frames in the DPB.
17343
17344 2015-05-05 11:56:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17345
17346         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17347           decoder: h264: skip all pictures prior the first I-frame.
17348           Don't try to decode pictures until the first I-frame is received within
17349           the currently active sequence. There is no point is decoding and then
17350           displaying frames with artifacts.
17351
17352 2015-05-12 15:36:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17353
17354         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17355           decoder: h264: fix processing of EOSEQ NAL.
17356           Fix decoding of end_of_seq() NAL unit so that to not submit the current
17357           picture for decoding again. This is pretty vintage code that dates back
17358           before the existing of the whole decoder units machinery.
17359           One issue that could be arising if that code was kept is that we could
17360           have submitted a picture, and subsequently a GstVideoCodec frame, twice.
17361           Once without the decode_only flag set, and once with that flag set. The
17362           end result is that the GstVideoDecoder would release the codec frame
17363           twice, thus releasing stale data.
17364           In short, the piece of code that is removed by this patch is for once
17365           completely obsolete for a while, and secondly error-prone in corner
17366           cases.
17367
17368 2013-02-28 15:26:36 +0800  Wind Yuan <feng.yuan@intel.com>
17369
17370         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17371         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17372         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17373         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17374           decoder: add utility function to clone picture objects.
17375           https://bugzilla.gnome.org/show_bug.cgi?id=703921
17376           Signed-off-by: Wind Yuan <feng.yuan@intel.com>
17377           [added cosmetic changes, fixed propagation of "one-field" flag to
17378           children, fixed per-codec clone modes (h264)]
17379           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17380
17381 2015-05-27 23:49:18 +0300  Alban Browaeys <prahal@yahoo.com>
17382
17383         * gst/vaapi/Makefile.am:
17384           build: don't compile HEVC encoder if not supported
17385           Fix:
17386           (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
17387           https://bugzilla.gnome.org/show_bug.cgi?id=749954
17388           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
17389           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17390
17391 2015-05-27 23:43:16 +0300  Alban Browaeys <prahal@yahoo.com>
17392
17393         * gst-libs/gst/vaapi/gstvaapicompat.h:
17394         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17395           HEVC: decode: add missing va_dec_hevc header
17396           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
17397           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17398           https://bugzilla.gnome.org/show_bug.cgi?id=749953
17399
17400 2015-05-26 13:28:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17401
17402         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17403           mpeg2: fix PTS cache for GOP start.
17404           If the GOP temporal sequence number (TSN) is interpolated from a valid
17405           PTS, then we need to compensate that PTS corresponding to the start of
17406           GOP with the next picture to be decoded, which shall be an I-frame,
17407           based on its sequence number.
17408           https://bugzilla.gnome.org/show_bug.cgi?id=748676
17409
17410 2015-05-27 10:49:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17411
17412         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17413           mpeg2: avoid crash when seeking with debug logs
17414           Move down the debug message when the state of the decoder is verified
17415           so the slice header is not NULL.
17416
17417 2014-12-17 00:41:10 +1100  Jan Schmidt <jan@centricular.com>
17418
17419         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17420           mpeg2: Avoid crashes and warnings on re-opened decoder after a seek
17421           Reset state and add some checks for safe state to avoid a crash and
17422           a warning after the decoder is destroyed/recreated during a seek.
17423
17424 2015-05-26 10:21:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17425
17426         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
17427         * patches/videoparsers/series.frag:
17428           patches/videoparsers: Rebase the patch on top of gst-vaapi-branch commit 20ee952
17429           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17430
17431 2015-05-26 10:03:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17432
17433         * ext/codecparsers:
17434           codecparsers: Update to gst-vaapi-branch commit 20ee952
17435           b7dded3: h264parse: don't consider unknown stream-format as avc
17436           5110ad9: h264parse: fix up handling of input caps corner cases
17437           e51db3e: h264parse: Remove dead code
17438           3d739d0: codecparser: h265: Fix the number of tile rows/columns parsing
17439           8482957: h265parse: Fix profile, tier and level setting in caps
17440           4649acb: h265parse: Fix the memory freeing of stored VPS nals
17441           f2beeb7: h265parse: Fix source caps to report cropped dimensions
17442           6886a31: h264parse: Fix profile and level setting in caps
17443           5286c1a: h264parse: Consider SEI NALU as "HEADER" packets
17444           eb97854: videoparsers: h264: bit-exact sync with upstream, minor changes here and there
17445           53074fc: build: Upgrade GStreamer dependency to 1.0
17446           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17447
17448 2015-05-26 06:01:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17449
17450         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17451           HEVC: decode: Replace clip3 implementation with glib CLAMP macro
17452           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17453
17454 2015-05-26 05:33:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17455
17456         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17457           HEVC: decode: Update Cropping Rectangle
17458           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17459
17460 2015-05-25 11:58:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17461
17462         * gst/vaapi/Makefile.am:
17463         * gst/vaapi/gstvaapi.c:
17464         * gst/vaapi/gstvaapiencode_h265.c:
17465         * gst/vaapi/gstvaapiencode_h265.h:
17466           HEVC_Encode: Add HEVC(h265) Encoder plugin
17467           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17468           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17469
17470 2015-05-25 11:38:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17471
17472         * gst-libs/gst/vaapi/Makefile.am:
17473         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
17474         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
17475           HEVC_Encode: Add HEVC(h265) encoder to core libgstvaapi
17476           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17477           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17478
17479 2015-05-25 11:26:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17480
17481         * configure.ac:
17482           HEVC_Encode: build: Check availability of VA APIs for H265 encoding.
17483           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17484           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17485
17486 2015-05-25 10:58:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17487
17488         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
17489         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
17490           gstvaapiutils_h265: Add H265 Tier specific utility functions
17491           -- New API: gst_vaapi_utils_h265_get_tier_from_string()
17492           -- New API: gst_vaapi_utils_h265_get_tier_string()
17493           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17494           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17495
17496 2015-05-19 10:57:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17497
17498         * docs/reference/plugins/Makefile.am:
17499           doc: conditional linking for scanner
17500           Add x11 library only if it is enabled.
17501           https://bugzilla.gnome.org/show_bug.cgi?id=749018
17502
17503 2015-05-19 10:37:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17504
17505         * docs/reference/plugins/plugins.types:
17506           doc: fix scanner compilation warning
17507           https://bugzilla.gnome.org/show_bug.cgi?id=749018
17508
17509 2015-05-06 16:19:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17510
17511         * docs/reference/libs/libs-docs.xml.in:
17512         * docs/reference/libs/libs-sections.txt:
17513           doc: update sections and symbols
17514           https://bugzilla.gnome.org/show_bug.cgi?id=749018
17515
17516 2015-05-13 10:38:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17517
17518         * .gitignore:
17519         * Makefile.am:
17520         * debian.upstream/Makefile.am:
17521         * docs/Makefile.am:
17522         * docs/reference/Makefile.am:
17523         * docs/reference/libs/Makefile.am:
17524         * docs/reference/plugins/Makefile.am:
17525         * ext/Makefile.am:
17526         * ext/libvpx/Makefile.am:
17527         * git.mk:
17528         * gst-libs/Makefile.am:
17529         * gst-libs/gst/Makefile.am:
17530         * gst-libs/gst/base/Makefile.am:
17531         * gst-libs/gst/codecparsers/Makefile.am:
17532         * gst-libs/gst/vaapi/Makefile.am:
17533         * gst/Makefile.am:
17534         * gst/vaapi/Makefile.am:
17535         * patches/Makefile.am:
17536         * patches/videoparsers/Makefile.am:
17537         * pkgconfig/Makefile.am:
17538         * tests/Makefile.am:
17539           build: use git.mk
17540           This patch handles dinamically the gitignore files with git.mk[1].
17541           Removed the automake variable MAINTAINERCLANFILES in most of the
17542           Makefile.am files since now it is handled by the top one.
17543           1. https://github.com/behdad/git.mk/blob/master/git.mk
17544           https://bugzilla.gnome.org/show_bug.cgi?id=749321
17545
17546 2015-05-07 11:28:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17547
17548         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17549           wayland: sync() when destroy()
17550           Before pushing a the new frame, the render() method calls sync() to flush the
17551           pending frames. Nonetheless, the last pushed frame never gets rendered, leading
17552           to a memory leak too.
17553           This patch calls sync() in the destroy() to flush the pending frames before
17554           destroying the window.
17555           Also a is_cancelled flag is added. This flag tells to not flush the event
17556           queue again since the method failed previously or were cancelled by the user.
17557           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17558
17559 2015-05-07 15:55:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
17560
17561         * gst-libs/gst/vaapi/gstvaapiwindow.c:
17562         * gst-libs/gst/vaapi/gstvaapiwindow.h:
17563         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
17564         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17565         * gst/vaapi/gstvaapisink.c:
17566           vaapisink: implement unlock/unlock_stop for wayland
17567           Otherwise wl_display_dispatch_queue() might prevent the pipeline from
17568           shutting down. This can happen e.g. if the wayland compositor exits while
17569           the pipeline is running.
17570           Changes:
17571           * renamed unlock()/unlock_stop() to unblock()/unblock_cancel() in gstvaapiwindow
17572           * splitted the patch removing wl_display_dispatch_queue()
17573           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17574           https://bugzilla.gnome.org/show_bug.cgi?id=747492
17575           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17576
17577 2015-05-07 12:33:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17578
17579         * configure.ac:
17580         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17581           wayland: wl_display_dispatch_queue() can block forever.
17582           wl_display_dispatch_queue() might prevent the pipeline from shutting
17583           down. This can happen e.g. if the wayland compositor exits while the
17584           pipeline is running.
17585           This patch replaces it with these steps:
17586           - With wl_display_prepare_read() all threads announce their intention
17587           to read.
17588           - wl_display_read_events() is thread save. On threads reads, the other
17589           wait for it to finish.
17590           - With wl_display_dispatch_queue_pending() each thread dispatches its
17591           own events.
17592           wl_display_dispatch_queue_pending() was defined since wayland 1.0.2
17593           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
17594           * stripped out the unlock() unlock_stop() logic
17595           * stripped out the poll handling
17596           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17597           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17598           https://bugzilla.gnome.org/show_bug.cgi?id=747492
17599
17600 2015-05-07 18:30:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17601
17602         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17603           wayland: rename frame for last_frame
17604           Since frame in the private data means the last frame sent, it would
17605           semantically better use last_frame.
17606           Also, this patch makes use of g_atomic_pointer_{compare_and_exchange, set}()
17607           functions.
17608           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17609
17610 2015-05-07 11:18:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17611
17612         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17613           wayland: use a counter as sync flag
17614           Wayland window has a pointer to the last pushed frame and use it to set the
17615           flag for stopping the queue dispatch loop. This may lead to memory leaks,
17616           since we are not keeping track of all the queued frames structures.
17617           This patch removes the last pushed frame pointer and change the binary flag
17618           for an atomic counter, keeping track of number of queued frames and use it for
17619           the queue dispatch loop.
17620           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17621
17622 2015-05-07 10:36:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17623
17624         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17625           wayland: decouple wl_buffer from frame
17626           This patch takes out the wayland's buffer from the the frame structure. The
17627           buffer is queued to wayland and destroyed in the "release" callback. The
17628           frame is freed in the surface's "done" callback.
17629           In this way a buffer may be leaked but not the whole frame structure.
17630           - surface 'done' callback is used to throttle the rendering operation and to
17631           unallocate the frame, but not the buffer.
17632           - buffer 'release' callback is used to destroy wl_buffer.
17633           Original-patch-by: Zhao Halley <halley.zhao@intel.com>
17634           * code rebase
17635           * kept the the event_queue for buffer's proxy
17636           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17637           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17638
17639 2015-05-14 16:22:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17640
17641         * gst/vaapi/gstvaapisink.c:
17642           vaapisink: fix indentation
17643
17644 2015-05-13 11:54:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17645
17646         * debian.upstream/Makefile.am:
17647         * ext/libvpx/Makefile.am:
17648         * gst-libs/gst/vaapi/Makefile.am:
17649         * gst/vaapi/Makefile.am:
17650         * tests/Makefile.am:
17651           build: fix make distcheck
17652           This patch fixes several issues found when running the `make distcheck`
17653           target:
17654           - In commit c561b8da, the update of gstcompat.h in Makefile.am was
17655           forgotten.
17656           - In commit c5756a91 add the simple_encoder_source_h in EXTRA_DIST was
17657           forgotten.
17658           - vpx.build.stamp is not generated at all, only vpx.configure.stamp.
17659           - The make target distcleancheck failed because some autogenerated files
17660           were not handled with the DISTCLEANFILES variable.
17661           Note: `make distcheck -jXX` is not currently supported.
17662
17663 2015-05-13 13:28:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17664
17665         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
17666         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
17667         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
17668           h264parse: update patches with upstream
17669           These patches didn't applied cleanly, breaking the `make distcleancheck`
17670           target. Re-sync'ed the patches against the current git's submodule.
17671
17672 2015-05-12 16:04:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17673
17674         * tests/simple-encoder.c:
17675           tests: simple-encoder: fix build warnings on 64-bit platforms.
17676           Add a cosmetic change to replace VAAPI buffer with VA buffer and most
17677           importantly fix warnings spitted out during build on 64-bit platforms.
17678           ../../tests/simple-encoder.c:211:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
17679           g_warning ("Invalid VAAPI buffer size (%d)", size);
17680           ^
17681           ../../tests/simple-encoder.c:217:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
17682           g_warning ("Failed to create output buffer of size %d", size);
17683           ^
17684
17685 2015-05-08 15:54:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17686
17687         * gst/vaapi/gstvaapipluginbase.c:
17688         * gst/vaapi/gstvaapipluginutil.c:
17689         * gst/vaapi/gstvaapipluginutil.h:
17690         * gst/vaapi/gstvaapivideocontext.h:
17691           plugins: remove gstreamer-0.10 crumbs
17692           GstVideoContext was used in gstreamer-0.10, which is not supported anymore.
17693           Still, its definition was still in the code. This patch removes it.
17694           https://bugzilla.gnome.org/show_bug.cgi?id=749113
17695
17696 2015-05-05 13:08:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17697
17698         * tests/Makefile.am:
17699         * tests/simple-encoder.c:
17700         * tests/y4mreader.c:
17701         * tests/y4mreader.h:
17702           tests: add simple-encoder program
17703           This patch adds a simple-encoder test program that uses libgstvaapi for video
17704           encoding to elementary (raw) streams. Input stream is raw YUV in the Y4M
17705           format. That can be from a regular file or standard input when the input
17706           filename is "-".
17707           Usage: simple-encoder [options]* <source>
17708           Options:
17709           --output|-o     output file name
17710           --codec|-c      codec to use for video encoding
17711           --bitrate|-b    desired bitrate (kbps)
17712           By default, and as an initial patch, the encoded stream shall conform to the
17713           minimally supported profile. That is "Constrained Baseline Profile" for H.264
17714           and "Simple Profile" for MPEG-2. Though, those are the defaults to be
17715           generated by libgstvaapi.
17716           You can find Y4M sample files here http://samples.mplayerhq.hu/yuv4mpeg2/
17717           Original-patch-by: Changzhi Wei <changzhix.wei@intel.com>
17718           * general code clean-up
17719           * removed the yuv reader thread
17720           * re-wrote the y4m file parser
17721           * updated used API fixed some wrong usage
17722           * fixed a lot of memory leaks
17723           * added the bitrate setting
17724           * keep fps' numerator and denominator
17725           * simplified the thread control
17726           * removed custom logging and use glib
17727           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17728           https://bugzilla.gnome.org/show_bug.cgi?id=719528
17729
17730 2015-05-05 13:02:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17731
17732         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17733           libs: trivial documentation fix
17734           GST_VAAPI_ENCODER_STATUS_NO_SURFACE and GST_VAAPI_ENCODER_STATUS_NO_BUFFER
17735           are not errors, so they do not have the ERROR namespace.
17736           This patch fixes this typo in documentation.
17737
17738 2015-02-15 15:01:03 +0000  Simon Farnsworth <simon@farnz.org.uk>
17739
17740         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
17741           window: Correct prototype to match implementation
17742           On s390x, guintptr and GstVaapiID are not compatible types. The
17743           implementation of gst_vaapi_window_new_internal() and all its callers
17744           seem to assume that its third argument is a GstVaapiID, while the
17745           header gives it guintptr type.
17746           https://bugzilla.gnome.org/show_bug.cgi?id=744559
17747
17748 2015-05-04 14:24:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17749
17750         * gst/vaapi/gstvaapidecode.c:
17751         * gst/vaapi/gstvaapidecodebin.c:
17752           vaapidecode: add guards for disabled codecs.
17753           Fix link when building plugin elements without HEVC support. e.g. don't
17754           try to call into gst_vaapi_decoder_h265_set_alignment() if there is no
17755           support HEVC enabled in libgstvaapi.
17756           Also, drop disabled codecs from static template caps. Add the missing
17757           HEVC static template caps into vaapidecodebin too.
17758
17759 2015-04-30 13:29:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17760
17761         * configure.ac:
17762         * gst-libs/gst/vaapi/glibcompat.h:
17763           build: upgrade glib dependency to 2.32
17764           Since bug #745728 was fixed the oldest supported version of GStreamer is
17765           1.2. That GStreamer release requires glib 2.32, so we can upgrade our
17766           requirement too.
17767           This patch changes the required version of glib in configure.ac and removes
17768           the hacks in glibcompat.h
17769           https://bugzilla.gnome.org/show_bug.cgi?id=748698
17770
17771 2015-04-30 13:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17772
17773         * gst/vaapi/gstvaapipluginbase.c:
17774           plugins: check if the pool config is already set
17775           In commit 97b768, a regression for GStreamer 1.2 was introduced:
17776           GStreamer 1.2 doesn't check, in gst_buffer_pool_set_config() if the
17777           config option is already set. This patch adds an inline function to
17778           first verify if the option is not in the pool config berfore add it.
17779
17780 2015-04-29 12:39:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17781
17782         * gst/vaapi/gstvaapipostproc.c:
17783           vaapipostproc: tune up a couple of log messages
17784           In order to reduce the noise, the query type log was downgrade from INFO to
17785           DEBUG, and the shared display address log message is assigned to the object.
17786
17787 2015-04-29 12:27:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17788
17789         * gst/vaapi/gstvaapipluginbase.c:
17790           plugins: check gst_buffer_pool_set_config()
17791           Check the return value of gst_buffer_pool_set_config(). If it fails an error
17792           message is posted in the bus.
17793
17794 2015-04-29 12:24:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17795
17796         * gst/vaapi/gstvaapipluginbase.c:
17797           plugins: more specific log message
17798           Be more specific in the log message about the reason of creating a new pool.
17799
17800 2015-04-29 12:22:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17801
17802         * gst/vaapi/gstvaapipluginbase.c:
17803           plugins: delete unused variable
17804           need_pool is a boolean variable extracted from the allocation query, but it is
17805           not used afterwards.
17806
17807 2015-04-27 19:21:12 -0400  Olivier Crete <olivier.crete@collabora.com>
17808
17809         * gst/vaapi/gstvaapipluginbase.c:
17810           vaapipluginbase: Update the pool if there was no pool in the downstream reply
17811           Fix regression introduced by bd866479, the query after decide_allocation()
17812           always needs a pool in the first slot.
17813           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17814           https://bugzilla.gnome.org/show_bug.cgi?id=748559
17815
17816 2015-04-27 20:50:19 -0400  Olivier Crete <olivier.crete@collabora.com>
17817
17818         * gst/vaapi/gstvaapivideobufferpool.c:
17819           videopool: Free members before chaining up finalize
17820           The finalize function in GObject frees the object memory, so
17821           everything else needs to have been freed before.
17822           https://bugzilla.gnome.org/show_bug.cgi?id=748563
17823
17824 2015-04-27 20:31:50 -0400  Olivier Crete <olivier.crete@collabora.com>
17825
17826         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
17827           wayland: don't leak the registry proxy
17828           Release the registry proxy when closing the display.
17829           https://bugzilla.gnome.org/show_bug.cgi?id=748564
17830
17831 2015-04-21 17:17:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17832
17833         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17834           wayland: refactor _sync() method and rename callback
17835           This patch only intends to improve readability: in the method
17836           gst_vaapi_window_wayland_sync() the if/do instructions are squashed into a
17837           single while loop.
17838           Also renames the frame_redraw_callback() callback into frame_done_callback(),
17839           which is a bit more aligned to Wayland API.
17840
17841 2015-02-03 16:52:06 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
17842
17843         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17844           wayland: free frame in buffer release callback
17845           The Wayland compositor may still use the buffer when the frame done
17846           callback is called.
17847           This patch destroys the frame (which contains the buffer) until the
17848           release callback is called. The draw termination callback only controls
17849           the display queue dispatching.
17850           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17851           https://bugzilla.gnome.org/show_bug.cgi?id=747492
17852
17853 2015-04-21 10:00:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17854
17855         * gst/vaapi/gstvaapidecode.c:
17856           vaapidecode: refactor gst_vaapidecode_internal_flush()
17857           This a cosmetic refactor: gst_vaapidecode_internal_flush() removes its only
17858           label; gst_vaapidecode_finish() is more readable and gst_vaapidecode_purge()
17859           shares the same error message of gst_vaapidecode_internal_flush() when flush
17860           fails.
17861
17862 2015-04-20 13:27:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17863
17864         * gst/vaapi/gstvaapidecode.c:
17865           vaapidecode: refactor gst_vaapidecode_destroy()
17866           Add the method gst_vaapidecode_purge(). This method releases the
17867           flushed frames from the decoder.
17868           This new method add more readablity to gst_vaapidecode_destroy()
17869
17870 2015-04-16 12:53:18 -0400  Olivier Crete <olivier.crete@collabora.com>
17871
17872         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17873         * gst/vaapi/gstvaapidecode.c:
17874           vaapidecode: Tell the base class about released frames on close
17875           The base class needs to be informed about frames that were still queued
17876           in the decoder on release, otherwise they are leaked.
17877           https://bugzilla.gnome.org/show_bug.cgi?id=747999
17878
17879 2015-04-19 11:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17880
17881         * gst/vaapi/gstvaapidecode.c:
17882           vaapidecode: reduce logging noise
17883           When a frame is rejected by downstream, the message is logged twice. This
17884           patch removes one of those logging messages.
17885           Also, the reject of a frame doesn't mean an alarming error. This patch demotes
17886           the log message from error to info.
17887
17888 2015-04-16 20:18:13 -0400  Olivier Crete <olivier.crete@collabora.com>
17889
17890         * gst/vaapi/gstvaapidecode.c:
17891           vaapidecode: Use the GstVideoDecoder error reporting function
17892           This way, the decoder won't stop on the first decoding error,
17893           in most cases it can recover after some glitchiness.
17894           https://bugzilla.gnome.org/show_bug.cgi?id=744620
17895
17896 2015-04-17 19:10:35 +0000  Olivier Crete <olivier.crete@collabora.com>
17897
17898         * gst/vaapi/gstvaapipluginbase.c:
17899           vaapipluginbase: The allocation query can return without a pool
17900           It is possible to return the min/max/size without actually providing
17901           a pool. This way the source knows how many buffers downstream needs.
17902           https://bugzilla.gnome.org/show_bug.cgi?id=748076
17903
17904 2015-04-17 16:45:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17905
17906         * ext/Makefile.am:
17907         * gst/vaapi/Makefile.am:
17908         * gst/vaapi/gstvaapiparse.c:
17909         * gst/vaapi/gstvaapiparse.h:
17910         * patches/videoparsers/0001-h265parse-include-gstvaapiparse.h.patch:
17911         * patches/videoparsers/series.frag:
17912           plugins: Add h265 videoparser element "vaapiparse_h265"
17913           This is a mirror of h265parse element in upstream gst-plugins-bad.
17914           There could be additional patches but all should go to upstream.
17915           This is for making development faster.
17916           Note: vaapiparse_h265 will get build only for GStreamer version >= 1.4
17917
17918 2015-04-17 15:44:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17919
17920         * ext/codecparsers:
17921           codecparsers: Update to gst-vaapi-branch commit 43a0368
17922           45f1c28: codecparser: h265: Fix nal unit size checking
17923           f25987b: codecparser: h265: Calculate crop rectangle dimensions
17924           639573a: codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
17925           4c8ec41: Add h265 videoparser plugin source files
17926
17927 2015-04-17 10:10:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17928
17929         * autogen.sh:
17930           autogen: drop videoutils submodule.
17931
17932 2015-04-17 10:36:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17933
17934         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17935           decoder: hevc: cosmetics.
17936           Mostly coding style updates. Avoid integer signess inconsistencies.
17937           Optimize dpb_find_lowest_poc() to align with original h264's decoder.
17938
17939 2015-04-16 14:13:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17940
17941         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17942           decoder: hevc: Add Support for tiled video decoding
17943           Based up on the value of uniform_spacing_flag in Picture Parameter Set,
17944           the tile column width and tile row height should be calculated.
17945           Equations: 6-1, 6-2
17946           Tiled video Descriptions: 7.3.2.3, 7.4.3.3
17947
17948 2015-04-16 14:13:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17949
17950         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17951           decoder: hevc: Fix decoding when there are RASL pictures present.
17952           -- Set NoRaslOutputFlag based on EOS and EOB Nal units
17953           -- Fix PicOutputFlag setting for RASL picture
17954           -- Fix prev_poc_lsb/prev_poc_msb calculation
17955           -- Drop the RASL frames if NoRaslOutputFlag is TRUE for the associated IRAP picture
17956           -- Fixed couple of crashes and added cosmetics
17957
17958 2015-04-14 10:54:54 +0100  Martin Sherburn <martin.sherburn@datapath.co.uk>
17959
17960         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
17961           display: drm: fix race condition setting device type
17962           There is a race condition where g_drm_device_type can be left set to
17963           DRM_DEVICE_RENDERNODES when it shouldn't.
17964           If thread 1 comes in and falls into the last else statement setting up both
17965           RENDERNODES and LEGACY types. And begins to process the first type (RENDERNODES),
17966           it sets g_drm_device_type = RENDERNODES.
17967           Now when thread 2 comes in and sees g_drm_device_type is RENDERNODES, it queues
17968           up that type to be tried but then encounters the lock and has to wait until the
17969           first thread finishes. Once the lock is acquired it will then proceed to ONLY try
17970           RENDERNODES and fail it. But it doesn't try LEGACY. And from then on, all future
17971           attempts will only try RENDERNODES.
17972           So to avoid this situation I have simply moved the acquisition of the lock higher
17973           up in the attached patch.
17974           https://bugzilla.gnome.org/show_bug.cgi?id=747914
17975
17976 2015-04-15 15:26:12 -0400  Olivier Crete <olivier.crete@collabora.com>
17977
17978         * gst/vaapi/gstvaapipostproc.c:
17979           vaapipostproc: Don't create filter on caps query
17980           The problem with this is that creating the filter causes the display to
17981           be selected, and the caps query happens while linking the element. So,
17982           if the downstream or upstream element is using a specific display
17983           object, it won't be propagated correctly to the postproc as it already
17984           has a display at this point.
17985           https://bugzilla.gnome.org/show_bug.cgi?id=747945
17986
17987 2015-04-15 15:20:17 -0400  Olivier Crete <olivier.crete@collabora.com>
17988
17989         * gst-libs/gst/vaapi/gstvaapivideopool.c:
17990           videopool: Release lock while allocating new object
17991           The video pool can be accessed with the display lock held, for example,
17992           when releasing a buffer from inside vaapisink_render, but allocating
17993           a new object can may also take the display lock. Which means a possible
17994           deadlock.
17995           https://bugzilla.gnome.org/show_bug.cgi?id=747944
17996
17997 2015-04-15 17:26:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17998
17999         * gst/vaapi/gstvaapisink.c:
18000           vaapisink: use GstVideoSink vmethod show_frame()
18001           vaapisink inherits from GstVideoSink, in order to use its functionality (such
18002           as ::show-preroll-frame property), we should use its vmethod show_frame(),
18003           rather than call ourselves render() and preroll().
18004
18005 2015-04-15 18:16:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18006
18007         * gst/vaapi/gstvaapisink.c:
18008         * gst/vaapi/gstvaapisink.h:
18009           vaapisink: add 'handoff' signal
18010           This patch adds the signal ::handoff and the property signal-handoffs. If the
18011           property is set TRUE, the signal ::handoff is emitted just after the buffer is
18012           rendered.
18013           Based on Zhao Halley <halley.zhao@intel.com>
18014           https://bugzilla.gnome.org/show_bug.cgi?id=747905
18015
18016 2015-04-14 10:17:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18017
18018         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
18019           HEVC: silence the compiler
18020           Fixed a couple of clang complains.
18021
18022 2015-02-02 16:42:43 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
18023
18024         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
18025           wayland: destroy vpp buffer pool on resize
18026           Otherwise the old buffers with the old size are used.
18027           https://bugzilla.gnome.org/show_bug.cgi?id=747491
18028
18029 2015-04-14 10:08:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18030
18031         * configure.ac:
18032         * gst-libs/gst/vaapi/Makefile.am:
18033           build: don't compile HEVC if not supported
18034           HEVC decoding was added recently libva-1.5.
18035           This patch avoids HEVC decoding support in libgstvaapi if it is not available
18036           in the installed libva.
18037           https://bugzilla.gnome.org/show_bug.cgi?id=747831
18038
18039 2015-04-13 16:04:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18040
18041         * gst/vaapi/gstvaapidecode.c:
18042           vaapidecode: Update Author name in plugin metadata
18043
18044 2015-04-13 15:43:30 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18045
18046         * gst/vaapi/gstvaapidecode.c:
18047           plugins: Add HEVC decoder
18048           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18049
18050 2015-04-13 15:41:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18051
18052         * gst-libs/gst/vaapi/Makefile.am:
18053         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
18054         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
18055           HEVC: Add HEVC(h265) decoder to core libgstvaapi
18056           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18057
18058 2015-04-13 14:53:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18059
18060         * gst-libs/gst/vaapi/Makefile.am:
18061         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
18062         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
18063         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
18064           HEVC: Add codec utility methods to core libgstvaapi
18065           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18066
18067 2015-04-13 14:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18068
18069         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18070         * gst-libs/gst/vaapi/gstvaapiprofile.h:
18071           HEVC: gstvaapiprofile: Add profile definitions
18072           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18073
18074 2015-04-13 14:52:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18075
18076         * configure.ac:
18077           HEVC: build: Check availability of h265 decoder APIs
18078           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18079
18080 2015-04-13 14:51:51 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18081
18082         * configure.ac:
18083         * ext/Makefile.am:
18084         * gst-libs/gst/codecparsers/Makefile.am:
18085           HEVC: Allow to build h265 codecparser internally
18086           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18087
18088 2015-04-08 18:05:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18089
18090         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
18091         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
18092         * gst-libs/gst/vaapi/gstvaapisurface.c:
18093           guard buffer export API if not available
18094           The support for buffer exports in VA-API was added in version 0.36. These
18095           interfaces are for interop with EGL, OpenCL, etc.
18096           GStreamer-VAAPI uses it for a dmabuf memory allocator. Though, gstreamer-vaapi
18097           has to support VA-API versions ranging from 0.30.4, which doesn't support it.
18098           This patch guards all the buffer exports handling (and dmabuf allocator) if
18099           the detected VA-API version is below 0.36.
18100           https://bugzilla.gnome.org/show_bug.cgi?id=746405
18101
18102 2015-04-13 11:29:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18103
18104         * ext/codecparsers:
18105           codecparsers: Update to gst-vaapi-branch commit 9bc72b0
18106           767bf22: codecparsers: h265: add helpers to convert quantization matrices
18107           71c8e93: codecparser: h265: skip byte alignment bits while parsing slice header
18108           3bf0355: codecparsre: h265: Fix the NumDeltaPocs calculation
18109           10e2087: codecparser: h265: Fix the NumPocTotalCurr calculatio
18110           2d753b8: codecparser: h265: Fix nal size calculation for EOS and EOB
18111
18112 2014-12-11 12:02:38 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
18113
18114         * gst/vaapi/gstvaapidecode.c:
18115           vaapidecode: unref video codec frame twice
18116           We get one reference when the frame is passed to decode_handle_frame()
18117           and create another one in gst_vaapi_decoder_push_frame().
18118           Usually the frame is handled in gst_vaapidecode_push_decoded_frame().
18119           Here the frame is always released twice:
18120           gst_video_decoder_finish_frame() + gst_video_codec_frame_unref() or
18121           gst_video_decoder_drop_frame() + gst_video_codec_frame_unref().
18122           In gst_vaapidecode_reset_full() both references to the frame must be
18123           released as well.
18124           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18125           https://bugzilla.gnome.org/show_bug.cgi?id=743226
18126
18127 2015-04-08 18:20:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18128
18129         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
18130           libs: remove unused variables
18131           clang reports these unused variables. Let's get rid of them.
18132           This patch is a missing part of commit c82e5173
18133           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18134
18135 2015-04-03 20:38:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18136
18137         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
18138           decoder: mpeg4: remove an spurious comparison
18139           The member size in GstMpeg4Packet is gsize which is unsigned, which cannot be
18140           less than zero. Hence this pre-condition test is a no-op. This patch removes
18141           that code.
18142           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18143
18144 2015-04-03 20:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18145
18146         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18147           encoder: h264: casts slice_param->slice_type
18148           slice_type in slice_param is defined as (char *), but it is compared against a
18149           signed integer. clang complains about this comparison.
18150           This patch casts the variable.
18151           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18152
18153 2015-04-03 20:31:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18154
18155         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
18156           encoder: avoid GstVaapiCodedBuffer redefinition
18157           The symbol GstVaapiCodedBuffer is already defined in
18158           gst-libs/gst/vaapi/gstvaapicodedbuffer.h which is loaded, at the end, by
18159           gstvaapiencoder_objects.h. Clang complains about the symbol re-definition.
18160           This patch removes that redefinition.
18161           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18162
18163 2015-04-03 20:28:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18164
18165         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
18166         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
18167           libs: remove unused variables
18168           clang reports these unused variables. Let's get rid of them.
18169           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18170
18171 2015-04-03 20:27:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18172
18173         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18174           encoder: mpeg2: use fabsf() instead of abs()
18175           The member value in frame_rate_tab is float, the result of the abs() function
18176           should be float too. But abs() only manages integers.
18177           This patch replaces abs() with fabsf() to handle correctly the possible floats
18178           values.
18179           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18180
18181 2015-04-03 20:02:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18182
18183         * gst-libs/gst/vaapi/gstvaapidecoder.c:
18184         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18185         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
18186         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18187         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
18188           decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME
18189           Since GST_VAAPI_DECODER_STATUS_DROP_FRAME is not part of the enum
18190           GstVaapiDecoderStatus, we need to cast it to avoid compiler complains.
18191           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18192
18193 2015-04-04 00:40:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18194
18195         * README:
18196           Update README
18197
18198 2015-04-04 00:06:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18199
18200         * .gitmodules:
18201         * README:
18202           Changing source code download links from https://gitorious  to https://github
18203           -- gitmodules: Change gstreamer-codecparsers submodule source download link
18204           -- README: Change the gstreamer-vaapi webpage link
18205
18206 2015-04-03 23:30:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18207
18208         * ext/codecparsers:
18209           codecparsers: update to gst-vaapi-branch commit 1f792e4
18210           87f4a7e: bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
18211           7d8ba7a: bytereader: use unchecked inline variant for get_remaining in more places
18212           2528ea6: bytereader: add gst_byte_reader_masked_scan_uint32_peek
18213           2b92a67: h264parse: reset the parser information when caps changes
18214           05eee86: codecparsers: Indent file
18215           e27a38b: codecparsers: Add READ_UE_MAX macro
18216           2036471: Constify some static arrays everywhere
18217
18218 2015-04-03 17:45:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18219
18220         * gst/vaapi/gstvaapivideoconverter_glx.c:
18221         * gst/vaapi/gstvaapivideoconverter_x11.c:
18222           Remove the gstvaapivideoconverter_*.c source files missed in commit 51b1e4a
18223
18224 2015-04-03 17:09:08 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18225
18226         * gst/vaapi/gstvaapidecode.c:
18227         * gst/vaapi/gstvaapidecodebin.c:
18228         * gst/vaapi/gstvaapiencode_h264.c:
18229         * gst/vaapi/gstvaapiencode_jpeg.c:
18230         * gst/vaapi/gstvaapiencode_mpeg2.c:
18231         * gst/vaapi/gstvaapiencode_vp8.c:
18232         * gst/vaapi/gstvaapipluginbase.c:
18233         * gst/vaapi/gstvaapipluginutil.c:
18234         * gst/vaapi/gstvaapipluginutil.h:
18235         * gst/vaapi/gstvaapipostproc.c:
18236         * gst/vaapi/gstvaapisink.c:
18237         * gst/vaapi/gstvaapivideobuffer.c:
18238         * gst/vaapi/gstvaapivideobufferpool.c:
18239         * gst/vaapi/gstvaapivideocontext.c:
18240         * gst/vaapi/gstvaapivideocontext.h:
18241         * gst/vaapi/gstvaapivideoconverter_glx.h:
18242         * gst/vaapi/gstvaapivideoconverter_x11.h:
18243         * gst/vaapi/gstvaapivideomemory.h:
18244         * gst/vaapi/gstvaapivideometa_texture.c:
18245           Removal of gstreamer-1.0 support
18246           The support for GStreamer 1.0 has been obsoleted in 0.5.10 release.
18247           GStreamer 1.2 is the a minimal requirement for building the gstreamer-vaapi.
18248           This patch removes all the pre-processor conditional code compilation guarded
18249           for gstreamer-1.0.
18250           Thus, all the video converters were removed too.
18251           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18252           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18253           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18254
18255 2015-04-03 17:08:30 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18256
18257         * gst-libs/gst/vaapi/gstcompat.h:
18258         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
18259         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18260         * gst-libs/gst/vaapi/sysdeps.h:
18261         * gst/vaapi/gstcompat.h:
18262         * gst/vaapi/gstvaapi.c:
18263         * gst/vaapi/gstvaapidecode.c:
18264         * gst/vaapi/gstvaapidecodebin.c:
18265         * gst/vaapi/gstvaapiencode.c:
18266         * gst/vaapi/gstvaapiencode_h264.c:
18267         * gst/vaapi/gstvaapiencode_jpeg.c:
18268         * gst/vaapi/gstvaapiencode_mpeg2.c:
18269         * gst/vaapi/gstvaapiencode_vp8.c:
18270         * gst/vaapi/gstvaapiparse.c:
18271         * gst/vaapi/gstvaapipluginbase.c:
18272         * gst/vaapi/gstvaapipluginutil.c:
18273         * gst/vaapi/gstvaapipostproc.c:
18274         * gst/vaapi/gstvaapisink.c:
18275         * gst/vaapi/gstvaapiuploader.c:
18276         * gst/vaapi/gstvaapivideobuffer.c:
18277         * gst/vaapi/gstvaapivideobufferpool.c:
18278         * gst/vaapi/gstvaapivideocontext.c:
18279         * gst/vaapi/gstvaapivideoconverter_glx.c:
18280         * gst/vaapi/gstvaapivideoconverter_x11.c:
18281         * gst/vaapi/gstvaapivideomemory.c:
18282         * gst/vaapi/gstvaapivideometa.c:
18283         * gst/vaapi/gstvaapivideometa_texture.c:
18284         * tests/codec.c:
18285           update and move gstcompat.h
18286           The purpose of gstcompat.h is to couple the API differences among
18287           gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is obsolete, the code
18288           in this compatibility layer shall be removed.
18289           Nevertheless, the gstcompat.h header should be kept, if new incompatibilites
18290           appear in the future, but it shall live in gst/vaapi, not in gst-libs.
18291           This patch removes the crumbs defined gstcompat.h and moves it to gst/vaapi.
18292           In order to avoid layer violations, gstcompat.h includes sysdeps.h and all
18293           the includes in gst/vaapi of sysdeps.h are replaced with gstcompat.h
18294           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18295           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18296           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18297
18298 2015-04-03 17:05:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18299
18300         * configure.ac:
18301         * gst/vaapi/Makefile.am:
18302           autotools: remove gstreamer-1.0 support
18303           This patch only removes the support of gstreamer-1.0 in the autotools
18304           scripts. No other files are touched.
18305           In the automake file all the converters were deprecated.
18306           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18307           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18308           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18309
18310 2015-04-03 17:03:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18311
18312         * .gitmodules:
18313         * ext/Makefile.am:
18314         * ext/videoutils:
18315           Remove the gstreamer-videoutils submodule
18316
18317 2015-04-03 17:01:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18318
18319         * configure.ac:
18320         * gst-libs/gst/Makefile.am:
18321         * gst-libs/gst/vaapi/Makefile.am:
18322         * gst-libs/gst/video/Makefile.am:
18323         * gst/vaapi/Makefile.am:
18324         * tests/Makefile.am:
18325           Remove libgstvaapi-videoutils.so
18326           This library was intended to add the base classes for video decoders which
18327           where not included in gstreamer-0.10.
18328           Since the support of gstreamer-0.10 is deprecated those classes are not
18329           required, thus the whole library is removed.
18330           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18331           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18332           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18333
18334 2015-04-03 16:55:43 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18335
18336         * configure.ac:
18337         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
18338         * gst-libs/gst/vaapi/gstvaapiutils.c:
18339         * tests/test-subpicture.c:
18340           Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro
18341           This macro guarded the use of HAVE_GST_VIDEO_OVERLAY_HWCAPS, which was not
18342           defined before gstreamer 0.10.35. Since the support of gstreamer-0.10 is
18343           deprecated these guards are not required.
18344           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18345           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18346           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18347
18348 2015-04-03 16:55:27 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18349
18350         * gst-libs/gst/vaapi/gstcompat.h:
18351         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
18352         * gst-libs/gst/vaapi/gstvaapidecoder.c:
18353         * gst-libs/gst/vaapi/gstvaapiimage.c:
18354         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
18355         * gst-libs/gst/vaapi/video-format.c:
18356         * gst-libs/gst/vaapi/video-format.h:
18357         * gst/vaapi/gstvaapi.c:
18358         * gst/vaapi/gstvaapidecode.c:
18359         * gst/vaapi/gstvaapidecodebin.c:
18360         * gst/vaapi/gstvaapidownload.c:
18361         * gst/vaapi/gstvaapidownload.h:
18362         * gst/vaapi/gstvaapiencode.c:
18363         * gst/vaapi/gstvaapiencode_h264.c:
18364         * gst/vaapi/gstvaapiencode_jpeg.c:
18365         * gst/vaapi/gstvaapiencode_mpeg2.c:
18366         * gst/vaapi/gstvaapiencode_vp8.c:
18367         * gst/vaapi/gstvaapiparse.c:
18368         * gst/vaapi/gstvaapipluginbase.c:
18369         * gst/vaapi/gstvaapipluginbase.h:
18370         * gst/vaapi/gstvaapipluginutil.c:
18371         * gst/vaapi/gstvaapipluginutil.h:
18372         * gst/vaapi/gstvaapipostproc.c:
18373         * gst/vaapi/gstvaapisink.c:
18374         * gst/vaapi/gstvaapiupload.c:
18375         * gst/vaapi/gstvaapiupload.h:
18376         * gst/vaapi/gstvaapiuploader.c:
18377         * gst/vaapi/gstvaapivideobuffer.c:
18378         * gst/vaapi/gstvaapivideoconverter_glx.c:
18379         * gst/vaapi/gstvaapivideoconverter_x11.c:
18380         * gst/vaapi/gstvaapivideometa.c:
18381         * gst/vaapi/gstvaapivideometa.h:
18382         * tests/test-filter.c:
18383         * tests/test-subpicture.c:
18384           Removal of gstreamer-0.10 support
18385           This patch removes all the pre-processor conditional code compilation guarded
18386           for gstreamer-0.10.
18387           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18388           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18389           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18390
18391 2015-04-03 16:54:54 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18392
18393         * configure.ac:
18394         * debian.upstream/control.in:
18395         * gst-libs/gst/video/Makefile.am:
18396         * gst/vaapi/Makefile.am:
18397           autotools: remove gstreamer-0.10 support
18398           This patch only removes the support of gstreamer-0.10 in the autotools
18399           scripts. No other files are touched.
18400           The configuration parameter --gstreamer-api was deleted since now it is always
18401           auto-detected.
18402           The verification of vmethod query in GstBaseSinkClass was removed since it was
18403           added in gstreamer 0.10.35. The same case for GstVideoOverlayComposition and
18404           its format flags.
18405           The precious variable GST_PLUGIN_PATH was removed, while GST_PLUGIN_PATH_1_0
18406           remained.
18407           The automake files were changed accordingly.
18408           Removed, in debian/control, the vaapiupload and vaapidownload descriptions.
18409           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18410           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18411           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18412
18413 2015-03-16 23:38:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18414
18415         * gst/vaapi/gstvaapidecode.c:
18416           vaapidecode: add drain() vmethod
18417           In GStremer v1.6 a new vmethod drain() was added in GstVideoDecoder
18418           class. This patch implements this new method.
18419           https://bugzilla.gnome.org/show_bug.cgi?id=742922
18420           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18421           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18422
18423 2015-03-16 23:37:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18424
18425         * gst/vaapi/gstvaapidecode.c:
18426           vaapidecode: remove vmethod reset()
18427           Since in bug #745728 the support for GStreamer 1.0 is going to be dropped,
18428           this patch removes the method reset() which was deprecated in GStreamer 1.2.
18429           https://bugzilla.gnome.org/show_bug.cgi?id=742922
18430           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18431           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18432
18433 2015-03-16 23:36:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18434
18435         * gst/vaapi/gstvaapidecode.c:
18436           vaapidecode: handle flush() vmethod
18437           Since GStreamer 1.2 the vmethod reset() in GstVideoDecoderClass was deprecated
18438           and flush() was added.
18439           This patch set the vmethod flush() if the installed GStreamer version is 1.2 or
18440           superior. Otherwise, reset() is set.
18441           v2: 1) In order to avoid symbol collision, the old method gst_vaapidecode_flush()
18442           was renamed to gst_vaapidecode_internal_flush().
18443           2) The new vmethod flush() always do a hard full reset.
18444           v3: 1) Call gst_vaapidecode_internal_flush() first in flush() vmethod, in order to
18445           gather all collected data with  gst_video_decoder_have_frame()
18446           https://bugzilla.gnome.org/show_bug.cgi?id=742922
18447           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18448           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18449
18450 2015-03-16 23:10:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18451
18452         * gst/vaapi/gstvaapidecode.c:
18453           vaapidecode: call the correct query function
18454           In commit 2f8c115 (vaapidecode: use the query virtual methods in 1.4)
18455           a bug was introduced: when calling the parent's query function of the
18456           src pad, the one of the sink pad is called instead. This patch fixes
18457           this issue.
18458           https://bugzilla.gnome.org/show_bug.cgi?id=746248
18459
18460 2015-03-15 00:36:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18461
18462         * .gitmodules:
18463           gitmodules: Use https:// url instead of git:// for submodules.
18464           Gitorious is failing to clone repositories over git:// url.
18465
18466 2015-03-14 22:12:19 +0200  Julien Isorce <j.isorce@samsung.com>
18467
18468         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18469           vaapidisplay: mark X11 display as compatible with EGL
18470           GST_GL_WINDOW=x11 GST_GL_API=gles2 GST_GL_PLATFORM=egl
18471           gst-launch-1.0 ... ! vaapidecode ! glimagesink
18472           https://bugzilla.gnome.org/show_bug.cgi?id=745902
18473           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18474
18475 2015-03-06 15:20:01 +0200  Olivier Crete <olivier.crete@collabora.com>
18476
18477         * gst/vaapi/gstvaapidecode.c:
18478           vaapidecode: Don't crash if a buffer outlives the decoder
18479           Sometimes, for example, when switching video streams but keeping
18480           the same sink, the surface will be released after the decoder is
18481           stopped and replaced. This caused a crash because the release
18482           callback was called on an invalid pointer.
18483           The patch adding an additional reference to the decoder object in the buffer.
18484           https://bugzilla.gnome.org/show_bug.cgi?id=745189
18485           Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
18486           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18487
18488 2015-03-06 14:31:21 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18489
18490         * gst/vaapi/gstvaapidecode.c:
18491           vaapidecode: clean-ups (indentation, drop unused variables)
18492
18493 2015-03-06 14:09:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18494
18495         * gst/vaapi/gstvaapidecode.c:
18496           vaapidecode: use the query virtual methods in 1.4
18497           GstVideoDecoder, the base class of vaapidecode, added support for
18498           pad queries as virtual methods. This patch enables the use of that
18499           support, while keeping support for lower versions of gstreamer.
18500           This patch is important because GstVideoDecoder takes care of other
18501           queries that might be important in the pipeline managing.
18502           v2: 1) rebase to current master
18503           2) fix indentation with gst-indent
18504           3) simplify the patch layout
18505           4) fix the context query
18506           5) initialise the filter to NULL
18507           6) improve the query log message for gst-1.2
18508           https://bugzilla.gnome.org/show_bug.cgi?id=744406
18509
18510 2015-03-06 12:16:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18511
18512         * gst/vaapi/gstvaapipostproc.c:
18513         * gst/vaapi/gstvaapipostproc.h:
18514           vaapipostproc: always activate buffer pool
18515           The vaapipostproc has a proxy flag to know if the the buffer pool is
18516           already active. But this fails in some situations where it is needed
18517           to renegotiate the buffer pool.
18518           This patch removes that flag so the renegotiation is done whenever is
18519           required.
18520           https://bugzilla.gnome.org/show_bug.cgi?id=745535
18521
18522 2015-03-02 17:04:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18523
18524         * gst/vaapi/gstvaapisink.c:
18525           vaapisink: fix minor memory leak in debug mode.
18526           The gst_video_colorimetry_to_string() function returns a newly created
18527           string that represents the GstVideoColorimetry value. So, that needs
18528           to be released after usage, in e.g. GST_DEBUG().
18529
18530 2015-03-03 12:37:41 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18531
18532         * gst/vaapi/gstvaapidecodebin.h:
18533           vaapidecodebin: Avoid usage of "__" prefix in macro names
18534           Avoiding "__" prefix usage in Header File Guards as per
18535           C standard recommendation.
18536
18537 2015-03-03 12:31:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18538
18539         * gst/vaapi/gstvaapi.c:
18540           plugins: Disable vaapidecodebin for GStreamer < 1.4
18541           There are autoplugging issues in GStreamer-1.2.
18542           Lets disable vaapidecodebin untill we get some workarounds for this.
18543
18544 2015-03-02 15:19:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18545
18546         * gst/vaapi/Makefile.am:
18547         * gst/vaapi/gstvaapi.c:
18548         * gst/vaapi/gstvaapidecodebin.c:
18549         * gst/vaapi/gstvaapidecodebin.h:
18550           plugins: Add a vaapidecodebin element
18551           Add a "vaapidecodebin" element to vaapi plugins.
18552           Child Elements: "vaapidecode ! queue ! vaapipostproc"
18553           The Reasons for implementing a new bin element:
18554           -- Help to Autoplug Hardware Accelerated Video Postprocessing element in playbin
18555           with out any dependency to upstream gstreamer.
18556           This is to overcome the *unacceptable* delay in upstream gstreamer to get new
18557           features in. Eg: https://bugzilla.gnome.org/show_bug.cgi?id=687182.
18558           Also customers using older gstreamer versions (1.2 and 1.4) will get the
18559           benefit of autoplugging, hardware accelerated deinterlacing support etc.
18560           -- Help to maintain a single thread implementation in vaapidecode.
18561           This will result a dead-lock free vaapidecode in most of the cases.
18562           More details here: https://bugzilla.gnome.org/show_bug.cgi?id=742605
18563           https://bugzilla.gnome.org/show_bug.cgi?id=745216
18564
18565 2015-03-02 14:59:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18566
18567         * gst/vaapi/gstvaapidecode.c:
18568           vaapidecode: re-indent (gst-indent) gstvaapidecode.c
18569
18570 2015-03-02 14:46:38 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
18571
18572         * gst/vaapi/gstvaapidecode.c:
18573         * gst/vaapi/gstvaapidecode.h:
18574           vaapidecode: Switch back to Single thread implementation
18575           Because the decoder uses the thread from handle_frame() to decode a frame,
18576           the src pad task creates an unsolveable AB-BA deadlock between
18577           handle_frame() waiting for a free surface and decode_loop() pushing
18578           decoded frames out.
18579           Instead, have handle_frame() take responsibility for pushing surfaces,
18580           and remove the deadlock completely. If you need a separate thread
18581           downstream, you can insert a queue between vaapidecode and its downstream
18582           to get one.
18583           Another justification for the single thread implementation is,
18584           there are two many point of locking in gstreamer-vaapi's current
18585           implementation which can lead to deadlocks.
18586           https://bugzilla.gnome.org/show_bug.cgi?id=742605
18587           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
18588           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18589           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18590
18591 2015-03-02 13:28:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18592
18593         * gst/vaapi/gstvaapipluginbase.c:
18594           plugins: fix detection of upstream v4l2src element.
18595           Improve check for upstream element that requires DMABUF buffer pool,
18596           e.g. v4l2src element. In particular, make sure to traverse through
18597           any additional capsfilter for instance.
18598           Note: the traversal to the top-most upstream element could be made
18599           more generic, but we are insofar only interested in supporting pipes
18600           similar to v4l2src or v4l2src ! capsfilter, e.g. with an explicit
18601           specification for a desired video camera format, or resolution.
18602
18603 2015-03-02 11:12:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18604
18605         * gst/vaapi/gstvaapivideomemory.c:
18606           plugins: fix allocation of DMABUF memory.
18607           The dmabuf allocator would close the DMABUF handle passed in the init
18608           function gst_dmabuf_allocator_alloc(). So, we need to dup() it so that
18609           to avoid a double close, ultimately in the underlying driver that owns
18610           the DMABUF handle.
18611
18612 2015-02-26 12:28:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18613
18614         * gst/vaapi/gstvaapidecode.c:
18615           vaapidecode: keep src caps and output state in sync
18616           vaapidecode keeps an output state that use the format
18617           GST_VIDEO_FORMAT_ENCODED, while it crafts a different src caps
18618           for a correct negotiation.
18619           I don't see the rational behind this decoupling, it looks like
18620           unnecessary complexity. This patch simplify this logic keeping
18621           in sync the output state and the src caps.
18622           This patch improves the readability of the function
18623           gst_vaapidecode_update_src_caps() and simplify its logic. Also,
18624           the patch validates if the buffer pool has the configuration for
18625           the GL texture upload meta, in order to set the caps feature
18626           meta:GLTextureUpload. Otherwise, the I420 format is set back.
18627           https://bugzilla.gnome.org/show_bug.cgi?id=744618
18628           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18629           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18630
18631 2015-02-26 12:26:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18632
18633         * gst/vaapi/gstvaapidecode.c:
18634           vaapidecode: upload meta only if feature and allocation
18635           When vaapidecode finishes the decoding of a frame and pushes it,
18636           if, in the decide_allocation() method, it is determined if the
18637           next element supports the GL texture upload meta feature, the
18638           decoder adds the buffer's meta.
18639           Nonetheless, in the same spirit of the commit 71d3ce4d, the
18640           determination if the next element supports the GL texture upload
18641           meta needs to check both the preferred caps feature *and* if the
18642           allocation query request the API type.
18643           This patch, first removes the unused variable need_pool, and
18644           determines the attribute has_texture_upload_meta using the
18645           preferred caps feature *and* the allocation query.
18646           Also, the feature passed to GstVaapPluginBase is not longer
18647           determined by has_texture_upload_meta, but by the computed
18648           preferred one.
18649           https://bugzilla.gnome.org/show_bug.cgi?id=744618
18650           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18651           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18652
18653 2015-02-26 12:24:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18654
18655         * gst/vaapi/gstvaapidecode.c:
18656         * gst/vaapi/gstvaapidecode.h:
18657         * gst/vaapi/gstvaapipluginutil.c:
18658         * gst/vaapi/gstvaapipluginutil.h:
18659           vaapidecode: delayed src caps negotiation
18660           Currently the src caps are set immediately after the sink caps are set, but in
18661           that moment the pipeline might not fully constructed and the video sink has
18662           not negotiated its supported caps and features. As a consequence, in many cases
18663           of playback, the least optimized caps feature is forced. This is partially the
18664           responsible of bug #744039.
18665           Also, vaapidecode doesn't attend the reconfigure events from downstream,
18666           which is a problem too, since the video sink can be changed with different
18667           caps features.
18668           This patch delays the src caps, setting them until the first frame arrives to
18669           the decoder, assuming until that very moment the whole pipeline is already
18670           negotiated. Particularly, it checks if the src pad needs to be reconfigured,
18671           as a consequence of a reconfiguration event from downstream.
18672           A key part of this patch is the new GstVaapiCapsFeature
18673           GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED, which is returned when the src pad
18674           doesn't have a peer yet. Also, for a better report of the caps allowed
18675           through the src pad and its peer, this patch uses gst_pad_get_allowed_caps()
18676           instead of gst_pad_peer_query_caps() when looking for the preferred feature.
18677           v3: move the input_state unref to close(), since videodecoder resets at
18678           some events such as navigation.
18679           v4: a) the state_changed() callback replaces the input_state if the media
18680           changed, so this case is also handled.
18681           b) since the parameter ref_state in gst_vaapidecode_update_src_caps() is
18682           always the input_state, the parameter were removed.
18683           c) there were a lot of repeated code handling the input_state, so I
18684           refactored it with the function gst_vaapi_decode_input_state_replace().
18685           https://bugzilla.gnome.org/show_bug.cgi?id=744618
18686           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18687           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18688
18689 2015-02-24 17:14:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18690
18691         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18692         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
18693           encoder: h264: add support for more than 2 views
18694           Add support for H.264 MVC Multiview High profile encoding with
18695           more than 2 views. All views within the same accesss unit are
18696           provided in increasing order of view order index (VOIdx).
18697           Upto 10 view are supported for now.
18698           A new property "view-ids" has been provided for the plugins to
18699           set the view ids (which is an array of guint values) to be used
18700           for mvc encoding.
18701           https://bugzilla.gnome.org/show_bug.cgi?id=732453
18702
18703 2015-02-23 16:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18704
18705         * gst/vaapi/gstvaapipluginbase.c:
18706           plugins: upload meta only if feature and allocation
18707           Working on bug #743687, I realized that vaapidecode always adds to its buffer
18708           pool the config option GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META if
18709           the decide_allocation()'s query has GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE.
18710           Nevertheless, there are occasions where the query has the API type, but the
18711           last negotiated caps don't have the feature meta:GstVideoGLTextureUploadMeta.
18712           Under this contradiction, vaapidecode adds the GLTextureUploadMeta API to its
18713           buffer pool configuration, and adds its buffer's meta to each output buffer,
18714           even if the negotiated caps feature is memory:SystemMemory with I420 color
18715           format.
18716           This kind of output buffers chokes ClutterAutoVideosSink, since it uses a map
18717           that relates caps <-> GL upload method. If it receives a buffer with color
18718           format I420, it assumes that it doesn't have a texture upload meta, because
18719           only those with RGB color format has it. Our buffers, with I420 format, say
18720           that they have the upload meta too. In that case the mapped method is a dummy
18721           one which does nothing. I reported this issue in bug #744039 (the patch,
18722           obviously, was rejected).
18723           This patch workarounds the problem: the buffer pool's configuration option
18724           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META is set if and only if the
18725           query has the GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE *and* the negotiated
18726           caps feature is meta:GstVideoGLTextureUploadMeta.
18727           I have tested these patches with gst-master (1.5), gst-1.4 and gst-1.2 and
18728           in all they seem to work correctly.
18729           https://bugzilla.gnome.org/show_bug.cgi?id=744618
18730           [adapted to fit current EGL changes]
18731           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18732
18733 2015-02-20 15:13:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18734
18735         * gst-libs/gst/vaapi/gstvaapitexture.c:
18736         * gst-libs/gst/vaapi/gstvaapitexture.h:
18737         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
18738         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
18739         * gst/vaapi/gstvaapivideometa_texture.c:
18740           plugins: add support for GstVideoGLTextureOrientation.
18741           Add support for GstVideoGLTextureOrientation modes. In particular,
18742           add orientation flags to the GstVaapiTexture wrapper and the GLX
18743           implementations. Default mode is that texture memory is laid out
18744           with top lines first, left row first. Flags indicate whether the
18745           X or Y axis need to be inverted.
18746
18747 2015-02-09 21:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18748
18749         * gst/vaapi/gstvaapidecode.c:
18750         * gst/vaapi/gstvaapipluginbase.c:
18751         * gst/vaapi/gstvaapipluginutil.c:
18752         * gst/vaapi/gstvaapipluginutil.h:
18753         * gst/vaapi/gstvaapipostproc.c:
18754         * gst/vaapi/gstvaapivideometa_texture.c:
18755           plugins: add support for BGRA textures.
18756           Some frameworks (EFL) expect BGRA textures for storage. However,
18757           adding support for that broadly into GStreamer framework  implies
18758           two kinds of hacks: (i) libgstgl helpers currently do not support
18759           BGRA textures correctly, (ii) we need to better parse downstream
18760           suggested caps and intersect them with what the VA plugin elements
18761           can offer to them for GL texturing.
18762
18763 2015-01-23 09:31:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18764
18765         * gst/vaapi/gstvaapipluginutil.c:
18766           plugins: fix support for Wayland/EGL running alongside X11.
18767           When multiple display servers are available, the glimagesink element
18768           (from GStreamer 1.4) may not be able to derive a global display in
18769           Wayland. Rather, a "window"-specific display is created. In this case,
18770           the GstGLDisplay handle available through GstGLContext is invalid.
18771           So, try to improve heuristics for display server characterisation in
18772           those particular situations.
18773
18774 2015-02-20 15:29:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18775
18776         * configure.ac:
18777         * gst/vaapi/Makefile.am:
18778         * gst/vaapi/gstvaapidecode.c:
18779         * gst/vaapi/gstvaapipluginbase.c:
18780         * gst/vaapi/gstvaapipluginutil.c:
18781         * gst/vaapi/gstvaapivideobufferpool.c:
18782         * gst/vaapi/gstvaapivideometa_texture.c:
18783           plugins: add initial support for EGL.
18784           Add initial support for EGL through GstVideoGLTextureUploadMeta.
18785           Fix gst_vaapi_ensure_display() to allocate a GstVaapiDisplay off the
18786           downstream supplied GstGLContext configuration, i.e. use its native
18787           display handle to create a GstVaapiDisplay of type X11 or Wayland ;
18788           and use the desired OpenGL API to allocate the GstVaapiDisplayEGL
18789           wrapper.
18790           https://bugzilla.gnome.org/show_bug.cgi?id=741079
18791
18792 2014-12-09 11:46:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18793
18794         * gst/vaapi/gstvaapivideometa_texture.c:
18795           plugins: track video texture size changes.
18796           Sync video texture sizes to GstVideoGLTextureUploadMeta private date,
18797           i.e. GstVaapiVideoMetaTexture, on a regular basis. In particular, we
18798           now update the texture size from the GstVideoMeta, if any, or reset
18799           to some defaults otherwise.
18800
18801 2014-12-03 15:45:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18802
18803         * gst/vaapi/gstvaapipluginbase.c:
18804         * gst/vaapi/gstvaapipluginbase.h:
18805         * gst/vaapi/gstvaapipluginutil.c:
18806           plugins: ensure VA display matches GL context expectations.
18807           If a GstGLContext is supplied by the downstream element, then make
18808           sure that the VA plugin element gets a compatible display to what
18809           is requested by the GL context. e.g. re-allocate a VA/GLX display
18810           when a GLX context is provided by the downstream element.
18811
18812 2014-12-03 14:14:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18813
18814         * configure.ac:
18815         * gst/vaapi/Makefile.am:
18816         * gst/vaapi/gstvaapipluginbase.c:
18817         * gst/vaapi/gstvaapipluginbase.h:
18818           plugins: record downstream GstGLContext.
18819           Record GL context supplied by downstream elements. This can be useful,
18820           and further needed, to enforce run-time check that the GL context is
18821           compatible for use by libgstvaapi. e.g. check that we don't create a
18822           VA/GLX display for EGL/X11 contexts.
18823           https://bugzilla.gnome.org/show_bug.cgi?id=725643
18824           Original-path-by: Matthew Waters <ystreet00@gmail.com>
18825
18826 2014-12-01 14:52:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18827
18828         * tests/Makefile.am:
18829         * tests/output.c:
18830           egl: update tests.
18831           Add initial support for EGL to tests. The new EGL backend can be selected
18832           through the --egl command line option. The OpenGL|ES version can further
18833           be selected with the --gles-version command line option, where the default
18834           of 0 means "desktop" OpenGL.
18835
18836 2015-01-27 16:21:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18837
18838         * gst-libs/gst/vaapi/Makefile.am:
18839         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
18840         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
18841         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
18842         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
18843         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
18844           egl: add windowing support.
18845           This provides for some basic EGL window abstraction.
18846
18847 2015-01-24 08:29:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18848
18849         * gst-libs/gst/vaapi/Makefile.am:
18850         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
18851         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
18852         * gst-libs/gst/vaapi/gstvaapitexture_egl.h:
18853           egl: add texture abstraction.
18854           Add GstVaapiTextureEGL abstraction that can create its own GL texture,
18855           or import a foreign allocated one, while still allowing updates from a
18856           VA surface.
18857
18858 2014-12-09 18:14:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18859
18860         * gst-libs/gst/vaapi/Makefile.am:
18861         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
18862         * gst-libs/gst/vaapi/gstvaapisurface_egl.h:
18863           egl: allow for EGLImage imports into VA Surfaces.
18864           Add helpers to import EGLImage objects into VA surfaces. There are
18865           two operational modes: (i) gst_vaapi_surface_new_from_egl_image(),
18866           which allows for implicit conversion from EGLImage to a VA surface
18867           in native video format, and (ii) gst_vaapi_surface_new_with_egl_image(),
18868           which exactly wraps the source EGLImage, typically in RGBA format
18869           with linear storage.
18870           Note: in case of (i), the EGLImage can be disposed right after the
18871           VA surface creation call, unlike in (ii) where the user shall ensure
18872           that the EGLImage is live until the associated VA surface is no longer
18873           needed.
18874           https://bugzilla.gnome.org/show_bug.cgi?id=743847
18875
18876 2015-02-20 15:27:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18877
18878         * configure.ac:
18879         * gst-libs/gst/vaapi/Makefile.am:
18880         * gst-libs/gst/vaapi/egl_compat.h:
18881         * gst-libs/gst/vaapi/egl_vtable.h:
18882         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18883         * gst-libs/gst/vaapi/gstvaapidisplay.h:
18884         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
18885         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
18886         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
18887         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
18888         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
18889         * gst-libs/gst/vaapi/ogl_compat.h:
18890           Add initial support for EGL.
18891           Add initial support for EGL to libgstvaapi core library. The target
18892           display server and the desired OpenGL API can be programmatically
18893           selected at run-time.
18894           A comprehensive set of EGL utilities are provided to support those
18895           dynamic selection needs, but also most importantly to ensure that
18896           the GL command stream is executed from within a single thread.
18897           https://bugzilla.gnome.org/show_bug.cgi?id=743846
18898
18899 2015-01-30 21:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18900
18901         * gst-libs/gst/vaapi/gstvaapivalue.c:
18902           libs: initialize GValues in a thread-safe manner.
18903
18904 2015-01-30 21:35:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18905
18906         * gst-libs/gst/vaapi/gstvaapivalue.c:
18907           libs: re-indent all GValue related source code.
18908
18909 2015-01-22 22:45:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18910
18911         * gst/vaapi/gstvaapidecode.c:
18912           vaapidecode: partially revert 0777f35.
18913           Reset the VA decoder after updating the base plugin caps, and most
18914           importantly, after GstVideoDecoder negotiation. The reason behind
18915           this is that the negotiation could trigger a last decide_allocation()
18916           where we could actually derive a new GstVaapiDisplay to use from the
18917           downstream element. e.g. GLX backend.
18918
18919 2015-02-19 13:37:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18920
18921         * gst/vaapi/gstvaapidecode.c:
18922           vaapidecode: Caps query should return the list of all supported caps.
18923           Query caps filtering should be always done on top of allowed caps instead
18924           of existing fixed caps on a particular pad.
18925           This fixes the mvc stream decoding when there is a base view(high profile)
18926           and non-base view(stereo-high profile).
18927
18928 2015-02-18 13:36:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18929
18930         * gst/vaapi/gstvaapidecode.c:
18931           vaapidecode: intersect filter from query caps
18932           According to documentation[1] when receiving a GST_QUERY_CAPS
18933           the return value should be all formats that this elements supports,
18934           taking into account limitations of peer elements further downstream
18935           or upstream, sorted by order of preference, highest preference first.
18936           This patch add those limitations intersecting with the received
18937           filter in the query. Also takes into account the already negotiated
18938           caps. Also adds the processing of the query on the SRC pad.
18939           1. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-nego-getcaps.html
18940           https://bugzilla.gnome.org/show_bug.cgi?id=744406
18941
18942 2015-02-18 11:46:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18943
18944         * gst-libs/gst/vaapi/Makefile.am:
18945         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
18946         * gst-libs/gst/vaapi/gstvaapidecoder.c:
18947         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18948         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18949         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
18950         * gst/vaapi/gstvaapivideomemory.c:
18951           Fix compiler warnings
18952           This patch fixes some warnings that gcc 4.9 reports.
18953           https://bugzilla.gnome.org/show_bug.cgi?id=744411
18954
18955 2015-02-18 11:22:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18956
18957         * gst/vaapi/gstvaapidecode.c:
18958           vaapidecode: Use GST_DEBUG_FUNCPTR for gst_vaapidecode_query()
18959           Hence the function name is shown in the gst-inspect-1.0 information
18960           rather than the memory address.
18961           https://bugzilla.gnome.org/show_bug.cgi?id=744330
18962
18963 2015-02-18 11:21:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18964
18965         * gst/vaapi/gstvaapidecode.c:
18966           vaapidecode: log flow error name
18967           https://bugzilla.gnome.org/show_bug.cgi?id=744387
18968
18969 2015-02-18 11:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18970
18971         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
18972           VC1: decoder: Ignore VC1 user BDU's
18973           Don't return error if the processed BDU is a user one, just ignore them.
18974           https://bugzilla.gnome.org/show_bug.cgi?id=741237
18975           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18976
18977 2015-02-18 11:19:26 +0200  Olivier Crete <olivier.crete@collabora.com>
18978
18979         * gst/vaapi/gstvaapidecode.c:
18980         * gst/vaapi/gstvaapipluginbase.c:
18981           vaapidecode: Emit error GstMessage when returning a GST_FLOW_ERROR
18982           This is required in GStreamer, elements should never return
18983           GST_FLOW_ERROR without posting an ERROR message on the bus.
18984           https://bugzilla.gnome.org/show_bug.cgi?id=744620
18985
18986 2015-02-13 13:45:32 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18987
18988         * gst/vaapi/Makefile.am:
18989         * gst/vaapi/gstvaapi.c:
18990         * gst/vaapi/gstvaapiencode_vp8.c:
18991         * gst/vaapi/gstvaapiencode_vp8.h:
18992           plugins: Add VP8 Encoder
18993
18994 2015-02-13 13:42:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18995
18996         * gst-libs/gst/vaapi/Makefile.am:
18997         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
18998         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
18999           Add VP8 Encoder to core libgstvaapi.
19000
19001 2015-02-13 13:40:19 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19002
19003         * configure.ac:
19004           configure: Add Check for VP8 Encoding API
19005
19006 2015-02-10 11:40:16 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
19007
19008         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
19009           decoder: vc1: Rounding control handling for VC1 simple and Main profile
19010           Added rounding control handling for VC1 simple and Main profile
19011           based on VC1 standard spec: section 8.3.7
19012           https://bugzilla.gnome.org/show_bug.cgi?id=743958
19013           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
19014           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19015
19016 2015-02-06 12:10:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19017
19018         * gst/vaapi/Makefile.am:
19019           build: fix make dist when certain conditionals not met.
19020           Fix typo which was preventing the inclusion of jpeg encoder
19021           source files from make dist (when there is no jpeg encoder
19022           API support in libva).
19023
19024 2015-02-05 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19025
19026         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
19027           encoder: jpeg: Fix the sampling factor calculation for ENCODED format.
19028           If the incoming raw video format is GST_VIDEO_FORMAT_ENCODED,
19029           use native YUV420 format (which is i420) as default.
19030
19031 2015-02-05 12:13:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19032
19033         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19034           encoder: Only support YUV420 native format as input for now
19035           Practically we should be able to support more formats, for eg:
19036           JPEG Encoder can support YUV422, RGBA and all.
19037           But this is causing more issues which need proper fix here and there.
19038
19039 2015-02-04 18:34:59 +0200  Olivier Crete <olivier.crete@collabora.com>
19040
19041         * gst-libs/gst/vaapi/gstvaapidecoder.h:
19042         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
19043         * gst/vaapi/gstvaapidecode.c:
19044           vaapidecode: Check the condition after taking the lock
19045           Otherwise the condition could become true before the lock
19046           is taken and the g_cond_signal() could be called
19047           before the g_cond_wait(), so the g_cond_wait() is never
19048           awoken.
19049           https://bugzilla.gnome.org/show_bug.cgi?id=740645
19050
19051 2015-02-04 11:18:29 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19052
19053         * gst/vaapi/Makefile.am:
19054         * gst/vaapi/gstvaapi.c:
19055         * gst/vaapi/gstvaapiencode_jpeg.c:
19056         * gst/vaapi/gstvaapiencode_jpeg.h:
19057           plugins: Add JPEG encoder element
19058
19059 2015-02-04 11:17:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19060
19061         * gst-libs/gst/vaapi/gstvaapicontext.c:
19062           gstvaapicontext: Add VAConfigAttribValEncJPEG to the attribute list using for VAConfig creation.
19063
19064 2015-02-04 11:17:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19065
19066         * gst-libs/gst/vaapi/gstvaapicontext.c:
19067           gstvaapicontext: Don't use the unsupported Ratecontrol attributes for vaCreateConfig
19068           Don't add the VAConfigAttribRateControl to the attribute list using
19069           for the vaCreateConfig if it is not supported by the driver.
19070
19071 2015-02-04 11:17:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19072
19073         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19074           gstvaapiencoder: Use hardcoded packed_raw_data flag for JPEG Encoding
19075
19076 2015-02-04 11:16:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19077
19078         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19079           gstvaapiencoder: Fix crash when handling rate control mask
19080           Having a ratecontrol_mask equal to zero is not a bug, but the driver
19081           might not be supporting any kind of rate control mechanisms.
19082           Eg: JPEG Encoding
19083
19084 2015-02-04 11:16:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19085
19086         * gst-libs/gst/vaapi/Makefile.am:
19087         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
19088         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
19089           encoder: Add JPEG Encoder
19090
19091 2015-02-04 11:15:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19092
19093         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
19094         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
19095           encoder_objects: Add QuantizationMatrix and JPEGHuffmanTable
19096
19097 2015-02-04 11:15:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19098
19099         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19100         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19101         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19102         * gst-libs/gst/vaapi/gstvaapiprofile.h:
19103           Encode: Add support for Picture level Entrypoint
19104           This is useful for JPEG encoding which is utilizing picture level
19105           entrypoint instead of slice level entrypoint like h264,mpeg2 etc.
19106
19107 2015-02-04 11:14:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19108
19109         * configure.ac:
19110           configure: Add Check for JPEG encoding API
19111
19112 2015-02-03 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19113
19114         * AUTHORS:
19115           AUTHORS: Updates
19116
19117 2015-02-03 13:08:01 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19118
19119         * configure.ac:
19120           Bump version for development.
19121
19122 === release 0.5.10 ===
19123
19124 2015-02-03 10:00:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19125
19126         * configure.ac:
19127           0.5.10
19128
19129 2015-02-03 10:00:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19130
19131         * NEWS:
19132           NEWS: Updates
19133
19134 2015-02-02 11:43:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19135
19136         * gst/vaapi/gstvaapivideometa_texture.c:
19137           Fix compilation error if there is no GL/gl.h header file installed
19138
19139 2015-01-28 18:09:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19140
19141         * gst/vaapi/gstvaapivideomemory.h:
19142           plugins: drop leftover declaration.
19143           GstVaapiVideoMemory quark is not needed any more, and the actual
19144           implementation was already removed bfore the merge. i.e. this is
19145           an oversight for a hunk that was not meant to be pushed.
19146
19147 2015-01-26 18:30:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19148
19149         * gst/vaapi/gstvaapipluginbase.c:
19150         * gst/vaapi/gstvaapivideobufferpool.c:
19151         * gst/vaapi/gstvaapivideobufferpool.h:
19152         * gst/vaapi/gstvaapivideomemory.c:
19153         * gst/vaapi/gstvaapivideomemory.h:
19154           plugins: add support for dma_buf exports (v4l2src).
19155           Allow v4l2src element to connected to vaapipostproc or vaapisink when
19156           "io-mode" is set to "dmabuf-import". In practice, this is a more likely
19157           operational mode with uvcvideo. Supporting v4lsrc with "io-mode" set
19158           to "dmabuf" could work, but with more demanding driver or kernel reqs.
19159           Note: with GStreamer 1.4, v4l2src (gst-plugins-good) needs to be built
19160           with --without-libv4l2.
19161           https://bugzilla.gnome.org/show_bug.cgi?id=743635
19162
19163 2014-01-23 05:00:09 -0500  Wind Yuan <feng.yuan@intel.com>
19164
19165         * configure.ac:
19166         * gst/vaapi/Makefile.am:
19167         * gst/vaapi/gstvaapipluginbase.c:
19168           plugins: add support for dma_buf imports.
19169           Allow imports of v4l2 buffers into VA surfaces for further operation
19170           with vaapi plugins, e.g. vaapipostproc or vaapiencode_* elements.
19171           https://bugzilla.gnome.org/show_bug.cgi?id=735362
19172           [fixed memory leaks, ported to new dma_buf infrastructure, cleanups]
19173           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19174
19175 2014-09-15 15:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19176
19177         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19178         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19179           surface: add support for GEM buffer imports.
19180           Add support for GEM buffer imports. This is useful for VA/EGL interop
19181           with legacy Mesa implementations, or when it is desired or required to
19182           support outbound textures for instance.
19183           https://bugzilla.gnome.org/show_bug.cgi?id=736718
19184
19185 2014-09-15 15:25:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19186
19187         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19188         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19189           surface: add support for dma_buf imports.
19190           Add new gst_vaapi_surface_new_with_dma_buf_handle() helper function
19191           to allow for creating VA surfaces from a foreign DRM PRIME fd. The
19192           resulting VA surface owns the supplied buffer handle.
19193           https://bugzilla.gnome.org/show_bug.cgi?id=735362
19194
19195 2015-01-27 11:19:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19196
19197         * gst-libs/gst/vaapi/gstvaapisurface.c:
19198         * gst-libs/gst/vaapi/gstvaapisurface.h:
19199         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
19200           surface: add initial support for foreign buffer imports.
19201           Add gst_vaapi_surface_new_from_buffer_proxy() helper function to
19202           create a VA surface from an external buffer provided throug the
19203           new GstVaapiBufferProxy object.
19204
19205 2014-09-15 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19206
19207         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
19208         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
19209         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19210         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19211           surface: add support for GEM buffer exports.
19212           Add support for GEM buffer exports. This will only work with VA drivers
19213           based off libdrm, e.g. the Intel HD Graphics VA driver. This is needed
19214           to support interop with EGL and the "Desktop" GL specification. Indeed,
19215           the EXT_image_dma_buf_import extension is not going to be supported in
19216           Desktop GL, due to the lack of support for GL_TEXTURE_EXTERNAL_OES targets
19217           there.
19218           This is useful for implementing VA/EGL interop with legacy Mesa stacks,
19219           in Desktop OpenGL context.
19220           https://bugzilla.gnome.org/show_bug.cgi?id=736717
19221
19222 2014-09-15 11:48:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19223
19224         * gst-libs/gst/vaapi/Makefile.am:
19225         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
19226         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
19227         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19228         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19229           surface: add support for dma_buf exports.
19230           Use the new VA buffer export APIs to allow for a VA surface to be
19231           exposed as a plain PRIME fd. This is in view to simplifying interop
19232           with EGL or OpenCL for instance.
19233           https://bugzilla.gnome.org/show_bug.cgi?id=735364
19234
19235 2014-09-15 10:58:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19236
19237         * gst-libs/gst/vaapi/Makefile.am:
19238         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
19239         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
19240         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
19241           Add abstraction for exported VA buffers.
19242           The VA buffer export APIs work for a particular lifetime starting from
19243           vaAcquireBufferHandle() and ending with vaReleaseBufferHandle(). As such,
19244           it could be much more convenient to support implicit releases by simply
19245           having a refcount reaching zero.
19246           https://bugzilla.gnome.org/show_bug.cgi?id=736721
19247
19248 2015-01-28 18:25:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19249
19250         * gst-libs/gst/vaapi/Makefile.am:
19251           Add missing header file to Makefile
19252           Add gstvaapitexture_glx.h to Makefile.am
19253
19254 2015-01-27 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19255
19256         * gst-libs/gst/vaapi/gstvaapicontext.c:
19257         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19258         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19259         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19260         * gst/vaapi/gstvaapipostproc.c:
19261         * gst/vaapi/gstvaapiuploader.c:
19262         * gst/vaapi/gstvaapivideobufferpool.c:
19263         * gst/vaapi/gstvaapivideomemory.c:
19264         * gst/vaapi/gstvaapivideomemory.h:
19265         * tests/test-surfaces.c:
19266           videopool: add optional flags for surface pool allocation.
19267           Reword surface pool allocation helpers so that to allow for a simple
19268           form, e.g. gst_vaapi_surface_pool_new(format, width, height); and a
19269           somewhat more elaborated/flexible form with optional allocation flags
19270           and precise GstVideoInfo specification.
19271           This is an API/ABI change, and SONAME version needs to be bumped.
19272
19273 2015-01-26 23:21:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19274
19275         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19276         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
19277         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19278         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19279         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19280         * gst-libs/gst/vaapi/gstvaapivideopool.h:
19281         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
19282           videopool: re-indent all GstVaapiVideoPool related source code.
19283
19284 2014-12-10 20:13:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19285
19286         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19287         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19288           window: add toplevel display indirection for visualid and colormap.
19289           Add GstVaapiDisplay::get_{visual_id,colormap}() helpers to help determine
19290           the best suitable window visual id and colormap. This is an indirection in
19291           view to supporting EGL and custom/generic replacements.
19292
19293 2014-12-10 19:58:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19294
19295         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19296         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19297         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19298         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
19299           window: add toplevel API to determine the colormap.
19300           Add GstVaapiWindowClass::get_colormap() hook to help determine the
19301           currently active colormap bound to the supplied window, or actually
19302           create it if it does not already exist yet.
19303
19304 2014-12-10 19:36:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19305
19306         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
19307         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
19308         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19309         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19310         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19311         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
19312           window: add toplevel API to determine a visual id.
19313           Add GstVaapiWindowClass::get_visual_id() function hook to help find
19314           the best suitable visual id for the supplied window. While doing so,
19315           also simplify the process by which an X11 window is created with a
19316           desired Visual, i.e. now use a visual id instead of a Visual object.
19317
19318 2014-12-10 18:12:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19319
19320         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19321         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19322         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19323         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19324         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19325         * gst-libs/gst/vaapi/gstvaapiwindow.c:
19326         * gst-libs/gst/vaapi/gstvaapiwindow.h:
19327         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
19328         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19329         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19330         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19331         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19332           window: add generic helper to create windows.
19333           Add a new generic helper function gst_vaapi_window_new() to create
19334           a window without having the caller to check for the display type
19335           himself. i.e. internally, there is now a GstVaapiDisplayClass hook
19336           to create windows, and the actual backend implementation fills it in.
19337           Add new generic helper functions gst_vaapi_texture_new_wrapped()
19338           This is a simplification in view to supporting EGL.
19339
19340 2014-12-03 11:39:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19341
19342         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19343         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19344         * gst-libs/gst/vaapi/gstvaapitexture.c:
19345         * gst/vaapi/gstvaapivideometa_texture.c:
19346           display: add utility function to check for OpenGL rendering.
19347           Add gst_vaapi_display_has_opengl() helper function to help determining
19348           whether the display can support OpenGL context to be bound to it, i.e.
19349           if the class is of type GST_VAAPI_DISPLAY_TYPE_GLX.
19350
19351 2014-12-10 18:02:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19352
19353         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19354         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19355         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19356         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
19357         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19358         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
19359         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19360         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19361         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
19362         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19363         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
19364         * gst/vaapi/gstvaapipluginutil.c:
19365         * gst/vaapi/gstvaapivideobuffer.c:
19366         * gst/vaapi/gstvaapivideometa_texture.c:
19367           display: refine the meaning of display type.
19368           Make gst_vaapi_display_get_display_type() return the actual VA display
19369           type. Conversely, add a gst_vaapi_display_get_class_type() function to
19370           return the type of the GstVaapiDisplay instance. The former is used to
19371           identify the display server onto which the application is running, and
19372           the latter to identify the original object class.
19373
19374 2014-12-02 11:23:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19375
19376         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19377         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19378         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19379         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19380         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19381         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19382           display: cosmetics (helper macros, new internal API names).
19383           Add more helper macros to the top-level GstVaapiDisplay interfaces.
19384           Rename a few others used internally for improved consistency.
19385
19386 2014-12-01 17:08:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19387
19388         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19389         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19390         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
19391         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
19392         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
19393         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19394         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19395         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19396           display: record native display object.
19397           Record the underlying native display instance into the toplevel
19398           GstVaapiDisplay object. This is useful for fast lookups to the
19399           underlying native display, e.g. for creating an EGL display.
19400
19401 2014-12-01 16:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19402
19403         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19404         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
19405         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
19406           display: use a recursive mutex for the display cache.
19407           Use a recursive mutex for the display cache so that a 3rdparty display
19408           object could be initialized during the initialization of the parent
19409           display.
19410
19411 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19412
19413         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19414         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19415         * gst-libs/gst/vaapi/gstvaapitexture.c:
19416         * gst-libs/gst/vaapi/gstvaapitexture.h:
19417         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
19418         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
19419           texture: add generic helper to create textures.
19420           Add new generic helper functions gst_vaapi_texture_new_wrapped()
19421           and gst_vaapi_texture_new() to create a texture without having
19422           the caller to uselessly check for the display type himself. i.e.
19423           internally, there is now a GstVaapiDisplayClass hook to create
19424           textures, and the actual backend implementation fills it in.
19425           This is a simplification in view to supporting EGL.
19426
19427 2014-10-23 17:44:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19428
19429         * gst-libs/gst/vaapi/Makefile.am:
19430         * gst-libs/gst/vaapi/gstvaapitexture.c:
19431         * gst-libs/gst/vaapi/gstvaapitexture.h:
19432         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
19433         * gst-libs/gst/vaapi/gstvaapitexture_glx.h:
19434         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
19435         * gst/vaapi/gstvaapivideoconverter_glx.c:
19436         * gst/vaapi/gstvaapivideometa_texture.c:
19437         * tests/test-textures.c:
19438           texture: move to core libgstvaapi base library.
19439           GstVaapiTexture is a generic abstraction that could be moved to the
19440           core libgstvaapi library. While doing this, no extra dependency needs
19441           to be added. This means that a GstVaapitextureClass is now available
19442           for any specific code that needs to be added, e.g. creation of the
19443           underlying GL texture objects, or backend dependent ways to upload
19444           a surface to the texture object.
19445           Generic OpenGL data types (GLuint, GLenum) are also replaced with a
19446           plain guint.
19447           https://bugzilla.gnome.org/show_bug.cgi?id=736715
19448
19449 2014-10-23 13:11:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19450
19451         * configure.ac:
19452         * gst-libs/gst/vaapi/Makefile.am:
19453         * gst-libs/gst/vaapi/gstvaapicompat.h:
19454         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19455         * gst-libs/gst/vaapi/gstvaapitexture.c:
19456           texture: drop support for VA/GLX interfaces.
19457           The VA/GLX interfaces are obsolete. They used to exist for XvBA, and
19458           ease of use, but they had other caveats to deal with. It's now better
19459           to move on to legacy mode, whereby VA/GLX interop is two be provided
19460           through (i) X11 Pixmap, and (ii) other modern means of buffer sharing.
19461           https://bugzilla.gnome.org/show_bug.cgi?id=736711
19462
19463 2014-10-23 11:56:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19464
19465         * gst-libs/gst/vaapi/gstvaapitexture.c:
19466         * gst-libs/gst/vaapi/gstvaapitexture.h:
19467         * gst/vaapi/gstvaapivideoconverter_glx.c:
19468         * gst/vaapi/gstvaapivideometa_texture.c:
19469         * tests/test-textures.c:
19470           texture: add support for cropping rectangle during transfer.
19471           The gst_vaapi_texture_put_surface() function is missing a crop_rect
19472           argument that would be used during transfer for cropping the source
19473           surface to the desired dimensions.
19474           Note: from a user point-of-view, he should create the GstVaapiTexture
19475           object with the cropped size. That's the default behaviour in software
19476           decoding pipelines that we need to cope with.
19477           This is an API/ABI change, and SONAME version needs to be bumped.
19478           https://bugzilla.gnome.org/show_bug.cgi?id=736712
19479
19480 2014-10-23 11:22:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19481
19482         * gst-libs/gst/vaapi/gstvaapitexture.c:
19483         * gst-libs/gst/vaapi/gstvaapitexture.h:
19484           texture: re-indent all GstVaapiTexture related source code.
19485
19486 2015-01-27 11:16:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19487
19488         * gst-libs/gst/vaapi/gstvaapisurface.c:
19489         * gst-libs/gst/vaapi/gstvaapisurface.h:
19490           surface: add more fine-grained allocation helper.
19491           Add new gst_vaapi_surface_new_full() helper function that allocates
19492           VA surface from a GstVideoInfo template in argument. Additional flags
19493           may include ways to
19494           - allocate linear storage (GST_VAAPI_SURFACE_ALLOC_FLAG_LINEAR_STORAGE) ;
19495           - allocate with fixed strides (GST_VAPI_SURFACE_ALLOC_FLAG_FIXED_STRIDES) ;
19496           - allocate with fixed offsets (GST_VAAPI_SURFACE_ALLOC_FLAG_FIXED_OFFSETS).
19497
19498 2014-09-15 14:57:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19499
19500         * gst-libs/gst/vaapi/gstvaapisurface.c:
19501         * gst-libs/gst/vaapi/gstvaapisurface.h:
19502         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
19503           surface: re-indent all GstVaapiSurface related source code.
19504
19505 2015-01-23 16:44:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19506
19507         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19508         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19509           surfaceproxy: add helper to create a wrapped surface object.
19510           Add new gst_vaapi_surface_proxy_new() helper to wrap a surface into
19511           a proxy. The main use case for that is to convey additional information
19512           at the proxy level that would not be suitable to the plain surface.
19513
19514 2015-01-23 16:37:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19515
19516         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19517         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19518         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
19519           surfaceproxy: re-indent all GstVaapiSurfaceProxy related source code.
19520
19521 2015-01-27 18:02:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19522
19523         * configure.ac:
19524           libs: bump library major version.
19525
19526 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19527
19528         * gst-libs/gst/vaapi/gstvaapitypes.h:
19529           libs: re-introduce a GST_VAAPI_ID_INVALID value.
19530           Re-introduce a GST_VAAPI_ID_INVALID value that represents
19531           a non-zero and invalid id. This is useful to have a value
19532           that is still invalid for cases where zero could actually
19533           be a valid value.
19534
19535 2014-12-02 16:51:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19536
19537         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
19538         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
19539           libs: expose GstVaapiMiniObject APIs to all backends.
19540           Make it possible to have all libgstvaapi backends (libs) access to a
19541           common GstVaapiMiniObject API and implementation. This is a minor step
19542           towards full exposure when needed, but restrict it to libgstvaapi at
19543           this time.
19544
19545 2014-12-02 14:15:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19546
19547         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
19548         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
19549         * gst-libs/gst/vaapi/gstvaapiobject.c:
19550         * gst-libs/gst/vaapi/gstvaapiobject.h:
19551         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
19552           libs: re-indent all GstVaapiObject related source code.
19553           Re-indent and provide additional minor cosmetical changes to the
19554           GstVaapiMiniObject and GstVaapiObject source files.
19555
19556 2015-01-27 16:25:21 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19557
19558         * gst/vaapi/gstvaapipluginutil.c:
19559           pluginutil: Fix clearing of subtitle overlay
19560           dvbsuboverlay signals no subtitles present by not setting
19561           GstVideoOverlayCompositionMeta on a buffer.
19562           Detect this, and remove subtitles whenever we have no overlay composition to
19563           hand.
19564           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19565
19566 2015-01-27 16:06:02 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
19567
19568         * gst/vaapi/gstvaapipostproc.c:
19569           vaapipostproc: clear state on stop
19570           Otherwise restarting may fail because the state of vaapipluginbase and
19571           vaapipostproc don't match. e.g. gst_vaapipostproc_set_caps() will skip
19572           initailization and not call gst_vaapi_plugin_base_set_caps()
19573
19574 2015-01-27 14:50:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
19575
19576         * gst/vaapi/gstvaapidecode.c:
19577           vaapidecode: don't print an error message for GST_FLOW_FLUSHING
19578
19579 2015-01-27 12:38:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19580
19581         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19582           gstvaapiencoder: Fix the negotiation issue with _ENCODED format handling
19583           Don't error out for the video format GST_VIDEO_FORMAT_ENCODED with in gstvaapiencoder,
19584           since the vaaapi context creation (gstvaapicontext.c) can still use the
19585           default chroma type which is YUV420.
19586           https://bugzilla.gnome.org/show_bug.cgi?id=743567
19587           https://bugzilla.gnome.org/show_bug.cgi?id=743035
19588
19589 2015-01-21 18:31:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19590
19591         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
19592         * patches/videoparsers/series.frag:
19593           h264parse: drop patches merged upstream.
19594           0003-h264parse-add-initial-support-for-MVC-NAL-units.patch
19595
19596 2015-01-21 18:26:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19597
19598         * ext/codecparsers:
19599           codecparsers: update to gst-vaapi-branch commit d3b5c1b
19600           8194cac: h264parse: parse SPS subset
19601           64b7f52: h264parse: expose stereo-high profile
19602           774360a: h264parse: add initial support for MVC NAL units
19603           258478f: h264parser: fix stack smashing
19604
19605 2015-01-19 11:30:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19606
19607         * gst/vaapi/gstvaapivideometa_texture.c:
19608           Fix compilation error if there is no GL/gl.h header file installed
19609
19610 2015-01-15 16:23:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19611
19612         * gst/vaapi/gstvaapidecode.c:
19613           vaapidecode: commit updated srcpad caps to base plugin.
19614           Make sure that the GstVaapiPluginBase instance receives the new src
19615           pad caps whenever they get updated from within the GstVaapiDecoder
19616           decode routines.
19617           This also ensures that downstream elements receive correctly sized
19618           SW decoded buffers if needed.
19619           https://bugs.tizen.org/jira/browse/TC-114
19620
19621 2015-01-15 16:19:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19622
19623         * gst/vaapi/gstvaapidecode.c:
19624           vaapidecode: always reset decoder on ::set_format().
19625           Split GstVideoDecoder::set_format() handler to first update the sink
19626           pad caps and reset the active VA decoder instance based on those, and
19627           then update the src pad caps whenever possible, e.g. when the caps
19628           specify a valid video resolution.
19629
19630 2015-01-15 16:14:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19631
19632         * gst/vaapi/gstvaapivideomemory.c:
19633           vaapivideomemory: don't crash when trying to allocate 0x0 images.
19634           In some occasions, a buffer pool is created for pre-initialization
19635           purposes regardless of whether a valid image size is available or
19636           not. However, during actual decode stage, the vaapidecode element
19637           is expected to update the srcpad caps with the new dimensions, thus
19638           also triggering a reset of the underlying bufferpool.
19639
19640 2015-01-15 00:00:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19641
19642         * ext/codecparsers:
19643           codecparsers: update to gst-vaapi-branch commit 191cb2f
19644           347605a: h264parse: expose compatible profiles to downstream
19645           d1ea97e: h264parse: Fix periodic SPS/PPS sending work after a seek
19646           24a3126: Revert "h264parse: expose compatible profiles to downstream"
19647           8661740: h264parse: expose compatible profiles to downstream
19648           8b7ef3f: codecparsers: fix some compiler warnings
19649
19650 2014-11-27 12:11:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19651
19652         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19653           encoder: h264: Fix the period between I/P frames
19654           If the key-frame period is set as one, then ip_period shuld be zero
19655           https://bugzilla.gnome.org/show_bug.cgi?id=734992
19656
19657 2014-11-27 11:21:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19658
19659         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19660           encoder: h264: Provide intra_idr_period value for VAEncSequenceParameterBufferH264
19661           https://bugzilla.gnome.org/show_bug.cgi?id=734993
19662
19663 2014-11-27 11:14:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19664
19665         * gst/vaapi/gstvaapisink.c:
19666           vaapisink: Protect the X11 API invokations with proper locking
19667           https://bugzilla.gnome.org/show_bug.cgi?id=739808
19668
19669 2014-11-27 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19670
19671         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19672           encoder: h264: fix pixel-aspect-ratio in encoded stream.
19673           Really report sample aspect ratio (SAR) as present, and make it match
19674           what we have obtained from the user as pixel-aspect-ratio (PAR). i.e.
19675           really make sure VUI parameter aspect_ratio_info_present_flag is set
19676           to TRUE and that the indication from aspect_ratio_idc is Extended_SAR.
19677           This is a leftover from git commit a12662f.
19678           https://bugzilla.gnome.org/show_bug.cgi?id=740360
19679
19680 2014-11-25 11:46:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19681
19682         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19683           decoder: mpeg4: fix uninitialized variables.
19684           Fix gst_vaapi_decoder_mpeg4_parse() to initialize the packet type to
19685           GST_MPEG4_USER_DATA so that a parse error would result in skipping
19686           that packet. Also fix gst_vaapi_decoder_mpeg4_decode_codec_data() to
19687           initialize status to GST_VAAPI_DECODER_STATUS_SUCCESS.
19688
19689 2014-11-25 11:41:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19690
19691         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19692           encoder: h264: fix profile limits.
19693           Fix ensure_profile_limits() to lower profile to the desired limits,
19694           only if the latter are actually known and the profile needed to be
19695           changed to fit.
19696
19697 2014-11-24 15:14:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19698
19699         * gst/vaapi/gstvaapipostproc.c:
19700           vaapipostproc: fix out caps for GLMemory.
19701           If the best downstream capsfeature turns out to be GLMemory, then make
19702           sure to propagate RGBA video format in caps to that element. This fixes
19703           the following pipeline: ... ! vaapipostproc ! glimagesink.
19704
19705 2014-11-24 14:25:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19706
19707         * gst/vaapi/gstvaapipostproc.c:
19708           vaapipostproc: fix check for compatible src pad capsfilters.
19709           When an explicit output video format is selected, from an src pad
19710           capsfilter, make sure that the downstream element actually supports
19711           that format. In particular, fix crash with the following pipelines:
19712           ... ! vaapipostproc ! video/x-raw,format=XXX ! xvimagesink ; where
19713           XXX is a format not supported by xvimagesink.
19714           While doing so, also reduce the set of src pad filter caps to the
19715           actual set of allowed src pad caps.
19716
19717 2014-11-24 14:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19718
19719         * gst/vaapi/gstvaapipostproc.c:
19720         * gst/vaapi/gstvaapipostproc.h:
19721         * gst/vaapi/gstvaapiuploader.c:
19722         * gst/vaapi/gstvaapiuploader.h:
19723           plugins: re-indent all video processing related source code.
19724
19725 2014-11-24 13:20:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19726
19727         * gst/vaapi/gstvaapivideomemory.c:
19728           plugins: further fixes to the new "current" storage tracker.
19729           The ensure_surface() and ensure_image() functions shall only relate
19730           to the underlying backing store. The actual current flags are to be
19731           updated only through ensure_{surface,image}_is_current() or very other
19732           particular cases in GstMemory hooks.
19733
19734 2014-11-21 15:43:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19735
19736         * gst/vaapi/gstvaapivideomemory.c:
19737           plugins: fix "current" video memory flags.
19738           If the surface proxy is updated into the GstVaapiVideoMemory, then
19739           it is assumed it is the most current representation of the current
19740           video frame. Likewise, make a few more arrangements to have the
19741           "current " flags set more consistently.
19742
19743 2014-11-21 15:23:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19744
19745         * gst/vaapi/gstvaapivideomemory.c:
19746         * gst/vaapi/gstvaapivideomemory.h:
19747         * gst/vaapi/gstvaapivideometa.c:
19748           plugins: ensure VA surface is current prior to using it.
19749           When interacting with SW elements, the buffers and underlying video
19750           memory could be mapped as read/write. However, we need to use those
19751           buffers again as plain VA surfaces, we have to make sure the VA image
19752           is thus committed back to VA surface memory.
19753           This fixes pipelines involving avdec_* and vaapi{postproc,sink}.
19754
19755 2013-07-12 06:34:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19756
19757         * gst/vaapi/gstvaapivideomemory.c:
19758           plugins: enable memory maps for read & write.
19759           Hence vaapisink can display buffers decoded by gst-libav, or HW decoded
19760           buffers can be further processed in-place, e.g. with a textoverlay.
19761           https://bugzilla.gnome.org/show_bug.cgi?id=704078
19762           [ported to current git master branch, amended commit message]
19763           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19764
19765 2014-11-18 14:57:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19766
19767         * gst/vaapi/gstvaapidecode.c:
19768         * gst/vaapi/gstvaapipluginutil.c:
19769         * gst/vaapi/gstvaapipluginutil.h:
19770         * gst/vaapi/gstvaapipostproc.c:
19771           plugins: preserve framerate when updating src caps video format.
19772           In the current implementation, gst_video_info_set_format() would reset
19773           the whole GstVideoInfo structure first, prior to setting video format
19774           and size. So, coleteral information like framerate or pixel-aspect-
19775           ratio are lost.
19776           Provide and use a unique gst_video_info_change_format() for overcome
19777           this issue, i.e. only have it change the format and video size, and
19778           copy over the rest of the fields.
19779           https://bugzilla.gnome.org/show_bug.cgi?id=734665
19780
19781 2014-11-18 14:07:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19782
19783         * gst/vaapi/gstvaapi.c:
19784           vaapidecode: increase the rank to GST_RANK_PRIMARY + 1
19785           This is for helping decodebin to autoplug the vaapidecode element.
19786           Decodebin is selecting decoder elements only based on rank and caps.
19787           Without overriding the autoplug-* signals there is no way to autoplug
19788           HW decoders inside decodebin. An easier soulution is to raise the
19789           rank of vaapidecode, so that it gets selected first.
19790           https://bugzilla.gnome.org/show_bug.cgi?id=739332
19791
19792 2014-11-12 07:46:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19793
19794         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19795         * gst/vaapi/gstvaapidecode.c:
19796           vaapidecode: only expose supported profiles when needed.
19797           JPEG and VP8 codecs do not really support the concept of "profile". So,
19798           don't try to expose any set that wouldn't be supported by jpegparse, or
19799           ivfparse for instance.
19800           https://bugzilla.gnome.org/show_bug.cgi?id=739713
19801           https://bugzilla.gnome.org/show_bug.cgi?id=739714
19802
19803 2014-11-13 15:13:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19804
19805         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19806         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19807         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
19808         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19809           decoder: h264: add initial support for repeat-first-field (RFF) flag.
19810           Use the SEI pic_timing() message to track and propagate down the repeat
19811           first field (RFF) flag. This is only initial support as there is one
19812           other condition that could induce the RFF flag, which is not handled
19813           yet.
19814
19815 2014-11-13 15:05:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19816
19817         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19818           decoder: h264: fix picture ordering count type 0 with previous MMCO5.
19819           Fix the decoding process for picture order count type 0 when the previous
19820           picture had a memory_management_control_operation = 5. In particular, fix
19821           the actual variable type for prev_pic_structure to hold the full bits of
19822           the picture structure.
19823           In practice, this used to work though, due to the underlying type used to
19824           express a gboolean.
19825
19826 2014-11-13 15:00:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19827
19828         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19829           decoder: h264: fix detection of top-field-first (TFF) flag.
19830           Use the SEI pic_timing() message to track the pic_struct variable when
19831           present, or infer it from the regular slice header flags field_pic_flag
19832           and bottom_field_flag. This fixes temporal sequence ordering when the
19833           output pictures are to be displayed.
19834           https://bugzilla.gnome.org/show_bug.cgi?id=739291
19835
19836 2014-11-14 09:54:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19837
19838         * ext/codecparsers:
19839           codecparsers: update to gst-vaapi-branch commit 3d05d9f.
19840           1241840 h264: fix derivation of MaxPicNum variable
19841           3bd718e h264: fix GstH264ParserResult documentation typo
19842           b021609 h264parse: set the HEADER flag on buffers containing SPS or PPS
19843           b08e4be h264parse: don't unnecesarily set src_caps
19844
19845 2014-11-03 19:20:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19846
19847         * gst/vaapi/gstvaapipostproc.c:
19848           vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass
19849           Added the same Klass specifications used in other upstream
19850           video postprocessing elements like videoconvert, videoscale,
19851           videobalance and deinterlace.
19852           An example use case is for this is to help the playsink
19853           to autoplug the hardware accelerated deinterlacer.
19854
19855 2014-11-03 19:19:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19856
19857         * gst/vaapi/gstvaapipostproc.c:
19858           vaapipostproc: Tweak the output video format setting to enable the autoplugging
19859           This is a workaround until auto-plugging is fixed when
19860           format=ENCODED + memory:VASurface caps feature are provided.
19861           Use the downstream negotiated video format as the output video format
19862           if the user didn't ask for the colorspace conversion explicitly.
19863           Usecase: This will help to connect elements like videoscale, videorate etc
19864           to vaapipostproc.
19865           https://bugzilla.gnome.org/show_bug.cgi?id=739443
19866
19867 2014-10-29 17:30:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19868
19869         * gst/vaapi/gstvaapipostproc.c:
19870         * gst/vaapi/gstvaapipostproc.h:
19871           vaapipostproc: allow user defined scaling mode.
19872           Add new "scale-method" property to expose the scaling mode to use during
19873           video processing. Note that this is only a hint, and the actual behaviour
19874           may differ from implementation (VA driver) to implementation.
19875
19876 2014-10-29 16:57:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19877
19878         * gst-libs/gst/vaapi/gstvaapifilter.c:
19879         * gst-libs/gst/vaapi/gstvaapifilter.h:
19880         * gst-libs/gst/vaapi/gstvaapiutils.c:
19881         * gst-libs/gst/vaapi/gstvaapiutils.h:
19882           filter: add initial support for high quality scaling.
19883           Add support for video scaling options in VPP pipelines. Only the
19884           DEFAULT mode is bound to exist. Others might be folded into that
19885           mode.
19886
19887 2014-10-29 16:35:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19888
19889         * gst-libs/gst/vaapi/gstvaapifilter.c:
19890         * gst-libs/gst/vaapi/gstvaapifilter.h:
19891           filter: re-indent all GstVaapiFilter related source code.
19892
19893 2014-10-29 15:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19894
19895         * ext/codecparsers:
19896           codecparsers: update to gst-vaapi-branch commit f9d3bde.
19897           2218b02 h264parse: expose parsed profile and level to downstream
19898           3dbfab4 h264parse: return flushing if we get chained while being set to READY
19899           d40fa8b h264: fix frame packing SEI parsing
19900           32d40be h264: Use proper bit_reader api while parsing buffering_period SEI
19901           b3e022e h264: initialize some fields of pic_timing structure
19902           a70661d vc1: fix expected level in sequence-layer parsing unit test
19903           6cee88d vc1: fix level values for simple/main profile
19904           356c189 vc1: add unit test for sequence-layer parsing
19905           ab9f641 vc1: take care of endianness when parsing sequence-layer
19906           8dc8e35 mpeg4: fix vlc table used for sprite trajectory
19907
19908 2014-10-29 15:46:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19909
19910         * gst/vaapi/gstvaapidecode.c:
19911           vaapidecode: Expose the supported profiles as caps to upstream
19912           This will allows the playbin to fallback to Software Decoder
19913           if the Hardware Decoder does not support a particular profile.
19914           https://bugzilla.gnome.org/show_bug.cgi?id=730997
19915
19916 2014-10-29 15:46:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19917
19918         * gst/vaapi/gstvaapiencode.c:
19919         * gst/vaapi/gstvaapiencode.h:
19920         * gst/vaapi/gstvaapiencode_h264.c:
19921           encode: Attach the codec-data to out caps only based on negotiated caps
19922           Attach the codec_data to out_caps only if downstream needed.
19923           For eg: h264 encoder doesn't need to stuff codec_data to the
19924           src caps if the negotiated caps has a stream format of byte-stream.
19925           https://bugzilla.gnome.org/show_bug.cgi?id=734902
19926
19927 2014-10-29 15:45:44 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19928
19929         * configure.ac:
19930           configure: echoing installation prefix path
19931
19932 2014-09-24 10:14:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19933
19934         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19935           display: add support for DRM Render-Nodes.
19936           Add support for DRM Render-Nodes. This is a new feature that appeared
19937           in kernel 3.12 for experimentation purposes, but was later declared
19938           stable enough in kernel 3.15 for getting enabled by default.
19939           This allows headless usages without authentication at all, i.e. usages
19940           through plain ssh connections is possible.
19941
19942 2014-09-24 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19943
19944         * gst/vaapi/gstvaapisink.c:
19945           vaapisink: clean-ups (indentation, drop unused variables).
19946
19947 2014-09-24 13:39:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19948
19949         * configure.ac:
19950         * gst/vaapi/gstvaapisink.c:
19951           vaapisink: fix GstNavigation "key-press" / "key-release" events.
19952           Fix arguments to XkbKeycodeToKeysym() for converting an X11 keycode
19953           to a KeySym. In particular, there is no such Window argument. Also
19954           make sure to check for, and use, the correct <X11/XKBlib.h> header
19955           where that new function is defined. Otherwise, default to the older
19956           XKeycodeToKeysym() function.
19957
19958 2014-09-24 13:23:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19959
19960         * gst/vaapi/gstvaapisink.c:
19961           vaapisink: fix GstNavigation "mouse-move" event.
19962           Really use the motion event coordinates to propagate the "mouse-move"
19963           event to upper layer, instead of those from a button event. Those are
19964           technically the same though.
19965
19966 2014-09-16 14:25:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19967
19968         * gst/vaapi/gstvaapisink.c:
19969           vaapisink: implement the GstNavigation interface
19970           This is useful for things like DVD menus, where key/mouse events
19971           would need to be forwarded from the upstream sink element.
19972           https://bugzilla.gnome.org/show_bug.cgi?id=711479
19973
19974 2014-03-13 18:38:33 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19975
19976         * gst/vaapi/gstvaapipluginbase.c:
19977           vaapipostproc: fix deinterlacing from non VA memory buffers.
19978           When we copy a buffer because we're moving it into VA-API memory, we
19979           need to copy flags. Otherwise, interlaced YUV buffers from a capture
19980           source (e.g. V4L2) don't get flagged as interlaced.
19981           https://bugzilla.gnome.org/show_bug.cgi?id=726270
19982           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19983           [reversed order of gst_buffer_copy_into() flags to match <1.0 code]
19984           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19985
19986 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19987
19988         * gst/vaapi/gstvaapipostproc.c:
19989           vaapipostproc: add support for GLTextureUploadMeta output.
19990           This allows for vaapipostproc to be chained to the glimagesink element
19991           for instance.
19992           https://bugzilla.gnome.org/show_bug.cgi?id=735231
19993
19994 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19995
19996         * gst/vaapi/gstvaapipluginutil.c:
19997         * gst/vaapi/gstvaapipluginutil.h:
19998         * gst/vaapi/gstvaapipostproc.c:
19999           vaapipostproc: add support for "download" capability.
20000           Allow implicit conversions to raw video formats, while still keeping
20001           VA surfaces underneath. This allows for chaining the vaapipostproc
20002           element to a software-only element that takes care of maps/unmaps.
20003           e.g. xvimagesink.
20004           https://bugzilla.gnome.org/show_bug.cgi?id=720174
20005
20006 2014-08-22 18:10:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20007
20008         * gst/vaapi/gstvaapipostproc.c:
20009         * gst/vaapi/gstvaapipostproc.h:
20010           vaapipostproc: use pooled vaapi video meta.
20011           Use pooled GstVaapiVideoMeta information, i.e. always allocate that on
20012           video buffer allocation. Also optimize copy of additional metadata info
20013           into the resulting video buffer: only copy the video cropping info and
20014           the source surface proxy.
20015           https://bugzilla.gnome.org/show_bug.cgi?id=720311
20016           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20017           [fixed proxy leak, fixed double free on error, optimized meta copy]
20018           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20019
20020 2014-08-22 15:17:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20021
20022         * gst/vaapi/gstvaapipostproc.c:
20023           vaapipostproc: fix passthrough mode.
20024           If no explicit output surface format is supplied try to keep the one
20025           supplied through the sink pad caps. This avoids a useless copy, even
20026           if things are kept in GPU memory.
20027           This is a performance regression from git commit dfa70b9.
20028
20029 2014-07-05 21:00:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20030
20031         * gst/vaapi/gstvaapipostproc.c:
20032         * gst/vaapi/gstvaapipostproc.h:
20033           vaapipostproc: fix output buffer to have a GstVaapiVideoMemory.
20034           https://bugzilla.gnome.org/show_bug.cgi?id=720311
20035           [used new infrastructure through base decide_allocation() impl]
20036           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20037
20038 2014-08-22 11:13:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20039
20040         * gst/vaapi/gstvaapipostproc.c:
20041           vaapipostproc: enable advanced deinterlacing with same format.
20042           If only advanced deinterlacing is requested, i.e. deinterlacing is
20043           the only active algorithm to apply with source and output surface
20044           formats being the same, then make sure to enable VPP processing.
20045           Otherwise, allow fallback to bob-deinterlacing with simple rendering
20046           flags alteration.
20047
20048 2014-08-21 15:04:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20049
20050         * gst/vaapi/gstvaapivideomemory.c:
20051           vaapivideomemory: avoid NULL pointer unref if GstVaapiImage creation failed.
20052           https://bugzilla.gnome.org/show_bug.cgi?id=735156
20053
20054 2014-08-22 13:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20055
20056         * gst/vaapi/gstvaapipluginbase.c:
20057         * gst/vaapi/gstvaapipluginutil.c:
20058           plugins: fix memory leaks.
20059
20060 2014-08-21 14:10:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20061
20062         * gst/vaapi/gstvaapidecode.c:
20063         * gst/vaapi/gstvaapipluginbase.c:
20064         * gst/vaapi/gstvaapipluginbase.h:
20065           plugins: factor out decide_allocation() hook.
20066           Add a default decide_allocation() hook to GstVaapiPluginBase. The caps
20067           feature argument can be used to force a bufferpool with a specific kind
20068           of memory.
20069
20070 2014-08-21 11:12:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20071
20072         * gst/vaapi/gstvaapivideobufferpool.c:
20073         * gst/vaapi/gstvaapivideobufferpool.h:
20074         * gst/vaapi/gstvaapivideomemory.c:
20075           plugins: allow bufferpool to not allocate vaapi video meta.
20076           Add GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC params flag that
20077           can be used to disable early allocations of vaapi video metas on buffers,
20078           thus delagating that to the bufferpool user.
20079
20080 2014-08-21 10:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20081
20082         * gst/vaapi/gstvaapivideobuffer.c:
20083         * gst/vaapi/gstvaapivideobuffer.h:
20084         * gst/vaapi/gstvaapivideobufferpool.c:
20085         * gst/vaapi/gstvaapivideobufferpool.h:
20086         * gst/vaapi/gstvaapivideocontext.c:
20087         * gst/vaapi/gstvaapivideocontext.h:
20088         * gst/vaapi/gstvaapivideoconverter_glx.c:
20089         * gst/vaapi/gstvaapivideoconverter_glx.h:
20090         * gst/vaapi/gstvaapivideoconverter_x11.c:
20091         * gst/vaapi/gstvaapivideoconverter_x11.h:
20092         * gst/vaapi/gstvaapivideomemory.c:
20093         * gst/vaapi/gstvaapivideomemory.h:
20094         * gst/vaapi/gstvaapivideometa.c:
20095         * gst/vaapi/gstvaapivideometa.h:
20096         * gst/vaapi/gstvaapivideometa_texture.c:
20097         * gst/vaapi/gstvaapivideometa_texture.h:
20098           plugins: re-indent all GstVaapiVideo* related source code.
20099
20100 2014-08-22 15:12:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20101
20102         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20103           surfaceproxy: fix copy to propagate view_id.
20104           Fix gst_vaapi_surface_proxy_copy() to copy the view-id element, thus
20105           fixing random frames skipped when vaapipostproc element is used in
20106           passthrough mode. In that mode, GstMemory is copied, thus including
20107           the underlying GstVaapiVideoMeta and associated GstVaapiSurfaceProxy.
20108
20109 2014-08-20 16:38:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20110
20111         * gst/vaapi/gstvaapipostproc.c:
20112           vaapipostproc: fix detection of output surface format changes.
20113           Default to I420 format for output surfaces so that to match the usual
20114           GStreamer pipelines. Though, internally, we could still opt for NV12
20115           surface formats, i.e. default format=ENCODED is a hint for that, thus
20116           delegating the decision to the VA driver.
20117
20118 2014-08-20 10:59:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20119
20120         * gst/vaapi/gstvaapipostproc.c:
20121           vaapipostproc: fix construction of allowed sink pad caps.
20122           Fix construction of the set of caps allowed on the sink pad to filter
20123           out unsupported raw video caps with GStreamer >= 1.2.
20124
20125 2014-08-20 10:37:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20126
20127         * gst/vaapi/gstvaapipostproc.c:
20128         * gst/vaapi/gstvaapipostproc.h:
20129           vaapipostproc: improve heuristics for detecting native VA surfaces.
20130           Use the new gst_caps_has_vaapi_surface() helper function to detect
20131           whether the sink pad caps contain native VA surfaces, or not, i.e.
20132           no raw video caps.
20133           Also rename is_raw_yuv to get_va_surfaces to make the variable more
20134           explicit as we just want a way to differentiate raw video caps from
20135           VA surfaces actually.
20136
20137 2014-08-12 18:33:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20138
20139         * gst/vaapi/gstvaapipostproc.c:
20140           vaapipostproc: disable discontinuity detection code.
20141           The "discontinuity" tracking code, whereby lost frames are tentatively
20142           detected, is inoperant if the sink pad buffer timestamps are not right
20143           to begin with.
20144           This is a temporary workaround until the following bug is fixed:
20145           https://bugzilla.gnome.org/show_bug.cgi?id=734386
20146
20147 2014-08-07 14:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20148
20149         * gst/vaapi/gstvaapipostproc.c:
20150           vaapipostproc: fix heuristic for detecting discontinuity.
20151           In order to make the discontinuity detection code useful, we need to
20152           detect the lost frames in the history as early as the previous frame.
20153           This is because some VA implementations only support one reference
20154           frame for advanced deinterlacing.
20155           In practice, turn the condition for detecting new frame that is beyond
20156           the previous frame from field_duration*2 to field_duration*3, i.e.
20157           nothing received for the past frame and a half because of possible
20158           rounding errors when calculating the field-duration either in this
20159           element (vaapipostproc), or from the upstream element (parser element).
20160           This is a regression introduced with commit faefd62.
20161           https://bugzilla.gnome.org/show_bug.cgi?id=734135
20162
20163 2014-08-20 11:43:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20164
20165         * gst/vaapi/gstvaapipluginbase.c:
20166         * gst/vaapi/gstvaapipluginbase.h:
20167           plugins: fix detection of raw video caps.
20168           Use the new gst_caps_has_vaapi_surface() helper function to better
20169           detect raw video caps, and in particular those from RGB colorspace.
20170           https://bugzilla.gnome.org/show_bug.cgi?id=734665
20171
20172 2014-08-20 11:30:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20173
20174         * gst/vaapi/gstvaapipluginutil.c:
20175         * gst/vaapi/gstvaapipluginutil.h:
20176           plugins: add helper for detecting VA surfaces in caps.
20177           Introduce new gst_caps_has_vaapi_surface() helper function to detect
20178           whether the supplied caps has VA surfaces. With GStreamer >= 1.2, this
20179           implies a check for memory:VASurface caps features, and format=ENCODED
20180           for earlier versions of GStreamer.
20181
20182 2014-08-12 13:01:57 +0300  Sebastian Dröge <sebastian@centricular.com>
20183
20184         * gst/vaapi/gstvaapidecode.c:
20185           vaapidecode: start the decoder task again after finishing
20186           This allows the element to accept data again after draining without
20187           a hard reset or caps change happening in between.
20188           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20189
20190 2014-08-12 13:00:03 +0300  Sebastian Dröge <sebastian@centricular.com>
20191
20192         * gst/vaapi/gstvaapidecode.c:
20193           vaapidecode: unlock condition variables before shutting down the element
20194           Otherwise threads might wait for them, causing the shutdown of the element
20195           to deadlock on the streaming thread.
20196           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20197
20198 2014-08-11 17:15:24 +0300  Sebastian Dröge <sebastian@centricular.com>
20199
20200         * gst/vaapi/gstvaapidecode.c:
20201           vaapidecode: reset decoder_finish variable after stopping the decoder thread
20202           Otherwise the element is not usable again after draining/EOS.
20203           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20204
20205 2014-08-11 17:14:53 +0300  Sebastian Dröge <sebastian@centricular.com>
20206
20207         * gst/vaapi/gstvaapidecode.c:
20208           vaapidecode: don't try flushing the decoder instance if we didn't create one yet
20209           This otherwise results in unnecessary error messages.
20210           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20211
20212 2014-08-01 06:32:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20213
20214         * gst-libs/gst/vaapi/Makefile.am:
20215         * gst/vaapi/Makefile.am:
20216           build: fix with --no-undefined linker flags.
20217           https://bugzilla.gnome.org/show_bug.cgi?id=729352
20218
20219 2014-01-23 15:44:09 +0000  Changzhi Wei <changzhix.wei@intel.com>
20220
20221         * gst/vaapi/gstvaapisink.c:
20222         * gst/vaapi/gstvaapisink.h:
20223           vaapisink: add support for GstColorBalance interface.
20224           https://bugzilla.gnome.org/show_bug.cgi?id=722390
20225           [fixed channel names, simplified range factor, fixed memory leak]
20226           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20227
20228 2014-01-23 15:23:00 +0000  Changzhi Wei <changzhix.wei@intel.com>
20229
20230         * gst/vaapi/gstvaapisink.c:
20231         * gst/vaapi/gstvaapisink.h:
20232           vaapisink: add support for colorbalance adjustment.
20233           https://bugzilla.gnome.org/show_bug.cgi?id=722390
20234           [fixed and simplified tracking of colorbalance value changes]
20235           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20236
20237 2014-07-31 13:18:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20238
20239         * gst/vaapi/gstvaapisink.c:
20240           vaapisink: improve installation of properties.
20241           Simplify the creation and installation process of properties, by first
20242           accumulating them into a g_properties[] array, and next calling into
20243           g_object_class_install_properties().
20244           Also add missing docs and flags to some properties.
20245
20246 2014-07-31 10:48:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20247
20248         * gst/vaapi/gstvaapisink.c:
20249         * gst/vaapi/gstvaapisink.h:
20250           vaapisink: code clean-ups.
20251           Move code around in a more logical way. Introduce GST_VAAPISINK_CAST()
20252           helper macro and use it wherever we know the object is a GstBaseSink or
20253           any base class. Drop explicit initializers for values that have defaults
20254           set to zero.
20255
20256 2014-07-31 10:37:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20257
20258         * gst/vaapi/gstvaapisink.c:
20259         * gst/vaapi/gstvaapisink.h:
20260           vaapisink: re-indent all GstVaapiSink related source code.
20261
20262 2014-07-30 17:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20263
20264         * gst/vaapi/gstvaapisink.c:
20265         * gst/vaapi/gstvaapisink.h:
20266           vaapisink: introduce separate backends.
20267           Introduce new backends vtable so that to have clean separation between
20268           display dependent code and common base code. That's a "soft" separation,
20269           we don't really need dedicated objects.
20270           https://bugzilla.gnome.org/show_bug.cgi?id=722248
20271
20272 2014-07-30 16:47:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20273
20274         * gst/vaapi/gstvaapisink.c:
20275         * gst/vaapi/gstvaapisink.h:
20276           vaapisink: drop unused "synchronous" mode.
20277           Support for X11 "synchronous" mode was never implemented, and was only
20278           to be useful for debugging. Drop that altogether, that's not going to
20279           be useful in practice.
20280           https://bugzilla.gnome.org/show_bug.cgi?id=733985
20281
20282 2014-07-30 17:32:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20283
20284         * gst/vaapi/gstvaapisink.c:
20285         * gst/vaapi/gstvaapisink.h:
20286           vaapisink: drop unused variables.
20287           Drop obsolete, and now unused, video_buffer_pool and video_buffer_size
20288           variables. They got merged into the GstVaapiPluginBase object.
20289
20290 2014-07-30 16:35:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20291
20292         * gst/vaapi/gstvaapisink.c:
20293         * gst/vaapi/gstvaapisink.h:
20294           vaapisink: drop GLX rendering and fancy effects.
20295           Rendering with GLX in vaapisink is kind of useless nowadays, including
20296           OpenGL related fancy effects. Plain VA/GLX interfaces are also getting
20297           deprecated in favor of EGL, or more direct buffer sharing with actual
20298           GL textures.
20299           Should testing of interop with GLX be needed, one could still be using
20300           the modern cluttersink or glimagesink elements.
20301           https://bugzilla.gnome.org/show_bug.cgi?id=733984
20302
20303 2013-11-05 14:01:11 +0100  Holger Kaelberer <hk@getslash.de>
20304
20305         * gst/vaapi/gstvaapisink.c:
20306         * gst/vaapi/gstvaapisink.h:
20307           vaapisink: listen to window size changes on X11.
20308           Allow dynamic changes to the window, e.g. performed by the user, and
20309           make sure to refresh its contents, while preserving aspect ratio.
20310           In practice, Expose and ConfigureNotify events are tracked in X11
20311           display mode by default. This occurs in a separte event thread, and
20312           this is similar to what xvimagesink does. Any of those events will
20313           trigger a reconfiguration of the window "soft" size, subsequently
20314           the render-rect when necessary, and finally _expose() the result.
20315           The default of handle_events=true can be changed programatically via
20316           gst_x_overlay_handle_events().
20317           Thanks to Fabrice Bellet for rebasing the patch.
20318           https://bugzilla.gnome.org/show_bug.cgi?id=711478
20319           [dropped XInitThreads(), cleaned up the code a little]
20320           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20321
20322 2014-07-29 15:47:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20323
20324         * gst/vaapi/gstvaapidecode.c:
20325           vaapidecode: decode and output all pending frames on normal EOS.
20326           The gst_vaapidecode_decode_loop() function is called within a separate
20327           task to fetch and output all frames that were decoded so far. So, if
20328           the decoder_loop_status is forcibly set to EOS when _finish() is called,
20329           then we are bound to exist the task without submitting the pending
20330           frames.
20331           If the downstream element error'ed out, then the gst_pad_push() would
20332           propagate up an error and so we will get it right for cutting off
20333           _finish() early in that case.
20334           This is a regression from 6003596.
20335           https://bugzilla.gnome.org/show_bug.cgi?id=733897
20336
20337 2014-07-29 13:24:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20338
20339         * configure.ac:
20340           Bump version for development.
20341
20342 2014-07-29 10:31:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20343
20344         * AUTHORS:
20345           AUTHORS: updates.
20346
20347 2014-07-29 10:31:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20348
20349         * NEWS:
20350           NEWS: updates.
20351
20352 2014-07-29 16:22:01 +1000  Matthew Waters <ystreet00@gmail.com>
20353
20354         * gst/vaapi/gstvaapidecode.c:
20355           vaapidecode: properly return from decode loop on downstream errors.
20356           Fixes a hang/race on shutdown where _decode_loop() had already completed
20357           its execution and _finish() was waiting on a GCond for decode_loop()
20358           to complete.  Also fixes the possible race where _finish() is called
20359           but _decode_loop() endlessly returns before signalling completion
20360           iff the decoder instance returns GST_FLOW_OK.
20361           Found with: ... ! vaapidecode ! {glimagesink,cluttersink}
20362           https://bugzilla.gnome.org/show_bug.cgi?id=733897
20363           [factored out GST_VIDEO_DECODER_STREAM_UNLOCK() call]
20364           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20365
20366 2014-07-28 18:45:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20367
20368         * NEWS:
20369         * configure.ac:
20370           0.5.9.
20371
20372 2014-07-28 18:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20373
20374         * gst/vaapi/gstvaapisink.c:
20375           vaapisink: fix GstVideoOverlay::expose() implementation.
20376           Now that we always track the currently active video buffer, it is
20377           not necessary to automatically increase its reference since this is
20378           implicitly performed in ::show_frame() through the get_input_buffer()
20379           helper from GstVaapiPluginBase class.
20380           This is a regression from a26df80.
20381
20382 2014-07-28 18:00:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20383
20384         * gst/vaapi/gstvaapidecode.c:
20385         * gst/vaapi/gstvaapipluginutil.c:
20386           vaapidecode: simplify bufferpool configuration.
20387           Rework the logics behind the configuration of an adequate bufferpool,
20388           especially when OpenGL meta or additional capsfeatures are needed.
20389           Besides, for GStreamer >= 1.4, the first capsfeatures that gets matched,
20390           and that is not system memory, is now selected by default.
20391
20392 2014-07-28 16:43:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20393
20394         * gst/vaapi/gstvaapidecode.c:
20395           vaapidecode: fix auto-plugging of vaapisink element.
20396           Make sure to propagate memory:VASurface capsfeature to srcpad caps
20397           only for GStreamer >= 1.5 as the plug-in elements in GStreamer 1.4
20398           core currently miss additional patches available in 1.5-git (1.6).
20399           This is a temporary workaround.
20400
20401 2014-07-28 15:54:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20402
20403         * configure.ac:
20404           configure: allow builds against GStreamer git (1.5.x).
20405           https://bugzilla.gnome.org/show_bug.cgi?id=733688
20406
20407 2014-07-28 14:20:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20408
20409         * configure.ac:
20410           configure: fix build with GStreamer 1.4.0 release.
20411
20412 2014-03-04 19:40:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20413
20414         * configure.ac:
20415         * debian.upstream/Makefile.am:
20416         * debian.upstream/control.in:
20417           debian: fix packaging for new naming scheme.
20418
20419 2014-07-28 11:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20420
20421         * NEWS:
20422           NEWS: updates.
20423
20424 2014-07-28 11:39:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20425
20426         * configure.ac:
20427           configure: mark support for GStreamer < 1.2 as deprecated.
20428           Supporting anything thing below GStreamer 1.2 is asking for trouble
20429           for keeping up with the required facilities to make efficient pipelines.
20430           Users are invited to upgrade to the very latest GStreamer 1.2.x release,
20431           at the minimum.
20432
20433 2014-07-28 11:35:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20434
20435         * configure.ac:
20436           configure: mark support for GStreamer 0.10 as obsolete.
20437           Support for GStreamer 0.10 is obsolete. i.e. it is no longer supported
20438           and may actually be removed altogether for a future release. There is
20439           no real point to maintain a build for such an ancient GStreamer version
20440           that is not even supported upstream.
20441
20442 2014-07-28 10:25:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20443
20444         * gst/vaapi/gstvaapisink.c:
20445         * gst/vaapi/gstvaapisink.h:
20446           vaapisink: allow a specific view component to be displayed.
20447           If a multiview stream is decoded, multiple view components are submitted
20448           as is downstream. It is the responsibility of the sink element to display
20449           the required view components. By default, always select the frame buffer
20450           that matches the view-id of the very first frame to be displayed.
20451           However, introduce a "view-id" property to allow the selection of a
20452           specific view component of interest to display.
20453
20454 2014-07-28 10:09:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20455
20456         * gst/vaapi/gstvaapisink.c:
20457           vaapisink: always keep the last displayed buffer around.
20458           Always record the VA surface that is currently being rendered, no matter
20459           the fact we are using texturedblit or overlay. That's because in some
20460           occasions, we need to refresh or resize the displayed contents based on
20461           new events. e.g. user-resized window.
20462           Besides, it's simpler to track the last video buffer in GstVaapiSink than
20463           through the base sink "last-sample".
20464
20465 2014-07-25 11:13:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20466
20467         * gst/vaapi/gstvaapipluginbase.c:
20468         * gst/vaapi/gstvaapipluginbase.h:
20469         * gst/vaapi/gstvaapipluginutil.c:
20470         * gst/vaapi/gstvaapisink.c:
20471           vaapisink: add support for "display-name" property.
20472           Add a "display-name" property to vaapisink so that the end user could
20473           select the desired output. Keep "display-name" in-line with the existing
20474           "display" (GstVaapiDisplayXXX type).
20475           So, for X11 or GLX, the "display-name" is the usual display name as we
20476           know for XOpenDisplay(); for Wayland, the "display-name" is the name used
20477           for wl_display_connect(); and for DRM, the "display-name" is actually the
20478           DRI device name.
20479           https://bugzilla.gnome.org/show_bug.cgi?id=722247
20480
20481 2014-07-25 17:29:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20482
20483         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20484           window: make gst_vaapi_window_reconfigure() thread-safe.
20485           Ensure the X11 implementation for GstVaapiWindow::get_geometry() is
20486           thread-safe by default, so that upper layer users don't need to handle
20487           that explicitly.
20488
20489 2013-07-29 09:28:28 +0200  Holger Kaelberer <hk@getslash.de>
20490
20491         * gst-libs/gst/vaapi/gstvaapiwindow.c:
20492         * gst-libs/gst/vaapi/gstvaapiwindow.h:
20493           window: allow for updating size from current geometry.
20494           Add gst_vaapi_window_reconfigure() interface to force an update of
20495           the GstVaapiWindow "soft" size, based on the current geometry of the
20496           underlying native window.
20497           This can be useful for instance to synchronize the window size when
20498           the user changed it.
20499           Thanks to Fabrice Bellet for rebasing the patch.
20500           [changed interface to gst_vaapi_window_reconfigure()]
20501           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20502
20503 2014-07-25 16:53:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20504
20505         * gst-libs/gst/vaapi/gstvaapiwindow.c:
20506         * gst-libs/gst/vaapi/gstvaapiwindow.h:
20507         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
20508         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
20509         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
20510         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
20511         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
20512         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20513         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
20514         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20515         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
20516         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
20517           window: re-indent all GstVaapiWindow related source code.
20518
20519 2014-07-25 11:24:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20520
20521         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20522         * gst-libs/gst/vaapi/gstvaapidisplay.h:
20523         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
20524           display: add interface to retrieve the display name.
20525           Add gst_vaapi_display_get_display_name() helper function to determine
20526           the name associated with the underlying native display. Note that for
20527           raw DRM backends, the display name is actually the device path.
20528
20529 2014-07-25 10:55:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20530
20531         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20532           display: fix comparison of X11 display names.
20533           Make sure to not only compare display host names, but also the actual
20534           display number. The screen number does not need to be checked at this
20535           time.
20536
20537 2014-07-25 15:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20538
20539         * gst/vaapi/gstvaapidecode.c:
20540         * gst/vaapi/gstvaapivideobufferpool.c:
20541           vaapidecode: add support for VideoAlignment bufferpool option.
20542           Always add VideoAlignment bufferpool option if the downstream element
20543           expects its own pool to be used but does not offer it through a proper
20544           propose_allocation() implementation for instance, and that the ALLOCATION
20545           query does not expose the availability of the Video Meta API.
20546           This fixes propagation of video buffer stride information to Firefox.
20547
20548 2014-07-25 15:44:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20549
20550         * gst/vaapi/gstvaapivideomemory.c:
20551           vaapivideomemory: always prefer native VA surface formats.
20552           Make sure to always prefer native internal formats for the VA surfaces
20553           that get allocated. Also disable "direct-rendering" mode in this case.
20554           This is needed so that to make sure that anything that gets out of the
20555           decoder, or anything that gets into the encoder, is in native format
20556           for the hardware, and thus the driver doesn't need to perform implicit
20557           conversions in there. Interop with SW elements is still available with
20558           fast implementations of VA imaging APIs.
20559
20560 2014-07-24 11:58:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20561
20562         * gst/vaapi/gstvaapivideomemory.c:
20563           vaapivideomemory: disallow memory shares across buffers, use a copy.
20564           Forbid shares of GstMemory instances, and rather make copy of it. This
20565           effectively copies the GstMemory structure and enclosed metadata, but
20566           this does not copy the VA surface contents itself. It should though.
20567           This fixes preroll and makes sure to not download garbage for the first
20568           frame when a SW rendering sink is used.
20569
20570 2014-07-24 06:46:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20571
20572         * gst/vaapi/gstvaapivideomemory.c:
20573         * gst/vaapi/gstvaapivideomemory.h:
20574           vaapivideomemory: use an image pool to cache objects.
20575           Use an image pool to hold VA images to be used for downloads/uploads
20576           of contents for the associated surface.
20577           This is an optmization for size. So, instead of creating as many VA
20578           images as there are buffers (then VA surfaces) allocated, we only
20579           maintain a minimal set of live VA images, thus preserving memory
20580           resources.
20581
20582 2014-07-24 00:14:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20583
20584         * gst/vaapi/gstvaapivideomemory.c:
20585           vaapivideomemory: forbid R/W mappings if non direct-rendering mode.
20586           Disable read-write mappings if "direct-rendering" is not supported.
20587           Since the ordering of read and write operations is not specified,
20588           this would require to always download the VA surface on _map(), then
20589           commit the temporary VA image back to the VA surface on _unmap().
20590           Some SW decoding plug-in elements still use R/W mappings though.
20591           https://bugzilla.gnome.org/show_bug.cgi?id=733242
20592
20593 2014-07-23 23:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20594
20595         * gst/vaapi/gstvaapivideomemory.c:
20596           vaapivideomemory: minor code clean-ups.
20597           Fix error messages introduced in the previous commit for the _map()
20598           imaplementation. Also use the new get_image_data() helper function
20599           to determine the base pixels data buffer from a GstVaapiImage when
20600           updating the video info structure from it.
20601
20602 2014-07-23 18:54:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20603
20604         * gst/vaapi/gstvaapivideomemory.c:
20605         * gst/vaapi/gstvaapivideomemory.h:
20606           vaapivideomemory: add support for raw pixels mappings.
20607           Allow raw pixels of the whole frame to be mapped read-only. i.e. in
20608           cases where the buffer pool is allocated without VideoMeta API, thus
20609           individual planes cannot be mapped.
20610           This is initial support for Firefox >= 30.
20611           https://bugzilla.gnome.org/show_bug.cgi?id=731886
20612
20613 2014-07-03 18:41:11 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20614
20615         * gst/vaapi/gstvaapivideomemory.c:
20616           vaapivideomemory: fix determination of the surface pool format.
20617           While creating the vaapi video allocator, make sure the associated
20618           surface pool has correct format instead of defaulting to NV12 video
20619           format even though there is no direct rendering support.
20620           https://bugzilla.gnome.org/show_bug.cgi?id=732691
20621
20622 2014-07-23 18:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20623
20624         * gst/vaapi/gstvaapivideomemory.c:
20625           vaapivideomemory: fix association of surface to proxy.
20626           Make sure to always update the VA surface pointer whenever the proxy
20627           changes. This used to only work when the VA surface is written to, in
20628           interop with SW element ("upload" feature), and this now fixes cases
20629           when the VA surface is needed for reading, in interop with SW element
20630           ("download" feature).
20631
20632 2014-07-23 10:23:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20633
20634         * gst/vaapi/gstvaapidecode.c:
20635         * gst/vaapi/gstvaapipluginutil.c:
20636         * gst/vaapi/gstvaapivideomemory.c:
20637           plugins: expose I420 format for interop with SW elements.
20638           Always expose I420 format by default when the VA surface could be
20639           mapped for interoperability with non harware accelerated elements.
20640           However, the default behaviour remains the auto-plugging of vaapi
20641           elements, down to the sink.
20642           Side effect: "direct-rendering" mode is also disabled most of the
20643           times as plain memcpy() from uncached speculative write combining
20644           memory is not going to be efficient enough.
20645
20646 2014-07-22 18:54:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20647
20648         * gst/vaapi/gstvaapidecode.c:
20649         * gst/vaapi/gstvaapivideomemory.c:
20650           plugins: allow download capability to vaapidecode element.
20651           Fix support for VA surface download capability in vaapidecode element
20652           for GStreamer >= 1.2. This is a fix to supporting libva-vdpau-driver,
20653           but also the libva-intel-driver while performing hardware accelerated
20654           conversions from the native VA surface format (NV12) to the desired
20655           output VA image format.
20656           For instance, this fixes pipelines involving vaapidecode ! xvimagesink.
20657           https://bugzilla.gnome.org/show_bug.cgi?id=733243
20658
20659 2014-07-17 01:51:36 +0200  Fabrice Bellet <fabrice@bellet.info>
20660
20661         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20662           decoder: mpeg4: fix picture decoder return value for skipped frames.
20663           The picture decoder should return GST_VAAPI_DECODER_STATUS_DROP_FRAME
20664           when a frame should be skipped, so the stream processing is not stalled.
20665           https://bugzilla.gnome.org/show_bug.cgi?id=733324
20666
20667 2014-07-04 15:13:32 +1000  Jan Schmidt <jan@centricular.com>
20668
20669         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20670           decoder: mpeg2: respect any input PTS provided for a frame.
20671           The timestamp generator in gstvaapidecoder_mpeg2.c always interpolated
20672           frame timestamps within a GOP, even when it's been fed input PTS for
20673           every frame.
20674           That leads to incorrect output timestamps in some situations - for example
20675           live playback where input timestamps have been scaled based on arrival time
20676           from the network and don't exactly match the framerate.
20677           https://bugzilla.gnome.org/show_bug.cgi?id=732719
20678
20679 2014-01-22 08:20:59 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20680
20681         * gst-libs/gst/vaapi/gstvaapiobject.c:
20682           GstVaapiObject: make gst_vaapi_object_new() more robust.
20683           Forbid GstVaapiObject to be created without an associated klass spec.
20684           It is mandatory that the subclass implements an adequate .finalize()
20685           hook, so it shall provide a valid GstVaapiObjectClass.
20686           https://bugzilla.gnome.org/show_bug.cgi?id=722757
20687           [made non-NULL klass argument to gst_vaapi_object_new() a requirement]
20688           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20689
20690 2014-01-21 15:43:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20691
20692         * gst-libs/gst/vaapi/gstvaapiobject.c:
20693           GstVaapiObject: initialize the derived object data with init() hook.
20694           Call the subclass .init() function in gst_vaapi_object_new(), if
20695           needed. The default behaviour is to zero initialize the subclass
20696           object data, then the .init() function can be used to initialize
20697           fields to non-default values, e.g. VA object ids to VA_INVALID_ID.
20698           Also fix the gst_vaapi_object_new() description, which was merely
20699           copied from GstVaapiMiniObject.
20700           https://bugzilla.gnome.org/show_bug.cgi?id=722757
20701           [changed to always zero initialize the subclass]
20702           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20703
20704 2014-06-13 21:45:04 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
20705
20706         * gst/vaapi/gstvaapidecode.c:
20707           vaapidecode: make decoder work with playbin
20708           When playbin/decodebin builds the pipeline, it puts decoders and sinks
20709           into different bins and forwards the queries from bins to bins. So in
20710           the initials steps the pipeline is built iteratively by playbin and
20711           looks like this :
20712           [filesrc]
20713           [filesrc] -> [typefind]
20714           [filesrc] -> [typefind] -> [demuxer]
20715           [filesrc] -> [typefind] -> [demuxer] -> [decoder]
20716           At this point the decoder is asked for its SRC caps and it will make a
20717           choice based on what gst_pad_peer_query_caps() returns. The problem is
20718           that the caps returns at that point includes caps features like ANY,
20719           essentially because playbin can plug in additional elements like
20720           videoscale, videoconv or deinterlace.
20721           This patch adds a another call to
20722           gst_vaapi_find_preferred_caps_feature() when the decoder decides its
20723           allocation, to make sure we asks the downstream elements when the
20724           entire pipeline has been built.
20725           https://bugzilla.gnome.org/show_bug.cgi?id=731645
20726
20727 2014-06-27 11:57:11 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
20728
20729         * gst/vaapi/gstvaapipostproc.c:
20730           vaapipostproc: don't let tmp_rect go out of scope.
20731           A compiler change showed me that tmp_rect went out of scope before
20732           it was used. Move it to the beginning of the function instead.
20733           https://bugzilla.gnome.org/show_bug.cgi?id=726363
20734           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
20735           [added guards for GStreamer 0.10 builds]
20736           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20737
20738 2014-07-03 22:44:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20739
20740         * AUTHORS:
20741           AUTHORS: updates.
20742
20743 2014-07-03 22:34:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20744
20745         * README:
20746           README: updates.
20747           Drop references to deprecated plugins (vaapiupload, vaapidownload),
20748           mention that support for GStreamer 0.10 is deprecated, make overview
20749           more descriptive in certain aspects.
20750
20751 2014-07-03 22:21:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20752
20753         * NEWS:
20754           NEWS: updates.
20755
20756 2014-07-03 19:42:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20757
20758         * README:
20759         * configure.ac:
20760           build: mention that support for GStreamer 0.10 is deprecated.
20761
20762 2014-07-03 17:17:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20763
20764         * configure.ac:
20765         * gst/vaapi/gstvaapidecode.c:
20766           build: fix for GStreamer 0.10.
20767
20768 2014-07-03 18:01:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20769
20770         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
20771         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
20772         * patches/videoparsers/series.frag:
20773           build: fix for GStreamer 1.0.x.
20774
20775 2014-07-03 13:48:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20776
20777         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20778           decoder: h264: detect incorrectly paired fields in frames.
20779           When a DPB flush is required, e.g. at a natural and of stream or issued
20780           explicitly through an IDR, try to detect any frame left in the DPB that
20781           is interlaced but does not contain two decoded fields. In that case, mark
20782           the picture as having a single field only.
20783           This avoids a hang while decoding tv_cut.mkv.
20784
20785 2014-07-03 11:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20786
20787         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20788           decoder: h264: simplify the DPB output process.
20789           Simplify the dpb_output() function to exclusively rely on the frame store
20790           buffer to output, since this is now always provided. Besides, also fix
20791           cases where split fields would not be displayed.
20792           This is a regression from f48b1e0.
20793
20794 2014-07-01 17:20:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20795
20796         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
20797         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
20798         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
20799         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
20800         * patches/videoparsers/series.frag:
20801           h264parse: drop patches merged upstream.
20802           0003-h264parse-fix-and-optimize-NAL-collection-function.patch
20803           0005-h264parse-introduce-new-state-tracking-variables.patch
20804           0006-h264parse-improve-conditions-for-skipping-NAL-units.patch
20805           0007-h264parse-fix-collection-of-access-units-to-preserve.patch
20806
20807 2014-07-01 17:18:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20808
20809         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20810           decoder: h264: fix memory leak in PPS.
20811           Cope with latest changes from codecparsers/h264. It is now required
20812           to explicitly clear the GstH264PPS structure as it could contain
20813           additional allocations (slice_group_ids).
20814
20815 2014-07-01 17:13:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20816
20817         * ext/codecparsers:
20818           codecparsers: update to gst-vaapi-branch commit 2d53b69.
20819           c4ace00 h264parse: fix collection of access units to preserve config headers
20820           0f9f7c9 h264parse: improve conditions for skipping NAL units
20821           9ffb25c h264parse: introduce new state tracking variables
20822           64955d3 h264parse: fix and optimize NAL collection function
20823           13cd2a3 h264: clarifications and documentation fixes
20824           53e7dd1 h264: fix identification of EOSEQ and EOS NALs
20825           18f0de0 h264: fix memory leak in GstH264PPS
20826           fdcb54c h264: fix typo in GstH264VUIParams description
20827           fd4dae9 vp8: move up built-in range decoder private data
20828
20829 2014-06-30 19:01:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20830
20831         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20832         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20833         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
20834         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
20835           decoder: propagate MVC metadata ("view-id", head of multiview set).
20836           Add new GstVaapiSurfaceProxy flag FFB, which means "first frame in
20837           bundle", and really expresses the first view component of a multi
20838           view coded frame. e.g. in H.264 MVC, the surface proxy has flag FFB
20839           set if VOIdx = 0.
20840           Likewise, new API is exposed to retrieve the associated "view-id".
20841
20842 2014-06-30 18:46:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20843
20844         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20845         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20846           decoder: propagate "one-field" flags.
20847           Allow decoders to set the "one-field" attribute when the decoded frame
20848           genuinely has a single field, or if the second field was mis-decoded but
20849           we still want to display the first field.
20850
20851 2014-06-30 18:34:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20852
20853         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20854           decoder: output decoded frames only once.
20855           Make sure to output the decoded picture, and push the associated
20856           GstVideoCodecFrame, only once. The frame fully represents what needs
20857           to be output, included for interlaced streams. Otherwise, the base
20858           GstVideoDecoder class would release the frame twice.
20859           Anyway, the general process is to output decoded frames only when
20860           they are complete. By complete, we mean a full frame was decoded or
20861           both fields of a frame were decoded.
20862
20863 2014-06-30 16:12:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20864
20865         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20866           decoder: h264: decode current picture earlier.
20867           Slightly optimize decoding process by submitting the current VA surface
20868           for decoding earlier to the hardware, and perform the reference picture
20869           marking process and DPB update process afterwards.
20870           This is a minor optimization to let the video decode engine kick in work
20871           earlier, thus improving parallel resources utilization.
20872
20873 2014-06-30 16:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20874
20875         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20876           decoder: h264: fix output of second field when first field is not in DPB.
20877           Fix decoding of interlaced streams where a first field (e.g. B-slice)
20878           was immediately output and the current decoded field is to be paired
20879           with that former frame, which is no longer in DPB.
20880           https://bugzilla.gnome.org/show_bug.cgi?id=701340
20881
20882 2014-06-30 11:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20883
20884         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20885           decoder: h264: slightly optimize the process to detect new pictures.
20886           Optimize the process to detect new pictures or start of new access
20887           units by checking if the previous NAL unit was the end of a picture,
20888           or the end of the previous access unit.
20889
20890 2014-06-13 15:42:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20891
20892         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20893           decoder: h264: handle access unit ("au") optimization.
20894           Optimize parsing when buffers are supplied with access unit alignment.
20895           This helps determining faster when the end of an access unit is reached.
20896
20897 2014-06-28 07:25:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20898
20899         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20900           decoder: h264: fix tracking of DPB size changes.
20901           Add support for MVC streams with multiple SPS and subset SPS headers
20902           emitted regularly, e.g. at around every I-frame. Track the maximum
20903           number of views in ensure_context() and really reset the DPB size to
20904           the expected value, always. i.e. even if it decreased. dpb_reset()
20905           only cares of ensuring the DPB allocation.
20906
20907 2014-06-27 20:44:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20908
20909         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20910           decoder: h264: fix the DPB compaction process.
20911           Fix the compaction process when the DPB is cleared for a specific
20912           view, i.e. fix the process of filling in the holes resulting from
20913           removing frame buffers matching the current picture.
20914
20915 2014-06-27 16:38:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20916
20917         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20918           encoder: h264: generate new SPS only when codec config changed.
20919           It is not necessary to periodically send SPS or subset SPS headers.
20920           This is up to the upper layer (e.g. transport layer) to decide on
20921           if/how to periodically submit those. For now, only generate new SPS
20922           or subset SPS headers when the codec config changed.
20923           Note: the upper layer could readily determine the config headers
20924           (SPS/PPS) through the gst_vaapi_encoder_h264_get_codec_data() function.
20925           https://bugzilla.gnome.org/show_bug.cgi?id=732083
20926           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20927
20928 2014-06-27 18:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20929
20930         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20931           encoder: h264: track encoder config changes.
20932           Track and report when encoder configuration changed. For now, this covers
20933           resolution, profile/level and bitrate changes.
20934
20935 2014-06-27 13:15:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20936
20937         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20938           encoder: h264: add pixel-aspect-ratio to VUI parameters.
20939           Report sample aspect ratio (SAR) as present, and make it match what
20940           we have obtained from the user as pixel-aspect-ratio (PAR). i.e. the
20941           VUI parameter aspect_ratio_info_present_flag now defaults to TRUE.
20942
20943 2014-06-27 00:49:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20944
20945         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20946           encoder: h264: fix number of anchor and non-anchor reference pictures.
20947           Set the value of num_anchor_refs_l0, num_anchor_refs_l1, num_non_anchor_refs_l0,
20948           and num_non_anchor_refs_l1 to zero since the inter-view prediction is not yet
20949           supported.
20950
20951 2014-06-27 10:37:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20952
20953         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20954           encoder: h264: fix timing_info_present_flag value in subset SPS.
20955           When the seq_parameter_set_data() syntax structure is present in a subset
20956           sequence parameter set and vui_parameters_present_flag is equal to 1, then
20957           timing_info_present_flag shall be equal to 0 (H.7.4.2.1.1).
20958
20959 2014-06-26 14:39:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20960
20961         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20962           encoder: h264: add cpbBrNalFactor values for MVC profiles.
20963
20964 2014-06-26 14:51:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20965
20966         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
20967           h264parse: fix detection of access unit boundaries for MVC.
20968           The gst_h264_parse_collect_nal() function is a misnomer. In reality,
20969           this function is used to determine access unit boundaries, i.e. that
20970           is the key function for alignment=au output format generation.
20971
20972 2014-06-26 14:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20973
20974         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
20975         * patches/videoparsers/series.frag:
20976           h264parse: fix collection of access units to preserve config headers.
20977           Always use a GstAdapter when collecting access units (alignment="au")
20978           in either byte-stream or avcC format. This is required to properly
20979           preserve config headers like SPS and PPS when invalid or broken NAL
20980           units are subsequently parsed.
20981           More precisely, this fixes scenario like:
20982           <SPS> <PPS> <invalid-NAL> <slice>
20983           where we used to reset the output frame buffer when an invalid or
20984           broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
20985           preventing the next slice unit to be decoded, should this also
20986           represent any valid data.
20987           https://bugzilla.gnome.org/show_bug.cgi?id=732203
20988
20989 2014-06-26 14:48:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20990
20991         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
20992         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
20993         * patches/videoparsers/series.frag:
20994           h264parse: improve conditions for skipping NAL units.
20995           Carefully track cases when skipping broken or invalid NAL units is
20996           necessary. In particular, always allow NAL units to be processed
20997           and let that gst_h264_parse_process_nal() function decide on whether
20998           the current NAL needs to be dropped or not.
20999           This fixes parsing of streams with SEI NAL buffering_period() message
21000           inserted between SPS and PPS, or SPS-Ext NAL following a traditional
21001           SPS NAL unit, among other cases too.
21002           Practical examples from the H.264 AVC conformance suite include
21003           alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
21004           when parsing in stream-format=byte-stream,alignment=au mode.
21005           https://bugzilla.gnome.org/show_bug.cgi?id=732203
21006
21007 2014-06-26 14:45:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21008
21009         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
21010         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
21011         * patches/videoparsers/series.frag:
21012           h264parse: introduce new state tracking variables.
21013           Improve parser state tracking by introducing new flags reflecting
21014           it: "got-sps", "got-pps" and "got-slice". This is an addition for
21015           robustness purposes.
21016           Older have_sps and have_pps variables are kept because they have
21017           a different meaning. i.e. they are used for deciding on when to
21018           submit updated caps or not, and rather mean "have new SPS/PPS to
21019           be submitted?"
21020
21021 2014-06-26 14:39:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21022
21023         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
21024         * patches/videoparsers/series.frag:
21025           h264parse: default to byte-stream/nalu format (Annex B).
21026           Always default to stream-format=byte-stream,alignment=nalu if avcC
21027           format was not detected. This is the natural stream format specified
21028           in the standard (Annex.B): a series of NAL units prefixed with the
21029           usual start code.
21030           https://bugzilla.gnome.org/show_bug.cgi?id=732167
21031
21032 2014-06-26 14:37:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21033
21034         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
21035         * patches/videoparsers/series.frag:
21036           h264parse: fix and optimize NAL collection function.
21037           Use gst_h264_parser_identify_nalu_unchecked() to identify the next
21038           NAL unit. We don't want to parse the full NAL unit, but only the
21039           header bytes and possibly the first RBSP byte for identifying the
21040           first_mb_in_slice syntax element.
21041           Also fix check for failure when returning from that function. The
21042           only success condition for that is GST_H264_PARSER_OK, so use it.
21043           https://bugzilla.gnome.org/show_bug.cgi?id=732154
21044
21045 2014-06-26 11:39:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21046
21047         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21048           encoder: h264: fix NAL unit types in packed headers.
21049           Submit Prefix NAL headers (nal_unit_type = 14) before every packed
21050           slice header (nal_unit_type = 1 or 5) only for the base view. In non
21051           base views, a Coded Slice Extension NAL header (nal_unit_type = 20)
21052           is required, with an appropriate nal_unit_header_mvc_extension() in
21053           the NAL header bytes.
21054           https://bugzilla.gnome.org/show_bug.cgi?id=732083
21055
21056 2014-06-25 22:05:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21057
21058         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21059           encoder: h264: add missing field in packed Subset SPS header.
21060           Write the missing num_level_values_signalled_minus1 syntax element
21061           into the packed header for subset sequence parameter set.
21062           https://bugzilla.gnome.org/show_bug.cgi?id=732083
21063
21064 2014-06-25 22:26:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21065
21066         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21067           decoder: h264: fix marking of non-reference picture into DPB.
21068           Fix search for a picture in the DPB that has a lower POC value than
21069           the current picture. The dpb_find_lowest_poc() function will return
21070           a picture with the lowest POC in DPB and that is marked as "needed
21071           for output", but an additional check against the actual POC value
21072           of the current picture is needed.
21073           This is a regression from 1c46990.
21074           https://bugzilla.gnome.org/show_bug.cgi?id=732130
21075
21076 2014-06-19 17:08:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21077
21078         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21079           decoder: h264: fix DPB clear when no decoding actually started.
21080           Fix dpb_clear() to clear previous frame buffers only if they actually
21081           exist to begin with. If the decoder bailed out early, e.g. when it
21082           does not support a specific profile, that array of previous frames
21083           might not be allocated beforehand.
21084
21085 2014-02-06 08:30:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21086
21087         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21088         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
21089         * gst/vaapi/gstvaapidecode.c:
21090           decoder: h264: add support for NALU "alignment" optimization.
21091           We can avoid scanning for start codes again if the bitstream is fed
21092           in NALU chunks. Currently, we always scan for start codes, and keep
21093           track of remaining bits in a GstAdapter, even if, in practice, we
21094           are likely receiving one GstBuffer per NAL unit. i.e. h264parse with
21095           "nal" alignment.
21096           https://bugzilla.gnome.org/show_bug.cgi?id=723284
21097           [use gst_adapter_available_fast() to determine the top buffer size]
21098           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21099
21100 2014-06-18 18:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21101
21102         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21103           decoder: h264: fix caps to report interlace-mode accordingly.
21104           The `vaapipostproc' element could never determine if the H.264 stream
21105           was interlaced, and thus always assumed it to be progressive. Fix the
21106           H.264 decoder to report interlace-mode accordingly, thus allowing the
21107           vaapipostproc element to automatically enable deinterlacing.
21108
21109 2014-06-19 13:35:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21110
21111         * gst/vaapi/gstvaapipostproc.c:
21112           vaapipostproc: don't crash with dynamic framerate (0/1).
21113           Avoid reaching an assert if dynamic framerates (0/1) are used. One
21114           way to solve this problem is to just stick field_duration to zero.
21115           However, this means that, in presence of interlaced streams, the
21116           very first field will never be displayed if precise presentation
21117           timestamps are honoured.
21118           https://bugzilla.gnome.org/show_bug.cgi?id=729604
21119
21120 2014-02-07 12:27:50 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21121
21122         * gst/vaapi/gstvaapipostproc.c:
21123           vaapipostproc: create filter surface pool if it does not exist yet.
21124           ensure_srcpad_buffer_pool() tries to avoid unnecessarily deleting and
21125           recreating filter_pool. Unfortunately, this also meant it didn't create
21126           it if it did not exist.
21127           Fix it to always create the buffer pool if it does not exist.
21128           https://bugzilla.gnome.org/show_bug.cgi?id=723834
21129           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21130
21131 2013-12-12 10:01:13 +0800  Zhao, Halley <halley.zhao@intel.com>
21132
21133         * gst/vaapi/gstvaapipostproc.c:
21134           vaapipostproc: reset deinterlacer state when there is a discontinuity.
21135           Reset deinterlacer state, i.e. past reference frames used for advanced
21136           deinterlacing, when there is some discontinuity detected in the course
21137           of processing source buffers.
21138           This fixes support for advanced deinterlacing when a seek occurred.
21139           https://bugzilla.gnome.org/show_bug.cgi?id=720375
21140           [fixed type of pts_diff variable, fetch previous buffer PTS from the
21141           history buffer, reduce heuristic for detecting discontinuity]
21142           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21143
21144 2014-06-18 16:16:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21145
21146         * gst/vaapi/gstvaapipostproc.c:
21147           vaapipostproc: add support for crop regions in VPP mode.
21148           Apply video cropping regions stored in GstVideoCropMeta, or in older
21149           GstVaapiSurfaceProxy representation, to VPP pipelines. In non-VPP modes,
21150           the crop meta are already propagated to the output buffers.
21151           https://bugzilla.gnome.org/show_bug.cgi?id=720730
21152
21153 2014-03-14 17:49:40 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21154
21155         * gst/vaapi/gstvaapipostproc.c:
21156           vaapipostproc: make deinterlace-mode behave as expected.
21157           deinterlace-mode didn't behave in the way you'd expect if you have
21158           past experience of the deinterlace element. There were two bugs:
21159           1. "auto" mode wouldn't deinterlace "interleaved" buffers, only "mixed".
21160           2. "force" mode wouldn't deinterlace "mixed" buffers flagged as progressive.
21161           Fix these up, and add assertions and error messages to detect cases that
21162           aren't handled.
21163           https://bugzilla.gnome.org/show_bug.cgi?id=726361
21164           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21165           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21166
21167 2014-01-15 16:36:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
21168
21169         * gst/vaapi/gstvaapidecode.c:
21170           vaapidecode: do not discard video info props when the format changed.
21171           gst_video_info_set_format() does not preserve video info properties. In
21172           order to keep important information in the caps such as interlace mode,
21173           framerate, pixel aspect ratio, ... we need to manually copy back those
21174           properties after setting the new video format.
21175           https://bugzilla.gnome.org/show_bug.cgi?id=722276
21176
21177 2014-02-23 01:43:39 +1100  Matthew Waters <ystreet00@gmail.com>
21178
21179         * gst/vaapi/gstvaapidecode.c:
21180           vaapidecode: plug a memory leak.
21181           It can happen that there is a pool provided that does not advertise
21182           the vappivideometa. We should unref that pool before using our own.
21183           Discovered with vaapidecode ! {glimagesink,cluttersink}
21184           https://bugzilla.gnome.org/show_bug.cgi?id=724957
21185           [fixed compilation by adding the missing semi-colon]
21186           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21187
21188 2014-06-18 13:47:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21189
21190         * gst/vaapi/gstvaapidecode.c:
21191           vaapidecode: parse source data until a frame is obtained.
21192           Parse any pending data until a complete frame is obtained. This is a
21193           memory optimization to avoid expansion of video packets stuffed into
21194           the GstAdapter, and a fix to EOS condition to detect there is actually
21195           pending data that needs to be decoded, and subsequently output.
21196           https://bugzilla.gnome.org/show_bug.cgi?id=731831
21197
21198 2014-06-05 15:32:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21199
21200         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21201           encoder: h264: fix multiple slices support in packed headers mode.
21202           Handle packedi slice headers and packed raw data on a per-slice basis,
21203           which is necessary for multi slice encoding.
21204
21205 2014-06-05 15:30:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21206
21207         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
21208         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
21209           encoder: add infrastructure for per-slice handling of packed headers.
21210           The packed slice header and packed raw data need to be paired with
21211           the submission of VAEncSliceHeaderParameterBuffer. So handle them
21212           on a per-slice basis insted of a per-picture basis.
21213           [removed useless initializer]
21214           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21215
21216 2014-03-07 17:40:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21217
21218         * gst/vaapi/gstvaapisink.c:
21219           vaapisink: fix initialization with "drm" display type.
21220           Force early initializatin of the GstVaapiDisplay so that to make sure
21221           that the sink element display object is presented first to upstream
21222           elements, as it will be correctly featuring the requested display type
21223           by the user.
21224           Otherwise, we might end up in situations where a VA/X11 display is
21225           initialized in vaapidecode, then we try VA/DRM display in vaapisink
21226           (as requested by the "display" property), but this would cause a failure
21227           because we cannot acquire a DRM display that was previously acquired
21228           through another backend (e.g. VA/X11).
21229
21230 2014-03-07 17:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21231
21232         * gst/vaapi/gstvaapipluginbase.c:
21233           plugins: fix initialization with foreign context.
21234           When a new display is settled through GstElement::set_context() (>= 1.2),
21235           or GstVideoContext::set_context() (<= 1.0), then we shall also update the
21236           associated display type.
21237
21238 2014-04-28 17:44:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21239
21240         * Makefile.am:
21241         * configure.ac:
21242         * ext/Makefile.am:
21243         * gst/vaapi/Makefile.am:
21244         * gst/vaapi/gstvaapiparse.c:
21245         * gst/vaapi/gstvaapiparse.h:
21246         * patches/Makefile.am:
21247         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
21248         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
21249         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
21250         * patches/videoparsers/Makefile.am:
21251         * patches/videoparsers/series.frag:
21252           plugins: add built-in video parsers as "vaapiparse" element.
21253           The built-in video parsers elements are built into a single DSO named
21254           libgstvaapi_parse.so. The various video parsers could be accessed as
21255           vaapiparse_CODEC.
21256           For now, this only includes a modified version of h264parse so that to
21257           support H.264 MVC encoded streams.
21258
21259 2014-06-13 11:36:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21260
21261         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21262           decoder: h264: cope with new gst_h264_quant_matrix_*() interfaces.
21263           New gst_h264_quant_matrix_*_get_raster_from_zigzag() were renamed
21264           from gst_h264_video_quant_matrix_*_get_raster_from_zigzag().
21265
21266 2014-06-13 11:34:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21267
21268         * ext/codecparsers:
21269           codecparsers: update to gst-vaapi-branch commit d6325ac.
21270           7d8d045 h264parse: use new gst_h264_video_calculate_framerate()
21271           d2f965a h264parse: set field_pic_flag when parsing a slice header
21272           24c15b8 Import h264parse
21273           a9283e5 bytereader: Use concistant derefence method
21274           a8252c6 bytereader: Use pointer instead of index access
21275           b1bebfc Import GstBitReader and GstByteReader
21276           2f58788 h264: recognize SVC NAL units
21277           4335da5 h264: fix SPS copy code for MVC
21278           cf9b6dc h264: fix quantization matrix conversion routine names
21279           b11ce2a h264: add gst_h264_video_calculate_framerate()
21280           126dc6f add C++ guards for MPEG-4 and VP8 parsers
21281
21282 2014-06-10 18:30:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21283
21284         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21285           decoder: h264: factor out DPB pruning for MVC.
21286           Factor out the removal process of unused inter-view only reference
21287           pictures from the DPB, prior to the possible insertion of the current
21288           picture.
21289           Ideally, the compiler could still opt for generating two loops. But
21290           at least, the code is now clearer for maintenance.
21291
21292 2014-06-10 17:42:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21293
21294         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21295           decoder: h264: clean-ups.
21296           Fix GST_VAAPI_PICTURE_IS_{INTER_VIEW,ANCHOR}() definitions to use
21297           the base GST_VAAPI_PICTURE_FLAG_IS_SET() macro.
21298
21299 2014-06-10 16:07:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21300
21301         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21302           decoder: h264: improve pruning of unused MVC inter-view frames.
21303           Improve process for the removal of pictures from DPB before possible
21304           insertion of the current picture (C.4.4) for H.264 MVC inter-view only
21305           reference components. In particular, handle cases where picture to be
21306           inserted is not the last one of the access unit and if it was already
21307           output and is no longer marked as used for reference, including for
21308           decoding next view components within the same access unit.
21309
21310 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21311
21312         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21313           decoder: h264: improve DPB bumping process for MVC.
21314           While invoking the DPB bumping process in presence of many views,
21315           it could be necessary to output previous pictures that are ready,
21316           in a whole. i.e. emitting all view components from the very first
21317           view order index zero to the very last one in its original access
21318           unit; and not starting from the view order index of the picture
21319           that caused the DPB bumping process to be invoked.
21320           As a reminder, the maximum number of frames in DPB for MultiView
21321           High profile with more than 2 views is not necessarily a multiple
21322           of the number of views.
21323           This fixes decoding of MVCNV-4.264.
21324
21325 2014-06-06 17:56:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21326
21327         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21328           decoder: h264: fix inter-view references array growth.
21329           Let the utility layer handle dynamic growth of the inter-view pictures
21330           array. By definition, setting a new size to the array will effectively
21331           grow the array, but would also fill in the newly created elements with
21332           empty entries (NULL), thus also increasing the reported length, which
21333           is not correct.
21334
21335 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21336
21337         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21338           decoder: h264: reduce ReferenceFrames entries to the essential set.
21339           When decoding Multiview High profile streams with a large number of
21340           views, it is not possible to make the VAPictureParameterBufferH264.
21341           ReferenceFrames[] array hold the complete DPB, with all possibly
21342           active pictures to be used for inter-view prediction in the current
21343           access unit.
21344           So reduce the scope of the ReferenceFrames[] array to only include
21345           the set of reference pictures that are going to be used for decoding
21346           the current picture. Basically, this is a union of all RefPicListX[]
21347           array, for all slices constituting the decoded picture.
21348
21349 2014-06-04 19:10:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21350
21351         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21352           decoder: h264: fix MVC inter-view prediction process.
21353           The inter-view reference components and inter-view only reference
21354           components that are included in the reference picture lists shall
21355           be considered as not being marked as "used for short-term reference"
21356           or "used for long-term reference". This means that reference flags
21357           should all be removed from VAPictureH264.flags.
21358           This fixes decoding of MVCNV-2.264.
21359
21360 2014-06-04 19:03:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21361
21362         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21363           decoder: h264: fix detection of profile changes for MVC.
21364           If the VA driver exposes ad-hoc H.264 MVC profiles, then we have to
21365           be careful to detect profiles changes and not reset the underlying
21366           VA context erroneously. In MVC situations, we could indeed get a
21367           profile_idc change for every SPS that gets activated, alternatively
21368           (base-view -> non-base view -> base-view, etc.).
21369           An improved fix would be to characterize the exact profile to use
21370           once and for all when SPS NAL units are parsed. This would also
21371           allow for fallbacks to a base-view decoding only mode.
21372
21373 2014-06-03 14:30:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21374
21375         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21376           encoder: h264: drop extraneous definitions.
21377           Re-use definitions from the codecparser headers instead of duplicating
21378           them here again. That covers NALU definitions and slice types.
21379
21380 2014-04-01 11:26:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21381
21382         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21383           encoder: h264: remove unnecessary calcualtion of max_pic_order_cnt.
21384           https://bugzilla.gnome.org/show_bug.cgi?id=727418
21385
21386 2014-04-01 14:23:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21387
21388         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21389           encoder: h264: don't allow CABAC with Extended profile.
21390           The H.264 specification does not support CABAC entropy coding for the
21391           Extended profile.
21392           https://bugzilla.gnome.org/show_bug.cgi?id=727418
21393
21394 2014-05-07 00:12:39 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21395
21396         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21397           encoder: h264: use packed headers mode for MVC encoding.
21398           Exclusively use VA drivers that support raw packed headers for encoding.
21399           i.e. simply submit packed headers Subset SPS and Prefix NAL units. This
21400           provides for better compatibility accross the various VA drivers and HW
21401           generations since no particular API is needed beyond what readily exists.
21402
21403 2014-05-07 00:09:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21404
21405         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21406           encoder: h264: add support for packed slice headers.
21407           https://bugzilla.gnome.org/show_bug.cgi?id=722905
21408
21409 2014-05-07 00:09:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21410
21411         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21412           encoder: h264: store subset sps to generate the codec-data
21413           Store the SubsetSPS nal unit which we need for MVC specific
21414           codec_data generation.
21415
21416 2014-05-07 00:08:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21417
21418         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21419           encoder: h264: fix MVC pipeline hang while encoding with B-frames.
21420           Since we are encoding each view independently from each other, we
21421           need a higher number of pre-allocated surfaces to be used as the
21422           reconstructed frames. For Stereo High profile encoding, this means
21423           to effectively double the number of frames to be stored in the DPB.
21424
21425 2014-02-17 15:51:43 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21426
21427         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21428         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21429         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
21430         * gst/vaapi/gstvaapiencode_h264.c:
21431           encoder: h264: add initial support for H.264 Stereo High profile.
21432           Add initial support for Subset SPS, Prefix NAL and Slice Extension NAL
21433           for non-base-view streams encoding, and the usual SPS, PPS and Slice
21434           NALs for base-view encoding.
21435           The H.264 Stereo High profile encoding mode will be turned on when the
21436           "num-views" parameter is set to 2. The source (raw) YUV frames will be
21437           considered as Left/Right view, alternatively.
21438           Each of the two views has its own frames reordering pool and reference
21439           frames list management system. Inter-view references are not supported
21440           yet, so the views are encoded independently from each other.
21441           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21442           [limited to Stereo High profile per the definition of MAX_NUM_VIEWS]
21443           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21444
21445 2014-02-17 11:10:26 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21446
21447         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21448           encoder: h264: wrap pools for refs and frames reordering.
21449           Create structures to maintain the reference frames list (RefPool) and
21450           frames reordering (ReorderPool) logic.
21451           This is a prerequisite for H.264 MVC support.
21452           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21453
21454 2014-02-14 15:33:15 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21455
21456         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21457           encoder: h264: add provisional support for subset SPS headers.
21458           Add provisions to write subset SPS headers to the bitstream in view
21459           to supporting the H.264 MVC specification.
21460           This assumes the libva "staging" branch is in use.
21461           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21462
21463 2013-12-18 13:47:32 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21464
21465         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21466         * gst-libs/gst/vaapi/gstvaapiutils.c:
21467           utils: add H.264 MVC profiles.
21468           Add "MultiView High" and "Stereo High" definitions.
21469           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21470           [require VA-API >= 0.35.2 for MVC profiles]
21471           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21472
21473 2014-06-02 16:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21474
21475         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21476         * gst-libs/gst/vaapi/gstvaapiutils.c:
21477           utils: only enable VP8 profiles for newer VA-API versions.
21478           VP8 decoding API appeared in VA-API >= 0.35.0. So, disable mappings
21479           involving VP8 codec on earlier versions of the API.
21480
21481 2014-05-22 10:04:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21482
21483         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21484           decoder: h264: compute view ids only once per slice.
21485           Optimize lookups of view ids / view order indices by caching the result
21486           of the calculatiosn right into the GstVaapiParserInfoH264 struct. This
21487           terribly simplifies is_new_access_unit() and find_first_field() functions.
21488
21489 2014-05-21 17:57:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21490
21491         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21492           decoder: h264: add support for MVC interlaced streams.
21493           Fix support for MVC Stereo High profile streams with interlaced frames.
21494           Also improve the detection logic of the first field.
21495
21496 2014-05-20 18:08:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21497
21498         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21499           decoder: h264: add MVC profiles compatibility logic.
21500           Add safe fallbacks for MVC profiles:
21501           - all MultiView High profile streams with 2 views at most can be decoded
21502           with a Stereo High profile compliant decoder ;
21503           - all Stereo High profile streams with only progressive views can be
21504           decoded with a MultiView High profile compliant decoder ;
21505           - all drivers that support slice-level decoding could normally support
21506           MVC profiles when the DPB holds at most 16 frames.
21507
21508 2014-05-02 14:58:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21509
21510         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21511         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21512         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21513           decoder: h264: add initial support for MVC.
21514           https://bugzilla.gnome.org/show_bug.cgi?id=721772
21515
21516 2014-05-01 19:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21517
21518         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21519           decoder: h264: dynamically allocate the DPB.
21520           Dynamically allocate the Decoded Picture Buffer (DPB) and add provisions
21521           for supporting the MVC allocation requirements.
21522
21523 2014-05-01 19:33:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21524
21525         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21526           decoder: h264: fix detection of access unit boundaries.
21527           In order to have a stricter conforming implementation, we need to carefully
21528           detect access unit boundaries. Additional operations could be necessary to
21529           perform at those boundaries.
21530
21531 2013-03-13 11:44:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21532
21533         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21534           decoder: h264: detect the first VCL NAL unit of a picture for MVC.
21535           Detect the first VCL NAL unit of a picture for MVC, based on the
21536           view_id as per H.7.4.1.2.4. Note that we only need to detect new
21537           view components.
21538           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21539
21540 2013-10-31 19:32:55 +0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21541
21542         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21543           decoder: h264: properly handle Prefix NAL units.
21544           Always cache the previous NAL unit so that we could check whether
21545           there is a Prefix NAL unit immediately preceding the current slice
21546           or IDR NAL unit. In that case, the NAL unit metadata is copied into
21547           the current NAL unit. Otherwise, some default values are inferred,
21548           tentatively. e.g. view_id shall be set to 0 and inter_view_flag to 1.
21549           [infer default values for slice if previous NAL was not a Prefix]
21550           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21551
21552 2013-02-28 15:59:55 +0800  Xiaowei Li <xiaowei.a.li@intel.com>
21553
21554         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21555           decoder: h264: add support for MVC base views.
21556           Allow decoding for base views of MVC encoded streams. For now, just skip
21557           the slice extension and prefix NAL units, and skip non-base view frames.
21558           Signed-off-by: Xiaowei Li <xiaowei.a.li@intel.com>
21559           [fixed memory leak, improved check for MVC NAL units]
21560           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21561
21562 2014-05-04 14:49:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21563
21564         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21565           decoder: h264: simplify storage of decoded picture into DPB.
21566           Factor out process by which the decoded picture with the lowest POC
21567           is found, and possibly output. Likewise, the storage and marking of
21568           a reference decoded, or non-reference decoded picture, into the DPB
21569           could also be simplified as they mostly share the same operations.
21570
21571 2014-05-02 22:40:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21572
21573         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21574           decoder: h264: minor clean-ups.
21575           Make init_picture_ref_lists() more consistent with other functions
21576           related to the reference marking process by supplying the current
21577           picture as argument.
21578
21579 2014-05-20 11:36:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21580
21581         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21582         * gst-libs/gst/vaapi/gstvaapidisplay.h:
21583         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21584           display: add utility function to query VA driver name.
21585           Add gst_vaapi_display_get_vendor_string() helper function to query
21586           the underlying VA driver name. The display object owns the resulting
21587           string, so it shall not be deallocated.
21588           That function is thread-safe. It could be used for debugging purposes,
21589           for instance.
21590
21591 2014-03-07 14:50:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21592
21593         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21594         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
21595         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21596         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21597         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21598         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
21599         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
21600           display: make cache maintenance really MT-safe.
21601           Make sure to initialize one GstVaapiDisplay at a time, even in threaded
21602           environments. This makes sure the display cache is also consistent
21603           during the whole display creation process. In the former implementation,
21604           there were risks that display cache got updated in another thread.
21605
21606 2014-05-03 15:56:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21607
21608         * gst-libs/gst/vaapi/gstvaapicontext.c:
21609           context: allow dynamic growth of VA surfaces pool.
21610           Add support for dynamic growth of the VA surfaces pool. For decoding,
21611           this implies the recreation of the underlying VA context, as per the
21612           requirement from VA-API. Besides, only increases are supported, not
21613           shrinks.
21614
21615 2014-05-03 15:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21616
21617         * gst-libs/gst/vaapi/gstvaapicontext.c:
21618           context: reset VA context if VA surfaces set changed.
21619           It is a requirement from VA-API specification that the VA context got
21620           from vaCreateContext(), for decoding purposes, binds the supplied set
21621           of VA surfaces. This means that if the set of VA surfaces is to be
21622           changed for the current decode session, then the VA context needs to
21623           be recreated with the new set of VA surfaces.
21624
21625 2014-05-12 19:23:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21626
21627         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21628           decoder: h264: fix assignment of LongTermFrameIdx.
21629           Complement fix committed as e95a42e.
21630           The H.264 AVC standard has to say: if the field is part of a reference
21631           frame or a complementary reference field pair, and the other field of
21632           the same reference frame or complementary reference field pair is also
21633           marked as "used for long-term reference", the reference frame or
21634           complementary reference field pair is also marked as "used for long-term
21635           reference" and assigned LongTermFrameIdx equal to long_term_frame_idx.
21636           This fixes decoding of MR9_BT_B in strict mode.
21637           https://bugs.freedesktop.org/show_bug.cgi?id=64624
21638           https://bugzilla.gnome.org/show_bug.cgi?id=724518
21639
21640 2014-05-10 06:23:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21641
21642         * gst-libs/gst/vaapi/gstvaapicontext.c:
21643         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21644         * gst-libs/gst/vaapi/gstvaapiutils.c:
21645         * gst-libs/gst/vaapi/gstvaapiutils.h:
21646           decoder: h264: properly support grayscale formats.
21647           Request the correct chroma format for decoding grayscale streams.
21648           i.e. make lookups of the VA chroma format more generic, thus possibly
21649           supporting more formats in the future.
21650           This means that, if a VA driver doesn't support grayscale formats,
21651           it is now going to fail. We cannot safely assume that maybe grayscale
21652           was implemented on top of some YUV 4:2:0 with the chroma components
21653           all set to 0x80.
21654
21655 2014-02-06 11:14:09 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21656
21657         * gst-libs/gst/vaapi/gstvaapifilter.c:
21658         * gst-libs/gst/vaapi/gstvaapifilter.h:
21659         * tests/test-filter.c:
21660           build: fix source file modes.
21661           A few source files are marked executable in error - fix them
21662           https://bugzilla.gnome.org/show_bug.cgi?id=723748
21663           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21664
21665 2014-04-29 13:22:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21666
21667         * configure.ac:
21668         * gst-libs/gst/vaapi/Makefile.am:
21669         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21670         * gst/vaapi/gstvaapidecode.c:
21671           build: fix conditional compilation of VP8 decoder.
21672           https://bugzilla.gnome.org/show_bug.cgi?id=729170
21673           [added check for VASliceParameterBufferBase fields]
21674           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21675
21676 2014-04-27 08:55:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21677
21678         * gst-libs/gst/codecparsers/Makefile.am:
21679           build: fix make dist for codecparsers.
21680
21681 2014-04-28 09:42:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21682
21683         * ext/codecparsers:
21684           codecparsers: update to gst-vaapi-branch commit eaa3f7e.
21685           h264: fix parsing of slice groups for map type = 2
21686
21687 2014-04-26 22:35:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21688
21689         * ext/codecparsers:
21690           codecparsers: update to gst-vaapi branch commit f44edfc.
21691           h264: fix derivation of default scaling lists
21692
21693 2013-05-24 19:00:54 +0800  Cong Zhong <congx.zhong@intel.com>
21694
21695         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21696           decoder: h264: fix long-term reference picture marking process.
21697           Fix reference picture marking process with memory_management_control_op
21698           set to 3 and 6, i.e. assign LongTermFrameIdx to a short-term reference
21699           picture, or the current picture.
21700           This fixes decoding of FRExt_MMCO4_Sony_B.
21701           https://bugs.freedesktop.org/show_bug.cgi?id=64624
21702           https://bugzilla.gnome.org/show_bug.cgi?id=724518
21703           [squashed, edited to use GST_VAAPI_PICTURE_IS_COMPLETE() macro]
21704           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21705
21706 2014-04-26 20:21:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21707
21708         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21709           decoder: h264: fix initialization of RefPicLists for multiple slices.
21710           The initialization of reference picture lists (8.2.4.2) applies to all
21711           slices. So, the RefPicList0/1 lists need to be constructed prior to
21712           each slice submission to the HW decoder.
21713           This fixes decoding of video sequences where frames are encoded with
21714           multiple slices of different types, e.g. 4 slices in this order I, P,
21715           I, and P. More precisely, CABAST3_Sony_E and CABASTBR3_Sony_B.
21716           https://bugzilla.gnome.org/show_bug.cgi?id=724518
21717
21718 2013-06-04 15:01:46 +0800  Zhong Cong <congx.zhong@intel.com>
21719
21720         * ext/codecparsers:
21721         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21722           decoder: h264: skip SPS extension and auxiliary slice NALs.
21723           When NAL units of type 13 (SPS extension) or type 19 (auxiliary slice)
21724           are present in a video, decoders shall perform the (optional) decoding
21725           process specified for these NAL units or shall ignore them (7.4.1).
21726           Implement option 2 (skip) for now, as alpha composition is not
21727           supported yet during the decoding process.
21728           This fixes decoding of the primary coded video in alphaconformanceG.
21729           https://bugzilla.gnome.org/show_bug.cgi?id=703928
21730           https://bugzilla.gnome.org/show_bug.cgi?id=728869
21731           https://bugzilla.gnome.org/show_bug.cgi?id=724518
21732           [skip NAL units earlier, i.e. at parsing time]
21733           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21734
21735 2013-03-07 11:32:20 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21736
21737         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21738           decoder: h264: fix slice data bit offset with MVC NAL units.
21739           When MVC slice NAL units (coded slice extension and prefix NAL) are
21740           present, the number of NAL header bytes is 3, not 1 as usual.
21741           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21742           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21743
21744 2014-04-25 19:11:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21745
21746         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21747           decoder: h264: fix activation of picture and sequence parameters.
21748           At the time the first VCL NAL unit of a primary coded picture is found,
21749           and if that NAL unit was parsed to be an SPS or PPS, then the entries
21750           in the parser may have been overriden. This means that, when the picture
21751           is to be decoded, slice_hdr->pps could point to an invalid (the next)
21752           PPS entry.
21753           So, one way to solve this problem is to not use the parser PPS and
21754           SPS info but rather maintain our own activation chain in the decoder.
21755           https://bugzilla.gnome.org/show_bug.cgi?id=724519
21756           https://bugzilla.gnome.org/show_bug.cgi?id=724518
21757
21758 2014-04-25 16:24:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21759
21760         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21761           decoder: h264: retain SEI messages until the end of frame.
21762           Retain the SEI messages that were parsed from the access unit until we
21763           have completely decoded the current frame. This is done so that we can
21764           peek at that data whenever necessary during decoding. e.g. for exposing
21765           3D stereoscopic information at a later stage.
21766
21767 2014-04-25 14:23:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21768
21769         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21770           decoder: h264: add support for grayscale encoded clips.
21771           Fix support for grayscale encoded video clips, and possibly others if
21772           the underlying driver supports the non-YUV 4:2:0 formats. i.e. defer
21773           the decision that a surface with the desired chroma format is not
21774           supported to the actual VA driver implementation.
21775           https://bugzilla.gnome.org/show_bug.cgi?id=728144
21776
21777 2014-04-25 14:16:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21778
21779         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21780         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21781         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21782         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21783         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21784         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21785           decoder: default to YUV 4:2:0 VA surfaces.
21786           Cope with context changes to support non-YUV 4:2:0 VA surfaces. Still,
21787           make sure all codecs use YUV 4:2:0 output format for now, by default.
21788
21789 2014-04-25 13:57:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21790
21791         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21792         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21793         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21794           decoder: re-indent GstVaapiDecoder base object.
21795
21796 2014-04-25 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21797
21798         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21799           encoder: derive chroma type from video format.
21800           Cope with previous VA context change to derive the correct surface chroma
21801           type from the input video format.
21802
21803 2014-04-25 13:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21804
21805         * gst-libs/gst/vaapi/gstvaapicontext.c:
21806         * gst-libs/gst/vaapi/gstvaapicontext.h:
21807           context: add support for non-YUV 4:2:0 formats.
21808           Don't force allocation of VA surfaces in YUV 4:2:0 format. Rather, allow
21809           for the upper layer to specify the desired chroma type. If the chroma
21810           type field is not set (or yields zero), then YUV 4:2:0 format is used
21811           by default.
21812
21813 2014-04-22 19:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21814
21815         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21816           vp8: fix per-segment deblocking filter level in relative mode.
21817           Fix possible bug when a per-segment deblocking filter level value
21818           needs to be set in non-absolute mode, i.e. when the loop filter update
21819           value is negative in delta mode.
21820           Also clamp the resulting filter level value to 0..63 range.
21821
21822 2014-04-22 17:25:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21823
21824         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21825           vp8: fix check for disabling the loop filter (again).
21826           Improve condition to disable the loop filter. The previous heuristic
21827           used to check all filter levels, for all segments. It turns out that
21828           only the base filter_level value defined in the frame header needs
21829           to be checked.
21830           This fixes 00-comprehensive-013.
21831
21832 2014-04-21 18:02:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21833
21834         * gst-libs/gst/codecparsers/Makefile.am:
21835         * gst/vaapi/Makefile.am:
21836           build: fix make dist with certain conditionals not met.
21837           Fix generation of source tarballs when certain conditionals are not
21838           met. e.g. always include all buildable codecparsers sources in the
21839           distribution tarball, fix plug-in element sources set to include X11
21840           and encoder bits.
21841
21842 2014-04-21 17:34:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21843
21844         * ext/Makefile.am:
21845           build: add missing files for GStreamer 0.10.
21846           Add missing GstVideoEncoder implementation files to fix build with ancient
21847           GStreamer 0.10 stack.
21848           https://bugzilla.gnome.org/show_bug.cgi?id=723964
21849
21850 2014-04-19 10:17:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21851
21852         * ext/Makefile.am:
21853           build: add missing files for VP8 bitstream parser.
21854           Fix make dist for building the VP8 bitstream parser.
21855
21856 2014-04-21 17:49:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21857
21858         * configure.ac:
21859         * ext/libvpx/Makefile.am:
21860         * gst-libs/gst/codecparsers/Makefile.am:
21861           vp8: allow compilation without the built-in libvpx.
21862           The built-in libvpx serves multiple purposes, among which the most
21863           important ones could be: track the most up-to-date, and optimized,
21864           range decoder; allow for future hybrid implementations (non-VLD);
21865           and have a completely independent range decoder implementation.
21866
21867 2014-04-21 17:28:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21868
21869         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21870           vp8: propagate PTS from demux frame.
21871           gst_adapter_prev_pts() is forbidden within libgstvaapi. Besides, the demuxer
21872           or parser would already have determined the PTS from a previous stage.
21873
21874 2014-04-19 07:49:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21875
21876         * Makefile.am:
21877         * debian.upstream/libgstvaapi.install.in:
21878         * ext/libvpx/Makefile.am:
21879         * ext/libvpx/sources.frag:
21880         * gst-libs/gst/codecparsers/Makefile.am:
21881           vp8: fix compilation with built-in libvpx.
21882           Apply correct patch from fd.o #722760 to fix several issues: update the
21883           license terms to LGPLv2.1+, fix dependencies to built-in libvpx and fix
21884           make dist.
21885
21886 2014-02-13 21:17:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21887
21888         * .gitmodules:
21889         * autogen.sh:
21890         * configure.ac:
21891         * ext/Makefile.am:
21892         * ext/libvpx/Makefile.am:
21893         * ext/libvpx/gstlibvpx.c:
21894         * ext/libvpx/gstlibvpx.h:
21895         * ext/libvpx/libgstcodecparsers_vpx.vers:
21896         * ext/libvpx/sources.frag:
21897         * ext/libvpx/upstream:
21898         * gst-libs/gst/codecparsers/Makefile.am:
21899         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
21900           vp8: use range decoder from libvpx.
21901           Add libvpx submodule that tracks the upstream version 1.3.0. This is
21902           needed to build a libgstcodecparsers_vpx.so library with all symbols
21903           placed into the GSTREAMER namespace.
21904
21905 2014-04-04 19:17:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21906
21907         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21908           vp8: fix check for disabling the loop filter.
21909
21910 2013-12-27 07:18:24 +0800  Zhao, Halley <halley.zhao@intel.com>
21911
21912         * configure.ac:
21913         * ext/Makefile.am:
21914         * gst-libs/gst/codecparsers/Makefile.am:
21915         * gst-libs/gst/vaapi/Makefile.am:
21916         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21917         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
21918         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21919         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21920         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21921         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
21922         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21923         * gst-libs/gst/vaapi/gstvaapiprofile.h:
21924         * gst/vaapi/gstvaapidecode.c:
21925           Add initial VP8 decoder.
21926           https://bugzilla.gnome.org/show_bug.cgi?id=722761
21927           [complete overhaul, fixed support for resolution changes]
21928           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21929
21930 2014-03-21 15:15:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21931
21932         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21933           decoder: h264: cope with new gst_h264_parser_parse_sei() interface.
21934           The gst_h264_parse_parse_sei() function now returns an array of SEI
21935           messages, instead of a single SEI message. Reason: it is allowed to
21936           have several SEI messages packed into a single SEI NAL unit, instead
21937           of multiple NAL units.
21938
21939 2014-04-18 19:36:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21940
21941         * ext/codecparsers:
21942           codecparsers: update to gst-vaapi-branch commit a454f86.
21943           b2eb5f6 vp8: rename dboolhuff symbols
21944           b74a881 vp8: add GStreamer native utilities
21945           2940ac6 add VP8 bitstream parser
21946
21947 2014-04-18 19:16:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21948
21949         * ext/codecparsers:
21950           codecparsers: update to gst-vaapi-branch commit d459bc5.
21951           d459bc5 h264: set framerate even for interlaced videos
21952           c78b82c h264: add support for Recovery Point SEI message
21953           7693bac h264: add support for Frame Packing Arrangement SEI message
21954           31fafa7 h264: add support for Stereo Video Information SEI message
21955           8b113a6 h264: parse seq_parameter_set_mvc_extension()
21956           040f9b8 h264: parse MVC syntax elements
21957           cc18ef3 h264: add nal_reader_skip_long() helper
21958           7e76a48 h264: fix slice_header() parsing for MVC
21959           caf46d8 h264: add gst_h264_parse_nalu_header() helper
21960           f75074e h264: add gst_h264_parse_sps_data() helper
21961           798c397 h264: clean-up gst_h264_parser_parse_sei_message()
21962           4e36737 h264: fix skipping of unsupported SEI messages
21963           5300766 h264: fix SEI buffering_period() parsing
21964
21965 2014-03-21 15:09:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21966
21967         * ext/codecparsers:
21968         * gst-libs/gst/codecparsers/Makefile.am:
21969           codecparsers: update to gst-vaapi-branch commit 8fadf40.
21970           8fadf40 h264: Fix multiple SEI messages in one SEI RBSP parsing.
21971           644825f h265: remove trailling 0x00 bytes as the spec doesn't allow them
21972           95f9f0f h264: remove trailling 0x00 bytes as the spec doesn't allow them
21973           766007b h265: Initialize pointer correctly that is never assigned but freed in error cases
21974           8ec5816 h265: Fix segfault when parsing HRD parameter
21975           5b1730f h265: Fix segfault when parsing VPS
21976           983b7f7 h265: prevent to overrun chroma_weight_l0_flag
21977           7ba641d h265: Fix debug output
21978           d9f9f9b h264: not all startcodes should have 3-byte 0 prefix
21979
21980 2014-02-04 18:35:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21981
21982         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21983           decoder: h264: fix robustness patch for bytestream format.
21984           Fix parser and decoder state to sync at the right locations. This is
21985           because we could reset the parser state, while the decoder state was
21986           not copied yet, e.g. when parsing several NAL units from multiple frames
21987           whereas the current frame was not decoded yet.
21988           This is a regression brought in by commit 6fe5496.
21989
21990 2014-02-18 06:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21991
21992         * configure.ac:
21993         * pkgconfig/Makefile.am:
21994         * pkgconfig/gstreamer-vaapi-drm.pc.in:
21995         * pkgconfig/gstreamer-vaapi-glx.pc.in:
21996         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
21997         * pkgconfig/gstreamer-vaapi-x11.pc.in:
21998           build: fix pkgconfig file names (again).
21999           It turns out it is more convenient to have only pkgconfig files named
22000           after the installed GStreamer API version (1.0) instead of using all
22001           possible subsequent names from that (1.0, 1.2, 1.4). i.e. they conflict
22002           altogether anyway, so align pkgconfig file names to that.
22003
22004 2014-02-07 09:43:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22005
22006         * debian.upstream/libgstvaapi-dev.install.in:
22007         * gst-libs/gst/vaapi/Makefile.am:
22008         * pkgconfig/gstreamer-vaapi.pc.in:
22009           build: fix packaging for GStreamer 1.2.
22010           Fix gstreamer-vaapi includedir for GStreamer 1.2 setups. i.e. use
22011           the pkgconfig version (1.0) instead of the intended API version (1.2).
22012           libgstvaapi1.0-dev and libgstvaapi1.2-dev packages will now conflict,
22013           as would core GStreamer 1.0 and GStreamer 1.2 dev packages anyway.
22014
22015 2014-01-24 11:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22016
22017         * configure.ac:
22018           Bump version for development.
22019
22020 2014-01-24 10:55:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22021
22022         * debian.upstream/control.in:
22023           debian: fix trailing whitespace in description.
22024
22025 2014-01-23 23:24:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22026
22027         * debian.upstream/control.in:
22028         * debian.upstream/copyright:
22029           debian: fix package description.
22030           Try to improve package description for the compiled plug-in elements
22031           available in there. e.g. only display vaapidownload and vaapiupload
22032           for GStreamer 0.10 builds, display vaapiencode_* elements when VA
22033           encoding is enabled, etc.
22034           Also increase the copyright notice date.
22035
22036 2014-01-23 22:47:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22037
22038         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22039           build: fix warnings on 64-bit platforms.
22040
22041 2014-01-23 22:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22042
22043         * gst-libs/gst/vaapi/gstvaapicontext.c:
22044         * gst-libs/gst/vaapi/gstvaapiutils.c:
22045           build: fix for older versions of VA-API (< 0.34.0).
22046           Fix build with older versions of VA-API (< 0.34.0), or versions without
22047           good enough headers for encoding support for instance.
22048
22049 2014-01-23 19:36:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22050
22051         * NEWS:
22052         * configure.ac:
22053           0.5.8.
22054
22055 2014-01-23 19:32:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22056
22057         * README:
22058           README: updates.
22059           VA-API up to 0.34.0 is actually supported. Mention new video encoding
22060           support. Update copyright years, list of supported Intel HD Graphics
22061           hardware.
22062
22063 2014-01-23 19:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22064
22065         * NEWS:
22066           NEWS: updates.
22067
22068 2014-01-20 14:16:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22069
22070         * tests/test-filter.c:
22071           tests: test-filter: fix "deinterlace" option parse.
22072           Default to GST_VAAPI_DEINTERLACE_METHOD_NONE if no "deinterlace" option
22073           string was provided, i.e. if it remained set to NULL.
22074
22075 2014-01-23 18:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22076
22077         * gst-libs/gst/vaapi/Makefile.am:
22078         * gst-libs/gst/vaapi/gstvaapicontext.c:
22079         * gst-libs/gst/vaapi/gstvaapicontext.h:
22080         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22081         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
22082         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
22083           libs: factor out usages of vaGetConfigAttributes().
22084           Add gst_vaapi_get_config_attribute() helper function that takes a
22085           GstVaapiDisplay and the rest of the arguments with VA types. The aim
22086           is to have thread-safe VA helpers by default.
22087
22088 2014-01-23 17:41:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22089
22090         * gst-libs/gst/vaapi/gstvaapiutils.c:
22091         * gst-libs/gst/vaapi/gstvaapiutils.h:
22092         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
22093         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22094         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22095         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
22096         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22097         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
22098         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
22099         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
22100         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
22101           libs: re-indent all source code related to VA utilities.
22102
22103 2014-01-23 17:06:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22104
22105         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
22106           libs: add missing file (libgstvaapi_priv_check.h).
22107
22108 2014-01-23 15:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22109
22110         * gst-libs/gst/vaapi/gstvaapicontext.c:
22111         * gst-libs/gst/vaapi/gstvaapicontext.h:
22112         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22113         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22114         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22115         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22116           encoder: notify the encoder of the submitted packed headers.
22117           Make sure to configure the encoder with the set of packed headers we
22118           intend to generate and submit. i.e. make selection of packed headers
22119           to submit more robust.
22120
22121 2014-01-23 15:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22122
22123         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22124         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22125         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22126         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22127           encoder: fix and factor out check for supported rate-control modes.
22128           Cache the first compatible GstVaapiProfile found if the encoder is not
22129           configured yet. Next, factor out the code to check for the supported
22130           rate-control modes by moving out vaGetConfigAttributes() to a separate
22131           function, while also making sure that the attribute type is actually
22132           supported by the encoder.
22133           Also fix the default set of supported rate control modes to not the
22134           "none" variant. It's totally useless to expose it at this point.
22135
22136 2014-01-23 14:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22137
22138         * gst-libs/gst/vaapi/gstvaapicontext.c:
22139         * gst-libs/gst/vaapi/gstvaapicontext.h:
22140         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22141           context: move rate-control mode to encoder specific config.
22142           Move usage-specific config out of the common GstVaapiContextInfo.
22143           Create a specialized config for encoding and move rate-control mode
22144           to there.
22145
22146 2014-01-23 13:30:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22147
22148         * gst-libs/gst/vaapi/gstvaapicontext.c:
22149         * gst-libs/gst/vaapi/gstvaapicontext.h:
22150         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22151         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22152           context: introduce concept of usage.
22153           Introduce GstVaapiContextUsage so that to explicitly determine the
22154           usage of a VA context. This is useful in view to simplifying the
22155           creation of VA context for VPP too.
22156
22157 2014-01-23 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22158
22159         * gst-libs/gst/vaapi/gstvaapicontext.c:
22160           context: fix get_attribute() value result.
22161           Unknown attributes, or attributes that are not supported for the given
22162           profile/entrypoint pair have a return value of VA_ATTRIB_NOT_SUPPORTED.
22163           So, return failure in this case.
22164
22165 2014-01-23 10:59:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22166
22167         * gst-libs/gst/vaapi/Makefile.am:
22168         * gst-libs/gst/vaapi/gstvaapicontext.c:
22169         * gst-libs/gst/vaapi/gstvaapicontext.h:
22170         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
22171         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
22172         * gst-libs/gst/vaapi/gstvaapisurface.c:
22173           context: move overlay composition to separate files.
22174           Move GstVideoOverlayComposition handling to separate source files.
22175           This helps keeing GstVaapiContext core implementation to the bare
22176           minimal, i.e. simpy helpers to create a VA context and handle pool
22177           of associated VA surfaces.
22178
22179 2014-01-23 09:41:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22180
22181         * gst-libs/gst/vaapi/gstvaapicontext.c:
22182         * gst-libs/gst/vaapi/gstvaapicontext.h:
22183         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22184         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22185           context: clean-ups. Strip down APIs.
22186           Improve documentation and debug messages. Clean-up APIs, i.e. strip
22187           them down to the minimal set of interfaces. They are private, so no
22188           need expose getters for instance.
22189
22190 2014-01-23 09:27:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22191
22192         * gst-libs/gst/vaapi/gstvaapicontext.c:
22193         * gst-libs/gst/vaapi/gstvaapicontext.h:
22194           context: re-indent all GstVaapiContext related source code.
22195
22196 2014-01-23 10:20:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22197
22198         * gst-libs/gst/vaapi/Makefile.am:
22199         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
22200         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
22201         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
22202         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
22203         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
22204         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
22205         * gst-libs/gst/vaapi/gstvaapiutils.h:
22206         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22207         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22208         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
22209         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
22210         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
22211           libs: check that private headers remain private.
22212           Make sure that libgstvaapi private headers remain internally used to
22213           build libgstvaapi libraries only. All header dependencies were reviewed
22214           and checks for IN_LIBGSTVAAPI definition were added accordingly.
22215           Also rename GST_VAAPI_CORE definition to IN_LIBGSTVAAPI_CORE to keep
22216           consistency.
22217
22218 2014-01-22 19:04:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22219
22220         * configure.ac:
22221           Bump library major version.
22222           Bump the library major version due to API/ABI changes that occurred in
22223           the imaging API. In particular, GstVaapiDisplay interfaces no longer
22224           expose any GstCaps but provide GArray based ones e.g. to determine the
22225           set of supported decode/encode profiles.
22226
22227 2014-01-22 18:54:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22228
22229         * gst-libs/gst/vaapi/glibcompat.h:
22230         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
22231         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
22232         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
22233         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
22234         * gst-libs/gst/vaapi/gstvaapicontext.c:
22235         * gst-libs/gst/vaapi/gstvaapicontext.h:
22236         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22237         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22238         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
22239         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22240         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22241         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22242         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22243         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22244         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22245         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22246         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22247         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22248         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22249         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
22250         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22251         * gst-libs/gst/vaapi/gstvaapifilter.c:
22252         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
22253         * gst-libs/gst/vaapi/gstvaapisurface.c:
22254         * gst-libs/gst/vaapi/gstvaapisurface.h:
22255         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22256         * gst-libs/gst/vaapi/gstvaapitypes.h:
22257         * gst-libs/gst/vaapi/gstvaapiutils.c:
22258         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22259         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
22260         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22261         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
22262         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
22263         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
22264         * gst-libs/gst/vaapi/gstvaapivalue.c:
22265         * gst-libs/gst/vaapi/gstvaapivalue.h:
22266         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
22267         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
22268         * gst/vaapi/gstvaapidecode.c:
22269         * gst/vaapi/gstvaapiencode.c:
22270         * gst/vaapi/gstvaapiencode.h:
22271         * gst/vaapi/gstvaapiencode_h264.c:
22272         * gst/vaapi/gstvaapiencode_h264.h:
22273         * gst/vaapi/gstvaapiencode_mpeg2.c:
22274         * gst/vaapi/gstvaapiencode_mpeg2.h:
22275         * gst/vaapi/gstvaapipluginbase.c:
22276         * gst/vaapi/gstvaapipluginutil.c:
22277         * gst/vaapi/gstvaapipluginutil.h:
22278         * gst/vaapi/gstvaapipostproc.c:
22279         * gst/vaapi/gstvaapipostproc.h:
22280         * gst/vaapi/gstvaapisink.c:
22281         * gst/vaapi/gstvaapisink.h:
22282         * gst/vaapi/gstvaapivideometa_texture.c:
22283         * tests/simple-decoder.c:
22284           legal: update copyright notice dates.
22285
22286 2014-01-22 18:49:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22287
22288         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22289         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22290         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22291         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22292         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22293         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22294         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22295         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22296         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
22297         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22298         * gst/vaapi/gstvaapiencode.c:
22299         * gst/vaapi/gstvaapiencode.h:
22300         * gst/vaapi/gstvaapiencode_h264.c:
22301         * gst/vaapi/gstvaapiencode_h264.h:
22302         * gst/vaapi/gstvaapiencode_mpeg2.c:
22303         * gst/vaapi/gstvaapiencode_mpeg2.h:
22304           legal: add per-file authorship information.
22305
22306 2014-01-22 18:11:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22307
22308         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22309         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22310           decoder: fix video codec frame number in standalone mode.
22311           Set a valid GstVideoCodecFrame.system_frame_number when decoding a
22312           stream in standalone mode. While we are at it, improve the debugging
22313           messages to also include that frame number.
22314
22315 2014-01-17 16:56:53 +0800  Wind Yuan <feng.yuan@intel.com>
22316
22317         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22318         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22319           decoder: fix crash on invalid pointer for GST_DEBUG().
22320           When decoding failed, or that the frame was dropped, the associated
22321           surface proxy is not guaranteed to be present. Thus, the GST_DEBUG()
22322           message needs to check whether the proxy is actually present or not.
22323           https://bugzilla.gnome.org/show_bug.cgi?id=722403
22324           [fixed gst_vaapi_surface_proxy_get_surface_id() to return VA_INVALID_ID]
22325           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22326
22327 2014-01-22 17:07:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22328
22329         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22330           encoder: h264: disable NAL HRD parameters for now.
22331           Don't emit NAL HRD parameters for now in the SPS headers because the
22332           SEI buffering_period() and picture_timing() messages are not handled
22333           yet. Some additional changes are necessary to get it right.
22334           https://bugzilla.gnome.org/show_bug.cgi?id=722734
22335
22336 2014-01-21 19:04:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22337
22338         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22339         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22340         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22341         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22342           encoder: h264: fix default CPB buffer size.
22343           Fix default CPB buffer size to something more reasonable (1500 ms)
22344           and that still fits the level limits. This is a non configurable
22345           property for now. The initial CPB removal delay is also fixed to
22346           750 ms.
22347           https://bugzilla.gnome.org/show_bug.cgi?id=722087
22348
22349 2014-01-22 14:43:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22350
22351         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22352           encoder: h264: fix bitrate encoding for HRD conformance.
22353           Round down the calculated, or supplied, bitrate (kbps) into a multiple
22354           of the HRD bitrate scale factor. Use a bitrate scale factor of 64 so
22355           that to have less losses in precision. Likewise, don't round up because
22356           that could be a strict constraint imposed by the user.
22357
22358 2014-01-22 11:25:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22359
22360         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22361           encoder: h264: fix level lookup constraints wrt. bitrate.
22362           Fix the level calculation involving bitrate limits. Since we are
22363           targetting NAL HRD conformance, the check against MaxBR from the
22364           Table A-1 limits shall involve cpbBrNalFactor depending on the
22365           active profile.
22366
22367 2014-01-21 18:01:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22368
22369         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22370           encoder: h264: submit sequence parameter only once.
22371           Submit sequence parameter buffers only once, or when the bitstream
22372           was reconfigured in a way that requires such. Always submit packed
22373           sequence parameter buffers at I-frame period, if the VA driver needs
22374           those.
22375           https://bugzilla.gnome.org/show_bug.cgi?id=722737
22376
22377 2014-01-21 18:35:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22378
22379         * gst-libs/gst/vaapi/gstvaapicontext.c:
22380         * gst-libs/gst/vaapi/gstvaapicontext.h:
22381         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22382         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22383         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22384           encoder: h264: only submit packed headers when required.
22385           Make sure to submit the packed headers only if the underlying VA driver
22386           requires those. Currently, only handle packed sequence and picture
22387           headers.
22388           https://bugzilla.gnome.org/show_bug.cgi?id=722737
22389
22390 2014-01-21 17:35:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22391
22392         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22393           encoder: h264: fix ip_period value in sequence parameter.
22394           The VAEncSequenceParameterBuffer.ip_period value reprents the distance
22395           between the I-frame and the next P-frame. So, this also accounts for
22396           any additional B-frame in the middle of it.
22397           This fixes rate control heuristics for certain VA drivers.
22398           https://bugzilla.gnome.org/show_bug.cgi?id=722735
22399
22400 2014-01-21 17:04:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22401
22402         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22403           encoder: h264: fix level when bitrate is automatically computed.
22404           Fix level characterisation when the bitrate is automatically computed
22405           from the active coding tools. i.e. ensure the bitrate once the profile
22406           is completely characterized but before the level calculation process.
22407
22408 2014-01-21 16:05:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22409
22410         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22411           encoder: h264: clean-ups.
22412           Document and rename a few functions here and there. Drop code that
22413           caps num_bframes variable in reset_properties() since they shall
22414           have been checked beforehand, during properties initialization.
22415
22416 2014-01-21 15:28:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22417
22418         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22419           encoder: h264: clean-up bitwriter related utilities.
22420           Clean-up GstBitWriter related utility functions and simplify notations.
22421           While we are at it, also make bitstream writing more robust should an
22422           overflow occur. We could later optimize for writing headers capped to
22423           their maximum possible size by using the _unchecked() helper variants.
22424
22425 2014-01-21 15:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22426
22427         * gst-libs/gst/vaapi/Makefile.am:
22428         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22429         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22430           encoder: h264: completely remove private headers.
22431           Drop private header since it was originally used to expose internals
22432           to the plugin element. The proper interface is now the properties API,
22433           thus rendering private headers totally obsolete.
22434
22435 2014-01-15 15:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22436
22437         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22438           encoder: h264: fix PPS header packing with profile < high.
22439           Fix PPS header packing when profile is below High since 8x8 transform
22440           mode and scaling lists are High Profile features.
22441
22442 2014-01-15 15:46:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22443
22444         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22445           encoder: h264: always emit VUI parameters for framerate.
22446           Always emit VUI parameters for timing_info, which includes framerate
22447           information.
22448
22449 2014-01-15 15:10:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22450
22451         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22452           encoder: h264: really fix frame cropping rectangle calculation.
22453           Make frame cropping rectangle calculation future proof, i.e. exactly
22454           follow the specification (7-18) to (7-21), and subsampling definitions
22455           from Table 6-1.
22456           https://bugzilla.gnome.org/show_bug.cgi?id=722089
22457           https://bugzilla.gnome.org/show_bug.cgi?id=722238
22458
22459 2014-01-15 12:09:14 +0100  Holger Kaelberer <hk@getslash.de>
22460
22461         * gst/vaapi/gstvaapisink.c:
22462         * gst/vaapi/gstvaapisink.h:
22463           vaapisink: set csc render flags from sinkpad caps.
22464           This maps GstVideoColorimetry information in vaapisink's sinkpad caps
22465           to GST_VAAPI_COLOR_STANDARD_* flags, if per-buffer information was not
22466           available.
22467           https://bugzilla.gnome.org/show_bug.cgi?id=722255
22468           [factored out code, added SMPTE240M, handle per-buffer flags]
22469           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22470
22471 2012-03-28 15:05:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22472
22473         * gst-libs/gst/vaapi/gstvaapisurface.h:
22474         * gst-libs/gst/vaapi/gstvaapiutils.c:
22475         * gst/vaapi/gstvaapipostproc.c:
22476           surface: rework render flags.
22477           Pack render flags per category and provide more flags into the color
22478           standard category. In particular, cover for SMPTE-240M.
22479
22480 2013-12-13 04:14:41 +0800  Zhao, Halley <halley.zhao@intel.com>
22481
22482         * gst-libs/gst/vaapi/gstvaapifilter.c:
22483         * gst/vaapi/gstvaapipostproc.c:
22484         * gst/vaapi/gstvaapipostproc.h:
22485           vaapipostproc: add support for colorbalance filters.
22486           Add support for hue, saturation, brightness and constrat adjustments.
22487           Also fix cap info local copy to match the really expected cap subtype
22488           of interest.
22489           https://bugzilla.gnome.org/show_bug.cgi?id=720376
22490           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22491
22492 2013-12-12 08:38:12 +0800  Zhao, Halley <halley.zhao@intel.com>
22493
22494         * gst/vaapi/gstvaapipostproc.c:
22495           vaapipostproc: fix support for "sharpen" filter.
22496           Fix copy/paste error when submitting the "sharpen" value to the
22497           GstVaapiFilter instance.
22498           https://bugzilla.gnome.org/show_bug.cgi?id=720375
22499           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22500
22501 2013-12-20 12:05:42 +0000  Lionel Landwerlin <llandwerlin@gmail.com>
22502
22503         * configure.ac:
22504         * pkgconfig/gstreamer-vaapi-drm.pc.in:
22505         * pkgconfig/gstreamer-vaapi-glx.pc.in:
22506         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
22507         * pkgconfig/gstreamer-vaapi-x11.pc.in:
22508         * pkgconfig/gstreamer-vaapi.pc.in:
22509           pkgconfig: plugin dir should use PKG version not API version.
22510           Fix the pluginsdir and includedir variables in the generated pkgconfig
22511           (.pc) files. The location needs to be built with the PKG version in
22512           mind instead of the API version.
22513           While we are at it, also fix the PKG version for GStreamer >= 1.3.
22514           https://bugzilla.gnome.org/show_bug.cgi?id=720820
22515           [additional fixes for includedir and pkg requirements]
22516           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22517
22518 2014-01-15 10:05:45 +0100  Holger Kaelberer <hk@getslash.de>
22519
22520         * gst/vaapi/gstvaapisink.c:
22521           vaapisink: fix display initialization in GstVideoOverlay implementation.
22522           When gst_vaapisink_video_overlay_set_window_handle() is called early,
22523           before the pipeline has been set to PLAYING, the display has not yet
22524           been initialized and _PLUGIN_BASE_DISPLAY_TYPE() is not yet
22525           up-to-date. For this reason the foreign XID is not attached.
22526           Now _ensure_display() is called earlier.
22527           https://bugzilla.gnome.org/show_bug.cgi?id=722244
22528           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22529
22530 2013-10-09 13:47:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22531
22532         * gst/vaapi/gstvaapisink.c:
22533           vaapisink: expose the raw video formats in static caps template.
22534           Expose all raw video formats in the static caps template since the
22535           vaapisink is supporting raw data. We will get the exact set of formats
22536           supported by the driver dynamically through the _get_caps() routine.
22537           https://bugzilla.gnome.org/show_bug.cgi?id=703271
22538           https://bugzilla.gnome.org/show_bug.cgi?id=720737
22539           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22540
22541 2013-12-11 18:08:26 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
22542
22543         * gst/vaapi/gstvaapidecode.c:
22544           vaapidecode: query downstream caps features like GLTextureUploadMeta.
22545           Fix vaapidecode to correctly report caps features downstream, when
22546           a custom pipeline is built manually.
22547           https://bugzilla.gnome.org/show_bug.cgi?id=719372
22548           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22549
22550 2013-12-17 15:27:10 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
22551
22552         * gst/vaapi/gstvaapidecode.c:
22553           vaapidecode: add system memory caps to template caps.
22554           Since vaapidecode provides buffer that can be mapped as regular memory,
22555           those caps should be added to the template caps. That only applies to
22556           GStreamer >= 1.2.
22557           https://bugzilla.gnome.org/show_bug.cgi?id=720608
22558           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22559
22560 2013-12-17 10:26:03 +0800  Wind Yuan <feng.yuan@intel.com>
22561
22562         * gst/vaapi/gstvaapidecode.c:
22563           vaapidecode: fix hang on SIGINT.
22564           vaapidecode hangs when pipeline is stopped without any EOS, e.g. when
22565           <Ctrl>+C is pressed, thus causing the srcpad task to keep running and
22566           locked. This fixes a deadlock on state change from PAUSED to READY.
22567           https://bugzilla.gnome.org/show_bug.cgi?id=720584
22568           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22569
22570 2013-12-17 04:23:42 -0500  Wind Yuan <feng.yuan@intel.com>
22571
22572         * gst/vaapi/gstvaapiencode.c:
22573           vaapiencode: fix possible hang on SIGINT.
22574           vaapiencode might hang when the pipeline is stopped without any EOS,
22575           e.g. when <Ctrl>+C is pressed, thus causing the srcpad task to keep
22576           running and locked. This fixes a possible deadlock on state change
22577           from PAUSED to READY.
22578           https://bugzilla.gnome.org/show_bug.cgi?id=720584
22579           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22580
22581 2014-01-14 16:33:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22582
22583         * gst/vaapi/gstvaapiencode.c:
22584           vaapiencode: fix typo in error message.
22585           Fix incomplete error message in gst_vaapiencode_push_frame().
22586
22587 2014-01-14 19:08:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22588
22589         * gst/vaapi/gstvaapipluginutil.c:
22590         * gst/vaapi/gstvaapipluginutil.h:
22591           plugins: add helpers to create video caps with features.
22592           Add gst_vaapi_video_format_new_template_caps_with_features() helper
22593           function to add the supplied caps feature string on GStreamer >= 1.2.
22594           Add gst_vaapi_find_preferred_caps_feature() helper function to discover
22595           the "best" caps feature to use for the supplied pad. In practice, we
22596           will always favor memory:VASurface first, then meta:GLTextureUploadMeta,
22597           and finally the system memory caps.
22598           https://bugzilla.gnome.org/show_bug.cgi?id=719372
22599
22600 2014-01-09 11:54:11 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
22601
22602         * gst/vaapi/gstvaapivideometa_texture.c:
22603           plugins: don't apply overlay composition in GLTextureUpload function.
22604           The GLTextureUpload function is not in charge of doing the overlay
22605           composition if any.
22606           https://bugzilla.gnome.org/show_bug.cgi?id=721859
22607           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22608
22609 2014-01-14 13:47:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22610
22611         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22612           encoder: re-order submission of VA objects.
22613           Change the submission order of VA objects so that to make that process
22614           more logical. i.e. submit sequence parameter first, if any; next the
22615           packed headers associated to sequece, picture or slices; and finally
22616           the actual picture and associated slices.
22617
22618 2014-01-14 12:01:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22619
22620         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22621         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22622         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22623         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22624         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
22625           encoder: clean-up objects.
22626           Various clean-ups to improve consistency and readability: rename some
22627           variables, drop unused macro definitions, drop initialization of vars
22628           that are zero-initialized from the base class, drop un-necessary casts,
22629           allocate GPtrArrays with a destroy function.
22630
22631 2014-01-13 13:41:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22632
22633         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22634           encoder: h264: fix frame cropping rectangle calculation.
22635           Fix frame cropping rectangle calculation to handle horizontal resolutions
22636           that don't match a multiple of 16 pixels, but also the vertical resolution
22637           that was incorrectly computed for progressive sequences too.
22638           https://bugzilla.gnome.org/show_bug.cgi?id=722089
22639
22640 2014-01-13 11:49:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22641
22642         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22643           encoder: h264: improve automatic bitrate calculation.
22644           For non "Constant-QP" modes, we could provide more reasonable heuristics
22645           for the target bitrate. In general, 48 bits per macroblock with all the
22646           useful coding tools enable looks safe enough. Then, this rate is raised
22647           by +10% to +15% for each coding tool that is disabled.
22648           https://bugzilla.gnome.org/show_bug.cgi?id=719699
22649
22650 2014-01-13 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22651
22652         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22653           encoder: h264: support "high-compression" tuning option.
22654           Add support for "high-compression" tuning option. First, determine the
22655           largest supported profile by the hardware. Next, check any target limit
22656           set by the user. Then, enable each individual coding tool based on the
22657           resulting profile_idc value to use.
22658           https://bugzilla.gnome.org/show_bug.cgi?id=719696
22659
22660 2014-01-12 22:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22661
22662         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22663         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22664         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22665         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22666         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
22667         * gst/vaapi/gstvaapiencode_h264.c:
22668           encoder: h264: allow target decoder constraints.
22669           Allow user to precise the largest profile to use for encoding due
22670           to target decoder constraints. For instance, if CABAC entropy coding
22671           mode is requested by "constrained-baseline" profile only is desired,
22672           then an error is returned during codec configuration.
22673           Also make sure that the suitable profile we derived actually matches
22674           what the HW can cope with.
22675           https://bugzilla.gnome.org/show_bug.cgi?id=719694
22676
22677 2014-01-12 22:14:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22678
22679         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22680           encoder: h264: refine size of coded buffer.
22681           Refine the heuristic to determine the maximum size of a coded buffer
22682           to account for the exact number of slices. set_context_info() is the
22683           last step during codec reconfiguration, no additional change is done
22684           afterwards, so re-using the num_slices field here is fine.
22685           https://bugzilla.gnome.org/show_bug.cgi?id=719953
22686
22687 2013-12-13 17:36:08 +0800  Wind Yuan <feng.yuan@intel.com>
22688
22689         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22690         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22691         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22692           encoder: h264: expose more coding tools.
22693           Add new H.264 coding tools to improve compression:
22694           - "cabac": enable CABAC entropy coding (default: FALSE);
22695           - "dct8x8": enable spatial transform 8x8 (default: FALSE).
22696           https://bugzilla.gnome.org/show_bug.cgi?id=719693
22697           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22698
22699 2014-01-10 18:18:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22700
22701         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22702         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22703         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22704           encoder: h264: derive profile and level from active coding tools.
22705           Automatically derive the minimum profile and level to be used for
22706           encoding, based on the activated coding tools. The encoder will
22707           be trying to generate a bitstream that has the best chances to be
22708           decoded on most platforms by default.
22709           Also change the default profile to "constrained-baseline" so that
22710           to ensure maximum compatibility when the stream is decoded.
22711           https://bugzilla.gnome.org/show_bug.cgi?id=719691
22712
22713 2014-01-10 17:02:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22714
22715         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22716         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22717         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22718           encoder: h264: fix hardware profile lookup.
22719           Fix lookup for a suitable HW profile, as to be used by the underlying
22720           hardware, based on heuristics that lead to characterize the SW profile,
22721           i.e. the one used by the SW level encoding logic.
22722           Also fix constraint_set0_flag (A.2.1) and constraint_set1_flag (A.2.2)
22723           as they should respectively match the baseline and main profile.
22724           https://bugzilla.gnome.org/show_bug.cgi?id=719827
22725
22726 2014-01-10 14:46:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22727
22728         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22729         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22730         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22731           encoder: h264: support only the byte-stream format.
22732           The libgstvaapi core encoders are meant to support raw bitstreams only.
22733           Henceforth, we are always producing a stream in "byte-stream" format.
22734           However, the "codec-data" buffer which holds SPS and PPS headers is
22735           always available. The "lengthSizeMinusOne" field is always set to 3
22736           so that in-place "byte-stream" format to "avc" format conversion could
22737           be performed.
22738
22739 2014-01-10 14:05:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22740
22741         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22742         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22743         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22744         * gst/vaapi/gstvaapiencode_h264.c:
22745           encoder: h264: clean-ups.
22746           Various clean-ups to improve consistency and readability: rename some
22747           variables, drop unused macro definitions, drop initialization of vars
22748           that are zero-initialized from the base class, drop un-necessary casts.
22749
22750 2014-01-13 17:11:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22751
22752         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22753           encoder: mpeg2: fix hardware profile lookup.
22754           Fix lookup for a suitable HW profile, as to be used by the underlying
22755           hardware, based on heuristics that lead to characterize the SW profile,
22756           i.e. the one used by the SW level encoding logic.
22757
22758 2014-01-13 16:56:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22759
22760         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22761         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22762           encoder: mpeg2: derive profile and level from active coding tools.
22763           Automatically derive the minimum profile and level to be used for
22764           encoding, based on the activated coding tools. Improve lookup for
22765           the best suitable level with the new MPEG-2 helper functions.
22766           Also change the default profile to "simple" so that to ensure maximum
22767           compatibility when the stream is decoded.
22768           https://bugzilla.gnome.org/show_bug.cgi?id=719703
22769
22770 2014-01-13 14:41:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22771
22772         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22773         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22774         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22775           encoder: mpeg2: clean-ups.
22776           Various clean-ups to improve consistency and readability: drop unused
22777           macro definitions, drop initialization of vars that are zero-initialized
22778           from the base class, drop un-necessary casts.
22779
22780 2014-01-13 10:48:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22781
22782         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22783         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22784         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22785         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22786         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22787           encoder: add tuning options API.
22788           Add encoder "tune" option to override the default behaviour that is to
22789           favor maximum decoder compatibility at the expense of lower compression
22790           ratios.
22791           Expected tuning options to be developed are:
22792           - "high-compression": improve compression, target best-in-class decoders;
22793           - "low-latency": tune for low-latency decoding;
22794           - "low-power": tune for encoding in low power / resources conditions.
22795
22796 2014-01-12 23:17:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22797
22798         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22799         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22800           encoder: fix bitrate units to match kbps.
22801           Bitrate is expressed in kilobits per second (kbps). So, this exactly
22802           means in multiple of 1000 bits, not 1024 bits.
22803           https://bugzilla.gnome.org/show_bug.cgi?id=722086
22804
22805 2014-01-12 21:57:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22806
22807         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22808         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22809         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22810           encoder: clean-ups.
22811           Drop obsolete and unused macros. Add a few doc comments. Slightly
22812           improve indentation of a few leftovers.
22813
22814 2014-01-12 18:52:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22815
22816         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22817         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22818         * gst-libs/gst/vaapi/gstvaapivalue.c:
22819         * gst-libs/gst/vaapi/gstvaapivalue.h:
22820           encoder: filter out the supported set of rate-control properties.
22821           Only expose the exact static set of supported rate-control properties
22822           to the upper layer. For instance, if the GstVaapiEncoderXXX class does
22823           only support CQP rate control, then only add it the the exposed enum
22824           type.
22825           Add helper macros and functions to build a GType for an enum subset.
22826
22827 2014-01-10 13:23:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22828
22829         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22830         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22831         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22832         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22833         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22834         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22835         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22836         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22837         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22838           encoder: add keyframe period API.
22839           Add gst_vaapi_encoder_set_keyframe_period() interface to allow the
22840           user control the maximum distance between two keyframes. This new
22841           property can only be set prior to gst_vaapi_encoder_set_codec_state().
22842           A value of zero for "keyframe-period" gets it re-evaluated to the
22843           actual framerate during encoder reconfiguration.
22844
22845 2014-01-10 12:01:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22846
22847         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22848         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22849         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22850         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22851           encoder: improve codec reconfiguration.
22852           Improve codec reconfiguration to be performed only through a single
22853           function. That is, remove the _set_context_info() hook as subclass
22854           should not alter the parent GstVaapiContextInfo itself. Besides, the
22855           VA context is constructed only at the final stages of reconfigure().
22856
22857 2014-01-10 11:30:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22858
22859         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
22860         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
22861         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22862           encoder: fix possible memory leak of coded buffer pools.
22863           Fix gst_vaapi_encoder_reconfigure_internal() to re-/allocate the coded
22864           buffer pool only if the coded buffer size actually changed.
22865
22866 2014-01-10 10:54:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22867
22868         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22869         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22870         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22871         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22872         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22873         * gst/vaapi/gstvaapiencode.c:
22874         * gst/vaapi/gstvaapiencode.h:
22875           encoder: add video codec-state API.
22876           Add interface to communicate the encoder resolution and related info
22877           like framerate, interlaced vs. progressive, etc. This new interface
22878           supersedes gst_vaapi_encoder_set_format() and doesn't use any GstCaps
22879           but rather use GstVideoCodecState.
22880           Note that gst_vaapi_encoder_set_codec_state() is also a synchronization
22881           point for codec config. This means that the encoder is reconfigured
22882           there to match the latest properties.
22883
22884 2014-01-13 17:18:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22885
22886         * gst/vaapi/gstvaapiencode.c:
22887           vaapiencode: don't crash on NULL encoder on _finish().
22888           Don't try to destroy an encoder, in GstVideoEncoder::finish() handler,
22889           if it was not created in the first place. Return "not-negotiated" error
22890           since this means we did not even reach GstVideoEncoder::set_format(),
22891           where the encoder could have been created.
22892           This fixes a crash when the vaapiencode_* plug-in elements get deallocated
22893           and that we failed to negotiate either pad.
22894           https://bugzilla.gnome.org/show_bug.cgi?id=719704
22895
22896 2014-01-09 18:20:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22897
22898         * gst/vaapi/gstvaapiencode.c:
22899         * gst/vaapi/gstvaapiencode.h:
22900         * gst/vaapi/gstvaapiencode_h264.c:
22901           vaapiencode: use more GstVaapiPluginBase facilities.
22902           Avoid duplication of pad references or query functions since they are
22903           provided through the GstVaapiPluginBase object.
22904
22905 2014-01-09 18:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22906
22907         * gst/vaapi/gstvaapiencode.c:
22908         * gst/vaapi/gstvaapiencode.h:
22909         * gst/vaapi/gstvaapiencode_h264.c:
22910         * gst/vaapi/gstvaapiencode_h264.h:
22911         * gst/vaapi/gstvaapiencode_mpeg2.c:
22912           vaapiencode: fix negotiation process of output caps.
22913           The specified caps in gst_video_encoder_set_output_state() function
22914           arguments should not contain any resolution, pixel-aspect-ratio,
22915           framerate, codec-data et al. Those rather should be set through the
22916           returned GstVideoCodecState. This means that output caps creation
22917           could be delayed until before gst_video_encoder_finish_frame() is
22918           called.
22919           This greatly simplifies the GstVideoEncoder::set_format() callback
22920           by the way.
22921
22922 2014-01-08 18:56:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22923
22924         * gst/vaapi/gstvaapiencode.c:
22925           vaapiencode: make GstVaapiEncode an abstract type.
22926           Make base GstVaapiEncode class an abstract type so that we cannot
22927           create an instance from it without going through any of the codec
22928           specific derived class.
22929
22930 2014-01-09 10:09:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22931
22932         * gst/vaapi/gstvaapiencode.c:
22933         * gst/vaapi/gstvaapiencode.h:
22934         * gst/vaapi/gstvaapiencode_h264.c:
22935         * gst/vaapi/gstvaapiencode_mpeg2.c:
22936           vaapiencode: rename a few member functions.
22937           Rename a few member functions to make them more consistent:
22938           - alloc_encoder(): now reduced to allocate the encoder object only;
22939           - alloc_buffer(): allocate buffer from srcpad, and copy bitstream.
22940
22941 2014-01-08 18:36:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22942
22943         * gst/vaapi/gstvaapiencode.c:
22944         * gst/vaapi/gstvaapiencode.h:
22945         * gst/vaapi/gstvaapiencode_h264.c:
22946         * gst/vaapi/gstvaapiencode_h264.h:
22947         * gst/vaapi/gstvaapiencode_mpeg2.c:
22948           vaapiencode: update for new properties API.
22949           Update MPEG-2 and H.264 encode elements to cope with the new core
22950           libgstvaapi properties API. i.e. all configurable properties are now
22951           directly handled at the GstVaapiEncoder level.
22952           Besides, this also makes sure to not use or modify the GstVaapiEncoder
22953           private definitions directly. Private data need to remain private.
22954           https://bugzilla.gnome.org/show_bug.cgi?id=719529
22955
22956 2014-01-06 17:46:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22957
22958         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22959         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22960         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22961         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22962         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22963         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22964         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22965           encoder: add properties API.
22966           Add interface to communicate configurable properties to the encoder.
22967           This covers both the common ones (rate-control, bitrate), and the
22968           codec specific properties.
22969           https://bugzilla.gnome.org/show_bug.cgi?id=719529
22970
22971 2014-01-06 18:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22972
22973         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22974         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22975         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22976         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22977         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22978         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22979         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22980         * gst/vaapi/gstvaapiencode.c:
22981         * gst/vaapi/gstvaapiencode_h264.c:
22982         * gst/vaapi/gstvaapiencode_mpeg2.c:
22983           encoder: add bitrate API.
22984           Add gst_vaapi_encoder_set_bitrate() interface to allow the user control
22985           the bitrate for encoding. Currently, changing this parameter is only
22986           valid before the first frame is encoded. Should the value be modified
22987           afterwards, then GST_VAAPI_ENCODER_STATUS_ERROR_OPERATION_FAILED is
22988           returned.
22989           https://bugzilla.gnome.org/show_bug.cgi?id=719529
22990
22991 2014-01-06 15:10:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22992
22993         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22994         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22995         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22996         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22997         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22998         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22999         * gst-libs/gst/vaapi/gstvaapitypes.h:
23000         * gst/vaapi/gstvaapiencode.c:
23001         * gst/vaapi/gstvaapiencode.h:
23002         * gst/vaapi/gstvaapiencode_h264.c:
23003         * gst/vaapi/gstvaapiencode_mpeg2.c:
23004           encoder: add rate control API.
23005           Add gst_vaapi_encoder_set_rate_control() interface to request a new
23006           rate control mode for encoding. Changing the rate control mode is
23007           only valid prior to encoding the very first frame. Afterwards, an
23008           error ("operation-failed") is issued.
23009           https://bugzilla.gnome.org/show_bug.cgi?id=719529
23010
23011 2014-01-03 16:57:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23012
23013         * gst/vaapi/gstvaapiencode.c:
23014         * gst/vaapi/gstvaapiencode_h264.c:
23015         * gst/vaapi/gstvaapiencode_mpeg2.c:
23016           vaapiencode: fix indentation.
23017
23018 2014-01-03 16:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23019
23020         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23021         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23022         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23023         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23024         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23025         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23026         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
23027         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23028         * gst/vaapi/gstvaapiencode.h:
23029           encoder: fix indentation.
23030
23031 2014-01-13 16:20:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23032
23033         * gst-libs/gst/vaapi/Makefile.am:
23034         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
23035         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
23036         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
23037           utils: add new MPEG-2 helper functions.
23038           Add various helper functions to convert profile, level, chroma formats
23039           from gstreamer-vaapi world and the MPEG-2 specification world.
23040
23041 2014-01-10 19:49:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23042
23043         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23044           utils: h264: don't use fatal asserts.
23045           Replace g_assert() with a g_debug() so that to not make the program
23046           abort when an unsupported value is supplied.
23047
23048 2014-01-10 19:37:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23049
23050         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23051         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
23052           utils: h264: add helpers for profile and level string mappings.
23053           Add profile and level helper functions to convert to/from strings.
23054
23055 2014-01-10 18:27:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23056
23057         * gst-libs/gst/vaapi/Makefile.am:
23058         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23059         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23060         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
23061         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
23062           utils: h264: expose levels in public header.
23063           Instal <gst/vaapi/gstvaapiutils_h264.h> header but only expose the
23064           H.264 levels in there. The additional helper functions are meant
23065           to be private for now.
23066
23067 2014-01-09 09:27:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23068
23069         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23070         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23071         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23072         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23073           codec: add helper macros to maintain object refcount.
23074           Add gst_vaapi_mini_object_{ref,unref,replace}() helper macros so that
23075           to avoid explicit casts to GstVaapiMiniObject in all caller sites.
23076
23077 2014-01-09 09:30:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23078
23079         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23080         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23081           codec: re-indent decoder objects.
23082
23083 2014-01-09 09:10:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23084
23085         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23086         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23087           codec: re-indent base codec objects.
23088
23089 2014-01-03 12:49:05 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23090
23091         * gst/vaapi/gstvaapipluginbase.c:
23092           plugins: do not free debug category in finalize method.
23093           Fixes a crash when multiple vaapidecode elements are finalized since
23094           the debug category is created once in the class init method.
23095           This is a regression from git commit 7e58d60.
23096           https://bugzilla.gnome.org/show_bug.cgi?id=721390
23097           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23098
23099 2014-01-02 11:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23100
23101         * gst-libs/gst/vaapi/glibcompat.h:
23102         * tests/simple-decoder.c:
23103           tests: simple-decoder: don't use deprecated g_thread_create().
23104           Use g_thread_try_new() instead of the deprecated g_thread_create()
23105           function. Provide compatibility glue for any GLib version < 2.31.2.
23106
23107 2014-01-02 11:17:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23108
23109         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23110         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
23111         * gst-libs/gst/vaapi/gstvaapisurface.c:
23112         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
23113         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
23114         * gst/vaapi/gstvaapiencode.c:
23115           Fix printf()-like formats.
23116           Fix formts for various GST_DEBUG et al. invocations. More precisely,
23117           make size_t arguments use the %zu format specifier accordingly; force
23118           XID formats to be a 32-bit unsigned integer; and fix the format used
23119           for gst_vaapi_create_surface_with_format() error cases since we have
23120           been using strings nowadays.
23121
23122 2013-12-21 07:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23123
23124         * gst-libs/gst/vaapi/video-format.c:
23125         * gst-libs/gst/vaapi/video-format.h:
23126           utils: format: drop unused helper functions.
23127           The following helper functions are no longer used, thus are removed:
23128           - gst_vaapi_video_format_from_structure()
23129           - gst_vaapi_video_format_from_caps()
23130           - gst_vaapi_video_format_to_caps()
23131
23132 2013-12-21 07:29:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23133
23134         * gst-libs/gst/vaapi/video-format.c:
23135         * gst-libs/gst/vaapi/video-format.h:
23136           utils: re-indent GstVideoFormat related helpers.
23137
23138 2013-12-21 08:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23139
23140         * gst/vaapi/gstvaapidownload.c:
23141           download: use GstVideoInfo facilities to build output caps.
23142           Use standard GstVideoInfo related functions to build the output caps,
23143           thus directly preserving additional fields as needed, instead of
23144           manually copying them over through gst_vaapi_append_surface_caps().
23145           Also ensure that the input caps are fixated first.
23146
23147 2013-12-21 10:41:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23148
23149         * gst/vaapi/gstvaapidownload.c:
23150         * gst/vaapi/gstvaapipluginutil.c:
23151         * gst/vaapi/gstvaapipluginutil.h:
23152         * gst/vaapi/gstvaapiuploader.c:
23153           plugins: factor out construction of template caps.
23154           Add new helper functions to build video template caps.
23155           - gst_vaapi_video_format_new_template_caps():
23156           create GstCaps with size, frame rate and PAR to full range
23157           - gst_vaapi_video_format_new_template_caps_from_list():
23158           try to create a "simplified" list from the supplied formats
23159
23160 2013-12-21 06:41:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23161
23162         * gst/vaapi/gstvaapipluginutil.c:
23163         * gst/vaapi/gstvaapipluginutil.h:
23164         * gst/vaapi/gstvaapipostproc.c:
23165           plugins: factor out construction of GValue from GstVideoFormat.
23166           Add new helper functions to build GValues from GstVideoFormat:
23167           - gst_vaapi_value_set_format():
23168           build a GValue from the supplied video format
23169           - gst_vaapi_value_set_format_list():
23170           build a GValue list from the supplied array of video formats
23171
23172 2013-12-21 06:22:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23173
23174         * gst/vaapi/gstvaapipluginutil.c:
23175         * gst/vaapi/gstvaapipluginutil.h:
23176         * gst/vaapi/gstvaapivideocontext.c:
23177         * gst/vaapi/gstvaapivideocontext.h:
23178           plugins: re-indent common and video context creation utils.
23179
23180 2013-12-20 15:31:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23181
23182         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23183         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23184         * gst/vaapi/gstvaapidecode.c:
23185         * tests/test-display.c:
23186           display: don't use GstCaps for decode or encode profiles list.
23187           Replace gst_vaapi_display_get_{decode,encode}_caps() APIs with more
23188           more convenient APIs that return an array of GstVaapiProfile instead
23189           of GstCaps: gst_vaapi_display_get_{decode,encode}_profiles().
23190
23191 2013-12-20 15:15:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23192
23193         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23194         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23195         * gst/vaapi/gstvaapidownload.c:
23196         * gst/vaapi/gstvaapiuploader.c:
23197         * tests/test-display.c:
23198           display: don't use GstCaps for image or subpicture formats list.
23199           Replace gst_vaapi_display_get_{image,subpicture}_caps() APIs, that
23200           returned GstCaps, with more convenient APIs that return an array of
23201           GstVideoFormat: gst_vaapi_display_get_{image,subpicture}_formats().
23202
23203 2013-12-20 14:01:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23204
23205         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23206         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23207         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23208           display: allocate queried resources on-demand.
23209           Allocate the set of decoders or encoders on-demand, when they are
23210           queried. Likewise for VA display attributes, image and subpicture
23211           formats.
23212
23213 2013-12-20 13:27:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23214
23215         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23216         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23217         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
23218         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
23219         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
23220         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
23221         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
23222         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
23223         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23224         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23225         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
23226         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
23227         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
23228         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
23229         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
23230         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
23231         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
23232           display: re-indent all GstVaapiDisplay related source code.
23233
23234 2013-12-20 16:04:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23235
23236         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23237         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23238           utils: add helper functions to get codec or profile name.
23239
23240 2013-12-20 17:08:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23241
23242         * gst/vaapi/gstvaapipostproc.c:
23243         * gst/vaapi/gstvaapipostproc.h:
23244         * gst/vaapi/gstvaapiuploader.c:
23245           plugins: fix permissions for certain files.
23246           Drop the execute bit for gstvaapiuploader.c and gstvaapipostproc.[ch]
23247           files.
23248
23249 2013-12-12 17:01:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23250
23251         * gst/vaapi/gstvaapivideometa_texture.c:
23252           plugins: implement GLTextureUploadMeta user data copy.
23253           Makes the copies of a buffer reference their own GLTextureUploadMeta
23254           user data and prevent the original buffer accessing already freed
23255           memory if its copies has been released and freed.
23256           https://bugzilla.gnome.org/show_bug.cgi?id=720336
23257           [Propagate the original meta texture to the copy too]
23258           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23259
23260 2013-12-17 18:52:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23261
23262         * gst/vaapi/gstvaapiencode.c:
23263         * gst/vaapi/gstvaapiencode.h:
23264         * gst/vaapi/gstvaapipluginbase.c:
23265         * gst/vaapi/gstvaapipluginbase.h:
23266         * gst/vaapi/gstvaapipostproc.c:
23267         * gst/vaapi/gstvaapipostproc.h:
23268         * gst/vaapi/gstvaapisink.c:
23269         * gst/vaapi/gstvaapisink.h:
23270           plugins: factor out support for raw YUV buffers on sink pads.
23271           Factor out propose_allocation() hooks, creation of video buffer pool
23272           for the sink pad, conversion from raw YUV buffers to VA surface backed
23273           buffers. Update vaapidecode, vaapiencode and vaapipostproc to cope
23274           with the new GstVaapiPluginBase abilities.
23275
23276 2013-12-17 18:46:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23277
23278         * gst-libs/gst/vaapi/gstcompat.h:
23279         * gst/vaapi/gstvaapidecode.c:
23280         * gst/vaapi/gstvaapidecode.h:
23281         * gst/vaapi/gstvaapidownload.c:
23282         * gst/vaapi/gstvaapipluginbase.c:
23283         * gst/vaapi/gstvaapipluginbase.h:
23284         * gst/vaapi/gstvaapipostproc.c:
23285         * gst/vaapi/gstvaapipostproc.h:
23286         * gst/vaapi/gstvaapisink.c:
23287         * gst/vaapi/gstvaapiupload.c:
23288           plugins: factor out pad caps.
23289
23290 2013-12-13 16:03:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23291
23292         * gst/vaapi/gstvaapidecode.c:
23293         * gst/vaapi/gstvaapidownload.c:
23294         * gst/vaapi/gstvaapiencode.c:
23295         * gst/vaapi/gstvaapipluginbase.c:
23296         * gst/vaapi/gstvaapipostproc.c:
23297         * gst/vaapi/gstvaapisink.c:
23298         * gst/vaapi/gstvaapiupload.c:
23299           plugins: factor out video context sharing code.
23300
23301 2013-12-13 13:24:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23302
23303         * gst/vaapi/gstvaapidecode.c:
23304         * gst/vaapi/gstvaapidownload.c:
23305         * gst/vaapi/gstvaapiencode.c:
23306         * gst/vaapi/gstvaapipluginbase.c:
23307         * gst/vaapi/gstvaapipluginbase.h:
23308         * gst/vaapi/gstvaapipostproc.c:
23309         * gst/vaapi/gstvaapisink.c:
23310         * gst/vaapi/gstvaapiupload.c:
23311           plugins: factor out GstImplementsInterface.
23312
23313 2013-12-13 12:00:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23314
23315         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23316         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23317         * gst/vaapi/gstvaapipluginbase.c:
23318         * gst/vaapi/gstvaapipluginutil.c:
23319           plugins: check type of display obtained from neighbours.
23320           Fix display creation code to check that any display obtained from a
23321           neighbour actually has the type we expect. Note: if display type is
23322           set to "any", we can then accept any VA display type.
23323
23324 2013-12-13 11:52:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23325
23326         * gst/vaapi/gstvaapidecode.c:
23327         * gst/vaapi/gstvaapidownload.c:
23328         * gst/vaapi/gstvaapiencode.c:
23329         * gst/vaapi/gstvaapipluginbase.c:
23330         * gst/vaapi/gstvaapipluginbase.h:
23331         * gst/vaapi/gstvaapipluginutil.c:
23332         * gst/vaapi/gstvaapipluginutil.h:
23333         * gst/vaapi/gstvaapipostproc.c:
23334         * gst/vaapi/gstvaapisink.c:
23335         * gst/vaapi/gstvaapisink.h:
23336         * gst/vaapi/gstvaapiupload.c:
23337           plugins: factor out display creation process.
23338           Move common VA display creation code to GstVaapiPluginBase, with the
23339           default display type remaining "any". Also add a "display-changed"
23340           hook so that subclasses could perform additional tasks when/if the
23341           VA display changed, due to a new display type request for instance.
23342           All plug-ins are updated to cope with the new internal APIs.
23343
23344 2013-12-13 10:24:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23345
23346         * gst/vaapi/Makefile.am:
23347         * gst/vaapi/gstvaapidecode.c:
23348         * gst/vaapi/gstvaapidecode.h:
23349         * gst/vaapi/gstvaapidownload.c:
23350         * gst/vaapi/gstvaapidownload.h:
23351         * gst/vaapi/gstvaapiencode.c:
23352         * gst/vaapi/gstvaapiencode.h:
23353         * gst/vaapi/gstvaapipluginbase.c:
23354         * gst/vaapi/gstvaapipluginbase.h:
23355         * gst/vaapi/gstvaapipostproc.c:
23356         * gst/vaapi/gstvaapipostproc.h:
23357         * gst/vaapi/gstvaapisink.c:
23358         * gst/vaapi/gstvaapisink.h:
23359         * gst/vaapi/gstvaapiupload.c:
23360         * gst/vaapi/gstvaapiupload.h:
23361           plugins: add new base object, store display in there.
23362           Introduce a new GstVaapiPluginBase object that will contain all common
23363           data structures and perform all common tasks. First step is to have a
23364           single place to hold VA displays.
23365           While we are at it, also make sure to store and subsequently release
23366           the appropriate debug category for the subclasses.
23367
23368 2013-12-11 14:04:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23369
23370         * gst-libs/gst/vaapi/gstvaapiobject.h:
23371         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
23372         * gst/vaapi/gstvaapivideometa_texture.c:
23373         * gst/vaapi/gstvaapivideometa_texture.h:
23374           plugins: fix GLTextureUploadMeta to work with different texture ids.
23375           The GLTextureUploadMeta implementation assumed that for each upload()
23376           sequence, the supplied texture id is always the same as the one that
23377           was previously cached into the underlying GstVaapiTexture. Cope with
23378           any texture id change the expense to recreate the underlying VA/GLX
23379           resources.
23380           https://bugzilla.gnome.org/show_bug.cgi?id=719643
23381
23382 2013-12-11 13:25:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23383
23384         * gst/vaapi/gstvaapidecode.c:
23385         * gst/vaapi/gstvaapivideobufferpool.c:
23386         * gst/vaapi/gstvaapivideometa_texture.c:
23387           plugins: allow builds without GLX enabled for GStreamer 1.2.
23388           Don't try to build GLTextureUploadMeta related code if GLX is not
23389           enabled during GStreamer >= 1.2 builds.
23390
23391 2013-11-20 17:20:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23392
23393         * gst/vaapi/gstvaapidecode.c:
23394         * gst/vaapi/gstvaapivideobufferpool.c:
23395         * gst/vaapi/gstvaapivideobufferpool.h:
23396         * gst/vaapi/gstvaapivideometa_texture.c:
23397         * gst/vaapi/gstvaapivideometa_texture.h:
23398           plugins: request GLTextureUpload meta on buffers in the buffer pool.
23399           Requesting the GLTextureUpload meta on buffers in the bufferpool
23400           prevents such metas from being de-allocated when buffers are released
23401           in the sink.
23402           This is particulary useful in terms of performance when using the
23403           GLTextureUploadMeta API since the GstVaapiTexture associated with
23404           the target texture is stored in the meta.
23405           https://bugzilla.gnome.org/show_bug.cgi?id=712558
23406           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23407
23408 2013-12-11 10:51:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23409
23410         * gst/vaapi/gstvaapivideometa_texture.c:
23411           plugins: robustify GstVideoGLTextureUploadMeta implementation.
23412           Make GstVideoGLTextureUploadMeta::upload() implementation more robust
23413           when the GstVaapiTexture associated with the supplied texture id could
23414           not be created.
23415
23416 2013-12-10 16:14:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23417
23418         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23419           h264: improve robustness when packets are missing.
23420           Improve robustness when some expected packets where not received yet
23421           or that were not correctly decoded. For example, don't try to decode
23422           a picture if there was no valid frame headers parsed so far.
23423           https://bugs.freedesktop.org/show_bug.cgi?id=57902
23424
23425 2013-12-10 14:20:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23426
23427         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23428           decoder: h264: fix decoding of BA3_SVA_C.264.
23429           Conformance test Base_Ext_Main_profiles/BA3_SVA_C.264 complys with
23430           extended profile specifications. However, the SPS header has the
23431           constraint_set1_flag syntax element set to 1. This means that, if
23432           a Main profile compliant decoder is available, then it should be
23433           able to decode this stream.
23434           This changes makes it possible to fall-back from Extended profile
23435           to Main profile if constraint_set1_flag is set to 1.
23436           https://bugzilla.gnome.org/show_bug.cgi?id=720190
23437
23438 2013-12-10 11:13:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23439
23440         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23441         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23442           utils: h264: add more profiles.
23443           Add extended profile (A.2.3), high 4:2:2 profile (A.2.6), high 4:2:2
23444           profiles (A.2.7, A.2.10), scalable profiles (G.10.1.1, G.10.1.2) and
23445           multiview profiles (H.10.1.1, H.10.1.2).
23446           Document "Constrained Baseline" and "High 10" profiles.
23447
23448 2013-12-10 15:21:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23449
23450         * ext/codecparsers:
23451           codecparsers: update to gst-vaapi-branch commit e7d0e18.
23452           e7d0e18 h264: complete set of NAL unit types
23453
23454 2013-12-06 15:08:26 +0800  Wind Yuan <feng.yuan@intel.com>
23455
23456         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23457         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23458           decoder: h264: add support for constrained baseline profile.
23459           Recognize streams marked as conforming to the "Constrained Baseline
23460           Profile". If VA driver supports that as is, fine. Otherwise, fallback
23461           to baseline, main or high profile.
23462           Constrained Baseline Profile conveys coding tools that are common
23463           to baseline profile and main profile.
23464           https://bugzilla.gnome.org/show_bug.cgi?id=719947
23465           [Added fallbacks to main and high profiles]
23466           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23467
23468 2013-12-09 12:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23469
23470         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23471           decoder: h264: fix decoding of scaling lists.
23472           The GStreamer codecparser layer now parses the scaling lists in zigzag
23473           scan order, as expected, so that to match the original bitstream layout
23474           and specification. However, further convert the scaling lists into
23475           raster scan order to fit the existing practice in most VA drivers.
23476           https://bugzilla.gnome.org/show_bug.cgi?id=706406
23477
23478 2013-12-09 12:07:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23479
23480         * ext/codecparsers:
23481           codecparsers: update to gst-vaapi-branch commit 177c73b.
23482           a7e3255 add H.265 (HEVC) bitstream parser
23483           177c73b h264: fix picture level scaling lists derivation (rule B)
23484           14733f1 h264: fix parsing of VCL HRD parameters
23485           59a0b47 h264: store quantization matrices in zig-zag order
23486           ffb6e26 h264: add helpers to convert quantization matrices
23487           c78a504 mpeg2: also initialize debug category in parse_sequence_header()
23488           719d1b0 mpeg2: turn internal consistency check into a g_assert()
23489           5241d8e all: remove some unused functions
23490           18eb312 all: fix for GST_DISABLE_GST_DEBUG
23491           963c04a all: make warnings more meaningful
23492
23493 2013-12-06 19:05:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23494
23495         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23496         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23497         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
23498           utils: add helpers for H.264 levels.
23499           - gst_vaapi_utils_h264_get_level():
23500           Returns GstVaapiLevelH264 from H.264 level_idc value
23501           - gst_vaapi_utils_h264_get_level_idc():
23502           Returns H.264 level_idc value from GstVaapiLevelH264
23503           - gst_vaapi_utils_h264_get_level_limits():
23504           Returns level limits as specified in Table A-1 of the H.264 standard
23505           - gst_vaapi_utils_h264_get_level_limits_table():
23506           Returns the Table A-1 specification
23507
23508 2013-12-06 17:34:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23509
23510         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23511         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23512         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23513           utils: add new H.264 profiles.
23514           Add "Constrained Baseline Profile" and "High 10 Profile" definitions
23515           and helper functiions.
23516
23517 2013-12-06 17:21:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23518
23519           utils: add new H.264 helper functions.
23520           * Profiles:
23521           - gst_vaapi_utils_h264_get_profile():
23522           Returns GstVaapiProfile from H.264 profile_idc value
23523           - gst_vaapi_utils_h264_get_profile_idc():
23524           Returns H.264 profile_idc value from GstVaapiProfile
23525           * Chroma formats:
23526           - gst_vaapi_utils_h264_get_chroma_type():
23527           Returns GstVaapiChromaType from H.264 chroma_format_idc value
23528           - gst_vaapi_utils_h264_get_chroma_format_idc():
23529           Returns H.264 chroma_format_idc value from GstVaapiChromaType
23530
23531 2013-12-03 11:05:17 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23532
23533         * gst-libs/gst/base/Makefile.am:
23534         * gst-libs/gst/vaapi/Makefile.am:
23535           Fix missing files in distribution tarball.
23536           https://bugzilla.gnome.org/show_bug.cgi?id=719776
23537           [Additional fixes and clean-ups]
23538           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23539
23540 2013-12-05 18:13:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23541
23542         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23543         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23544           encoder: fix computation of max coded buffer size (again).
23545           The previous fix was only valid to express the maximum size of the
23546           macroblock layer, i.e. without any headers. Now, also account for
23547           the slice headers and top picture header, but also any other header
23548           we might stuff into the VA coded buffer, e.g. sequence headers.
23549
23550 2013-12-04 19:10:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23551
23552         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23553         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23554         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23555           encoder: fix computation of max coded buffer size.
23556           Fix coded buffer size for each codec. A generic issue was that the
23557           number of macroblocks was incorrectly computed. The second issue was
23558           specific to MPEG-2 were the max number of bits per macroblock, and
23559           as defined by the standard, was incorrectly mapped to the (lower)
23560           H.264 requirement. i.e. 4608 bits vs. 3200 bits limit.
23561
23562 2013-12-04 18:48:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23563
23564         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23565         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23566         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23567         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23568           encoder: simplify VA context initialization process.
23569           Change get_context_info() into a set_context_info() function that
23570           initializes common defaults into the base class, thus allowing the
23571           subclasses to specialize the context info further on.
23572           The set_context_info() hook is also the location where additional
23573           context specific data could be initialized. At this point, we are
23574           guaranteed to have valid video resolution size and framerate. i.e.
23575           gst_vaapi_encoder_set_format() was called beforehand.
23576
23577 2013-11-26 14:38:23 +0800  Wind Yuan <feng.yuan@intel.com>
23578
23579         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23580           encoder: fix mpeg2 compilation error.
23581           https://bugzilla.gnome.org/show_bug.cgi?id=719746
23582           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23583
23584 2013-12-04 17:55:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23585
23586         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23587         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23588         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23589         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23590         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23591         * gst/vaapi/gstvaapiencode.c:
23592           encoder: clean-ups and document public APIs.
23593           Clean public APIs up so that to better align with the decoder APIs.
23594           Most importantly, gst_vaapi_encoder_get_buffer() is changed to only
23595           return the VA coded buffer proxy. Also provide useful documentation
23596           for the public APIs.
23597
23598 2013-12-04 17:05:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23599
23600         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23601         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23602         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23603           encoder: avoid extra allocations of GstVaapiEncoderSyncPic objects.
23604           Kill GstVaapiEncoderSyncPic objects that are internally and temporarily
23605           allocated. Rather, associate a GstVaapiEncPicture to a coded buffer
23606           through GstVaapiCodedBufferProxy user-data facility.
23607           Besides, use a GAsyncQueue to maintain a thread-safe queue object of
23608           coded buffers.
23609           Partial fix for the following report:
23610           https://bugzilla.gnome.org/show_bug.cgi?id=719530
23611
23612 2013-12-03 17:04:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23613
23614         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23615         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23616         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23617         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23618         * gst/vaapi/gstvaapiencode.c:
23619           encoder: refactor status codes.
23620           Drop obsolete or unused status codes. Align some status codes with the
23621           decoder counterparts.
23622
23623 2013-12-04 11:54:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23624
23625         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23626         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23627         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23628         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23629         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
23630         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23631           encoder: fix subclassing process.
23632           Fix the GstVaapiEncoderClass parent class type. Make sure to validate
23633           subclass hooks as early as possible, i.e. in gst_vaapi_encoder_init(),
23634           thus avoiding useless run-time checks. Also simplify the subclass
23635           initialization process to be less error prone.
23636
23637 2013-12-03 16:11:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23638
23639           encoder: rework GstVaapiCodedBuffer and related proxy.
23640           Refactor the GstVaapiCodedBuffer APIs so that to more clearly separate
23641           public and private interfaces. Besides, the map/unmap APIs should not
23642           be exposed as is but appropriate accessors should be provided instead.
23643           * GstVaapiCodedBuffer: VA coded buffer abstraction
23644           - gst_vaapi_coded_buffer_get_size(): get coded buffer size.
23645           - gst_vaapi_coded_buffer_copy_into(): copy coded buffer into GstBuffer
23646           * GstVaapiCodedBufferPool: pool of VA coded buffer objects
23647           - gst_vaapi_coded_buffer_pool_new(): create a pool of coded buffers of
23648           the specified max size, and bound to the supplied encoder
23649           * GstVaapiCodedBufferProxy: pool-allocated VA coded buffer object proxy
23650           - gst_vaapi_coded_buffer_proxy_new_from_pool(): create coded buf from pool
23651           - gst_vaapi_coded_buffer_proxy_get_buffer(): get underlying coded buffer
23652           - gst_vaapi_coded_buffer_proxy_get_buffer_size(): get coded buffer size
23653           Rationale: more optimized transfer functions might be provided in the
23654           future, thus rendering the map/unmap mechanism obsolete or sub-optimal.
23655           https://bugzilla.gnome.org/show_bug.cgi?id=719775
23656
23657 2013-11-29 14:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23658
23659         * gst/vaapi/gstvaapidecode.c:
23660         * gst/vaapi/gstvaapiencode.c:
23661         * gst/vaapi/gstvaapipostproc.c:
23662         * gst/vaapi/gstvaapisink.c:
23663           plugins: fix reference leaks of VA display objects.
23664           Fix GstElement::set_context() implementation for all plug-in elements
23665           to avoid leaking an extra reference to the VA display, thus preventing
23666           correct cleanup of VA resources in GStreamer 1.2 builds.
23667
23668 2013-11-29 13:56:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23669
23670         * gst/vaapi/gstvaapipluginutil.c:
23671         * gst/vaapi/gstvaapivideocontext.c:
23672           plugins: simplify gst_vaapi_ensure_display().
23673           Return earlier if the creation of a VA display failed. Likewise, simplify
23674           gst_vaapi_video_context_propagate() now that we are guaranteed to have a
23675           valid VA display.
23676
23677 2013-11-28 19:08:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23678
23679         * gst/vaapi/gstvaapivideomemory.c:
23680           plugins: fix memory leaks through GstVideoMeta maps.
23681           When GstVideoMeta maps were used, the supporting functions incorrectly
23682           used gst_buffer_get_memory() instead of gst_buffer_peek_memory(), thus
23683           always increasing the associated GstMemory reference count and giving
23684           zero chance to actually release that, and subsequently the VA display.
23685
23686 2013-11-28 14:15:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23687
23688         * gst-libs/gst/vaapi/gstvaapifilter.c:
23689         * gst/vaapi/gstvaapiencode_h264.c:
23690         * gst/vaapi/gstvaapiencode_mpeg2.c:
23691         * gst/vaapi/gstvaapipostproc.c:
23692         * gst/vaapi/gstvaapisink.c:
23693         * gst/vaapi/gstvaapiuploader.c:
23694           plugins: use G_PARAM_STATIC_STRINGS.
23695           This avoids a few string copies during initialization.
23696
23697 2013-11-28 17:28:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23698
23699         * gst/vaapi/gstvaapivideometa.c:
23700           plugins: simplify VA video meta to only reference surface proxies.
23701           Simplify GstVaapiVideoMeta to only hold a surface proxy, which is
23702           now allocated from a surface pool. This also means that the local
23703           reference to the VA surface is also gone, as it could be extracted
23704           from the associated surface proxy.
23705
23706 2013-11-28 16:51:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23707
23708         * gst/vaapi/gstvaapivideobuffer.c:
23709         * gst/vaapi/gstvaapivideobuffer.h:
23710         * gst/vaapi/gstvaapivideometa.c:
23711         * gst/vaapi/gstvaapivideometa.h:
23712           plugins: drop obsolete functions.
23713           Drop the following functions that are not longer used:
23714           - gst_vaapi_video_buffer_new_with_surface()
23715           - gst_vaapi_video_meta_new_with_surface()
23716           - gst_vaapi_video_meta_set_surface()
23717           - gst_vaapi_video_meta_set_surface_from_pool()
23718
23719 2013-11-28 16:37:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23720
23721         * gst/vaapi/gstvaapivideometa.c:
23722           plugins: allow VA video meta to be allocated from surface proxy pools.
23723           Fix gst_vaapi_video_meta_new_from_pool() to allocate VA surface proxies
23724           from surface pools instead of plain VA surfaces. This is to simplify
23725           allocations now that surface proxies are created from a surface pool.
23726
23727 2013-11-28 17:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23728
23729         * docs/reference/libs/libs-sections.txt:
23730         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
23731         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
23732         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
23733           surfaceproxy: add copy function.
23734           Add gst_vaapi_surface_proxy_copy() function that creates a new surface
23735           proxy with the same information from the parent proxy, except that the
23736           user-defined destroy notify function is not copied over.
23737           The underlying VA surface is pushed back to the video pool only when
23738           the last reference to the parent surface proxy is released.
23739
23740 2013-11-28 15:56:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23741
23742         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
23743         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
23744         * gst/vaapi/gstvaapiencode.c:
23745           vaapiencode: optimize _handle_frame() to avoid extra allocation.
23746           Optimize gst_vaapiencode_handle_frame() to avoid extra memory allocation,
23747           and in particular the GstVaapiEncObjUserData object. i.e. directly use
23748           the VA surface proxy from the source buffer. This also makes the user
23749           data attached to the GstVideoCodecFrame more consistent between both
23750           the decoder and encoder plug-in elements.
23751
23752 2013-11-28 15:14:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23753
23754         * gst/vaapi/gstvaapiencode.c:
23755           vaapiencode: fix memory leaks in _push_frame() on error.
23756           Simplify gst_vaapiencode_push_frame(), while also removing the call
23757           to gst_video_encoder_negotiate() since this is implicit in _finish()
23758           if caps changed. Also fixed memory leaks that occured on error.
23759
23760 2013-11-28 13:57:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23761
23762         * gst/vaapi/gstvaapiencode.c:
23763         * gst/vaapi/gstvaapiencode.h:
23764         * gst/vaapi/gstvaapiencode_h264.c:
23765         * gst/vaapi/gstvaapiencode_h264.h:
23766         * gst/vaapi/gstvaapiencode_mpeg2.c:
23767           vaapiencode: additional clean-ups.
23768           Constify pointers wherever possible. Drop unused variables, and use
23769           consistent variable names. Fix gst_vaapiencode_h264_allocate_buffer()
23770           to correctly report errors, especially when in-place conversion from
23771           bytestream to avcC format failed.
23772
23773 2013-11-28 13:26:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23774
23775         * gst/vaapi/gstvaapiencode.c:
23776         * gst/vaapi/gstvaapiencode.h:
23777         * gst/vaapi/gstvaapiencode_h264.c:
23778         * gst/vaapi/gstvaapiencode_h264.h:
23779         * gst/vaapi/gstvaapiencode_mpeg2.c:
23780         * gst/vaapi/gstvaapiencode_mpeg2.h:
23781           vaapiencode: move common properties to base class.
23782           Move "rate-control" mode and "bitrate" properties to the GstVaapiEncode
23783           base class. The actual range of supported rate control modes is currently
23784           implemented as a plug-in element hook. This ought to be determined from
23785           the GstVaapiEncoder object instead, i.e. from libgstvaapi.
23786
23787 2013-11-28 10:54:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23788
23789         * gst/vaapi/gstvaapiencode_h264.c:
23790         * gst/vaapi/gstvaapiencode_mpeg2.c:
23791           vaapiencode: fix plugin description and debug name.
23792           Align the plug-in debug category to its actual name. i.e. enable debug
23793           logs through vaapiencode_<CODEC> where <CODEC> is mpeg2, h264, etc. Fix
23794           the plug-in element description to make it more consistent with other
23795           VA-API plug-ins.
23796
23797 2013-11-27 16:27:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23798
23799         * configure.ac:
23800         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23801         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23802         * gst-libs/gst/video/Makefile.am:
23803         * gst/vaapi/gstvaapiencode.c:
23804         * gst/vaapi/gstvaapiencode.h:
23805         * gst/vaapi/gstvaapiencode_h264.c:
23806         * gst/vaapi/gstvaapiencode_mpeg2.c:
23807           vaapiencode: add initial support for GStreamer 0.10.
23808
23809 2013-11-27 16:25:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23810
23811         * gst-libs/gst/vaapi/gstcompat.h:
23812           libs: add more GstBuffer compat glue for GStreamer 0.10.
23813           Add gst_buffer_new_allocate() and gst_buffer_fill() implementations.
23814           Fix gst_buffer_new_wrapped_full() implementation to handle the destroy
23815           notify function.
23816
23817 2013-11-27 15:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23818
23819         * configure.ac:
23820         * gst-libs/gst/video/Makefile.am:
23821           libs: always use built-in videoutils for GStreamer 0.10.
23822           GStreamer 0.10.36 is the latest and ultimate version to be released
23823           from the GStreamer 0.10 branch. i.e. no further releases are to be
23824           made. So, we can safely enable the built-in videoutils replacement
23825           now that they are in sync with the 0.10 branch.
23826
23827 2013-11-27 15:47:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23828
23829         * ext/videoutils:
23830           videoutils: update to master commit d4a15a5.
23831           d4a15a5 video: fix compiler warning in header with C++11 / clang-3.1
23832           86096cc videodecoder: minor cosmetic changes to align a bit more with master
23833           b4b8b52 videodecoder: allow parse function to not use all data on adapter
23834           2145495 videodecoder: warn if frame list gets long
23835           36c3753 videodecoder: Also use the object lock to protect the output_state
23836           518c93d videodecoder: fix seeking again
23837           185fb63 video: Correct usage of the base class stream lock
23838           170e944 videodecoder: Expose _negotiate function
23839
23840 2013-11-26 12:06:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23841
23842         * configure.ac:
23843         * gst-libs/gst/vaapi/Makefile.am:
23844         * tests/Makefile.am:
23845           Fix build with GStreamer >= 1.3.
23846           http://bugzilla.gnome.org/show_bug.cgi?id=715183
23847           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23848
23849 2013-11-26 17:56:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23850
23851         * configure.ac:
23852           configure: disable encoders with GStreamer 0.10.
23853           Don't try to build video encoders for GStreamer 0.10. Support code is
23854           not there yet, and probably will never for such an ancient version.
23855
23856 2013-11-26 17:26:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23857
23858         * gst/vaapi/gstvaapiencode.c:
23859           vaapiencode: fix error handling while allocating output buffers.
23860           Fix default GstVideoEncoder::allocate_buffer() implementation to properly
23861           unmap the coded buffer prior to returning an error.
23862
23863 2013-11-26 17:11:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23864
23865         * gst/vaapi/gstvaapiencode.c:
23866           vaapiencode: fix error handling in _finish() hook.
23867           Fix GstVideoEncoder::finish() implementation to really return possible
23868           errors instead of GST_FLOW_OK. That is, fix check for timeout status.
23869
23870 2013-11-26 16:34:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23871
23872         * gst/vaapi/gstvaapiencode.c:
23873         * gst/vaapi/gstvaapiencode.h:
23874         * gst/vaapi/gstvaapiencode_h264.c:
23875         * gst/vaapi/gstvaapiencode_h264.h:
23876         * gst/vaapi/gstvaapiencode_mpeg2.c:
23877         * gst/vaapi/gstvaapiencode_mpeg2.h:
23878           vaapiencode: minor clean-ups.
23879           Add a GST_VAAPIENCODE_CAST() helper to avoid run-time checks against
23880           the GObject type system. We are guaranteed to only deal with the same
23881           plug-in element object.
23882
23883 2013-11-26 15:31:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23884
23885         * gst/vaapi/gstvaapiencode.c:
23886         * gst/vaapi/gstvaapiencode_h264.c:
23887         * gst/vaapi/gstvaapiencode_mpeg2.c:
23888           vaapiencode: fix support for raw YUV sink buffers.
23889           Allow vaapiencode plug-in elements to encode from raw YUV buffers.
23890           The most efficient way to do so is to let the vaapiencode elements
23891           allocate a buffer pool, and subsequently buffers from it. This means
23892           that upstream elements are expected to honour downstream pools.
23893           If upstream elements insist on providing their own allocated buffers
23894           to the vaapiencode elements, then it possibly would be more efficient
23895           to insert a vaapipostproc element before the vaapiencode element.
23896           This is because vaapipostproc currently has better support than other
23897           elements for "foreign" raw YUV buffers.
23898
23899 2013-11-26 15:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23900
23901         * gst/vaapi/gstvaapiencode.c:
23902           vaapiencode: fix support for GStreamer 1.2.
23903
23904 2013-11-07 17:42:21 +0800  Wind Yuan <feng.yuan@intel.com>
23905
23906         * gst/vaapi/gstvaapiencode.c:
23907         * gst/vaapi/gstvaapiencode_h264.c:
23908         * gst/vaapi/gstvaapiencode_mpeg2.c:
23909           vaapiencode: initial port to GStreamer 1.2.
23910           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23911
23912 2013-11-20 16:21:32 +0800  XuGuangxin <guangxin.xu@intel.com>
23913
23914         * gst/vaapi/Makefile.am:
23915         * gst/vaapi/gstvaapi.c:
23916         * gst/vaapi/gstvaapiencode_mpeg2.c:
23917         * gst/vaapi/gstvaapiencode_mpeg2.h:
23918           plugins: add mpeg2 encoder element.
23919           Add GstVaapiEncodeMPEG2 element object. The actual plug-in element
23920           is called "vaapiencode_mpeg2".
23921           Valid properties:
23922           - rate-control: rate control mode (default: cqp - constant QP)
23923           - bitrate: desired bitrate in kbps (default: auto-calculated)
23924           - key-period: maximal distance between two key frames (default: 30)
23925           - max-bframes: number of B-frames between I and P (default: 2)
23926           - quantizer: constant quantizer (default: 8)
23927           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23928
23929 2013-07-29 16:02:56 +0800  Wind Yuan <feng.yuan@intel.com>
23930
23931         * gst/vaapi/Makefile.am:
23932         * gst/vaapi/gstvaapi.c:
23933         * gst/vaapi/gstvaapiencode_h264.c:
23934         * gst/vaapi/gstvaapiencode_h264.h:
23935           plugins: add h264 encoder element.
23936           Add GstVaapiEncodeH264 element object. The actual plug-in element
23937           is called "vaapiencode_h264".
23938           Valid properties:
23939           - rate-control: rate control mode (default: none)
23940           - bitrate: desired bitrate in kbps (default: auto-calculated)
23941           - key-period: maximal distance between two key frames (default: 30)
23942           - num-slices: number of slices per frame (default: 1)
23943           - max-bframes: number of B-frames between I and P (default: 0)
23944           - min-qp: minimal quantizer (default: 1)
23945           - init-qp: initial quantizer (default: 26)
23946           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23947
23948 2013-07-29 13:44:48 +0800  Wind Yuan <feng.yuan@intel.com>
23949
23950         * gst/vaapi/Makefile.am:
23951         * gst/vaapi/gstvaapiencode.c:
23952         * gst/vaapi/gstvaapiencode.h:
23953           plugins: add base encoder element.
23954           vaapiencode element is based on GstVideoEncoder APIs.
23955           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23956
23957 2013-11-20 16:20:15 +0800  XuGuangxin <guangxin.xu@intel.com>
23958
23959         * gst-libs/gst/vaapi/Makefile.am:
23960         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23961         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
23962         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
23963           encoder: add mpeg2 encoder.
23964           Add initial support for MPEG-2 encoding. I/P/B frames are supported.
23965           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23966
23967 2013-07-29 15:46:11 +0800  Wind Yuan <feng.yuan@intel.com>
23968
23969         * gst-libs/gst/vaapi/Makefile.am:
23970         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23971         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23972         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23973           encoder: add h264 encoder.
23974           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23975
23976 2013-07-29 13:34:06 +0800  Wind Yuan <feng.yuan@intel.com>
23977
23978         * configure.ac:
23979         * gst-libs/gst/vaapi/Makefile.am:
23980         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23981         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23982         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
23983         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
23984         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23985           Add initial infrastructure for video encoding.
23986           Add initial API for video encoding: only basic interfaces and small
23987           encoder objects are implemented so far.
23988           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23989
23990 2013-07-29 15:41:23 +0800  Wind Yuan <feng.yuan@intel.com>
23991
23992         * configure.ac:
23993         * gst-libs/gst/Makefile.am:
23994         * gst-libs/gst/base/Makefile.am:
23995         * gst-libs/gst/base/gstbitwriter.c:
23996         * gst-libs/gst/base/gstbitwriter.h:
23997         * gst-libs/gst/vaapi/Makefile.am:
23998           libs: add generic bitstream writer.
23999           GstBitWriter provides a bit writer that can write any number of bits
24000           to a pre-allocated memory buffer. Helper functions are also provided
24001           to write any number of bits from 8, 16, 32 and 64 bit variables.
24002           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24003
24004 2013-07-12 22:07:59 +0800  Wind Yuan <feng.yuan@intel.com>
24005
24006         * gst-libs/gst/vaapi/gstvaapicontext.c:
24007         * gst-libs/gst/vaapi/gstvaapicontext.h:
24008           libs: add support for rate-control to GstVaapiContext.
24009           Extend GstVaapiContextInfo structure to hold the desired rate control
24010           mode for encoding purposes. For decoding purposes, this field is not
24011           used and it is initialized to GST_VAAPI_RATECONTROL_NONE.
24012           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24013
24014 2013-07-12 21:33:32 +0800  Wind Yuan <feng.yuan@intel.com>
24015
24016         * gst-libs/gst/vaapi/gstvaapitypes.h:
24017         * gst-libs/gst/vaapi/gstvaapiutils.c:
24018         * gst-libs/gst/vaapi/gstvaapiutils.h:
24019         * gst-libs/gst/vaapi/gstvaapivalue.c:
24020         * gst-libs/gst/vaapi/gstvaapivalue.h:
24021           libs: add rate-control attributes.
24022           Add GstVaapiRateControl types and GType values in view to supporting
24023           rate controls for encoding. This is meant to be used for instance in
24024           GstVaapiContext.
24025           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24026
24027 2013-11-22 11:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24028
24029         * configure.ac:
24030           Bump version for development.
24031
24032 2013-11-22 11:28:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24033
24034         * gst/vaapi/Makefile.am:
24035           build: fix for Wayland headers not in standard include dirs.
24036           Fix build when Wayland headers don't live in plain system include dirs
24037           like /usr/include but rather in /usr/include/wayland for instance.
24038           Original patch written by Dominique Leuenberger <dimstar@opensuse.org>
24039           https://bugzilla.gnome.org/show_bug.cgi?id=712282
24040
24041 2013-11-14 10:58:37 +0000  Ross Burton <ross.burton@intel.com>
24042
24043         * gst-libs/gst/vaapi/Makefile.am:
24044           build: link libgstvaapi-wayland against videoutils.
24045           This library is using symbols that don't exist in GStreamer 0.10 so
24046           it needs to link to built-in implementation (libgstvaapi-videoutils).
24047           https://bugzilla.gnome.org/show_bug.cgi?id=712282
24048           Signed-off-by: Ross Burton <ross.burton@intel.com>
24049           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24050
24051 2013-11-22 11:15:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24052
24053         * gst-libs/gst/vaapi/gstvaapifilter.c:
24054         * gst/vaapi/gstvaapipostproc.c:
24055           vaapostproc: fix memory leaks.
24056           Destroy VPP output surface pool on exit. Also avoid a possible crash
24057           in double-free situation caused by insufficiently reference counted
24058           array of formats returned during initialization.
24059
24060 2013-11-22 10:19:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24061
24062         * gst/vaapi/gstvaapipostproc.c:
24063         * gst/vaapi/gstvaapipostproc.h:
24064           vaapipostproc: fix and optimize advanced deinterlacing mode.
24065           Fix advanced deinterlacing modes with VPP to track only up to 2 past
24066           reference buffers. This used to be 3 past reference buffers but this
24067           doesn't fit with the existing decode pipeline that only has 4 extra
24068           scratch surfaces.
24069           Also optimize references tracking to be only enabled when needed, i.e.
24070           when advanced deinterlacing mode is used. This means that we don't
24071           need to track past references for basic bob or weave deinterlacing.
24072
24073 2013-11-22 10:04:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24074
24075         * gst/vaapi/gstvaapipostproc.c:
24076           vaapipostproc: fix "mixed" mode deinterlacing.
24077           In "mixed" interlaced streams, the buffer contains additional flags that
24078           specify whether the frame contained herein is interlaced or not. This means
24079           that we can alternatively get progressive or interlaced frames. Make sure
24080           to disable deinterlacing at the VPP level when the source buffer is no longer
24081           interlaced.
24082
24083 2013-11-22 09:49:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24084
24085         * gst/vaapi/gstvaapipostproc.c:
24086           vaapipostproc: fix memory leaks with advanced deinterlacing.
24087           Fix memory leaks with advanced deinterlacing, i.e. when we keep track
24088           of past buffers. Completely reset the deinterlace state, thus destroying
24089           any buffer currently held, on _start(), _stop() and _destroy().
24090
24091 2013-11-22 06:59:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24092
24093         * README:
24094           README: updates.
24095           - GStreamer 1.2 APIs are supported ;
24096           - Video Processing (VA/VPP) features.
24097
24098 2013-11-22 06:45:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24099
24100         * README:
24101           README: update for GStreamer >= 1.0.x and VPP features.
24102
24103 2013-11-22 06:37:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24104
24105         * gst-libs/gst/vaapi/glibcompat.h:
24106         * gst-libs/gst/vaapi/gstvaapicontext.h:
24107         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
24108         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
24109         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24110         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24111         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24112         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24113         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
24114         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
24115         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24116         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
24117         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24118         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
24119         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24120         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24121         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
24122         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24123         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24124         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
24125         * gst-libs/gst/vaapi/gstvaapiimage.c:
24126         * gst-libs/gst/vaapi/gstvaapiimage.h:
24127         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24128         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24129         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
24130         * gst-libs/gst/vaapi/gstvaapiobject.c:
24131         * gst-libs/gst/vaapi/gstvaapiobject.h:
24132         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
24133         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24134         * gst-libs/gst/vaapi/gstvaapisurface.h:
24135         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
24136         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24137         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24138         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24139         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24140         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24141         * gst-libs/gst/vaapi/gstvaapitexture.c:
24142         * gst-libs/gst/vaapi/gstvaapitexture.h:
24143         * gst-libs/gst/vaapi/gstvaapitypes.h:
24144         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24145         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
24146         * gst-libs/gst/vaapi/gstvaapivalue.c:
24147         * gst-libs/gst/vaapi/gstvaapivalue.h:
24148         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24149         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24150         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24151         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24152         * gst-libs/gst/vaapi/gstvaapiwindow.h:
24153         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24154         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
24155         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24156         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
24157         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
24158         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
24159         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24160         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
24161         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
24162         * gst/vaapi/gstvaapi.c:
24163         * gst/vaapi/gstvaapidecode.h:
24164         * gst/vaapi/gstvaapidownload.h:
24165         * gst/vaapi/gstvaapipluginutil.c:
24166         * gst/vaapi/gstvaapipluginutil.h:
24167         * gst/vaapi/gstvaapipostproc.h:
24168         * gst/vaapi/gstvaapisink.h:
24169         * gst/vaapi/gstvaapivideoconverter_glx.h:
24170         * tests/image.c:
24171         * tests/image.h:
24172         * tests/output.h:
24173         * tests/test-display.c:
24174         * tests/test-jpeg.c:
24175         * tests/test-jpeg.h:
24176         * tests/test-mpeg4.c:
24177         * tests/test-mpeg4.h:
24178         * tests/test-surfaces.c:
24179         * tests/test-windows.c:
24180           legal: update copyright notice dates.
24181
24182 2013-11-22 05:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24183
24184         * gst-libs/gst/vaapi/glibcompat.h:
24185         * gst-libs/gst/vaapi/gstcompat.h:
24186         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24187         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
24188         * gst-libs/gst/vaapi/gstvaapicompat.h:
24189         * gst-libs/gst/vaapi/gstvaapicontext.c:
24190         * gst-libs/gst/vaapi/gstvaapicontext.h:
24191         * gst-libs/gst/vaapi/gstvaapidebug.h:
24192         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24193         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24194         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
24195         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
24196         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24197         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
24198         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24199         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
24200         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24201         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24202         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24203         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24204         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24205         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24206         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24207         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
24208         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
24209         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24210         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24211         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24212         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24213         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24214         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
24215         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
24216         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24217         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
24218         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
24219         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24220         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24221         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
24222         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24223         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24224         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
24225         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24226         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24227         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
24228         * gst-libs/gst/vaapi/gstvaapifilter.c:
24229         * gst-libs/gst/vaapi/gstvaapifilter.h:
24230         * gst-libs/gst/vaapi/gstvaapiimage.c:
24231         * gst-libs/gst/vaapi/gstvaapiimage.h:
24232         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
24233         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24234         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24235         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
24236         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
24237         * gst-libs/gst/vaapi/gstvaapiobject.c:
24238         * gst-libs/gst/vaapi/gstvaapiobject.h:
24239         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
24240         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
24241         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
24242         * gst-libs/gst/vaapi/gstvaapipixmap.c:
24243         * gst-libs/gst/vaapi/gstvaapipixmap.h:
24244         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
24245         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
24246         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
24247         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24248         * gst-libs/gst/vaapi/gstvaapiprofile.h:
24249         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24250         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
24251         * gst-libs/gst/vaapi/gstvaapisurface.c:
24252         * gst-libs/gst/vaapi/gstvaapisurface.h:
24253         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
24254         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24255         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24256         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24257         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24258         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24259         * gst-libs/gst/vaapi/gstvaapitexture.c:
24260         * gst-libs/gst/vaapi/gstvaapitexture.h:
24261         * gst-libs/gst/vaapi/gstvaapitypes.h:
24262         * gst-libs/gst/vaapi/gstvaapiutils.c:
24263         * gst-libs/gst/vaapi/gstvaapiutils.h:
24264         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24265         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24266         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24267         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
24268         * gst-libs/gst/vaapi/gstvaapivalue.c:
24269         * gst-libs/gst/vaapi/gstvaapivalue.h:
24270         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24271         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24272         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24273         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24274         * gst-libs/gst/vaapi/gstvaapiwindow.h:
24275         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24276         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
24277         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24278         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
24279         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
24280         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24281         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
24282         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24283         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
24284         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
24285         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
24286         * gst-libs/gst/vaapi/sysdeps.h:
24287         * gst-libs/gst/vaapi/video-format.c:
24288         * gst-libs/gst/vaapi/video-format.h:
24289         * gst/vaapi/gstvaapi.c:
24290         * gst/vaapi/gstvaapidecode.c:
24291         * gst/vaapi/gstvaapidecode.h:
24292         * gst/vaapi/gstvaapidownload.c:
24293         * gst/vaapi/gstvaapidownload.h:
24294         * gst/vaapi/gstvaapipluginutil.c:
24295         * gst/vaapi/gstvaapipluginutil.h:
24296         * gst/vaapi/gstvaapipostproc.c:
24297         * gst/vaapi/gstvaapipostproc.h:
24298         * gst/vaapi/gstvaapisink.c:
24299         * gst/vaapi/gstvaapisink.h:
24300         * gst/vaapi/gstvaapiupload.c:
24301         * gst/vaapi/gstvaapiupload.h:
24302         * gst/vaapi/gstvaapiuploader.c:
24303         * gst/vaapi/gstvaapiuploader.h:
24304         * gst/vaapi/gstvaapivideobuffer.c:
24305         * gst/vaapi/gstvaapivideobuffer.h:
24306         * gst/vaapi/gstvaapivideobufferpool.c:
24307         * gst/vaapi/gstvaapivideobufferpool.h:
24308         * gst/vaapi/gstvaapivideocontext.c:
24309         * gst/vaapi/gstvaapivideocontext.h:
24310         * gst/vaapi/gstvaapivideoconverter_glx.c:
24311         * gst/vaapi/gstvaapivideoconverter_glx.h:
24312         * gst/vaapi/gstvaapivideoconverter_x11.c:
24313         * gst/vaapi/gstvaapivideoconverter_x11.h:
24314         * gst/vaapi/gstvaapivideomemory.c:
24315         * gst/vaapi/gstvaapivideomemory.h:
24316         * gst/vaapi/gstvaapivideometa.c:
24317         * gst/vaapi/gstvaapivideometa.h:
24318         * gst/vaapi/gstvaapivideometa_texture.c:
24319         * gst/vaapi/gstvaapivideometa_texture.h:
24320         * tests/codec.c:
24321         * tests/codec.h:
24322         * tests/decoder.c:
24323         * tests/decoder.h:
24324         * tests/image.c:
24325         * tests/image.h:
24326         * tests/output.c:
24327         * tests/output.h:
24328         * tests/simple-decoder.c:
24329         * tests/test-decode.c:
24330         * tests/test-decode.h:
24331         * tests/test-display.c:
24332         * tests/test-filter.c:
24333         * tests/test-h264.c:
24334         * tests/test-h264.h:
24335         * tests/test-jpeg.c:
24336         * tests/test-jpeg.h:
24337         * tests/test-mpeg2.c:
24338         * tests/test-mpeg2.h:
24339         * tests/test-mpeg4.c:
24340         * tests/test-mpeg4.h:
24341         * tests/test-surfaces.c:
24342         * tests/test-textures.c:
24343         * tests/test-vc1.c:
24344         * tests/test-vc1.h:
24345         * tests/test-windows.c:
24346           legal: add per-file authorship information.
24347           Credit original authors on a per-file basis as we cannot expect people
24348           to know all country-specific rules, or bother browsing through the git
24349           history.
24350
24351 2013-11-21 23:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24352
24353         * NEWS:
24354         * configure.ac:
24355           0.5.7.
24356
24357 2013-11-21 23:51:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24358
24359         * NEWS:
24360           NEWS: updates.
24361
24362 2013-11-21 23:17:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24363
24364         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24365           decoder: don't include obsolete headers.
24366           The <gst/vaapi/gstvaapicontext.h> header was removed from the public
24367           set of APIs. So, don't make public headers (gstvaapidecoder.h) depend
24368           on private files.
24369
24370 2013-11-18 16:20:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24371
24372         * gst/vaapi/Makefile.am:
24373         * gst/vaapi/gstvaapi.c:
24374         * gst/vaapi/gstvaapipostproc.c:
24375           vaapipostproc: add initial support for GStreamer 1.2.
24376           Port vaapipostproc element to GStreamer 1.2. Support is quite minimal
24377           right now so that to cope with auto-plugging issues/regressions. e.g.
24378           this happens when the correct set of expected caps are being exposed.
24379           This means that, currently, the proposed caps are not fully accurate.
24380
24381 2013-11-01 10:22:17 +0800  Halley Zhao <halley.zhao@intel.com>
24382
24383         * gst/vaapi/gstvaapipostproc.c:
24384         * gst/vaapi/gstvaapipostproc.h:
24385           vaapipostproc: add support for denoise and sharpen filters.
24386           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24387
24388 2013-11-21 19:52:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24389
24390         * gst/vaapi/gstvaapipostproc.c:
24391         * gst/vaapi/gstvaapipostproc.h:
24392           vaapipostproc: add support for advanced deinterlacing.
24393           Add initial support for advanced deinterlacing. The history buffer
24394           size is arbitrarily set to 3 references for now.
24395
24396 2013-11-21 22:32:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24397
24398         * gst/vaapi/gstvaapipostproc.c:
24399           vaapipostproc: fix deinterlacing with VPP.
24400           Fix basic deinterlacing flags provided to gst_vaapi_set_deinterlacing()
24401           for the first field. Render flags were supplied instead of the actual
24402           deinterlacing flags (deint_flags).
24403
24404 2013-11-21 15:08:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24405
24406         * gst/vaapi/gstvaapipostproc.c:
24407           vaapipostproc: fix transform caps.
24408           Fix GstBaseTransform::transform_caps() implementation to always return
24409           the complete set of allowed sink pad caps (unfixated) even if the src
24410           pad caps we are getting are fixated. Rationale: there are just so many
24411           possible combinations, and it was wrong to provide a unique set anyway.
24412           As a side effect, this greatly simplifies the ability to derive src pad
24413           caps from fixated sink pad caps.
24414
24415 2013-11-01 10:31:13 +0800  Halley Zhao <halley.zhao@intel.com>
24416
24417         * docs/reference/libs/libs-sections.txt:
24418         * gst-libs/gst/vaapi/gstvaapifilter.c:
24419         * gst-libs/gst/vaapi/gstvaapifilter.h:
24420           filter: add helper to specify references for deinterlacing.
24421           Add gst_vaapi_fitler_set_deinterlacing_references() API to submit the
24422           list of surfaces used for forward or backward reference in advanced
24423           deinterlacing mode, e.g. Motion-Adaptive, Motion-Compensated.
24424           The list of surfaces used as deinterlacing references shall be live
24425           until the next call to gst_vaapi_filter_process().
24426           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24427
24428 2013-11-21 18:44:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24429
24430         * gst-libs/gst/vaapi/gstvaapifilter.c:
24431         * gst-libs/gst/vaapi/gstvaapifilter.h:
24432         * gst-libs/gst/vaapi/gstvaapiutils.c:
24433         * gst/vaapi/gstvaapipostproc.c:
24434         * tests/test-filter.c:
24435           filter: fix semantics of deinterlacing flags.
24436           Fix deinterlacing flags to make more sense. The TFF (top-field-first)
24437           flag is meant to specify the organization of reference frames used in
24438           advanced deinterlacing modes. Introduce the more explicit flag TOPFIELD
24439           to specify that the top-field of the supplied input surface is to be
24440           used for deinterlacing. Conversely, if not set, this means that the
24441           bottom field of the supplied input surface will be used instead.
24442
24443 2013-11-21 17:20:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24444
24445         * docs/reference/libs/libs-sections.txt:
24446         * gst-libs/gst/vaapi/gstvaapifilter.c:
24447         * gst-libs/gst/vaapi/gstvaapifilter.h:
24448           filter: add helpers to check for supported/active operation.
24449           Add a couple of helper functions:
24450           - gst_vaapi_filter_has_operation(): checks whether the VA driver
24451           advertises support for the supplied operation ;
24452           - gst_vaapi_filter_use_operation(): checks whether the supplied
24453           operation was already enabled to its non-default value.
24454
24455 2013-11-20 15:10:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24456
24457         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24458           libs: fix GstVaapiSurfaceProxy destroy notify call site.
24459           The user-defined destroy notify function is meant to be called only when
24460           the surface proxy was fully released, i.e. once it actually released the
24461           VA surface back to the underlying pool.
24462
24463 2013-08-29 13:44:22 +0800  XuGuangxin <guangxin.xu@intel.com>
24464
24465         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24466         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24467           libs: make GstVaapiVideoPool thread-safe.
24468           https://bugzilla.gnome.org/show_bug.cgi?id=707108
24469           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24470
24471 2013-08-29 14:04:06 +0800  XuGuangxin <guangxin.xu@intel.com>
24472
24473         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24474         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24475           libs: robustify decoder objects and surface proxy initialization.
24476           Fix GstVaapiPicture, GstVaapiSlice and GstVaapiSurfaceProxy initialization
24477           sequences to have the expected default values set beforehand in case of an
24478           error raising up further during creation. i.e. make it possible to cleanly
24479           destroy those partially initialized objects.
24480           https://bugzilla.gnome.org/show_bug.cgi?id=707108
24481           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24482
24483 2013-11-21 11:01:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24484
24485         * gst/vaapi/gstvaapidecode.c:
24486           vaapidecode: fix decoder flush.
24487           There are situations where gst_video_decoder_flush() is called, and
24488           this subsequently produces a gst_video_decoder_reset() that kills the
24489           currently active GstVideoCodecFrame. This means that it no longer
24490           exists by the time we reach GstVideoDecoder::finish() callback, thus
24491           possibly resulting in a crash if we assumed spare data was still
24492           available for decode (current_frame_size > 0).
24493           Try to honour GstVideoDecoder::reset() behaviour from GStreamer 1.0
24494           that means a flush, thus performing the actual operations there like
24495           calling gst_video_decoder_have_frame() if pending data is available.
24496
24497 2013-11-20 19:21:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24498
24499         * gst/vaapi/gstvaapidecode.c:
24500         * gst/vaapi/gstvaapidecode.h:
24501           vaapidecode: fix dead-locks with decoder task.
24502           Review all interactions between the main video decoder stream thread
24503           and the decode task to derive a correct sequence of operations for
24504           decoding. Also avoid extra atomic operations that become implicit under
24505           the GstVideoDecoder stream lock.
24506
24507 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
24508
24509         * gst/vaapi/gstvaapidecode.c:
24510           vaapidecode: fix hard reset for seek cases.
24511           Fix hard reset for seek cases by flushing the GstVaapiDecoder queue
24512           and completely purge any decoded output frame that may come out from
24513           it. At this stage, the GstVaapiDecoder shall be in a complete clean
24514           state to start decoding over new buffers.
24515           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24516
24517 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
24518
24519         * gst/vaapi/gstvaapidecode.c:
24520         * gst/vaapi/gstvaapidecode.h:
24521           vaapidecode: drop decode timeout, always wait for a free surface.
24522           vaapidecode used to wait up to one second past the expected time of
24523           presentation for the last decoded frame. This is not realistic in
24524           practice when it comes to video pause/resume. Changed behaviour to
24525           unconditionnally wait for a free VA surface prior to continuing the
24526           decoding. The decode task will continue pushing the output frames to
24527           the downstream element while also reporting errors at the same time
24528           to the main thread.
24529           https://bugzilla.gnome.org/show_bug.cgi?id=707108
24530           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24531
24532 2013-11-20 10:56:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24533
24534         * gst/vaapi/gstvaapidecode.c:
24535           vaapidecode: fix srcpad caps for GStreamer 1.2.
24536           The srcpad caps exposed for GStreamer 1.2 were missing any useful info
24537           like framerate, pixel-aspect-ratio, interlace-mode et al. Not to mention
24538           that it relied on possibly un-initialized data. Fix srcpad caps to be
24539           initialized from a sanitized copy of GstVideoDecoder output state caps.
24540           Note: the correct way to expose the srcpad caps triggers an additional
24541           issue in core GStreamer auto-plugging capabilities as the correct caps
24542           to be exposed should be format=ENCODED with memory:VASurface caps feature
24543           at the minimum. In some situations, we could determine the underlying
24544           VA surface format, but this is not always possible. e.g. cases where it
24545           is not allowed to expose the underlying VA surface data, or when the
24546           VA driver implementation cannot actually provide such information.
24547
24548 2013-11-20 10:45:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24549
24550         * gst/vaapi/gstvaapidecode.c:
24551         * gst/vaapi/gstvaapisink.c:
24552           plugins: streamline VA formats exposed in caps to a realistic set.
24553           Currently, the decoder only supports YUV 4:2:0 output. So, expose the
24554           output formats for GStreamer 1.2 in caps to a realistic subset. This
24555           means NV12, I420 or YV12 but also ENCODED if we cannot determine the
24556           underlying VA surface format, or if it is actually not allowed to get
24557           access to the surface contents.
24558
24559 2013-11-20 10:37:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24560
24561         * gst/vaapi/gstvaapidecode.c:
24562         * gst/vaapi/gstvaapisink.c:
24563           plugins: expose the expected format for GstVideoGLTextureUploadMeta.
24564           Fix vaapidecode srcpad caps to only expose RGBA video format for the
24565           meta:GstVideoGLTextureUploadMeta feature. That's only what is supported
24566           so far. Besides, drop this meta from the vaapisink sinkpad caps since
24567           we really don't support that for rendering.
24568           https://bugzilla.gnome.org/show_bug.cgi?id=711828
24569
24570 2013-11-18 18:25:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24571
24572         * configure.ac:
24573           configure: automatically detect GStreamer API version.
24574           Automatically detect GStreamer API version. The --with-gstreamer-api
24575           configure option now defaults to "autodetect" and configure then tries
24576           to derive the GStreamer API version from the highest version based on
24577           what pkg-config --modversion would report.
24578           https://bugzilla.gnome.org/show_bug.cgi?id=711657
24579
24580 2013-11-01 13:43:11 +0800  Wind Yuan <feng.yuan@intel.com>
24581
24582         * gst/vaapi/gstvaapipostproc.c:
24583           vaapipostproc: fix support for raw YUV data upload on GStreamer 1.0.
24584           Fix raw YUV data uploaded as in the following pipeline:
24585           $ gst-launch-1.0 filesrc video.yuv ! videoparse ! vaapipostproc ! vaapisink
24586           The main reason why it failed was that the videoparse element simply
24587           allocates GstBuffer with raw data chunk'ed off the sink pad without
24588           any prior knowledge of the actual frame info. i.e. it basically just
24589           calls gst_adapter_take_buffer().
24590           We could avoid the extra copy performed in vaapipostproc if the videoparse
24591           element was aware of the downstream pool and bothers copying line by
24592           line, for each plane. This means that, for a single frame per buffer,
24593           the optimizatin will be to allocate the video buffer downstream, map
24594           it, and copy each line that is coming through until we need to fills
24595           in the successive planes.
24596           Still, optimized raw YUV uploads already worked with the following:
24597           $ gst-launch-1.0 videotestsrc ! vaapipostproc ! vaapisink
24598           https://bugzilla.gnome.org/show_bug.cgi?id=711250
24599           [clean-ups, fixed error cases to unmap and unref outbuf]
24600           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24601
24602 2013-11-16 07:02:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24603
24604         * gst/vaapi/gstvaapipostproc.c:
24605           vaapipostproc: try to downgrade deinterlace-method when needed.
24606           If the currently selected deinterlacing method is not supported by the
24607           underlying hardware, then try to downgrade the method to a supported one.
24608           At the minimum, basic bob-deinterlacing shall always be supported.
24609
24610 2013-11-15 19:04:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24611
24612         * gst/vaapi/gstvaapipostproc.c:
24613           vaapipostproc: add initial support for deinterlacing with VPP.
24614           Allow basic bob-deinterlacing to work when VPP is enabled. Currently,
24615           this only covers bob-deinterlacing when the output pixel format is
24616           explicitly set.
24617
24618 2013-11-15 17:14:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24619
24620         * gst/vaapi/gstvaapipostproc.c:
24621           vaapipostproc: fix build on 64-bit platforms with GStreamer 0.10.
24622           The size argument for GstBaseTransform::transform_size() hook is a
24623           guint in GStreamer 0.10 APIs but a gsize in GStreamer >= 1.0.X APIs.
24624
24625 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24626
24627         * gst/vaapi/gstvaapipostproc.c:
24628         * gst/vaapi/gstvaapipostproc.h:
24629           vaapipostproc: add initial support for scaling.
24630           Add initial support for basic scaling with size specified through the
24631           "width" and "height" properties. If either user-provided dimension is
24632           zero and "force-aspect-ratio" is set to true (the default), then the
24633           other dimension is scaled to preserve the aspect ratio.
24634
24635 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24636
24637         * gst/vaapi/gstvaapipostproc.c:
24638         * gst/vaapi/gstvaapipostproc.h:
24639           vaapipostproc: add initial support for color conversion.
24640           If VPP is available, we always try to implicitly convert the source
24641           buffer to the "native" surface format for the underlying accelerator.
24642           This means that no optimization is performed yet to propagate raw YUV
24643           buffers to the downstream element as is, if VPP is available. i.e. it
24644           will always cause a color conversion.
24645
24646 2013-10-16 11:23:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24647
24648         * gst/vaapi/gstvaapipostproc.c:
24649           vaapipostproc: fix bug when user disabled deinterlacing.
24650           Fix pipeline error / hang when the user disabled deinterlacing through
24651           the deinterlace-mode=disabled property setting.
24652
24653 2013-10-16 11:20:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24654
24655         * gst/vaapi/gstvaapipostproc.c:
24656         * gst/vaapi/gstvaapipostproc.h:
24657           vaapipostproc: factor out operations to be applied into flags.
24658           Even if we only support deinterlacing for now, use flags to specify
24659           which filters are to be applied to each frame we receive in transform().
24660           This is preparatory work for integrating new filters.
24661
24662 2013-10-04 15:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24663
24664         * gst/vaapi/gstvaapipostproc.c:
24665         * gst/vaapi/gstvaapipostproc.h:
24666           vaapipostproc: add support for raw YUV video source buffers.
24667           Allow video processing from raw YUV buffers coming from the sink pad,
24668           while still producing a VA surface for the downstream elements.
24669
24670 2013-10-04 16:00:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24671
24672         * gst/vaapi/gstvaapipluginutil.c:
24673         * gst/vaapi/gstvaapipluginutil.h:
24674         * gst/vaapi/gstvaapipostproc.c:
24675           vaapipostproc: add support for "mixed" interlace mode.
24676           Add support for "mixed" interlace-mode, whereby the video frame buffer
24677           shall be deinterlaced only if its flags mention that's actually an
24678           interlaced frame buffer.
24679
24680 2013-10-03 19:04:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24681
24682         * gst-libs/gst/vaapi/gstcompat.h:
24683         * gst/vaapi/gstvaapipostproc.c:
24684         * gst/vaapi/gstvaapipostproc.h:
24685         * gst/vaapi/gstvaapivideobuffer.c:
24686         * gst/vaapi/gstvaapivideobuffer.h:
24687           vaapipostproc: rework plug-in element.
24688           Rewrite the vaapipostproc plug-in element so that it derives from
24689           GstBaseTransform, thus simplifying the caps negotiation process.
24690
24691 2013-10-09 17:25:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24692
24693         * gst/vaapi/gstvaapivideobufferpool.c:
24694         * gst/vaapi/gstvaapivideomemory.c:
24695         * gst/vaapi/gstvaapivideomemory.h:
24696           plugins: fix and optimize check for buffer pool allocator params.
24697           Reset the buffer pool allocator only if the config caps changed in a
24698           sensible way: format or resolution change. i.e. don't bother with
24699           other caps like colorimetry et al. as this doesn't affect the way to
24700           allocate VA surfaces or images.
24701
24702 2013-10-09 10:33:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24703
24704         * gst/vaapi/gstvaapivideomemory.c:
24705           plugins: enable memory maps for read & write with direct-rendering.
24706           Enable read and write mappings only if direct-rendering is supported.
24707           Otherwise, this means that we may need to download data from the VA
24708           surface first for correctness, even if the VA surface doesn't need to
24709           be read at all. i.e. sometimes, READWRITE mappings are meant for
24710           surfaces that are written to first, and read afterwards for further
24711           processing.
24712           https://bugzilla.gnome.org/show_bug.cgi?id=704078
24713
24714 2013-10-09 10:06:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24715
24716         * gst/vaapi/gstvaapivideomemory.c:
24717           plugins: fix check for direct-rendering support.
24718           Fix check for direct-rendering if the creation of VA surfaces with
24719           an explicit pixel format is not support, e.g. VA-API < 0.34.0, and
24720           that we tried to allocate a VA surface based on the corresponding
24721           chroma type. i.e. in that particular case, we have to make sure that
24722           the derived image has actually the expected format.
24723
24724 2013-10-09 09:47:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24725
24726         * gst/vaapi/gstvaapivideobufferpool.c:
24727         * gst/vaapi/gstvaapivideomemory.c:
24728         * gst/vaapi/gstvaapivideomemory.h:
24729           plugins: fix buffer pool reset_buffer() to reset memory resources.
24730           Fix GstVaapiVideoBufferPool::reset_buffer() to reset the underlying
24731           memory resources, and more particularly the VA surface proxy. Most
24732           importantly, the GstVaapiVideoMeta is retained. Cached surface in
24733           memory are released, thus triggering a new allocation the next time
24734           we need to map the buffer.
24735
24736 2013-10-09 09:33:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24737
24738         * gst/vaapi/gstvaapivideomemory.c:
24739         * gst/vaapi/gstvaapivideomemory.h:
24740           plugins: fix GstVaapiVideoMemory to allocate VA surface proxies.
24741           Make sure GstVaapiVideoMemory allocates VA surface proxies from a
24742           pool stored in the parent VA memory allocator.
24743           This fixes the following scenario:
24744           - VA video buffer 1 is allocated from a buffer pool
24745           - Another video buffer is created, and inherits info from buffer 1
24746           - Buffer 1 is released, thus pushing it back to the buffer pool
24747           - New buffer alloc request comes it, this yields buffer 1 back
24748           - At this stage, buffers 1 and 2 still share the same underlying VA
24749           surface, but buffer 2 was already submitted downstream for further
24750           processing, thus conflicting with additional processing we were
24751           about to perform on buffer 1.
24752           Maybe the core GstBufferPool implementation should have been fixed
24753           instead to actually make sure that the returned GstBuffer memory we
24754           found from the pool is writable?
24755
24756 2013-10-04 19:34:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24757
24758         * gst/vaapi/gstvaapiuploader.c:
24759           plugins: create a proxy for GstVaapiUploader allocated buffers.
24760           Always make sure to allocate a VA surface proxy for GstVaapiUploader
24761           allocated buffers, i.e. make gst_vaapi_uploader_get_buffer() allocate
24762           a proxy surface.
24763           This fixes cases where we want to retain the underlying surface longer,
24764           instead of releasing it back to the surface pool right away.
24765
24766 2013-10-04 19:30:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24767
24768         * gst/vaapi/gstvaapidecode.c:
24769         * gst/vaapi/gstvaapipluginutil.c:
24770         * gst/vaapi/gstvaapipluginutil.h:
24771         * gst/vaapi/gstvaapipostproc.c:
24772           plugins: add helper function to disable deinterlacing in caps.
24773           Add gst_caps_set_interlaced() helper function that would reset the
24774           interlace-mode field to "progressive" for GStreamer >= 1.0, or the
24775           interlaced field to "false" for GStreamer 0.10.
24776
24777 2013-10-01 18:26:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24778
24779         * gst-libs/gst/vaapi/gstvaapifilter.c:
24780           filter: fix memory leak of VPP operations.
24781           Fix ensure_operations() to release the VPP operations array if non
24782           NULL, prior to returning to the caller. The former function was also
24783           renamed to a more meaningful get_operations() since the caller owns
24784           the returned array that needs to be released.
24785
24786 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
24787
24788         * gst-libs/gst/vaapi/gstvaapifilter.c:
24789           filter: fix first-time operation lookup.
24790           Fix first-time operation lookup through find_operation() if the set
24791           of supported operations was not initially determined through the
24792           gst_vaapi_filter_get_operations() helper function.
24793           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24794
24795 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
24796
24797         * gst-libs/gst/vaapi/gstvaapifilter.c:
24798           filter: fix colorbalance related subtypes.
24799           Fix intiialization of GstVaapiFilterOpData for colorbalance related
24800           operations. In particular, fill in the va_subtype field accordingly.
24801           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24802
24803 2013-09-30 17:08:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24804
24805         * gst-libs/gst/vaapi/gstvaapifilter.c:
24806           filter: fix VA-API 0.34.0 symbol guards.
24807           VASurfaceAttrib and VAProcFilterParameterBufferType are symbols
24808           that need to be guarded for libva 0.34 and 0.33, respectively.
24809           https://bugzilla.gnome.org/show_bug.cgi?id=709102
24810           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24811
24812 2013-10-01 17:57:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24813
24814         * gst/vaapi/gstvaapidecode.c:
24815         * gst/vaapi/gstvaapipluginutil.c:
24816         * gst/vaapi/gstvaapisink.c:
24817           plugins: hanle the context query in any pad.
24818           Also this patch simplifies the code, since now the query is common for the
24819           decoder and the sink.
24820           https://bugzilla.gnome.org/show_bug.cgi?id=709200
24821
24822 2013-10-01 12:09:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24823
24824         * gst/vaapi/gstvaapivideocontext.c:
24825           plugins: query upstream element for a GstContext.
24826           Fix gst_vaapi_video_context_prepare() to also query upstream elements
24827           for a valid GstContext. Improve comments regarding the steps used to
24828           lookup or build that context, thus conforming to the GstContext API
24829           recommendations.
24830           https://bugzilla.gnome.org/show_bug.cgi?id=709112
24831           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24832
24833 2013-09-26 15:21:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24834
24835         * configure.ac:
24836         * debian.upstream/control.in:
24837           Fix detection and packaging of GStreamer 1.2.x builds.
24838           The GStreamer 1.2.x packages sticked to the naming convention for 1.0.x
24839           packages, i.e. -1.0 suffix. However, for gstreamer-vaapi packaging
24840           purposes, update the versioning to -1.2 suffix instead.
24841
24842 2013-07-15 13:41:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24843
24844         * gst/vaapi/Makefile.am:
24845         * gst/vaapi/gstvaapidecode.c:
24846         * gst/vaapi/gstvaapidecode.h:
24847         * gst/vaapi/gstvaapisink.c:
24848         * gst/vaapi/gstvaapivideometa_texture.c:
24849         * gst/vaapi/gstvaapivideometa_texture.h:
24850           plugins: add support for GstVideoGLTextureUploadMeta.
24851           If the allocation meta GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE is
24852           requested, and more specifically under a GLX configuration, then add
24853           the GstVideoGLTextureUploadMeta to the output buffer.
24854           https://bugzilla.gnome.org/show_bug.cgi?id=703236
24855           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24856
24857 2013-07-04 11:03:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24858
24859         * gst/vaapi/gstvaapidecode.c:
24860         * gst/vaapi/gstvaapisink.c:
24861         * gst/vaapi/gstvaapivideomemory.h:
24862           plugins: add support for GstCaps features.
24863           Move VA video buffer memory from "video/x-surface,type=vaapi" format,
24864           as expressed in caps, to the more standard use of caps features. i.e.
24865           add "memory:VASurface" feature attribute to the associated caps.
24866           https://bugzilla.gnome.org/show_bug.cgi?id=703271
24867           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24868
24869 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24870
24871         * gst/vaapi/gstvaapidecode.c:
24872         * gst/vaapi/gstvaapisink.c:
24873           plugins: improve ::query() debugging messages.
24874           Fix gst_vaapidecode_query() to correctly display the query type name,
24875           instead of randomly displaying that we shared the underlying display.
24876           Also add debug info for the GstVaapiSink::query() handler, i.e. the
24877           supplied query type name actually.
24878           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24879
24880 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24881
24882         * gst/vaapi/gstvaapidecode.c:
24883         * gst/vaapi/gstvaapisink.c:
24884           plugins: add support for GstContext API.
24885           Add support for the new GstContext API from GStreamer 1.2.x.
24886           - implement the GstElement::set_context() hook ;
24887           - reply to the `context' query from downstream elements.
24888           https://bugzilla.gnome.org/show_bug.cgi?id=703235
24889           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24890
24891 2013-05-22 12:07:52 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24892
24893         * gst/vaapi/Makefile.am:
24894         * gst/vaapi/gstvaapipluginutil.c:
24895         * gst/vaapi/gstvaapivideocontext.c:
24896         * gst/vaapi/gstvaapivideocontext.h:
24897           plugins: add compat layer for GstVideoContext.
24898           Add thin compatibility layer for the deprecated GstVideoContext API.
24899           For GStreamer API >= 1.2, this involves the following two functions:
24900           - gst_vaapi_video_context_prepare(): queries if a context is already
24901           set in the pipeline ;
24902           - gst_vaapi_video_context_propagate(): propagates the newly-created
24903           context to the rest of the pipeline.
24904           https://bugzilla.gnome.org/show_bug.cgi?id=703235
24905           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24906
24907 2013-05-21 12:42:39 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24908
24909         * configure.ac:
24910         * gst/vaapi/Makefile.am:
24911         * gst/vaapi/gstvaapi.c:
24912         * gst/vaapi/gstvaapidecode.c:
24913         * gst/vaapi/gstvaapipluginutil.c:
24914         * gst/vaapi/gstvaapisink.c:
24915         * gst/vaapi/gstvaapivideobuffer.c:
24916           plugins: initial port to GStreamer 1.2.
24917           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.2. This
24918           is rather minimalistic so that to test the basic functionality.
24919           Disable vaapipostproc plugin for now as further polishing is needed.
24920           Also disable GstVideoContext interface support since this API is now
24921           gone in 1.2.x. This is preparatory work for GstContext support.
24922           https://bugzilla.gnome.org/show_bug.cgi?id=703235
24923           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24924
24925 2013-09-24 16:21:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24926
24927         * tests/simple-decoder.c:
24928           tests: simple-decoder: fix for non-X11 backends.
24929           Don't try to create pixmaps if we have not requested that feature. This
24930           fixes execution for non-X11 backends, and most specifically DRM video
24931           output mode.
24932
24933 2013-09-24 16:22:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24934
24935         * ext/codecparsers:
24936           codecparsers: update to gst-vaapi-branch commit b33bd32.
24937           b33bd32 jpeg: fix and optimize scan for next marker code
24938
24939 2013-09-23 19:14:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24940
24941         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24942           jpeg: fix calculation of MCU count.
24943           Fix calculation of MCU count for image sizes that are not a multiple
24944           of 8 pixels in either dimension, but also for non-common sampling
24945           factors like 4:2:2 in non-interleaved mode.
24946
24947 2013-09-23 16:49:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24948
24949         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24950         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24951         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24952           jpeg: add support for multiscan images.
24953           Add support for images with multiple scans per frame. The Huffman table
24954           can be updated before SOS, and thus possibly requiring multiple uploads
24955           of Huffman tables to the VA driver. So, the latter must be able to cope
24956           with multiple VA buffers of type 'huffman-table' and with the correct
24957           sequential order.
24958
24959 2013-09-23 11:41:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24960
24961         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24962           jpeg: improve robustness when packets are missing.
24963           Improve robustness when some expected packets where not received yet
24964           or that were not correctly decoded. For example, don't try to decode
24965           a picture if there was no valid frame headers.
24966
24967 2013-09-20 16:46:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24968
24969         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24970           jpeg: minor clean-ups.
24971           Improve debugging and error messages. Rename a few variables to fit the
24972           existing naming conventions. Change some fatal asserts to non-fatal
24973           error codes.
24974
24975 2013-09-20 10:12:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24976
24977         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24978         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24979         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24980           jpeg: rework and optimize parser.
24981           Split the input buffer data into decoder units that represent a JPEG
24982           segment. Handle scan decoder unit specifically so that it can include
24983           both the scan header (SOS) but also any other ECS or RSTi segment.
24984           That way, we parse the input buffer stream only once at the gst-vaapi
24985           level instead of (i) in gst_vaapi_decoder_jpeg_parse() to split the
24986           stream into frames SOI .. EOI and (ii) in decode_buffer() to further
24987           determine segment boundaries and decode them.
24988           In practice, this is a +15 to +25% performance improvement.
24989
24990 2013-09-17 14:29:54 +0800  Junfeng Xu <jun.feng.xu@intel.com>
24991
24992         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24993           jpeg: handle comment segments.
24994           Fix decode_buffer() function to gracefully skip comment (COM) segments.
24995           This fixes decoding of streams generated by certain cameras, e.g. like
24996           the Logitech Pro C920.
24997           https://bugzilla.gnome.org/show_bug.cgi?id=708208
24998           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
24999
25000 2013-09-18 17:59:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25001
25002         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25003           jpeg: fix determination of image bounds.
25004           Look for the exact image bounds characterised by the <SOI> and <EOI>
25005           markers. Use the gst_jpeg_parse() codec parser utility function to
25006           optimize the lookup for the next marker segment.
25007           https://bugzilla.gnome.org/show_bug.cgi?id=707447
25008
25009 2013-09-10 15:46:09 +0800  Junfeng Xu <jun.feng.xu@intel.com>
25010
25011         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25012           jpeg: fix calculation of offset to next marker segment.
25013           Fix calculation of the offset to the next marker segment since the
25014           correction of the codecparser part to match the API specification.
25015           i.e. the GstJpegMarkerSegment.size field represents the size in bytes
25016           of the segment minus any marker prefix.
25017           https://bugzilla.gnome.org/show_bug.cgi?id=707447
25018           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
25019
25020 2013-09-20 18:30:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25021
25022         * ext/codecparsers:
25023           codecparsers: update to gst-vaapi-branch commit 23c7dde.
25024           23c7dde jpeg: fix calculation of segment size
25025
25026 2013-08-31 16:00:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25027
25028         * configure.ac:
25029           Bump version for development.
25030
25031 2013-08-31 15:47:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25032
25033         * NEWS:
25034         * configure.ac:
25035           0.5.6.
25036
25037 2013-08-31 15:46:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25038
25039         * NEWS:
25040           NEWS: updates.
25041
25042 2013-08-15 17:59:37 +0800  Wind Yuan <feng.yuan@intel.com>
25043
25044         * configure.ac:
25045         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25046           configure: fix detection of VA/JPEG decoding API.
25047           Fix detection of VA/JPEG decoding API with non-standard libva packages.
25048           More precisely, some packages were shipping with a <va/va.h> header that
25049           did not include <va/va_dec_jpeg.h>.
25050           https://bugzilla.gnome.org/show_bug.cgi?id=706055
25051           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25052
25053 2013-04-18 19:49:42 +0800  Zhao Halley <halley.zhao@intel.com>
25054
25055         * gst/vaapi/gstvaapisink.c:
25056           vaapisink: ensure the uploader is setup for upstream allocated buffers.
25057           In GStreamer 0.10 builds, make sure that the GstVaapiUploader helper
25058           is setup in case upstream elements allocate buffers themselves without
25059           honouring our GstVaapiSink::bufer_alloc() hook.
25060           In particular, this fixes support for OGG video streams with WebKit.
25061           https://bugzilla.gnome.org/show_bug.cgi?id=703934
25062           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25063
25064 2013-08-29 19:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25065
25066         * gst/vaapi/gstvaapisink.c:
25067           vaapisink: simplify get_render_buffer() for GStreamer 0.10 builds.
25068           Implement and use gst_vaapisink_get_render_buffer() for GStreamer 0.10
25069           builds as well.
25070
25071 2013-08-29 18:34:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25072
25073         * gst/vaapi/gstvaapisink.c:
25074         * gst/vaapi/gstvaapisink.h:
25075           vaapisink: handle raw buffers not created from VA video buffer pool.
25076           Handle raw video buffers that were not created from a VA video buffer
25077           pool. Use the generic GstVideo API to copy buffers in GStreamer 1.0.x
25078           builds instead of the GstVaapiUploader.
25079           https://bugs.freedesktop.org/show_bug.cgi?id=55818
25080
25081 2013-08-29 19:33:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25082
25083         * gst/vaapi/gstvaapidecode.c:
25084           vaapidecode: remove extraneous size information from allowed caps.
25085           Fix _getcaps() implementation to not report codecs with size information
25086           filled in the returned caps. That's totally useless nowadays. Ideally,
25087           this is a hint to insert a video parser element, thus allowing future
25088           optimizations, but this is not a strict requirement for gstreamer-vaapi,
25089           which is able to parse the elementary bitstreams itself.
25090           https://bugzilla.gnome.org/show_bug.cgi?id=704734
25091
25092 2013-07-30 14:05:39 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
25093
25094         * gst/vaapi/gstvaapidecode.c:
25095         * gst/vaapi/gstvaapidecode.h:
25096           vaapidecode: submit the last frame from output adapter to decoder.
25097           If there is no frame delimiter at the end of the stream, e.g. no
25098           end-of-stream or end-of-sequence marker, and that the current frame
25099           was fully parsed correctly, then assume that last frame is complete
25100           and submit it to the decoder.
25101           https://bugzilla.gnome.org/show_bug.cgi?id=705123
25102           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
25103           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25104
25105 2013-08-29 11:55:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25106
25107         * gst/vaapi/gstvaapidecode.c:
25108         * gst/vaapi/gstvaapidecode.h:
25109           vaapidecode: push all decoded frames from within the task.
25110           Make sure to push all decoded frames from the task so that the unlying
25111           VA surfaces could all be rendered from the same thread.
25112
25113 2013-08-27 18:24:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25114
25115         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25116           wayland: render the raw surface if VPP failed.
25117           As a last resort, if video processing capabilities (VPP) are not available,
25118           or they did not produce anything conclusive enough, then try to fallback to
25119           the original rendering code path whereby the whole VA surface is rendered
25120           as is, no matter of video cropping or deinterlacing requests.
25121           Note: under those conditions, the visual outcome won't be correct but at
25122           least, something gets displayed instead of bailing out.
25123
25124 2013-08-27 18:20:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25125
25126         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25127           wayland: add supporting for video processing.
25128           Try to use VA/VPP processing capabilities to handle video cropping and
25129           additional rendering flags that may not be directly supported by the
25130           underlying hardware when exposing a suitable Wayland buffer for the
25131           supplied VA surface. e.g. deinterlacing, different color primaries than
25132           BT.601, etc.
25133
25134 2013-08-27 16:26:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25135
25136         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25137           wayland: add new frame redraw infrastructure.
25138           Update the frame redraw infrastructure with a new FrameState stucture
25139           holds all the necessary information used to display the next pending
25140           surface.
25141           While we are at it, delay the sync operation down to when it is actually
25142           needed. That way, we keep performing additional tasks meanwhile.
25143
25144 2013-08-27 18:06:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25145
25146         * docs/reference/libs/libs-sections.txt:
25147         * gst-libs/gst/vaapi/gstvaapifilter.c:
25148         * gst-libs/gst/vaapi/gstvaapifilter.h:
25149           filter: allow specification of render target regions.
25150           Add support for rendering the source surface to a particular region within
25151           the supplied target surface. The default background color is black.
25152
25153 2013-08-26 17:14:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25154
25155         * gst/vaapi/gstvaapivideobuffer.c:
25156           decode: fix creation of GLX video buffers for GStreamer 0.10.
25157           Fix creation of GstVaapiVideoBuffer objects (i) to have that type for real;
25158           and (ii) to correctly extract the GstSurfaceConverter from the video buffer
25159           object meta.
25160           This fixes support for cluttersink with GStreamer 0.10 builds.
25161
25162 2013-08-26 16:15:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25163
25164         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25165           mpeg2: disable video cropping as picture_display_extension() is missing.
25166           Disable video cropping in MPEG-2 codec because it is partially implemented
25167           and actually because nobody implements it that way, and the standard spec
25168           does not specify the display process either anyway.
25169           Most notably, there are two possible use cases for sequence_display_extension()
25170           horizontal_display_size & vertical_display_size: (i) guesstimating the
25171           pixel-aspect-ratio, or (ii) implement some kind of span & scan process
25172           in conjunction with picture_display_extension() information.
25173           https://bugzilla.gnome.org/show_bug.cgi?id=704848
25174
25175 2013-08-16 16:58:58 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
25176
25177         * gst/vaapi/gstvaapisink.c:
25178         * gst/vaapi/gstvaapisink.h:
25179           vaapisink: allow scaling to ignore aspect ratio.
25180           Other GStreamer sinks, like xvimagesink, have a force-aspect-ratio property,
25181           which allows you to say that you don't want the sink to respect aspect
25182           ratio. Add the same property to vaapisink.
25183           http://lists.freedesktop.org/archives/libva/2012-September/001298.html
25184           Signed-off-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
25185
25186 2013-05-14 15:19:04 +0800  Wind Yuan <feng.yuan@intel.com>
25187
25188         * gst/vaapi/gstvaapisink.c:
25189           vaapisink: fix memory leak of GstVaapiUploader instance.
25190           Make sure gst_vaapisink_ensure_uploader() checks for the existence
25191           of a former GstVaapiUploader instance prior to forcibly creating a
25192           new one.
25193           https://bugzilla.gnome.org/show_bug.cgi?id=703980
25194
25195 2013-07-31 16:49:20 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
25196
25197         * gst/vaapi/gstvaapisink.c:
25198           vaapisink: fix get_caps() implementation for GStreamer 1.0.
25199           Fix GstBaseSink::get_caps() implementation for GStreamer 1.0.X builds
25200           by honouring the filter caps argument. More precisely, this fixes the
25201           following pipeline: gst-launch-1.0 videotestsrc ! vaapisink
25202           https://bugzilla.gnome.org/show_bug.cgi?id=705192
25203           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
25204           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25205
25206 2013-08-26 11:31:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25207
25208         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25209           mpeg4: fix double definition of GstVaapiDecoderMpeg4Class.
25210           This fixes the following issue:
25211           CC     libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo
25212           gstvaapidecoder_mpeg4.c:113: error: redefinition of typedef
25213           'GstVaapiDecoderMpeg4Class'
25214           gstvaapidecoder_mpeg4.c:44: note: previous declaration of
25215           'GstVaapiDecoderMpeg4Class' was here
25216           make[5]: *** [libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo] Error 1
25217           make[5]: Leaving directory
25218           `/builddir/build/BUILD/gstreamer-vaapi-0.5.5.1/gst-libs/gst/vaapi'
25219           https://bugzilla.gnome.org/show_bug.cgi?id=705148
25220
25221 2013-07-30 15:59:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25222
25223         * tests/test-filter.c:
25224           tests: filter: add support for deinterlacing.
25225           Add --deinterlace option to enable deinterlacing through explicit VA/VPP
25226           deinterlacing filter. However, if --deinterlace option is not set but the
25227           --deinterlace-flags option is set with "top-field-first", then the very
25228           basic bob deinterlacing filter is set through VA/VPP proc pipeline flags.
25229
25230 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
25231
25232         * tests/test-filter.c:
25233           tests: filter: add support for denoising and sharpening.
25234           Add --denoise option to enable noise reduction with the level specified
25235           as the option value (float). Likewise, add --sharpen option to enable
25236           sharpening.
25237           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25238
25239 2013-07-24 14:31:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25240
25241         * tests/test-filter.c:
25242           tests: filter: add support for frame cropping.
25243           Add support for frame cropping through the --crop-rect|-c argument.
25244           The format used is either <WIDTH> 'x' <HEIGHT>, with origin at (0,0) ;
25245           or full specification with '('? <X> ',' <Y> ')'? <WIDTH> 'x' <HEIGHT>.
25246
25247 2013-07-23 18:00:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25248
25249         * tests/test-filter.c:
25250           tests: filter: dump supported operations and formats.
25251
25252 2013-07-08 16:54:55 +0800  Zhao Halley <halley.zhao@intel.com>
25253
25254         * tests/Makefile.am:
25255         * tests/test-filter.c:
25256           tests: add initial test for video processing.
25257           Add minimal test case for video processing: scaling and color format
25258           conversion.
25259           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25260
25261 2013-07-29 09:23:50 +0800  Zhao Halley <halley.zhao@intel.com>
25262
25263         * docs/reference/libs/libs-sections.txt:
25264         * gst-libs/gst/vaapi/gstvaapifilter.c:
25265         * gst-libs/gst/vaapi/gstvaapifilter.h:
25266         * gst-libs/gst/vaapi/gstvaapiutils.c:
25267         * gst-libs/gst/vaapi/gstvaapiutils.h:
25268         * gst/vaapi/gstvaapipostproc.c:
25269         * gst/vaapi/gstvaapipostproc.h:
25270           filter: add initial support for deinterlacing.
25271           Add basic deinterlacing support, i.e. bob-deinterlacing whereby only
25272           the selected field from the input surface is kept for the target surface.
25273           Setting gst_vaapi_filter_set_deinterlacing() method argument to
25274           GST_VAAPI_DEINTERLACE_METHOD_NONE means to disable deinterlacing.
25275           Also move GstVaapiDeinterlaceMethod definition from vaapipostproc plug-in
25276           to libgstvaapi core library.
25277           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25278
25279 2013-07-17 17:40:41 +0800  Zhao Halley <halley.zhao@intel.com>
25280
25281         * docs/reference/libs/libs-sections.txt:
25282         * gst-libs/gst/vaapi/gstvaapifilter.c:
25283         * gst-libs/gst/vaapi/gstvaapifilter.h:
25284           filter: add support for color balance adjustment.
25285           Add ProcAmp (color balance) adjustments for hue, saturation, brightness
25286           and contrast. The respective range for each filter shall be the same as
25287           for the VA display attributes.
25288           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25289
25290 2013-07-17 17:37:16 +0800  Zhao Halley <halley.zhao@intel.com>
25291
25292         * docs/reference/libs/libs-sections.txt:
25293         * gst-libs/gst/vaapi/gstvaapifilter.c:
25294         * gst-libs/gst/vaapi/gstvaapifilter.h:
25295           filter: add support for sharpening.
25296           Sharpening is configured with a float value. The supported range is
25297           -1.0 .. 1.0 with 0.0 being the default, and that means no sharpening
25298           operation at all.
25299           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25300
25301 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
25302
25303         * docs/reference/libs/libs-sections.txt:
25304         * gst-libs/gst/vaapi/gstvaapifilter.c:
25305         * gst-libs/gst/vaapi/gstvaapifilter.h:
25306           filter: add support for denoising.
25307           Noise reduction is configured with a float value. The supported range
25308           is 0.0 .. 1.0 with 0.0 being the default, and that means no denoise
25309           operation at all.
25310           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25311
25312 2013-07-24 14:22:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25313
25314         * docs/reference/libs/libs-sections.txt:
25315         * gst-libs/gst/vaapi/gstvaapifilter.c:
25316         * gst-libs/gst/vaapi/gstvaapifilter.h:
25317           filter: add support for frame cropping.
25318           Frame cropping is defined with a GstVaapiRectangle value. The default
25319           behaviour is to treat the source surface as a whole
25320
25321 2013-07-25 13:55:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25322
25323         * gst-libs/gst/vaapi/gstvaapifilter.c:
25324           filter: add helper functions.
25325           Add helper functions to ensure an operation VA buffer is allocated to
25326           the right size; that filter caps get parsed and assigned to the right
25327           operation too; and that float parameters are correctly scaled to fit
25328           the reported range from the VA driver.
25329
25330 2013-07-23 15:52:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25331
25332         * configure.ac:
25333         * docs/reference/libs/libs-docs.xml.in:
25334         * docs/reference/libs/libs-sections.txt:
25335         * gst-libs/gst/vaapi/Makefile.am:
25336         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25337         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
25338         * gst-libs/gst/vaapi/gstvaapifilter.c:
25339         * gst-libs/gst/vaapi/gstvaapifilter.h:
25340           Add initial infrastructure for video processing.
25341           Add initial API for video processing: only scaling and color format
25342           conversion operations are supported.
25343
25344 2013-07-24 11:53:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25345
25346         * gst-libs/gst/vaapi/video-format.c:
25347         * gst-libs/gst/vaapi/video-format.h:
25348           libs: add gst_vaapi_video_format_from_string() helper.
25349           Add gst_vaapi_video_format_from_string() helper function to convert from
25350           a video format string representation to a suitable GstVideoFormat. This
25351           is just an alias to gst_video_format_from_string() for GStreamer 1.0.x
25352           builds, and a proper iteration over all GstVideoFormat string representations
25353           otherwise for earlier GStreamer 0.10.x builds.
25354
25355 2013-07-24 11:37:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25356
25357         * gst-libs/gst/vaapi/video-format.c:
25358         * gst-libs/gst/vaapi/video-format.h:
25359           libs: add gst_vaapi_video_format_from_va_fourcc() helper.
25360           Add gst_vaapi_video_format_from_va_fourcc() helper that converts from a
25361           VA fourcc value to a suitable GstVideoFormat.
25362
25363 2013-07-24 11:41:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25364
25365         * gst-libs/gst/vaapi/gstvaapivalue.c:
25366         * gst-libs/gst/vaapi/gstvaapivalue.h:
25367           libs: add type definitions for GstVaapiPoint and GstVaapiRectangle.
25368           Add helper functions to describe GstVaapiPoint and GstVaapiRectangle
25369           structures as a standard GType. This could be useful to have them
25370           described as a GValue later on.
25371
25372 2013-07-26 13:57:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25373
25374         * docs/reference/libs/libs-docs.xml.in:
25375         * docs/reference/libs/libs-sections.txt:
25376         * gst-libs/gst/vaapi/Makefile.am:
25377         * gst-libs/gst/vaapi/gstvaapicontext.h:
25378         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
25379           libs: drop some public APIs.
25380           Don't expose GstVaapiContext APIs and make them totally private to
25381           libgstvaapi core library. That API would also tend to disappear in
25382           a future revision. Likewise, don't expose GstVaapiDisplayCache API
25383           but keep symbols visible so that the various render backends could
25384           share a common display cache implementation in libgstvaapi.
25385           Try to clean-up the documentation from any stale entry too.
25386
25387 2013-08-23 18:35:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25388
25389         * tests/image.c:
25390         * tests/image.h:
25391           tests: image: allow creation of images with interleaved patterns.
25392           Add image_generate_full() function to create interleaved color rectangles.
25393           If flags is zero, the whole frame is generated with a unique pattern. If
25394           flags is non-zero, then each field is handled individually.
25395
25396 2013-08-23 16:25:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25397
25398         * tests/image.c:
25399           tests: image: fix conversion from RGB to YUV.
25400           Fix RGB to YUV conversion to preserve full data range.
25401
25402 2013-07-26 13:12:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25403
25404         * tests/image.c:
25405           tests: image: try to upload images through vaDeriveImage() too.
25406           On some platforms, vaPutImage() would fail even if it does not involve
25407           color format conversion or scaling, whereas copying raw pixels through
25408           vaDeriveImage() could work instead.
25409
25410 2013-07-26 10:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25411
25412         * tests/image.c:
25413           tests: image: add support for packed YUV formats.
25414           Add support for packed YUV 4:2:2 formats, i.e. YUY2 and UYVY.
25415
25416 2013-07-25 18:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25417
25418         * tests/image.c:
25419           tests: image: fix generation of I420/YV12 images.
25420           U/V planes were reversed, thus producing invalid images.
25421
25422 2013-07-24 13:55:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25423
25424         * tests/image.c:
25425           tests: image: fix string representation for GstVideoFormat.
25426
25427 2013-07-26 12:57:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25428
25429         * docs/reference/libs/libs-sections.txt:
25430         * gst-libs/gst/vaapi/Makefile.am:
25431         * gst-libs/gst/vaapi/gstvaapiimage.c:
25432         * gst-libs/gst/vaapi/gstvaapiimage.h:
25433         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
25434         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25435         * gst-libs/gst/vaapi/gstvaapisurface.c:
25436           image: clean image API up.
25437           Don't expose functions that reference a GstVaapiImageRaw, those are
25438           meant to be internal only for implementing subpictures sync. Also add
25439           a few private definitions to avoid functions calls for retrieving
25440           image size and format information.
25441
25442 2013-07-26 11:43:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25443
25444         * docs/reference/libs/libs-sections.txt:
25445         * gst-libs/gst/vaapi/gstvaapiimage.c:
25446         * gst-libs/gst/vaapi/gstvaapiimage.h:
25447           image: add gst_vaapi_image_copy() helper.
25448           Add gst_vaapi_image_copy() helper function to copy images of same format
25449           and size.
25450
25451 2013-07-22 14:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25452
25453         * gst/vaapi/gstvaapivideoconverter_x11.c:
25454           plugins: handle video cropping in X11 pixmap converter.
25455           Use GstVideoCropMeta in GStreamer 1.0 or any other render rectangle
25456           we could decode from the stream.
25457
25458 2013-07-22 11:58:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25459
25460         * gst/vaapi/Makefile.am:
25461         * gst/vaapi/gstvaapivideobuffer.c:
25462         * gst/vaapi/gstvaapivideoconverter_glx.c:
25463         * gst/vaapi/gstvaapivideoconverter_x11.c:
25464         * gst/vaapi/gstvaapivideoconverter_x11.h:
25465           plugins: add support for "x11-pixmap" video converter type.
25466           Install a new video converter that supports X11 pixmap targets for X11
25467           backends only, or make the GLX converter creation function chain up to
25468           the X11 converter whenever requested.
25469
25470 2013-07-22 09:36:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25471
25472         * tests/simple-decoder.c:
25473           tests: simple-decoder: add support for pixmap API.
25474           Add support for the new render-to-pixmap API. Avoid flickering on
25475           platforms supporting video overlay by keeping up to 2 intermediate
25476           pixmaps.
25477
25478 2013-07-22 09:12:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25479
25480         * tests/simple-decoder.c:
25481           tests: simple-decoder: add support for video cropping.
25482           Handle video cropping information attached to a VA surface proxy.
25483
25484 2013-07-22 09:03:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25485
25486         * tests/output.c:
25487         * tests/output.h:
25488         * tests/test-decode.c:
25489           tests: add support for render-to-pixmap.
25490           Add --pixmap option to test-decode so that to allow copies of VA
25491           surface to an intermediate pixmap and rendering from that pixmap.
25492           Only X11 backends are supported for now.
25493
25494 2013-07-22 09:00:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25495
25496         * configure.ac:
25497         * gst-libs/gst/vaapi/Makefile.am:
25498         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25499         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
25500         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
25501         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
25502           x11: implement pixmap rendering with RENDER extension.
25503           Use hardware accelerated XRenderComposite() function, from the RENDER
25504           extension, to blit a pixmap to screen. Besides, this can also support
25505           cropping and scaling.
25506
25507 2013-07-19 15:05:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25508
25509         * docs/reference/libs/libs-docs.xml.in:
25510         * docs/reference/libs/libs-sections.txt:
25511         * gst-libs/gst/vaapi/Makefile.am:
25512         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25513         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
25514         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
25515         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
25516           x11: implement pixmap API.
25517           Implement the new render-to-pixmap API. The only supported pixmap format
25518           that will work is xRGB, with native byte ordering. Others might work but
25519           they were not tested.
25520
25521 2013-07-22 10:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25522
25523         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
25524         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
25525         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
25526           x11: update x11_get_geometry() helper function with depth output.
25527           Allow x11_get_geometry() utility function to also return the depth
25528           assigned to the X drawable.
25529
25530 2013-07-22 10:00:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25531
25532         * docs/reference/libs/libs-docs.xml.in:
25533         * docs/reference/libs/libs-sections.txt:
25534         * gst-libs/gst/vaapi/Makefile.am:
25535         * gst-libs/gst/vaapi/gstvaapipixmap.c:
25536         * gst-libs/gst/vaapi/gstvaapipixmap.h:
25537         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
25538         * gst-libs/gst/vaapi/gstvaapiwindow.c:
25539         * gst-libs/gst/vaapi/gstvaapiwindow.h:
25540         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
25541           Add initial Pixmap API.
25542           Add API to transfer VA urfaces to native pixmaps. Also add an API to
25543           render a native pixmap, for completeness. In general, rendering to
25544           pixmap would only be useful to certain VA drivers and use cases on
25545           X11 display servers. e.g. GLX_EXT_texture_from_pixmap (TFP) handled
25546           in an upper layer.
25547
25548 2013-07-22 15:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25549
25550         * docs/reference/libs/libs-sections.txt:
25551         * gst-libs/gst/vaapi/gstvaapiimage.c:
25552         * gst-libs/gst/vaapi/gstvaapisurface.c:
25553         * gst-libs/gst/vaapi/video-format.c:
25554         * gst-libs/gst/vaapi/video-format.h:
25555           libs: add and expose gst_vaapi_video_format_to_string() helper.
25556           This is just a wrapper over gst_video_format_to_string() for older
25557           GStreamer 0.10 builds.
25558
25559 2013-07-18 02:54:54 -0300  Emilio López <emilio@elopez.com.ar>
25560
25561         * gst/vaapi/gstvaapipluginutil.c:
25562           plugins: fix display type comparison in gst_vaapi_create_display().
25563           After the code got moved to create the gst_vaapi_create_display() helper,
25564           this comparison was not updated to dereference the newly-created
25565           pointer, so the code was comparing the pointer itself to the type, and
25566           therefore failing to retrieve the VA display.
25567           This fixes the following error (and gets gst-vaapi decoding again):
25568           ERROR vaapidecode gstvaapidecode.c:807:gst_vaapidecode_ensure_allowed_caps: failed to retrieve VA display
25569           https://bugzilla.gnome.org/show_bug.cgi?id=704410
25570           Signed-off-by: Emilio López <emilio@elopez.com.ar>
25571
25572 2013-07-17 11:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25573
25574         * configure.ac:
25575           Bump version for development.
25576
25577 2013-07-15 17:49:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25578
25579         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25580           mpeg2: don't output dummy pictures.
25581           Mark dummy pictures as output already so that we don't try to submit
25582           them to the upper layer since this is purely internal / temporary
25583           picture for helping the decoder.
25584
25585 2013-07-15 17:43:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25586
25587         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25588           decoder: dispose GstVideoCodecFrame earlier.
25589           Once the picture was output, it is no longer necessary to keep an extra
25590           reference to the underlying GstVideoCodecFrame. So, we can release it
25591           earlier, and maybe subsequently release the associate surface proxy
25592           earlier.
25593
25594 2013-07-15 14:47:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25595
25596         * NEWS:
25597         * configure.ac:
25598           0.5.5.
25599
25600 2013-07-15 14:42:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25601
25602         * docs/reference/libs/libs-sections.txt:
25603         * gst-libs/gst/vaapi/Makefile.am:
25604         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25605         * gst-libs/gst/vaapi/gstvaapiimage.c:
25606         * gst-libs/gst/vaapi/gstvaapisurface.c:
25607         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
25608         * gst-libs/gst/vaapi/video-format.c:
25609         * gst-libs/gst/vaapi/video-format.h:
25610         * gst/vaapi/gstvaapidownload.c:
25611         * gst/vaapi/gstvaapiuploader.c:
25612         * tests/image.c:
25613         * tests/test-display.c:
25614           Fix new video format API.
25615           Fix new internal video format API, based on GstVideoFormat, to not
25616           clobber with system symbols. So replace the gst_video_format_* prefix
25617           with gst_vaapi_video_format_ prefix, even if the format type remains
25618           GstVideoFormat.
25619
25620 2013-07-15 14:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25621
25622         * configure.ac:
25623           Bump library major version.
25624           Bump the library major version due to API/ABI changes that occurred in
25625           the imaging API. In particular, GstVaapiImageFormat type was replaced
25626           with the standard GstVideoFormat type. All dependent APIs were updated
25627           to match this change.
25628
25629 2013-07-15 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25630
25631         * NEWS:
25632           NEWS: updates.
25633
25634 2013-06-11 15:11:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25635
25636         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25637         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25638           decoder: fix memory leak when processing interlaced pictures.
25639           Fix memory leak when processing interlaced pictures and that occurs
25640           because the first field, represented as a GstVideoCodecFrame, never
25641           gets released. i.e. when the picture is completed, this is generally
25642           the case when the second field is successfully decoded, we need to
25643           propagate the GstVideoCodecFrame of the first field to the original
25644           GstVideoDecoder so that it could reclaim memory.
25645           Otherwise, we keep accumulating the first fields into GstVideoDecoder
25646           private frames list until the end-of-stream is reached. The frames
25647           are eventually released there, but too late, i.e. too much memory
25648           may have been consumed.
25649           https://bugzilla.gnome.org/show_bug.cgi?id=701257
25650
25651 2013-07-15 11:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25652
25653         * gst/vaapi/gstvaapipluginutil.c:
25654           plugins: simlpify gst_vaapi_create_display() helper.
25655           Simplify gst_vaapi_create_display() helper as gst_vaapi_display_XXX_new()
25656           performs the necessary validation checks for the underlying VA display
25657           prior to returning to the caller. So, if an error occurred, then NULL is
25658           really returned in that case.
25659
25660 2013-05-24 05:04:01 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25661
25662         * gst/vaapi/gstvaapipluginutil.c:
25663           plugins: add gst_vaapi_create_display() helper.
25664           https://bugzilla.gnome.org/show_bug.cgi?id=703235
25665           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25666
25667 2013-07-12 17:47:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25668
25669         * gst/vaapi/gstvaapivideobufferpool.c:
25670           plugins: don't reallocate pool allocator for the same caps.
25671           If the video buffer pool config doesn't have new caps, then it's not
25672           necessary to reinstantiate the allocator. That could be a costly
25673           operation as we could do some extra heavy checking in there.
25674
25675 2013-07-12 17:14:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25676
25677         * gst/vaapi/gstvaapivideomemory.c:
25678           plugins: fix ref counting of GstVaapiVideoMemory allocator.
25679           Fix reference counting issue whereby gst_memory_init() does not hold
25680           an extra reference to the GstAllocator. So, there could be situations
25681           where the last instance of GstVaapiVideoAllocator gets released before
25682           a dangling GstVaapiVideoMemory object, thus possibly leading to a crash.
25683
25684 2013-07-12 15:15:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25685
25686         * gst/vaapi/gstvaapiuploader.c:
25687           vaapiupload: use implicit color conversion to NV12.
25688           Always perform conversion of sources buffers to NV12 since this is
25689           the way we tested for this capability in ensure_allowed_caps(). This
25690           also saves memory bandwidth for further rendering. However, this may
25691           not preserve quality since the YUV buffers are down-sampled to 4:2:0.
25692
25693 2013-07-12 15:01:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25694
25695         * gst-libs/gst/vaapi/gstvaapivideopool.c:
25696           pool: fix deallocation of video pools.
25697           The queue of free objects to used was deallocated with g_queue_free_full().
25698           However, this convenience function shall only be used if the original queue
25699           was allocated with g_queue_new(). This caused memory corruption, eventually
25700           leading to a crash.
25701           The correct solution is to pair the g_queue_init() with the corresponding
25702           g_queue_clear(), while iterating over all free objects to deallocate them.
25703
25704 2013-03-13 17:44:52 +0800  Wind Yuan <feng.yuan@intel.com>
25705
25706         * gst/vaapi/gstvaapidownload.c:
25707           vaapidownload: fix src caps format error.
25708           This fixes direct linking of vaapidownload element to xvimagesink with
25709           VA drivers supporting vaGetImage() from the native VA surface format to
25710           a different VA image format. i.e. color conversion during download.
25711           http://bugzilla.gnome.org/show_bug.cgi?id=703937
25712           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25713
25714 2013-07-11 18:26:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25715
25716         * gst/vaapi/gstvaapidownload.c:
25717           vaapidownload: fix debug string for image formats.
25718           The image is now expressed as a standard GstVideoFormat, which is not
25719           a FOURCC but rather a regular enum value.
25720           This is a regression introduced in commit 09397fa.
25721
25722 2013-04-24 10:39:03 +0800  Wind Yuan <feng.yuan@intel.com>
25723
25724         * gst-libs/gst/vaapi/gstvaapiimage.c:
25725           image: add support for raw YUY2/UYVY image copies.
25726           Implement raw image copies for YUY2 format. Add support for UYVY format
25727           too, with the same copy function as for YUY2. Even though components
25728           ordering differs, copying line strides is essentially the same.
25729           https://bugzilla.gnome.org/show_bug.cgi?id=703939
25730           https://bugzilla.gnome.org/show_bug.cgi?id=703940
25731           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25732
25733 2013-07-10 15:15:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25734
25735         * gst/vaapi/gstvaapiuploader.c:
25736           plugins: clean-up video uploader helper.
25737           Fix gst_vaapi_uploader_get_buffer() to not assign caps since they
25738           were already negotiated beforehand, and they are not used from the
25739           buffer in upstream elements.
25740           Clean-up gst_vaapi_uploader_ensure_caps() to use the new image caps
25741           represented as a GstVideoInfo.
25742
25743 2013-07-10 15:03:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25744
25745         * gst/vaapi/gstvaapiuploader.c:
25746           plugins: use GstVideoInfo in video uploader helper.
25747
25748 2013-07-10 10:34:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25749
25750         * gst/vaapi/gstvaapivideomemory.c:
25751           plugins: allow creation of VA surfaces with explicit pixel format.
25752           Adapt GstVaapiVideoMemory allocator to support creation of VA surfaces
25753           with an explicit pixel format. This allows for direct rendering to
25754           VA surface memory from a software decoder.
25755
25756 2013-07-10 14:20:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25757
25758         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
25759           surface: fix surface pool creation with an explicit pixel format.
25760           Fix creation of surface pool objects to honour explicit pixel format
25761           specification. If this operation is not supported, then fallback to
25762           the older interface with chroma format.
25763
25764 2013-07-10 13:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25765
25766         * gst-libs/gst/vaapi/gstvaapisurface.c:
25767           surface: try to determine the underlying VA surface format.
25768           If a VA surface was allocated with the chroma-format interface, try to
25769           determine the underlying pixel format on gst_vaapi_surface_get_format(),
25770           or return GST_VIDEO_FORMAT_ENCODED if this is not a supported operation.
25771
25772 2013-07-09 19:08:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25773
25774         * docs/reference/libs/libs-sections.txt:
25775         * gst-libs/gst/vaapi/gstvaapisurface.c:
25776         * gst-libs/gst/vaapi/gstvaapisurface.h:
25777         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
25778           surface: allow creation with explicit pixel format.
25779           Make it possible to create VA surfaces with a specific pixel format.
25780           This is a new capability brought in by VA-API >= 0.34.0. If that
25781           capability is not built-in (e.g. using VA-API < 0.34.0), then
25782           gst_vaapi_surface_new_with_format() will return NULL.
25783
25784 2013-07-10 09:48:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25785
25786         * docs/reference/libs/libs-sections.txt:
25787         * gst-libs/gst/vaapi/video-format.c:
25788         * gst-libs/gst/vaapi/video-format.h:
25789           surface: add helper function to get chroma type from GstVideoFormat.
25790           Add gst_video_format_get_chroma_type() helper function to determine
25791           the GstVaapiChromaType from a standard GStreamer video format. It is
25792           possible to reconstruct that from GstVideoFormatInfo but it is much
25793           simpler (and faster?) to use the local GstVideoFormatMap table.
25794
25795 2013-07-09 19:13:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25796
25797         * gst-libs/gst/vaapi/gstvaapisurface.c:
25798         * gst-libs/gst/vaapi/gstvaapisurface.h:
25799         * gst-libs/gst/vaapi/gstvaapiutils.c:
25800         * gst-libs/gst/vaapi/gstvaapiutils.h:
25801           surface: add new chroma formats.
25802           Add new chroma formats available with VA-API >= 0.34.0. In particular,
25803           this includes "RGB" chroma formats, and more YUV subsampled formats.
25804           Also add a new from_GstVaapiChromaType() helper function to convert
25805           libgstvaapi chroma type to VA chroma format.
25806
25807 2013-07-10 13:32:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25808
25809         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
25810           pool: fix image pool to check for the video format to use.
25811           Make gst_vaapi_image_pool_new() succeed, and thus returning a valid
25812           image pool object, only if the underlying VA display does support the
25813           requested VA image format.
25814
25815 2013-07-10 13:07:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25816
25817         * gst-libs/gst/vaapi/gstvaapicontext.c:
25818         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
25819         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
25820         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
25821         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
25822         * gst-libs/gst/vaapi/gstvaapivideopool.h:
25823         * gst/vaapi/gstvaapidownload.c:
25824         * gst/vaapi/gstvaapiuploader.c:
25825         * tests/Makefile.am:
25826         * tests/test-surfaces.c:
25827           Use GstVideoInfo for video pools.
25828           Get rid of GstCaps to create surface/image pool, and use GstVideoInfo
25829           structures instead. Those are smaller, and allows for streamlining
25830           libgstvaapi more.
25831
25832 2013-07-09 18:03:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25833
25834         * gst-libs/gst/vaapi/gstvaapiimage.c:
25835         * gst-libs/gst/vaapi/video-format.c:
25836           Add more video formats.
25837           Add new video format mappings to VA image formats:
25838           - YUV: packed YUV (YUY2, UYVY), grayscale (Y800) ;
25839           - RGB: 32-bit RGB without alpha channel (XRGB, XBGR, RGBX, BGRX).
25840
25841 2013-07-10 15:52:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25842
25843         * gst-libs/gst/vaapi/gstvaapiimage.c:
25844           image: fix debug message with video format.
25845           Fix debug message string with image format expressed with GstVideoFormat
25846           instead of the obsolete format that turned out to be a fourcc.
25847           This is a regression from git commit e61c5fc.
25848
25849 2013-07-09 15:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25850
25851         * tests/image.c:
25852         * tests/image.h:
25853         * tests/test-display.c:
25854         * tests/test-textures.c:
25855         * tests/test-windows.c:
25856           tests: port to new video format API.
25857
25858 2013-07-09 15:44:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25859
25860         * gst/vaapi/gstvaapidownload.c:
25861         * gst/vaapi/gstvaapiuploader.c:
25862         * gst/vaapi/gstvaapivideomemory.c:
25863           plugins: port to new video format API.
25864
25865 2013-07-09 16:26:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25866
25867         * gst-libs/gst/vaapi/gstvaapiimage.c:
25868           libs: use GstVideoInfo wherever possible.
25869           In particular, use gst_video_info_from_caps() helper function in VA image
25870           for implementating gst_vaapi_image_get_buffer() [vaapidownload] and
25871           gst_vaapi_image_update_from_buffer() [subpictures] in GStreamer 0.10 builds.
25872
25873 2013-07-09 16:38:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25874
25875         * docs/reference/libs/libs-docs.xml.in:
25876         * docs/reference/libs/libs-sections.txt:
25877         * gst-libs/gst/vaapi/Makefile.am:
25878         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
25879         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
25880           libs: drop GstVaapiImageFormat helpers.
25881           Drop GstVaapiImageFormat helpers since everything was moved to the new
25882           GstVideoFormat based API. Don't bother with backwards compatibility and
25883           just bump the library major version afterwards.
25884
25885 2013-07-09 14:03:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25886
25887         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25888         * gst-libs/gst/vaapi/gstvaapidisplay.h:
25889         * gst-libs/gst/vaapi/gstvaapiimage.c:
25890         * gst-libs/gst/vaapi/gstvaapiimage.h:
25891         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
25892         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25893           libs: port to new video format API.
25894
25895 2013-07-09 15:29:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25896
25897         * docs/reference/libs/libs-docs.xml.in:
25898         * docs/reference/libs/libs-sections.txt:
25899         * gst-libs/gst/vaapi/Makefile.am:
25900         * gst-libs/gst/vaapi/video-format.c:
25901         * gst-libs/gst/vaapi/video-format.h:
25902           Add new video format API.
25903           Leverage GstVideoFormat utilities from core GStreamer to provide an
25904           adaptation layer to VA image formats.
25905
25906 2013-07-09 11:13:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25907
25908         * NEWS:
25909           NEWS: updates.
25910
25911 2013-07-08 18:32:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25912
25913         * gst/vaapi/gstvaapisink.c:
25914           vaapisink: fix creation of GLX texture.
25915           Fix creation of GLX texture, to not depend on the GstCaps video size that
25916           could be wrong, especially in presence of frame cropping. So, use the size
25917           from the source VA surfaces.
25918           An optimization could be to reduce the texture size to the actual visible
25919           size on screen. i.e. scale down the texture size to match the screen dimensions,
25920           while preserving the VA surface aspect ratio. However, some VA drivers don't
25921           honour that.
25922
25923 2013-02-18 16:28:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25924
25925         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25926           mpeg2: add support for video cropping.
25927           If the stream has a sequence_display_extenion, then attach the
25928           display_horizontal/display_vertical dimension as the cropping
25929           rectangle width/height to the GstVaapiPicture.
25930           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25931
25932 2013-02-18 15:05:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25933
25934         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
25935           vc1: add support for video cropping.
25936           If the Advanced profile has display_extension fields, then set the display
25937           width/height dimension as cropping rectangle to the GstVaapiPicture.
25938           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25939
25940 2013-02-15 18:50:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25941
25942         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
25943           h264: add support for video cropping.
25944           If the encoded stream has the frame_cropping_flag set, then associate
25945           the cropping rectangle to GstVaapiPicture.
25946           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25947
25948 2013-07-08 17:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25949
25950         * tests/decoder.c:
25951         * tests/decoder.h:
25952         * tests/test-decode.c:
25953         * tests/test-subpicture.c:
25954           tests: add basic support for video cropping.
25955           Change generic decoder of sample I-frame to return a GstVaapiSurfaceProxy
25956           instead of a plain GstVaapiSurface. This means that we can now retrieve
25957           the frame cropping rectangle from the surface proxy, along with additional
25958           information if ever needed.
25959
25960 2013-07-08 14:50:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25961
25962         * gst/vaapi/gstvaapidecode.c:
25963         * gst/vaapi/gstvaapisink.c:
25964         * gst/vaapi/gstvaapivideometa.c:
25965           plugins: add support for video cropping.
25966           Add support for GstVideoCropMeta in GStreamer >= 1.0.x builds and gst-vaapi
25967           specific meta information to hold video cropping details. Make the sink
25968           support video cropping in X11 and GLX modes.
25969
25970 2013-02-15 18:24:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25971
25972         * gst/vaapi/gstvaapivideometa.c:
25973         * gst/vaapi/gstvaapivideometa.h:
25974           plugins: add helper functions to set the render rectangle.
25975           Some video clips may have a clipping region that needs to propogate to
25976           the renderer. These helper functions make it possible to attach that
25977           clipping region, as a GstVaapiRectangle, the the video meta associated
25978           with the buffer.
25979           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25980           signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25981
25982 2013-07-08 14:47:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25983
25984         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25985         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
25986           surfaceproxy: allow for NULL cropping rectangle.
25987           Make it possible associate an empty cropping rectangle to the surface
25988           proxy, thus resetting any cropping rectangle that was previously set.
25989           This allows for returning plain NULL when no cropping rectangle was
25990           initially set up to the surface proxy, or if it was reset to defaults.
25991
25992 2013-07-08 11:41:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25993
25994         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
25995           surfaceproxy: clean-up helper macros.
25996           Always use the GST_VAAPI_SURFACE_PROXY() helper macro to cast from a
25997           proxy macro argument to a GstVaapiSurfaceProxy pointer.
25998
25999 2013-07-08 11:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26000
26001         * gst-libs/gst/vaapi/gstvaapisurface.c:
26002         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
26003         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26004         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26005           surface: add simple surface info accessors as helper macros.
26006           Add helper macros to retrieve the VA surface information like size
26007           (width, height) or chroma type. This is a micro-optimization to avoid
26008           useless function calls and NULL pointer re-checks in internal routines.
26009
26010 2013-02-15 18:42:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26011
26012         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26013         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26014         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26015         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26016         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
26017           decoder: add support for video cropping.
26018           Add gst_vaapi_picture_set_crop_rect() helper function to copy the video
26019           cropping information from raw bitstreams to each picture being decoded.
26020           Also add helper function to surface proxy to propagate that information
26021           outside of libgstvaapi. e.g. plug-in elements or standalone applications.
26022           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26023           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26024
26025 2013-07-08 17:30:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26026
26027         * ext/codecparsers:
26028           codecparsers: update to gst-vaapi-branch commit f90de0a.
26029           f90de0a h264: fix calculation of the frame cropping rectangle
26030           535515c h264: parse the cropping rectangle separately
26031
26032 2013-07-05 19:03:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26033
26034         * ext/codecparsers:
26035           codecparsers: update to gst-vaapi-branch commit 0f68a71.
26036           0f68a71 mpeg2: fix video packet header size checks
26037
26038 2013-06-07 20:08:43 +0800  Zhong Cong <congx.zhong@intel.com>
26039
26040         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26041           mpeg2: reset quantization matrices on new sequence headers.
26042           The MPEG-2 standard specifies (6.3.7) that all quantisation matrices
26043           shall be reset to their default values when a Sequence_Header() is
26044           decoded.
26045           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26046
26047 2013-07-05 15:49:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26048
26049         * configure.ac:
26050         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26051           mpeg2: cope with latest codecparser changes.
26052           Fix build with newer MPEG-2 codecparser where GstMpegVideoPacket are
26053           used in individual header parsers. Also use the new slice parsing API.
26054
26055 2013-07-05 17:51:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26056
26057         * ext/codecparsers:
26058           codecparsers: update to gst-vaapi-branch commit dddd182.
26059           dddd182 mpeg2: add slice header parsing API
26060           94e6228 mpeg2: add sequence scalable extension parsing API
26061           531134f mpeg2: add new API that takes GstMpegVideoPacket arguments
26062           4b135d3 h264: fix the return value type for the SEI palyload parsing methods
26063
26064 2013-06-27 12:25:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26065
26066         * gst/vaapi/gstvaapisink.c:
26067           vaapisink: expose the raw video formats in static caps template.
26068           Expose all raw video formats in the static caps template since the
26069           vaapisink is supporting raw data. We will get the exact set of formats
26070           supported by the driver dynamically through the _get_caps() routine.
26071           This also fixes an inconsistency wrt. GStreamer 0.10 builds.
26072           https://bugzilla.gnome.org/show_bug.cgi?id=702178
26073           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26074
26075 2013-06-27 13:53:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26076
26077         * gst/vaapi/gstvaapisink.c:
26078         * gst/vaapi/gstvaapisink.h:
26079           vaapisink: add "use-glx" property for OpenGL rendering.
26080           Now that VA/GLX capable buffers are generated by default on X11, thus
26081           depending on a VA/GLX display, we stil want to use vaPutSurface() for
26082           rendering since it is faster.
26083           Anyway, OpenGL rendering in vaapisink was only meant for testing and
26084           enabling "fancy" effects to play with. This has no real value. So,
26085           disable OpenGL rendering by default.
26086
26087 2013-06-06 05:36:03 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
26088
26089         * gst/vaapi/gstvaapipluginutil.c:
26090           plugins: try to allocate a GLX display first over an X11 one.
26091           If the gstreamer-vaapi plug-in elements are built with GLX support, then
26092           try to allocate a GstVaapiDisplayGLX first before resorting to a VA/X11
26093           display next.
26094           https://bugzilla.gnome.org/show_bug.cgi?id=701742
26095
26096 2013-04-25 17:07:13 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
26097
26098         * configure.ac:
26099           configure: use GST_PLUGIN_PATH_1_0 instead of GST_PLUGIN_PATH for Gst 1.0.
26100           jhbuild sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH.
26101           https://bugzilla.gnome.org/show_bug.cgi?id=698858
26102           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26103
26104 2013-04-27 15:15:49 +0800  Wind Yuan <feng.yuan@intel.com>
26105
26106         * gst-libs/gst/vaapi/gstvaapiimage.c:
26107           image: fix wrong check for rect bounds in copy_image().
26108
26109 2013-06-14 13:41:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26110
26111         * configure.ac:
26112           Bump version for development.
26113
26114 2013-06-14 11:47:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26115
26116         * NEWS:
26117         * configure.ac:
26118           0.5.4.
26119
26120 2013-06-14 11:43:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26121
26122         * NEWS:
26123           NEWS: updates.
26124
26125 2013-06-14 11:39:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26126
26127         * configure.ac:
26128         * gst-libs/gst/codecparsers/Makefile.am:
26129           configure: always build the MPEG-4 parser.
26130           Always build the MPEG-4 parser for now as there are also core fixes
26131           included in the parser that cannot be tested for with API checks.
26132
26133 2013-06-14 11:32:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26134
26135         * configure.ac:
26136           configure: add --enable-builtin-codecparsers [default="yes"] option.
26137           Add flag to have all codecparsers built-in, thus ensuring that the
26138           resulting binaries have all the necessary bug fixes and this is what
26139           the QA has been testing anyway.
26140           Of course, for a completely up-to-date Linux distribution, you could
26141           also opt for --disable-builtin-codecparsers and use the system ones.
26142           Though, some core fixes could be missing, and those cannot be tested
26143           for with API checks.
26144
26145 2013-06-14 11:14:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26146
26147         * ext/codecparsers:
26148           codecparsers: update to gst-vaapi-branch commit 843ce3e.
26149           843ce3e jpeg: fix default Huffman tables generation.
26150           8655187 mpeg2: fix the pixel-aspect-ratio calculation
26151           21099dc mpeg2: actually store video bitrate values
26152           dd02087 mpeg2: fix picture packet extension size check
26153           25948e9 mpeg2: increase min size for picture coding ext
26154           f1f5a40 ensure the debug category is properly initialized
26155
26156 2013-06-12 14:16:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26157
26158         * debian.upstream/Makefile.am:
26159           debian: fix list of generated files for .deb packaging.
26160
26161 2013-06-12 13:48:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26162
26163         * configure.ac:
26164         * debian.upstream/Makefile.am:
26165         * debian.upstream/control.in:
26166           debian: fix libgstvaapi -dev package name.
26167           Fix libgstvaapi -dev package name so that to allow installation of both
26168           GStreamer 0.10 and 1.0.x based packages.
26169
26170 2013-06-05 17:42:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26171
26172         * NEWS:
26173           NEWS: updates.
26174
26175 2013-05-31 11:09:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26176
26177         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26178           wayland: fix memory leak of display resources.
26179
26180 2013-06-04 07:14:22 +0800  Zhao Halley <halley.zhao@intel.com>
26181
26182         * gst/vaapi/gstvaapisink.c:
26183           vaapisink: fix build without VA/GLX support.
26184
26185 2013-06-05 11:01:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26186
26187         * gst/vaapi/gstvaapivideomemory.c:
26188         * gst/vaapi/gstvaapivideomemory.h:
26189           plugins: allow buffer mappings to GstVaapiSurfaceProxy.
26190           Allow plain gst_buffer_map() interface to work with gstreamer-vaapi
26191           video buffers, i.e. expose the underlying GstVaapiSurfaceProxy to the
26192           caller. This is the only sensible enough thing to do in this mode as
26193           the underlying surface pixels need to be extracted through an explicit
26194           call to the gst_video_frame_map() function instead.
26195           A possible use-case of this is to implement a "handoff" signal handler
26196           to fakesink or identity element for further processing.
26197
26198 2013-06-03 10:22:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26199
26200         * gst/vaapi/gstvaapivideomemory.c:
26201           plugins: silence check for direct-rendering mode in video memory.
26202           Fix gst_vaapi_video_allocator_new() to silently check for direct-rendering
26203           mode support, and not trigger fatal-criticals if either test surface or
26204           image could not be created. Typical case: pixel format mismatch, e.g. NV12
26205           supported by most hardware vs. I420 supported by most software decoders.
26206
26207 2013-06-03 10:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26208
26209         * gst/vaapi/gstvaapivideomemory.c:
26210           plugins: improve video memory flags safety checks.
26211           On map, ensure we have GST_MAP_WRITE flags since this is only what we
26212           support for now. Likewise, on unmap, make sure that the VA image is
26213           unmapped for either read or write, while still committing it to the
26214           VA surface if write was requested.
26215
26216 2013-05-30 18:17:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26217
26218         * gst-libs/gst/vaapi/gstvaapisurface.c:
26219           surface: fix memory leak through unreleased parent context.
26220           Break the circular references between GstVaapiContext and its children
26221           GstVaapiSurfaces. Since the VA surfaces held an extra reference to the
26222           context, which holds a reference to its VA surfaces, then none of those
26223           were released.
26224           How does this impact support for subpictures?
26225           The only situation when the parent context needs to disappear is when
26226           it is replaced with another one because of a resolution change in the
26227           video stream for instance, or a normal destroy. In this case, it does
26228           not really matter to apply subpictures to the peer surfaces since they
26229           are either gone, or those that are left in the pipe can probably bear
26230           a reinstantiation of the subpictures for it.
26231           So, parent_context is set to NULL when the parent context is destroyed,
26232           other VA surfaces can still get subpictures attached to them, individually
26233           not as a whole. i.e. subpictures for surface S1 will be created from
26234           active composition buffers and associated to S1, subpictures for S2 will
26235           be created from the next active composition buffers, etc. We don't try
26236           to cache the subpictures in those cases (pending surfaces until EOS
26237           is reached, or pending surfaces until new surfaces matching new VA context
26238           get to be used instead).
26239
26240 2013-05-27 14:01:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26241
26242         * gst/vaapi/gstvaapisink.c:
26243           vaapisink: fix one-time initialization when display property is set.
26244           Fix gst_vaapisink_ensure_display() to perform one-time initialization
26245           tasks even if the `display' property was explicitly set.
26246
26247 2013-05-27 15:59:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26248
26249         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26250           window: fix GLX window initialization.
26251           Make sure to create the GLX context once the window object has completed
26252           its creation. Since gl_resize() relies on the newly created window size,
26253           then we cannot simply overload the GstVaapiWindowClass::create() hook.
26254           So, we just call into gst_vaapi_window_glx_ensure_context() once the
26255           window object is created in the gst_vaapi_window_glx_new*() functions.
26256
26257 2013-05-27 17:18:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26258
26259         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26260         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
26261         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
26262         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26263         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26264         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
26265         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26266         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26267         * gst-libs/gst/vaapi/gstvaapitexture.c:
26268         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
26269         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26270         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
26271         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26272           display: validate display types.
26273
26274 2013-05-27 16:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26275
26276         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26277         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26278         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26279           display: drop internal NAME_PREFIX, store the real display name.
26280           Always store a valid display name/device path, instead of adding a
26281           particular prefix. i.e. make it simply a strdup(), or "" if it was
26282           initially NULL.
26283
26284 2013-05-27 13:17:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26285
26286         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26287         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26288         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26289         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26290         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26291         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26292         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
26293           display: make it possible to lookup the display cache by type.
26294           Make it possible to add extra an extra filter to most of display cache
26295           lookup functions so that the GstVaapiDisplay instance can really match
26296           a compatible and existing display by type, instead of relying on extra
26297           string tags (e.g. "X11:" prefix, etc.).
26298
26299 2013-05-24 16:19:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26300
26301         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26302         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26303         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26304           display: cope with new display cache API.
26305
26306 2013-05-24 16:12:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26307
26308         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26309         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
26310           display: rework display cache API.
26311           Simplify display cache API, while making it more flexible. We can now create
26312           custom lookup functions with gst_vaapi_display_cache_lookup_custom().
26313
26314 2013-05-24 15:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26315
26316         * tests/test-display.c:
26317           tests: improve check for display cache.
26318           Improve check for display cache infrastructure. In particular, for X11 and
26319           GLX backends, we need to make sure that we can create a GstVaapiDisplayX11
26320           from another GstVaapiDisplayGLX, i.e. underlying X11 and VA displays can be
26321           shared. Besides, allocating a GstVaapiDisplayGLX while a GstVaapiDisplayX11
26322           already exists will have to generate different VA displays.
26323
26324 2013-05-15 10:33:16 +0800  Zhao Halley <halley.zhao@intel.com>
26325
26326         * gst/vaapi/gstvaapiuploader.c:
26327           uploader: fix memory leak in GStreamer 0.10 builds.
26328           In GStreamer 0.10 builds, gst_vaapi_uploader_get_buffer() was used
26329           but it exhibited a memory leak because the surface generated for the
26330           GstVaapiVideoMeta totally lost its parent video pool. So, it was not
26331           possible to release that surface back to the parent pool when the meta
26332           gets released, and the memory consumption kept growing.
26333           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26334
26335 2013-05-23 18:56:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26336
26337         * gst/vaapi/gstvaapivideometa.c:
26338           plugins: fix gst_vaapi_video_meta_new_from_pool().
26339           Since GST_VAAPI_IS_xxx_VIDEO_POOL() was only testing for NULL and not
26340           the underlying object type, the gst_vaapi_video_meta_new_from_pool()
26341           was hereby totally broken. Fixed this regression by using the newly
26342           provided gst_vaapi_video_pool_get_object_type() function.
26343
26344 2013-05-23 18:22:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26345
26346         * gst/vaapi/gstvaapiuploader.c:
26347         * gst/vaapi/gstvaapivideomemory.c:
26348         * gst/vaapi/gstvaapivideometa.c:
26349           plugins: cope with GST_VAAPI_IS_xxx() macros removal.
26350
26351 2013-05-23 18:19:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26352
26353         * tests/decoder.c:
26354           tests: cope with GST_VAAPI_IS_xxx() macros removal.
26355
26356 2013-05-23 18:45:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26357
26358         * docs/reference/libs/libs-sections.txt:
26359         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26360         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26361         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26362         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26363         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
26364           libs: add query for GstVaapiVideoPool object types.
26365           Add API to identify the underlying GstVaapiVideoPool object type.
26366
26367 2013-05-23 18:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26368
26369         * docs/reference/libs/libs-sections.txt:
26370         * gst-libs/gst/vaapi/gstvaapicontext.c:
26371         * gst-libs/gst/vaapi/gstvaapicontext.h:
26372         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26373         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26374         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26375         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26376         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26377         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
26378         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26379         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26380         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
26381         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26382         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26383         * gst-libs/gst/vaapi/gstvaapiimage.c:
26384         * gst-libs/gst/vaapi/gstvaapiimage.h:
26385         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26386         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26387         * gst-libs/gst/vaapi/gstvaapiobject.c:
26388         * gst-libs/gst/vaapi/gstvaapiobject.h:
26389         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26390         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26391         * gst-libs/gst/vaapi/gstvaapisurface.c:
26392         * gst-libs/gst/vaapi/gstvaapisurface.h:
26393         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26394         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26395         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26396         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
26397         * gst-libs/gst/vaapi/gstvaapitexture.c:
26398         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26399         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26400         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26401         * gst-libs/gst/vaapi/gstvaapiwindow.h:
26402         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
26403         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26404         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26405         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
26406           libs: drop GST_VAAPI_IS_xxx() helper macros.
26407           Drop obsolete GST_VAAPI_IS_xxx() helper macros since we are no longer
26408           deriving from GObject and so those were only checking for whether the
26409           argument was NULL or not. This is now irrelevant, and even confusing
26410           to some extent, because we no longer have type checking.
26411           Note: this incurs more type checking (review) but the libgstvaapi is
26412           rather small, so this is manageable.
26413
26414 2013-05-07 18:52:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26415
26416         * configure.ac:
26417           Bump library major version.
26418           The whole libgstvaapi libraries got a major refresh to get rid of GObject.
26419           This is a fundamental change that requires a new SONAME. More changes are
26420           underway to streamline the core libraries.
26421           So far, the net result is a reduction of .text size (code) by 32KB, i.e. -10%.
26422           On one particular test (sintel HD trailer), the total number of executed
26423           instruction was reduced by 8%.
26424
26425 2013-05-07 18:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26426
26427         * docs/reference/libs/Makefile.am:
26428         * docs/reference/libs/libs-docs.xml.in:
26429         * docs/reference/libs/libs-sections.txt:
26430         * docs/reference/libs/libs.core.types:
26431         * docs/reference/libs/libs.glx.types:
26432         * docs/reference/libs/libs.x11.types:
26433           docs: cope with removed APIs.
26434           Some APIs are dead because they are no longer based on GObject.
26435
26436 2013-05-06 14:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26437
26438         * gst/vaapi/gstvaapidecode.c:
26439         * gst/vaapi/gstvaapidownload.c:
26440         * gst/vaapi/gstvaapipluginutil.c:
26441         * gst/vaapi/gstvaapipostproc.c:
26442         * gst/vaapi/gstvaapisink.c:
26443         * gst/vaapi/gstvaapiupload.c:
26444         * gst/vaapi/gstvaapiuploader.c:
26445         * gst/vaapi/gstvaapivideobufferpool.c:
26446         * gst/vaapi/gstvaapivideoconverter_glx.c:
26447         * gst/vaapi/gstvaapivideomemory.c:
26448         * gst/vaapi/gstvaapivideometa.c:
26449           plugins: cope with new GstVaapiMiniObject objects.
26450
26451 2013-05-07 11:45:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26452
26453         * tests/decoder.c:
26454         * tests/image.c:
26455         * tests/output.c:
26456         * tests/simple-decoder.c:
26457         * tests/test-decode.c:
26458         * tests/test-display.c:
26459         * tests/test-subpicture.c:
26460         * tests/test-surfaces.c:
26461         * tests/test-textures.c:
26462         * tests/test-windows.c:
26463           tests: cope with new GstVaapiMiniObject objects.
26464
26465 2013-05-07 15:38:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26466
26467         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26468           display: fix set_synchronous() to lock display.
26469
26470 2013-05-03 19:02:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26471
26472         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26473         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26474           videopool: simplify creation of video objects pool.
26475
26476 2013-05-07 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26477
26478         * gst-libs/gst/vaapi/gstvaapiobject.c:
26479         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26480         * gst-libs/gst/vaapi/gstvaapitypes.h:
26481           libs: simplify GstVaapiID definitions.
26482           Make GstVaapiID a gsize instead of guessing an underlying integer large
26483           enough to hold all bits of a pointer. Also drop GST_VAAPI_ID_NONE since
26484           this is plain zero and that it is no longer passed as varargs.
26485
26486 2013-05-02 16:11:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26487
26488         * gst-libs/gst/vaapi/Makefile.am:
26489         * gst-libs/gst/vaapi/gstvaapi_priv.h:
26490         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
26491         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
26492         * gst-libs/gst/vaapi/gstvaapivalue.c:
26493         * gst-libs/gst/vaapi/gstvaapivalue.h:
26494           libs: drop obsolete function helpers and objects.
26495           Drop obsolete GstVaapiID related function helpers for passing them as
26496           GValues.
26497
26498 2013-05-07 11:39:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26499
26500         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26501         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26502         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26503         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26504         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
26505         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
26506         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26507         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26508         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
26509         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26510         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26511         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
26512         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
26513         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26514         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26515         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26516         * gst-libs/gst/vaapi/gstvaapiobject.c:
26517         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26518           libs: use GstVaapiMiniObject for display objects.
26519
26520 2013-05-06 14:07:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26521
26522         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26523         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26524         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26525         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26526         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
26527         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
26528         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
26529         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26530         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
26531         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26532         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
26533         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26534         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26535         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26536         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
26537           libs: use GstVaapiMiniObject for video decoders.
26538           Port GstVaapiDecoder and GstVaapiDecoder{MPEG2,MPEG4,JPEG,H264,VC1} to
26539           GstVaapiMiniObject. Add gst_vaapi_decoder_set_codec_state_changed_func()
26540           helper function to let the user add a callback to a function triggered
26541           whenever the codec state (e.g. caps) changes.
26542
26543 2013-05-03 11:01:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26544
26545         * docs/reference/libs/libs-sections.txt:
26546         * gst-libs/gst/vaapi/Makefile.am:
26547         * gst-libs/gst/vaapi/gstvaapicontext.c:
26548         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26549         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26550         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26551         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26552         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26553         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26554         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26555         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
26556           libs: use GstVaapiMiniObject for video object pools.
26557           Port GstVaapiVideoPool, GstVaapiSurfacePool and GstVaapiImagePool to
26558           GstVaapiMiniObject. Drop gst_vaapi_video_pool_get_caps() since it was
26559           no longer used for a long time. Make object allocators static, i.e.
26560           local to the shared library.
26561
26562 2013-04-30 17:22:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26563
26564         * gst-libs/gst/vaapi/gstvaapitexture.c:
26565         * gst-libs/gst/vaapi/gstvaapitexture.h:
26566           libs: use GstVaapiObject for texture objects.
26567
26568 2013-04-30 17:20:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26569
26570         * gst-libs/gst/vaapi/Makefile.am:
26571         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26572         * gst-libs/gst/vaapi/gstvaapiwindow.h:
26573         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
26574         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
26575         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26576         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
26577         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
26578         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
26579         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
26580         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26581         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
26582         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
26583           libs: use GstVaapiObject for window objects.
26584
26585 2013-04-30 17:22:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26586
26587         * gst-libs/gst/vaapi/gstvaapicontext.c:
26588         * gst-libs/gst/vaapi/gstvaapicontext.h:
26589         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26590         * gst-libs/gst/vaapi/gstvaapiimage.c:
26591         * gst-libs/gst/vaapi/gstvaapiimage.h:
26592         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26593         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26594         * gst-libs/gst/vaapi/gstvaapisurface.c:
26595         * gst-libs/gst/vaapi/gstvaapisurface.h:
26596         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26597         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26598           libs: use GstVaapiObject for VA objects.
26599
26600 2013-04-30 17:20:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26601
26602         * gst-libs/gst/vaapi/Makefile.am:
26603         * gst-libs/gst/vaapi/gstvaapiobject.c:
26604         * gst-libs/gst/vaapi/gstvaapiobject.h:
26605         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
26606           Port GstVaapiObject to GstVaapiMiniObject.
26607
26608 2013-04-30 10:28:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26609
26610         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26611         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
26612         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26613         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26614         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
26615         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
26616           libs: refine GstVaapiMiniObject.
26617           Drop support for user-defined data since this capability was not used
26618           so far and GstVaapiMiniObject represents the smallest reference counted
26619           object type. Add missing GST_VAAPI_MINI_OBJECT_CLASS() helper macro.
26620           Besides, since GstVaapiMiniObject is a libgstvaapi internal object, it
26621           is also possible to further simplify the layout of the object. i.e. merge
26622           GstVaapiMiniObjectBase into GstVaapiMiniObject.
26623
26624 2013-05-07 16:43:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26625
26626         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26627           decoder: update picture size from the bitstream.
26628           Propagate the picture size from the bitstream to the GstVaapiDecoder,
26629           and subsequent user who installed a signal on notify::caps. This fixes
26630           decoding of TS streams when the demuxer failed to extract the required
26631           information.
26632
26633 2013-04-25 14:16:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26634
26635         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26636           decoder: fix raw decoding mode.
26637           Fix gst_vaapi_decoder_get_surface() to actually transfer ownership of the
26638           surface proxy to the caller.
26639
26640 2013-04-25 13:56:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26641
26642         * docs/reference/libs/libs-sections.txt:
26643         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26644         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26645         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26646         * gst/vaapi/gstvaapidecode.c:
26647           decoder: add gst_vaapi_decoder_get_frame_with_timeout().
26648           Add gst_vaapi_decoder_get_frame_with_timeout() helper function that will
26649           wait for a frame to be decoded, until the specified timeout in microseconds,
26650           prior to returning to the caller.
26651           This is a fix to performance regression from 851cc0, whereby the vaapidecode
26652           loop executed on the srcpad task was called to often, thus starving all CPU
26653           resources.
26654
26655 2013-04-19 14:38:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26656
26657         * configure.ac:
26658           Bump version for development.
26659
26660 2013-04-18 19:09:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26661
26662         * NEWS:
26663         * configure.ac:
26664           0.5.3.
26665
26666 2013-04-18 19:08:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26667
26668         * NEWS:
26669           NEWS: updates.
26670
26671 2013-04-18 15:55:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26672
26673         * gst/vaapi/gstvaapidecode.c:
26674           vaapidecode: rework heuristics to detect decode timeout.
26675           Rework heuristics to detect when downstream element ran into errors,
26676           and thus failing to release any VA surface in due time for the current
26677           frame to get decoded. In particular, recalibrate the render time base
26678           when the first frame gets submitted downstream, or when there is no
26679           timestamp that could be inferred.
26680
26681 2013-04-18 15:50:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26682
26683         * gst-libs/gst/vaapi/gstcompat.h:
26684         * gst/vaapi/gstvaapidecode.c:
26685           vaapidecode: rework GstVideoDecoder::handle_frame() with a task.
26686           Rework GstVideoDecoder::handle_frame() to decode the current frame,
26687           while possibly waiting for a free surface, and separately submit all
26688           decoded frames from a task. This makes it possible to pop and render
26689           decoded frames as soon as possible.
26690
26691 2013-04-18 10:06:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26692
26693         * gst/vaapi/gstvaapidecode.c:
26694         * gst/vaapi/gstvaapidownload.c:
26695         * gst/vaapi/gstvaapisink.c:
26696         * gst/vaapi/gstvaapiupload.c:
26697           plugins: use gst_object_unref() wherever applicable.
26698           Use gst_object_unref() wherever applicable, e.g. objects derived from
26699           GstElement, GstVideoPool, etc.
26700
26701 2013-04-17 14:21:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26702
26703         * docs/reference/plugins/plugins-docs.xml.in:
26704         * docs/reference/plugins/plugins-sections.txt:
26705         * docs/reference/plugins/plugins.types:
26706           docs: drop obsolete plug-ins.
26707           Drop documentation for obsolete plug-ins, even for GStreamer 0.10.
26708           i.e. vaapiupload and vaapidownload are no longer the recommended
26709           plug-ins to use.
26710
26711 2013-04-17 13:17:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26712
26713         * debian.upstream/rules:
26714           debian: fix build of GStreamer 0.10 packages.
26715           Fix build of Debian packages to scan the actual GStreamer API version
26716           from the generated changelog file.
26717
26718 2013-04-17 10:58:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26719
26720         * gst/vaapi/gstvaapipostproc.c:
26721           vaapipostproc: minor clean-ups.
26722           Use g_clear_object() wherever appropriate and remove dead-code.
26723
26724 2013-04-17 10:53:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26725
26726         * gst/vaapi/gstvaapipostproc.c:
26727           vaapipostproc: fix reference counting buf for passthrough mode.
26728           Fix reference counting bug for passthrough mode, whereby the input buffer
26729           was propagated as is downstream through gst_pad_push() without increasing
26730           its reference count before. The was a problem when gst_pad_push() returns
26731           an error and we further decrease the reference count of the input buffer.
26732
26733 2013-04-17 10:18:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26734
26735         * gst-libs/gst/vaapi/gstcompat.h:
26736         * gst/vaapi/Makefile.am:
26737         * gst/vaapi/gstvaapi.c:
26738         * gst/vaapi/gstvaapidecode.c:
26739         * gst/vaapi/gstvaapipluginutil.h:
26740         * gst/vaapi/gstvaapipostproc.c:
26741           vaapipostproc: port to GStreamer 1.0.
26742           Add support for interlaced streams with GStreamer 1.0 too. Basically,
26743           this enables vaapipostproc, though it is not auto-plugged yet. We also
26744           make sure to reply to CAPS queries, and happily handle CAPS events.
26745
26746 2013-04-17 10:14:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26747
26748         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26749           decoder: fix GstVideoCodecFrame flags for interlaced contents.
26750           Fix support for interlaced contents with GStreamer 0.10. In particular,
26751           propagate GstVaapiSurfaceProxy frame flags to GstVideoCodecFrame flags
26752           correctly.
26753           This is a regression from commit 87e5717.
26754
26755 2013-04-16 13:23:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26756
26757         * gst-libs/gst/vaapi/Makefile.am:
26758         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26759         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26760         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
26761         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
26762           decoder: rename GstVaapiDecoderFrame to GstVaapiParserFrame.
26763           Rename GstVaapiDecoderFrame to GstVaapiParserFrame because this data
26764           structure was only useful to parsing and a proper GstvaapiDecoderFrame
26765           instance will be created instead.
26766
26767 2013-04-16 19:09:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26768
26769         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26770           decoder: export presentation timestamp for raw decoding mode.
26771           Fix regression from 0.4-branch whereby GstVaapiSurfaceProxy no longer
26772           held any information about the expected presentation timestamp, frame
26773           duration or additional flags like interlaced or top-field-first.
26774
26775 2013-04-16 18:56:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26776
26777         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26778         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26779           decoder: use new GstVaapiSurfaceProxy utility functions.
26780           Use new GstVaapiSurfaceProxy internal helper functions to propagate the
26781           necessary GstVideoCodecFrame flags to vaapidecode (GStreamer 0.10).
26782           Also make GstVaapiDecoder push_frame() operate similarly to drop_frame().
26783           i.e. increase the GstVideoCodecFrame reference count in push_frame rather
26784           than gst_vaapi_picture_output().
26785
26786 2013-04-16 18:35:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26787
26788         * docs/reference/libs/libs-sections.txt:
26789         * gst-libs/gst/vaapi/Makefile.am:
26790         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26791         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26792         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
26793           surfaceproxy: add more attributes for raw decoding modes.
26794           Add more attributes for raw decoding modes, i.e. directly through the
26795           libgstvaapi helper library. In particular, add presentation timestamp,
26796           duration and a couple of flags (interlaced, TFF, RFF, one-field).
26797
26798 2013-04-16 13:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26799
26800         * docs/reference/libs/libs-sections.txt:
26801         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26802         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26803         * gst/vaapi/gstvaapidecode.c:
26804         * tests/simple-decoder.c:
26805           surfaceproxy: drop user-data support from GstVaapiSurfaceProxy.
26806           Drop user-data support from GstVaapiSurfaceProxy. Rather make it explicit
26807           to call some user-provided function when the surface proxy is released.
26808
26809 2013-04-15 12:52:51 +0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
26810
26811         * configure.ac:
26812         * gst-libs/gst/vaapi/Makefile.am:
26813           build: link libgstvaapi-glx-1.0.so against libdl.
26814           Ensure libgstvaapi-glx*.so builds against libdl since dlsym() is used
26815           to resolve glXGetProcAddress() from GLX libraries. This fix builds on
26816           Fedora 17.
26817           https://bugzilla.gnome.org/show_bug.cgi?id=698046
26818           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26819
26820 2013-04-15 14:22:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26821
26822         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26823           decoder: fix gst_vaapi_decoder_get_codec_state().
26824           Fix previous commit whereby gst_vaapi_decoder_get_codec_state() was
26825           supposed to make GstVaapiDecoder own the return GstVideoCodecState
26826           object. Only comment was updated, not the actual code.
26827
26828 2013-04-15 13:58:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26829
26830         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26831         * gst/vaapi/gstvaapidecode.c:
26832           decoder: make gst_vaapi_decoder_get_codec_state() return the original state.
26833           Make gst_vaapi_decoder_get_codec_state() return the original codec state,
26834           i.e. make the GstVaapiDecoder object own the return state so that callers
26835           that want an extra reference to it would just gst_video_codec_state_ref()
26836           it before usage. This aligns the behaviour with what we had before with
26837           gst_vaapi_decoder_get_caps().
26838           This is an ABI incompatible change, library major version was bumped from
26839           previous release (0.5.2).
26840
26841 2013-04-15 13:52:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26842
26843         * gst/vaapi/gstvaapivideobufferpool.h:
26844         * gst/vaapi/gstvaapivideoconverter_glx.h:
26845           plugins: mark a few more functions as internal.
26846           Mark the following functions are internal, i.e. private to the vaapi plug-in:
26847           - gst_vaapi_video_buffer_pool_get_type()
26848           - gst_vaapi_video_converter_glx_get_type()
26849           - gst_vaapi_video_converter_glx_new()
26850
26851 2013-04-15 13:48:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26852
26853         * gst/vaapi/gstvaapivideobuffer.c:
26854           plugins: implement GstSurfaceMeta API.
26855           Implement GstSurfaceMeta API for GStreamer 1.0.x. Even though this is
26856           an unstable/deprecated API, this makes it possible to support Clutter
26857           sink with minimal changes. Tested against clutter-gst 1.9.92.
26858
26859 2013-04-12 17:12:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26860
26861         * gst/vaapi/gstvaapisink.c:
26862           vaapisink: optimize GstVideoOverlayInterface::expose().
26863           When render-mode is "overlay", then it is not really useful to peek into
26864           the GstBaseSink::last_buffer, since we have our own video_buffer already
26865           recorded and maintained into GstVaapiSink.
26866
26867 2013-04-12 17:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26868
26869         * gst/vaapi/gstvaapisink.c:
26870           vaapisink: fix memory leak of GstSample objects.
26871           Fix memory leak of GstSample objects in GstVideoOverlayInterface::expose().
26872           This also fixes extra unreferencing of the underlying GstBuffer in the common
26873           path afterwards (for both 0.10 or 1.0).
26874
26875 2013-04-12 13:44:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26876
26877         * gst-libs/gst/vaapi/gstcompat.h:
26878         * gst/vaapi/gstvaapi.c:
26879           plugins: fix description for gst-inspect.
26880           Fix the name of the plug-in element reported to gst-inspect-1.0. i.e. we
26881           need an explicit definition for GStreamer >= 1.0 because the GST_PLUGIN_DEFINE
26882           incorrectly uses #name for creating the plug-in name, instead of using macro
26883           expansion (and let further expansion of macros) through e.g. G_STRINGIFY().
26884
26885 2013-04-11 09:24:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26886
26887         * README:
26888           README: updates.
26889           Update build requirements for GStreamer 1.0.x support. Add section for
26890           ways to report bugs.
26891
26892 2013-04-10 16:54:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26893
26894         * NEWS:
26895           NEWS: updates.
26896
26897 2013-04-10 15:31:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26898
26899         * gst-libs/gst/vaapi/Makefile.am:
26900         * gst/vaapi/Makefile.am:
26901           Fix make dist to include all source files, in any case.
26902           Fix make dist to allow build for either GStreamer 0.10 or 1.0. i.e. make
26903           sure to include all source files in either case while generating source
26904           tarballs.
26905
26906 2013-04-10 15:21:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26907
26908         * configure.ac:
26909           Bump library major version.
26910           Bump library major version, while preserving a major version of 0 for
26911           GStreamer 1.0 based libraries, and a major version of 2 for GStreamer
26912           0.10 based librarieS.
26913
26914 2013-04-10 14:37:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26915
26916         * gst/vaapi/gstvaapivideomemory.c:
26917         * gst/vaapi/gstvaapivideomemory.h:
26918           plugins: implement direct-rendering mode for raw YUV buffer uploads.
26919           Allow direct-rendering (writes) into target VA surfaces.
26920
26921 2013-04-09 16:02:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26922
26923         * gst/vaapi/gstvaapivideobufferpool.c:
26924         * gst/vaapi/gstvaapivideomemory.c:
26925         * gst/vaapi/gstvaapivideomemory.h:
26926           plugins: implement uploads from raw YUV buffers for GStreamer 1.0.
26927           Implement GstVideoMeta::{,un}map() to support raw YUV buffer upload when
26928           the last component is unmapped. Downloads are not supported yet. The aim
26929           was to first support SW decoding + HW accelerated rendering (vaapisink).
26930           e.g. for Wayland.
26931
26932 2013-04-03 11:10:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26933
26934         * gst/vaapi/gstvaapidecode.c:
26935           vaapidecode: submit all decoded frames before decoding a new one.
26936           Make sure to purge all pending frames that were already decoded prior
26937           to decoding a new one. This helps release VA surfaces as early as
26938           possible.
26939
26940 2013-04-02 16:12:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26941
26942         * gst/vaapi/gstvaapidecode.c:
26943           vaapidecode: reply to CAPS queries.
26944           Handle GST_QUERY_CAPS, which is the GStreamer 1.0 mechanism to retrieve
26945           the set of allowed caps, i.e. it works similar to GstPad::get_caps().
26946           This fixes fallback to SW decoding if no HW decoder is available.
26947
26948 2013-03-20 11:26:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26949
26950         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26951         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26952         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
26953         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26954         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26955         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26956           decoder: fix unpaired GstBuffer map/unmaps.
26957           This possibly fixes a few memory leaks along the way.
26958
26959 2013-03-20 14:40:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26960
26961         * configure.ac:
26962         * gst-libs/gst/vaapi/gstcompat.h:
26963         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
26964         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26965         * gst/vaapi/Makefile.am:
26966         * gst/vaapi/gstvaapi.c:
26967         * gst/vaapi/gstvaapidecode.c:
26968         * gst/vaapi/gstvaapisink.c:
26969         * gst/vaapi/gstvaapisink.h:
26970         * gst/vaapi/gstvaapiuploader.c:
26971         * tests/codec.c:
26972           Allow build against either GStreamer API (0.10 or 1.0).
26973           Introduce a new configure option --with-gstreamer-api that determines
26974           the desired GStreamer API to use. By default, GStreamer 1.0 is selected.
26975           Also integrate more compatibility glue into gstcompat.h and plugins.
26976
26977 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26978
26979         * gst/vaapi/gstvaapidecode.c:
26980         * gst/vaapi/gstvaapisink.c:
26981         * gst/vaapi/gstvaapisink.h:
26982           plugins: use new video buffer pools.
26983           Use new GstVaapiVideoBufferPool to maintain video buffers. Implement
26984           GstBaseSink::propose_allocation() to expose that pool to upstream
26985           elements; and also implement GstVideoDecoder::decide_allocation() to
26986           actually use that pool (from downstream), if any, or create one.
26987           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26988
26989 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26990
26991         * gst/vaapi/Makefile.am:
26992         * gst/vaapi/gstvaapivideobufferpool.c:
26993         * gst/vaapi/gstvaapivideobufferpool.h:
26994         * gst/vaapi/gstvaapivideomemory.c:
26995         * gst/vaapi/gstvaapivideomemory.h:
26996           plugins: add GstVaapiVideoMemory and GstVaapiVideoBufferPool objects.
26997           Add initial support for GstVaapiVideoMemory backed buffer pool. The memory
26998           object currently holds a reference to GstVaapiVideoMeta.
26999           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27000
27001 2013-04-04 17:36:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27002
27003         * gst/vaapi/gstvaapivideometa.c:
27004         * gst/vaapi/gstvaapivideometa.h:
27005           plugins: allow copies of GstVaapiVideoMeta objects.
27006           Make it possible to copy GstVaapiVideoMeta objects, unless they contain VA
27007           objects created from GstVaapiVideoPool. This is mostly useful to clone a
27008           GstVaapiVideoMeta object containing a VA surface proxy so that to alter its
27009           rendering flags.
27010
27011 2013-04-04 16:16:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27012
27013         * gst/vaapi/gstvaapivideometa.c:
27014           plugins: make it possible to clear VA objects from GstVaapiVideoMeta.
27015           Fix GstVaapiVideoMeta to allow VA objects to be destroyed when they are
27016           reset to NULL. i.e. make gst_vaapi_video_meta_set_{image,surface}() and
27017           gst_vaapi_video_meta_set_surface_proxy() actually clear VA objects when
27018           argument is NULL.
27019
27020 2012-09-03 14:00:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27021
27022         * gst/vaapi/Makefile.am:
27023         * gst/vaapi/gstvaapi.c:
27024         * gst/vaapi/gstvaapidecode.c:
27025         * gst/vaapi/gstvaapidownload.c:
27026         * gst/vaapi/gstvaapipluginutil.c:
27027         * gst/vaapi/gstvaapipostproc.c:
27028         * gst/vaapi/gstvaapisink.c:
27029         * gst/vaapi/gstvaapiupload.c:
27030         * gst/vaapi/gstvaapiuploader.c:
27031         * gst/vaapi/gstvaapivideobuffer.c:
27032         * gst/vaapi/gstvaapivideoconverter_glx.c:
27033         * gst/vaapi/gstvaapivideometa.c:
27034         * gst/vaapi/gstvaapivideometa.h:
27035           plugins: initial port to GStreamer 1.0.
27036           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.0. This
27037           is rather minimalistic so that to test the basic functionality.
27038           Disable vaapiupload, vaapidownload and vaapipostproc plugins. The latter
27039           needs polishing wrt. to GStreamer 1.x functionality and the former are
27040           totally phased out in favor of GstVaapiVideoMemory map/unmap facilities,
27041           which are yet to be implemented.
27042           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27043
27044 2013-03-21 10:12:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27045
27046         * gst-libs/gst/vaapi/gstcompat.h:
27047         * tests/codec.c:
27048         * tests/decoder.c:
27049         * tests/simple-decoder.c:
27050         * tests/test-subpicture.c:
27051           tests: add support for GStreamer 1.0.
27052
27053 2012-09-04 15:12:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27054
27055         * configure.ac:
27056         * gst-libs/gst/vaapi/gstcompat.h:
27057         * gst-libs/gst/vaapi/gstvaapicontext.c:
27058         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27059         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27060         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27061         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27062         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27063         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27064         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27065         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27066         * gst-libs/gst/vaapi/gstvaapiimage.c:
27067         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27068         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27069         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27070         * gst-libs/gst/vaapi/gstvaapisurface.h:
27071           Add initial support for GStreamer 1.0.
27072           This integrates support for GStreamer API >= 1.0 only in the libgstvaapi
27073           core decoding library. The changes are kept rather minimal here so that
27074           the library retains as little dependency as possible on core GStreamer
27075           functionality.
27076           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27077
27078 2013-04-03 15:58:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27079
27080         * gst/vaapi/gstvaapisink.c:
27081           vaapisink: improve check for raw YUV format mode.
27082           Improve check for raw YUV format modes by avoiding checks against strings
27083           ("video/x-raw-yuv") for each new GstBuffer allocation. In the usual case,
27084           GstBaseSink::set_caps() is called first and if VA surface format mode is
27085           used, then GstBaseSink::buffer_alloc() is not called. If the latter is
27086           called before set_caps(), then we just make a full check. This one is
27087           pretty rare though, e.g. it usually happens once for custom pipelines.
27088
27089 2013-04-03 15:06:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27090
27091         * gst/vaapi/gstvaapipluginutil.c:
27092           plugins: don't fail if there is no overlay composition to apply.
27093           Fix gst_vaapi_apply_composition() to not fail if no overlay composition
27094           was found. i.e. return success (TRUE). This was harmless though extra
27095           debug messages are not nice.
27096           This is a regression introduced by commit 95b8659.
27097
27098 2013-04-03 14:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27099
27100         * gst/vaapi/gstvaapidecode.c:
27101         * gst/vaapi/gstvaapidecode.h:
27102           vaapidecode: expose the exact set of supported HW decoders.
27103           Don't return static caps that don't mean anything for the underlying codecs
27104           that are actually supported for decoding. i.e. always allocate a VA display
27105           and retrieve the exact set of HW decoders available. That VA display may be
27106           re-used later on during negotiation through GstVideoContext "prepare-context".
27107           This fixes fallback to SW decoding if no HW decoder is available.
27108
27109 2013-04-03 13:08:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27110
27111         * docs/reference/libs/libs-sections.txt:
27112         * gst-libs/gst/vaapi/gstvaapicontext.c:
27113         * gst-libs/gst/vaapi/gstvaapicontext.h:
27114         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27115         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27116           decoder: drop obsolete functions.
27117           Drop the following functions that are now obsolete:
27118           - gst_vaapi_context_get_surface()
27119           - gst_vaapi_context_put_surface()
27120           - gst_vaapi_context_find_surface_by_id()
27121           - gst_vaapi_surface_proxy_new()
27122           - gst_vaapi_surface_proxy_get_context()
27123           - gst_vaapi_surface_proxy_set_context()
27124           - gst_vaapi_surface_proxy_set_surface()
27125           This is an API change.
27126
27127 2013-04-03 13:14:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27128
27129         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27130           decoder: delegate surface size check to VA context reset.
27131           Now that the surface pool is reference counted in the surface proxy wrapper,
27132           we can safely ignore surface size checks in gst_vaapi_decoder_ensure_context().
27133           Besides, this check is already performed in gst_vaapi_context_reset_full().
27134
27135 2013-04-03 11:37:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27136
27137         * docs/reference/libs/libs-sections.txt:
27138         * gst-libs/gst/vaapi/gstvaapicontext.c:
27139         * gst-libs/gst/vaapi/gstvaapicontext.h:
27140         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27141         * gst-libs/gst/vaapi/gstvaapisurface.h:
27142         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27143         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27144           decoder: simplify acquisition/release of spare surface.
27145           Introduce gst_vaapi_surface_proxy_new_from_pool() to allocate a new surface
27146           proxy from the context surface pool. This change also makes sure to retain
27147           the parent surface pool in the proxy.
27148           Besides, it was also totally useless to attach/detach parent context to
27149           VA surface each time we acquire/release it. Since the whole context owns
27150           all associated VA surfaces, we can mark this as such only once and for all.
27151
27152 2013-03-29 10:39:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27153
27154         * configure.ac:
27155           Bump version for development.
27156
27157 2013-03-28 10:18:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27158
27159         * NEWS:
27160         * configure.ac:
27161           0.5.2.
27162
27163 2013-03-28 10:15:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27164
27165         * NEWS:
27166           NEWS: updates.
27167
27168 2013-03-26 18:57:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27169
27170         * gst/vaapi/gstvaapipluginutil.c:
27171         * gst/vaapi/gstvaapisink.c:
27172           plugins: fix usage of gst_vaapi_reply_to_query().
27173           Make gst_vaapi_reply_to_query() first check whether the query argument
27174           is actually a video-context query, i.e. with type GST_QUERY_TYPE_CUSTOM.
27175           Then, make sure vaapisink propagates the query to the parent class if
27176           it is not a video-context query.
27177
27178 2013-03-26 18:45:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27179
27180         * gst/vaapi/gstvaapivideobuffer.c:
27181         * gst/vaapi/gstvaapivideobuffer.h:
27182           plugins: streamline video buffers.
27183           Add new gst_vaapi_video_buffer_new() helper function that allocates a video
27184           buffer from a GstVaapiVideoMeta. Also remove obsolete and useless function
27185           gst_vaapi_video_buffer_get_meta().
27186
27187 2013-03-26 10:31:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27188
27189         * docs/reference/libs/libs-sections.txt:
27190         * gst-libs/gst/vaapi/Makefile.am:
27191         * gst/vaapi/Makefile.am:
27192         * gst/vaapi/gstvaapidecode.c:
27193         * gst/vaapi/gstvaapidownload.c:
27194         * gst/vaapi/gstvaapipostproc.c:
27195         * gst/vaapi/gstvaapisink.c:
27196         * gst/vaapi/gstvaapiupload.c:
27197         * gst/vaapi/gstvaapiuploader.c:
27198         * gst/vaapi/gstvaapivideobuffer.h:
27199         * gst/vaapi/gstvaapivideoconverter_glx.c:
27200         * gst/vaapi/gstvaapivideometa.c:
27201         * gst/vaapi/gstvaapivideometa.h:
27202           plugins: integrate GstVaapiVideoMeta from libgstvaapi.
27203           Move GstVaapiVideoMeta from core libgstvaapi decoding library to the
27204           actual plugin elements. That's only useful there. Also inline reference
27205           counting code from GstVaapiMiniObject.
27206
27207 2013-03-21 17:17:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27208
27209         * gst/vaapi/Makefile.am:
27210         * gst/vaapi/gstvaapidecode.c:
27211         * gst/vaapi/gstvaapidownload.c:
27212         * gst/vaapi/gstvaapipluginbuffer.c:
27213         * gst/vaapi/gstvaapipluginbuffer.h:
27214         * gst/vaapi/gstvaapipostproc.c:
27215         * gst/vaapi/gstvaapiupload.c:
27216         * gst/vaapi/gstvaapiuploader.c:
27217         * gst/vaapi/gstvaapivideobuffer.c:
27218         * gst/vaapi/gstvaapivideobuffer.h:
27219           plugins: drop gstvaapipluginbuffer.[ch] helper files.
27220           Move all gst_vaapi_video_buffer_new*() helpers from gstvaapipluginbuffer.[ch]
27221           to gstvaapivideobuffer.[ch], and drop the obsolete files.
27222
27223 2013-03-21 17:06:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27224
27225         * docs/reference/libs/libs-sections.txt:
27226         * docs/reference/libs/libs.core.types:
27227         * gst-libs/gst/vaapi/Makefile.am:
27228         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27229         * gst/vaapi/Makefile.am:
27230         * gst/vaapi/gstvaapidownload.h:
27231         * gst/vaapi/gstvaapipluginbuffer.c:
27232         * gst/vaapi/gstvaapipostproc.h:
27233         * gst/vaapi/gstvaapivideobuffer.c:
27234         * gst/vaapi/gstvaapivideobuffer.h:
27235         * gst/vaapi/gstvaapivideoconverter_glx.h:
27236           plugins: integrate GstVaapiVideoBuffer from libgstvaapi.
27237           Move GstVaapiVideoBuffer from core libgstvaapi decoding library to the
27238           actual plugin elements. That's only useful there.
27239
27240 2013-03-21 16:32:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27241
27242         * gst/vaapi/gstvaapipluginutil.c:
27243         * gst/vaapi/gstvaapipluginutil.h:
27244         * gst/vaapi/gstvaapisink.c:
27245         * gst/vaapi/gstvaapivideoconverter_glx.c:
27246           plugins: use common helper function to apply compositions.
27247           Use common gst_vaapi_apply_composition() helper function to apply compositions
27248           attached to a buffer in vaapisink or GstVaapiVideoConverterGLX.
27249
27250 2013-03-21 16:09:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27251
27252         * gst-libs/gst/vaapi/Makefile.am:
27253         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27254         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
27255         * gst/vaapi/Makefile.am:
27256         * gst/vaapi/gstvaapipluginbuffer.c:
27257         * gst/vaapi/gstvaapivideoconverter_glx.c:
27258         * gst/vaapi/gstvaapivideoconverter_glx.h:
27259           plugins: integrate GstVaapiVideoConverterGLX from libgstvaapi.
27260           Make sure libgstvaapi core decoding library doesn't include un-needed
27261           dependencies. So, move out GstVaapiVideoConverterGLX to plugins instead.
27262           Besides, even if the vaapisink element is not used, we are bound to have
27263           a correctly populated GstSurfaceBuffer from vaapidecode.
27264           Also clean-up the file along the way.
27265
27266 2013-03-21 13:32:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27267
27268         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27269           vc1: fix use of possibly uninitialized variable.
27270           In decode_codec_data(), force initialization of format to zero so that
27271           we can catch up cases where codec-data has neither "format" nor "wmvversion"
27272           fields, thus making it possible to gracefully fail in this case.
27273
27274 2013-03-21 13:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27275
27276         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27277           jpeg: propagate buffer data as a const guchar * pointer (cosmetics).
27278
27279 2013-03-21 14:36:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27280
27281         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27282         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27283         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27284         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27285         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27286         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27287           decoder: sanitize codec-data decoding.
27288           Add a new GstVaapiDecoder::decode_codec_data() hook to actually decode
27289           codec-data in the decoder sub-class. Provide a common shared helper
27290           function to do the actual work and delegating further to the sub-class.
27291
27292 2013-03-21 13:41:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27293
27294         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27295         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27296         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
27297         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
27298           decoder: get rid of GstVaapiDecoderUnit::buffer field.
27299           Drop GstVaapiDecoderUnit buffer field (GstBuffer) since it's totally
27300           useless nowadays as creating sub-buffers doesn't bring any value. It
27301           actually means more memory allocations. We can't do without that in
27302           JPEG and MPEG-4:2 decoders.
27303
27304 2013-03-21 13:28:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27305
27306         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27307         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27308         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27309         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27310         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27311           decoder: sanitize uses of codec frame input buffer (cosmetics).
27312           Alias GST_VAAPI_DECODER_CODEC_FRAME(decoder)->input_buffer to a simple
27313           "buffer" variable.
27314
27315 2013-03-20 17:34:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27316
27317         * gst/vaapi/gstvaapisink.c:
27318           vaapisink: add helper function to apply a composition buffer.
27319           Simplify application of a composition buffer to a GstVaapiSurface, and
27320           all its peers, until that function is eventually promoted to libgstvaapi.
27321
27322 2013-03-20 13:42:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27323
27324         * gst/vaapi/gstvaapisink.c:
27325           vaapisink: fix support for raw YUV buffers.
27326           If the raw YUV buffer was created from vaapisink, through the buffer_alloc()
27327           hook, then it will have a valid GstVaapiVideoMeta object attached to it.
27328           However, we previously assumed in that case that it was a "native" VA buffer,
27329           thus not calling into GstVaapiUploader::process().
27330
27331 2013-03-20 18:41:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27332
27333         * gst-libs/gst/vaapi/gstcompat.h:
27334         * gst/vaapi/gstvaapidecode.c:
27335         * gst/vaapi/gstvaapidownload.c:
27336         * gst/vaapi/gstvaapipostproc.c:
27337         * gst/vaapi/gstvaapisink.c:
27338         * gst/vaapi/gstvaapiupload.c:
27339           plugins: use modern GstElement metadata information.
27340           Use gst_element_class_set_static_metadata() from GStreamer 1.0, which
27341           basically is the same as gst_element_class_set_details_simple() in
27342           GStreamer 0.10 context.
27343
27344 2013-03-20 18:04:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27345
27346         * gst/vaapi/gstvaapidecode.c:
27347         * gst/vaapi/gstvaapidownload.c:
27348         * gst/vaapi/gstvaapipostproc.c:
27349         * gst/vaapi/gstvaapisink.c:
27350         * gst/vaapi/gstvaapiupload.c:
27351           plugins: move up interfaces (cosmetics).
27352           Move GstImplementsInterface and GstVideoContext support functions up
27353           so that to keep a clear separation between the plugin element and its
27354           interface hooks.
27355
27356 2013-03-20 12:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27357
27358         * gst/vaapi/gstvaapisink.c:
27359         * gst/vaapi/gstvaapiuploader.c:
27360           plugins: upgrade to newer APIs (GstVideoInfo based helpers).
27361           Use GstVideoInfo and gst_video_info_from_caps() helper wherever possible.
27362           Also use the newly added gst_vaapi_image_format_from_structure() helper
27363           in GstVaapiUploader::ensure_allowed_caps().
27364
27365 2013-03-20 14:02:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27366
27367         * gst/vaapi/gstvaapipluginbuffer.c:
27368           plugins: fix creation of video buffer from another source buffer.
27369           gst_vaapi_video_buffer_new_from_buffer() needs to reference the source
27370           buffer video meta since it would be unreference'd from the get_buffer()
27371           helper function. For other cases, we still use (steal) the newly created
27372           video meta.
27373
27374 2013-03-20 11:57:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27375
27376         * gst/vaapi/gstvaapipluginbuffer.c:
27377         * gst/vaapi/gstvaapipluginutil.c:
27378           plugins: include "sysdeps.h" header instead of "config.h".
27379
27380 2013-03-20 18:33:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27381
27382         * gst-libs/gst/vaapi/gstcompat.h:
27383         * tests/codec.c:
27384           tests: modernize GstTypeFind functions.
27385           Use the GstTypeFind hooks from GStreamer 1.0. They look safer and
27386           exactly correspond to the expected behaviour.
27387
27388 2013-03-20 11:57:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27389
27390         * tests/image.c:
27391         * tests/image.h:
27392         * tests/test-decode.c:
27393         * tests/test-display.c:
27394         * tests/test-h264.c:
27395         * tests/test-h264.h:
27396         * tests/test-jpeg.c:
27397         * tests/test-jpeg.h:
27398         * tests/test-mpeg2.c:
27399         * tests/test-mpeg2.h:
27400         * tests/test-mpeg4.c:
27401         * tests/test-mpeg4.h:
27402         * tests/test-textures.c:
27403         * tests/test-vc1.c:
27404         * tests/test-vc1.h:
27405         * tests/test-windows.c:
27406           tests: fix license templates.
27407
27408 2013-03-20 11:53:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27409
27410         * tests/test-display.c:
27411           tests: use gst_vaapi_image_format_from_structure() in test-display.
27412           Use gst_vaapi_image_format_from_structure() helper in test-display and
27413           then extract a VAImageFormat from it instead of relying on GstCaps for
27414           YUV and RGB formats.
27415
27416 2013-03-20 11:50:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27417
27418         * tests/codec.c:
27419         * tests/decoder.c:
27420         * tests/output.c:
27421         * tests/test-decode.c:
27422         * tests/test-display.c:
27423         * tests/test-subpicture.c:
27424         * tests/test-textures.c:
27425         * tests/test-windows.c:
27426           tests: include "sysdeps.h" header instead of "config.h".
27427
27428 2013-03-20 18:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27429
27430         * gst-libs/gst/vaapi/gstcompat.h:
27431         * gst-libs/gst/vaapi/gstvaapicontext.c:
27432         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27433           subpicture: use gst_video_overlay_rectangle_get_pixels_unscaled_raw().
27434           Use newer gst_video_overlay_rectangle_get_pixels_unscaled_raw() helper
27435           function with GStreamer 0.10 compatible semantics, or that tries to
27436           approach the current meaning. Basically, this is also just about moving
27437           the helper to gstcompat.h.
27438
27439 2013-03-20 11:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27440
27441         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27442         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27443           image: add gst_vaapi_image_format_from_structure() helper.
27444           Add helper function to convert video formats from a GstStructure to a
27445           plain GstVaapiImageFormat.
27446
27447 2013-03-20 18:12:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27448
27449         * gst-libs/gst/vaapi/Makefile.am:
27450         * gst-libs/gst/vaapi/gstcompat.h:
27451         * gst-libs/gst/vaapi/sysdeps.h:
27452           sysdeps: split out GStreamer API compatibility glue to "gstcompat.h".
27453
27454 2013-03-20 11:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27455
27456         * gst-libs/gst/vaapi/sysdeps.h:
27457           sysdeps: add more standard includes by default.
27458
27459 2013-03-20 14:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27460
27461         * configure.ac:
27462           configure: improve GStreamer API version checks.
27463
27464 2013-03-20 11:44:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27465
27466         * configure.ac:
27467         * debian.upstream/Makefile.am:
27468         * debian.upstream/changelog.in:
27469         * debian.upstream/control.in:
27470         * debian.upstream/gstreamer-vaapi-doc.install.in:
27471         * debian.upstream/libgstvaapi-dev.install.in:
27472         * debian.upstream/libgstvaapi-drm.install.in:
27473         * debian.upstream/libgstvaapi-glx.install.in:
27474         * debian.upstream/libgstvaapi-wayland.install.in:
27475         * debian.upstream/libgstvaapi-x11.install.in:
27476         * debian.upstream/libgstvaapi.install.in:
27477         * docs/reference/libs/Makefile.am:
27478         * docs/reference/libs/libs-docs.xml.in:
27479         * docs/reference/plugins/Makefile.am:
27480         * docs/reference/plugins/plugins-docs.xml.in:
27481         * gst-libs/gst/vaapi/Makefile.am:
27482         * gst/vaapi/Makefile.am:
27483         * pkgconfig/Makefile.am:
27484         * pkgconfig/gstreamer-vaapi-drm.pc.in:
27485         * pkgconfig/gstreamer-vaapi-glx.pc.in:
27486         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
27487         * pkgconfig/gstreamer-vaapi-x11.pc.in:
27488         * pkgconfig/gstreamer-vaapi.pc.in:
27489         * tests/Makefile.am:
27490           configure: rename GST_MAJORMINOR to GST_API_VERSION.
27491
27492 2013-03-20 11:28:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27493
27494         * configure.ac:
27495           configure: improve check for H.264 codecparser.
27496
27497 2013-02-26 00:38:24 +0100  Holger Kaelberer <hk@getslash.de>
27498
27499         * gst/vaapi/gstvaapiuploader.c:
27500           vaapiupload: fix illegal write in ensure_image().
27501           Fix ensure_image() to only zero-initialize the first line of each plane.
27502           Properly initializing each plane to their full vertical resolution would
27503           require to actually compute it based on the image format.
27504           In particular, for NV12 images, the UV plane has half vertical resolution
27505           vs. the Y plane. So using the full image height to initialize the UV plane
27506           will obviously lead to a buffer overflow. Likewise for other YUV format.
27507           Since ensure_image() is only a helper function to initialize something,
27508           and not necessarily the whole thing, it is fine to initializ the first
27509           line only. Besides, the target surface is not rendered either.
27510           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27511
27512 2013-02-17 16:28:47 +0800  Xiang, Haihao <haihao.xiang@intel.com>
27513
27514         * gst-libs/gst/codecparsers/Makefile.am:
27515         * gst-libs/gst/video/Makefile.am:
27516           build: fix compiling of local GstVideoDecoder and codecparsers.
27517           Generated source files were missing a dependency on the complete set of
27518           generated header files. e.g. gstvideodecoder.c requires gstvideoutils.h
27519           to build and almost every codec parser source depends on parserutils.h.
27520           https://bugs.freedesktop.org/show_bug.cgi?id=59575
27521           Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
27522           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27523
27524 2013-02-08 11:56:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27525
27526         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27527           h264: set {luma,chroma}_log2_weight_denom to 0 if no pred_weight_table().
27528           Force luma_log2_weight_denom and chroma_log2_weight_denom to zero if
27529           there is no pred_weight_table() that was parsed.
27530           This is a workaround for the VA intel-driver on Ivy Bridge.
27531
27532 2013-02-07 15:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27533
27534         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27535           h264: use new profile definitions from codecparsers.
27536
27537 2013-02-07 15:29:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27538
27539         * ext/codecparsers:
27540           codecparsers: update to gst-vaapi-branch commit 500bc02.
27541           500bc02 h264: add profile enums
27542
27543 2013-02-06 15:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27544
27545         * NEWS:
27546           NEWS: updates.
27547
27548 2013-02-06 15:21:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27549
27550         * ext/codecparsers:
27551           codecparsers: update to gst-vaapi-branch commit 31b1c57.
27552           8957fb7 mpeg2: add helpers to convert quantization matrices
27553           07c4034 mpeg2: store quantization matrices in zigzag scan order
27554
27555 2013-01-31 11:32:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27556
27557         * tests/simple-decoder.c:
27558           tests: simple-decoder: fix build on older platforms.
27559           Make simple-decoder build and execute correctly on older platforms,
27560           and more precisely older versions of glib.
27561
27562 2013-01-31 11:30:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27563
27564         * gst-libs/gst/vaapi/glibcompat.h:
27565           glibcompat: add replacement for g_async_queue_timeout_pop().
27566           g_async_queue_timeout_pop() appeared in glib 2.31.18. Implement it as
27567           g_async_queue_timed_pop() with a GTimeVal as the final time to wait for
27568           new data to arrive in the queue.
27569
27570 2013-01-31 11:25:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27571
27572         * gst-libs/gst/vaapi/glibcompat.h:
27573           glibcompat: add replacement for g_cond_wait().
27574
27575 2013-01-30 18:38:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27576
27577         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27578           mpeg2: fix decoding of 4K videos.
27579           Account for slice_vertical_position_extension when vertical_size > 2800.
27580
27581 2013-01-30 18:54:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27582
27583         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27584           mpeg2: fix decoding of sequence_end().
27585           There shall be only one place to call decode_current_picture(), and this
27586           is in the end_frame() hook. The EOS unit is processed after end_frame()
27587           so this means we cannot have a valid picture to decode/output at this
27588           point.
27589
27590 2013-01-30 15:10:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27591
27592         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27593           mpeg2: improve robustness when packets are missing.
27594           Improve robustness when some expected packets where not received yet
27595           or that were not correctly decoded. For example, don't try to decode
27596           a picture if there was no valid sequence or picture headers.
27597
27598 2013-01-30 18:58:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27599
27600         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27601           decoder: handle decode-only frames in raw API mode.
27602           Fix gst_vaapi_decoder_get_surface() to only return frames with a valid
27603           surface proxy, i.e. with a valid VA surface. This means that any frame
27604           marked as decode-only is simply skipped.
27605
27606 2013-01-30 16:33:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27607
27608         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27609         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27610           decoder: allow frames to be dropped.
27611           If the decoder was not able to decode a frame because insufficient
27612           information was available, e.g. missing sequence or picture header,
27613           then allow the frame to be gracefully dropped without generating
27614           any error.
27615           It is also possible that a frame is not meant to be displayed but
27616           only used as a reference, so dropping that frame is also a valid
27617           operation since GstVideoDecoder base class has extra references to
27618           that GstVideoCodecFrame that needs to be released.
27619
27620 2013-01-30 16:26:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27621
27622         * gst/vaapi/gstvaapidecode.c:
27623           vaapidecode: handle decode-only frames.
27624           Decode-only frames may not have a valid surface proxy. So, simply discard
27625           them gracefully, i.e. don't create meta data information. GstVideoDecoder
27626           base class will properly handle this case and won't try to push any buffer
27627           to downstream elements.
27628
27629 2013-01-24 00:49:17 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27630
27631         * gst/vaapi/gstvaapidecode.c:
27632           vaapidecode: add support for post-seek semantics reset.
27633           Implement GstVideoDecoder::reset() as a destruction of the VA decoder
27634           and the creation of a new VA decoder.
27635           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27636
27637 2013-01-30 09:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27638
27639         * configure.ac:
27640           Bump version for development.
27641
27642 2013-01-30 09:37:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27643
27644         * NEWS:
27645         * configure.ac:
27646           0.5.1.
27647
27648 2013-01-24 00:48:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27649
27650         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27651           mpeg2: implement GstVaapiDecoder::flush() as a DPB flush.
27652
27653 2013-01-24 17:34:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27654
27655         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
27656           decoder: fix documentation for GstVaapiDecoderFrame.
27657           Drop superfluous reference to prev_slice member.
27658
27659 2013-01-29 16:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27660
27661         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27662           decoder: assume current frame is complete at end-of-stream.
27663           Assume we got a complete frame when the end-of-stream is reached and that
27664           the current codec frame contains at least one slice data unit.
27665
27666 2013-01-29 14:14:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27667
27668         * NEWS:
27669         * README:
27670         * debian.upstream/copyright:
27671         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
27672         * gst-libs/gst/vaapi/gstvaapicontext.c:
27673         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27674         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27675         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
27676         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
27677         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
27678         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
27679         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27680         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27681         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27682         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27683         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27684         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
27685         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27686         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
27687         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
27688         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27689         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27690         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27691         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
27692         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
27693         * gst-libs/gst/vaapi/gstvaapiprofile.h:
27694         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27695         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27696         * gst-libs/gst/vaapi/gstvaapisurface.c:
27697         * gst-libs/gst/vaapi/gstvaapiutils.c:
27698         * gst-libs/gst/vaapi/gstvaapiutils.h:
27699         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27700         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27701         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27702         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27703         * gst-libs/gst/vaapi/sysdeps.h:
27704         * gst/vaapi/gstvaapidecode.c:
27705         * gst/vaapi/gstvaapidownload.c:
27706         * gst/vaapi/gstvaapipluginbuffer.c:
27707         * gst/vaapi/gstvaapipluginbuffer.h:
27708         * gst/vaapi/gstvaapipostproc.c:
27709         * gst/vaapi/gstvaapisink.c:
27710         * gst/vaapi/gstvaapiupload.c:
27711         * gst/vaapi/gstvaapiuploader.c:
27712         * tests/output.c:
27713         * tests/test-decode.c:
27714         * tests/test-subpicture.c:
27715           legal: fix year for some copyright notices (2013).
27716
27717 2013-01-29 14:03:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27718
27719         * gst-libs/gst/vaapi/gstvaapicontext.h:
27720         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27721         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27722         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
27723         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27724         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
27725         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27726         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
27727         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27728         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27729         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27730         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27731         * gst-libs/gst/vaapi/gstvaapisurface.c:
27732         * gst-libs/gst/vaapi/gstvaapisurface.h:
27733         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
27734         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27735         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27736         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27737         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27738         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
27739         * gst/vaapi/gstvaapidecode.h:
27740         * gst/vaapi/gstvaapisink.h:
27741         * tests/test-subpicture.c:
27742           legal: fix year for some copyright notices (2012).
27743
27744 2013-01-29 14:00:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27745
27746         * gst-libs/gst/vaapi/gstvaapicompat.h:
27747         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
27748         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
27749         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
27750         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
27751         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
27752         * gst-libs/gst/vaapi/gstvaapiobject.c:
27753         * gst-libs/gst/vaapi/gstvaapiobject.h:
27754         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27755         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27756         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
27757         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27758         * gst-libs/gst/vaapi/gstvaapiprofile.h:
27759         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
27760         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
27761         * gst-libs/gst/vaapi/gstvaapitexture.c:
27762         * gst-libs/gst/vaapi/gstvaapitexture.h:
27763         * gst-libs/gst/vaapi/gstvaapitypes.h:
27764         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27765         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
27766         * gst-libs/gst/vaapi/gstvaapivalue.c:
27767         * gst-libs/gst/vaapi/gstvaapivalue.h:
27768         * gst-libs/gst/vaapi/gstvaapivideopool.c:
27769         * gst-libs/gst/vaapi/gstvaapivideopool.h:
27770         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27771         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27772         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27773         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27774         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27775         * tests/test-display.c:
27776         * tests/test-surfaces.c:
27777         * tests/test-windows.c:
27778           legal: add Intel copyright on modified files.
27779
27780 2013-01-29 13:37:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27781
27782         * NEWS:
27783           NEWS: updates.
27784
27785 2013-01-28 18:09:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27786
27787         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27788           wayland: use a local event queue to avoid lock contention.
27789           This improves performance when rendering several surfaces from within
27790           the same process. e.g. a tee of vaapidecode'd buffers to vaapisink.
27791
27792 2013-01-28 17:28:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27793
27794         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27795           wayland: fix thread-safe issues.
27796           The Wayland API is not fully thread-safe and client applications shall
27797           perform locking themselves on key functions. Besides, make sure to
27798           release the lock if the _render() function fails.
27799
27800 2013-01-28 16:37:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27801
27802         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27803           wayland: really wait until the pending redraw completed.
27804           Introduce gst_vaapi_window_wayland_sync() helper function to wait for
27805           the completion of the redraw request. Use it in _render() function to
27806           actually block until the previous draw request is completed.
27807
27808 2013-01-23 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27809
27810         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27811           wayland: fix frame_redraw callback.
27812           The redraw callback needs to be attached to the surface prior to the
27813           commit. Otherwise, the callback notifies the next surface repaint,
27814           which is not the desired behaviour. i.e. we want to be notified for
27815           the surface we have just filled.
27816           Another isse was the redraw_pending was reset before the actual completion
27817           of the frame redraw callback function, thus causing concurrency issues.
27818           e.g. the callback could have been called again, but with a NULL buffer.
27819
27820 2013-01-28 14:45:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27821
27822         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
27823           wayland: fix display sharing.
27824           When the Wayland display is shared, we still have to create our own local
27825           shell and compositor objects, since they are not propagated from the cache.
27826           Likewise, we also need to determine the display size or vaapisink would
27827           fail to account for the display aspect ratio, and will try to create a 0x0
27828           window.
27829
27830 2013-01-24 17:38:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27831
27832         * ext/codecparsers:
27833           codecparsers: update to gst-vaapi-branch commit 21a098e.
27834           21a098e vc1: fix bitplanes decoding (DIFF6 or NORM6) [residual]
27835           f8c836a vc1: fix bitplanes decoding (DIFF6 or NORM6)
27836
27837 2013-01-23 16:38:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27838
27839         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27840           vc1: handle frames with multiple slices.
27841
27842 2013-01-23 17:01:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27843
27844         * ext/codecparsers:
27845           codecparsers: update to gst-vaapi-branch commit 3fba492.
27846           3fba492 vc1: add API to parse slice headers
27847
27848 2013-01-23 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27849
27850         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27851           vc1: handle CLOSED_ENTRY.
27852           When CLOSED_ENTRY == 0, and if the B pictures that follow an entry-point
27853           lack a reference anchor picture, these B pictures shall be discarded.
27854           https://bugs.freedesktop.org/show_bug.cgi?id=59505
27855
27856 2013-01-23 10:25:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27857
27858         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27859           vc1: cope with latest codecparser changes.
27860           Fix build with newer VC-1 codecparser where dqsbedge was renamed to
27861           dqbedge, and now represents either DQSBEDGE or DQDBEDGE depending on
27862           the actual value of DQPROFILE.
27863
27864 2013-01-23 10:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27865
27866         * ext/codecparsers:
27867           codecparsers: update to gst-vaapi-branch commit 3d2c67c.
27868           3d2c67c vc1: simplify GstVC1VopDquant structure
27869
27870 2013-01-22 10:51:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27871
27872         * ext/codecparsers:
27873           codecparsers: update to gst-vaapi-branch commit 5d33da8.
27874           5d33da8 vc1: fix bitplanes decoding
27875           562bdc4 vc1: fix VOPDQUANT parser for DQUANT == 2
27876           0b13d2b vc1: fix calculation of ALTPQUANT
27877           ba88e63 vc1: fix parser for DQPROFILE in VOPDQUANT
27878
27879 2013-01-22 15:47:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27880
27881         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27882           vc1: fix size of encapsulated BDU.
27883           Fix size of encapsulated BDUs since GstVC1BDU.size actually represents
27884           the size of the BDU data, starting from offset, i.e. after any start
27885           code is parsed.
27886           This fixes a buffer overflow during the unescaping process.
27887
27888 2013-01-11 17:08:00 +0800  Wind Yuan <feng.yuan@intel.com>
27889
27890         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27891           vc1: fix decoding of WMV3 videos in AVI format.
27892           The AVI demuxer (avidemux) does not set a proper "format" attribute
27893           to the generated caps. So, try to recover the video codec format from
27894           the "wmvversion" property instead.
27895           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27896
27897 2013-01-22 13:28:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27898
27899         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27900           vc1: review and report errors accordingly.
27901           Use GST_ERROR() to report real errors instead of hiding them into
27902           GST_DEBUG().
27903
27904 2013-01-22 13:50:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27905
27906         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27907           vc1: don't create GstBuffers for all decoder units.
27908           Don't create temporary GstBuffers for all decoder units, even if they
27909           are lightweight "sub-buffers", since it is not really necessary to keep
27910           the buffer data around.
27911
27912 2013-01-22 16:03:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27913
27914         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27915           vc1: implement flush() hook.
27916           Make it a simple DPB flush.
27917
27918 2013-01-22 13:44:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27919
27920         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27921           vc1: implement {start,end}_frame() hooks.
27922           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
27923           that to create new VA context earlier and submit VA pictures to the
27924           HW for decoding as soon as possible. i.e. don't wait for the next
27925           frame to start decoding the previous one.
27926
27927 2013-01-22 09:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27928
27929         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27930           vc1: fix next POC for new sequence layers.
27931           Fix next POC when a new sequence layer is reached. At this point, we
27932           need to reset any previous reference picture, i.e. non B-frame.
27933
27934 2012-08-02 17:15:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27935
27936         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27937           vc1: port to common GstVaapiDpb interface.
27938           Use GstVaapiDpb interface instead of maintaining our own prev and next
27939           picture pointers. While doing so, try to derive a sensible POC value.
27940           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27941
27942 2013-01-15 17:10:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27943
27944         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27945           vc1: fix decode_sequence_end() to return success, not EOS.
27946
27947 2013-01-18 17:00:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27948
27949         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27950           decoder: simplify gst_vaapi_decoder_get_surface().
27951           Avoid extraenous branches, i.e. immediately return with success once we
27952           have a decoded frame available.
27953
27954 2013-01-18 16:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27955
27956         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27957           decoder: optimize and clean decode_step() up.
27958           Avoid usage of goto. Simplify decode_step() process to first accumulate all
27959           pending buffers into the GstAdapter, and then parse and decode units from
27960           that input adapter. Stop the process once a frame is fully decoded or an
27961           error occurred.
27962
27963 2013-01-18 14:46:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27964
27965         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27966           display: move "vaapi" debug init to libgstvaapi_init_once().
27967
27968 2013-01-18 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27969
27970         * configure.ac:
27971         * gst-libs/gst/vaapi/Makefile.am:
27972         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27973         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
27974           display: dump gstreamer-vaapi version for debugging purposes.
27975
27976 2013-01-18 14:30:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27977
27978         * tests/Makefile.am:
27979           tests: simple-decoder: fix build with built-in videoutils.
27980           Fix build with built-in videoutils, i.e. when system GStreamer installation
27981           does not know about GstVideoDecoder API.
27982
27983 2013-01-18 10:35:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27984
27985         * tests/simple-decoder.c:
27986           tests: simple-decoder: flush decoded frames at EOS.
27987           Flush the remaining decoded frames when an end-of-stream is reached.
27988
27989 2013-01-18 10:25:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27990
27991         * tests/simple-decoder.c:
27992           tests: simple-decoder: drop use of GstVaapiVideoMeta.
27993           Don't use GstVaapiVideoMeta since that object is not guaranteed to live
27994           in libgstvaapi forever. Rather, that'd move to plugin elements at some
27995           point.
27996
27997 2013-01-16 13:53:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27998
27999         * tests/simple-decoder.c:
28000           tests: simple-decoder: add benchmark mode.
28001           Add --benchmark option to enable benchmark mode where rendering is not
28002           synchronized with presentation timestamps of the decoded surfaces.
28003
28004 2013-01-16 13:29:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28005
28006         * tests/Makefile.am:
28007         * tests/simple-decoder.c:
28008           tests: simple-decoder: honour framerate from the bitstream.
28009           Try to honour the framerate from the bitstream, or cap the playback to
28010           60 fps by default.
28011
28012 2013-01-15 18:49:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28013
28014         * tests/simple-decoder.c:
28015           tests: simple-decoder: set window size to the surface dimensions.
28016           Set the window size to the decoded surface dimensions, if the user has
28017           not requested the application to run in full-screen mode. Besides, no
28018           effort is made to preserve aspect ratio or to center the video within
28019           the mapped window.
28020
28021 2013-01-15 17:33:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28022
28023         * tests/Makefile.am:
28024         * tests/simple-decoder.c:
28025           tests: add simple decoder application.
28026           Add simple decoder application to show off decoding capabilities from
28027           raw bitstreams, for debugging or performance evaluation purposes.
28028
28029 2013-01-15 17:30:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28030
28031         * tests/Makefile.am:
28032         * tests/codec.c:
28033         * tests/codec.h:
28034           tests: add codec helper utils.
28035           Add helper functions to determine the codec type from a specific file
28036           or utility functions to convert from codec type to GstCaps or from
28037           codec name to codec type.
28038
28039 2013-01-15 17:47:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28040
28041         * tests/output.c:
28042           tests: allow fullscreen mode.
28043           Add new --fullscreen|-f option to create new windows in fullscreen mode.
28044
28045 2013-01-17 18:35:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28046
28047         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28048           h264: implement GstVaapiDecoder::flush() as a DPB flush.
28049
28050 2013-01-17 18:07:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28051
28052         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28053           h264: handle end-of-stream NALU.
28054           Handle <end-of-stream> NAL unit to actually flush any pending picture
28055           from the DPB.
28056
28057 2013-01-17 18:22:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28058
28059         * gst/vaapi/gstvaapidecode.c:
28060           vaapidecode: handle EOS events.
28061           Flush all decoded frames to downstream when EOS is received. This is
28062           performed by implementing GstVideoDecoder::finish() hook.
28063
28064 2013-01-17 18:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28065
28066         * gst/vaapi/gstvaapidecode.c:
28067           vaapidecode: split gvd_handle_frame() into decode/push frames.
28068           Split GstVideoDecoder::handle_frame() implementation into two functions:
28069           (i) one for decoding the provided GstVideoCodecFrame and (ii) another one
28070           for purging all decoded frames and submit them downstream.
28071
28072 2013-01-17 18:33:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28073
28074         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28075         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28076           decoder: add GstVaapiDecoder::flush() hook.
28077
28078 2013-01-15 17:21:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28079
28080         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28081         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28082           decoder: fix check for end-of-stream in raw API mode.
28083           Make sure to immediately return GST_VAAPI_DECODER_STATUS_END_OF_STREAM
28084           if the end-of-stream was already reached at the previous iteration.
28085
28086 2013-01-15 16:55:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28087
28088         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28089           decoder: make decode_step() return once the frame is decoded.
28090           Make sure we always have a free surface left to use for decoding the
28091           current frame. This means that decode_step() has to return once a frame
28092           gets decoded. If the current adapter contains more buffers with valid
28093           frames, they will get parsed and decoded on subsequent iterations.
28094
28095 2013-01-17 15:47:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28096
28097         * ext/codecparsers:
28098           codecparsers: update to gst-vaapi-branch commit b47983a.
28099           8840c2d h264: zero-initialize SPS VUI parameters
28100
28101 2013-01-15 09:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28102
28103         * configure.ac:
28104           Bump version for development.
28105
28106 2013-01-15 09:21:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28107
28108         * NEWS:
28109         * configure.ac:
28110           0.5.0.
28111
28112 2013-01-14 11:48:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28113
28114         * docs/reference/libs/libs-docs.xml.in:
28115         * docs/reference/libs/libs-sections.txt:
28116         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
28117         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28118         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28119           docs: expose new interfaces.
28120
28121 2013-01-14 12:58:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28122
28123         * NEWS:
28124           NEWS: updates.
28125
28126 2013-01-14 10:58:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28127
28128         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28129           dpb: cosmetics (clean-ups).
28130
28131 2013-01-14 10:46:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28132
28133         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28134         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
28135         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28136           dpb: port to GstVaapiMiniObject.
28137
28138 2013-01-14 10:21:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28139
28140         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28141         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
28142         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28143           dpb: drop GstVaapiDpb2 interface, keep only one class.
28144           Keep only one DPB interface and rename gst_vaapi_dpb2_get_references()
28145           to gst_vaapi_dpb_get_neighbours() so that to retrieve pictures in DPB
28146           around the specified picture POC.
28147
28148 2012-08-02 15:56:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28149
28150         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28151         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
28152         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28153           dpb: rename GstVaapiDpbMpeg2 to GstVaapiDpb2.
28154           Move GstVaapiDpbMpeg2 API to a more generic version that could also be
28155           useful to other decoders that require 2 reference pictures, e.g. VC-1.
28156           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28157
28158 2013-01-11 16:04:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28159
28160         * configure.ac:
28161           Bump version for pre-release.
28162
28163 2013-01-11 15:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28164
28165         * NEWS:
28166           NEWS: updates.
28167
28168 2012-07-20 12:36:33 +0200  Holger Kaelberer <holger.k@elberer.de>
28169
28170         * configure.ac:
28171         * gst-libs/gst/vaapi/gstvaapicontext.c:
28172         * gst-libs/gst/vaapi/gstvaapiutils.c:
28173         * gst-libs/gst/vaapi/sysdeps.h:
28174         * tests/test-subpicture.c:
28175           overlay: fix build without advanced GstVideoOverlayFormatFlags.
28176           Check for global-alpha support in GstVideoOverlayComposition API.
28177           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28178
28179 2013-01-04 10:19:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28180
28181         * tests/test-subpicture.c:
28182           tests: add support for global-alpha subpictures.
28183           Add --global-alpha option to test-subpicture.
28184
28185 2013-01-10 13:09:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28186
28187         * tests/Makefile.am:
28188         * tests/test-subpicture.c:
28189           tests: use GstVideoOverlayComposition API for subpicture test.
28190
28191 2013-01-10 11:26:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28192
28193         * tests/Makefile.am:
28194         * tests/test-subpicture.c:
28195           tests: use common decoder helpers for subpicture test.
28196           Use common decoder helpers for subpicture test, thus allowing to decode
28197           sample images in an alternate format.
28198
28199 2013-01-10 11:22:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28200
28201         * tests/Makefile.am:
28202         * tests/decoder.c:
28203         * tests/decoder.h:
28204         * tests/test-decode.c:
28205           tests: add decoder helpers.
28206
28207 2013-01-11 15:19:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28208
28209         * gst-libs/gst/vaapi/gstvaapicontext.c:
28210           overlay: fix ordering of composition layers.
28211           Make sure to maintain the association order of composition layers when
28212           GstVideoOverlayRectangle objects are kept around (cached).
28213
28214 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
28215
28216         * gst-libs/gst/vaapi/gstvaapicontext.c:
28217           overlay: fix support for global-alpha.
28218           Fix support for global-alpha subpictures. The previous changes brought
28219           the ability to check for GstVideoOverlayRectangle changes by comparing
28220           the underlying pixel buffer pointers. If sequence number and pixel data
28221           did not change, then this is an indication that only the global-alpha
28222           value changed. Now, try to update the underlying VA subpicture global-alpha
28223           value.
28224           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28225
28226 2013-01-11 11:53:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28227
28228         * gst-libs/gst/vaapi/gstvaapicontext.c:
28229           overlay: detect render-rect changes.
28230           Don't re-upload VA subpicture if only the render rectangle changed.
28231           Rather deassociate the subpicture and re-associate it with the new
28232           render rectangle.
28233
28234 2013-01-11 11:12:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28235
28236         * gst-libs/gst/vaapi/gstvaapicontext.c:
28237           overlay: fix check for pixels buffer change.
28238           A GstVideoOverlayRectangle is created whenever the underlying pixels data
28239           change. However, when global-alpha is supported, it is possible to re-use
28240           the same GstVideoOverlayRectangle but with a change to the global-alpha
28241           value. This process causes a change of sequence number, so we can no longer
28242           check for that.
28243           Still, if sequence numbers did not change, then there was no change in
28244           global-alpha either. So, we need a way to compare the underlying GstBuffer
28245           pointers. There is no API to retrieve the original pixels buffer from
28246           a GstVideoOverlayRectangle. So, we use the following heuristics:
28247           1. Use gst_video_overlay_rectangle_get_pixels_unscaled_argb() with the same
28248           format flags from which the GstVideoOverlayRectangle was created. This
28249           will work if there was no prior consumer of the GstVideoOverlayRectangle
28250           with alternate (non-"native") format flags.
28251           2. In overlay_rectangle_has_changed_pixels(), we have to use the same
28252           gst_video_overlay_rectangle_get_pixels_unscaled_argb() function but
28253           with flags that match the subpicture. This is needed to cope with
28254           platforms that don't support global-alpha in HW, so the gst-video
28255           layer takes care of that and fixes this up with a possibly new
28256           GstBuffer, and hence pixels data (or) in-place by caching the current
28257           global-alpha value applied. So we have to determine the rectangle
28258           was previously used, based on what previous flags were used to
28259           retrieve the ARGB pixels buffer.
28260
28261 2013-01-10 18:42:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28262
28263         * gst-libs/gst/vaapi/gstvaapicontext.c:
28264           overlay: optimize cache at the GstVideoOverlayRectangle level.
28265           We previously assumed that an overlay composition changed if the number
28266           of overlay rectangles in there actually changed, or that the rectangle
28267           was updated, and thus its seqnum was also updated.
28268           Now, we can cope with cases where the GstVideoOverlayComposition grew
28269           by one or a few more overlay rectangles, and the initial overlay rectangles
28270           are kept as is.
28271
28272 2013-01-10 13:41:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28273
28274         * gst-libs/gst/vaapi/gstvaapicontext.c:
28275           overlay: simplify caching of GstVideoOverlayComposition objects.
28276           Create the GPtrArray once in the _init() function and destroy it only
28277           in the _finalize() function. Then use overlay_clear() to remove all
28278           subpicture associations for intermediate updates, don't recreate the
28279           GPtrArray.
28280           Make GstVaapiOverlayRectangle a reference counted object. Also make
28281           sure that overlay_rectangle_new() actually creates and associates the
28282           VA subpicture.
28283
28284 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
28285
28286         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28287         * gst-libs/gst/vaapi/gstvaapiutils.c:
28288         * gst-libs/gst/vaapi/gstvaapiutils.h:
28289           overlay: add support for global-alpha.
28290           Handle global-alpha from GstVideoOverlayComposition API. Likewise,
28291           the same code path could also work for premultiplied-alpha but this
28292           was not tested.
28293           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28294
28295 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
28296
28297         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28298         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28299         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28300         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28301         * gst-libs/gst/vaapi/gstvaapisurface.c:
28302         * tests/image.c:
28303         * tests/test-subpicture.c:
28304           subpicture: add support for global-alpha.
28305           Add the necessary helpers in GstVaapiDisplay to determine whether subpictures
28306           with global alpha are supported or not. Also add accessors in GstVaapiSubpicture
28307           to address this feature.
28308           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28309
28310 2013-01-04 09:41:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28311
28312         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28313         * gst-libs/gst/vaapi/gstvaapiutils.c:
28314         * gst-libs/gst/vaapi/gstvaapiutils.h:
28315           subpicture: add premultiplied-alpha and global-alpha feature flags.
28316           Add premultiplied-alpha and global-alpha feature flags, along with converters
28317           between VA-API and gstreamer-vaapi definitions. Another round of helpers is
28318           also necessary for GstVideoOverlayComposition API.
28319
28320 2013-01-03 18:02:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28321
28322         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28323           display: allow image/subpicture formats with additional flags.
28324           Introduce new GstVaapiFormatInfo to store the actual GstVaapiImageFormat
28325           and any additional flags needed. Currently, all flags are set to zero.
28326
28327 2013-01-11 13:34:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28328
28329         * gst-libs/gst/codecparsers/Makefile.am:
28330         * gst-libs/gst/video/Makefile.am:
28331         * tests/Makefile.am:
28332           libs: fix build of submodule wrappers.
28333           Make sure to build codecparsers/ and videoutils/ sources against the
28334           newly generated headers when out-of-source builds are used.
28335
28336 2013-01-11 14:11:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28337
28338         * configure.ac:
28339           configure: fix checks for packages installed in non-standard roots.
28340
28341 2013-01-10 10:12:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28342
28343         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
28344           decoder: fix mini object implementation on 64-bit systems.
28345           Use GPOINTER_TO_SIZE() instead of GPOINTER_TO_UINT() while manipulating
28346           pointers. The latter is meant to be 32-bit only, not uintptr_t like size.
28347           Only a gsize can hold all bits of a pointer.
28348           Thanks to Ouping Zhang for spotting this error.
28349
28350 2013-01-09 16:05:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28351
28352         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28353           mpeg2: optimize scan for the end of the frame.
28354           Heuristic: if the second start-code is available, check whether that
28355           one marks the start of a new frame because e.g. this is a sequence
28356           or picture header. This doesn't save much, since we already cache the
28357           results.
28358
28359 2013-01-09 13:44:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28360
28361         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28362           mpeg2: optimize scan for start codes.
28363           Accelerate scan for start codes by skipping up to 3 bytes per iteration.
28364           A start code prefix is defined by the following bytes: 00 00 01. Thus,
28365           for any group of 3 bytes (xx yy zz), we have the following possible cases:
28366           1. If zz != 1, this cannot be a start code, then skip 3 bytes;
28367           2. If yy != 0, this cannot be a start code, then skip 2 bytes;
28368           3. If xx != 0 or zz != 1, this cannot be a start code, then skip 1 byte;
28369           4. xx == 00, yy == 00, zz == 1, we have match!
28370           This algorithm requires to peek bytes from the adapter. This increases the
28371           amount of bytes copied to a temporary buffer, but this process is much faster
28372           than scanning for all the bytes and using shift/masks. So, overall, this is
28373           a win.
28374
28375 2013-01-08 16:41:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28376
28377         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28378           mpeg2: drop useless gst_adapter_peek().
28379           Drop useless gst_adapter_peek() since the returned buffer was not used
28380           and this could incur superfluous memcpy().
28381
28382 2013-01-07 16:07:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28383
28384         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28385           mpeg2: cosmetics: move parse_slice() down.
28386
28387 2013-01-07 15:24:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28388
28389         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28390           mpeg2: avoid too many allocations of parser info objects.
28391           Move parsing back to decoding step, but keep functions separate for now.
28392           This is needed for future optimizations that may introduce some meta data
28393           for parsed info attached to codec frames.
28394
28395 2013-01-07 14:04:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28396
28397         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28398         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28399           decoder: decoder units are no longer dynamically allocated objects.
28400
28401 2013-01-07 13:59:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28402
28403         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28404         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28405         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28406           decoder: optimize pre-allocation of decoder units.
28407           Optimize pre-allocation of decoder units, thus avoiding un-necessary
28408           memory reallocations. The heuristic used is that we could have around
28409           one slice unit per macroblock line.
28410
28411 2013-01-07 13:41:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28412
28413         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28414         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28415         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28416         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28417         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28418           decoder: use an array of units instead of a single-linked list.
28419           Use a GArray to hold decoder units in a frame, instead of a single-linked
28420           list. This makes 'append' calls faster, but not that much. At least, this
28421           makes things clearer.
28422
28423 2013-01-07 11:13:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28424
28425         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28426         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28427         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28428         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
28429         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28430         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
28431         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28432         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28433         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28434           decoder: refactor decoder unit API.
28435           Allocate decoder unit earlier in the main parse() function and don't
28436           delegate this task to derived classes. The ultimate purpose is to get
28437           rid of dynamic allocation of decoder units.
28438
28439 2013-01-07 10:48:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28440
28441         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28442           mpeg2: introduce parser info instead of MPEG-2 specific decoder unit.
28443           Use a new GstVaapiParserInfoMpeg2 data structure instead of deriving
28444           from GstVaapiDecoderUnit for MPEG-2 specific parser information.
28445
28446 2013-01-07 10:22:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28447
28448         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28449           h264: introduce parser info instead of H.264 specific decoder unit.
28450           Use a new GstVaapiParserInfoH264 data structure instead of deriving
28451           from GstVaapiDecoderUnit for H.264 specific parser information.
28452
28453 2013-01-05 12:33:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28454
28455         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28456           h264: set default values for some header fields.
28457           The SPS, PPS and slice headers are not fully zero-initialized in the
28458           codecparsers/ library. Rather, the standard upstream behaviour is to
28459           initialize only certain syntax elements with some inferred values if
28460           they are not present in the bitstream.
28461           At the gstreamer-vaapi decoder level, we need to further initialize
28462           certain syntax elements with some sensible default values so that to
28463           not complicate VA drivers that just pass those verbatim to the HW,
28464           and also avoid an memset() of the whole decoder unit.
28465           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28466           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28467
28468 2013-01-06 19:05:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28469
28470         * ext/codecparsers:
28471           codecparsers: update to gst-vaapi-rebased commit b47983a.
28472           b47983a h264: add inferred value for slice_beta_offset_div2
28473
28474 2013-01-05 17:55:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28475
28476         * gst/vaapi/gstvaapidecode.c:
28477         * gst/vaapi/gstvaapidownload.c:
28478         * gst/vaapi/gstvaapipluginbuffer.c:
28479         * gst/vaapi/gstvaapipluginbuffer.h:
28480         * gst/vaapi/gstvaapipostproc.c:
28481         * gst/vaapi/gstvaapisink.c:
28482         * gst/vaapi/gstvaapiupload.c:
28483         * gst/vaapi/gstvaapiuploader.c:
28484           plugins: cope with new GstVaapiVideoMeta API.
28485           Update plugin elements with the new GstVaapiVideoMeta API.
28486           This also fixes support for subpictures/overlay because GstVideoDecoder
28487           generates a sub-buffer from the GstVaapiVideoBuffer. So, that sub-buffer
28488           is marked as read-only. However, when comes in the textoverlay element
28489           for example, it checks whether the input buffer is writable. Since that
28490           buffer read-only, then a new GstBuffer is created. Since gst_buffer_copy()
28491           does not preserve the parent field, the generated buffer in textoverlay
28492           is not exploitable because we lost all VA specific information.
28493           Now, with GstVaapiVideoMeta information attached to a standard GstBuffer,
28494           all information are preserved through gst_buffer_copy() since the latter
28495           does copy metadata (qdata in this case).
28496
28497 2013-01-05 17:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28498
28499         * gst-libs/gst/vaapi/Makefile.am:
28500         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28501         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28502         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
28503         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
28504         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
28505         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
28506           videobuffer: wrap video meta into a surface buffer.
28507           Make GstVaapiVideoBuffer a simple wrapper for video meta. This buffer is
28508           no longer necessary but for compatibility with GStreamer 0.10 APIs or users
28509           expecting a GstSurfaceBuffer like Clutter.
28510
28511 2013-01-05 08:31:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28512
28513         * gst-libs/gst/vaapi/Makefile.am:
28514         * gst-libs/gst/vaapi/gstvaapivideometa.c:
28515         * gst-libs/gst/vaapi/gstvaapivideometa.h:
28516           videobuffer: add video meta information.
28517           Add new GstVaapiVideoMeta object that holds all information needed to
28518           convey gst-vaapi specific data as a GstBuffer.
28519
28520 2013-01-03 13:10:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28521
28522         * gst/vaapi/gstvaapidecode.c:
28523           vaapidecode: fix calculation of the time-out value.
28524           Fix calculation of the time-out value for cases where no VA surface is
28525           available for decoding. In this case, we need to wait until downstream
28526           sink consumed at least one surface. The time-out was miscalculated as
28527           it was always set to <current-time> + one second, which is not suitable
28528           for streams with larger gaps.
28529
28530 2013-01-03 13:05:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28531
28532         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28533           decoder: always use the calculated presentation timestamp.
28534           Use PTS value computed by the decoder, which could also be derived from
28535           the GstVideoCodecFrame PTS. This makes it possible to fix up the PTS if
28536           the original one was miscomputed or only represented a DTS instead.
28537
28538 2013-01-02 17:33:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28539
28540         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28541           h264: don't create sub-buffer for slice data.
28542
28543 2013-01-03 11:16:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28544
28545         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28546           decoder: create new context when encoded resolution changes.
28547           Create a new VA context if the encoded surface size changes because we
28548           need to keep the underlying surface pool until the last one was released.
28549           Otherwise, either of the following cases could have happened: (i) release
28550           a VA surface to an inexistent pool, or (ii) release VA surface to an
28551           existing surface pool, but with different size.
28552
28553 2013-01-02 17:23:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28554
28555         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28556           mpeg2: don't create sub-buffer for slice data.
28557           Avoid creating a GstBuffer for slice data. Rather, directly use the codec
28558           frame input buffer data. This is possible because the codec frame is valid
28559           until end_frame() where we submit the VA buffers for decoding. Anyway, the
28560           slice data buffer is copied into the VA buffer when it is created.
28561
28562 2013-01-02 14:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28563
28564         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28565           mpeg2: minor clean-ups.
28566           Drop explicit initialization of most fields that are implicitly set to
28567           zero. Remove some useless checks for NULL pointers.
28568
28569 2013-01-02 14:18:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28570
28571         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28572           mpeg2: optimize scan for the second start code.
28573           Optimize scan for the second start code, on the next parse() call so that
28574           to avoid scanning again earlier bytes where we didn't find any start code.
28575
28576 2013-01-02 14:10:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28577
28578         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28579           mpeg2: use sequence_display_extension() to compute PAR.
28580           Also compute pixel-aspect-ratio from sequence_display_extension(),
28581           should it exist in the bitstream.
28582
28583 2013-01-02 14:02:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28584
28585         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28586           mpeg2: handle sequence_display_extension().
28587
28588 2012-12-27 15:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28589
28590         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28591           mpeg2: implement {start,end}_frame() hooks.
28592           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
28593           that to create new VA context earlier and submit VA pictures to the
28594           HW for decoding as soon as possible. i.e. don't wait for the next
28595           frame to start decoding the previous one.
28596
28597 2012-12-27 14:54:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28598
28599         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28600           mpeg2: parse slice() header earlier.
28601           Parse slice() header and first macroblock position earlier in _parse()
28602           function instead of waiting for the _decode() stage. This doesn't change
28603           anything but readability.
28604
28605 2012-12-27 14:41:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28606
28607         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28608           mpeg2: add codec specific decoder unit.
28609           Introduce new GstVaapiDecoderUnitMpeg2 object, which holds the standard
28610           GstMpegVideoPacket and additional parsed header info. Besides, we now
28611           parse as early as in the _parse() function so that to avoid un-necessary
28612           creation of sub-buffers in _decode() for video packets that are not slices.
28613
28614 2012-12-27 18:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28615
28616         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28617         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28618         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28619         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28620           decoder: introduce lists of units to decode before/after frame.
28621           Theory of operations: all units marked as "slice" are moved to the "units"
28622           list. Since this list only contains slice data units, the prev_slice pointer
28623           was removed. Besides, we now maintain two extra lists of units to be decoded
28624           before or after slice data units.
28625           In particular, all units in the "pre_units" list will be decoded before
28626           GstVaapiDecoder::start_frame() is called and units in the "post_units"
28627           list will be decoded after GstVaapiDecoder::end_frame() is called.
28628
28629 2013-01-02 16:06:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28630
28631         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
28632         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28633           decoder: drop useless checks for codec objects.
28634           Codec objects are used internally only and they are bound to be created
28635           with a valid GstVaapiDecoder object.
28636
28637 2012-12-27 10:35:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28638
28639         * gst/vaapi/gstvaapidecode.c:
28640           vaapidecode: use GST_ERROR to print error messages.
28641
28642 2012-12-27 09:55:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28643
28644         * gst/vaapi/gstvaapidecode.c:
28645           vaapidecode: avoid double release of frame on error.
28646           Don't call gst_video_decoder_drop_frame() if gst_video_decoder_finish_frame()
28647           was already called before and it returned an error. In that case, we were
28648           releasing the frame again, thus leading to a "double-free" condition.
28649
28650 2012-12-21 14:29:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28651
28652         * .gitmodules:
28653         * autogen.sh:
28654         * configure.ac:
28655         * ext/Makefile.am:
28656         * ext/videoutils:
28657         * gst-libs/gst/Makefile.am:
28658         * gst-libs/gst/vaapi/Makefile.am:
28659         * gst-libs/gst/video/Makefile.am:
28660         * gst/vaapi/Makefile.am:
28661           Add videoutils submodule for GstVideoDecoder APIs.
28662
28663 2012-12-18 16:36:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28664
28665         * configure.ac:
28666           configure: check for GstVideoDecoder API.
28667           GstVideoDecoder API is part of an unreleased GStreamer 0.10 stack. In particular,
28668           this is only available in git 0.10 branch or GStreamer >= 1.0 stack. Interested
28669           parties may either use upstream git 0.10 branch or backport the necessary support
28670           for GstVideoDecoder API, thus including helper tools like GstVideoCodecFrame et al.
28671
28672 2012-12-18 16:21:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28673
28674         * docs/reference/libs/libs.core.types:
28675           docs: remove obsolete gst_vaapi_surface_proxy_get_type().
28676           GstVaapiSurfaceProxy is no longer based on the GType system.
28677
28678 2012-12-18 16:17:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28679
28680         * docs/reference/libs/libs-sections.txt:
28681           docs: fix entries for GstVaapiSurfaceProxy.
28682
28683 2012-12-18 15:29:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28684
28685         * NEWS:
28686           NEWS: updates.
28687
28688 2012-12-18 15:15:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28689
28690         * configure.ac:
28691         * gst-libs/gst/vaapi/Makefile.am:
28692           Bump library major version.
28693           Increase library major so that to cope with API/ABI incompatible changes
28694           since 0.4.x series and avoid user issues.
28695
28696 2012-12-13 16:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28697
28698         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28699           surfaceproxy: minor clean-ups.
28700
28701 2012-12-13 15:51:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28702
28703         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28704         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28705         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28706           surfaceproxy: drop accessors to obsolete attributes.
28707           Make GstVaapiSurfaceProxy only a thin wrapper around a VA context and a
28708           VA surface. i.e. drop any other attribute like timestamp, duration,
28709           interlaced or top-field-first.
28710
28711 2012-12-13 15:34:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28712
28713         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28714         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28715         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
28716         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28717         * gst/vaapi/gstvaapidecode.c:
28718           decoder: maintain decoded frames as GstVideoCodecFrame objects.
28719           Maintain decoded surfaces as GstVideoCodecFrame objects instead of
28720           GstVaapiSurfaceProxy objects. The latter will tend to be reduced to
28721           the strict minimum: a context and a surface.
28722
28723 2012-12-13 14:30:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28724
28725         * gst/vaapi/gstvaapidecode.c:
28726           vaapidecode: output all decoded frames as soon as possible.
28727           Make sure to push all decoded frames downstream as soon as possible.
28728           This makes sure we don't need to wait for a new frame to be ready to
28729           be decoded before receiving new decoded frames.
28730           This also separates the decode process and the output process. The latter
28731           could be moved to a specific GstTask later on.
28732
28733 2012-12-13 14:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28734
28735         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28736         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28737           decoder: add gst_vaapi_decoder_get_frame() API.
28738           Add new gst_vaapi_decoder_get_frame() function meant to be used with
28739           gst_vaapi_decoder_decode(). The purpose is to return the next decoded
28740           frame as a GstVideoCodecFrame and the associated GstVaapiSurfaceProxy
28741           as the user-data object.
28742
28743 2012-12-13 15:47:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28744
28745         * gst/vaapi/gstvaapipostproc.c:
28746           vaapipostproc: use GstBuffer flags for TFF.
28747           Determine whether the buffer represents the top-field only by checking for
28748           the GST_VIDEO_BUFFER_TFF flag instead of relying on the GstVaapiSurfaceProxy
28749           flag. Also trust "interlaced" caps to determine whether the input frame
28750           is interleaved or not.
28751
28752 2012-12-13 13:27:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28753
28754         * gst/vaapi/gstvaapipostproc.c:
28755           vaapipostproc: handle video sub-buffers.
28756           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
28757           for non raw YUV cases. Make sure vaapipostproc now understands those buffers.
28758
28759 2012-12-18 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28760
28761         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28762           h264: optimize initialization process of decoder units.
28763           Decoder units were zero-initialized, including the SPS/PPS/slice headers.
28764           The latter don't require zero-initialization since the codecparsers/ lib
28765           will do so for key variables already. This is not a great value per se but
28766           at least it makes it possible to check whether the default initialization
28767           decisions made in the codecparsers/ lib were right or not.
28768           This can be reverted if this exposes too many issues.
28769
28770 2012-12-13 11:48:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28771
28772         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28773           h264: minor clean-ups.
28774           Drop explicit initialization of most fields that are implicitly set to
28775           zero. Drop helper macros for casting to GstVaapiPictureH264 or
28776           GstVaapiFrameStore. Also remove some useless checks for NULL pointers.
28777
28778 2012-12-07 17:45:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28779
28780         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28781           h264: drop GstVaapiSliceH264 object.
28782           Use standard GstVaapiSlice object from now on since we already have
28783           parsed and recorded the slice headers (GstH264SliceHdr decode units).
28784
28785 2012-12-13 10:47:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28786
28787         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28788           h264: detect new pictures from decode-units.
28789           Update is_new_picture() to cope with GstVaapiDecoderUnitH264, instead
28790           of assuming frame boundaries when first_mb_in_slice is zero.
28791
28792 2012-12-13 10:21:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28793
28794         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28795           h264: implement {start,end}_frame() hooks.
28796           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
28797           that to create new VA context earlier and submit VA pictures to the
28798           HW for decoding as soon as possible. i.e. don't wait for the next
28799           frame to start decoding the previous one.
28800
28801 2012-12-12 18:33:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28802
28803         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28804           h264: optimize scan for the second start code.
28805           Optimize scan for the second start code, on the next parse() call so that
28806           to avoid scanning again earlier bytes where we didn't find any start code.
28807
28808 2012-12-06 17:25:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28809
28810         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28811           h264: add codec specific decoder unit.
28812           Introduce new GstVaapiDecoderUnitH264 object, which holds the standard
28813           NAL unit header (GstH264NalUnit) and additional parsed header info.
28814           Besides, we now parse headers as early as in the _parse() function so
28815           that to avoid un-necessary creation of sub-buffers in _decode() for
28816           NAL units that are not slices.
28817           This is a performance win by ~+1.1% only.
28818
28819 2012-12-04 11:01:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28820
28821         * gst/vaapi/gstvaapisink.c:
28822           vaapisink: handle sub video-buffers.
28823           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
28824           for non raw YUV cases. Make sure vaapisink now understands those buffers.
28825
28826 2012-12-12 15:22:32 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28827
28828         * gst/vaapi/gstvaapidecode.c:
28829           vaapidecode: use gst_vaapi_decoder_get_codec_state().
28830           Directly use the GstVideoCodecState associated with the VA decoder
28831           instead of parsing caps again.
28832           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28833           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28834
28835 2012-12-04 14:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28836
28837         * gst/vaapi/gstvaapidecode.c:
28838           vaapidecode: use more standard helpers.
28839           Use g_clear_object() [glib >= 2.28] and gst_caps_replace() helper functions
28840           in more places.
28841
28842 2012-12-04 14:45:29 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28843
28844         * gst/vaapi/gstvaapidecode.c:
28845         * gst/vaapi/gstvaapidecode.h:
28846           vaapidecode: move to GstVideoDecoder base class.
28847           Make vaapidecode derive from the standard GstVideoDecoder base element
28848           class. This simplifies the code to the strict minimum for the decoder
28849           element and makes it easier to port to GStreamer 1.x API.
28850           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28851           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28852
28853 2012-12-06 14:02:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28854
28855         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
28856           jpeg: initial port to new GstVaapiDecoder API
28857
28858 2012-12-06 14:02:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28859
28860         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28861           vc1: initial port to new GstVaapiDecoder API
28862
28863 2012-12-06 14:02:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28864
28865         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28866           h264: initial port to new GstVaapiDecoder API
28867
28868 2012-12-17 09:47:20 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28869
28870         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
28871           mpeg4: initial port to new GstVaapiDecoder API
28872
28873 2012-12-06 14:01:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28874
28875         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28876           mpeg2: initial port to new GstVaapiDecoder API.
28877
28878 2012-12-12 15:09:21 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28879
28880         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28881         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28882         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28883         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28884         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28885         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28886           decoder: use GstVideoCodecState.
28887           Use standard GstVideoCodecState throughout GstVaapiDecoder and expose
28888           it with a new gst_vaapi_decoder_get_codec_state() function. This makes
28889           it possible to drop picture size (width, height) information, framerate
28890           (fps_n, fps_d) information, pixel aspect ratio (par_n, par_d) information,
28891           and interlace mode (is_interlaced field).
28892           This is a new API with backwards compatibility maintained. In particular,
28893           gst_vaapi_decoder_get_caps() is still available.
28894           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28895           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28896
28897 2012-12-12 13:44:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28898
28899         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28900         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28901         * tests/test-decode.c:
28902         * tests/test-subpicture.c:
28903           decoder: update gst_vaapi_decoder_get_surface() semantics.
28904           Align gst_vaapi_decoder_get_surface() semantics with the rest of the
28905           API. That is, return a GstVaapiDecoderStatus and the decoded surface
28906           as a handle to GstVaapiSurfaceProxy in parameter.
28907           This is an API/ABI change.
28908
28909 2012-12-07 16:40:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28910
28911         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28912           decoder: use standard helper functions.
28913           Use g_clear_object(), gst_buffer_replace() and gst_caps_replace()
28914           whenever necessary.
28915
28916 2012-11-29 15:06:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28917
28918         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28919         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28920         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28921           decoder: expose new parse/decode API.
28922           Introduce new decoding process whereby a GstVideoCodecFrame is created
28923           first. Next, input stream buffers are accumulated into a GstAdapter,
28924           that is then passed to the _parse() function. The GstVaapiDecoder object
28925           accumulates all parsed units and when a complete frame or field is
28926           detected, that GstVideoCodecFrame is passed to the _decode() function.
28927           Ultimately, the caller receives a GstVaapiSurfaceProxy if decoding
28928           process was successful.
28929
28930 2012-12-13 10:20:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28931
28932         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28933         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28934           decoder: add {start,end}_frame() hooks.
28935           The start_frame() hook is called prior to traversing all decode-units
28936           for decoding. The unit argument represents the first slice in the frame.
28937           Some codecs (e.g. H.264) need to wait for the first slice in order to
28938           determine the actual VA context parameters.
28939
28940 2012-12-06 13:57:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28941
28942         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28943         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28944         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28945           decoder: add new GstVaapiDecoder API.
28946           Split decoding process into two steps: (i) parse incoming bitstreams
28947           into simple decoder-units until the frame or field is complete; and
28948           (ii) decode the whole frame or field at once.
28949           This is an ABI change.
28950
28951 2012-12-05 10:51:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28952
28953         * gst-libs/gst/vaapi/Makefile.am:
28954         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28955         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28956           decoder: add new "decoder-frame" object.
28957           Introduce a new GstVaapiDecoderFrame that is just a list of decoder units
28958           (GstVaapiDecoderUnit objects) that constitute a frame. This object is just
28959           an extension to GstVideoCodecFrame for VA decoder purposes. It is available
28960           as the user-data member element.
28961           This is a libgstvaapi internal object.
28962
28963 2012-12-06 09:44:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28964
28965         * gst-libs/gst/vaapi/Makefile.am:
28966         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28967         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28968           decoder: add new "decoder-unit" object.
28969           Introduce GstVaapiDecoderUnit which represents a fragment of the source
28970           stream to be decoded. For instance, a decode-unit will be a NAL unit for
28971           H.264 streams, an EBDU for VC-1 streams, and a video packet for MPEG-2
28972           streams.
28973           This is a libgstvaapi internal object.
28974
28975 2012-12-03 14:09:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28976
28977         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28978           Port GstVaapiFrameStore to GstVaapiMiniObject.
28979
28980 2012-12-03 11:19:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28981
28982         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
28983         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
28984         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28985         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28986         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
28987           Port codec objects to GstVaapiMiniObject.
28988
28989 2012-12-03 13:46:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28990
28991         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28992         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28993         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28994         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28995         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28996         * gst/vaapi/gstvaapidecode.c:
28997         * gst/vaapi/gstvaapipluginbuffer.c:
28998         * tests/test-decode.c:
28999         * tests/test-subpicture.c:
29000           surfaceproxy: port to GstVaapiMiniObject.
29001           GstVaapiSurfaceProxy does not use any particular functionality from
29002           GObject. Actually, it only needs a basic object type with reference
29003           counting.
29004           This is an API and ABI change.
29005
29006 2012-11-30 17:25:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29007
29008         * gst-libs/gst/vaapi/Makefile.am:
29009         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
29010         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
29011           Add GstVaapiMiniObject.
29012           Introduce a new reference counted object that is very lightweight and
29013           also provides flags and user-data functionalities. Initialization and
29014           finalization times are reduced by up to a factor 5x vs GstMiniObject
29015           from GStreamer 0.10 stack.
29016           This is a libgstvaapi internal object.
29017
29018 2012-12-17 02:51:17 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29019
29020         * tests/Makefile.am:
29021         * tests/test-decode.c:
29022         * tests/test-mpeg4.c:
29023         * tests/test-mpeg4.h:
29024           tests: add test for MPEG-4:2 decoding.
29025
29026 2012-12-17 04:42:29 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29027
29028         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29029           h264: initialize VA context before allocating the first slice.
29030           Fix decode_slice() to ensure a VA context exists prior to creating a
29031           new GstVaapiSliceH264, which invokes vaCreateBuffer() with some VA
29032           context ID. i.e. the latter was not initialized, thus causing failures
29033           on Cedar Trail for example.
29034
29035 2012-12-05 09:15:32 +0800  Zhao Halley <halley.zhao@intel.com>
29036
29037         * configure.ac:
29038           configure: install plugin elements in GST_PLUGIN_PATH, if set.
29039           If GST_PLUGIN_PATH environment variable exists and points to a valid
29040           directory, then use it as the system installation path for gst-vaapi
29041           plugin elements.
29042           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29043
29044 2012-12-17 14:27:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29045
29046         * configure.ac:
29047           configure: downgrade glib required version to 2.28.
29048
29049 2012-12-17 09:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29050
29051         * gst-libs/gst/vaapi/glibcompat.h:
29052         * gst/vaapi/gstvaapi.c:
29053           libs: fix compatibility with glib 2.28.
29054           Always prefer non deprecated APIs by default and provide compatibility
29055           glue for older glib versions when necessary.
29056
29057 2012-12-17 10:10:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29058
29059         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29060         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
29061         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
29062         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29063           libs: use glib >= 2.32 semantics for mutexes.
29064           Use glib >= 2.32 semantics for GMutex and GRecMutex wrt. initialization
29065           and termination. Basically, the new mutex objects can be used as static
29066           mutex objects from the deprecated APIs, e.g. GStaticMutex and GStaticRecMutex.
29067
29068 2012-12-17 04:15:53 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29069
29070         * gst-libs/gst/vaapi/Makefile.am:
29071           libs: only export gst_vaapi_*() symbols.
29072           This fixes symbol clashes between the gst-vaapi built-in codecparsers/
29073           library and the system-provided one, mainly used by videoparses/. Now,
29074           only symbols with the gst_vaapi_* prefix will be exported, if they are
29075           not marked as "hidden" to libgstvaapi.
29076
29077 2012-11-20 18:21:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29078
29079         * gst/vaapi/gstvaapiuploader.c:
29080           vaapiupload: reset direct-rendering to zero when changing caps.
29081           Make sure to reset direct-rendering flag to zero when caps are changed,
29082           and only derive it to one when the next checks succeed.
29083
29084 2012-11-20 14:42:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29085
29086         * gst/vaapi/gstvaapiupload.c:
29087           vaapiupload: fix sink caps to report the supported set of YUV caps.
29088           Try to allocate the GstVaapiUploader helper object prior to listing the
29089           supported image formats. Otherwise, only a single generic caps is output
29090           with no particular pixel format referenced in there.
29091
29092 2012-11-20 14:32:40 +0100  Zhao Halley <halley.zhao@intel.com>
29093
29094         * gst/vaapi/gstvaapiupload.c:
29095         * gst/vaapi/gstvaapiupload.h:
29096           vaapiupload: use new GstVaapiUploader helper.
29097           Use GstVaapiUploader helper that automatically handles direct rendering
29098           mode, thus making the "direct-rendering" property obsolete and hence it
29099           is now removed.
29100           The "direct-rendering" level 2, i.e. exposing VA surface buffers, was never
29101           really well supported and it could actually trigger degraded performance.
29102           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29103
29104 2012-11-20 15:50:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29105
29106         * gst/vaapi/gstvaapisink.c:
29107         * gst/vaapi/gstvaapiuploader.c:
29108         * gst/vaapi/gstvaapiuploader.h:
29109           vaapisink: compute and expose the supported set of YUV caps.
29110           Make vaapisink expose only the set of supported caps for raw YUV buffers.
29111           Add gst_vaapi_uploader_get_caps() helper function to determine the set
29112           of supported YUV caps as source (for images). This function actually
29113           tries to zero and upload each image to a 64x64 test surface. Of course,
29114           this relies on VA drivers to not claim success if vaPutImage() is not
29115           correctly supported.
29116
29117 2012-11-20 14:28:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29118
29119         * NEWS:
29120         * gst/vaapi/Makefile.am:
29121         * gst/vaapi/gstvaapisink.c:
29122         * gst/vaapi/gstvaapisink.h:
29123         * gst/vaapi/gstvaapiuploader.c:
29124         * gst/vaapi/gstvaapiuploader.h:
29125           vaapisink: add support for raw YUV buffers.
29126           Add new GstVaapiUploader helper to upload raw YUV buffers to VA surfaces.
29127           It is up to the caller to negotiate source caps (for images) and output
29128           caps (for surfaces). gst_vaapi_uploader_has_direct_rendering() is available
29129           to help decide between the creation of a GstVaapiVideoBuffer or a regular
29130           GstBuffer on sink pads.
29131           Signed-off-by: Zhao Halley <halley.zhao@intel.com>
29132           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29133
29134 2012-11-20 14:36:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29135
29136         * gst-libs/gst/vaapi/gstvaapiimage.c:
29137           image: fix GstVaapiImage map and unmap.
29138           Fix gst_vaapi_image_map() to return TRUE and the GstVaapiImageRaw
29139           structure correctly filled in if the image was already mapped.
29140           Likewise, make gst_vaapi_image_unmap() return TRUE if the image
29141           was already unmapped.
29142
29143 2012-10-30 13:15:45 +0800  Wind Yuan <feng.yuan@intel.com>
29144
29145         * NEWS:
29146         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29147           videobuffer: fix memory leak for surface and image.
29148           Fix reference leak of surface and image in GstVaapiVideoBuffer wrapper,
29149           thus resulting on actual memory leak of GstVaapiImage when using them
29150           for downloads/uploads from VA surfaces and more specifically surfaces
29151           when the pipeline is shutdown. i.e. vaTerminate() was never called
29152           because the resources were not unreferenced, and thus not deallocated
29153           in the end.
29154           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29155
29156 2012-11-19 10:04:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29157
29158         * NEWS:
29159           NEWS: updates.
29160
29161 2012-11-16 18:00:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29162
29163         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29164           h264: fix picture size in macroblocks.
29165           The picture size signalled by sps->{width,height} is the actual size with
29166           cropping applied, not the original size derived from pic_width_in_mbs_minus1
29167           and pic_height_in_map_units_minus1. VA driver expects that original size,
29168           uncropped.
29169           There is another issue pending: frame cropping information needs to be
29170           taken care of.
29171
29172 2012-11-16 16:18:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29173
29174         * gst-libs/gst/codecparsers/Makefile.am:
29175           codecparsers: always build parserutils first.
29176           Fix commit 18245b4 so that to link and build parserutils.[ch] first.
29177           This is needed since that's the common dependency for actual codec
29178           parsers (gstvc1parser.c for instance).
29179
29180 2012-11-15 17:50:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29181
29182         * gst-libs/gst/codecparsers/Makefile.am:
29183           codecparsers: always build the VC-1 parser library.
29184           ... this is useful to make sure pixel-aspect-ratio and framerate
29185           information are correctly parsed since we have no means to detect
29186           that at configure time.
29187
29188 2012-11-08 11:40:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29189
29190         * configure.ac:
29191         * gst-libs/gst/codecparsers/Makefile.am:
29192         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29193           mpeg2: fix PAR calculation from commit bd11bae.
29194           Invoke gst_mpeg_video_finalise_mpeg2_sequence_header() to get the
29195           correct PAR values. While doing so, require a newer version of the
29196           bitstream parser library.
29197           Note: it may be necessary to also parse the Sequence_Display_Extension()
29198           header.
29199           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29200           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29201
29202 2012-11-15 15:00:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29203
29204         * gst-libs/gst/vaapi/Makefile.am:
29205           Fix build with the GNU gold linker.
29206           In particular, fix libgstvaapi-glx DSO dependencies to include libgstbase
29207           and libgstvideo libs, e.g. for gst_video_buffer_get_overlay_composition().
29208
29209 2012-11-02 18:18:37 +0000  Rob Bradford <rob@linux.intel.com>
29210
29211         * configure.ac:
29212         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
29213         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
29214         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29215           wayland: port to 1.0 version of the protocol.
29216           This patch updates to relect the 1.0 version of the protocol. The main
29217           changes are the switch to wl_registry for global object notifications
29218           and the way that the event queue and file descriptor is processed.
29219           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29220
29221 2012-11-14 19:22:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29222
29223         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29224           h264: fix incorrect integration of previous commit (4d31e1e).
29225           git am got confused somehow, though the end result doesn't change at
29226           all since we require both SPS and PPS to be parsed prior to decoding
29227           the first slice.
29228
29229 2012-11-14 18:40:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29230
29231         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29232           h264: start decoding slices after first SPS/PPS activation.
29233           Only start decoding slices when at least one SPS and PPS got activated.
29234           This fixes cases when a source represents a substream of another stream
29235           and no SPS and PPS was inserted before the first slice of the generated
29236           substream.
29237
29238 2012-11-14 14:25:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29239
29240         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29241           h264: fix VAPictureParameterBufferH264.ReferenceFrames[] construction.
29242           ... for interlaced streams. The short_ref[] and long_ref[] arrays may
29243           contain up to 32 fields but VA ReferenceFrames[] array expects up to
29244           16 reference frames, thus including both fields.
29245
29246 2012-11-14 10:27:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29247
29248         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29249           h264: fix interlaced stream decoding with MMCO.
29250           Fix decoding of interlaced streams when adaptive_ref_pic_marking_mode_flag
29251           is equal to 1, i.e. when memory management control operations are used. In
29252           particular, when field_pic_flag is set to 0, the new reference flags shall
29253           be applied to both fields.
29254
29255 2012-11-13 17:14:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29256
29257         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29258           h264: add initial support for interlaced streams.
29259           Decoded frames are only output when they are complete, i.e. when both
29260           fields are decoded. This also means that the "interlaced" caps is not
29261           propagated to vaapipostproc or vaapisink elements. Another limitation
29262           is that interlaced bitstreams with MMCO are unlikely to work.
29263
29264 2012-11-13 16:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29265
29266         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29267           h264: split remove_reference_at() into finer units.
29268           Split remove_reference_at() into a function that actually removes the
29269           specified entry from the short-term or long-term reference picture array,
29270           and a function that sets reference flags to the desired value, possibly
29271           zero. The latters marks the picture as "unused for reference".
29272
29273 2012-10-23 14:04:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29274
29275         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29276           decoder: fix gst_vaapi_picture_new_field() object type.
29277           Fix gst_vaapi_picture_new_field() to preserve the original picture type.
29278           e.g. gst_vaapi_picture_new_field() with a GstVaapiPictureH264 argument
29279           shall generate a GstVaapiPictureH264 object.
29280
29281 2012-11-13 14:04:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29282
29283         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29284           h264: add picture structure for reference picture marking process.
29285           Introduce new `structure' field to the H.264 specific picture structure
29286           so that to simplify the reference picture marking process. That local
29287           picture structure is derived from the original picture structure, as
29288           defined by the syntax elements field_pic_flag and bottom_field_flag.
29289
29290 2012-11-02 15:14:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29291
29292         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29293           h264: introduce new frame store structure.
29294           The frame store represents a Decoded Picture Buffer entry, which can
29295           hold up to two fields. So far, the frame store is only used to hold
29296           full frames.
29297
29298 2012-11-13 10:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29299
29300         * ext/codecparsers:
29301           codecparsers: update to gst-vaapi-rebased commit 73d6aab.
29302           73d6aab h264: fix rbsp_more_data() implementation
29303           25d04cf h264: fix error code for invalid size parsed in SPS
29304           84798e5 fix FSF address
29305
29306 2012-10-31 16:37:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29307
29308         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29309           h264: minor clean-ups.
29310           Move DPB flush up if the current picture to decode is an IDR. Besides,
29311           don't bother to check for IDR pictures in dpb_add() function since an
29312           explicit DPB flush was already performed in this case.
29313
29314 2012-10-31 14:24:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29315
29316         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29317           h264: simplify reference picture marking process.
29318           ... to build the short_ref[] and long_ref[] lists from the DPB, instead
29319           of maintaining them separately. This avoids refs/unrefs while making it
29320           possible to generate the list based on the actual picture structure.
29321           This also ensures that the list of generated ReferenceFrames[] actually
29322           matches what reference frames are available in the DPB. i.e. short_ref[]
29323           and long_ref[] entries are implied from the DPB, so there is no risk of
29324           having "dangling" references.
29325
29326 2012-10-31 11:52:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29327
29328         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29329           h264: introduce per-field POC in GstVaapiPictureH264.
29330           Use the POC member available in the GstVaapiPicture base class and
29331           get rid of the dependency on the local VAPictureH264 TopFieldOrderCnt
29332           and BottomFieldOrderCnt. Rather, use a simple field_poc[] array
29333           initialized to INT_MAX, so that to simplify picture POC calculation
29334           for non frame pictures.
29335
29336 2012-10-31 11:45:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29337
29338         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29339           h264: introduce GST_VAAPI_PICTURE_{SHORT,LONG}_TERM_REFERENCE flags.
29340           Further get rid of GstVaapiPictureH264-local VAPictureH264.flags for
29341           reference bits, thus simplifying the reference picture marking process
29342           to only track a single set of reference flags. Also introduce a new
29343           long_term_frame_idx member.
29344
29345 2012-10-31 11:33:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29346
29347         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29348           h264: introduce GST_VAAPI_PICTURE_FLAG_IDR flag.
29349
29350 2012-10-31 10:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29351
29352         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29353           h264: fill in GstVaapiPicture structure.
29354           ... and get rid of local VAPictureH264.flags fields in GstVaapiPictureH264.
29355
29356 2012-10-31 11:07:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29357
29358         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29359           h264: add vaapi_fill_picture() helper.
29360           Add vaapi_fill_picture() helper function to convert GstVaapiPictureH264
29361           to VAPictureH264 structure. This is preparatory work to get rid of the
29362           local VAPictureH264 member in GstVaapiPictureH264.
29363
29364 2012-10-26 16:12:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29365
29366         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29367           h264: fix activation order of picture and sequence parameters.
29368           Delay ensure_context() until we actually need a VA context for allocating
29369           new VA surfaces, and then GstVaapiPictures, but also when a real activation
29370           of a new picture parameter set occurs, thus also implying an activation
29371           of the related sequence parameter set.
29372           The most important thing was to drop the global pps and sps pointers since
29373           they may not have matched the currently activated picture parameter or
29374           sequence parameter sets at the specified decode point.
29375           Anoter positive side-effect is that this cleans up all occurrences of
29376           decode_current_picture() to only keep those useful in decode_picture(),
29377           before a new picture is allocated, or in decode_sequence_end() when
29378           an end-of-stream or end-of-sequence condition occurred.
29379
29380 2012-10-26 13:17:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29381
29382         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29383           h264: fix scaling list generation.
29384           ... aka fix regression from efaab79. In particular, ScalingList8x8[]
29385           array was partially copied to the VAIQMatrixBufferH264. While we are
29386           at it, also improve bounds checking and avoid copying 8x8 scaling
29387           lists if transform_8x8_mode_flag is set to 0.
29388
29389 2012-10-24 18:23:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29390
29391         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29392           h264: fix detection of picture boundaries.
29393           Strictly follow the standard (7.4.1.2.4) to detect the first VCL NAL
29394           unit of a primary coded picture.
29395
29396 2012-10-23 14:50:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29397
29398         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29399           h264: optimize handling of scaling lists.
29400           Don't copy scaling lists twice to an intermediate state. Rather, directly
29401           use the scaling lists from GstH264PPS since they would match those provided
29402           by SPS header, if necessary. i.e. if PPS-specific scaling lists are not
29403           available in the bitstream.
29404
29405 2012-10-23 10:33:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29406
29407         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29408           h264: simplify code when MMCO is 5.
29409           Remove exit_picture() and exit_picture_poc() since PicOrderCnt(CurrPic)
29410           is now updated accordingly to the standard. Besides, MMCO = 5 specific
29411           operations are moved up to exec_ref_pic_marking_adaptive_mmco_5().
29412
29413 2012-10-22 11:52:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29414
29415         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29416           h264: fix MMCO-based reference picture marking process.
29417           Fix adaptive memory control decoded reference picture marking process
29418           implementation for operations 2 to 6, thus also fixing support for
29419           long-term reference pictures.
29420
29421 2012-10-22 10:50:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29422
29423         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29424           h264: move MMCO handlers out of the loop (cosmetics).
29425           This change only splits each individual MMCO handler into several functions
29426           dedicated for each operation. This is needed to perform further work later
29427           on.
29428
29429 2012-10-17 15:49:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29430
29431         * Makefile.am:
29432           debian: fix make dist for packaging.
29433           bzip2 tarballs are now used, so update the deb.upstream dependencies
29434           to include dist-bzip2 instead of plain old dist, and use the correct
29435           tar extract options to handle that format.
29436
29437 2012-10-17 15:42:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29438
29439         * configure.ac:
29440           configure: generate bzip2 tarballs in ustar format by default.
29441
29442 2012-10-17 15:38:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29443
29444         * configure.ac:
29445           configure: bump glib required version to 2.31.2.
29446           Use new Thread API. In particular, g_mutex_init() and g_cond_init()
29447           rather than g_mutex_new() and g_cond_new() respectively.
29448
29449 2012-10-04 17:39:53 +0100  Rob Bradford <rob@linux.intel.com>
29450
29451         * gst/vaapi/gstvaapidecode.c:
29452         * gst/vaapi/gstvaapidecode.h:
29453           vaapidecode: adopt non-deprecrated glib locking primitive pattern.
29454           The use of heap allocated GMutex/GCond is deprecated. Instead place them
29455           inside the structure they are locking.
29456           These changes switch to use g_mutex_init/g_cond_init rather than the heap
29457           allocation functions.
29458           Because we cannot test for a NULL pointer for the GMutex/GCond we must
29459           initialise inside the GObject _init function and clear inside the _finalize
29460           which is guaranteed to only be called once and after the object is no longer
29461           in use.
29462
29463 2012-10-17 14:52:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29464
29465         * gst/vaapi/gstvaapidecode.c:
29466           vaapidecode: fix compiler warnings.
29467           Don't care of the return value for gst_vaapi_decoder_put_buffer()
29468           during destruction of the element. Don't print out (uninitialised)
29469           error code when allocation of video buffer failed.
29470
29471 2012-10-16 16:52:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29472
29473         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29474           h264: add flag to compile with strict DPB ordering mode.
29475           Allow build with strict DPB ordering mode whereby evicted entries
29476           are replaced by the next entries, in order instead of optimizing
29477           it away with the last entry in the DPB.
29478           This is only useful for debugging purpose, against a reference SW
29479           decoder for example.
29480
29481 2012-10-16 16:46:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29482
29483         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29484           h264: drop extra code covered by built-in codecparsers.
29485           GstH264SliceHdr.n_emulation_prevention_bytes is bound to exist now that
29486           a newer version of codecparsers/ are used if the system provided one is
29487           now recent enough to have those required extensions.
29488
29489 2012-10-16 16:43:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29490
29491         * gst-libs/gst/codecparsers/Makefile.am:
29492           codecparsers: fix generation of symlinks.
29493           Try to improve dependencies while generating symlinks to externally
29494           maintained copy of codecparsers (derived from upstream git master
29495           tree).
29496
29497 2012-10-11 15:04:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29498
29499         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29500           vc1: use framerate information from bitstream parser.
29501
29502 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29503
29504         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29505           vc1: use pixel-aspect-ratio from bitstream parser.
29506           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29507           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29508
29509 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29510
29511         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29512           mpeg2: use pixel-aspec-ratio information from bitstream parser.
29513           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29514           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29515
29516 2012-10-11 13:49:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29517
29518         * configure.ac:
29519         * gst-libs/gst/codecparsers/Makefile.am:
29520           codecparsers: h264: use submodule sources.
29521           Use newer sources from the codecparsers/ submodule for
29522           - GstH264SliceHdr.n_emulation_prevention_bytes: EPBs;
29523           - GstH264VUIParams.{par_n,par_d}: pixel-aspect-ratio.
29524
29525 2012-10-11 13:23:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29526
29527         * .gitignore:
29528         * configure.ac:
29529         * gst-libs/gst/codecparsers/Makefile.am:
29530         * gst-libs/gst/codecparsers/gstjpegparser.c:
29531         * gst-libs/gst/codecparsers/gstjpegparser.h:
29532         * gst-libs/gst/vaapi/Makefile.am:
29533           codecparsers: jpeg: use submodule sources.
29534
29535 2012-10-11 10:03:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29536
29537         * .gitmodules:
29538         * Makefile.am:
29539         * autogen.sh:
29540         * configure.ac:
29541         * ext/Makefile.am:
29542         * ext/codecparsers:
29543           Add codecparsers submodule.
29544
29545 2012-10-11 14:17:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29546
29547         * .gitignore:
29548           .gitignore: updates.
29549
29550 2012-10-11 13:40:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29551
29552         * autogen.sh:
29553           autogen: fix check for gtkdocize and autoreconf.
29554           If gtkdocize or autoreconf programs were not found, then the autogen.sh
29555           script would fail to report that correctly because test -z was not passed
29556           any argument (empty string "" in this case).
29557
29558 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29559
29560         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29561           h264: use pixel-aspect-ratio from SPS header.
29562           Propagate pixel-aspect-ratio determined by the GStreamer codecparser
29563           from the sequence headers.
29564           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29565           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29566
29567 2012-10-10 10:35:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29568
29569         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29570           h264: add decode_nalu() helper function.
29571           Split decode_buffer() into the core infrastructure that determines
29572           the NAL units contained in the adapter and the actual function that
29573           decodes the NAL unit.
29574
29575 2012-10-10 10:31:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29576
29577         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29578           h264: fix end-of-stream conditions (flush).
29579           Decode pending data in the adapter prior to processing the actual
29580           code for end-of-stream.
29581
29582 2012-10-10 09:45:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29583
29584         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29585           mpeg2: add decode_packet() helper function.
29586           Split decode_buffer() into the core infrastructure that determines
29587           the packets contained in the adapter and the actual function that
29588           decodes the packet data.
29589
29590 2012-10-09 15:34:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29591
29592         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29593           mpeg2: fix end-of-stream conditions (flush).
29594           Decode pending data in the adapter prior to processing the actual
29595           code for end-of-stream. Initial code from Feng Yuan.
29596
29597 2012-10-09 15:40:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29598
29599         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29600           mpeg2: fix memory leak of empty packets.
29601           Fix memory leakage of empty packets, i.e. packets that only contain
29602           the start code prefix. In particular, free empty user-data packets.
29603           Besides, the codec parser will already fail gracefully if the packet
29604           to parse does not have the minimum required size. So, we can also
29605           completely drop the block of code that used to handle packets of size 4
29606           (including the start code).
29607
29608 2012-10-09 15:01:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29609
29610         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29611           mpeg2: fix return value for "no-data" conditions.
29612           Fix return value when the second scan for start code fails. This means
29613           there is not enough data to determine the full extents of the current
29614           packet and the function shall return GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA
29615           in this case, instead of GST_VAAPI_DECODER_STATUS_SUCCESS.
29616
29617 2012-10-09 14:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29618
29619         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29620           decoder: refine semantics of gst_vaapi_decoder_put_buffer().
29621           Improve the semantics for gst_vaapi_decoder_put_buffer() when an empty
29622           buffer is passed on. An empty buffer is a buffer with a NULL data pointer
29623           or with a size equals to zero. In this case, that buffer is simply
29624           skipped and the function returns TRUE. A NULL buffer argument still
29625           marks the end-of-stream.
29626
29627 2012-10-09 14:40:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29628
29629         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29630         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
29631           decoder: drop unused functions.
29632
29633 2012-08-26 22:29:04 -0400  Wind Yuan <feng.yuan@intel.com>
29634
29635         * gst/vaapi/gstvaapidecode.c:
29636           vaapidecode: flush buffers when receiving EOS.
29637           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29638
29639 2012-10-05 13:36:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29640
29641         * debian.upstream/Makefile.am:
29642           debian: fix make dist for packaging.
29643
29644 2012-10-05 12:06:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29645
29646         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
29647         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29648           wayland: cosmetics (remove tabs).
29649
29650 2012-10-04 17:39:52 +0100  Rob Bradford <rob@linux.intel.com>
29651
29652         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29653           wayland: add support for windowed mode.
29654           Rather than always making the surface fullscreen instead implement the
29655           set_fullscreen vfunc on GstVaapiWindow and then set the shell surface
29656           fullscreen on not depending on that.
29657           Reviewed-by: Joe Konno <joe.konno@intel.com>
29658           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29659
29660 2012-10-01 09:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29661
29662         * configure.ac:
29663           Bump version for development.
29664
29665 2012-09-28 17:54:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29666
29667         * README:
29668         * configure.ac:
29669           Fix and document build dependencies better.
29670
29671 2012-09-28 17:41:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29672
29673         * debian.upstream/control.in:
29674           debian: fix GStreamer build dependencies.
29675
29676 2012-09-28 17:39:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29677
29678         * configure.ac:
29679         * debian.upstream/control.in:
29680           debian: fix Wayland build dependencies.
29681
29682 2012-09-28 17:38:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29683
29684         * debian.upstream/control.in:
29685           debian: fix conditional build of packages.
29686           Make it still possible to build package even if one of the build dependencies
29687           for a specific video backend is not available.
29688
29689 2012-09-27 11:08:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29690
29691         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29692         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29693           utils: drop unused GLX helpers.
29694           Remove helpers for GL_ARB_fragment_program and GL_ARB_multitexture
29695           extensions since they are not used throughout gstreamer-vaapi.
29696
29697 2012-09-27 11:04:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29698
29699         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29700           utils: fix build with <GL/glext.h> version >= 85.
29701           Mesa recently updated the <GL/glext.h> header version to Khronos version 85.
29702           This caused the PFNGLMULTITEXCOORD2FPROC definition to be moved out of the
29703           GL_VERSION_1_3_DEPRECATED block. However, since <GL/gl.h> also defines
29704           GL_VERSION_1_3 to 1, the definitions in <GL/glext.h> are then not enabled,
29705           thus leaving PFNGLMULTITEXCOORD2FPROC undefined as well.
29706           Provide a PFNGLMULTITEXCOORD2FPROC replacement as an interim solution for
29707           newer versions of the <GL/glext.h> header.
29708
29709 2012-09-26 16:33:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29710
29711         * configure.ac:
29712           configure: update VA-API version requirements.
29713           VA/DRM and VA/Wayland API are now promoted to VA-API 0.33.0 (libva 1.1.0).
29714
29715 2012-09-21 16:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29716
29717         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29718           h264: review and report errors accordingly.
29719           Use GST_ERROR() to report real errors instead of hiding them into
29720           GST_DEBUG().
29721
29722 2012-09-20 17:58:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29723
29724         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29725           h264: exclusively use GstAdapter, drop sub-buffer hack.
29726           Maintaining the sub-buffer is rather suboptimal especially since we
29727           were also maintaining a GstAdapter. Now, we only use the GstAdapter
29728           thus requiring minor extra parsing when receiving avcC buffers.
29729
29730 2012-09-20 16:18:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29731
29732         * README:
29733           README: updates.
29734
29735 2012-09-20 16:02:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29736
29737         * NEWS:
29738           NEWS: updates.
29739
29740 2012-09-20 14:38:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29741
29742         * debian.upstream/gstreamer-vaapi.install.in:
29743           debian: fix packaging on recent Ubuntu platforms.
29744           Use explicit GStreamer plugins path.
29745
29746 2012-09-17 17:55:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29747
29748         * docs/reference/libs/libs-docs.xml.in:
29749         * docs/reference/libs/libs.core.types:
29750           docs: fix build for make dist.
29751
29752 2012-09-14 10:30:35 -0400  Kristian Høgsberg <krh@bitplanet.net>
29753
29754         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29755           wayland: set opaque region for YUV surface.
29756           This allows the compositor to optimize redraws and cull away changes
29757           obscured by the video surface.
29758           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29759
29760 2012-09-14 17:30:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29761
29762         * configure.ac:
29763           configure: fix check for libva-glx and libva-drm.
29764
29765 2012-09-12 13:42:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29766
29767         * gst-libs/gst/vaapi/glibcompat.h:
29768           glibcompat: add replacement for g_cond_wait_until().
29769
29770 2012-09-12 13:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29771
29772         * gst/vaapi/gstvaapidecode.c:
29773         * gst/vaapi/gstvaapidownload.c:
29774         * gst/vaapi/gstvaapipostproc.c:
29775         * gst/vaapi/gstvaapisink.c:
29776         * gst/vaapi/gstvaapiupload.c:
29777           plugins: include "sysdeps.h" instead of "config.h".
29778
29779 2012-09-12 10:40:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29780
29781         * gst-libs/gst/codecparsers/gstjpegparser.c:
29782           codecparsers: jpeg: add missing includes.
29783
29784 2012-09-11 17:03:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29785
29786         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29787         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29788         * gst/vaapi/gstvaapidecode.c:
29789           vaapidecode: don't reset decoder if codec type is the same.
29790           Reset, i.e. destroy then create, the decoder in _setcaps() handler only
29791           if the underlying codec type actually changed. This makes it possible
29792           to be more tolerant with certain MPEG-2 streams that get parsed to
29793           form caps that are compatible with the previous state but minor changes
29794           to "codec-data".
29795
29796 2012-09-11 16:41:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29797
29798         * gst/vaapi/gstvaapidecode.c:
29799           vaapidecode: simplify codec lookup from caps.
29800           Add new gst_vaapi_codec_from_caps() helper to determine codec type from
29801           the specified caps. Don't globally expose this function since this is
29802           really trivial and only used in the vaapidecode element.
29803
29804 2012-09-11 15:54:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29805
29806         * gst/vaapi/gstvaapidecode.c:
29807         * gst/vaapi/gstvaapidecode.h:
29808           vaapidecode: improve "no free surface" conditions.
29809           Previously, vaapidecode would wait up to one second until a free surface
29810           is available, or it aborts decoding. Now, vaapidecode waits until the
29811           last decoded surface was to be presented, plus one second. Besides, end
29812           times are now expressed relative to the monotonic clock.
29813
29814 2012-09-11 10:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29815
29816         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29817         * gst/vaapi/gstvaapidecode.c:
29818           decoder: propagate buffer duration downstream.
29819
29820 2012-09-11 10:59:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29821
29822         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
29823         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
29824           surfaceproxy: add "duration" property.
29825
29826 2012-09-10 18:26:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29827
29828         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29829         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29830         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29831         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29832         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29833         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
29834         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29835           decoder: cope with new GstVaapiContextInfo based API.
29836           Update decoders to report the maximum number of reference frames to use.
29837
29838 2012-09-10 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29839
29840         * gst-libs/gst/vaapi/gstvaapicontext.c:
29841           context: JPEG codec does not need any reference frame.
29842
29843 2012-09-10 18:15:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29844
29845         * gst-libs/gst/vaapi/gstvaapicontext.c:
29846         * gst-libs/gst/vaapi/gstvaapicontext.h:
29847           context: allow number of reference frames to be set.
29848           Make it possible to specify the maximum number of references to use within
29849           a single VA context. This helps reducing GPU memory allocations to the useful
29850           number of references to be used.
29851
29852 2012-09-07 16:41:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29853
29854         * gst/vaapi/gstvaapipostproc.c:
29855           vaapipostproc: fix deinterlace-{mode,method} types definition.
29856
29857 2012-09-07 16:15:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29858
29859         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29860           mpeg4: fix debug info for unsupported profile.
29861
29862 2012-09-07 16:14:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29863
29864         * gst-libs/gst/vaapi/gstvaapicontext.c:
29865         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29866         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29867         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29868         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29869         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29870         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29871         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29872         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
29873         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
29874         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
29875         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29876         * gst-libs/gst/vaapi/gstvaapiimage.c:
29877         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
29878         * gst-libs/gst/vaapi/gstvaapiobject.c:
29879         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29880         * gst-libs/gst/vaapi/gstvaapisurface.c:
29881         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
29882         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
29883         * gst-libs/gst/vaapi/gstvaapitexture.c:
29884         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29885         * gst-libs/gst/vaapi/gstvaapivalue.c:
29886         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29887         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
29888         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
29889         * gst-libs/gst/vaapi/gstvaapivideopool.c:
29890         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29891         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
29892         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29893         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29894         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29895           libs: fix build in strict ISO C mode.
29896
29897 2012-09-07 16:11:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29898
29899         * gst/vaapi/gstvaapi.c:
29900         * gst/vaapi/gstvaapidecode.c:
29901         * gst/vaapi/gstvaapidownload.c:
29902         * gst/vaapi/gstvaapipostproc.c:
29903         * gst/vaapi/gstvaapisink.c:
29904         * gst/vaapi/gstvaapiupload.c:
29905           plugins: fix build in strict ISO C mode.
29906
29907 2012-09-07 15:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29908
29909         * pkgconfig/gstreamer-vaapi-glx.pc.in:
29910         * pkgconfig/gstreamer-vaapi-x11.pc.in:
29911         * pkgconfig/gstreamer-vaapi.pc.in:
29912           pkgconfig: fix dependencies and slightly improve description.
29913           Drop @LIBVA_EXTRA_{CFLAGS,LIBS}@ substitutions and slightly improve
29914           descriptions with clearer renderer names.
29915
29916 2012-09-04 13:54:19 +0200  Philip Lorenz <philip@bithub.de>
29917
29918         * gst/vaapi/gstvaapidecode.c:
29919           vaapidecode: acquire lock only if the mutex exists.
29920           When playback stops the GstVaapiDecode object is reset into a clean
29921           state. However, surfaces may still be referenced by library users and
29922           unreferencing them after the reset triggers an access to an unset mutex.
29923           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29924
29925 2012-09-07 11:58:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29926
29927         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29928           decoder: drop extraneous return for void function.
29929
29930 2012-09-07 11:57:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29931
29932         * gst-libs/gst/vaapi/gstvaapiimage.c:
29933           image: don't use (void *) pointer arithmetic.
29934
29935 2012-09-04 13:40:04 +0200  Philip Lorenz <philip@bithub.de>
29936
29937         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29938         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29939         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29940         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
29941         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
29942         * gst-libs/gst/vaapi/gstvaapiprofile.h:
29943         * gst-libs/gst/vaapi/gstvaapisurface.h:
29944         * gst-libs/gst/vaapi/gstvaapitypes.h:
29945         * gst/vaapi/gstvaapipostproc.h:
29946           Do not forward declare enums.
29947           Forward declaring enums is not allowed by the C standard and aborts
29948           compilation if the header file is included in a C++ project.
29949           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29950
29951 2012-09-07 11:44:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29952
29953         * configure.ac:
29954           configure: fix check for VA/DRM API.
29955
29956 2012-09-04 11:53:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29957
29958         * gst/vaapi/gstvaapisink.c:
29959           vaapisink: fix calculation of window size.
29960           If either dimension is out-of-bounds, then scale window to fit the
29961           display size, even if the output is to be rotated. Use the standard
29962           gst_video_sink_center_rect() function to center and scale the window
29963           wrt. the outer (display) bounds.
29964
29965 2012-08-28 02:45:22 -0400  Wind Yuan <feng.yuan@intel.com>
29966
29967         * gst/vaapi/gstvaapisink.c:
29968         * gst/vaapi/gstvaapisink.h:
29969           vaapisink: add video rotation support.
29970           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29971
29972 2012-09-06 11:47:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29973
29974         * gst/vaapi/gstvaapipluginutil.h:
29975           pluginutils: add G_PRIMITIVE_SWAP() helper macro.
29976           This macro helps swapping variables while maintaining the correct underlying
29977           and primitive type.
29978
29979 2012-09-06 11:51:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29980
29981         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29982           display: fix display aspect ratio when display is rotated.
29983
29984 2012-09-06 11:50:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29985
29986         * configure.ac:
29987         * gst-libs/gst/vaapi/Makefile.am:
29988         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29989         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
29990           display: fix physical display size when display is rotated.
29991
29992 2012-08-30 16:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29993
29994         * gst-libs/gst/vaapi/gstvaapivalue.c:
29995           display: fix GstVaapiRotation enumeration of values.
29996
29997 2012-08-29 13:18:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29998
29999         * docs/reference/libs/libs-docs.xml.in:
30000         * docs/reference/libs/libs-sections.txt:
30001         * gst-libs/gst/vaapi/Makefile.am:
30002         * gst-libs/gst/vaapi/gstvaapivideosink.c:
30003         * gst-libs/gst/vaapi/gstvaapivideosink.h:
30004         * gst/vaapi/gstvaapidecode.c:
30005         * gst/vaapi/gstvaapidownload.c:
30006         * gst/vaapi/gstvaapipostproc.c:
30007         * gst/vaapi/gstvaapisink.c:
30008         * gst/vaapi/gstvaapiupload.c:
30009           vaapisink: drop obsolete GstVaapiVideoSink interface.
30010           This interface was deprecated since 0.3.x series when the GstVideoContext
30011           interface was added to the main GStreamer APIs.
30012
30013 2012-08-27 18:34:27 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30014
30015         * gst/vaapi/gstvaapisink.c:
30016         * gst/vaapi/gstvaapisink.h:
30017           vaapisink: automatically detect overlay rendering mode.
30018           Retain the VA surface until another surface is to be displayed only
30019           if VA display rendering mode is determined to be "overlay" mode.
30020
30021 2012-08-24 16:30:33 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30022
30023         * gst/vaapi/gstvaapisink.c:
30024         * gst/vaapi/gstvaapisink.h:
30025           vaapisink: retain VA surface until another one is displayed.
30026           Keep VA surface proxy associated with the surface that is currently
30027           being displayed. This makes sure that surface is not released back
30028           to the pool of surfaces free to use for decoding. This is necessary
30029           with VA driver implementations that support rendering to an overlay
30030           pipe. Otherwise, there could be cases where we are decoding into a
30031           surface that is being displayed, hence some flickering.
30032
30033 2012-08-24 14:54:16 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30034
30035         * gst/vaapi/gstvaapisink.h:
30036           vaapisink: fix build with older toolchains.
30037           Don't re-declare GstVaapiTexture if USE_GLX mode is set.
30038
30039 2012-08-29 10:13:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30040
30041         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30042           display: partially revert 8ebe4d6.
30043           Don't try to fix up the initial values, this could make things worse.
30044           Simply assume the driver does not support the capability in this case.
30045
30046 2012-08-28 16:08:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30047
30048         * tests/test-display.c:
30049           tests: dump VA display properties.
30050
30051 2012-08-28 18:11:32 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30052
30053         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30054           display: fix validation process of properties during discovery.
30055           Some VA drivers (e.g. EMGD) can have completely random values for initial
30056           display attributes. So, try to improve the discovery process to check the
30057           initial display attribute values actually fall within valid bounds. If not,
30058           try to reset those to some sensible values like the default value reported
30059           through vaQueryDisplayAttributes().
30060
30061 2012-08-28 13:59:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30062
30063         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30064         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30065           display: add color balance properties.
30066           Add support for hue, saturation, brightness and contrast attributes.
30067
30068 2012-08-28 14:05:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30069
30070         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30071           display: initialize default attribute values.
30072           Ensure the display attribute is actually supported by trying to retrieve
30073           its current value during GstVaapiDisplay creation.
30074
30075 2012-08-28 11:09:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30076
30077         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30078           display: raise "notify" for property changes.
30079
30080 2012-08-28 10:55:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30081
30082         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30083         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30084           display: expose display attributes as GObject properties.
30085           Expose VA display "render-mode" and "rotation" attributes as standard
30086           GObject properties.
30087
30088 2012-08-28 16:24:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30089
30090         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30091           display: install properties in batch.
30092           Use g_object_class_install_properties() to install GstVaapiDisplay properties.
30093           It is useful to maintain properties as GParamSpec so that to be able to raise
30094           "notify" signals by id instead of by name in the future.
30095
30096 2012-08-27 19:00:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30097
30098         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30099           display: fix gst_vaapi_display_has_property().
30100           Append the "render-mode" and "rotation" properties, should they be supported
30101           by the underlying VA driver.
30102
30103 2012-08-22 02:18:11 -0400  Wind Yuan <feng.yuan@intel.com>
30104
30105         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30106         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30107         * gst-libs/gst/vaapi/gstvaapitypes.h:
30108         * gst-libs/gst/vaapi/gstvaapiutils.c:
30109         * gst-libs/gst/vaapi/gstvaapiutils.h:
30110         * gst-libs/gst/vaapi/gstvaapivalue.c:
30111         * gst-libs/gst/vaapi/gstvaapivalue.h:
30112           display: add support for rotation modes.
30113           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30114
30115 2012-08-27 18:11:37 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30116
30117         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30118         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30119         * gst-libs/gst/vaapi/gstvaapitypes.h:
30120         * gst-libs/gst/vaapi/gstvaapivalue.c:
30121         * gst-libs/gst/vaapi/gstvaapivalue.h:
30122           display: add support for rendering modes.
30123           A rendering mode can be "overlay" or "texture"'ed blit.
30124           The former mode implies that a VA surface used for rendering can't be
30125           re-used right away for decoding, so the sink shall make provisions to
30126           retain the associated surface proxy until the next surface is to be
30127           displayed.
30128           The latter mode implies that the VA surface is implicitly copied to an
30129           intermediate backing store, or back buffer of a frame buffer, so the
30130           associated surface proxy can be disposed right away.
30131
30132 2012-08-27 17:02:49 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30133
30134         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30135         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30136         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
30137           display: add initial support for display attributes.
30138           The VA display attributes are mapped to properties so that to maintain the
30139           GStreamer terminology. Properties are to be identified by name, but internal
30140           functions are available to lookup the property by the actual VA display
30141           attribute type.
30142
30143 2012-08-24 11:36:16 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
30144
30145         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30146           jpeg: fix end-of-image (EOI) handler.
30147           decode_current_picture() was converted to return a gboolean instead
30148           of a GstVaapiDecoderStatus, so we were not getting out of the decode
30149           loop as expected, or could cause an error instead.
30150           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30151
30152 2012-08-24 18:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30153
30154         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30155           mpeg2: include start code into VA slice data buffer.
30156           Integrate the start code prefix in the slice data buffer that is submitted
30157           to the hardware. VA-API specifies that slice_data_offset is the offset to
30158           the first byte of slice data. And, for MPEG-2, slice() data begins with
30159           the slice_start_code. Some VA driver implementations (EMGD) expect this.
30160
30161 2012-06-28 01:08:03 +0900  Javier Jardón <jjardon@gnome.org>
30162
30163         * autogen.sh:
30164           autogen: fix configure script generation when srcdir != builddir.
30165           This patch allows for regenerating the configure script from a build
30166           directory that is not the actual source directory.
30167           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30168
30169 2012-06-28 00:22:03 +0900  Javier Jardón <jjardon@gnome.org>
30170
30171         * configure.ac:
30172           configure: use new libtool syntax.
30173           This now requires libtool >= 2.2 to regenerate the configure script.
30174           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30175
30176 2012-08-08 12:50:41 +0900  Javier Jardón <jjardon@gnome.org>
30177
30178         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30179           decoder: use g_object_notify_by_pspec().
30180           Use g_object_notify_by_pspec() instead of g_object_notify() so that to
30181           avoid a property name lookup. i.e. this makes notifications faster to
30182           the `vaapidecode' element.
30183           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30184
30185 2012-08-06 19:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30186
30187         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30188           wayland: handle de-interlacing flags.
30189           VA/Wayland API was updated to allow flags for bob deinterlacing.
30190           More elaborated filters will require a complete VA/VPP pipeline.
30191
30192 2012-08-02 18:27:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30193
30194         * gst-libs/gst/codecparsers/gstjpegparser.c:
30195           jpeg: fix default quantization tables.
30196           Two elements in the luminance quantization table were wrong. So,
30197           gst_jpeg_get_default_quantization_tables() now reconstructs tables
30198           in zig-zag order from the standard ones (Tables K.1 and K.2).
30199
30200 2012-08-02 15:17:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30201
30202         * gst-libs/gst/codecparsers/gstjpegparser.c:
30203           jpeg: compute default Huffman tables.
30204           ... instead of having them pre-calculated. This saves around 1.5 KB
30205           of data in the DSO but requires gst_jpeg_get_default_huffman_tables()
30206           to do more work. Though, the client application may have to call that
30207           function at most once, only.
30208
30209 2012-08-01 18:30:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30210
30211         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30212           display: drop VAProfileNone entries from debug messages.
30213
30214 2012-07-31 18:24:14 +0800  Yan Yin <yan.yin@intel.com>
30215
30216         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30217           display: query for supported display attributes.
30218           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30219
30220 2012-07-31 18:22:48 +0800  Yan Yin <yan.yin@intel.com>
30221
30222         * gst-libs/gst/vaapi/gstvaapiutils.c:
30223         * gst-libs/gst/vaapi/gstvaapiutils.h:
30224           utils: add string_of_VADisplayAttributeType() helper.
30225           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30226
30227 2012-08-01 15:46:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30228
30229         * gst/vaapi/gstvaapisink.c:
30230           vaapisink: handle VA/DRM API.
30231           This is not useful in practice but for raw performance evaluation when
30232           the sink is invoked with display=drm sync=false. fakesink could also be
30233           used though.
30234
30235 2012-08-01 15:46:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30236
30237         * gst/vaapi/Makefile.am:
30238         * gst/vaapi/gstvaapipluginutil.c:
30239           plugins: add support for headless pipelines.
30240
30241 2012-08-01 15:44:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30242
30243         * tests/Makefile.am:
30244         * tests/output.c:
30245         * tests/test-display.c:
30246         * tests/test-windows.c:
30247           tests: add support for headless decoding.
30248
30249 2012-08-01 15:44:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30250
30251         * NEWS:
30252         * configure.ac:
30253         * debian.upstream/Makefile.am:
30254         * debian.upstream/control.in:
30255         * debian.upstream/libgstvaapi-drm.install.in:
30256         * gst-libs/gst/vaapi/Makefile.am:
30257         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30258         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30259         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
30260         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
30261         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
30262         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
30263         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
30264         * pkgconfig/Makefile.am:
30265         * pkgconfig/gstreamer-vaapi-drm.pc.in:
30266           Add initial support for VA/DRM.
30267
30268 2012-07-31 17:58:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30269
30270         * configure.ac:
30271         * gst-libs/gst/vaapi/Makefile.am:
30272           Fix build without X11 (again).
30273           Don't try to build libgstvaapi-x11.so.* if X11 was disabled. Also shuffle
30274           files list wrt. x11, glx and wayland backends.
30275
30276 2012-07-31 11:51:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30277
30278         * configure.ac:
30279         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
30280         * gst-libs/gst/vaapi/gstvaapicompat.h:
30281         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30282           jpeg: update to the latest VA-API changes (0.32.1+).
30283
30284 2012-07-27 14:27:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30285
30286         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30287         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
30288         * gst/vaapi/gstvaapisink.c:
30289           wayland: implement display ::get_size*() hooks.
30290
30291 2012-07-27 10:45:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30292
30293         * gst/vaapi/gstvaapipluginutil.c:
30294           plugins: prefer X11 rendering over GLX.
30295           Prefer X11 display over GLX so that "vaapisink" uses X11, i.e. vaPutSurface(),
30296           for rendering instead of texturing.
30297
30298 2012-07-26 09:28:51 -0400  Kristian Høgsberg <krh@bitplanet.net>
30299
30300         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30301           wayland: use scale fullscreen method.
30302           This makes the compositor scale the surface to fit and preserves aspect
30303           ratio.
30304           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30305
30306 2012-07-26 09:27:47 -0400  Kristian Høgsberg <krh@bitplanet.net>
30307
30308         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30309           wayland: respond to ping/pong protocol so we're not deemed unresponsive.
30310           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30311
30312 2012-07-25 10:39:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30313
30314         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30315           wayland: fix double disconnect of display.
30316
30317 2012-07-24 19:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30318
30319         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30320           wayland: mangle display name for cache lookups.
30321
30322 2012-07-24 15:43:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30323
30324         * configure.ac:
30325         * debian.upstream/Makefile.am:
30326         * debian.upstream/control.in:
30327         * debian.upstream/libgstvaapi-wayland.install.in:
30328         * pkgconfig/Makefile.am:
30329         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
30330           wayland: add packaging files.
30331
30332 2012-07-24 15:07:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30333
30334         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30335         * gst/vaapi/gstvaapipluginutil.c:
30336         * gst/vaapi/gstvaapisink.c:
30337         * pkgconfig/Makefile.am:
30338           Fix build without X11.
30339
30340 2012-07-24 09:45:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30341
30342         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30343         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30344         * gst/vaapi/Makefile.am:
30345         * gst/vaapi/gstvaapipluginutil.c:
30346         * gst/vaapi/gstvaapisink.c:
30347           plugins: add support for Wayland.
30348
30349 2012-07-23 12:56:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30350
30351         * tests/Makefile.am:
30352         * tests/output.c:
30353         * tests/test-display.c:
30354         * tests/test-windows.c:
30355           tests: add support for Wayland.
30356
30357 2012-07-19 10:27:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
30358
30359         * NEWS:
30360         * configure.ac:
30361         * gst-libs/gst/vaapi/Makefile.am:
30362         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30363         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
30364         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
30365         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
30366         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30367         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
30368           Add initial support for VA/Wayland.
30369           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30370
30371 2012-07-25 15:11:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30372
30373         * gst/vaapi/gstvaapipluginbuffer.c:
30374           plugins: fix creation of video buffer from surface proxy.
30375           Fix a regression introduced with commit 8ef490a.
30376
30377 2012-07-25 14:51:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30378
30379         * gst/vaapi/gstvaapipluginbuffer.c:
30380         * gst/vaapi/gstvaapipluginutil.c:
30381           plugins: use new display types more.
30382           In particular, simplify gst_vaapi_reply_to_query() with display types.
30383           Likewise for creating new video buffers.
30384
30385 2012-07-25 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30386
30387         * gst/vaapi/gstvaapidecode.c:
30388         * gst/vaapi/gstvaapidownload.c:
30389         * gst/vaapi/gstvaapipluginutil.c:
30390         * gst/vaapi/gstvaapipluginutil.h:
30391         * gst/vaapi/gstvaapipostproc.c:
30392         * gst/vaapi/gstvaapisink.c:
30393         * gst/vaapi/gstvaapiupload.c:
30394           plugins: fix display type selection and propagation.
30395           If vaapisink is in the GStreamer pipeline, then we shall allocate a
30396           unique GstVaapiDisplay and propagate it upstream. i.e. subsequent
30397           queries from vaapidecode shall get a valid answer from vaapisink.
30398
30399 2012-07-25 11:37:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30400
30401         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30402           display: fix destruction of mutex.
30403
30404 2012-07-25 09:16:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30405
30406         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30407         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30408         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
30409         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
30410         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30411         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
30412         * gst/vaapi/gstvaapipluginutil.c:
30413         * gst/vaapi/gstvaapipluginutil.h:
30414         * gst/vaapi/gstvaapisink.c:
30415           display: add display types.
30416           Move display types from gstvaapipluginutil.* to gstvaapidisplay.* so that
30417           we could simplify characterization of a GstVaapiDisplay. Also rename "auto"
30418           type to "any", and add a "display-type" attribute.
30419
30420 2012-07-24 19:43:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30421
30422         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30423           display: use prefixed display names for cache lookups.
30424           This improves display name comparisons by always allocating a valid display
30425           name. This also helps to disambiguate lookups by name in the global display
30426           cache, should a new backend be implemented.
30427
30428 2012-07-24 16:14:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30429
30430         * gst/vaapi/gstvaapipluginutil.h:
30431           plugins: declare helper functions as internal.
30432
30433 2012-07-24 14:31:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30434
30435         * docs/reference/libs/libs-sections.txt:
30436         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30437         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30438         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
30439         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
30440         * gst/vaapi/Makefile.am:
30441         * gst/vaapi/gstvaapidecode.c:
30442         * gst/vaapi/gstvaapidownload.c:
30443         * gst/vaapi/gstvaapipluginbuffer.c:
30444         * gst/vaapi/gstvaapipluginbuffer.h:
30445         * gst/vaapi/gstvaapipostproc.c:
30446         * gst/vaapi/gstvaapiupload.c:
30447           videobuffer: drop deprecated functions.
30448           Move video buffer creation routines to plugin elements. That exclusively
30449           uses *_typed_new*() variants.
30450
30451 2012-07-24 14:09:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30452
30453         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30454         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
30455           videobuffer: mark video buffer creation routines as deprecated.
30456           The vdeo buffer creation routines shall actually be internal to gstreamer-vaapi
30457           plugin elements. So deprecate any explicit creation routines that are not the
30458           new *_typed_new*() variants.
30459
30460 2012-07-24 13:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30461
30462         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30463         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
30464         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
30465           videobuffer: factor out base and GLX implementations.
30466           Introduce new typed constructors internal to gstreamer-vaapi plugin elements.
30467           This avoids duplication of code, and makes it possible to further implement
30468           generic video buffer creation routines that automatically map to base or GLX
30469           variants.
30470
30471 2012-07-24 10:58:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30472
30473         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30474           utils: fix gl_create_context() with parent context set.
30475           If GLX window was created from a foreign Display, then that same Display shall
30476           be used for subsequent glXMakeCurrent(). This means that gl_create_context()
30477           will now use the same Display that the parent, if available.
30478           This fixes cluttersink with the Intel GenX VA driver.
30479
30480 2012-07-23 18:37:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30481
30482         * gst/vaapi/gstvaapidecode.c:
30483         * gst/vaapi/gstvaapidownload.c:
30484         * gst/vaapi/gstvaapipluginutil.c:
30485         * gst/vaapi/gstvaapipluginutil.h:
30486         * gst/vaapi/gstvaapipostproc.c:
30487         * gst/vaapi/gstvaapisink.c:
30488         * gst/vaapi/gstvaapiupload.c:
30489           pluginutils: improve automatic display type selection.
30490
30491 2012-07-23 18:01:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30492
30493         * gst/vaapi/gstvaapipluginutil.c:
30494         * gst/vaapi/gstvaapipluginutil.h:
30495           pluginutils: cosmetics (indentation fixes).
30496
30497 2012-07-23 17:54:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30498
30499         * configure.ac:
30500           configure: simplify video outputs summary.
30501
30502 2012-07-23 17:49:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30503
30504         * configure.ac:
30505         * gst/vaapi/gstvaapipluginutil.c:
30506         * gst/vaapi/gstvaapipluginutil.h:
30507         * gst/vaapi/gstvaapisink.c:
30508         * gst/vaapi/gstvaapisink.h:
30509           configure: drop check for --enable-vaapisink-glx.
30510           vaapisink is now built with support for multiple display types, whenever
30511           they are enabled. The new "display" attribute is used to select a particular
30512           renderer.
30513
30514 2012-07-23 16:15:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30515
30516         * configure.ac:
30517         * gst-libs/gst/vaapi/gstvaapicompat.h:
30518         * gst/vaapi/Makefile.am:
30519         * gst/vaapi/gstvaapidecode.c:
30520         * gst/vaapi/gstvaapidownload.c:
30521         * gst/vaapi/gstvaapipluginutil.c:
30522         * gst/vaapi/gstvaapipostproc.c:
30523         * gst/vaapi/gstvaapiupload.c:
30524         * tests/test-display.c:
30525           configure: drop check for --enable-vaapi-glx.
30526           This flag is obsolete. It was meant to explicitly enable/disable VA/GLX API
30527           support, or fallback to TFP+FBO if this API is not found. Now, we check for
30528           the VA/GLX API by default if --enable-glx is set. If this API is not found,
30529           we now default to use TFP+FBO.
30530           Note: TFP+FBO, i.e. using vaPutSurface() is now also a deprecated usage and
30531           will be removed in the future. If GLX rendering is requested, then the VA/GLX
30532           API shall be used as it covers most usages. e.g. AMD driver can't render to
30533           an X pixmap yet.
30534
30535 2012-07-23 15:20:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30536
30537         * tests/output.c:
30538           tests: allow GLX output, if available and selected.
30539
30540 2012-07-23 15:17:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30541
30542         * tests/Makefile.am:
30543         * tests/output.c:
30544         * tests/output.h:
30545         * tests/test-decode.c:
30546         * tests/test-subpicture.c:
30547         * tests/test-surfaces.c:
30548           tests: use common display and window creation routines.
30549           Add new --output option to select the renderer. Use --list-outputs to
30550           print a list of supported renderers.
30551
30552 2012-07-23 14:15:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30553
30554         * tests/Makefile.am:
30555           tests: move encoded bitstreams to libutils.la.
30556
30557 2012-07-23 14:11:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30558
30559         * tests/Makefile.am:
30560           tests: build convenience library for common utilities.
30561
30562 2012-07-20 16:37:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30563
30564         * tests/Makefile.am:
30565         * tests/test-display.c:
30566           tests: simplify build with various display options.
30567
30568 2012-07-23 13:28:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30569
30570         * configure.ac:
30571           configure: improve checks for X11.
30572
30573 2012-07-20 15:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30574
30575         * tests/Makefile.am:
30576           configure: fix previous commit for GLX deps.
30577
30578 2012-07-20 14:44:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30579
30580         * configure.ac:
30581         * gst-libs/gst/vaapi/Makefile.am:
30582           configure: improve checks for GLX.
30583
30584 2012-07-20 11:45:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30585
30586         * configure.ac:
30587         * gst-libs/gst/vaapi/gstvaapicompat.h:
30588         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30589         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30590         * gst-libs/gst/vaapi/gstvaapiutils.h:
30591           Drop support for obsolete VA-API versions < 0.30.4.
30592
30593 2012-07-20 11:16:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30594
30595         * configure.ac:
30596         * gst-libs/gst/Makefile.am:
30597         * gst-libs/gst/gstutils_version.h.in:
30598         * gst/vaapi/gstvaapisink.c:
30599           vaapisink: drop checks for new APIs used by default.
30600           GStreamer -base plugins >= 0.10.31 are now required, so the checks for
30601           new APIs like GstXOverlay::set_window_handle() and ::set_render_rectangle()
30602           are no longer necessary.
30603
30604 2012-07-20 14:05:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30605
30606         * configure.ac:
30607           configure: cosmetics and some minor changes.
30608           - Better grouping of feature checks
30609           - Sort list of config files to generate
30610
30611 2012-07-19 17:55:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30612
30613         * configure.ac:
30614         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
30615         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
30616         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
30617         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30618         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
30619         * gst-libs/gst/vaapi/gstvaapiutils.h:
30620         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
30621         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
30622           Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden.
30623
30624 2012-07-19 17:41:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30625
30626         * gst-libs/gst/vaapi/Makefile.am:
30627         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
30628         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
30629           Drop obsolete GstVaapiTSB.
30630           It has been replaced with a GstAdapter and gst_adapter_prev_pts().
30631
30632 2012-07-19 17:27:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30633
30634         * docs/reference/libs/libs-sections.txt:
30635           docs: add missing entries for the JPEG decoder.
30636
30637 2012-07-19 17:16:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30638
30639         * configure.ac:
30640         * gst-libs/gst/vaapi/Makefile.am:
30641         * gst/vaapi/gstvaapidecode.c:
30642         * tests/test-decode.c:
30643         * tests/test-subpicture.c:
30644           Drop all references to USE_CODEC_PARSERS.
30645
30646 2012-07-19 17:00:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30647
30648         * NEWS:
30649         * configure.ac:
30650         * docs/reference/libs/libs-sections.txt:
30651         * docs/reference/libs/libs.core.types:
30652         * gst-libs/gst/vaapi/Makefile.am:
30653         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
30654         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
30655         * gst/vaapi/gstvaapidecode.c:
30656         * gst/vaapi/gstvaapidecode.h:
30657         * tests/test-decode.c:
30658         * tests/test-subpicture.c:
30659           Drop FFmpeg-based decoders.
30660           GStreamer codecparsers-based decoders are the only supported decoders now.
30661           Though, FFmpeg decoders are still available in gstreamer-vaapi 0.3.x series.
30662
30663 2012-07-01 05:55:05 +0900  Javier Jardón <jjardon@gnome.org>
30664
30665         * configure.ac:
30666         * debian.upstream/control.in:
30667           configure: bump glib required version to 2.28.
30668           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30669
30670 2012-06-29 08:45:47 +0900  Javier Jardón <jjardon@gnome.org>
30671
30672         * gst/vaapi/gstvaapidecode.h:
30673         * gst/vaapi/gstvaapidownload.h:
30674         * gst/vaapi/gstvaapipostproc.h:
30675         * gst/vaapi/gstvaapisink.h:
30676         * gst/vaapi/gstvaapiupload.h:
30677           plugins: declare _get_type() functions as const.
30678           Declaring a function as const enables better optimization of calls to
30679           the function.
30680           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30681
30682 2012-07-01 05:50:17 +0900  Javier Jardón <jjardon@gnome.org>
30683
30684         * gst/vaapi/gstvaapidecode.c:
30685         * gst/vaapi/gstvaapidownload.c:
30686         * gst/vaapi/gstvaapipostproc.c:
30687         * gst/vaapi/gstvaapisink.c:
30688         * gst/vaapi/gstvaapiupload.c:
30689           plugins: use g_clear_object() wherever applicable.
30690           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30691
30692 2012-06-29 15:19:51 +0900  Javier Jardón <jjardon@gnome.org>
30693
30694         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
30695         * gst-libs/gst/vaapi/gstvaapicontext.h:
30696         * gst-libs/gst/vaapi/gstvaapidecoder.h:
30697         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
30698         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
30699         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
30700         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
30701         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
30702         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
30703         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
30704         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
30705         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30706         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
30707         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30708         * gst-libs/gst/vaapi/gstvaapiimage.h:
30709         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
30710         * gst-libs/gst/vaapi/gstvaapiobject.h:
30711         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
30712         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
30713         * gst-libs/gst/vaapi/gstvaapisurface.h:
30714         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
30715         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
30716         * gst-libs/gst/vaapi/gstvaapitexture.h:
30717         * gst-libs/gst/vaapi/gstvaapivalue.h:
30718         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30719         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
30720         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
30721         * gst-libs/gst/vaapi/gstvaapivideopool.h:
30722         * gst-libs/gst/vaapi/gstvaapivideosink.h:
30723         * gst-libs/gst/vaapi/gstvaapiwindow.h:
30724         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
30725         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
30726           libs: declare _get_type() functions as const.
30727           Declaring a function as const enables better optimization of calls
30728           to the function.
30729           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30730
30731 2012-07-01 05:34:15 +0900  Javier Jardón <jjardon@gnome.org>
30732
30733         * gst-libs/gst/vaapi/glibcompat.h:
30734         * gst-libs/gst/vaapi/gstvaapicontext.c:
30735         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30736         * gst-libs/gst/vaapi/gstvaapiobject.c:
30737         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30738         * gst-libs/gst/vaapi/gstvaapisurface.c:
30739         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
30740         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30741         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
30742         * gst-libs/gst/vaapi/gstvaapivideopool.c:
30743           libs: use g_clear_object() wherever applicable.
30744           This is a preferred thread-safe version. Also add an inline version of
30745           g_clear_object() if compiling with glib < 2.28.
30746           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30747
30748 2012-07-01 06:02:22 +0900  Javier Jardón <jjardon@gnome.org>
30749
30750         * .gitignore:
30751         * configure.ac:
30752         * docs/reference/libs/Makefile.am:
30753         * gst-libs/gst/vaapi/Makefile.am:
30754         * gst-libs/gst/vaapi/gstvaapimarshal.list:
30755         * gst-libs/gst/vaapi/gstvaapiobject.c:
30756           libs: use generic g_cclosure_marshal_VOID__VOID().
30757           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30758
30759 2012-07-19 14:29:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30760
30761         * configure.ac:
30762         * gst-libs/gst/vaapi/glibcompat.h:
30763           glibcompat: drop explicit check for g_list_free_full().
30764
30765 2012-07-19 13:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30766
30767         * configure.ac:
30768           Bump version for development.
30769
30770 2012-07-19 13:57:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30771
30772         * gst-libs/gst/codecparsers/Makefile.am:
30773           jpeg: fix make dist.
30774
30775 2012-06-28 00:39:10 +0900  Javier Jardón <jjardon@gnome.org>
30776
30777         * autogen.sh:
30778         * configure.ac:
30779         * docs/Makefile.am:
30780           configure: fix build without gtk-doc support.
30781           Also do not generate tamplate files as all the documentation is inline.
30782           Drop un-needed code in autogen.sh as well.
30783           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30784
30785 2012-06-28 00:27:31 +0900  Javier Jardón <jjardon@gnome.org>
30786
30787         * Makefile.am:
30788         * autogen.sh:
30789         * configure.ac:
30790           configure: put m4 macros and autogenerated files into m4/ directory.
30791           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30792
30793 2012-06-28 00:20:12 +0900  Javier Jardón <jjardon@gnome.org>
30794
30795         * configure.ac:
30796           configure: drop deprecated autoconf macros.
30797           Bump autoconf required version to 2.58, needed for AS_HELP_STRING macro.
30798           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30799
30800 2012-06-28 00:04:19 +0900  Javier Jardón <jjardon@gnome.org>
30801
30802         * configure.ac:
30803           configure: don't use AC_SUBST for some variables.
30804           PKG_CHECK_MODULES already does this for us.
30805           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30806
30807 2012-07-19 11:43:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30808
30809         * gst/vaapi/gstvaapidecode.c:
30810         * gst/vaapi/gstvaapidownload.c:
30811         * gst/vaapi/gstvaapipostproc.c:
30812         * gst/vaapi/gstvaapiupload.c:
30813           plugins: add support for GstImplementsInterface.
30814
30815 2012-07-01 02:58:36 +0900  Javier Jardón <jjardon@gnome.org>
30816
30817         * configure.ac:
30818         * gst/vaapi/gstvaapidecode.c:
30819         * gst/vaapi/gstvaapidownload.c:
30820         * gst/vaapi/gstvaapipostproc.c:
30821         * gst/vaapi/gstvaapisink.c:
30822         * gst/vaapi/gstvaapiupload.c:
30823           plugins: use G_DEFINE_TYPE_* instead of deprecated GST_BOILERPLATE_*.
30824           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30825
30826 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
30827
30828         * configure.ac:
30829         * gst/vaapi/gstvaapisink.c:
30830           plugins: do not use deprecated GStreamer -base symbols.
30831           Bump GStreamer plugins -base required version to 0.10.31, needed for
30832           gst_x_overlay_got_window_handle().
30833           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30834
30835 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
30836
30837         * configure.ac:
30838         * gst/vaapi/gstvaapidecode.c:
30839         * gst/vaapi/gstvaapidownload.c:
30840         * gst/vaapi/gstvaapipostproc.c:
30841         * gst/vaapi/gstvaapisink.c:
30842         * gst/vaapi/gstvaapiupload.c:
30843           plugins: do not use deprecated core GStreamer symbols.
30844           Bump GStreamer required version to 0.10.14, needed for
30845           gst_element_class_set_details_simple().
30846           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30847
30848 2012-07-19 10:54:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30849
30850         * tests/test-decode.c:
30851           tests: fix build without JPEG decoder support.
30852
30853 2012-07-17 13:44:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30854
30855         * tests/Makefile.am:
30856         * tests/test-decode.c:
30857         * tests/test-jpeg.c:
30858         * tests/test-jpeg.h:
30859           tests: add test for JPEG decoding.
30860
30861 2012-07-17 13:43:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30862
30863         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30864           jpeg: update to match latest parser API.
30865
30866 2012-07-16 17:35:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30867
30868         * gst-libs/gst/codecparsers/gstjpegparser.c:
30869         * gst-libs/gst/codecparsers/gstjpegparser.h:
30870           codecparsers: jpeg: tweak parser API.
30871           ... to allow for more consistent parsing API among various codec parsers.
30872           In particular, drop use of GList.
30873
30874 2012-07-16 16:24:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30875
30876         * configure.ac:
30877           jpeg: fix configure check for VA/JPEG decoding API.
30878
30879 2012-06-26 15:18:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30880
30881         * gst-libs/gst/vaapi/gstvaapiprofile.c:
30882           jpeg: fix build with VA-API < 0.32.0.
30883
30884 2012-06-26 15:04:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30885
30886         * NEWS:
30887           NEWS: updates.
30888
30889 2012-06-26 15:02:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30890
30891         * configure.ac:
30892           Bump version for development.
30893
30894 2012-06-26 14:46:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30895
30896         * NEWS:
30897         * configure.ac:
30898           0.3.7.
30899
30900 2012-06-26 13:34:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30901
30902         * NEWS:
30903           NEWS: updates.
30904
30905 2012-06-25 16:07:55 +0800  Yan Yin <yan.yin@intel.com>
30906
30907         * gst/vaapi/gstvaapipluginutil.c:
30908           vaapiplugin: fix build when compiling without GLX.
30909           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30910
30911 2012-06-26 11:03:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30912
30913         * configure.ac:
30914           configure: disable FFmpeg-based decoders.
30915           FFmpeg decoders are still available through the --enable-ffmpeg option
30916           but are no longer maintained.
30917
30918 2012-06-25 17:25:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30919
30920         * gst-libs/gst/vaapi/Makefile.am:
30921           Fix build with recent GStreamer stack.
30922
30923 2012-06-25 17:10:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30924
30925         * configure.ac:
30926         * gst-libs/gst/vaapi/gstvaapicompat.h:
30927         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30928           jpeg: update to current VA/JPEG decoding API.
30929
30930 2012-06-21 16:06:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30931
30932         * gst-libs/gst/codecparsers/gstjpegparser.c:
30933         * gst-libs/gst/codecparsers/gstjpegparser.h:
30934         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30935           codecparsers: jpeg: track valid quantization and Huffman tables.
30936           Add valid flag to GstJpegQuantTable and GstJpegHuffmanTable so that
30937           to determine whether a table actually changed since the last user
30938           synchronization point. That way, this makes it possible for some
30939           hardware accelerated decoding solution to upload only those tables
30940           that changed.
30941
30942 2012-06-05 10:10:22 +0800  Wind Yuan <feng.yuan@intel.com>
30943
30944         * gst-libs/gst/codecparsers/gstjpegparser.c:
30945           codecparsers: jpeg: use U_READ_UINT*() wherever possible.
30946           Use GstByteReader *_unchecked() variants as much as possible.
30947           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30948
30949 2012-06-04 16:20:13 +0800  Wind Yuan <feng.yuan@intel.com>
30950
30951         * gst-libs/gst/codecparsers/gstjpegparser.c:
30952         * gst-libs/gst/codecparsers/gstjpegparser.h:
30953         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30954           jpeg: add new GstJpegHuffmanTables structure.
30955           Add new GstJpegHuffmanTables helper structure to hold all possible
30956           AC/DC Huffman tables available to all components.
30957           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30958
30959 2012-06-04 15:52:19 +0800  Wind Yuan <feng.yuan@intel.com>
30960
30961         * gst-libs/gst/codecparsers/gstjpegparser.c:
30962         * gst-libs/gst/codecparsers/gstjpegparser.h:
30963         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30964           jpeg: make gst_jpeg_parse() support multiple scans.
30965           gst_jpeg_parse() now gathers all scans available in the supplied
30966           buffer. A scan comprises of the scan header and any entropy-coded
30967           segments or restart marker following it. The size and offset to
30968           the associated data (ECS + RST segments) are append to a new
30969           GstJpegScanOffsetSize structure.
30970           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30971
30972 2012-04-19 23:50:14 +0800  Wind Yuan <feng.yuan@intel.com>
30973
30974         * gst-libs/gst/codecparsers/gstjpegparser.c:
30975         * gst-libs/gst/codecparsers/gstjpegparser.h:
30976         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30977           jpeg: update to match latest parser API.
30978           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30979
30980 2012-04-13 01:58:39 -0400  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30981
30982         * gst-libs/gst/codecparsers/gstjpegparser.h:
30983           jpeg: simplify and optimize parser API.
30984
30985 2012-04-18 22:30:45 -0400  Wind Yuan <feng.yuan@intel.com>
30986
30987         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30988           mpeg: fix picture used to determine backward_reference_vop_coding_type.
30989           Complete fix brought by bf9f77b1afb0829b97e2d502057aec973c5fd7f5
30990           but Gwenole did not apply all the bits.
30991           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30992
30993 2012-04-27 04:13:00 -0400  Wind Yuan <feng.yuan@intel.com>
30994
30995         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30996           mpeg4: map Simple_Scalable profile to Advanced_Simple profile.
30997           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30998
30999 2012-04-27 04:10:17 -0400  Wind Yuan <feng.yuan@intel.com>
31000
31001         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31002           mpeg4: handle skipped frames (vop_hdr->coded = 0).
31003           Gracefully skip non VOP coded frames.
31004           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31005
31006 2012-04-26 04:00:41 -0400  Wind Yuan <feng.yuan@intel.com>
31007
31008         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31009           mpeg4: fix timestamp issues on too fast playback.
31010           Improve generation of presentation timestamps to be less sensitive
31011           to input stream errors. In practise, GOP is also a synchronization
31012           point for PTS calculation.
31013           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31014
31015 2012-04-16 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31016
31017         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31018           Fix build without JPEG decoder.
31019
31020 2012-04-12 11:48:24 +0200  Wind Yuan <feng.yuan@intel.com>
31021
31022         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31023           mpeg4: fix VOP coding type of backward reference pictures.
31024           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31025
31026 2012-04-11 23:02:45 -0400  Wind Yuan <feng.yuan@intel.com>
31027
31028         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31029           mpeg4: fix handling of temporal reference distances.
31030           TRD and TRB fields are not large enough to hold the difference of PTS
31031           expressed with nanosecond resolution. So, compute them from the original
31032           VOP info.
31033           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31034
31035 2012-04-12 11:00:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31036
31037         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31038           dpb: mpeg2: cosmetics.
31039           Define MAX_MPEG2_REFERENCES to 2 and avoid magic numbers all around.
31040
31041 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
31042
31043         * configure.ac:
31044         * gst-libs/gst/vaapi/Makefile.am:
31045         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31046         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
31047         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
31048         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
31049         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31050         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31051         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31052         * gst-libs/gst/vaapi/gstvaapiprofile.h:
31053         * gst/vaapi/gstvaapidecode.c:
31054           Add initial JPEG decoder.
31055           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31056
31057 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
31058
31059         * configure.ac:
31060         * gst-libs/gst/Makefile.am:
31061         * gst-libs/gst/codecparsers/Makefile.am:
31062         * gst-libs/gst/codecparsers/gstjpegparser.c:
31063         * gst-libs/gst/codecparsers/gstjpegparser.h:
31064         * gst-libs/gst/vaapi/Makefile.am:
31065           codecparsers: add JPEG parser.
31066           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31067
31068 2012-04-10 13:29:10 +0200  Wind Yuan <feng.yuan@intel.com>
31069
31070         * gst/vaapi/gstvaapidecode.c:
31071           vaapidecode: fix VA display type.
31072           Fix typo whereby plain VADisplay type was used instead of the GstVaapiDisplay
31073           wrapper.
31074           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31075
31076 2012-04-10 14:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31077
31078         * gst/vaapi/gstvaapidecode.c:
31079           vaapidecode: fix includes when compiling for a single API.
31080
31081 2012-04-02 18:42:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31082
31083         * NEWS:
31084         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31085           mpeg2: fix calculation of macroblock_offset.
31086           Fix decoding of streams with extra slice() information before the first
31087           macroblock(). e.g. this fixes sony-ct3.bs from conformance test.
31088
31089 2012-04-02 18:09:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31090
31091         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31092           mpeg2: fix interpolation of GOP TSN from new PTS.
31093           New GOP TSN base could be mis-calculated. In particular, this fixes
31094           decoding of uruseiyatsura.vob from <http://samples.mplayerhq.hu/>.
31095
31096 2012-04-02 16:07:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31097
31098         * NEWS:
31099         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31100         * gst-libs/gst/vaapi/gstvaapiprofile.h:
31101           mpeg2: fix decoding of high profile streams.
31102           Allow MPEG-2 High profile streams only if the HW supports that profile
31103           or no High profile specific bits are used, and thus Main profile could
31104           be used instead. i.e. chroma_format is 4:2:0, intra_dc_precision is not
31105           set to 11 and no sequence_scalable_extension() was parsed.
31106
31107 2012-04-02 14:51:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31108
31109         * NEWS:
31110         * gst/vaapi/gstvaapidecode.c:
31111           vaapidecode: report unsupported codec profiles.
31112           Try to gracefully abort when the HW does not support the requested
31113           profile. There is no fallback unless profiles are correctly parsed
31114           and matched through caps beforehand.
31115
31116 2012-02-07 15:23:22 +0100  Holger Kaelberer <holger.k@elberer.de>
31117
31118         * NEWS:
31119         * gst/vaapi/gstvaapisink.c:
31120           vaapisink: don't resize a 'foreign' X-window.
31121           Don't forcibly resize foreign X windows. The user is responsible for
31122           their size and vaapisink shall not change this.
31123           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31124
31125 2012-02-07 15:21:05 +0100  Holger Kaelberer <holger.k@elberer.de>
31126
31127         * NEWS:
31128         * gst/vaapi/gstvaapisink.c:
31129         * gst/vaapi/gstvaapisink.h:
31130           vaapisink: recalculate render rect only if caps are negotiated.
31131           Fix gst_vaapisink_xoverlay_set_window_handle() when it is called before
31132           caps got negotiated. Besides, when a foreign window is provided by the
31133           user, so should the render rect.
31134           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31135
31136 2012-04-02 13:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31137
31138         * configure.ac:
31139           Bump version for development.
31140
31141 2012-04-02 10:07:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31142
31143         * configure.ac:
31144           0.3.6.
31145
31146 2012-04-02 12:52:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31147
31148         * docs/reference/libs/libs-docs.xml.in:
31149         * docs/reference/libs/libs-sections.txt:
31150         * docs/reference/plugins/plugins-docs.xml.in:
31151         * docs/reference/plugins/plugins-sections.txt:
31152         * docs/reference/plugins/plugins.types:
31153         * gst-libs/gst/vaapi/gstvaapiimage.c:
31154         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
31155         * gst/vaapi/gstvaapipostproc.c:
31156           Fix a few documentation issues.
31157
31158 2012-04-02 10:05:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31159
31160         * NEWS:
31161         * README:
31162           Update introduction and changelog.
31163
31164 2012-04-02 11:29:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31165
31166         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31167         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
31168         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31169           mpeg2: allocate dummy picture for first field based I-frame.
31170           In P-pictures, prediction shall be made from the two most recently
31171           decoded reference fields. However, when the first I-frame is a field,
31172           the next field of the current picture could be a P-picture but only a
31173           single field was decoded so far. In this case, create a dummy picture
31174           with POC = -1 that will be used as reference.
31175           Some VA drivers would error out if P-pictures don't have a forward
31176           reference picture. This is true in general but not in this very specific
31177           initial case.
31178
31179 2012-04-02 10:43:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31180
31181         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31182           mpeg2: fix simple to main profile fallback.
31183           Allow fallback from simple to main profile when the HW decoder does
31184           not support the former profile and that no sequence_header_extension()
31185           is available to point out this.
31186
31187 2012-03-30 03:04:40 -0400  Wind Yuan <feng.yuan@intel.com>
31188
31189         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31190           mpeg4: improve error checking while decoding packets.
31191           decode_picture() could return an error when an MPEG-4 profile is not
31192           supported for example. In this case, the underlying VA context is not
31193           allocated and no other proper action can be taken. Likewise on exit
31194           from decode_slice().
31195           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31196
31197 2012-03-30 17:03:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31198
31199         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31200         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31201         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31202         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31203           decoder: use POC to maintain the DPB.
31204           Introduce a POC field in GstVaapiPicture so that to store simpler sequential
31205           numbers. A signed 32-bit integer should be enough for 1 year of continuous
31206           video streaming at 60 Hz.
31207           Use this new POC value to maintain the DPB, instead of 64-bit timestamps.
31208           This also aligns with H.264 that will be migrated to GstVaapiDpb infrastructure.
31209
31210 2012-03-30 16:23:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31211
31212         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31213           mpeg2: rework generation of presentation timestamps.
31214           Always prefer PTS from the demuxer layer for GOP times. If this is invalid,
31215           i.e. demuxer could not determine the PTS or the generated PTS is lower than
31216           max PTS from past pictures, then try to fix it up based on the duration of
31217           a frame.
31218           For picture PTS, simply use the GOP PTS formerly computed then use TSN to
31219           reconstruct a current time. Also now handle wrapped TSN correctly.
31220
31221 2012-03-30 17:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31222
31223         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31224           mpeg2: ignore empty user-data packets.
31225           Fix tcela-8.bits conformance test.
31226
31227 2012-03-29 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31228
31229         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31230           mpeg2: review and report errors accordingly.
31231           Use GST_ERROR() to report real errors instead of hiding them into
31232           GST_DEBUG().
31233
31234 2012-03-28 19:15:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31235
31236         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31237           mpeg2: fix invalid interlaced frame in progressive sequence.
31238           Some streams, badly constructed, could have signaled an interlaced
31239           frame while the sequence was meant to be progressive. Warn and force
31240           frame to be progressive in this case.
31241
31242 2012-03-28 16:08:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31243
31244         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31245         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31246           mpeg2: add support for interlaced streams.
31247           Pictures are submitted to the HW for rendering only when both fields
31248           are decoded or current picture is a full frame.
31249
31250 2012-03-28 14:36:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31251
31252         * gst-libs/gst/vaapi/Makefile.am:
31253         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31254         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
31255         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31256           mpeg2: add new decoded picture buffer infrastructure.
31257           Decoded pictures are now maintained into DPB, similarly to H.264.
31258           The same mechanism could be re-used for VC-1 and MPEG-4:2 codecs.
31259
31260 2012-03-28 17:50:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31261
31262         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31263         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31264         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31265           decoder: add first-field flag to picture.
31266           Add first-field (FF) flag to GstVaapiPicture, thus not requiring is_first_field
31267           member in each decoder. Rather, when a GstVaapiPicture is created, it is considered
31268           as the first field. Any subsequent allocated field will become the second field.
31269
31270 2012-03-28 16:05:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31271
31272         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31273         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
31274         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31275         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31276           decoder: allow pictures to be cloned for field decoding.
31277           Add gst_vaapi_picture_new_field() function that clones a picture, while
31278           preserving the parent picture surface. i.e. the surface proxy reference
31279           count is increased and other fields copied as is. Besides, the picture
31280           is reset into a "non-output" mode.
31281
31282 2012-03-28 16:07:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31283
31284         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31285         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31286         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31287           decoder: rework picture field flags.
31288           Add top-field-first (TFF) and interlaced flags to GstVaapiPicture so they
31289           could be propagated to the surface proxy when it is pushed for rendering.
31290           Besides, top and bottom fields are now expressed with picture structure flags
31291           from GstVaapiSurfaceRenderFlags.
31292
31293 2012-03-28 14:28:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31294
31295         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31296         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31297           decoder: add OUTPUT flag to pictures.
31298           Allow pictures to be marked as output gst_vaapi_picture_output().
31299
31300 2012-03-28 14:24:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31301
31302         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31303         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31304         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
31305           decoder: fix semantics of SKIPPED pictures.
31306           If GstVaapiPicture has flag SKIPPED set, this means gst_vaapi_picture_output()
31307           will not push the underlying surface for rendering. Besides, VC-1 skipped P-frame
31308           has nothing to do with rendering. This only means that the currently decoded
31309           picture is just a copy of its reference picture.
31310
31311 2012-03-28 15:16:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31312
31313         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31314         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31315         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31316         * gst/vaapi/gstvaapipostproc.c:
31317           vaapipostproc: get "interlaced" attribute from surface proxy.
31318           Add new "interlaced" attribute to GstVaapiSurfaceProxy. Use this in
31319           vaapipostproc so that to handles cases where bitstream is interlaced
31320           but almost only frame pictures are generated. In this case, we should
31321           not be alternating between top/bottom fields.
31322
31323 2012-03-26 14:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31324
31325         * README:
31326         * debian.upstream/control.in:
31327         * gst/vaapi/Makefile.am:
31328         * gst/vaapi/gstvaapi.c:
31329         * gst/vaapi/gstvaapipostproc.c:
31330         * gst/vaapi/gstvaapipostproc.h:
31331           vaapipostproc: add new element for video postprocessing.
31332           Add vaapipostproc element for video postprocessing. So far, only basic
31333           bob deinterlacing is implemented. Interlaced mode is automatically
31334           detected based on sink caps ("interlaced" field).
31335
31336 2012-03-26 12:01:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31337
31338         * docs/reference/libs/libs-sections.txt:
31339         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31340         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31341         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
31342         * gst/vaapi/gstvaapisink.c:
31343           videobuffer: add surface render flags.
31344           Allow rendering flags, as a combination of GstVaapiSurfaceRenderFlags,
31345           to be set to the video buffer. In particular, this is mostly useful for
31346           basic deinterlacing.
31347
31348 2012-03-23 17:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31349
31350         * gst-libs/gst/vaapi/gstvaapicompat.h:
31351           compat: add compatibility glue with VA-API 0.34+ (WIP).
31352
31353 2012-03-23 17:11:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31354
31355         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31356           h264: skip all Filler Data NALs.
31357
31358 2012-03-22 03:28:22 -0400  Wind Yuan <feng.yuan@intel.com>
31359
31360         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31361           mpeg4: check for decoder status prior to decoding packet.
31362           Make sure there is a VA surface free prior to decoding the current frame.
31363           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31364
31365 2012-03-15 04:58:04 -0400  Wind Yuan <feng.yuan@intel.com>
31366
31367         * gst/vaapi/gstvaapidecode.c:
31368         * gst/vaapi/gstvaapidecode.h:
31369           decode: delay NEWSEGMENT event if vaapidecode element was not linked.
31370           Rationale: playbin2 links all elements at run-time. Once vaapidecode
31371           is created and a NEWSEGMENT event arrives, downstream element may not
31372           be ready yet. So, delay this event until next element is chained in,
31373           otherwise basesink could output "Received buffer without a new-segment.
31374           Assuming timestamps start from 0".
31375           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31376
31377 2012-03-13 20:33:41 -0400  Wind Yuan <feng.yuan@intel.com>
31378
31379         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31380           mpeg2: fix GOP timestamps when incorrect data is received.
31381           Some streams have incorrect GOP timestamps, or nothing set at all.
31382           i.e. GOP time is 00:00:00 for all GOPs. Try to recover in this case
31383           from demuxer timestamps, which are monotonic.
31384           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31385
31386 2012-03-13 02:03:31 -0400  Wind Yuan <feng.yuan@intel.com>
31387
31388         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31389           mpeg2: don't decode anything before the first sequence_header().
31390           Skip all pictures prior to the first sequence_header(). Besides,
31391           skip all picture_data() if there was no prior picture_header().
31392           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31393
31394 2012-02-07 15:57:14 +0100  Holger Kaelberer <holger.k@elberer.de>
31395
31396         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31397           ffmpeg: add support for interlaced streams.
31398           Evaluate interlaced stream properties.
31399           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31400
31401 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
31402
31403         * gst/vaapi/gstvaapidecode.c:
31404           vaapidecode: propagate interlaced and TFF properties downstream.
31405           Propagate "interlaced" caps downstream and set "tff" buffer flag
31406           appropriately to output buffers for interlaced pictures.
31407           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31408
31409 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
31410
31411         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31412         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31413           decoder: maintain caps for interlaced streams.
31414           Extend GstVaapiDecoder base object to maintain caps with "interlaced"
31415           property.
31416           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31417
31418 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
31419
31420         * docs/reference/libs/libs-sections.txt:
31421         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31422         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31423           surfaceproxy: add TFF property.
31424           Add TFF (top-field-first) property to GstVaapiSurfaceProxy.
31425           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31426
31427 2012-03-16 14:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31428
31429         * AUTHORS:
31430           AUTHORS: update to match current authors.
31431
31432 2012-02-28 11:58:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31433
31434         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31435           mpeg2: fix is_first_field calculation.
31436           Reset is_first_field for frame pictures. Factor out locations where
31437           the flag is updated.
31438
31439 2012-02-24 12:56:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31440
31441         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31442           mpeg2: catch incorrect picture_structure from bitstreams.
31443           Assume "frame" picture structure if the syntax element was zero or if
31444           progressive_frame is set.
31445
31446 2012-02-24 12:53:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31447
31448         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31449           mpeg2: fix slice_vertical_position calculation (again).
31450           VA-API expects slice_vertical_position as the initial position from the
31451           bitstream. i.e. the direct slice() information. VA drivers will be fixed
31452           accordingly.
31453
31454 2012-03-02 15:03:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31455
31456         * gst/vaapi/gstvaapidecode.c:
31457           Revert "vaapidecode: fix another pad template ref leak" (Holger Kaelberer)
31458           This reverts commit 2f127d6af473afd647a2c88f75faafd1cd718437.
31459           For gst_element_class_get_pad_template(), no unreferencing is necessary
31460           according to the GStreamer documentation.
31461
31462 2012-03-02 13:41:16 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31463
31464         * configure.ac:
31465         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31466           h264: fix slice_data_bit_offset calculation.
31467           Unlike what VA-API documentation defines, the slice_data_bit_offset
31468           represents the offset to the first macroblock in the slice data, minus
31469           any emulation prevention bytes in the slice_header().
31470           This fix copes with binary-only VA drivers that won't be fixed any
31471           time soon. Besides, this aligns with the current FFmpeg behaviour
31472           that was based on those proprietary drivers implementing the API
31473           incorrectly.
31474
31475 2012-02-21 02:11:20 -0500  Wind Yuan <feng.yuan@intel.com>
31476
31477         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31478           h264: skip all Access Unit (AU) NALs.
31479           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31480
31481 2012-02-29 03:08:46 -0500  Wind Yuan <feng.yuan@intel.com>
31482
31483         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31484           h264: fix modification process of reference picture lists.
31485           Construction of RefPicList0/1 could be off by one element.
31486           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31487
31488 2012-02-12 11:21:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
31489
31490         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31491           mpeg2: fix size calculation from sequence_extension().
31492           Original values from sequence_header() are 12-bit and the remaining
31493           2 most significant bits are coming from sequence_extension().
31494           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31495
31496 2012-02-23 16:39:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31497
31498         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31499           mpeg2: fix slice_vertical_position calculation.
31500           Make sure to adjust slice_vertical_position if picture structure
31501           is a top or bottom field.
31502
31503 2012-02-23 16:23:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31504
31505         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31506           decoder: add picture structure flags.
31507
31508 2012-02-23 14:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31509
31510         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31511           mpeg2: fix decoding at end-of-sequence.
31512
31513 2012-02-23 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31514
31515         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31516           mpeg2: fix slice_horizontal_position calculation.
31517
31518 2012-02-23 16:14:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31519
31520         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31521           mpeg2: drop useless mb_y and mb_height members.
31522
31523 2012-02-23 11:19:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31524
31525         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31526           mpeg2: fix decoding of multiple slices with same slice_vertical_position.
31527           6.3.15 says that "some slices may have the same slice_vertical_position,
31528           since slices may start and finish anywhere". So, we can't submit the current
31529           picture to the HW right away since subsequent slices would be missing.
31530
31531 2012-02-15 14:08:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31532
31533         * gst-libs/gst/vaapi/gstvaapiimage.c:
31534           image: fix source stride in picture copy.
31535
31536 2012-02-13 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31537
31538         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31539           decoder: fix double buffer free with some VA drivers.
31540           vaRenderPicture() implicitly disposes VA buffers. Some VA drivers would
31541           push the VA buffer object into a list of free buffers to be re-used. However,
31542           reference pictures (and data) that was kept would explicitly release the VA
31543           buffer object later on, thus possibly destroying a valid (re-used) object.
31544           Besides, some other VA drivers don't support correctly the vaRenderPicture()
31545           semantics for VA buffers disposal and would leak memory if there is no explicit
31546           vaDestroyBuffer(). The temporary workaround is to explcitily destroy VA buffers
31547           right after vaRenderPicture(). All VA drivers need to be aligned.
31548
31549 2012-02-08 18:08:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31550
31551         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31552           h264: complete any current picture decoder before SPS / PPS change.
31553           This ensures the VA context is clear when the encoded resolution
31554           changes. i.e. make sure older picture is decoded with the older
31555           VA context before it changes.
31556
31557 2012-02-08 18:07:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31558
31559         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31560           h264: create VA context earlier when SPS is parsed.
31561
31562 2012-02-08 17:57:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31563
31564         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31565           h264: don't allocate too big data structures on stack.
31566
31567 2012-02-07 11:07:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31568
31569         * gst-libs/gst/vaapi/glibcompat.h:
31570         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31571         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
31572           glib: map deprecated API to glib >= 2.32 equivalents.
31573           GStaticMutex and GStaticRecMutex are now replaced with GMutex and
31574           GRecMutex, which no longer require any prior call to g_thread_init().
31575
31576 2012-02-07 10:01:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31577
31578         * gst-libs/gst/vaapi/gstvaapiutils.h:
31579         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
31580         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
31581           glib: fix includes.
31582
31583 2012-02-07 10:05:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31584
31585         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31586         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31587         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31588         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31589           cosmetics: fix warnings (drop unused variables).
31590
31591 2012-02-06 16:11:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31592
31593         * gst/vaapi/gstvaapidecode.c:
31594           vaapidecode: fix another pad template ref leak.
31595
31596 2012-02-06 15:54:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31597
31598         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31599         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31600         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31601           mpeg2: fix crash when there is no free surface to decode into.
31602
31603 2012-01-31 16:38:58 +0800  Zhao Halley <halley.zhao@intel.com>
31604
31605         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31606           display: skip profiles which have no entrypoints.
31607           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31608
31609 2012-02-05 18:28:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31610
31611         * gst/vaapi/gstvaapiupload.c:
31612           vaapiupload: use g_object_unref() for GstVaapiImage.
31613
31614 2012-02-05 18:24:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31615
31616         * gst/vaapi/gstvaapidecode.c:
31617         * gst/vaapi/gstvaapidownload.c:
31618         * gst/vaapi/gstvaapisink.c:
31619         * gst/vaapi/gstvaapiupload.c:
31620           plugins: fix pad template ref leaks.
31621
31622 2012-02-02 09:23:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31623
31624         * configure.ac:
31625           Bump version for development.
31626
31627 2012-02-01 23:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31628
31629         * NEWS:
31630         * configure.ac:
31631           0.3.4.
31632
31633 2012-02-01 23:32:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31634
31635         * README:
31636           README: updates.
31637           Mention codecparsers-based decoders, FFmpeg is now optional. Update
31638           list of support HW.
31639
31640 2012-02-01 23:28:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31641
31642         * NEWS:
31643           NEWS: updates.
31644
31645 2012-01-31 11:34:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31646
31647         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31648           decoder: allocate proxy surface earlier.
31649           This simplifies gst_vaapi_picture_output() to only update the presentation
31650           timestamp and submit the proxy to the decoder for output.
31651
31652 2012-01-31 11:26:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31653
31654         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31655           decoder: fix memory leak of VA objects on exit.
31656           On sequence end, if the last decoded picture is not output for rendering,
31657           then the proxy surface is not created. In this case, the original surface
31658           must be released explicitly to the context.
31659
31660 2012-01-31 10:47:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31661
31662         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31663           mpeg2: use GstAdapter to track input sequence.
31664           This fixes possible memory leaks and improves performance by removing
31665           some extra copies.
31666
31667 2012-01-30 18:25:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31668
31669         * configure.ac:
31670         * gst-libs/gst/vaapi/Makefile.am:
31671         * gst-libs/gst/vaapi/glibcompat.h:
31672         * gst-libs/gst/vaapi/sysdeps.h:
31673           Add glib compatibility glue for older versions.
31674
31675 2012-01-30 18:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31676
31677         * gst-libs/gst/vaapi/Makefile.am:
31678         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31679         * gst-libs/gst/vaapi/gstvaapicontext.c:
31680         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31681         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31682         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31683         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31684         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31685         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31686         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
31687         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31688         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
31689         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
31690         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
31691         * gst-libs/gst/vaapi/gstvaapiimage.c:
31692         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
31693         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
31694         * gst-libs/gst/vaapi/gstvaapiobject.c:
31695         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
31696         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31697         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
31698         * gst-libs/gst/vaapi/gstvaapisurface.c:
31699         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
31700         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31701         * gst-libs/gst/vaapi/gstvaapitexture.c:
31702         * gst-libs/gst/vaapi/gstvaapiutils.c:
31703         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31704         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
31705         * gst-libs/gst/vaapi/gstvaapivalue.c:
31706         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31707         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
31708         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
31709         * gst-libs/gst/vaapi/gstvaapivideopool.c:
31710         * gst-libs/gst/vaapi/gstvaapivideosink.c:
31711         * gst-libs/gst/vaapi/gstvaapiwindow.c:
31712         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
31713         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
31714         * gst-libs/gst/vaapi/sysdeps.h:
31715           Add header for system-dependent definitions.
31716
31717 2012-01-30 10:15:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31718
31719         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31720         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31721         * gst-libs/gst/vaapi/gstvaapiutils.c:
31722         * gst-libs/gst/vaapi/gstvaapiutils.h:
31723           decoder: optimize slice data buffers initialization.
31724           VA drivers may have a faster means to transfer user buffers to GPU
31725           buffers than using memcpy(). In particular, on Intel Gen graphics, we
31726           can use pwrite(). This provides for faster upload of bitstream and can
31727           help higher bitrates.
31728           vaapi_create_buffer() helper function was also updated to allow for
31729           un-mapped buffers and pre-initialized data for buffers.
31730
31731 2012-01-27 17:28:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31732
31733         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31734           h264: simplify RefPicList reconstruction.
31735
31736 2012-01-27 16:08:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31737
31738         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31739           h264: flush DPB when the end of the sequence is reached.
31740
31741 2012-01-24 15:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31742
31743         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31744           h264: handle Decoded Picture Buffer (DPB).
31745
31746 2012-01-24 09:20:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31747
31748         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31749           h264: fix pred_weight_table() reconstruction.
31750           Only the explicit pred_weight_table(), possibly with the inferred default
31751           values, shall be required. e.g. don't fill in the table if weighted_pred_flag
31752           is not set for P/SP slices.
31753
31754 2012-01-23 15:03:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31755
31756         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31757           h264: execute reference picture marking process (MMCO).
31758
31759 2012-01-23 15:20:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31760
31761         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31762           h264: fix presentation timestamps.
31763
31764 2012-01-18 13:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31765
31766         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31767           h264: execute reference picture marking process (sliding window).
31768
31769 2012-01-17 10:42:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31770
31771         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31772           h264: handle avcC format for decoding buffers.
31773
31774 2011-11-25 14:37:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
31775
31776         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31777           h264: handle codec-data.
31778           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31779
31780 2011-08-12 17:43:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31781
31782         * gst-libs/gst/vaapi/Makefile.am:
31783         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31784         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
31785         * gst/vaapi/gstvaapidecode.c:
31786         * tests/test-decode.c:
31787           Add initial H.264 decoder.
31788
31789 2012-01-26 15:28:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31790
31791         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31792         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31793           decoder: retain proxy surface until the GstVaapiPicture is destroyed.
31794           Keep a valid reference to the proxy in GstVaapiPicture so that frames
31795           marked as "used for reference" could be kept during the lifetime of the
31796           picture. i.e. don't release them too soon as they could be re-used right
31797           away.
31798
31799 2012-01-26 15:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31800
31801         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31802         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31803         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
31804           decoder: properly reference count pictures.
31805           This fixes cases where a GstVaapiPicture would be destroyed whereas
31806           there is still a valid instance of it in either prev, current or
31807           next picture.
31808
31809 2012-01-26 14:54:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31810
31811         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31812         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31813         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31814         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31815           decoder: simplify output of decoded frames.
31816           Drop obsolete gst_vaapi_decoder_push_surface() that was no longer used.
31817           Change gst_vaapi_decoder_push_surface_proxy() semantics to assume PTS
31818           is already set correctly and reference count increased, if necessary.
31819
31820 2012-01-26 09:48:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31821
31822         * gst-libs/gst/vaapi/Makefile.am:
31823         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31824         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
31825         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31826         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31827         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31828         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31829         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31830         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31831         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
31832           decoder: rework the internal VA objects API.
31833           The new API simplifies a lot reference counting and makes it more
31834           flexible for future additions/changes. The GstVaapiCodecInfo is
31835           also gone. Rather, new helper macros are provided to allocate
31836           picture, slice and quantization matrix parameter buffers.
31837
31838 2012-01-24 10:21:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31839
31840         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31841         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31842           decoder: allow slices to be attached to pictures later.
31843
31844 2011-11-21 18:39:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31845
31846         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31847         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31848           decoder: add ref_count to GstVaapiPicture.
31849
31850 2012-01-23 11:48:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31851
31852         * gst/vaapi/gstvaapisink.c:
31853           vaapisink: cap window size to the maximum display size.
31854
31855 2012-01-18 10:23:41 +0100  Zhao Halley <halley.zhao@intel.com>
31856
31857         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31858         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
31859           profile: match video/x-h263 as H.263 Baseline profile.
31860           HACK: qtdemux does not report profiles for H.263. So, assume plain
31861           "video/x-h263" is H.263 Baseline profile.
31862           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31863
31864 2012-01-18 10:22:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31865
31866         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31867         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
31868           display: report H.263 Baseline profile.
31869           HACK: expose GST_VAAPI_PROFILE_H263_BASELINE for decoding if MPEG-4:2 Simple
31870           profile (VAProfileMPEG4Simple) is supported.
31871
31872 2012-01-24 10:06:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31873
31874         * gst-libs/gst/vaapi/Makefile.am:
31875         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
31876           Add template for workarounds.
31877
31878 2012-01-18 10:47:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31879
31880         * tests/test-decode.c:
31881           tests: error out if FFmpeg|codecparsers are not supported.
31882
31883 2012-01-18 10:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31884
31885         * docs/reference/libs/libs-sections.txt:
31886         * gst-libs/gst/vaapi/gstvaapisurface.h:
31887         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
31888           surface: don't expose gst_vaapi_surface_get_parent_context().
31889           gst_vaapi_surface_get_parent_context() was not meant to be exposed globally.
31890           It's just an internal helper function. However, it's still possible to get
31891           the parent context through the "parent-context" property.
31892
31893 2012-01-16 14:19:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31894
31895         * tests/Makefile.am:
31896         * tests/test-subpicture.c:
31897           tests: fix build without FFmpeg.
31898
31899 2012-01-16 14:09:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31900
31901         * configure.ac:
31902           Bump version for development.
31903
31904 2012-01-16 11:05:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31905
31906         * NEWS:
31907         * configure.ac:
31908           0.3.3.
31909
31910 2012-01-16 11:03:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31911
31912         * README:
31913         * debian.upstream/copyright:
31914         * gst-libs/gst/vaapi/gstvaapicontext.c:
31915         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31916         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31917         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31918         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31919         * gst-libs/gst/vaapi/gstvaapidisplay.h:
31920         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
31921         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
31922         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
31923         * gst-libs/gst/vaapi/gstvaapiimage.c:
31924         * gst-libs/gst/vaapi/gstvaapiimage.h:
31925         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31926         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31927         * gst-libs/gst/vaapi/gstvaapiutils.c:
31928         * gst-libs/gst/vaapi/gstvaapiutils.h:
31929         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31930         * gst-libs/gst/vaapi/gstvaapiwindow.c:
31931         * gst/vaapi/gstvaapi.c:
31932         * gst/vaapi/gstvaapidecode.c:
31933         * gst/vaapi/gstvaapidownload.c:
31934         * gst/vaapi/gstvaapidownload.h:
31935         * gst/vaapi/gstvaapipluginutil.c:
31936         * gst/vaapi/gstvaapipluginutil.h:
31937         * gst/vaapi/gstvaapisink.c:
31938         * gst/vaapi/gstvaapiupload.c:
31939         * gst/vaapi/gstvaapiupload.h:
31940         * tests/test-decode.c:
31941           legal: fix year for some copyright notices.
31942
31943 2012-01-16 10:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31944
31945         * gst-libs/gst/vaapi/gstvaapicontext.c:
31946         * gst-libs/gst/vaapi/gstvaapicontext.h:
31947         * gst-libs/gst/vaapi/gstvaapidecoder.h:
31948         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31949         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31950         * gst-libs/gst/vaapi/gstvaapidisplay.h:
31951         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
31952         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
31953         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
31954         * gst-libs/gst/vaapi/gstvaapiimage.c:
31955         * gst-libs/gst/vaapi/gstvaapiimage.h:
31956         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
31957         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
31958         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
31959         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
31960         * gst-libs/gst/vaapi/gstvaapisurface.c:
31961         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31962         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31963         * gst-libs/gst/vaapi/gstvaapiutils.c:
31964         * gst-libs/gst/vaapi/gstvaapiutils.h:
31965         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31966         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
31967         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31968         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31969         * gst-libs/gst/vaapi/gstvaapiwindow.c:
31970         * gst/vaapi/gstvaapidownload.h:
31971         * gst/vaapi/gstvaapisink.h:
31972         * gst/vaapi/gstvaapiupload.h:
31973         * tests/test-decode.c:
31974           legal: add Intel copyright on modified files.
31975
31976 2012-01-16 10:41:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31977
31978         * gst-libs/gst/vaapi/gstvaapi_priv.h:
31979         * gst-libs/gst/vaapi/gstvaapicompat.h:
31980         * gst-libs/gst/vaapi/gstvaapicontext.c:
31981         * gst-libs/gst/vaapi/gstvaapicontext.h:
31982         * gst-libs/gst/vaapi/gstvaapidebug.h:
31983         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31984         * gst-libs/gst/vaapi/gstvaapidecoder.h:
31985         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31986         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
31987         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31988         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31989         * gst-libs/gst/vaapi/gstvaapidisplay.h:
31990         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
31991         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
31992         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
31993         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
31994         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
31995         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
31996         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
31997         * gst-libs/gst/vaapi/gstvaapiimage.c:
31998         * gst-libs/gst/vaapi/gstvaapiimage.h:
31999         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
32000         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
32001         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
32002         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
32003         * gst-libs/gst/vaapi/gstvaapiobject.c:
32004         * gst-libs/gst/vaapi/gstvaapiobject.h:
32005         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
32006         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
32007         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
32008         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32009         * gst-libs/gst/vaapi/gstvaapiprofile.h:
32010         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32011         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
32012         * gst-libs/gst/vaapi/gstvaapisurface.c:
32013         * gst-libs/gst/vaapi/gstvaapisurface.h:
32014         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
32015         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
32016         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32017         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32018         * gst-libs/gst/vaapi/gstvaapitexture.c:
32019         * gst-libs/gst/vaapi/gstvaapitexture.h:
32020         * gst-libs/gst/vaapi/gstvaapitypes.h:
32021         * gst-libs/gst/vaapi/gstvaapiutils.c:
32022         * gst-libs/gst/vaapi/gstvaapiutils.h:
32023         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32024         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32025         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
32026         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
32027         * gst-libs/gst/vaapi/gstvaapivalue.c:
32028         * gst-libs/gst/vaapi/gstvaapivalue.h:
32029         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32030         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
32031         * gst-libs/gst/vaapi/gstvaapivideopool.c:
32032         * gst-libs/gst/vaapi/gstvaapivideopool.h:
32033         * gst-libs/gst/vaapi/gstvaapivideosink.c:
32034         * gst-libs/gst/vaapi/gstvaapivideosink.h:
32035         * gst-libs/gst/vaapi/gstvaapiwindow.c:
32036         * gst-libs/gst/vaapi/gstvaapiwindow.h:
32037         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32038         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
32039         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
32040         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
32041         * gst/vaapi/gstvaapidecode.c:
32042         * gst/vaapi/gstvaapidecode.h:
32043         * gst/vaapi/gstvaapidownload.c:
32044         * gst/vaapi/gstvaapidownload.h:
32045         * gst/vaapi/gstvaapisink.c:
32046         * gst/vaapi/gstvaapisink.h:
32047         * gst/vaapi/gstvaapiupload.c:
32048         * gst/vaapi/gstvaapiupload.h:
32049         * tests/image.c:
32050         * tests/image.h:
32051         * tests/test-decode.c:
32052         * tests/test-decode.h:
32053         * tests/test-display.c:
32054         * tests/test-h264.c:
32055         * tests/test-h264.h:
32056         * tests/test-mpeg2.c:
32057         * tests/test-mpeg2.h:
32058         * tests/test-surfaces.c:
32059         * tests/test-textures.c:
32060         * tests/test-vc1.c:
32061         * tests/test-vc1.h:
32062         * tests/test-windows.c:
32063           legal: fix copyright notices to include "Copyright" term.
32064
32065 2011-12-09 16:44:03 +0800  Zhao Halley <halley.zhao@intel.com>
32066
32067         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
32068         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
32069           mpeg4: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
32070           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32071
32072 2011-12-09 16:28:11 +0800  Zhao Halley <halley.zhao@intel.com>
32073
32074         * gst-libs/gst/vaapi/Makefile.am:
32075         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
32076         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
32077         * gst/vaapi/gstvaapidecode.c:
32078           Add initial MPEG-4 decoder.
32079           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32080
32081 2011-11-18 15:41:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32082
32083         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32084         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
32085           vc1: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
32086           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32087
32088 2011-10-07 11:50:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32089
32090         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32091           vc1: fix codec-data decoding for WMV3 format.
32092
32093 2011-10-07 11:12:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32094
32095         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32096           vc1: fix presentation timestamps.
32097
32098 2011-10-06 15:59:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32099
32100         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32101           vc1: fix MV mode packing.
32102
32103 2011-10-05 16:41:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32104
32105         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32106           vc1: handle codec-data.
32107
32108 2011-10-05 15:56:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32109
32110         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32111           vc1: handle encapsulated bitstreams.
32112
32113 2011-10-04 17:51:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32114
32115         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32116         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32117         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32118           vc1: fix bitplanes decoding.
32119
32120 2011-10-04 14:15:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32121
32122         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32123           vc1: fix BFRACTION reconstruction.
32124
32125 2011-09-30 17:16:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32126
32127         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32128           vc1: fix framerate calculation.
32129
32130 2011-09-30 13:40:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32131
32132         * gst-libs/gst/vaapi/Makefile.am:
32133         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32134         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
32135         * gst/vaapi/gstvaapidecode.c:
32136         * tests/test-decode.c:
32137           Add initial VC-1 decoder.
32138
32139 2012-01-09 17:37:34 +0100  Zhao Halley <halley.zhao@intel.com>
32140
32141         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32142           mpeg2: fix first field detection.
32143           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32144
32145 2012-01-06 16:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32146
32147         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32148           mpeg2: fix quantisation matrix construction.
32149
32150 2011-11-18 15:06:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32151
32152         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32153         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
32154           mpeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).
32155           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32156
32157 2011-09-14 18:11:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32158
32159         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32160           mpeg2: fix packets spanning over two buffers.
32161
32162 2011-09-12 18:20:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32163
32164         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32165           mpeg2: ignore system start codes (PES headers).
32166
32167 2011-09-12 18:02:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32168
32169         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32170           mpeg2: handle closed_gop.
32171
32172 2011-08-05 11:55:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32173
32174         * gst-libs/gst/vaapi/Makefile.am:
32175         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32176         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
32177         * gst/vaapi/gstvaapidecode.c:
32178         * tests/test-decode.c:
32179           Add initial MPEG-2 decoder.
32180
32181 2011-08-12 10:21:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32182
32183         * configure.ac:
32184         * gst-libs/gst/vaapi/Makefile.am:
32185         * gst/vaapi/gstvaapidecode.c:
32186         * tests/test-decode.c:
32187           Allow conditional build of GStreamer/FFmpeg bitstream parsers.
32188
32189 2011-08-05 11:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32190
32191         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32192         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32193           Add VA decoder helpers.
32194
32195 2011-08-05 11:52:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32196
32197         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32198           decoder: add new error codes.
32199           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: for unsupported profile
32200           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: for unsupported chroma format
32201
32202 2011-09-12 13:00:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32203
32204         * gst-libs/gst/vaapi/Makefile.am:
32205         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
32206         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
32207           Add timestamp buffer store helper utils.
32208
32209 2011-08-04 17:29:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32210
32211         * gst-libs/gst/vaapi/gstvaapiutils.c:
32212         * gst-libs/gst/vaapi/gstvaapiutils.h:
32213           Add VA buffer helpers.
32214
32215 2012-01-13 15:03:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32216
32217         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32218           utils: slight improvements to gl_bind_texture().
32219
32220 2012-01-13 14:13:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32221
32222         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32223           utils: pretty-print output of gl_get_error_string().
32224
32225 2012-01-13 14:03:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32226
32227         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32228           utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
32229
32230 2012-01-13 12:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32231
32232         * gst-libs/gst/vaapi/gstvaapiutils.c:
32233           utils: simplify string of VAProfile/VAEntrypoint.
32234
32235 2012-01-13 11:46:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32236
32237         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32238         * gst-libs/gst/vaapi/gstvaapiutils.c:
32239         * gst-libs/gst/vaapi/gstvaapiutils.h:
32240           utils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.
32241
32242 2012-01-12 17:18:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32243
32244         * NEWS:
32245           NEWS: updates.
32246
32247 2012-01-12 15:34:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32248
32249         * tests/test-decode.c:
32250           tests: check for shared VA displays (display cache).
32251
32252 2012-01-12 15:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32253
32254         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32255           display: always free VA display cache if it is empty.
32256
32257 2012-01-12 15:03:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32258
32259         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32260         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32261         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32262         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32263         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32264           display: use VA display cache for X11 and GLX winsys.
32265
32266 2012-01-12 12:46:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32267
32268         * gst-libs/gst/vaapi/Makefile.am:
32269         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32270         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
32271         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
32272           display: implement a VA display cache.
32273
32274 2012-01-11 14:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32275
32276         * gst/vaapi/gstvaapipluginutil.c:
32277           vaapiplugin: fix gst_vaapi_ensure_display() to use system defaults.
32278           This ensures the display name provided to gst_vaapi_display_*_new()
32279           maps to the system defaults, instead of forcing "" that could be different
32280           from the current DISPLAY name.
32281
32282 2011-08-26 15:44:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32283
32284         * gst/vaapi/gstvaapiupload.c:
32285           vaapiupload: only set caps on newly created buffers.
32286           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32287
32288 2012-01-11 14:11:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32289
32290         * gst/vaapi/gstvaapisink.c:
32291           vaapisink: ensure VA display in GstBaseSink::start() hook.
32292           This ensures a VA display is ready by the time upstream elements request
32293           for it.
32294
32295 2011-08-26 15:44:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32296
32297         * gst/vaapi/gstvaapisink.c:
32298           vaapisink: don't leak GL texture.
32299           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32300
32301 2012-01-09 16:51:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32302
32303         * gst/vaapi/gstvaapisink.c:
32304           vaapisink: fix calculation of render region.
32305
32306 2012-01-09 11:23:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32307
32308         * gst/vaapi/gstvaapisink.c:
32309           vaapisink: automatically fit video to window.
32310
32311 2012-01-09 10:37:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32312
32313         * gst/vaapi/gstvaapisink.c:
32314           vaapisink: implement GstXOverlay::set_render_rectangle().
32315
32316 2012-01-09 11:04:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32317
32318         * gst-libs/gst/vaapi/gstvaapiwindow.c:
32319           window: always check geometry when the window is mapped.
32320
32321 2012-01-06 17:51:59 +0100  Zhao Halley <halley.zhao@intel.com>
32322
32323         * gst-libs/gst/vaapi/gstvaapiutils.c:
32324           Add missing profiles from VA-API 0.32.0.
32325           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32326
32327 2012-01-06 16:48:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32328
32329         * .gitignore:
32330           .gitignore: add test-subpicture.
32331
32332 2012-01-06 11:23:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32333
32334         * configure.ac:
32335           Bump version for development.
32336
32337 2012-01-06 11:20:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32338
32339         * NEWS:
32340         * configure.ac:
32341           0.3.2.
32342
32343 2012-01-06 11:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32344
32345         * tests/Makefile.am:
32346           tests: fix make dist (ship with test-subpicture-data.h).
32347
32348 2012-01-05 17:35:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32349
32350         * NEWS:
32351           NEWS: updates.
32352
32353 2012-01-05 17:09:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32354
32355         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32356         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32357         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32358           decoder: fix possible leak of VA surfaces.
32359           Under some circumstances, we could have leaked a surface, thus not
32360           releasing it to the pool of available surfaces in the VA context.
32361           The strategy is now to use a proxy earlier and automatically ref/unref
32362           whenever necessary. In particular, during the lifetime needed for FFmpeg.
32363
32364 2012-01-05 16:59:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32365
32366         * docs/reference/libs/libs-sections.txt:
32367         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32368         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32369           surfaceproxy: add helper to retrieve the VA surface ID.
32370
32371 2012-01-05 16:44:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32372
32373         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32374           surfaceproxy: simplify destruction.
32375           Also make sure to always make sure to release the surface back to the
32376           pool of surfaces in the associated VA context, if any.
32377
32378 2012-01-05 16:26:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32379
32380         * gst/vaapi/gstvaapidecode.c:
32381           vaapidecode: fix deinitialization order.
32382
32383 2012-01-05 14:50:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32384
32385         * gst-libs/gst/vaapi/gstvaapicontext.c:
32386           context: avoid self reference loops with surfaces.
32387
32388 2012-01-05 11:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32389
32390         * debian.upstream/control.in:
32391           debian: update control.in description for new plugins.
32392
32393 2012-01-05 11:01:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32394
32395         * gst/vaapi/gstvaapiupload.c:
32396           vaapiupload: use new gst_vaapi_append_surface_caps() helper.
32397           This also fixes extra structures, beyond the one at index 0, to hold
32398           the right additional values.
32399
32400 2012-01-05 10:55:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32401
32402         * gst/vaapi/gstvaapiupload.c:
32403           vaapiupload: fix sink (YUV) caps to not report type and opengl fields.
32404
32405 2012-01-05 10:50:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32406
32407         * README:
32408         * docs/reference/plugins/plugins-docs.xml.in:
32409         * docs/reference/plugins/plugins-sections.txt:
32410         * docs/reference/plugins/plugins.types:
32411         * gst/vaapi/Makefile.am:
32412         * gst/vaapi/gstvaapi.c:
32413         * gst/vaapi/gstvaapidownload.c:
32414         * gst/vaapi/gstvaapidownload.h:
32415           vaapidownload: add new plugin to download pixels from VA surfaces.
32416
32417 2012-01-05 11:00:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32418
32419         * gst/vaapi/gstvaapipluginutil.c:
32420         * gst/vaapi/gstvaapipluginutil.h:
32421           vaapipluingutils: add helper to append surface caps to YUV caps.
32422
32423 2012-01-05 10:29:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32424
32425         * docs/reference/libs/libs-sections.txt:
32426         * gst-libs/gst/vaapi/gstvaapiimage.c:
32427         * gst-libs/gst/vaapi/gstvaapiimage.h:
32428           image: add helpers to extract pixels to user buffers.
32429
32430 2012-01-04 11:34:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32431
32432         * gst-libs/gst/vaapi/gstvaapiimage.c:
32433           image: simplify initialization of raw images from video buffers.
32434
32435 2012-01-04 11:29:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32436
32437         * gst-libs/gst/vaapi/gstvaapiimage.c:
32438           image: fix update from NV12 buffers.
32439
32440 2012-01-03 18:16:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32441
32442         * gst/vaapi/gstvaapiupload.c:
32443           vaapiupload: fix memory leak in _init() function.
32444
32445 2012-01-03 14:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32446
32447         * NEWS:
32448         * README:
32449         * debian.upstream/control.in:
32450         * docs/reference/plugins/plugins-docs.xml.in:
32451         * docs/reference/plugins/plugins-sections.txt:
32452         * docs/reference/plugins/plugins.types:
32453         * gst/vaapi/Makefile.am:
32454         * gst/vaapi/gstvaapi.c:
32455         * gst/vaapi/gstvaapiupload.c:
32456         * gst/vaapi/gstvaapiupload.h:
32457           Rename vaapiconvert element to vaapiupload.
32458
32459 2012-01-03 13:54:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32460
32461         * configure.ac:
32462           Bump version for development.
32463
32464 2012-01-03 13:42:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32465
32466         * NEWS:
32467         * configure.ac:
32468           0.3.1.
32469
32470 2011-12-14 15:22:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32471
32472         * NEWS:
32473           NEWS: updates.
32474
32475 2011-12-14 14:40:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32476
32477         * gst-libs/gst/vaapi/gstvaapisurface.c:
32478         * gst-libs/gst/vaapi/gstvaapisurface.h:
32479         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32480         * gst/vaapi/gstvaapisink.c:
32481           surface: apply composition to the parent context, if requested.
32482
32483 2011-12-14 14:35:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32484
32485         * docs/reference/libs/libs-sections.txt:
32486         * gst-libs/gst/vaapi/gstvaapicontext.c:
32487         * gst-libs/gst/vaapi/gstvaapicontext.h:
32488           context: make it possible to apply composition globally.
32489
32490 2011-12-14 14:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32491
32492         * gst-libs/gst/vaapi/gstvaapisurface.c:
32493           surface: fix associate subpicture to not report deassociation errors.
32494
32495 2011-12-14 13:46:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32496
32497         * gst-libs/gst/vaapi/gstvaapisurface.c:
32498           surface: fix typo in debug message.
32499
32500 2011-12-14 13:16:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32501
32502         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32503         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
32504         * gst-libs/gst/vaapi/gstvaapisurface.c:
32505           subpicture: add helper to create subpicture from GstVideoOverlayRectangle.
32506
32507 2011-12-13 16:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32508
32509         * docs/reference/libs/libs-sections.txt:
32510         * gst-libs/gst/vaapi/Makefile.am:
32511         * gst-libs/gst/vaapi/gstvaapicontext.c:
32512         * gst-libs/gst/vaapi/gstvaapisurface.c:
32513         * gst-libs/gst/vaapi/gstvaapisurface.h:
32514         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
32515           surface: record parent context.
32516
32517 2011-12-13 15:59:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32518
32519         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
32520         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32521         * gst/vaapi/gstvaapidecode.c:
32522         * gst/vaapi/gstvaapisink.c:
32523           Fix warnings.
32524
32525 2011-12-13 15:51:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32526
32527         * gst-libs/gst/vaapi/gstvaapisurface.c:
32528         * gst-libs/gst/vaapi/gstvaapisurface.h:
32529         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32530         * gst/vaapi/gstvaapisink.c:
32531           Rename gst_vaapi_surface_update_composition() to gst_vaapi_surface_set_subpictures_from_composition().
32532
32533 2011-12-13 13:40:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32534
32535         * configure.ac:
32536           configure: check for GstVideoOverlayComposition.
32537
32538 2011-12-12 18:42:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32539
32540         * NEWS:
32541           NEWS: updates.
32542
32543 2011-11-25 15:00:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32544
32545         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32546           converter: add support for GstVideoOverlayComposition planes.
32547           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32548
32549 2011-11-23 16:45:46 -0300  Thibault Saunier <thibault.saunier@collabora.com>
32550
32551         * gst/vaapi/gstvaapisink.c:
32552           vaapisink: handle GstVideoOverlayComposition planes.
32553           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32554
32555 2011-12-12 18:27:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32556
32557         * gst-libs/gst/vaapi/gstvaapisurface.c:
32558           surface: use unscaled overlay rectangle for blending.
32559
32560 2011-12-12 18:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32561
32562         * gst-libs/gst/vaapi/gstvaapisurface.c:
32563           surface: fix VA image leak when an error occurred.
32564
32565 2011-11-25 14:59:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32566
32567         * gst-libs/gst/vaapi/gstvaapisurface.c:
32568         * gst-libs/gst/vaapi/gstvaapisurface.h:
32569           surface: add helper to handle GstVideoOverlayComposition.
32570           This helper resets the subpictures to reflect the current composition
32571           layers provided with the buffers.
32572           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32573
32574 2011-12-12 18:13:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32575
32576         * docs/reference/libs/libs-sections.txt:
32577         * gst-libs/gst/vaapi/Makefile.am:
32578         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
32579         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
32580         * gst/vaapi/gstvaapiconvert.c:
32581           image: add gst_vaapi_image_format_from_video() helper.
32582
32583 2011-12-12 16:34:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32584
32585         * gst-libs/gst/vaapi/gstvaapiimage.c:
32586         * gst-libs/gst/vaapi/gstvaapiimage.h:
32587           image: allow updates from GstVaapiImageRaw.
32588
32589 2011-12-12 14:34:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32590
32591         * gst-libs/gst/vaapi/gstvaapiimage.c:
32592         * gst-libs/gst/vaapi/gstvaapiimage.h:
32593         * gst/vaapi/gstvaapiconvert.c:
32594         * tests/test-subpicture.c:
32595           image: allow partial updates.
32596
32597 2011-12-12 15:31:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32598
32599         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32600           subpicture: fix doc for gst_vaapi_subpicture_set_image().
32601
32602 2011-12-12 13:39:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32603
32604         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32605           display: fix has_image_format() to check against subpicture formats.
32606
32607 2011-10-17 18:43:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32608
32609         * tests/test-subpicture.c:
32610           tests: fix subpicture test.
32611
32612 2011-10-14 13:00:12 -0300  Thibault Saunier <thibault.saunier@collabora.com>
32613
32614         * tests/Makefile.am:
32615         * tests/test-subpicture-data.c:
32616         * tests/test-subpicture-data.h:
32617         * tests/test-subpicture.c:
32618           tests: add test for subpictures.
32619           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32620
32621 2011-11-25 12:28:04 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32622
32623         * gst/vaapi/gstvaapiconvert.c:
32624         * gst/vaapi/gstvaapidecode.c:
32625           Add missing video context queries.
32626           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32627
32628 2011-12-12 13:22:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32629
32630         * configure.ac:
32631           Bump version for development.
32632
32633 2011-12-12 10:04:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32634
32635         * gst-libs/gst/video/Makefile.am:
32636         * gst-libs/gst/video/gstbasevideocodec.c:
32637         * gst-libs/gst/video/gstbasevideocodec.h:
32638         * gst-libs/gst/video/gstbasevideodecoder.c:
32639         * gst-libs/gst/video/gstbasevideodecoder.h:
32640         * gst-libs/gst/video/gstbasevideoutils.c:
32641         * gst-libs/gst/video/gstbasevideoutils.h:
32642           Drop unused copy of GstBaseVideoDecoder.
32643
32644 2011-12-09 11:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32645
32646         * NEWS:
32647         * configure.ac:
32648           0.3.0.
32649
32650 2011-12-09 11:38:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32651
32652         * README:
32653           README: update dependencies.
32654
32655 2011-12-09 11:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32656
32657         * NEWS:
32658           NEWS: updates.
32659
32660 2011-12-09 11:20:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32661
32662         * configure.ac:
32663           configure: check for GstBaseSink 'query' vfunc.
32664
32665 2011-12-09 10:45:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32666
32667         * gst/vaapi/Makefile.am:
32668           vaapiplugin: include local build dir to CFLAGS for generated files.
32669
32670 2011-12-09 10:44:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32671
32672         * autogen.sh:
32673           autogen: don't configure if NO_CONFIGURE variable is set.
32674
32675 2011-12-08 11:54:59 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32676
32677         * gst/vaapi/gstvaapidecode.c:
32678         * gst/vaapi/gstvaapidecode.h:
32679           vaapidecode: return sink caps template if decoder is in NULL state.
32680           Otherwise, the decoder would always create its own X display instead
32681           of probing it from the downstream element, which is not reliable.
32682           e.g. DISPLAY is not :0 or when running on Wayland.
32683           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32684
32685 2011-12-08 15:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32686
32687         * gst/vaapi/gstvaapiconvert.c:
32688         * gst/vaapi/gstvaapidecode.c:
32689           vaapiplugin: properly set surface type to "vaapi" in caps.
32690
32691 2011-12-08 15:16:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32692
32693         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32694           decoder: drop unused headers.
32695
32696 2011-11-04 19:47:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32697
32698         * gst/vaapi/gstvaapiconvert.c:
32699         * gst/vaapi/gstvaapidecode.c:
32700           vaapiplugin: properly set opengl support in caps.
32701           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32702
32703 2011-11-04 20:07:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32704
32705         * gst/vaapi/gstvaapiconvert.c:
32706         * gst/vaapi/gstvaapidecode.c:
32707           vaapiplugin: allocate GLX buffers when supported.
32708           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32709
32710 2011-11-04 19:47:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32711
32712         * gst-libs/gst/vaapi/Makefile.am:
32713         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32714         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
32715         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
32716         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
32717         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32718         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
32719           videobuffer: add GLX buffer support.
32720           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32721
32722 2011-10-06 16:06:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32723
32724         * gst-libs/gst/vaapi/Makefile.am:
32725         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32726         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
32727           Port to GstSurfaceBuffer interface.
32728           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32729
32730 2011-10-06 16:04:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32731
32732         * gst/vaapi/gstvaapidecode.c:
32733         * gst/vaapi/gstvaapisink.c:
32734           Don't use downstream buffer allocation.
32735           With the new video/x-surface abstraction, we can't rely on having a VA
32736           specific sink downstream. Also, there was no particular reason to do that.
32737           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32738
32739 2011-11-04 17:16:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32740
32741         * gst-libs/gst/vaapi/Makefile.am:
32742         * gst-libs/gst/vaapi/gstvaapicontext.c:
32743         * gst-libs/gst/vaapi/gstvaapisurface.h:
32744         * gst/vaapi/gstvaapiconvert.c:
32745         * gst/vaapi/gstvaapisink.c:
32746         * tests/Makefile.am:
32747         * tests/test-surfaces.c:
32748           Change caps to use new video/x-surface generic type.
32749           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32750
32751 2011-11-04 16:50:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32752
32753         * configure.ac:
32754         * gst-libs/gst/vaapi/Makefile.am:
32755         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
32756         * gst/vaapi/Makefile.am:
32757         * gst/vaapi/gstvaapiconvert.c:
32758         * gst/vaapi/gstvaapidecode.c:
32759         * gst/vaapi/gstvaapipluginutil.c:
32760         * gst/vaapi/gstvaapipluginutil.h:
32761         * gst/vaapi/gstvaapisink.c:
32762         * gst/vaapi/gstvaapisink.h:
32763           Port to GstVideoContext interface.
32764           This new interface allows for upstream and downstream display sharing
32765           that works in both static and dynamic pipelines.
32766           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32767
32768 2011-12-08 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32769
32770         * gst/vaapi/gstvaapisink.c:
32771           vaapisink: use GST_ERROR to print error messages.
32772
32773 2011-12-08 13:30:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32774
32775         * gst/vaapi/Makefile.am:
32776           vaapiplugin: link against VA/GLX when enabled.
32777
32778 2011-12-07 19:09:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32779
32780         * gst/vaapi/gstvaapiconvert.c:
32781         * gst/vaapi/gstvaapisink.c:
32782           Add Intel copyright information.
32783
32784 2011-12-07 19:04:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32785
32786         * gst/vaapi/gstvaapisink.c:
32787           vaapisink: allow compatibility with gst-plugins-base < 0.10.31.
32788
32789 2011-12-07 18:40:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32790
32791         * .gitignore:
32792         * configure.ac:
32793         * gst-libs/gst/Makefile.am:
32794         * gst-libs/gst/gstutils_version.h.in:
32795           Add new GStreamer version check utilities.
32796
32797 2011-07-28 11:14:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32798
32799         * gst/vaapi/gstvaapisink.c:
32800           vaapisink: replace the deprecated xoverlay API with the new one.
32801           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32802
32803 2011-12-07 17:31:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32804
32805         * configure.ac:
32806           configure: allow for pre-releases.
32807
32808 2011-10-13 17:08:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32809
32810         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32811           display: destroy display on creation failure.
32812           This allows element to detect that the display creation has actually
32813           failed.
32814           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32815
32816 2011-10-13 17:07:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32817
32818         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32819           display: don't crash when config is empty.
32820           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32821
32822 2011-12-07 14:42:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32823
32824         * README:
32825         * debian.upstream/copyright:
32826           doc: mention Collabora copyrights.
32827
32828 2011-12-07 14:40:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32829
32830         * .gitignore:
32831           .gitignore: refine for generated docs.
32832
32833 2011-09-14 15:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32834
32835         * configure.ac:
32836         * docs/reference/plugins/Makefile.am:
32837         * gst/Makefile.am:
32838         * gst/vaapi/Makefile.am:
32839         * gst/vaapi/gstvaapi.c:
32840         * gst/vaapi/gstvaapiconvert.c:
32841         * gst/vaapi/gstvaapiconvert.h:
32842         * gst/vaapi/gstvaapidecode.c:
32843         * gst/vaapi/gstvaapidecode.h:
32844         * gst/vaapi/gstvaapisink.c:
32845         * gst/vaapi/gstvaapisink.h:
32846         * gst/vaapiconvert/Makefile.am:
32847         * gst/vaapidecode/Makefile.am:
32848           Group all plugins into the same bundle
32849           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32850
32851 2011-07-21 14:31:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32852
32853         * configure.ac:
32854           Bump version for development.
32855
32856 2011-12-07 14:17:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32857
32858         * configure.ac:
32859         * debian.upstream/control.in:
32860           debian: build against upstream libva packages.
32861
32862 2011-12-07 13:52:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32863
32864         * docs/reference/libs/Makefile.am:
32865         * docs/reference/plugins/Makefile.am:
32866         * tests/Makefile.am:
32867           Fix build on Ubuntu 11.10 (Oneric).
32868
32869 2011-12-07 13:14:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32870
32871         * NEWS:
32872           0.2.7.
32873
32874 2011-09-12 16:20:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32875
32876         * .gitignore:
32877           Adding ignore file
32878           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32879
32880 2011-10-24 16:18:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32881
32882         * gst/vaapiconvert/gstvaapiconvert.c:
32883         * gst/vaapidecode/gstvaapidecode.c:
32884         * gst/vaapisink/gstvaapisink.c:
32885           Update license in plugin definition
32886           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32887
32888 2011-10-12 14:00:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32889
32890         * NEWS:
32891         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32892           decoder: fix use of invalid data at the end-of-stream.
32893
32894 2011-10-19 14:47:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32895
32896         * gst/vaapiconvert/gstvaapiconvert.c:
32897           vaapiconvert: fix some warnings.
32898
32899 2011-10-19 14:43:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32900
32901         * configure.ac:
32902         * debian.upstream/changelog.in:
32903         * debian.upstream/control.in:
32904         * debian.upstream/copyright:
32905         * gst/vaapiconvert/gstvaapiconvert.c:
32906         * gst/vaapidecode/gstvaapidecode.c:
32907         * gst/vaapisink/gstvaapisink.c:
32908           Update with my current e-mail address.
32909
32910 2011-10-19 14:39:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32911
32912         * NEWS:
32913         * README:
32914           Splitted-Desktop systems relicensed plugins and tests to LGPL v2.1+.
32915
32916 2011-10-18 09:18:20 +0200  warly <warly@warly.org>
32917
32918         * tests/image.c:
32919         * tests/image.h:
32920         * tests/test-decode.c:
32921         * tests/test-decode.h:
32922         * tests/test-display.c:
32923         * tests/test-h264.c:
32924         * tests/test-h264.h:
32925         * tests/test-mpeg2.c:
32926         * tests/test-mpeg2.h:
32927         * tests/test-surfaces.c:
32928         * tests/test-textures.c:
32929         * tests/test-vc1.c:
32930         * tests/test-vc1.h:
32931         * tests/test-windows.c:
32932           switch tests licence to LGPL v2.1+
32933
32934 2011-10-18 09:06:52 +0200  warly <warly@warly.org>
32935
32936         * COPYING:
32937         * README:
32938         * debian.upstream/copyright:
32939         * gst/vaapiconvert/gstvaapiconvert.c:
32940         * gst/vaapiconvert/gstvaapiconvert.h:
32941         * gst/vaapidecode/gstvaapidecode.c:
32942         * gst/vaapidecode/gstvaapidecode.h:
32943         * gst/vaapisink/gstvaapisink.c:
32944         * gst/vaapisink/gstvaapisink.h:
32945           move plugins to LGPL v2.1+
32946
32947 2011-09-14 13:07:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32948
32949         * gst/vaapidecode/gstvaapidecode.c:
32950           vaapidecode: fix sink caps to not expose size information.
32951           This fixes this particular issue:
32952           GStreamer-WARNING **: pad vaapidecode0:sink returned caps which are not
32953           a real subset of its template caps
32954
32955 2011-09-14 11:34:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32956
32957         * NEWS:
32958         * gst/vaapidecode/gstvaapidecode.c:
32959           vaapidecode: fix decoding of MPEG-2 PS files.
32960
32961 2011-09-12 13:00:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32962
32963         * gst-libs/gst/vaapi/Makefile.am:
32964           Cosmetics (sort source files).
32965
32966 2011-09-08 14:50:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32967
32968         * gst/vaapiconvert/gstvaapiconvert.c:
32969         * gst/vaapiconvert/gstvaapiconvert.h:
32970           vaapiconvert: fix direct-rendering caps detection.
32971
32972 2011-09-08 14:40:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32973
32974         * gst-libs/gst/vaapi/gstvaapiimage.c:
32975           Fix gst_vaapi_image_new_with_image().
32976
32977 2011-09-08 13:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32978
32979         * gst/vaapiconvert/gstvaapiconvert.c:
32980           vaapiconvert: warn when surface failed to be updated with image.
32981
32982 2011-09-06 18:34:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32983
32984         * gst/vaapiconvert/gstvaapiconvert.c:
32985           vaapiconvert: fix autodetection for vaDeriveImage() support.
32986
32987 2011-09-06 17:47:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32988
32989         * gst/vaapiconvert/gstvaapiconvert.c:
32990           vaapiconvert: fix memory leak (VA surface image).
32991
32992 2011-09-05 16:20:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32993
32994         * NEWS:
32995         * gst/vaapiconvert/gstvaapiconvert.c:
32996           vaapiconvert: fix direct-rendering mode.
32997
32998 2011-09-06 16:49:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32999
33000         * docs/reference/libs/libs-sections.txt:
33001         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33002         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33003           Add gst_vaapi_video_buffer_new_from_buffer().
33004           Add helper function to bind a foreign buffer into a GstVaapiVideoBuffer.
33005           Any image, surface or surface proxy will be inherited from the source buffer
33006           if it is a GstVaapiVideoBuffer.
33007
33008 2011-09-05 17:23:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33009
33010         * gst/vaapiconvert/gstvaapiconvert.c:
33011           vaapiconvert: protect access to direct_rendering.
33012
33013 2011-09-05 16:18:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33014
33015         * gst/vaapiconvert/gstvaapiconvert.c:
33016           vaapiconvert: use gst_vaapi_display_lookup_downstream() helper to get a VA display.
33017
33018 2011-08-01 14:15:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33019
33020         * NEWS:
33021         * README:
33022         * debian.upstream/copyright:
33023         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33024         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33025         * gst-libs/gst/vaapi/gstvaapisurface.h:
33026         * gst/vaapidecode/gstvaapidecode.c:
33027         * gst/vaapidecode/gstvaapidecode.h:
33028           Add Intel copyright information.
33029
33030 2011-07-22 15:59:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33031
33032         * NEWS:
33033           Updates.
33034
33035 2011-07-22 15:55:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33036
33037         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33038           Fix build with newer FFmpeg versions.
33039
33040 2011-07-22 15:39:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33041
33042         * gst/vaapidecode/gstvaapidecode.c:
33043         * gst/vaapidecode/gstvaapidecode.h:
33044           Fix decoding of MPEG-2 TS files.
33045
33046 2011-07-22 15:34:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33047
33048         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33049           Report caps update only once per video resolution change.
33050
33051 2011-07-22 15:33:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33052
33053         * gst-libs/gst/vaapi/gstvaapisurface.h:
33054           Add canonical form (type name) of VA surface caps.
33055
33056 2011-07-22 15:42:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33057
33058         * configure.ac:
33059           Bump version for development.
33060
33061 2011-07-19 17:38:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33062
33063         * configure.ac:
33064           Use pretty build output with automake >= 1.11.
33065
33066 2011-07-15 16:08:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33067
33068         * gst/vaapiconvert/Makefile.am:
33069         * gst/vaapidecode/Makefile.am:
33070         * gst/vaapisink/Makefile.am:
33071         * tests/Makefile.am:
33072           Fix build with libva headers not in a standard include dir.
33073
33074 2011-06-14 15:59:08 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
33075
33076         * configure.ac:
33077           0.2.6.
33078
33079 2011-06-14 13:52:56 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
33080
33081         * gst-libs/gst/vaapi/gstvaapi_priv.h:
33082         * gst-libs/gst/vaapi/gstvaapicompat.h:
33083         * gst-libs/gst/vaapi/gstvaapicontext.c:
33084         * gst-libs/gst/vaapi/gstvaapicontext.h:
33085         * gst-libs/gst/vaapi/gstvaapidebug.h:
33086         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33087         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33088         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33089         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
33090         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33091         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33092         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33093         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
33094         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
33095         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
33096         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
33097         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33098         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
33099         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
33100         * gst-libs/gst/vaapi/gstvaapiimage.c:
33101         * gst-libs/gst/vaapi/gstvaapiimage.h:
33102         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
33103         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
33104         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
33105         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
33106         * gst-libs/gst/vaapi/gstvaapiobject.c:
33107         * gst-libs/gst/vaapi/gstvaapiobject.h:
33108         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
33109         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
33110         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
33111         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33112         * gst-libs/gst/vaapi/gstvaapiprofile.h:
33113         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33114         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
33115         * gst-libs/gst/vaapi/gstvaapisurface.c:
33116         * gst-libs/gst/vaapi/gstvaapisurface.h:
33117         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
33118         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
33119         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
33120         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
33121         * gst-libs/gst/vaapi/gstvaapitexture.c:
33122         * gst-libs/gst/vaapi/gstvaapitexture.h:
33123         * gst-libs/gst/vaapi/gstvaapitypes.h:
33124         * gst-libs/gst/vaapi/gstvaapiutils.c:
33125         * gst-libs/gst/vaapi/gstvaapiutils.h:
33126         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33127         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
33128         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
33129         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
33130         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33131         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
33132         * gst-libs/gst/vaapi/gstvaapivalue.c:
33133         * gst-libs/gst/vaapi/gstvaapivalue.h:
33134         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33135         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33136         * gst-libs/gst/vaapi/gstvaapivideopool.c:
33137         * gst-libs/gst/vaapi/gstvaapivideopool.h:
33138         * gst-libs/gst/vaapi/gstvaapivideosink.c:
33139         * gst-libs/gst/vaapi/gstvaapivideosink.h:
33140         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33141         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33142         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
33143         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
33144         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33145         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
33146         * gst/vaapiconvert/gstvaapiconvert.c:
33147         * gst/vaapiconvert/gstvaapiconvert.h:
33148         * gst/vaapidecode/gstvaapidecode.c:
33149         * gst/vaapidecode/gstvaapidecode.h:
33150         * gst/vaapisink/gstvaapisink.c:
33151         * gst/vaapisink/gstvaapisink.h:
33152         * tests/image.c:
33153         * tests/image.h:
33154         * tests/test-decode.c:
33155         * tests/test-decode.h:
33156         * tests/test-display.c:
33157         * tests/test-h264.c:
33158         * tests/test-h264.h:
33159         * tests/test-mpeg2.c:
33160         * tests/test-mpeg2.h:
33161         * tests/test-surfaces.c:
33162         * tests/test-textures.c:
33163         * tests/test-vc1.c:
33164         * tests/test-vc1.h:
33165         * tests/test-windows.c:
33166           Update copyright notice.
33167
33168 2011-06-14 13:51:41 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
33169
33170         * NEWS:
33171         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33172         * gst-libs/gst/vaapi/gstvaapisurface.c:
33173         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
33174         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
33175         * gst-libs/gst/vaapi/gstvaapitexture.c:
33176         * gst-libs/gst/vaapi/gstvaapiutils.c:
33177         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33178         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33179         * gst-libs/gst/vaapi/gstvaapivalue.c:
33180         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33181         * gst-libs/gst/vaapi/gstvaapivideopool.c:
33182         * gst-libs/gst/vaapi/gstvaapivideosink.c:
33183         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33184         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
33185         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33186           Fix licensing terms.
33187
33188 2010-07-20 11:23:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33189
33190         * NEWS:
33191           0.2.5.
33192
33193 2010-07-20 11:21:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33194
33195         * debian.upstream/copyright:
33196           Fix license terms...
33197
33198 2010-07-01 13:19:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33199
33200         * gst/vaapisink/gstvaapisink.c:
33201           Render pretty background only in use-reflection=true mode.
33202
33203 2010-07-01 11:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33204
33205         * NEWS:
33206           Updates.
33207
33208 2010-07-01 11:41:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33209
33210         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33211           Drop the GLX 1.3 requirement.
33212
33213 2010-07-01 11:38:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33214
33215         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33216         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
33217           Call the GLX/Pixmap related functions through the vtable.
33218
33219 2010-07-01 11:11:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33220
33221         * NEWS:
33222         * configure.ac:
33223         * gst-libs/gst/vaapi/Makefile.am:
33224         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33225           Drop dependency on libavformat.
33226
33227 2010-06-22 15:15:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33228
33229         * gst-libs/gst/video/gstbasevideodecoder.c:
33230         * gst-libs/gst/video/gstbasevideodecoder.h:
33231           Add gst_base_video_decoder_update_src_caps(). Don't forcibly set "interlaced" field if upstream elements did not have any.
33232
33233 2010-06-22 14:06:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33234
33235         * gst-libs/gst/video/gstbasevideodecoder.c:
33236         * gst-libs/gst/video/gstbasevideoutils.c:
33237         * gst-libs/gst/video/gstbasevideoutils.h:
33238           Drop superfluous functions.
33239
33240 2010-06-22 13:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33241
33242         * gst-libs/gst/video/gstbasevideodecoder.c:
33243           Really drop any dependency on libgstvideo. i.e. inline the helpers.
33244
33245 2010-06-22 13:48:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33246
33247         * gst-libs/gst/video/gstbasevideodecoder.c:
33248           Further drop dependency on libgstvideo.
33249
33250 2010-06-22 12:57:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33251
33252         * gst-libs/gst/video/Makefile.am:
33253         * gst-libs/gst/video/gstbasevideocodec.c:
33254         * gst-libs/gst/video/gstbasevideocodec.h:
33255         * gst-libs/gst/video/gstbasevideodecoder.c:
33256         * gst-libs/gst/video/gstbasevideodecoder.h:
33257         * gst-libs/gst/video/gstbasevideoutils.c:
33258         * gst-libs/gst/video/gstbasevideoutils.h:
33259           Add GstBaseVideoDecoder from gst-plugins-bad git.
33260
33261 2010-06-15 12:36:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33262
33263         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33264           Fix GLX version check.
33265
33266 2010-06-14 14:46:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33267
33268         * NEWS:
33269         * configure.ac:
33270           Bump version for development.
33271
33272 2010-06-14 14:14:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33273
33274         * NEWS:
33275         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33276           Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer.
33277
33278 2010-06-14 12:58:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33279
33280         * NEWS:
33281           Update changelog.
33282
33283 2010-06-14 09:20:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33284
33285         * gst-libs/gst/vaapi/gstvaapicompat.h:
33286           Fix build with older VA-API 0.29-sds.
33287
33288 2010-05-18 11:22:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33289
33290         * gst/vaapisink/gstvaapisink.c:
33291         * gst/vaapisink/gstvaapisink.h:
33292           Fix upscaling in foreign window (Totem).
33293
33294 2010-05-17 12:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33295
33296         * gst/vaapisink/gstvaapisink.c:
33297           Soft validate caps since we only care about video/x-vaapi-surface as input. _setcaps() will check for other fields.
33298
33299 2010-05-17 08:55:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33300
33301         * NEWS:
33302         * gst/vaapisink/gstvaapisink.c:
33303           Fix video rendering rect within an embedder window (Totem).
33304
33305 2010-05-17 08:28:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33306
33307         * NEWS:
33308         * gst/vaapisink/gstvaapisink.c:
33309           Disable GLX rendering when vaapisink uses a foreign X window.
33310
33311 2010-05-17 08:24:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33312
33313         * gst/vaapisink/gstvaapisink.c:
33314           Simplify GLX rendering code.
33315
33316 2010-05-17 07:32:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33317
33318         * configure.ac:
33319           Bump version for development.
33320
33321 2010-05-16 21:44:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33322
33323         * NEWS:
33324           0.2.3.
33325
33326 2010-05-16 21:35:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33327
33328         * gst/vaapidecode/gstvaapidecode.c:
33329           Wait for at most one second for a VA surface to become available.
33330
33331 2010-05-16 21:18:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33332
33333         * README:
33334         * configure.ac:
33335           Build-Requires: gstreamer0.10 >= 0.10.10 for gst_caps_merge().
33336
33337 2010-05-16 21:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33338
33339         * NEWS:
33340         * README:
33341         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33342           Fix decoder caps to report codec aliases.
33343
33344 2010-05-16 21:04:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33345
33346         * NEWS:
33347         * gst/vaapidecode/gstvaapidecode.c:
33348         * gst/vaapidecode/gstvaapidecode.h:
33349           Fix VC-1 decoding through the playbin2 pipeline.
33350
33351 2010-05-15 15:33:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33352
33353         * docs/reference/libs/libs-sections.txt:
33354         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33355         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33356         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33357         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33358           Regularly update and expose decoder caps.
33359
33360 2010-05-15 09:43:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33361
33362         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33363         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33364         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33365           Add mechanism to reinsert buffer leftovers into the queue.
33366
33367 2010-05-15 06:59:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33368
33369         * NEWS:
33370         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33371           Fix memory leak of encoded buffers.
33372
33373 2010-05-15 05:36:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33374
33375         * docs/reference/libs/libs-sections.txt:
33376         * gst-libs/gst/vaapi/gstvaapicontext.c:
33377         * gst-libs/gst/vaapi/gstvaapicontext.h:
33378         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33379         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33380           Check for out-of-free-surfaces condition.
33381
33382 2010-05-15 04:35:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33383
33384         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33385           Change GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN value to something more generic (-1).
33386
33387 2010-05-15 04:25:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33388
33389         * gst/vaapisink/gstvaapisink.c:
33390           Improve debug info for gst_vaapisink_ensure_render_rect().
33391
33392 2010-05-14 05:02:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33393
33394         * configure.ac:
33395           Bump version for development.
33396
33397 2010-05-13 21:52:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33398
33399         * NEWS:
33400           0.2.2.
33401
33402 2010-05-13 21:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33403
33404         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33405           Improve previous fix.
33406
33407 2010-05-13 21:27:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33408
33409         * NEWS:
33410         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33411           Fix a crash in the FFmpeg decoder on close.
33412
33413 2010-05-13 16:41:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33414
33415         * README:
33416           Sort platforms by name.
33417
33418 2010-05-13 09:40:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33419
33420         * NEWS:
33421         * configure.ac:
33422           Bump version for development.
33423
33424 2010-05-13 09:38:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33425
33426         * gst/vaapisink/gstvaapisink.c:
33427           Add debug info for _show_frame().
33428
33429 2010-05-13 07:19:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33430
33431         * Makefile.am:
33432           Nuke older build dir.
33433
33434 2010-05-13 07:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33435
33436         * debian.upstream/control.in:
33437           Fix packaging deps.
33438
33439 2010-05-13 06:12:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33440
33441         * NEWS:
33442           Cosmetics.
33443
33444 2010-05-13 06:11:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33445
33446         * NEWS:
33447         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33448           Fix OpenGL texture internal format (Clutter).
33449
33450 2010-05-13 04:40:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33451
33452         * NEWS:
33453           Respin release.
33454
33455 2010-05-13 04:27:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33456
33457         * gst/vaapisink/gstvaapisink.c:
33458           Debug video & display PARs.
33459
33460 2010-05-13 04:22:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33461
33462         * gst/vaapisink/gstvaapisink.c:
33463           Use XGetGeometry() to retrieve the window size.
33464
33465 2010-05-12 19:40:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33466
33467         * gst/vaapisink/gstvaapisink.c:
33468           Move code around.
33469
33470 2010-05-12 19:35:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33471
33472         * gst/vaapisink/gstvaapisink.c:
33473           Ensure VA display is created prior to initializing the window from a specific XID. Also move code down.
33474
33475 2010-05-12 19:18:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33476
33477         * README:
33478           Drop obsolete comment.
33479
33480 2010-05-12 19:14:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33481
33482         * NEWS:
33483           0.2.1.
33484
33485 2010-05-12 19:14:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33486
33487         * gst/vaapidecode/gstvaapidecode.c:
33488           Fix GstVaapiDisplay refcounting in vaapidecode.
33489
33490 2010-05-12 14:10:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33491
33492         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
33493           Fix comment.
33494
33495 2010-05-12 12:58:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33496
33497         * gst/vaapisink/gstvaapisink.c:
33498         * gst/vaapisink/gstvaapisink.h:
33499           Fix render rect when the foreign window size changes.
33500
33501 2010-05-12 11:43:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33502
33503         * NEWS:
33504         * configure.ac:
33505         * gst/vaapisink/Makefile.am:
33506         * gst/vaapisink/gstvaapisink.c:
33507           Add GstXOverlay interface to vaapisink (e.g. for Totem).
33508
33509 2010-05-12 10:51:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33510
33511         * README:
33512           Update deps to match configure.ac versions.
33513
33514 2010-05-12 09:34:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33515
33516         * gst/vaapiconvert/gstvaapiconvert.c:
33517         * gst/vaapidecode/gstvaapidecode.c:
33518         * gst/vaapisink/gstvaapisink.c:
33519           Cosmetics.
33520
33521 2010-05-12 09:22:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33522
33523         * NEWS:
33524         * gst/vaapidecode/Makefile.am:
33525         * gst/vaapidecode/gstvaapidecode.c:
33526         * gst/vaapidecode/gstvaapidecode.h:
33527           Fix vaapidecode to expose the HW supported caps only.
33528
33529 2010-05-12 08:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33530
33531         * gst/vaapidecode/gstvaapidecode.c:
33532           Initialize decoder earlier.
33533
33534 2010-05-12 08:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33535
33536         * NEWS:
33537         * README:
33538         * gst/vaapidecode/gstvaapidecode.c:
33539           Fix integration within the playbin2 pipeline.
33540
33541 2010-05-12 08:02:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33542
33543         * docs/reference/libs/Makefile.am:
33544           Exclude gstvaapiutils_gst.h from docs for now.
33545
33546 2010-05-12 08:00:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33547
33548         * gst/vaapiconvert/gstvaapiconvert.c:
33549         * gst/vaapidecode/gstvaapidecode.c:
33550         * gst/vaapisink/gstvaapisink.c:
33551           Raise VA-API plugins ranks.
33552
33553 2010-05-12 07:57:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33554
33555         * gst-libs/gst/vaapi/Makefile.am:
33556         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
33557         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
33558           Add gst_vaapi_display_lookup_downstream() helper.
33559
33560 2010-05-11 16:23:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33561
33562         * gst/vaapidecode/gstvaapidecode.c:
33563           Use fixed caps on the src pad, they are not meant to change from video/x-vaapi-surface.
33564
33565 2010-05-11 16:19:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33566
33567         * docs/reference/libs/libs-sections.txt:
33568         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33569         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33570         * gst/vaapisink/gstvaapisink.c:
33571           Expose VA display through GstVaapiVideoBuffer.
33572
33573 2010-05-11 16:09:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33574
33575         * gst/vaapidecode/gstvaapidecode.c:
33576           Simplify gst_vaapidecode_set_caps() and fix memory leak.
33577
33578 2010-05-11 12:06:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33579
33580         * docs/reference/libs/libs-sections.txt:
33581         * gst-libs/gst/vaapi/gstvaapivideopool.c:
33582         * gst-libs/gst/vaapi/gstvaapivideopool.h:
33583           Expose video pool display.
33584
33585 2010-05-11 12:03:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33586
33587         * gst-libs/gst/vaapi/gstvaapivideosink.c:
33588           Stop iteration if there is no more element to examine.
33589
33590 2010-05-10 09:32:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33591
33592         * gst/vaapiconvert/gstvaapiconvert.c:
33593         * gst/vaapidecode/gstvaapidecode.c:
33594         * gst/vaapisink/gstvaapisink.c:
33595           Improve plugin details.
33596
33597 2010-05-07 06:35:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33598
33599         * gst-libs/gst/vaapi/gstvaapisurface.h:
33600         * gst/vaapiconvert/gstvaapiconvert.c:
33601         * gst/vaapidecode/gstvaapidecode.c:
33602         * gst/vaapisink/gstvaapisink.c:
33603           Factor out VA surface caps.
33604
33605 2010-05-05 15:36:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33606
33607         * gst/vaapidecode/gstvaapidecode.c:
33608           Add gst_vaapidecode_ensure_display() helper for set-caps.
33609
33610 2010-05-05 12:57:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33611
33612         * configure.ac:
33613           Bump version for development.
33614
33615 2010-05-05 12:29:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33616
33617         * NEWS:
33618           Really make it 0.2.0.
33619
33620 2010-05-05 12:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33621
33622         * README:
33623           More docs.
33624
33625 2010-05-05 11:48:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33626
33627         * docs/reference/libs/Makefile.am:
33628           Don't exclude GstVaapiParamSpecs.
33629
33630 2010-05-05 11:44:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33631
33632         * docs/reference/libs/Makefile.am:
33633         * docs/reference/libs/libs-sections.txt:
33634         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33635         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
33636           Fix docs.
33637
33638 2010-05-05 06:06:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33639
33640         * gst/vaapiconvert/gstvaapiconvert.c:
33641         * gst/vaapidecode/gstvaapidecode.c:
33642         * gst/vaapisink/gstvaapisink.c:
33643           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.
33644
33645 2010-05-04 15:03:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33646
33647         * gst-libs/gst/vaapi/Makefile.am:
33648           Really link all helper libraries with libtool -no-undefined.
33649
33650 2010-05-04 15:02:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33651
33652         * gst-libs/gst/vaapi/Makefile.am:
33653           Link helper libraries with libtool -no-undefined.
33654
33655 2010-05-04 14:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33656
33657         * configure.ac:
33658         * debian.upstream/gstreamer-vaapi.install.in:
33659         * gst/vaapiconvert/Makefile.am:
33660         * gst/vaapidecode/Makefile.am:
33661         * gst/vaapisink/Makefile.am:
33662           Don't build plugins with SONAME. Make them plain *.so.
33663
33664 2010-05-04 08:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33665
33666         * README:
33667           Improve documentation for release.
33668
33669 2010-05-03 22:50:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33670
33671         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33672           Fix build with older VA-API 0.29.
33673
33674 2010-05-03 22:43:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33675
33676         * NEWS:
33677           0.2.0.
33678
33679 2010-05-03 22:42:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33680
33681         * tests/Makefile.am:
33682           Fix make dist.
33683
33684 2010-05-03 22:36:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33685
33686         * docs/reference/libs/Makefile.am:
33687         * docs/reference/libs/libs-docs.xml.in:
33688         * docs/reference/libs/libs-sections.txt:
33689         * docs/reference/libs/libs.core.types:
33690         * docs/reference/plugins/Makefile.am:
33691         * docs/reference/plugins/plugins-docs.xml.in:
33692         * docs/reference/plugins/plugins-sections.txt:
33693         * docs/reference/plugins/plugins.types:
33694           Add missing docs.
33695
33696 2010-05-03 22:34:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33697
33698         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33699           Fix doc.
33700
33701 2010-05-03 22:28:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33702
33703         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33704         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
33705         * gst/vaapidecode/gstvaapidecode.c:
33706         * tests/test-decode.c:
33707           Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new().
33708
33709 2010-05-03 22:02:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33710
33711         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33712         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33713           Extract framerate information from caps.
33714
33715 2010-05-03 21:49:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33716
33717         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33718         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33719         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33720           Move caps initialization to parent class.
33721
33722 2010-05-03 21:25:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33723
33724         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33725           Simplify.
33726
33727 2010-05-03 21:25:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33728
33729         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33730           Fix doc.
33731
33732 2010-05-03 21:14:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33733
33734         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33735         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33736           More simplifications.
33737
33738 2010-05-03 20:55:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33739
33740         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33741         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33742         * tests/test-decode.c:
33743           Simplify GstVaapiDecoder API.
33744
33745 2010-05-03 20:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33746
33747         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33748           Drop obsolete defs.
33749
33750 2010-05-03 20:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33751
33752         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33753           Drop obsolete decls.
33754
33755 2010-05-03 17:36:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33756
33757         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33758         * gst/vaapidecode/gstvaapidecode.c:
33759           Add more aliases for MPEG-4 decoding.
33760
33761 2010-05-03 17:04:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33762
33763         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33764           Use avctx->coded_{width,height} info to create the VA context.
33765
33766 2010-05-03 16:54:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33767
33768         * tests/test-decode.c:
33769         * tests/test-decode.h:
33770           Use gst_vaapi_decoder_ffmpeg_new_from_caps().
33771
33772 2010-05-03 16:41:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33773
33774         * tests/test-decode.c:
33775         * tests/test-decode.h:
33776         * tests/test-h264.c:
33777         * tests/test-h264.h:
33778         * tests/test-mpeg2.c:
33779         * tests/test-mpeg2.h:
33780         * tests/test-vc1.c:
33781         * tests/test-vc1.h:
33782           Simplify tests info.
33783
33784 2010-05-03 16:17:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33785
33786         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33787           Try to improve heuristics to use an AVCodecContextParser.
33788
33789 2010-05-03 15:35:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33790
33791         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33792           Fix VC-1 decoding, it does not require any specific parser.
33793
33794 2010-05-03 15:34:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33795
33796         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33797           Fix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one).
33798
33799 2010-05-03 15:29:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33800
33801         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33802         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33803           Use size information from the demuxer, whenever available. i.e. fix WMV3 decoding.
33804
33805 2010-05-03 15:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33806
33807         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33808         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33809         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
33810         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33811         * gst/vaapidecode/gstvaapidecode.c:
33812         * gst/vaapidecode/gstvaapidecode.h:
33813           Add gst_vaapi_decoder_ffmpeg_new_from_caps() helper.
33814
33815 2010-05-03 14:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33816
33817         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33818         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33819         * gst-libs/gst/vaapi/gstvaapiprofile.h:
33820           Improve WMV3 detection yet further.
33821
33822 2010-05-03 13:44:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33823
33824         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33825           Fix detection of plain old WMV3 contents.
33826
33827 2010-05-03 12:25:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33828
33829         * tests/test-vc1.c:
33830           Add End-of-Sequence start code.
33831
33832 2010-05-03 11:44:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33833
33834         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33835         * gst/vaapidecode/gstvaapidecode.c:
33836           Fix VC-1 detection.
33837
33838 2010-05-03 08:51:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33839
33840         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33841           Fix build with older gstreamer libs where gst_buffer_unref() is not a plain function.
33842
33843 2010-05-03 08:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33844
33845         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33846         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33847           Drop obsolete (and wrong) code.
33848
33849 2010-05-03 08:33:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33850
33851         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33852           Cosmetics (spelling).
33853
33854 2010-05-03 08:32:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33855
33856         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33857         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33858         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33859           Try to fix timestamps (step 1). Looks OK on H55.
33860
33861 2010-05-03 07:10:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33862
33863         * debian.upstream/Makefile.am:
33864           Ship with COPYING.LIB.
33865
33866 2010-05-03 07:07:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33867
33868         * COPYING.LIB:
33869         * NEWS:
33870         * README:
33871         * gst-libs/gst/vaapi/gstvaapi_priv.h:
33872         * gst-libs/gst/vaapi/gstvaapicompat.h:
33873         * gst-libs/gst/vaapi/gstvaapicontext.c:
33874         * gst-libs/gst/vaapi/gstvaapicontext.h:
33875         * gst-libs/gst/vaapi/gstvaapidebug.h:
33876         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33877         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33878         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33879         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
33880         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33881         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33882         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33883         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
33884         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
33885         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
33886         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
33887         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33888         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
33889         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
33890         * gst-libs/gst/vaapi/gstvaapiimage.c:
33891         * gst-libs/gst/vaapi/gstvaapiimage.h:
33892         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
33893         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
33894         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
33895         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
33896         * gst-libs/gst/vaapi/gstvaapiobject.c:
33897         * gst-libs/gst/vaapi/gstvaapiobject.h:
33898         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
33899         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
33900         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
33901         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33902         * gst-libs/gst/vaapi/gstvaapiprofile.h:
33903         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
33904         * gst-libs/gst/vaapi/gstvaapisurface.h:
33905         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
33906         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
33907         * gst-libs/gst/vaapi/gstvaapitexture.h:
33908         * gst-libs/gst/vaapi/gstvaapitypes.h:
33909         * gst-libs/gst/vaapi/gstvaapiutils.h:
33910         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
33911         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
33912         * gst-libs/gst/vaapi/gstvaapivalue.h:
33913         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33914         * gst-libs/gst/vaapi/gstvaapivideopool.h:
33915         * gst-libs/gst/vaapi/gstvaapivideosink.h:
33916         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33917         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
33918         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
33919           Relicense gst-libs/ code to LGPL v2.1+.
33920
33921 2010-05-03 06:49:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33922
33923         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33924           Drop extraneous comma.
33925
33926 2010-05-03 06:49:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33927
33928         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33929           Drop variant=itu field to help codec detection.
33930
33931 2010-04-30 15:50:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33932
33933         * gst/vaapidecode/gstvaapidecode.c:
33934           Decode as many surfaces as possible in gst_vaapidecode_step().
33935
33936 2010-04-30 15:37:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33937
33938         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33939         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33940         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33941         * gst/vaapidecode/gstvaapidecode.c:
33942         * gst/vaapidecode/gstvaapidecode.h:
33943         * tests/test-decode.c:
33944           Drop excessive threading that over-complicates synchronisation. MPEG-2 & H.264 videos now play but there are other problems (timestamps).
33945
33946 2010-04-30 13:13:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33947
33948         * configure.ac:
33949           0.2.0.
33950
33951 2010-04-30 12:04:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33952
33953         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33954           Move VA context reset to AVCodecContext.get_context() as the surface sizes can change.
33955
33956 2010-04-30 09:52:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33957
33958         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33959         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33960           Fix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too.
33961
33962 2010-04-30 09:48:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33963
33964         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33965         * gst-libs/gst/vaapi/gstvaapiprofile.h:
33966           Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.
33967
33968 2010-04-30 08:18:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33969
33970         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33971           Document H.264 / AVC1 format case better.
33972
33973 2010-04-29 23:09:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33974
33975         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33976           Fix H.264 decoding with AVC1 format bitstreams.
33977
33978 2010-04-29 22:00:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33979
33980         * gst/vaapidecode/gstvaapidecode.c:
33981           Complete initialization of the GstVaapiVideoBuffer. Some frames start to show up.
33982
33983 2010-04-29 21:59:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33984
33985         * gst/vaapisink/gstvaapisink.c:
33986           Add missing GstBaseSink::buffer_alloc() override. i.e. make sure to allocate a GstVaapiVideoBuffer instead of a plain GstBuffer from the peer pad.
33987
33988 2010-04-29 21:56:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33989
33990         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33991         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33992           Export gst_vaapi_video_buffer_new().
33993
33994 2010-04-29 21:12:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33995
33996         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33997           Fix gst_vaapi_profile_get_caps() to include the "profile" field.
33998
33999 2010-04-29 17:56:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34000
34001         * configure.ac:
34002           Fix comment.
34003
34004 2010-04-29 17:55:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34005
34006         * NEWS:
34007         * configure.ac:
34008         * gst/Makefile.am:
34009         * gst/vaapidecode/Makefile.am:
34010         * gst/vaapidecode/gstvaapidecode.c:
34011         * gst/vaapidecode/gstvaapidecode.h:
34012           Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.
34013
34014 2010-04-29 17:51:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34015
34016         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34017         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34018           Add gst_vaapi_decoder_pause().
34019
34020 2010-04-29 17:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34021
34022         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34023         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34024         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34025           Use a GstTask with start/stop semantics for the decoder thread.
34026
34027 2010-04-29 16:08:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34028
34029         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
34030           Drop extraneous var.
34031
34032 2010-04-29 15:45:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34033
34034         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
34035         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
34036           Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.
34037
34038 2010-04-29 14:58:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34039
34040         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34041           Fix gst_vaapi_decoder_get_surface() status.
34042
34043 2010-04-29 14:28:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34044
34045         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34046         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34047           Try to set correct timestamps to the decoded surface proxy.
34048
34049 2010-04-29 12:52:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34050
34051         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
34052         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
34053         * tests/test-decode.c:
34054           Add timestamps to GstVaapiSurfaceProxy.
34055
34056 2010-04-29 09:43:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34057
34058         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34059           Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.
34060
34061 2010-04-29 09:40:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34062
34063         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34064           Fix destructor, av_parser_close() does destroy the struct already, unliker avcodec_close()...
34065
34066 2010-04-29 09:35:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34067
34068         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34069           Prefer profile from codec-data if any was found there.
34070
34071 2010-04-29 09:34:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34072
34073         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34074           Improve heuristics to find the best profile. Use the highest one if no explicit match on "profile" field.
34075
34076 2010-04-28 23:09:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34077
34078         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34079           Make sure gst_vaapi_decoder_get_surface() gets unblocked on error.
34080
34081 2010-04-28 22:30:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34082
34083         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34084           Fix VC-1 codec initialization, it really needs an extradata buffer.
34085
34086 2010-04-28 22:16:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34087
34088         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34089         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34090           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.
34091
34092 2010-04-28 21:58:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34093
34094         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34095           Move gst_vaapi_decoder_ffmpeg_create() call to object constructor.
34096
34097 2010-04-28 21:50:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34098
34099         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34100         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34101         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
34102         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34103         * tests/test-decode.c:
34104           Add "codec-data" property for additional codec data. e.g. VC-1 sequence headers for elementary streams.
34105
34106 2010-04-28 21:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34107
34108         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34109           Cosmetics (weird indentation).
34110
34111 2010-04-28 21:15:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34112
34113         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34114           Cosmetics (extraneous variable, debug message).
34115
34116 2010-04-28 09:07:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34117
34118         * configure.ac:
34119           Fix check for VA-API enabled FFmpeg.
34120
34121 2010-04-27 15:26:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34122
34123         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34124         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34125         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34126         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34127           - Add PTS and framerate information. - Simplify parsing with an AVCodeParserContext.
34128
34129 2010-04-27 11:59:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34130
34131         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34132         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34133           Add more error codes. Fix documentation.
34134
34135 2010-04-26 13:30:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34136
34137         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34138           Fix gst_vaapi_profile_get_codec(). Improve gst_vaapi_profile_from_caps() for H.264 & caps with "codec-data".
34139
34140 2010-04-26 11:44:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34141
34142         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34143         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34144         * tests/test-decode.c:
34145           Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.
34146
34147 2010-04-26 11:36:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34148
34149         * tests/test-vc1.c:
34150           Drop useless End-of-Sequence marker.
34151
34152 2010-04-26 08:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34153
34154         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34155           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.
34156
34157 2010-04-26 08:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34158
34159         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34160         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34161           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.
34162
34163 2010-04-26 08:15:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34164
34165         * tests/test-h264.c:
34166         * tests/test-vc1.c:
34167           Regenerate correct clips.
34168
34169 2010-04-23 16:11:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34170
34171         * tests/Makefile.am:
34172         * tests/test-decode.c:
34173         * tests/test-h264.c:
34174         * tests/test-h264.h:
34175         * tests/test-mpeg2.c:
34176         * tests/test-mpeg2.h:
34177         * tests/test-vc1.c:
34178         * tests/test-vc1.h:
34179           Add decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
34180           XXX: only VC-1 decoding works at this time because of awful
34181           bugs left in GstVaapiDecoderFfmpeg et al.
34182
34183 2010-04-23 16:05:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34184
34185         * configure.ac:
34186         * gst-libs/gst/vaapi/Makefile.am:
34187         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34188         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34189         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34190         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
34191         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34192           Add initial (multithreaded) decoder based on FFmpeg.
34193           There are tons of bugs left:
34194           - Decoder API not nice enough with error conditions
34195           - FFmpeg parser is sometimes broken
34196           - Packets queue can be lost
34197
34198 2010-04-23 16:00:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34199
34200         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
34201         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
34202           Add surface proxy that holds a reference to the parent surface and that returns the surface to that context on destruction.
34203
34204 2010-04-23 15:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34205
34206         * gst-libs/gst/vaapi/gstvaapicontext.c:
34207         * gst-libs/gst/vaapi/gstvaapicontext.h:
34208           Add VA context abstraction.
34209
34210 2010-04-23 10:58:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34211
34212         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34213           Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
34214
34215 2010-04-21 15:03:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34216
34217         * gst-libs/gst/vaapi/gstvaapivideopool.c:
34218         * gst-libs/gst/vaapi/gstvaapivideopool.h:
34219           Add a means to cap the number of objects allocated in the pool.
34220
34221 2010-04-21 15:02:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34222
34223         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34224         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34225           Add VA entrypoint abstraction.
34226
34227 2010-04-20 13:36:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34228
34229         * docs/reference/libs/libs-docs.xml.in:
34230         * docs/reference/libs/libs-sections.txt:
34231         * gst-libs/gst/vaapi/Makefile.am:
34232         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34233         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34234         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34235         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34236         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34237         * tests/test-display.c:
34238           Add VA profile abstraction.
34239
34240 2010-04-20 07:51:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34241
34242         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34243           Fix OpenGL rendering on G45 systems.
34244
34245 2010-04-16 13:47:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34246
34247         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34248           Fix gl_create_context() to find a GLXFBConfig compatible with the parent GL context.
34249
34250 2010-04-02 11:27:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34251
34252         * gst-libs/gst/vaapi/gstvaapitexture.c:
34253         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34254         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34255           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.
34256
34257 2010-04-01 16:11:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34258
34259         * gst-libs/gst/vaapi/gstvaapitexture.c:
34260           Fix get-out conditions.
34261
34262 2010-04-01 15:38:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34263
34264         * gst-libs/gst/vaapi/gstvaapitexture.c:
34265         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34266           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.
34267
34268 2010-04-01 13:55:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34269
34270         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34271           Shorter structs.
34272
34273 2010-04-01 13:41:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34274
34275         * docs/reference/libs/libs-sections.txt:
34276         * gst-libs/gst/vaapi/Makefile.am:
34277         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34278         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
34279         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34280         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34281         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34282         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
34283         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34284         * gst-libs/gst/vaapi/gstvaapitexture.c:
34285         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34286         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34287         * tests/test-windows.c:
34288           Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way.
34289
34290 2010-04-01 09:47:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34291
34292         * gst-libs/gst/vaapi/Makefile.am:
34293         * gst-libs/gst/vaapi/gstvaapi_priv.h:
34294         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34295         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34296         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34297         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34298         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34299         * gst-libs/gst/vaapi/gstvaapiimage.c:
34300         * gst-libs/gst/vaapi/gstvaapiobject.c:
34301         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34302         * gst-libs/gst/vaapi/gstvaapisurface.c:
34303         * gst-libs/gst/vaapi/gstvaapitexture.c:
34304         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34305         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34306         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34307           Move GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapidisplay_priv.h.
34308
34309 2010-03-31 15:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34310
34311         * gst-libs/gst/vaapi/gstvaapitexture.c:
34312         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34313         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34314         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34315           Improve handling of GL contexts.
34316
34317 2010-03-30 16:41:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34318
34319         * configure.ac:
34320           Simplify summary.
34321
34322 2010-03-30 13:33:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34323
34324         * configure.ac:
34325           Bump version for development.
34326
34327 2010-03-30 13:29:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34328
34329         * configure.ac:
34330         * debian.upstream/Makefile.am:
34331         * debian.upstream/control.in:
34332           Rename -dev package to libgstvaapi-dev.
34333
34334 2010-03-30 13:17:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34335
34336         * NEWS:
34337         * README:
34338           Updates.
34339
34340 2010-03-30 13:05:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34341
34342         * gst-libs/gst/vaapi/gstvaapiutils.c:
34343           Fix build with VA-API < 0.30.
34344
34345 2010-03-30 13:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34346
34347         * configure.ac:
34348         * gst-libs/gst/vaapi/gstvaapicompat.h:
34349         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34350         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
34351         * gst-libs/gst/vaapi/gstvaapitexture.c:
34352         * tests/test-display.c:
34353           Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO.
34354
34355 2010-03-30 12:59:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34356
34357         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34358         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34359           Add TFP and FBO helpers.
34360
34361 2010-03-30 12:55:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34362
34363         * gst-libs/gst/vaapi/gstvaapiutils.c:
34364         * gst-libs/gst/vaapi/gstvaapiutils.h:
34365           Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.
34366
34367 2010-03-30 08:13:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34368
34369         * gst-libs/gst/vaapi/gstvaapitexture.c:
34370         * gst-libs/gst/vaapi/gstvaapiutils.c:
34371         * gst-libs/gst/vaapi/gstvaapiutils.h:
34372         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34373           Use a shorter function name.
34374
34375 2010-03-30 08:11:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34376
34377         * docs/reference/libs/libs-sections.txt:
34378         * gst-libs/gst/vaapi/gstvaapisurface.c:
34379         * gst-libs/gst/vaapi/gstvaapisurface.h:
34380         * gst-libs/gst/vaapi/gstvaapiutils.c:
34381         * gst-libs/gst/vaapi/gstvaapiutils.h:
34382           Add gst_vaapi_surface_query_status() wrapper.
34383
34384 2010-03-30 07:50:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34385
34386         * docs/reference/plugins/Makefile.am:
34387           Fix leftover during migration.
34388
34389 2010-03-30 07:46:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34390
34391         * Makefile.am:
34392         * configure.ac:
34393         * docs/reference/plugins/Makefile.am:
34394         * gst/Makefile.am:
34395         * gst/vaapiconvert/Makefile.am:
34396         * gst/vaapiconvert/gstvaapiconvert.c:
34397         * gst/vaapiconvert/gstvaapiconvert.h:
34398         * gst/vaapisink/Makefile.am:
34399         * gst/vaapisink/gstvaapisink.c:
34400         * gst/vaapisink/gstvaapisink.h:
34401           Rename to gst/ as sys/ was too vague.
34402
34403 2010-03-30 07:39:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34404
34405         * gst-libs/gst/vaapi/gstvaapiimage.c:
34406         * gst-libs/gst/vaapi/gstvaapiimage.h:
34407         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34408         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34409         * gst-libs/gst/vaapi/gstvaapisurface.c:
34410         * gst-libs/gst/vaapi/gstvaapisurface.h:
34411           Try to not reference VA-API types directly.
34412
34413 2010-03-29 16:24:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34414
34415         * sys/vaapisink/gstvaapisink.c:
34416           Fix reflection code to preserve aspect ratio.
34417
34418 2010-03-29 16:17:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34419
34420         * sys/vaapisink/gstvaapisink.c:
34421         * sys/vaapisink/gstvaapisink.h:
34422           Fix fullscreen mode.
34423
34424 2010-03-29 15:59:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34425
34426         * sys/vaapisink/gstvaapisink.c:
34427         * sys/vaapisink/gstvaapisink.h:
34428           Add OpenGL reflection effect ("use-reflection").
34429
34430 2010-03-29 15:51:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34431
34432         * configure.ac:
34433         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34434           Use a projection suitable for rotation around the Y axis.
34435
34436 2010-03-29 15:03:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34437
34438         * configure.ac:
34439         * sys/vaapisink/Makefile.am:
34440         * sys/vaapisink/gstvaapisink.c:
34441         * sys/vaapisink/gstvaapisink.h:
34442           Don't build vaapisink/gl by default. However, if this is enabled, use the GL renderer by default.
34443
34444 2010-03-29 14:50:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34445
34446         * configure.ac:
34447         * debian.upstream/Makefile.am:
34448         * debian.upstream/control.in:
34449         * debian.upstream/libgstvaapi-glx.install.in:
34450           Add libgstvaapi-glx-0 package.
34451
34452 2010-03-29 14:47:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34453
34454         * pkgconfig/Makefile.am:
34455           Really fix make distclean.
34456
34457 2010-03-29 14:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34458
34459         * docs/reference/libs/Makefile.am:
34460           Fix make dist.
34461
34462 2010-03-29 14:42:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34463
34464         * pkgconfig/Makefile.am:
34465           Fix make distclean.
34466
34467 2010-03-29 14:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34468
34469         * tests/Makefile.am:
34470           Fix make dist.
34471
34472 2010-03-29 14:31:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34473
34474         * docs/reference/libs/Makefile.am:
34475         * docs/reference/libs/libs.core.types:
34476         * docs/reference/libs/libs.glx.types:
34477         * docs/reference/libs/libs.x11.types:
34478           Fix doc build.
34479
34480 2010-03-29 14:21:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34481
34482         * sys/vaapisink/gstvaapisink.h:
34483           Fix build without GLX.
34484
34485 2010-03-29 14:13:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34486
34487         * NEWS:
34488           0.1.2.
34489
34490 2010-03-29 14:13:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34491
34492         * sys/vaapisink/Makefile.am:
34493         * sys/vaapisink/gstvaapisink.c:
34494         * sys/vaapisink/gstvaapisink.h:
34495           Add VA/GLX support to vaapisink.
34496
34497 2010-03-29 13:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34498
34499         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34500         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34501         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34502           Add glXSwapBuffers() workaround for NVIDIA.
34503
34504 2010-03-29 13:27:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34505
34506         * tests/Makefile.am:
34507         * tests/test-textures.c:
34508           Improve VA/GLX textures test.
34509
34510 2010-03-29 12:51:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34511
34512         * gst-libs/gst/vaapi/gstvaapitexture.c:
34513         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34514         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34515           Fix texture rendering.
34516
34517 2010-03-29 11:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34518
34519         * docs/reference/libs/libs-docs.xml.in:
34520         * docs/reference/libs/libs-sections.txt:
34521         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34522         * gst-libs/gst/vaapi/gstvaapitexture.c:
34523           Fix documentation.
34524
34525 2010-03-29 10:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34526
34527         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34528         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
34529           Add gst_vaapi_window_glx_put_texture() helper.
34530
34531 2010-03-29 09:09:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34532
34533         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34534           Fix typos.
34535
34536 2010-03-26 17:00:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34537
34538         * tests/image.c:
34539         * tests/image.h:
34540         * tests/test-windows.c:
34541           Move code around.
34542
34543 2010-03-26 16:52:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34544
34545         * gst-libs/gst/vaapi/Makefile.am:
34546         * gst-libs/gst/vaapi/gstvaapitexture.c:
34547         * gst-libs/gst/vaapi/gstvaapitexture.h:
34548         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34549         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34550           Add initial VA/GLX texture abstraction though the API is not good enough yet.
34551
34552 2010-03-26 15:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34553
34554         * docs/reference/libs/libs-sections.txt:
34555         * gst-libs/gst/vaapi/gstvaapiobject.c:
34556         * gst-libs/gst/vaapi/gstvaapiobject.h:
34557           Add gst_vaapi_object_{,un}lock_display() helpers.
34558
34559 2010-03-26 15:16:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34560
34561         * tests/Makefile.am:
34562         * tests/image.c:
34563         * tests/image.h:
34564         * tests/test-windows.c:
34565           Factor out image utilities.
34566
34567 2010-03-26 11:54:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34568
34569         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34570           MT-Safe: lock display.
34571
34572 2010-03-26 11:50:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34573
34574         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34575           Make sure window resize completed prior to resizing the GL viewport.
34576
34577 2010-03-26 11:39:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34578
34579         * gst-libs/gst/vaapi/Makefile.am:
34580           gstvaapicompat.h is a private header, don't install it.
34581
34582 2010-03-26 11:35:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34583
34584         * docs/reference/libs/libs-sections.txt:
34585         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34586         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34587         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34588           Add gst_vaapi_display_{sync,flush}() helpers.
34589
34590 2010-03-26 11:30:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34591
34592         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34593         * sys/vaapisink/gstvaapisink.c:
34594         * sys/vaapisink/gstvaapisink.h:
34595           Add "synchronous" mode.
34596
34597 2010-03-26 11:02:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34598
34599         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34600         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34601           Only add _display suffix to open & close members because they could be #define to some arbitrary value. lock/unlock are safe names.
34602
34603 2010-03-26 10:09:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34604
34605         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34606           Restore GLX context only if there is one.
34607
34608 2010-03-26 09:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34609
34610         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34611         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34612         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34613         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
34614           Add gst_vaapi_window_glx_make_current(). Handle X11 window size changes and reset the GL viewport.
34615
34616 2010-03-26 08:35:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34617
34618         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34619           Check GstVaapiWindow::render() is available prior to calling it.
34620
34621 2010-03-26 08:10:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34622
34623         * tests/Makefile.am:
34624         * tests/test-display.c:
34625         * tests/test-textures.c:
34626           Add VA/GLX display tests.
34627
34628 2010-03-26 08:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34629
34630         * configure.ac:
34631         * gst-libs/gst/vaapi/Makefile.am:
34632           Fix compile flags.
34633
34634 2010-03-25 17:39:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34635
34636         * docs/reference/libs/Makefile.am:
34637         * docs/reference/libs/libs-docs.xml.in:
34638         * docs/reference/libs/libs-sections.txt:
34639         * docs/reference/libs/libs.types:
34640           Add missing API documentation.
34641
34642 2010-03-25 17:28:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34643
34644         * configure.ac:
34645         * gst-libs/gst/vaapi/Makefile.am:
34646         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34647         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
34648         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34649         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34650         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34651         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
34652         * pkgconfig/Makefile.am:
34653         * pkgconfig/gstreamer-vaapi-glx.pc.in:
34654         * tests/Makefile.am:
34655         * tests/test-textures.c:
34656           Add initial VA/GLX support.
34657
34658 2010-03-25 17:21:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34659
34660         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34661           Add missing includes (for vaapi_check_status()).
34662
34663 2010-03-25 17:21:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34664
34665         * gst-libs/gst/vaapi/gstvaapidebug.h:
34666           Only enable GST_DEBUG() if DEBUG is defined. Drop old D(bug()) stuff.
34667
34668 2010-03-25 17:18:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34669
34670         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34671         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
34672           Add gst_vaapi_window_x11_is_foreign_xid() helper.
34673
34674 2010-03-25 17:18:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34675
34676         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
34677         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
34678         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34679         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
34680           Allow derived classes to specify custom Visual and Colormap.
34681
34682 2010-03-25 13:54:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34683
34684         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
34685         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
34686         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34687           Allow window creation with a specific visual (e.g. for GLX support).
34688
34689 2010-03-25 13:21:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34690
34691         * gst-libs/gst/vaapi/gstvaapiimage.c:
34692           Fix return value on error (though it's the same in the end).
34693
34694 2010-03-25 12:39:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34695
34696         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34697         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34698           Simplify initialization of VADisplay.
34699
34700 2010-03-25 10:04:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34701
34702         * configure.ac:
34703           Move __attribute__((visibility("hidden"))) check down.
34704
34705 2010-03-25 09:49:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34706
34707         * docs/reference/libs/libs-sections.txt:
34708         * gst-libs/gst/vaapi/gstvaapiimage.c:
34709         * gst-libs/gst/vaapi/gstvaapiimage.h:
34710         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34711         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34712         * gst-libs/gst/vaapi/gstvaapisurface.c:
34713         * gst-libs/gst/vaapi/gstvaapisurface.h:
34714         * tests/test-surfaces.c:
34715           Restore the gst_vaapi_{surface,image,subpicture}_get_id() interfaces.
34716
34717 2010-03-25 09:39:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34718
34719         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34720           Use the parent display object, no need to maintain another one.
34721           In the end, libgstvaapi-x11 reduced by 1 KB in .text vs. 0.1.1.
34722
34723 2010-03-25 09:37:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34724
34725         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34726           Add more internal helpers.
34727
34728 2010-03-24 17:40:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34729
34730         * gst-libs/gst/vaapi/gstvaapiimage.c:
34731         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34732         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34733         * gst-libs/gst/vaapi/gstvaapisurface.c:
34734         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34735         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34736           Rename to GST_VAAPI_OBJECT_DISPLAY().
34737
34738 2010-03-24 17:38:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34739
34740         * docs/reference/libs/libs-sections.txt:
34741         * gst-libs/gst/vaapi/gstvaapiimage.c:
34742         * gst-libs/gst/vaapi/gstvaapiobject.c:
34743         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34744         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34745         * gst-libs/gst/vaapi/gstvaapisurface.c:
34746         * gst-libs/gst/vaapi/gstvaapitypes.h:
34747         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34748           All GstVaapiID are initialized to GST_VAAPI_ID_NONE by default. Besides, all GstVaapiObject derived class shall initialize "id" to a valid value.
34749
34750 2010-03-24 17:22:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34751
34752         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34753         * gst-libs/gst/vaapi/gstvaapiwindow.h:
34754         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34755           Make GstVaapiWindow* derive from GstVaapiObject.
34756
34757 2010-03-24 16:37:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34758
34759         * configure.ac:
34760           Factor out use gstreamer-vaapi (PACKAGE name).
34761
34762 2010-03-24 16:35:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34763
34764         * configure.ac:
34765           Improve versioning summary.
34766
34767 2010-03-24 16:27:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34768
34769         * gst-libs/gst/vaapi/Makefile.am:
34770           gstvaapicompat.h is now a private header (not installed).
34771
34772 2010-03-24 16:25:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34773
34774         * gst-libs/gst/vaapi/gstvaapiimage.c:
34775         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34776         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34777         * gst-libs/gst/vaapi/gstvaapiobject.c:
34778         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34779         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34780           Include gstvaapicompat.h in source files only, not headers.
34781
34782 2010-03-24 16:21:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34783
34784         * configure.ac:
34785         * gst-libs/gst/vaapi/Makefile.am:
34786         * sys/vaapiconvert/Makefile.am:
34787         * sys/vaapisink/Makefile.am:
34788         * tests/Makefile.am:
34789           Drop tedious LIBVA_EXTRA_{CFLAGS,LIBS} definitions in Makefile.am. Override CFLAGS & LIBS instead.
34790
34791 2010-03-24 16:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34792
34793         * NEWS:
34794         * configure.ac:
34795         * gst-libs/gst/vaapi/Makefile.am:
34796         * gst-libs/gst/vaapi/gstvaapicompat.h:
34797         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34798         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34799         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34800         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34801         * gst-libs/gst/vaapi/gstvaapisurface.c:
34802         * gst-libs/gst/vaapi/gstvaapiutils.c:
34803         * gst-libs/gst/vaapi/gstvaapiutils.h:
34804         * pkgconfig/gstreamer-vaapi-x11.pc.in:
34805         * pkgconfig/gstreamer-vaapi.pc.in:
34806         * sys/vaapiconvert/Makefile.am:
34807         * sys/vaapisink/Makefile.am:
34808         * tests/Makefile.am:
34809           Add compatibility with the original VA-API 0.29.
34810
34811 2010-03-24 15:18:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34812
34813         * gst-libs/gst/vaapi/gstvaapivalue.h:
34814           Add missing file (gstvaapivalue.h).
34815
34816 2010-03-24 15:12:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34817
34818         * gst-libs/gst/vaapi/gstvaapiimage.c:
34819         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34820         * gst-libs/gst/vaapi/gstvaapisurface.c:
34821           Fix g_warning() invocation.
34822
34823 2010-03-24 15:11:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34824
34825         * gst-libs/gst/vaapi/gstvaapisurface.c:
34826           Deassociate subpictures while destroying the surface.
34827
34828 2010-03-24 14:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34829
34830         * gst-libs/gst/vaapi/gstvaapisurface.c:
34831           Fix destruction order of subpictures. They should be destroyed first.
34832
34833 2010-03-24 14:46:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34834
34835         * NEWS:
34836         * gst-libs/gst/vaapi/gstvaapiimage.c:
34837         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34838         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34839         * tests/test-windows.c:
34840           Add support for AYUV format.
34841
34842 2010-03-24 14:36:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34843
34844         * tests/test-windows.c:
34845           Simplify upload process and fallback to subpictures.
34846
34847 2010-03-24 13:44:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34848
34849         * docs/reference/libs/libs-docs.xml.in:
34850         * docs/reference/libs/libs-sections.txt:
34851         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34852           Fix documentation.
34853
34854 2010-03-24 13:37:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34855
34856         * gst-libs/gst/vaapi/Makefile.am:
34857         * gst-libs/gst/vaapi/gstvaapiobject.c:
34858         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34859         * gst-libs/gst/vaapi/gstvaapitypes.h:
34860         * gst-libs/gst/vaapi/gstvaapivalue.c:
34861           Move GValue specific stuff to a dedicated file.
34862
34863 2010-03-24 13:22:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34864
34865         * tests/test-surfaces.c:
34866           Cosmetics (lowercase for consistency).
34867
34868 2010-03-24 13:21:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34869
34870         * gst-libs/gst/vaapi/gstvaapiobject.c:
34871           Cosmetics (vertical alignment).
34872
34873 2010-03-24 13:20:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34874
34875         * gst-libs/gst/vaapi/gstvaapiobject.c:
34876           Fix return value on error.
34877
34878 2010-03-24 13:19:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34879
34880         * docs/reference/libs/libs-sections.txt:
34881         * gst-libs/gst/vaapi/gstvaapiimage.c:
34882         * gst-libs/gst/vaapi/gstvaapiimage.h:
34883         * gst-libs/gst/vaapi/gstvaapiobject.c:
34884         * gst-libs/gst/vaapi/gstvaapiobject.h:
34885         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34886         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34887         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34888         * gst-libs/gst/vaapi/gstvaapisurface.c:
34889         * gst-libs/gst/vaapi/gstvaapisurface.h:
34890         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34891         * tests/test-surfaces.c:
34892           Move "id" down to the GstVaapiObject base.
34893
34894 2010-03-24 12:59:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34895
34896         * gst-libs/gst/vaapi/gstvaapitypes.c:
34897           Cosmetics (drop extraneous empty line).
34898
34899 2010-03-24 12:57:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34900
34901         * gst-libs/gst/vaapi/Makefile.am:
34902         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34903         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
34904           Add GParamSpecs for GstVaapiID.
34905
34906 2010-03-24 12:54:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34907
34908         * docs/reference/libs/libs.types:
34909           Drop gst_vaapi_id_get_type().
34910
34911 2010-03-24 12:38:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34912
34913         * docs/reference/libs/libs-sections.txt:
34914         * gst-libs/gst/vaapi/gstvaapitypes.h:
34915           Add GST_VAAPI_ID_FORMAT() and GST_VAAPI_ID_ARGS() helpers.
34916
34917 2010-03-24 09:52:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34918
34919         * docs/reference/libs/libs-sections.txt:
34920         * docs/reference/libs/libs.types:
34921         * gst-libs/gst/vaapi/Makefile.am:
34922         * gst-libs/gst/vaapi/gstvaapitypes.c:
34923         * gst-libs/gst/vaapi/gstvaapitypes.h:
34924           Add GstVaapiID abstraction.
34925
34926 2010-03-24 09:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34927
34928         * docs/reference/libs/libs.types:
34929           Sort types.
34930
34931 2010-03-24 08:35:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34932
34933         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34934         * gst-libs/gst/vaapi/gstvaapiimage.c:
34935         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34936         * gst-libs/gst/vaapi/gstvaapisurface.c:
34937           Drop useless include (<va/va_backend.h>).
34938
34939 2010-03-24 08:34:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34940
34941         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34942           Optimize GST_VAAPI_OBJECT_GET_DISPLAY to avoid a run-time check.
34943
34944 2010-03-24 08:32:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34945
34946         * gst-libs/gst/vaapi/Makefile.am:
34947         * gst-libs/gst/vaapi/gstvaapiimage.c:
34948         * gst-libs/gst/vaapi/gstvaapiobject.c:
34949         * gst-libs/gst/vaapi/gstvaapiobject.h:
34950         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34951         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34952         * gst-libs/gst/vaapi/gstvaapisurface.c:
34953         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34954           Move private definitions and accessors to gstvaapiobject_priv.h.
34955
34956 2010-03-24 08:16:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34957
34958         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34959         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34960         * gst-libs/gst/vaapi/gstvaapiimage.c:
34961         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34962         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
34963         * gst-libs/gst/vaapi/gstvaapiobject.c:
34964         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34965         * gst-libs/gst/vaapi/gstvaapisurface.c:
34966         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
34967         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
34968         * gst-libs/gst/vaapi/gstvaapivideopool.c:
34969         * gst-libs/gst/vaapi/gstvaapivideosink.c:
34970         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34971         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34972           Fix short descriptions.
34973
34974 2010-03-23 18:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34975
34976         * Makefile.am:
34977         * configure.ac:
34978         * debian.upstream/Makefile.am:
34979         * debian.upstream/changelog.in:
34980         * debian.upstream/compat:
34981         * debian.upstream/control.in:
34982         * debian.upstream/copyright:
34983         * debian.upstream/gstreamer-vaapi-doc.install.in:
34984         * debian.upstream/gstreamer-vaapi.install.in:
34985         * debian.upstream/libgstvaapi-dev.install.in:
34986         * debian.upstream/libgstvaapi-x11.install.in:
34987         * debian.upstream/libgstvaapi.install.in:
34988         * debian.upstream/rules:
34989           Generate upstream packages through make deb.upstream.
34990
34991 2010-03-23 17:40:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34992
34993         * configure.ac:
34994           Bump version for development.
34995
34996 2010-03-23 17:29:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34997
34998         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
34999           Use a black background for new windows.
35000
35001 2010-03-23 17:18:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35002
35003         * NEWS:
35004           0.1.1.
35005
35006 2010-03-23 17:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35007
35008         * configure.ac:
35009         * docs/reference/libs/libs.types:
35010         * gst-libs/gst/vaapi/Makefile.am:
35011         * gst-libs/gst/vaapi/gstvaapimarshal.list:
35012         * gst-libs/gst/vaapi/gstvaapiobject.c:
35013         * gst-libs/gst/vaapi/gstvaapiobject.h:
35014         * tests/test-surfaces.c:
35015           Add "destroy" signal.
35016
35017 2010-03-23 16:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35018
35019         * docs/reference/libs/libs-docs.xml.in:
35020           Improve gst-plugins-vaapi Library reference template.
35021
35022 2010-03-23 16:21:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35023
35024         * docs/reference/libs/libs-docs.xml.in:
35025         * docs/reference/libs/libs-sections.txt:
35026         * gst-libs/gst/vaapi/Makefile.am:
35027         * gst-libs/gst/vaapi/gstvaapiimage.c:
35028         * gst-libs/gst/vaapi/gstvaapiimage.h:
35029         * gst-libs/gst/vaapi/gstvaapiobject.c:
35030         * gst-libs/gst/vaapi/gstvaapiobject.h:
35031         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35032         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35033         * gst-libs/gst/vaapi/gstvaapisurface.c:
35034         * gst-libs/gst/vaapi/gstvaapisurface.h:
35035         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35036           Make GstVaapi{Surface,Image,Subpicture} derive from a GstVaapiObject.
35037
35038 2010-03-23 16:11:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35039
35040         * sys/vaapisink/gstvaapisink.c:
35041           Fix return value.
35042
35043 2010-03-23 15:34:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35044
35045         * sys/vaapisink/gstvaapisink.c:
35046           Make sure VA display is valid when created with an explicit "display" name.
35047
35048 2010-03-23 15:28:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35049
35050         * sys/vaapisink/gstvaapisink.c:
35051           Use plain "display" property for the X11 display name.
35052
35053 2010-03-23 15:22:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35054
35055         * sys/vaapiconvert/gstvaapiconvert.c:
35056         * sys/vaapisink/gstvaapisink.c:
35057           Document vaapiconvert & vaapisink plugins.
35058
35059 2010-03-23 14:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35060
35061         * configure.ac:
35062         * docs/reference/Makefile.am:
35063         * docs/reference/plugins/Makefile.am:
35064         * docs/reference/plugins/plugins-docs.xml.in:
35065         * docs/reference/plugins/plugins-overrides.txt:
35066         * docs/reference/plugins/plugins-sections.txt:
35067         * docs/reference/plugins/plugins.types:
35068           Add plugins documentation template.
35069
35070 2010-03-23 14:06:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35071
35072         * sys/vaapisink/gstvaapisink.c:
35073         * sys/vaapisink/gstvaapisink.h:
35074           Don't export gst_vaapisink_get_display().
35075
35076 2010-03-23 13:32:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35077
35078         * configure.ac:
35079         * docs/reference/libs/libs-docs.xml.in:
35080         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35081         * gst-libs/gst/vaapi/gstvaapiimage.c:
35082         * gst-libs/gst/vaapi/gstvaapisurface.c:
35083         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35084           Drop introspection annotations since they require gtk-doc >= 1.12.
35085
35086 2010-03-23 10:51:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35087
35088         * gst-libs/gst/vaapi/gstvaapisurface.c:
35089           Add note about the fact that the surface holds an extra reference to the subpicture.
35090
35091 2010-03-23 10:49:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35092
35093         * gst-libs/gst/vaapi/gstvaapiimage.c:
35094         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35095         * gst-libs/gst/vaapi/gstvaapisurface.c:
35096           Improve debugging messages.
35097
35098 2010-03-23 10:48:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35099
35100         * tests/test-windows.c:
35101           Unref subpicture earlier as the surface is supposed to hold a reference to it.
35102
35103 2010-03-23 10:36:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35104
35105         * docs/reference/libs/libs-sections.txt:
35106         * gst-libs/gst/vaapi/gstvaapisurface.c:
35107         * gst-libs/gst/vaapi/gstvaapisurface.h:
35108         * tests/test-windows.c:
35109           Add gst_vaapi_surface_{,de}associate_subpicture() API.
35110
35111 2010-03-23 08:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35112
35113         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35114           Wait for MapNotify or UnmapNotify events on foreign windows too.
35115
35116 2010-03-23 07:42:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35117
35118         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35119           Check whether the foreign XID is mapped at binding time.
35120
35121 2010-03-23 07:34:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35122
35123         * sys/vaapisink/gstvaapisink.c:
35124           Add missing includes.
35125
35126 2010-03-23 07:31:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35127
35128         * configure.ac:
35129         * debian/Makefile.am:
35130         * debian/control.in:
35131         * debian/gstreamer-vaapi-doc.install.in:
35132         * debian/rules:
35133           Add -doc package.
35134
35135 2010-03-23 06:41:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35136
35137         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35138           Fix warnings (drop extraneous var).
35139
35140 2010-03-23 06:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35141
35142         * docs/reference/libs/libs-sections.txt:
35143         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35144           Add GST_VAAPI_WINDOW_XWINDOW() helper macro.
35145
35146 2010-03-22 16:59:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35147
35148         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35149           Shorten condition.
35150
35151 2010-03-22 16:57:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35152
35153         * gst-libs/gst/vaapi/Makefile.am:
35154         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35155         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35156         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
35157         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35158           Try to improve switch to fullscreen mode.
35159
35160 2010-03-22 16:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35161
35162         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35163         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35164         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35165           Improve display locking and rework X event wait functions.
35166
35167 2010-03-22 13:06:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35168
35169         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35170         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
35171           Move _GstVaapiWindowPrivate declaration to gstvaapiwindow_priv.h.
35172
35173 2010-03-22 13:05:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35174
35175         * gst-libs/gst/vaapi/Makefile.am:
35176         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35177         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
35178           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.
35179
35180 2010-03-22 12:47:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35181
35182         * docs/reference/libs/libs-sections.txt:
35183         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35184         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35185           Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property.
35186
35187 2010-03-22 12:39:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35188
35189         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35190         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35191         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35192           Add gst_vaapi_window_get_display() to base.
35193
35194 2010-03-22 12:16:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35195
35196         * docs/reference/libs/libs-docs.xml.in:
35197         * docs/reference/libs/libs-sections.txt:
35198         * gst-libs/gst/vaapi/Makefile.am:
35199         * gst-libs/gst/vaapi/gstvaapitypes.h:
35200         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35201         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35202         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35203         * sys/vaapisink/gstvaapisink.c:
35204         * sys/vaapisink/gstvaapisink.h:
35205           Add GstVaapiPoint & GstVaapiRectangle data structures.
35206
35207 2010-03-22 12:05:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35208
35209         * NEWS:
35210           0.1.1.
35211
35212 2010-03-22 12:03:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35213
35214         * NEWS:
35215         * sys/vaapisink/gstvaapisink.c:
35216         * sys/vaapisink/gstvaapisink.h:
35217           Allow `vaapisink` to render videos in fullscreen mode.
35218
35219 2010-03-22 10:51:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35220
35221         * docs/reference/libs/libs-sections.txt:
35222         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35223         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35224         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35225           Add gst_vaapi_window_set_fullscreen() API.
35226
35227 2010-03-22 10:03:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35228
35229         * sys/vaapisink/gstvaapisink.c:
35230           Size window so that to respect the video and pixel aspect ratio.
35231
35232 2010-03-22 09:32:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35233
35234         * docs/reference/libs/libs-sections.txt:
35235         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35236         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35237         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35238         * tests/test-display.c:
35239           Add gst_vaapi_display_get_pixel_aspect_ratio().
35240
35241 2010-03-22 08:45:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35242
35243         * docs/reference/libs/libs-sections.txt:
35244           Updates.
35245
35246 2010-03-22 08:44:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35247
35248         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35249         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35250         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35251         * tests/test-display.c:
35252           Add display size accessors.
35253
35254 2010-03-22 08:03:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35255
35256         * configure.ac:
35257         * debian/control.in:
35258           Build-Requires: gstreamer-plugins-base >= 0.10.16.
35259
35260 2010-03-21 08:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35261
35262         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35263         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35264         * gst-libs/gst/vaapi/gstvaapiimage.h:
35265         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
35266         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35267         * gst-libs/gst/vaapi/gstvaapisurface.h:
35268         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
35269         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35270         * gst-libs/gst/vaapi/gstvaapivideopool.h:
35271         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35272         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35273           Fix documentation of *Class'es.
35274
35275 2010-03-21 08:38:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35276
35277         * gst-libs/gst/vaapi/gstvaapiutils.c:
35278         * gst-libs/gst/vaapi/gstvaapiutils.h:
35279         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35280           Move GstVaapiSurfaceRenderFlags conversion to get_PutSurface_flags_from_GstVaapiSurfaceRenderFlags().
35281
35282 2010-03-21 08:22:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35283
35284         * docs/reference/libs/libs-sections.txt:
35285         * gst-libs/gst/vaapi/gstvaapisurface.h:
35286         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35287           Move GstVaapiSurfaceRenderFlags to gstvaapisurface.h since this will also be useful for e.g. a gstvaapitexture.h.
35288
35289 2010-03-21 08:12:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35290
35291         * docs/reference/libs/libs-sections.txt:
35292         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35293         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35294         * sys/vaapisink/gstvaapisink.c:
35295         * tests/test-windows.c:
35296           Rename gst_vaapi_window_put_surface_full() to plain gst_vaapi_window_put_surface().
35297
35298 2010-03-19 17:15:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35299
35300         * docs/reference/libs/Makefile.am:
35301           Fix make dist for --enable-gtk-doc builds.
35302
35303 2010-03-19 17:13:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35304
35305         * autogen.sh:
35306           Improve autogen.sh.
35307
35308 2010-03-19 17:11:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35309
35310         * Makefile.am:
35311         * autogen.sh:
35312           Generate gtk-doc.make from gtkdocize.
35313
35314 2010-03-19 17:04:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35315
35316         * Makefile.am:
35317         * NEWS:
35318         * configure.ac:
35319         * docs/Makefile.am:
35320         * docs/reference/Makefile.am:
35321         * docs/reference/libs/Makefile.am:
35322         * docs/reference/libs/libs-docs.xml.in:
35323         * docs/reference/libs/libs-overrides.txt:
35324         * docs/reference/libs/libs-sections.txt:
35325         * docs/reference/libs/libs.types:
35326           Document public API for libgstvaapi-*.so.*.
35327
35328 2010-03-19 16:41:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35329
35330         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35331         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35332           Document GstVaapiVideoBuffer.
35333
35334 2010-03-19 16:08:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35335
35336         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
35337         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
35338         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
35339         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
35340         * gst-libs/gst/vaapi/gstvaapivideopool.c:
35341         * gst-libs/gst/vaapi/gstvaapivideopool.h:
35342           Document surface & image pools. Drop obsolete gst_vaapi_video_pool_new() function.
35343
35344 2010-03-19 15:45:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35345
35346         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35347         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35348         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35349         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35350         * gst-libs/gst/vaapi/gstvaapiimage.c:
35351         * gst-libs/gst/vaapi/gstvaapiimage.h:
35352         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35353         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35354         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35355         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35356         * gst-libs/gst/vaapi/gstvaapisurface.c:
35357         * gst-libs/gst/vaapi/gstvaapisurface.h:
35358         * gst-libs/gst/vaapi/gstvaapivideosink.c:
35359         * gst-libs/gst/vaapi/gstvaapivideosink.h:
35360         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35361         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35362         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35363         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35364           Add tedious documentation.
35365
35366 2010-03-19 10:42:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35367
35368         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35369           Beautify append_formats().
35370
35371 2010-03-19 10:38:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35372
35373         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35374           Simplify GstVaapiDisplay (use GArray).
35375
35376 2010-03-19 08:42:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35377
35378         * NEWS:
35379         * sys/vaapiconvert/gstvaapiconvert.c:
35380         * sys/vaapiconvert/gstvaapiconvert.h:
35381           Factor out direct-rendering infrastructure.
35382
35383 2010-03-18 16:18:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35384
35385         * sys/vaapiconvert/gstvaapiconvert.c:
35386         * sys/vaapiconvert/gstvaapiconvert.h:
35387           Allow user to specify inout-buffers & derive-image optimizations.
35388
35389 2010-03-18 15:58:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35390
35391         * sys/vaapiconvert/gstvaapiconvert.c:
35392           Reduce number of debug messaged printed out.
35393
35394 2010-03-18 15:53:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35395
35396         * sys/vaapiconvert/gstvaapiconvert.c:
35397         * sys/vaapiconvert/gstvaapiconvert.h:
35398           Add vaDeriveImage() optimization.
35399
35400 2010-03-18 15:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35401
35402         * gst-libs/gst/vaapi/gstvaapiimage.c:
35403           Fix gst_vaapi_image_create() from a foreign VA image.
35404
35405 2010-03-18 15:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35406
35407         * gst-libs/gst/vaapi/gstvaapiimage.c:
35408         * gst-libs/gst/vaapi/gstvaapiimage.h:
35409         * gst-libs/gst/vaapi/gstvaapisurface.c:
35410         * gst-libs/gst/vaapi/gstvaapisurface.h:
35411           Add gst_vaapi_surface_derive_image() API.
35412
35413 2010-03-18 13:49:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35414
35415         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35416         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35417         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35418           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().
35419
35420 2010-03-18 13:08:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35421
35422         * tests/test-windows.c:
35423           Try YV12 & I420 image formats too.
35424
35425 2010-03-18 12:59:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35426
35427         * gst-libs/gst/vaapi/gstvaapiimage.c:
35428           Split map/unmap functions into internal functions that don't check preconditions.
35429
35430 2010-03-18 12:56:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35431
35432         * gst-libs/gst/vaapi/gstvaapiimage.c:
35433           Improve gst_vaapi_image_new() sanity checks.
35434
35435 2010-03-18 12:52:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35436
35437         * tests/test-windows.c:
35438           Fix typo.
35439
35440 2010-03-18 08:45:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35441
35442         * sys/vaapiconvert/gstvaapiconvert.c:
35443           Check if our inout buffer is still alive or default to a separate output buffer.
35444
35445 2010-03-18 08:16:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35446
35447         * sys/vaapiconvert/gstvaapiconvert.c:
35448         * sys/vaapiconvert/gstvaapiconvert.h:
35449           Factor out buffers negotiation and optimization checks.
35450
35451 2010-03-18 08:02:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35452
35453         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35454         * gst-libs/gst/vaapi/gstvaapiimage.c:
35455         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35456         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35457         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35458         * sys/vaapiconvert/gstvaapiconvert.h:
35459           Use gtypes.
35460
35461 2010-03-17 10:43:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35462
35463         * gst-libs/gst/vaapi/gstvaapiimage.c:
35464           Optimize gst_vaapi_image_is_linear() and simplify gst_vaapi_image_update_from_buffer().
35465
35466 2010-03-17 07:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35467
35468         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35469         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35470         * gst-libs/gst/vaapi/gstvaapiimage.c:
35471         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35472         * gst-libs/gst/vaapi/gstvaapisurface.c:
35473         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35474           Add VA display locking utilities.
35475
35476 2010-03-17 07:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35477
35478         * sys/vaapisink/gstvaapisink.c:
35479           Initialize the X window in a ::set_caps() handler. Also fix build with GStreamer < 0.10.25. i.e. use preroll/render hooks.
35480
35481 2010-03-17 07:17:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35482
35483         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35484         * tests/test-windows.c:
35485           Don't show window by default during creation.
35486
35487 2010-03-17 06:49:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35488
35489         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35490           Fix gst_vaapi_window_x11_destroy().
35491
35492 2010-03-16 17:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35493
35494         * sys/vaapiconvert/gstvaapiconvert.c:
35495         * sys/vaapiconvert/gstvaapiconvert.h:
35496           Alias sink & src pad buffers whenever possible.
35497
35498 2010-03-16 17:57:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35499
35500         * gst-libs/gst/vaapi/gstvaapiimage.c:
35501         * gst-libs/gst/vaapi/gstvaapiimage.h:
35502           Extend GstVaapiImage API with *_get_image(), *_is_linear(), *_get_data_size().
35503
35504 2010-03-16 17:10:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35505
35506         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35507         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35508           Make GstVaapiVideoBuffer handle two pools. i.e. both image & surface at the same time.
35509
35510 2010-03-16 14:37:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35511
35512         * sys/vaapiconvert/gstvaapiconvert.c:
35513           Fix image & surface size cache.
35514
35515 2010-03-16 14:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35516
35517         * configure.ac:
35518           Move gstreamer-vaapi package versioning to the top.
35519
35520 2010-03-16 14:11:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35521
35522         * configure.ac:
35523           Bump version for development.
35524
35525 2010-03-16 14:07:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35526
35527         * configure.ac:
35528           Cosmetics (shorten lines).
35529
35530 2010-03-16 13:58:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35531
35532         * NEWS:
35533         * README:
35534           Update docs.
35535
35536 2010-03-16 13:53:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35537
35538         * debian/Makefile.am:
35539         * debian/changelog.in:
35540         * debian/compat:
35541         * debian/control.in:
35542         * debian/copyright:
35543         * debian/gstreamer-vaapi.install.in:
35544         * debian/libgstvaapi-dev.install.in:
35545         * debian/libgstvaapi-x11.install.in:
35546         * debian/libgstvaapi.install.in:
35547         * debian/rules:
35548           Add debian packaging.
35549
35550 2010-03-16 13:53:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35551
35552         * Makefile.am:
35553         * configure.ac:
35554           Add debian packaging.
35555
35556 2010-03-16 10:13:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35557
35558         * pkgconfig/Makefile.am:
35559           Silence GNU make extensions warning.
35560
35561 2010-03-16 09:59:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35562
35563         * configure.ac:
35564           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'
35565
35566 2010-03-16 09:57:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35567
35568         * Makefile.am:
35569         * configure.ac:
35570         * pkgconfig/Makefile.am:
35571         * pkgconfig/gstreamer-vaapi-x11.pc.in:
35572         * pkgconfig/gstreamer-vaapi.pc.in:
35573           Add pkgconfig files.
35574
35575 2010-03-16 09:39:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35576
35577         * configure.ac:
35578         * gst-libs/gst/vaapi/Makefile.am:
35579         * sys/vaapisink/Makefile.am:
35580         * tests/Makefile.am:
35581           Split X11 support to libgstvaapi-x11-*.so.*
35582
35583 2010-03-16 09:21:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35584
35585         * gst-libs/gst/vaapi/Makefile.am:
35586           Don't install private headers.
35587
35588 2010-03-16 09:18:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35589
35590         * gst-libs/gst/vaapi/gstvaapidebug.h:
35591         * gst-libs/gst/vaapi/gstvaapiutils.c:
35592         * gst-libs/gst/vaapi/gstvaapiutils.h:
35593           Fix header guards.
35594
35595 2010-03-16 09:17:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35596
35597         * gst-libs/gst/vaapi/Makefile.am:
35598         * gst-libs/gst/vaapi/gstvaapidebug.h:
35599         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35600         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35601         * gst-libs/gst/vaapi/gstvaapiimage.c:
35602         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
35603         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35604         * gst-libs/gst/vaapi/gstvaapisurface.c:
35605         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
35606         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35607         * gst-libs/gst/vaapi/gstvaapivideopool.c:
35608         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35609         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35610           Rename vaapi_debug.h to gstvaapidebug.h.
35611
35612 2010-03-16 09:15:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35613
35614         * gst-libs/gst/vaapi/Makefile.am:
35615         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35616         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35617         * gst-libs/gst/vaapi/gstvaapiimage.c:
35618         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35619         * gst-libs/gst/vaapi/gstvaapisurface.c:
35620         * gst-libs/gst/vaapi/gstvaapiutils.c:
35621         * gst-libs/gst/vaapi/gstvaapiutils.h:
35622         * gst-libs/gst/vaapi/vaapi_debug.h:
35623           Move vaapi_utils.* to gstvaapiutils.*
35624
35625 2010-03-16 09:13:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35626
35627         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35628           Cosmetics (remove an extra line).
35629
35630 2010-03-16 09:12:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35631
35632         * gst-libs/gst/vaapi/Makefile.am:
35633         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35634         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35635         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35636           Move X11 utilties to gstvaapiutils_x11.[ch].
35637
35638 2010-03-16 09:03:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35639
35640         * gst-libs/gst/vaapi/Makefile.am:
35641         * gst-libs/gst/vaapi/gstvaapivideosink.c:
35642         * gst-libs/gst/vaapi/gstvaapivideosink.h:
35643         * sys/vaapiconvert/gstvaapiconvert.c:
35644         * sys/vaapisink/gstvaapisink.c:
35645           Rename GstVaapiSinkBase to GstVaapiVideoSink.
35646
35647 2010-03-16 08:49:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35648
35649         * configure.ac:
35650         * tests/Makefile.am:
35651         * tests/examples/Makefile.am:
35652         * tests/examples/generic/Makefile.am:
35653         * tests/test-display.c:
35654         * tests/test-surfaces.c:
35655         * tests/test-windows.c:
35656           Move tests to top-level tests/ directory.
35657
35658 2010-03-16 08:43:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35659
35660         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35661         * gst-libs/gst/vaapi/gstvaapiimage.c:
35662         * sys/vaapiconvert/gstvaapiconvert.c:
35663         * sys/vaapiconvert/gstvaapiconvert.h:
35664           Handle I420 formats internally in GstVaapiImage.
35665
35666 2010-03-15 17:44:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35667
35668         * sys/vaapiconvert/gstvaapiconvert.c:
35669         * sys/vaapiconvert/gstvaapiconvert.h:
35670           Implement I420 (resp. YV12) with YV12 (resp. I420) if the driver does not.
35671
35672 2010-03-15 17:43:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35673
35674         * gst-libs/gst/vaapi/gstvaapiimage.c:
35675           Implement I420 and YV12 if the underlying implementation does not.
35676
35677 2010-03-15 17:10:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35678
35679         * sys/vaapiconvert/Makefile.am:
35680         * sys/vaapiconvert/gstvaapiconvert.c:
35681         * sys/vaapiconvert/gstvaapiconvert.h:
35682           Add initial vaapiconvert plugin.
35683
35684 2010-03-15 17:09:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35685
35686         * sys/vaapisink/gstvaapisink.c:
35687         * sys/vaapisink/gstvaapisink.h:
35688           Display frames.
35689
35690 2010-03-15 16:57:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35691
35692         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35693           Factor out.
35694
35695 2010-03-15 16:57:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35696
35697         * tests/examples/generic/test-windows.c:
35698           Generate R/G/B rects.
35699
35700 2010-03-15 16:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35701
35702         * gst-libs/gst/vaapi/gstvaapisurface.c:
35703         * gst-libs/gst/vaapi/gstvaapisurface.h:
35704           Add gst_vaapi_surface_sync().
35705
35706 2010-03-15 16:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35707
35708         * gst-libs/gst/vaapi/gstvaapiimage.c:
35709           Cosmetics (reverse args order).
35710
35711 2010-03-15 15:55:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35712
35713         * gst-libs/gst/vaapi/gstvaapiimage.c:
35714         * gst-libs/gst/vaapi/gstvaapiimage.h:
35715         * gst-libs/gst/vaapi/gstvaapisurface.c:
35716           Cosmetics.
35717
35718 2010-03-15 15:12:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35719
35720         * gst-libs/gst/vaapi/Makefile.am:
35721         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35722         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35723         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35724         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35725         * tests/examples/generic/Makefile.am:
35726         * tests/examples/generic/test-windows.c:
35727           Add VA/X11 window abstraction.
35728
35729 2010-03-15 14:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35730
35731         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35732         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35733           Add VA and X11 display accessors.
35734
35735 2010-03-15 14:57:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35736
35737         * gst-libs/gst/vaapi/gstvaapiimage.c:
35738           Fix preconditions.
35739
35740 2010-03-15 13:32:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35741
35742         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35743           Cosmetics.
35744
35745 2010-03-15 11:49:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35746
35747         * gst-libs/gst/vaapi/gstvaapiimage.c:
35748         * gst-libs/gst/vaapi/gstvaapiimage.h:
35749         * gst-libs/gst/vaapi/gstvaapisurface.c:
35750         * gst-libs/gst/vaapi/gstvaapisurface.h:
35751           Add gst_vaapi_{get,put}_image() API.
35752
35753 2010-03-15 10:27:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35754
35755         * gst-libs/gst/vaapi/gstvaapiimage.c:
35756         * gst-libs/gst/vaapi/gstvaapiimage.h:
35757           Add gst_vaapi_image_update_from_buffer() helper.
35758
35759 2010-03-12 23:53:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35760
35761         * sys/vaapisink/Makefile.am:
35762         * sys/vaapisink/gstvaapisink.c:
35763         * sys/vaapisink/gstvaapisink.h:
35764           Implement GstVaapiSinkBase interface and integrate with GST_DEBUG better.
35765
35766 2010-03-12 23:50:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35767
35768         * tests/examples/generic/Makefile.am:
35769         * tests/examples/generic/test-surfaces.c:
35770           Add surface tests.
35771
35772 2010-03-12 23:48:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35773
35774         * gst-libs/gst/vaapi/Makefile.am:
35775         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35776         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35777           Add basic GstVaapiVideoBuffer.
35778
35779 2010-03-12 23:47:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35780
35781         * gst-libs/gst/vaapi/Makefile.am:
35782         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
35783         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
35784         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
35785         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
35786         * gst-libs/gst/vaapi/gstvaapivideopool.c:
35787         * gst-libs/gst/vaapi/gstvaapivideopool.h:
35788           Add GstVaapiImagePool and factor out GstVaapiSurfacePool from a base GstVaapiVideoPool.
35789
35790 2010-03-12 22:32:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35791
35792         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35793           Simplify format conversion code.
35794
35795 2010-03-12 22:28:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35796
35797         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35798         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35799           Add gst_vaapi_image_format_from_caps() helper.
35800
35801 2010-03-12 17:45:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35802
35803         * gst-libs/gst/vaapi/Makefile.am:
35804         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
35805         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
35806           Add VA surface pool (lazy allocator).
35807
35808 2010-03-12 17:39:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35809
35810         * gst-libs/gst/vaapi/gstvaapisurface.c:
35811         * gst-libs/gst/vaapi/gstvaapisurface.h:
35812           Add gst_vaapi_surface_get_size() helper.
35813
35814 2010-03-12 10:52:08 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35815
35816         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35817           Avoid use of GstStaticCaps since older gstreamer versions (0.10.22) write to it.
35818
35819 2010-03-11 15:35:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35820
35821         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35822           Reset display-name if the user provided his own X11 display.
35823
35824 2010-03-11 15:21:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35825
35826         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35827         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35828         * tests/examples/generic/test-display.c:
35829           Add gst_vaapi_display_x11_new_with_display() API.
35830
35831 2010-03-11 15:04:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35832
35833         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35834         * gst-libs/gst/vaapi/gstvaapiimage.h:
35835         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35836         * gst-libs/gst/vaapi/gstvaapisurface.h:
35837           Fix *_GET_CLASS() definitions...
35838
35839 2010-03-11 15:01:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35840
35841         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35842         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35843         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35844         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35845         * tests/examples/generic/test-display.c:
35846           API change: gst_vaapi_display_x11_new() now takes an X11 display name.
35847
35848 2010-03-11 13:58:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35849
35850         * gst-libs/gst/vaapi/gstvaapisurface.c:
35851         * gst-libs/gst/vaapi/gstvaapisurface.h:
35852           Use GstVaapiChromaType abstraction.
35853
35854 2010-03-11 12:30:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35855
35856         * gst-libs/gst/vaapi/gstvaapiimage.c:
35857         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35858         * gst-libs/gst/vaapi/gstvaapisurface.c:
35859           New refcounting policy. All getters return a reference, not a copy. So the user shall reference the object itself, should he wish so.
35860
35861 2010-03-11 12:14:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35862
35863         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35864           Don't warn on failure, just return an appropriate error or value.
35865
35866 2010-03-11 12:11:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35867
35868         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35869         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35870         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35871           Filter out any format that is not supported by the library (libgstvaapi). Also sort the formats by HW preference.
35872
35873 2010-03-11 10:50:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35874
35875         * gst-libs/gst/vaapi/Makefile.am:
35876         * gst-libs/gst/vaapi/gstvaapisinkbase.c:
35877         * gst-libs/gst/vaapi/gstvaapisinkbase.h:
35878           Add helper interface that all VA-API sinks must implement. e.g. vaapisink.
35879
35880 2010-03-10 13:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35881
35882         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35883         * gst-libs/gst/vaapi/gstvaapiimage.c:
35884         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35885         * gst-libs/gst/vaapi/gstvaapisurface.c:
35886         * gst-libs/gst/vaapi/vaapi_debug.h:
35887           Use GST_DEBUG.
35888
35889 2010-03-10 13:10:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35890
35891         * gst-libs/gst/vaapi/gstvaapiimage.c:
35892         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35893           Fix GstVaapiImage and GstVaapiSubpicture initialization.
35894
35895 2010-03-10 13:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35896
35897         * gst-libs/gst/vaapi/gstvaapisurface.c:
35898           Fix GstVaapiSurface initialization, override constructed() method, not constructor(). GObject C is awful...
35899
35900 2010-03-10 12:25:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35901
35902         * tests/examples/generic/test-display.c:
35903           Dump caps.
35904
35905 2010-03-10 12:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35906
35907         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35908         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35909         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35910           Fix GstVaapiDisplay initialization.
35911
35912 2010-03-10 10:43:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35913
35914         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35915         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35916           Get VA image & subpicture formats as GstCaps.
35917
35918 2010-03-10 10:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35919
35920         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35921         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35922           Add helper to convert from GstVaapiImageFormat to GstCaps.
35923
35924 2010-03-09 12:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35925
35926         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35927         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35928         * gst-libs/gst/vaapi/gstvaapisurface.c:
35929           Cosmetics (drop unused variables).
35930
35931 2010-03-05 17:11:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35932
35933         * configure.ac:
35934         * sys/vaapiconvert/Makefile.am:
35935         * sys/vaapiconvert/gstvaapiconvert.c:
35936         * sys/vaapiconvert/gstvaapiconvert.h:
35937         * sys/vaapisink/Makefile.am:
35938         * sys/vaapisink/gstvaapisink.c:
35939         * sys/vaapisink/gstvaapisink.h:
35940           Add boilerplate for vaapiconvert and vaapisink elements.
35941
35942 2010-03-05 15:29:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35943
35944         * configure.ac:
35945         * sys/Makefile.am:
35946         * sys/vaapiconvert/Makefile.am:
35947           Add vaapiconvert element hierarchy.
35948
35949 2010-03-05 15:26:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35950
35951         * sys/vaapisink/Makefile.am:
35952           Rename to vaapisink.
35953
35954 2010-03-05 10:07:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35955
35956         * gst-libs/gst/vaapi/gstvaapisurface.c:
35957           Shorter code (and more correct).
35958
35959 2010-03-05 10:04:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35960
35961         * gst-libs/gst/vaapi/gstvaapisurface.c:
35962         * gst-libs/gst/vaapi/gstvaapisurface.h:
35963           Add helper to get GstVaapiDisplay from a surface.
35964
35965 2010-03-05 08:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35966
35967         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35968           Fix subpicture formats list length.
35969
35970 2010-03-04 17:41:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35971
35972         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35973         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35974           Add utilities to check whether a VA-API driver supports specific image or subpicture format. Likewise for VA profile.
35975
35976 2010-03-04 17:40:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35977
35978         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35979         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35980           Cosmetics (more checks, includes).
35981
35982 2010-03-04 17:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35983
35984         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35985         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35986           Really add VA subpicture abstraction.
35987
35988 2010-03-04 17:39:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35989
35990         * gst-libs/gst/vaapi/Makefile.am:
35991         * gst-libs/gst/vaapi/gstvaapiimage.c:
35992         * gst-libs/gst/vaapi/gstvaapiimage.h:
35993         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35994         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35995         * gst-libs/gst/vaapi/gstvaapisurface.c:
35996         * gst-libs/gst/vaapi/gstvaapisurface.h:
35997           Add VA surface, image, subpicture abstractions. Ported over from Gnash.
35998
35999 2010-01-25 16:15:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36000
36001         * configure.ac:
36002         * gst-libs/gst/vaapi/Makefile.am:
36003         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36004         * gst-libs/gst/vaapi/gstvaapidisplay.h:
36005         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
36006         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
36007         * gst-libs/gst/vaapi/vaapi_debug.h:
36008         * gst-libs/gst/vaapi/vaapi_utils.c:
36009         * gst-libs/gst/vaapi/vaapi_utils.h:
36010         * tests/examples/generic/Makefile.am:
36011         * tests/examples/generic/test-display.c:
36012           Add initial VA display abstraction.
36013
36014 2010-01-25 15:04:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36015
36016         * Makefile.am:
36017         * configure.ac:
36018         * tests/Makefile.am:
36019         * tests/examples/Makefile.am:
36020         * tests/examples/generic/Makefile.am:
36021           Add tests infrastructure.
36022
36023 2010-01-25 14:59:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36024
36025         * configure.ac:
36026           Clean up VA-API checks.
36027
36028 2010-01-25 13:49:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36029
36030         * configure.ac:
36031           Check for __attribute__((visibility("hidden"))).
36032