Merging gst-build
[platform/upstream/gstreamer.git] / subprojects / gstreamer-vaapi / ChangeLog
1 === release 1.19.2 ===
2
3 2021-09-23 01:35:54 +0100  Tim-Philipp Müller <tim@centricular.com>
4
5         * ChangeLog:
6         * NEWS:
7         * RELEASE:
8         * gstreamer-vaapi.doap:
9         * meson.build:
10           Release 1.19.2
11
12 2021-08-26 15:06:53 +0800  Zhang Yuankun <yuankunx.zhang@intel.com>
13
14         * gst/vaapi/gstvaapidecode.c:
15           vaapi: decoder: modify the condition to judge whether dma buffer is supported
16           It seems "GST_VAAPI_PLUGIN_BASE_SRC_PAD_CAN_DMABUF (decode)" will
17           return false even if this platform support the mem_type dma buffer.
18           And media-driver will return GST_VAAPI_BUFFER_MEMORY_TYPE_DMA_BUF2
19           on Gen12(such as TGL).
20           Without this patch, The command such as:
21           gst-launch-1.0 videotestsrc num-buffers=100 ! video/x-raw, format=I420 ! \
22           x264enc ! h264parse ! vaapih264dec ! video/x-raw\(memory:DMABuf\) ! fakesink
23           will return not-negotiated.
24           Signed-off-by: Zhang Yuankun <yuankunx.zhang@intel.com>
25           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/437>
26
27 2021-05-14 12:04:04 +0800  He Junyan <junyan.he@intel.com>
28
29         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30         * gst/vaapi/gstvaapivideocontext.c:
31           Display: Add a property to export the VA display handle.
32           Just like what we do in VA plugins. The display can be seen as a
33           generic gst object and we can add a property to get the internal
34           VA handle.
35           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/435>
36
37 2021-05-14 11:49:01 +0800  He Junyan <junyan.he@intel.com>
38
39         * gst/vaapi/gstvaapivideomemory.c:
40         * gst/vaapi/gstvaapivideomemory.h:
41           plugins: video memory: Add a GST_MAP_VAAPI flag to peek the surface.
42           Just like what we do in VA plugins, the GST_MAP_VAAPI can directly
43           peek the surface of the VA buffers. The old flag 0 just peek the
44           surface proxy, which may not be convenient for the users who do not
45           want to include our headers.
46           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/435>
47
48 2021-07-09 11:01:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
49
50         * gst/vaapi/gstvaapi.c:
51         * gst/vaapi/gstvaapidecode.c:
52           Revert "vaapi: Demote vaapidecodebin to rank NONE."
53           This reverts commit 7a25c5d4ec95aefeca6515ac023b23c5dd330194.
54           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/436>
55
56 2021-06-23 16:23:00 +0800  He Junyan <junyan.he@intel.com>
57
58         * gst/vaapi/gstvaapiencode.c:
59           plugins: encode: fix a deadlock because of _drain()
60           We call gst_vaapiencode_drain() in gst_vaapiencode_change_state(),
61           whose context does not hold the stream lock of the encoder. The
62           current gst_vaapiencode_drain inside unlock/lock pair adds a extra
63           lock count to the stream lock of encoder and causes hang later.
64           We just remove the gst_vaapiencode_drain() and expand its logic
65           correctly according to the lock/unlock context.
66           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/433>
67
68 2021-06-29 15:09:13 +0800  He Junyan <junyan.he@intel.com>
69
70         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
71           libs: decoder: av1: Clean the film_grain_info field.
72           We need to clean all film_grain_info fields when the film grain
73           feature is not enabled. It may have random data because the picture
74           parameter buffer is not cleaned.
75           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/434>
76
77 2021-06-03 22:12:04 +0800  He Junyan <junyan.he@intel.com>
78
79         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
80         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
81           libs: encoder: mpeg2: Add highP level for 1080@50p/60p.
82           The MPEG2 spec has amendment 3 to introduce a new level highP, which
83           is used for 1080@50p/60p streams. We need to add this level to avoid
84           encoding failure because of the level check.
85           Fix: #306
86           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/432>
87
88 2021-05-11 16:59:07 +0800  He Junyan <junyan.he@intel.com>
89
90         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
91           Decoder: H264: Add the support for frame packing arrangement SEI message.
92           Frame packing arrangement SEI message is an alternative simple stereo 3D
93           manner for AVC. We need to recognize that SEI message and report the correct
94           3D caps.
95           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/420>
96
97 2021-05-22 18:54:49 +0100  Tim-Philipp Müller <tim@centricular.com>
98
99         * gst-libs/gst/vaapi/gstvaapifilter.c:
100         * meson.build:
101           Use g_memdup2() where available and add fallback for older GLib versions
102           Alloc size is based on existing allocations and struct sizes.
103           g_memdup() is deprecated since GLib 2.68 and we want to avoid
104           deprecation warnings with recent versions of GLib.
105           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/431>
106
107 2021-06-01 15:29:16 +0100  Tim-Philipp Müller <tim@centricular.com>
108
109         * meson.build:
110           Back to development
111
112 === release 1.19.1 ===
113
114 2021-06-01 00:16:31 +0100  Tim-Philipp Müller <tim@centricular.com>
115
116         * ChangeLog:
117         * NEWS:
118         * RELEASE:
119         * gstreamer-vaapi.doap:
120         * meson.build:
121           Release 1.19.1
122
123 2021-04-23 19:01:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
124
125         * gst/vaapi/gstvaapi.c:
126         * gst/vaapi/gstvaapidecode.c:
127           vaapi: Demote vaapidecodebin to rank NONE.
128           One of the main reasons of vaapidecodebin was because it mitigated the
129           possible surface exhaustion. But that problem is currently
130           solved. Nowadays, vaapidecodebin brings more problems than it
131           solves. Thus this patch demotes vaapidecodebin to NONE rank while
132           bumping PRIMARY + 1 the most common decoders.
133           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/426>
134
135 2021-05-20 10:28:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
136
137         * gst/vaapi/gstvaapi.c:
138         * gst/vaapi/gstvaapioverlay.c:
139           plugins: Demote rank of vaapipostproc and vaapioverlay.
140           Since almost all video filters have rank NONE, these both elements
141           should be NONE too.
142           This is useful for autovideoconvert and other bins, and users might
143           force to use these by setting the environment variable
144           GST_PLUGIN_FEATURE_RANK.
145           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/429>
146
147 2021-04-21 10:55:45 +0200  François Laignel <fengalin@free.fr>
148
149         * tests/check/elements/vaapioverlay.c:
150           Use gst_element_request_pad_simple...
151           Instead of the deprecated gst_element_get_request_pad.
152           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/425>
153
154 2021-04-23 11:02:05 +0800  Zhang yuankun <yuankunx.zhang@intel.com>
155
156         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
157           libs: encoder: VP9: fix > 4k encode fail issue
158           The VP9 spec defines the MAX_TILE_WIDTH_B64(64), which is the maximum
159           width of a tile in units of superblocks. So the max width of one tile
160           should not be larger than 64x64=4096. When the width exceeds 4k, we
161           need to split it into multiple tiles in columns. The current vp9 encoder
162           does not handle this correctly.
163           The command such as:
164           gst-launch-1.0 videotestsrc ! video/x-raw,width=7680,height=4320 ! \
165           vaapivp9enc ! fakesink
166           will crash.
167           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/424>
168
169 2021-04-02 15:43:45 +0800  Haihao Xiang <haihao.xiang@intel.com>
170
171         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
172           libs: display: drm: don't fallback to default device if explicitly specified device can't load/init
173           Otherwise user will be misled that the specified device is using
174           This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/305
175           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/422>
176
177 2021-03-22 13:41:13 +0800  He Junyan <junyan.he@intel.com>
178
179         * gst-libs/gst/vaapi/gstvaapiencoder.c:
180         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
181         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
182           decoder: H265: Enable cu_qp_delta_enabled_flag when ROI
183           If ROI is enabled, the CUs within the ROI region may have different
184           QP from the other part of the picture. This needs us to enable the
185           cu_qp_delta_enabled_flag even in the CQP mode.
186           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/419>
187
188 2021-03-19 17:42:36 +1100  Matthew Waters <matthew@centricular.com>
189
190         * gst-libs/gst/vaapi/gstvaapicontext.c:
191         * gst-libs/gst/vaapi/gstvaapicontext.h:
192         * gst-libs/gst/vaapi/gstvaapiencoder.c:
193         * gst-libs/gst/vaapi/gstvaapifilter.c:
194         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
195         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
196         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
197         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
198         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
199         * gst-libs/gst/vaapi/gstvaapivalue.c:
200         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
201         * gst/vaapi/gstvaapipluginbase.c:
202         * gst/vaapi/gstvaapisink.c:
203         * gst/vaapi/gstvaapisink.h:
204         * gst/vaapi/gstvaapivideocontext.c:
205         * gst/vaapi/gstvaapivideomemory.c:
206         * tests/internal/simple-decoder.c:
207           gst: don't use volatile to mean atomic
208           volatile is not sufficient to provide atomic guarantees and real atomics
209           should be used instead.  GCC 11 has started warning about using volatile
210           with atomic operations.
211           https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
212           Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
213           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/418>
214
215 2021-02-24 17:41:02 +0100  Paul Goulpié <paul.goulpie@ubicast.eu>
216
217         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
218           gstvaapiencoder_h264: add ENCODER_EXPOSURE on aud propertie
219           forgot during the following mainline commit: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/commit/bc2f8fd19e924aa0e193708307326acd037691ce#
220           Signed-off-by: Paul Goulpié <paul.goulpie@ubicast.eu>
221
222 2021-02-04 15:05:55 +0800  He Junyan <junyan.he@intel.com>
223
224         * gst/vaapi/gstvaapipostproc.c:
225           plugins: postproc: Fix a problem of propose_allocation when passthrough.
226           We should query the downstream element to answer a precise allocation
227           query when the passthrough mode is enabled.
228           The current way still decides the allocation by the postproc itself. The
229           pipeline such as:
230           gst-launch-1.0 -v filesrc location=xxx.264 ! h264parse ! vaapih264dec ! \
231           vaapipostproc ! fakevideosink silent=false sync=true
232           will lose some info such as the GST_VIDEO_META_API_TYPE.
233           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/413>
234
235 2021-01-27 12:05:44 +0800  Haihao Xiang <haihao.xiang@intel.com>
236
237         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
238         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
239         * gst/vaapi/gstvaapivideocontext.c:
240           libs: display: drm: support gst.vaapi.app.Display context for drm backend
241           Attributes for drm backend:
242           - va-display : ponter of VADisplay
243           - drm-device-fd : the DRM device file descriptor
244           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/409>
245
246 2021-01-13 14:43:20 +0800  Haihao Xiang <haihao.xiang@intel.com>
247
248         * docs/index.md:
249         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
250           libs: display: drm: allow user specify a drm device via an env variable
251           Currently the default drm device is always used on a system with
252           multiple drm devices. This patch allows user to specify the required
253           drm device via GST_VAAPI_DRM_DEVICE env variable
254           Example:
255           GST_VAAPI_DRM_DEVICE=/dev/dri/renderD129 gst-launch-1.0 videotestsrc !
256           vaapih264enc ! fakesink
257           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/409>
258
259 2021-01-25 14:45:47 +0800  Haihao Xiang <haihao.xiang@intel.com>
260
261         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
262           libs: display: drm: fix set_device_path_from_fd
263           drmGetBusid() (GET_UNIQUE ioctl) won't return a valid bus id when
264           drmSetInterfaceVersion() (SET_VERSION ioctl) hasn't been called(see[1]),
265           so we can't get the right device path. Running test-display will get the
266           error below:
267           ** (test-display:18630): ERROR **: 10:26:00.434: could not create Gst/VA
268           display
269           Calling drmSetInterfaceVersion() before drmGetBusid() can't fix this
270           issue because a special permission is required for SET_VERSION ioctl.
271           This patch retrieves the device path from file descriptor via
272           g_file_read_link()
273           [1] https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/drm_ioctl.c#L48-L104
274           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/412>
275
276 2021-01-20 10:42:09 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
277
278         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
279           glx: Iterate over FBConfig and select 8 bit color size
280           Texture upload mechanism used by gstreamer-vaapi relies on 8 bpc.
281           In latest mesa versions the first fbconfig might not be 8 bit, so iterate
282           over it to find the correct config with supported values.
283           This also adds 8 bit alpha size to the framebuffer configuration which is
284           required to get it working properly.
285           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/410>
286
287 2021-01-11 09:57:03 +0800  Ung, Teng En <teng.en.ung@intel.com>
288
289         * gst-libs/gst/vaapi/gstvaapiutils.c:
290           vaapipostproc: fix code style.
291           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/407>
292
293 2020-12-21 05:42:00 +0000  Ung, Teng En <teng.en.ung@intel.com>
294
295         * gst-libs/gst/vaapi/gstvaapidisplay.c:
296         * gst-libs/gst/vaapi/gstvaapidisplay.h:
297         * gst-libs/gst/vaapi/gstvaapifilter.c:
298           vaapipostproc: Remove YUV to/from RGB color primary quirk since iHD driver has fixed in https://github.com/intel/media-driver/commit/a39fe9bc051a8c3efa8f35122a1585981ec7f816.
299           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/407>
300
301 2020-12-21 05:36:29 +0000  Ung, Teng En <teng.en.ung@intel.com>
302
303         * gst-libs/gst/vaapi/gstvaapiutils.c:
304           vaapipostproc: Added gstreamer BT2020 color standard support.
305           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/407>
306
307 2021-01-09 16:05:48 +0800  He Junyan <junyan.he@intel.com>
308
309         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
310           decoder: AV1: Fix a static analysis problem of update_state().
311           No need to check the picture pointer after we have already dereferenced it.
312           Fix: #298
313           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/408>
314
315 2020-12-22 23:43:52 +0800  He Junyan <junyan.he@intel.com>
316
317         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
318         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
319         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
320           libs: decoder: Add decode_with_surface_id for AV1 film_grain.
321           The AV1 film_graim feature needs two surfaces the same time for
322           decoding. One is for recon surface which will be used as reference
323           later, and the other one is for display. The GstVaapiPicture should
324           contain the surface for display, while the vaBeginPicture() need
325           the recon surface as the target.
326           We add a gst_vaapi_picture_decode_with_surface_id API to handle this
327           kind of requirement.
328           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/191>
329
330 2020-08-27 21:46:41 +0800  He Junyan <junyan.he@intel.com>
331
332         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
333         * gst-libs/gst/vaapi/gstvaapidecoder_av1.h:
334         * gst-libs/gst/vaapi/gstvaapiprofile.c:
335         * gst-libs/gst/vaapi/gstvaapiprofile.h:
336         * gst-libs/gst/vaapi/gstvaapiutils.c:
337         * gst-libs/gst/vaapi/meson.build:
338         * gst/vaapi/gstvaapidecode.c:
339         * meson.build:
340           libs: decoder: AV1: Add the av1 decoder support.
341           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/191>
342
343 2020-08-27 21:39:35 +0800  He Junyan <junyan.he@intel.com>
344
345         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
346         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
347         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
348         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
349           libs: codecobject: Add number of elements when create codec object.
350           One slice data may need several slice parameter buffers at one time.
351           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/191>
352
353 2020-12-12 10:30:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
354
355         * gst/vaapi/gstvaapidecodebin.c:
356         * gst/vaapi/gstvaapipluginbase.c:
357         * gst/vaapi/gstvaapivideobufferpool.c:
358           vaapi: use gst_clear_object instead of g_clear_object
359           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/406>
360
361 2020-12-08 13:34:35 +0800  He Junyan <junyan.he@intel.com>
362
363         * gst/vaapi/gstvaapiencode.c:
364           plugins: encode: unlock the stream lock before _flush()
365           The current encoder will hang when EOS comes. When we call the
366           gst_vaapi_encoder_encode_and_queue(), we should release the stream
367           lock, just like what we do in gst_vaapiencode_handle_frame().
368           The deadlock happens when: The input thread holding the stream lock
369           is using gst_vaapi_encoder_create_coded_buffer() to acquire a coded
370           buffer, while the output thread which holding the coded buffer resource
371           is acquiring the stream lock in _push_frame() to push the data to
372           down stream element.
373           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/404>
374
375 2020-12-09 00:04:33 +0800  He Junyan <junyan.he@intel.com>
376
377         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
378           libs: encoder: H264: Fix one assert in get_pending_reordered().
379           gst_vaapi_encoder_h264_get_pending_reordered() does not consider the
380           case for HIERARCHICAL_B mode. The pipeline:
381           gst-launch-1.0  videotestsrc num-buffers=48 ! vaapih264enc prediction-type=2 \
382           keyframe-period=32 ! fakesink
383           get a assert:
384           ERROR:../gst-libs/gst/vaapi/gstvaapiencoder_h264.c:1996:reflist1_init_hierarchical_b:
385           assertion failed: (count != 0)
386           The last few B frames are not fetched in correct order when HIERARCHICAL_B
387           is enabled.
388           We also fix a latent bug for normal mode. The g_queue_pop_tail() of B frames
389           make the last several frames encoded in reverse order. The NAL of last few
390           frames come in reverse order in the bit stream, though it can still output
391           the correct image.
392           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/405>
393
394 2020-06-25 16:25:21 +0800  He Junyan <junyan.he@hotmail.com>
395
396         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
397         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
398           libs: encoder: H265: Add screen content coding extensions support.
399           In scc mode, the I frame can ref to itself and it needs the L0 reference
400           list enabled. So we should set the I frame to P_SLICE type. We do not need
401           to change the ref_pic_list0/1 passed to VA driver, just need to enable the
402           VAEncPictureParameterBufferHEVC->pps_curr_pic_ref_enabled_flag to notify
403           the driver consider the current frame as reference. For bits conformance,
404           the NumRpsCurrTempList0 should be incremented by one to include the current
405           picture as the reference frame. We manually do it when packing the slice header.
406           Command line like:
407           gst-launch-1.0  videotestsrc num-buffers=10 ! \
408           capsfilter caps=video/x-raw,format=NV12, framerate=30/1,width=640,height=360 ! \
409           vaapih265enc ! capsfilter caps=video/x-h265,profile="{ (string)screen-extended-main }" ! \
410           filesink location=out.265
411           Can be used to specify that the encoder should use SCC profiles.
412           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/379>
413
414 2020-07-11 23:37:29 +0800  He Junyan <junyan.he@intel.com>
415
416         * gst/vaapi/gstvaapiencode_vp9.c:
417           plugin: encode: vp9: Implement the set_config().
418           We store the allowed profiles list to encoder in set_config().
419           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
420
421 2020-07-11 23:39:40 +0800  He Junyan <junyan.he@intel.com>
422
423         * gst/vaapi/gstvaapiencode_vp9.c:
424           plugin: encode: vp9: Add the profile into output caps.
425           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
426
427 2020-07-11 23:27:21 +0800  He Junyan <junyan.he@intel.com>
428
429         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
430           libs: encoder: vp9: no need to ensure_hw_profile.
431           Once we decide the profile and can get the valid entrypoint for
432           that profile, hw must already support this profile/entrypoint pair.
433           No need to check it again in set_context_info().
434           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
435
436 2020-07-11 23:22:55 +0800  He Junyan <junyan.he@intel.com>
437
438         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
439           libs: encoder: vp9: Improve the manner to decide the profile.
440           We should decide the VP9 encoder's profile based on the chroma and
441           depth of the input format, then make sure it is included in the
442           allowed list.
443           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
444
445 2020-07-11 23:17:02 +0800  He Junyan <junyan.he@intel.com>
446
447         * gst-libs/gst/vaapi/gstvaapiutils_vpx.c:
448         * gst-libs/gst/vaapi/gstvaapiutils_vpx.h:
449           libs: util: vpx: add get_chroma_format_idc for VP9
450           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
451
452 2020-07-11 23:09:59 +0800  He Junyan <junyan.he@intel.com>
453
454         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
455         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
456           libs: encoder: vp9: Add allowed_profiles.
457           We need the allowed_profiles to store the allowed profiles in down
458           stream's caps.
459           Command line like:
460           vaapivp9enc ! capsfilter caps=video/x-vp9,profile="{ (string)1, \
461           (string)3 }"
462           We need to store GST_VAAPI_PROFILE_VP9_1 and GST_VAAPI_PROFILE_VP9_3
463           in this list.
464           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
465
466 2020-11-30 18:00:30 +0800  He Junyan <junyan.he@intel.com>
467
468         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
469           libs: decoder: H265: Fix a typo in scc reference setting.
470           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/402>
471
472 2020-07-17 18:00:30 +0800  He Junyan <junyan.he@intel.com>
473
474         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
475         * gst-libs/gst/vaapi/gstvaapiprofile.c:
476         * gst-libs/gst/vaapi/gstvaapiprofile.h:
477         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
478         * gst-libs/gst/vaapi/video-format.c:
479         * gst/vaapi/gstvaapidecode.c:
480           libs: decoder: H265: Add MAIN_422_12 profile supporting.
481           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
482
483 2020-07-31 14:38:42 +0800  He Junyan <junyan.he@intel.com>
484
485         * gst-libs/gst/vaapi/gstvaapiimage.c:
486         * gst-libs/gst/vaapi/video-format.c:
487         * gst-libs/gst/vaapi/video-format.h:
488           video-format: Add Y212_LE format.
489           It can be used as HEVC YUV_4:2:2 12bits stream's decoder output, and
490           also can be used as the input format for encoding HEVC YUV_4:2:2 12bits
491           stream.
492           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
493
494 2020-07-30 23:21:06 +0800  He Junyan <junyan.he@intel.com>
495
496         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
497         * gst-libs/gst/vaapi/gstvaapiprofile.c:
498         * gst-libs/gst/vaapi/gstvaapiprofile.h:
499         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
500         * gst-libs/gst/vaapi/video-format.c:
501         * gst/vaapi/gstvaapidecode.c:
502           libs: decoder: H265: Add MAIN_444_12 profile supporting.
503           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
504
505 2020-07-30 23:13:10 +0800  He Junyan <junyan.he@intel.com>
506
507         * gst-libs/gst/vaapi/gstvaapiimage.c:
508         * gst-libs/gst/vaapi/video-format.c:
509         * gst-libs/gst/vaapi/video-format.h:
510           video-format: Add Y412_LE format.
511           It can be used as HEVC YUV_4:4:4 12bits stream's decoder output, and
512           also can be used as the input format for encoding HEVC YUV_4:4:4 12bits
513           stream.
514           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
515
516 2020-09-17 16:47:43 +0800  He Junyan <junyan.he@intel.com>
517
518         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
519           libs: decoder: h265: fill missing predictor_palette_size field.
520           The predictor_palette_size of VAPictureParameterBufferHEVCScc is
521           forgotten and need to be filled when streams have palettes.
522           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/396>
523
524 2020-09-17 15:35:11 +0800  He Junyan <junyan.he@intel.com>
525
526         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
527           libs: utils: h265: Use get_profile_from_sps to get profile.
528           We now use gst_h265_get_profile_from_sps() to replace the old way
529           of gst_h265_profile_tier_level_get_profile() to get more precise
530           profile. The new function consider the unstandard cases and give
531           a more suitable profile decision.
532           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/395>
533
534 2020-10-19 13:46:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
535
536         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
537           libs: decoder: vp9: 0xff segment pred probs if no temporal update
538           According to the spec (6.2.11 Segmentation params syntax)
539           segmentation_pred_prob[i] ast to be 0xff if not temporal_update.
540           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/400>
541
542 2020-10-19 13:42:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
543
544         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
545           libs: decoder: vp9: avoid reference rewriting
546           The removed code set all the reference frames to the current frame it is a key
547           one, but later, all the reference frames were rewritten with the decoded picture
548           buffers or VA_INVALID_SURFACE if they were not available.
549           Basically, all this time the first reference frame assignment has been ignored,
550           and it's not described by the spec, and this patch removes that code.
551           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/400>
552
553 2020-09-20 09:56:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
554
555         * gst/vaapi/gstvaapidecode.c:
556           decoder: don't reply src caps query with allowed if pad is fixed
557           If the pad is already fixed the caps query have to be reply with the
558           current fixed caps. Otherwise the query has to be replied with the
559           autogeneratd src caps.
560           This path fix this by falling back to the normal caps query processing
561           if the pad is already fixed. Otherwise it will fetch the allowed src
562           pad caps.
563           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/397>
564
565 2020-09-15 00:11:30 +0800  He Junyan <junyan.he@intel.com>
566
567         * gst/vaapi/gstvaapidecode.c:
568           plugins: decode: fix a DMA caps typo in ensure_allowed_srcpad_caps.
569           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/392>
570
571 2020-09-01 09:31:33 +0200  Marc Leeman <m.leeman@televic.com>
572
573         * gst/vaapi/gstvaapisink.c:
574           vaapisink: when updating the caps, reset rotation
575           When an element upstream changes settings (e.g. crop), new caps are sent
576           to vaapisink. When vaapisink was rotating the image, it needs to
577           re-evaluate if the sink needs to rotate the image.
578           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/389>
579
580 2020-09-08 17:31:02 +0100  Tim-Philipp Müller <tim@centricular.com>
581
582         * .gitlab-ci.yml:
583           ci: include template from gst-ci master branch again
584
585 2020-09-08 16:59:07 +0100  Tim-Philipp Müller <tim@centricular.com>
586
587         * meson.build:
588           Back to development
589
590 === release 1.18.0 ===
591
592 2020-09-08 00:09:51 +0100  Tim-Philipp Müller <tim@centricular.com>
593
594         * .gitlab-ci.yml:
595         * ChangeLog:
596         * NEWS:
597         * RELEASE:
598         * gstreamer-vaapi.doap:
599         * meson.build:
600           Release 1.18.0
601
602 2020-09-07 12:15:43 +0300  Sebastian Dröge <sebastian@centricular.com>
603
604         * gst-libs/gst/vaapi/gstvaapifilter.c:
605           Update for gst_video_transfer_function_*() function renaming
606           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/391>
607
608 2020-08-22 12:53:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
609
610         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
611         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
612           Revert "libs: decoder: h264, h265: in context at least 16 reference surfaces"
613           This reverts commit b387081a4d77d3da202da72686ab40fb9c83ee1e as discussed in
614           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/commit/b387081a4d77d3da202da72686ab40fb9c83ee1e
615
616 === release 1.17.90 ===
617
618 2020-08-20 16:16:25 +0100  Tim-Philipp Müller <tim@centricular.com>
619
620         * ChangeLog:
621         * NEWS:
622         * RELEASE:
623         * gstreamer-vaapi.doap:
624         * meson.build:
625           Release 1.17.90
626
627 2020-08-17 11:43:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
628
629         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
630           libs: surface: egl: guard memory type
631           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/384>
632
633 2020-08-17 19:26:43 +0800  He Junyan <junyan.he@intel.com>
634
635         * gst/vaapi/gstvaapidecode.c:
636           plugin: decode: Fix two mem leaks because of caps.
637           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/385>
638
639 2020-08-16 01:57:15 +0800  He Junyan <junyan.he@intel.com>
640
641         * gst/vaapi/gstvaapivideomemory.c:
642           plugin: allocator: No need to ref allocator when create mem.
643           We do not need to ref the allocator when creating GstVaapiVideoMemory
644           kind memory, and then release it in _free(). The framework already
645           does it for us.
646           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/383>
647
648 2020-08-14 10:42:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
649
650         * gst/vaapi/gstvaapiencode_h264.c:
651           vaapiencode: h264: ignore level without breaking negotiation
652           Since commit 9f627ef2 if the user sets level in the encoder src caps
653           the caps negotiation is rejected.
654           But since the same commit the same encoder set the autoconfigured
655           level in caps. Some change in the base class might fixed the operation
656           order so now the caps are set and later negotiated.
657           This patch removes the level check.
658           Fixes: #273
659           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/382>
660
661 2019-07-09 19:17:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
662
663         * gst-libs/gst/vaapi/egl_vtable.h:
664         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
665         * gst-libs/gst/vaapi/gstvaapisurface_egl.h:
666         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
667           libs: egl: surface: export EGLImage as DMABuf if GEM not supported
668           This code path is used when frames are rendered as textures through
669           GstVideoGLTextureUploadMeta with EGL, mainly under Wayland.
670           Originally the EGLImage was exported as GEM, which was handled by
671           Intel drivers, but Gallium ones cannot create VA surfaces from
672           GEM buffers, only DMABuf.
673           This patch checks the memory types supported by VA driver to choose
674           the render the EGLImages from GEM or DMABuf, because GEM is still
675           better where supported.
676           DMABuf is well handled either by intel-vaapi-driver and gallium.
677           Fixes: #137
678           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/122>
679
680 2020-05-26 16:18:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
681
682         * gst-libs/gst/vaapi/gstvaapifilter.c:
683         * gst-libs/gst/vaapi/gstvaapifilter.h:
684           libs: filter: gst_vaapi_filter_get_memory_types()
685           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/122>
686
687 2020-08-12 18:48:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
688
689         * gst/vaapi/gstvaapipluginbase.c:
690         * gst/vaapi/gstvaapipluginbase.h:
691           plugins: remove gst_vaapi_plugin_base_get_allowed_srcpad_raw_caps()
692           Since nobody uses it, just remove it.
693           Thus extract_allowed_surface_formats() is refactored to attend only
694           gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps().
695           Now a surface is created when the image chorma is different from the
696           previous one. And if the driver has the quirk, it outputs all the
697           supported image formats without trying them.
698           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/381>
699
700 2020-08-12 17:50:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
701
702         * gst/vaapi/gstvaapidecode.c:
703           vaapidecode: expose raw src caps with same chroma
704           The try-and-error approach for getting the possible image formats from
705           a surface has brought several problems in different drivers, from
706           crashes to drop in performance.
707           Instead of that we change the algorithm to determine the possible
708           image formats based in the surface chroma: only those available image
709           formats with same chroma are exposed as possible raw caps.
710           Do this is important to avoid performance degrading in raw sinks
711           which doesn't handle NV12 but it does YV12 or I420.
712           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/381>
713
714 2020-07-10 17:05:38 +0800  He Junyan <junyan.he@intel.com>
715
716         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
717           libs: util: h265: use common parser API to get vaapi profiles.
718           We can reuse H265 parser's API to recognize the correct profile and
719           then just need to convert them to VAAPI profiles.
720           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/356>
721
722 2020-08-07 16:41:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
723
724         * gst-libs/gst/vaapi/meson.build:
725         * gst/vaapi/meson.build:
726         * meson.build:
727           build: update for gl pkg-config file split
728           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/378>
729
730 2020-08-06 12:51:27 +0800  Xu Guangxin <guangxin.xu@intel.com>
731
732         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
733           h264dec: mark remaining frames as unreference before exec_picture_refs_modification
734           8.2.4.2 required this. Some clips will crash if we do not fill the reference list like this.
735           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/376>
736
737 2020-07-31 18:22:46 +0800  He Junyan <junyan.he@intel.com>
738
739         * gst-libs/gst/vaapi/gstvaapiencoder.c:
740         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
741         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
742           libs: encoder: H265: Enable Main 12 profile support.
743           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/375>
744
745 2020-07-31 19:17:39 +0800  He Junyan <junyan.he@intel.com>
746
747         * gst-libs/gst/vaapi/video-format.c:
748           video format: Fix P012_LE's chrome type typo.
749           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/375>
750
751 2020-08-04 21:15:01 +0300  Jordan Petridis <jordan@centricular.com>
752
753         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
754           gstvaapiminiobject.c:   fix clang 10 warnings
755           the typesystem checks in g_atomic_pointer_compare_and_exchange
756           seem to trigger some false positives with clang 10
757           similar to gstreamer!584
758           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/377>
759
760 2020-07-31 11:07:23 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
761
762         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
763           libs: window: wayland: destroy all wayland buffers during finalize
764           Some buffers and the associated FrameState state may still be pending at
765           that point. If the wayland connection is shared, then messages for the
766           buffer may still arrive. However, the associated event queue is already
767           deleted. So the result is a crash.
768           With a private connection the associated memory is leaked instead.
769           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
770
771 2020-06-18 20:25:18 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
772
773         * tests/examples/test-vaapicontext.c:
774           test: vaapicontext: fix draw callback with multiple videos
775           The callback is called for both windows. So make sure that
776           gst_video_overlay_set_render_rectangle() is called for the correct one.
777           Otherwise, the left video will be randomly moved behind the right video.
778           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
779
780 2020-06-19 09:23:52 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
781
782         * tests/examples/meson.build:
783         * tests/examples/test-vaapicontext.c:
784           test: vaapicontext: support wayland display
785           On Wayland, The whole gtk window is one Wayland surface. So
786           gtk_widget_get_window() must be called on the top-level widget.
787           For any other widget the following gdk_window_ensure_native() may create a
788           new top-level Wayland surface that is never visible.
789           As a result, the coordinates passed to
790           gst_video_overlay_set_render_rectangle() must be relativ to the top-level
791           window. Otherwise the video is placed incorrectly.
792           Original-Patch-By: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
793           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
794
795 2017-12-01 20:18:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
796
797         * tests/examples/test-vaapicontext.c:
798           test: vaapicontext: use playbin to test files
799           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
800
801 2017-11-29 11:11:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
802
803         * tests/examples/test-vaapicontext.c:
804           test: vaapicontext: add PLAY and NULL buttons
805           They only appear when only one sink is instanciated and their purpose
806           is to test the NULL-PLAY use case in context sharing.
807           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
808
809 2020-06-19 21:26:52 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
810
811         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
812           libs: wayland: update the opaque region in set_render_rect
813           gst_vaapi_window_wayland_set_render_rect() may be called from an arbitrary
814           thread. That thread may be responsible for making the window visible.
815           At that point another thread will block in gst_vaapi_window_wayland_sync()
816           because the frame callback will not be called until the window is visible.
817           If that happens, then acquiring the display lock in
818           gst_vaapi_window_wayland_set_render_rect() would result in a deadlock.
819           Cache the size of the opaque rectangle separately and create the opaque
820           region right before applying it to the surface.
821           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
822
823 2020-06-19 09:21:16 +0200  Hyunjun Ko <zzoon@igalia.com>
824
825         * gst-libs/gst/vaapi/gstvaapiwindow.c:
826         * gst-libs/gst/vaapi/gstvaapiwindow.h:
827         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
828         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
829         * gst/vaapi/gstvaapisink.c:
830           libs: window: implements gst_vaapi_window_set_render_rectangle
831           Implements new vmethod gst_vaapi_window_set_render_rectangle,
832           which is doing set the information of the rendered rectangle set by
833           user.
834           This is necessary on wayland at least to get exact information of
835           external surface.
836           And vaapisink calls this when gst_video_overlay_set_render_rectangle is
837           called.
838           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
839
840 2017-11-08 13:23:39 +0900  Hyunjun Ko <zzoon@igalia.com>
841
842         * gst/vaapi/gstvaapisink.c:
843           vaapisink: implements gst_vaapisink_wayland_create_window_from_handle()
844           Implements gst_vaapisink_wayland_create_window_from_handle() to support
845           using external wl_surface.
846           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
847
848 2020-06-19 09:11:20 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
849
850         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
851         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
852         * gst-libs/gst/vaapi/gstvaapiwindow.c:
853         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
854         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
855           libs: wayland: implement video overlay API
856           The Wayland sub-surfaces API is used to embed the video into an application
857           window.
858           See Appendix A. Wayland Protocol Specification as the following.
859           """
860           The aim of sub-surfaces is to offload some of the compositing work
861           within a window from clients to the compositor. A prime example is
862           a video player with decorations and video in separate wl_surface
863           objects.
864           This should allow the compositor to pass YUV video buffer processing to
865           dedicated overlay hardware when possible.
866           """
867           Added new method gst_vaapi_window_wayland_new_with_surface()
868           Original-Patch-By: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
869           Zhao Halley <halley.zhao@intel.com>
870           changzhix.wei@intel.com
871           Hyunjun Ko <zzoon@igalia.com>
872           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
873
874 2020-06-19 21:54:52 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
875
876         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
877           doc: libs: wayland: add 'transfer full' to the returnvalye of gst_vaapi_window_wayland_new
878           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
879
880 2020-06-11 08:25:57 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
881
882         * gst-libs/gst/vaapi/gstvaapidisplay.c:
883           libs: display: always call close_display()
884           All close_display() have their own checks for use_foreign_display and only
885           destroy locally created objects in that case.
886           Without this objects other than the actuall foreign display itself are
887           leaked.
888           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
889
890 2020-07-30 23:37:10 +0800  He Junyan <junyan.he@intel.com>
891
892         * gst-libs/gst/vaapi/video-format.h:
893           video-format: Add the missing P012_LE into GST_VAAPI_FORMATS_ALL.
894           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/373>
895
896 2020-05-25 17:02:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
897
898         * gst/vaapi/gstvaapidecode.c:
899         * gst/vaapi/gstvaapipluginutil.c:
900         * gst/vaapi/gstvaapipluginutil.h:
901           plugins: add gst_vaapi_caps_set_width_and_height_range()
902           This utility function is called internally by
903           gst_vaapi_build_caps_from_formats() and can be used outside.
904           This function sets frame size and framerates ranges.
905           Also gst_vaapi_build_caps_from_formats() is simplified.
906           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/374>
907
908 2020-07-31 15:27:38 +0800  He Junyan <junyan.he@intel.com>
909
910         * gst-libs/gst/vaapi/gstvaapidecoder.c:
911           libs: decoder: fix a crash issue when get_surface_formats.
912           Some context does not report any valid format that we can support.
913           For example, the HEVC 444 12 bits decoder context, all the formats
914           it reports is not supported now, which make the formats list a NULL
915           array. We should check that pointer before we use it.
916           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/372>
917
918 2020-07-03 19:28:28 +0800  He Junyan <junyan.he@intel.com>
919
920         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
921           libs: encoder: h265: choose the profile based on allowed list.
922           We can decide the profile in ensure_profile(), based on allowed list
923           passed by the encode. We also need to check whether the entrypoint is
924           available. Once it is decided, no need to check the hw entrypoint
925           them again.
926           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
927
928 2020-07-29 22:05:41 +0800  He Junyan <junyan.he@intel.com>
929
930         * gst/vaapi/gstvaapiencode_h265.c:
931           plugins: encode: h265: set all allowed profiles to encoder.
932           We should collect all allowed profiles and pass them to the inside
933           encoder, rather than just calculate the max profile idc.
934           The allowed profiles should also be supported by the HW.
935           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
936
937 2020-07-29 22:32:55 +0800  He Junyan <junyan.he@intel.com>
938
939         * gst-libs/gst/vaapi/gstvaapidisplay.c:
940         * gst-libs/gst/vaapi/gstvaapidisplay.h:
941           libs: display: Add a helper function to get profiles by codec.
942           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
943
944 2020-07-03 01:28:28 +0800  He Junyan <junyan.he@intel.com>
945
946         * gst/vaapi/gstvaapiencode_h265.c:
947           plugins: encode: h265: collect all allowed profiles to encoder.
948           We should collect all allowed profiles and pass them to the inside
949           encoder, rather than just calculate the max profile idc.
950           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
951
952 2020-07-03 00:53:31 +0800  He Junyan <junyan.he@intel.com>
953
954         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
955         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
956         * gst/vaapi/gstvaapiencode_h265.c:
957           libs: encoder: h265: modify set_max_profile to set_allowed_profiles.
958           In h265, bigger profile idc may not be compatible with the small profile
959           idc. And more important, there are multi profiles with the same profile
960           idc. Such as main-422-10, main-444 and main-444-10, they all have profile
961           idc 4.
962           So recording the max profile idc is not enough, the encoder needs to know
963           all allowed profiles when deciding the real profile.
964           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
965
966 2020-07-02 23:33:31 +0800  He Junyan <junyan.he@intel.com>
967
968         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
969           libs: encoder: h265: No need to check hw_max_profile.
970           In h265, higher profile idc number does not mean better compression
971           performance and may be not compatible with the lower profile idc.
972           So, it is not suitable to find the heighest idc for hw to ensure the
973           compatibility.
974           On the other side, when the entrypoint of the selected profile is valid,
975           it means the hw really support this profile, no need to check it again.
976           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
977
978 2020-04-08 19:41:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
979
980         * gst/vaapi/gstvaapipostproc.c:
981           vaapipostproc: early return if fixate srcpad caps fails
982           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/371>
983
984 2020-07-29 13:39:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
985
986         * gst/vaapi/gstvaapipluginutil.c:
987           vaapipluginutil: simplify gst_vaapi_find_preferred_caps_feature()
988           Generalize the way how the preferred color format is chosen. Also
989           use new GStreamre API as syntatic sugar.
990           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/370>
991
992 2020-07-29 14:22:18 +0800  He Junyan <junyan.he@intel.com>
993
994         * gst-libs/gst/vaapi/gstvaapidecoder.c:
995         * gst-libs/gst/vaapi/gstvaapiprofile.c:
996         * gst-libs/gst/vaapi/gstvaapiprofile.h:
997         * gst/vaapi/gstvaapidecode.c:
998         * gst/vaapi/gstvaapiencode.c:
999           libs: profile: Use get_codec_from_caps to get codec type.
1000           There is no need to get a profile from the caps and then convert
1001           that profile into codec type. We can get the codec type by caps's
1002           name easily.
1003           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/358>
1004
1005 2020-07-12 19:42:40 +0800  He Junyan <junyan.he@intel.com>
1006
1007         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1008           libs: profile: h265: Fix return value of from_codec_data_h265.
1009           profile_from_codec_data_h265() returns wrong GstVaapiProfile for h265.
1010           The codec data of caps contain the profile IDC, but the mapping between
1011           profile IDC and GstVaapiProfile is wrong.
1012           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/358>
1013
1014 2020-07-07 00:46:23 +0800  He Junyan <junyan.he@intel.com>
1015
1016         * gst/vaapi/gstvaapiencode_vp9.c:
1017           plugins: encode: vp9: Implement vp9's allowed_profiles() func.
1018           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/188>
1019
1020 2020-07-08 16:30:17 +0800  He Junyan <junyan.he@intel.com>
1021
1022         * gst/vaapi/gstvaapiencode_h264.c:
1023         * gst/vaapi/gstvaapiencode_h265.c:
1024         * gst/vaapi/gstvaapipluginutil.c:
1025         * gst/vaapi/gstvaapipluginutil.h:
1026           plugin: util: rename h26x_encoder_get_profiles_from_caps().
1027           Change its name to encoder_get_profiles_from_caps(). Other codecs such
1028           as VP9 also needs to use this function.
1029           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/188>
1030
1031 2020-07-06 23:35:12 +0800  He Junyan <junyan.he@intel.com>
1032
1033         * gst-libs/gst/vaapi/gstvaapiutils_vpx.c:
1034         * gst-libs/gst/vaapi/gstvaapiutils_vpx.h:
1035         * gst-libs/gst/vaapi/meson.build:
1036           libs: utils: vpx: Add utils vpx to handle VP8/9 misc things.
1037           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/188>
1038
1039 2020-07-29 10:17:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1040
1041         * gst-libs/gst/vaapi/gstvaapicontext.c:
1042         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1043         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1044           libs: display, context: handle broken jpeg decoder for i965 driver
1045           JPEG decoding in i965 driver is pretty much broken, and the driver is
1046           deprecated which mean authors only accept trivial fixes.
1047           Surfaces for JPEG decoder context in i965 only handle IMC3[1] color
1048           format which is not a common format in GStreamer. It can export it to
1049           I420 at mapping raw bytes, but DMABuf exporting is problematic.
1050           This patch artificially adds NV12 to the context format list when it's
1051           JPEG decoder for i965 and force the usage of old VA-API for surface
1052           creation without specifying color format. Also it artificially
1053           disables the DMABuf announcement.
1054           1. https://docs.microsoft.com/en-us/windows/win32/medfound/recommended-8-bit-yuv-formats-for-video-rendering#420-formats-16-bits-per-pixel
1055           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/369>
1056
1057 2020-07-29 12:02:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1058
1059         * gst-libs/gst/vaapi/gstvaapicontext.c:
1060           libs: context: change function to internal code style
1061           Instead of a getter the function `get_preferred_format()` to
1062           `ensure_preferred_format()` which aligns to the code style.
1063           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/369>
1064
1065 2020-07-28 20:00:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1066
1067         * gst/vaapi/gstvaapidecode.c:
1068           vaapidecode: always merge profile caps in sink caps
1069           This commit fixes a regression of e962069d, where if the profile's
1070           caps doesn't have a caps profile, it's ignored.
1071           This patch add a conditional jump if the caps doesn't have a profile
1072           field to merge it.
1073           Fixes: #271
1074           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/368>
1075
1076 2020-07-28 12:22:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1077
1078         * meson.build:
1079           build: request libdrm >= 2.4.98 and fallback
1080           Fixes: #270
1081           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/367>
1082
1083 2020-05-18 17:32:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1084
1085         * gst/vaapi/gstvaapidecode.c:
1086           vaapidecode: dma caps only use reported color format
1087           This fix pipelines without vaapipostproc after vaapi decoder, such as
1088           gst-launch-1.0 filesrc location=~/file.mp4 ! parsebin ! vaapih264dec ! glimagesink
1089           On EGL platforms, so DMABuf is used.
1090           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1091
1092 2020-02-07 17:10:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1093
1094         * gst/vaapi/gstvaapidecode.c:
1095           vaapidecode: use allowed srcpad caps for caps query
1096           Instead of using just the template caps use the current allowed
1097           srcpad caps, which is created considering the current decoder
1098           context.
1099           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1100
1101 2020-01-22 17:41:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1102
1103         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1104         * gst-libs/gst/vaapi/gstvaapidecoder.h:
1105         * gst/vaapi/gstvaapidecode.c:
1106           vaapidecode: build allowed srcpad caps from va context
1107           Instead of generating allowed srcpad caps with generic information,
1108           now it takes the size an formats limits from the decoder's context.
1109           This is possible since srcpad caps are generated after the internal
1110           decoder is created.
1111           The patch replaces gst_vaapi_decoder_get_surface_formats() with
1112           gst_vaapi_decoder_get_suface_attributes().
1113           From these attributes, formats are only used for VASurface memory
1114           caps feature. For system memory caps feature, the old
1115           gst_vaapi_plugin_get_allowed_srcpad_caps() is still used, since
1116           i965 jpeg decoder cannot deliver mappable format for gstreamer.
1117           And for the other caps features (dmabuf and texture upload) the
1118           same static list are used.
1119           This patch also adds DMABuf caps feature only if the context
1120           supports that memory type. Nonetheless, we keep the pre-defined
1121           formats since they are the subset of common derive formats formats
1122           supported either by amd/gallium and both intel drivers, since,
1123           when exporting the fd through vaAcquireBufferHandle()/
1124           vaReleaseBufferHandle(), the formats of the derivable image cannot
1125           be retriebable from the driver. Later we'll use the attribute
1126           formats for the DMABuf feature too, when the code be ported to
1127           vaExportSurfaceHandle().
1128           Finally, the allowed srcpad caps are removed if the internal decoder
1129           is destroyed, since context attribues will change.
1130           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1131
1132 2020-02-07 16:50:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1133
1134         * gst/vaapi/gstvaapidecode.c:
1135           vaapidecode: reorder src caps template
1136           Since negotiation depends on caps order, first is VA, then DMABuf,
1137           later GLUploadTexture (deprecated) and finally raw.
1138           Also, for decoders, the possible available color formats for DMABuf
1139           is extended to all the possible VA color formats.
1140           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1141
1142 2020-07-22 10:01:41 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1143
1144         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1145           libs: window: wayland: use dmabuf protocol if available
1146           Currently vaGetSurfaceBufferWl() is used to create wayland buffers.
1147           Unfortunately this is not implemented by the 'media-driver' and Mesa VA-API
1148           drivers. And the implementation provided by 'intel-vaapi-driver' is not
1149           compatible with a Wayland server that uses the iris Mesa driver.
1150           So create the Wayland buffers manually with the zwp_linux_dmabuf_v1 wayland
1151           protocol. Formats and modifiers supported by the Wayland server are taken
1152           into account. If necessary, VPP is enabled to convert the buffer into a
1153           supported format.
1154           Fall back to vaGetSurfaceBufferWl() if creating buffers via dambuf protocol
1155           fails.
1156           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1157
1158 2020-07-21 10:03:19 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1159
1160         * gst-libs/gst/vaapi/gstvaapiwindow.c:
1161         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
1162           libs: window: allow choosing the format for the vpp pool
1163           Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
1164           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1165
1166 2020-06-28 17:42:29 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1167
1168         * gst-libs/gst/vaapi/video-format.c:
1169         * gst-libs/gst/vaapi/video-format.h:
1170           video-format: add DRM formats to the mapping table
1171           This will be needed for the DMABuf protocol support to map DRM formats to
1172           vaapi and gstreamer formats.
1173           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1174
1175 2020-07-22 09:36:18 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1176
1177         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1178         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
1179         * gst-libs/gst/vaapi/meson.build:
1180           libs: display: wayland: add basic dmabuf protocol support
1181           This is just the basic infrastructure. Hook up the interface and collect
1182           all supported formats.
1183           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1184
1185 2020-07-06 09:59:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1186
1187         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1188           libs: window: wayland: wait for configure before committing the first buffer
1189           Committing the first buffer for a surface must not be done before
1190           ack_configure() has been sent for the xdg_surface.
1191           With weston, the commit will fail with "error 3: xdg_surface has never been
1192           configured".
1193           Wait in gst_vaapi_window_wayland_show() until configure is done to avoid
1194           this.
1195           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1196
1197 2020-07-01 14:50:51 +0800  He Junyan <junyan.he@hotmail.com>
1198
1199         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1200           libs: encoder: h265: set no P frame automatically.
1201           The double reference lists may be required by drivers and there should
1202           be no P frames in the of stream. The old way of converting P frames to
1203           B frames is by setting `low-delay-b` property, which is unconvenient
1204           and has bad user experience, since most of the users do not know when
1205           to set this property, and if it is not set correctly, the encoding
1206           pipeline fails or even hangs on some platforms. VA driver now provides
1207           a attribute to query whether both reference lists must be un-NULL for
1208           a profile/entrypoint pair.
1209           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/284>
1210
1211 2020-04-15 16:26:55 +0800  He Junyan <junyan.he@hotmail.com>
1212
1213         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1214           libs: encoder: h265: Deprecate the low-delay-b property.
1215           In HEVC, P and B definitions are different from AVC: P frames have
1216           just one reference list and so 1 MV, while B frames have two reference
1217           lists and so 2 MVs. No matter B or P, ist reference lists can contain
1218           forward/backward reference. So P and B can both have bi-directions
1219           dependency, the difference is just their reference list
1220           number (i.e. MV number). This is different from the AVC.
1221           The *low delay b mode* refers to a special HEVC mode, in which the
1222           stream just contain I and B frames, without P frames, and all B frames
1223           only have forward direction dependencies (i.e. all inter frames have 2
1224           reference lists but no backward reference in both lists).  This is
1225           similar to AVC I/P mode, but changing the P to the forward dependent
1226           B.
1227           The `low-delay-b` property is now just used to simply convert all P
1228           frames to B frames when driver does not support P frames (so both
1229           reference lists have the same references frames). This is a little
1230           different from the meaning of low delay b mode (the two ref lists may
1231           have the different reference frames). And the driver now can report
1232           whether it supports P frames correctly, so there is no need to use
1233           this property and deprecate it.
1234           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/284>
1235
1236 2020-07-24 12:54:31 +0200  Marc Leeman <m.leeman@televic.com>
1237
1238         * gst/vaapi/gstvaapipostproc.c:
1239           postproc: reconfigure after changing cropping values
1240           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/365>
1241
1242 2020-07-09 13:49:29 +0800  He Junyan <junyan.he@intel.com>
1243
1244         * gst/vaapi/gstvaapiencode.h:
1245         * gst/vaapi/gstvaapiencode_h264.c:
1246         * gst/vaapi/gstvaapiencode_h265.c:
1247         * gst/vaapi/gstvaapiencode_jpeg.c:
1248         * gst/vaapi/gstvaapiencode_mpeg2.c:
1249         * gst/vaapi/gstvaapiencode_vp8.c:
1250         * gst/vaapi/gstvaapiencode_vp9.c:
1251           plugin: encode: Add static caps for template documentation.
1252           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1253
1254 2020-07-08 19:03:14 +0800  He Junyan <junyan.he@intel.com>
1255
1256         * gst/vaapi/gstvaapiencode_vp9.c:
1257           plugin: encode: vp9: Use the dynamically built src template caps.
1258           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1259
1260 2020-07-08 19:02:45 +0800  He Junyan <junyan.he@intel.com>
1261
1262         * gst/vaapi/gstvaapiencode_vp8.c:
1263           plugin: encode: vp8: Use the dynamically built src template caps.
1264           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1265
1266 2020-07-08 19:02:23 +0800  He Junyan <junyan.he@intel.com>
1267
1268         * gst/vaapi/gstvaapiencode_jpeg.c:
1269           plugin: encode: jpeg: Use the dynamically built src template caps.
1270           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1271
1272 2020-07-08 19:00:39 +0800  He Junyan <junyan.he@intel.com>
1273
1274         * gst/vaapi/gstvaapiencode_mpeg2.c:
1275           plugin: encode: mpeg2: Use the dynamically built src template caps.
1276           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1277
1278 2020-07-08 18:59:18 +0800  He Junyan <junyan.he@intel.com>
1279
1280         * gst/vaapi/gstvaapiencode_h265.c:
1281           plugin: encode: h265: Use the dynamically built src template caps.
1282           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1283
1284 2020-07-08 18:57:26 +0800  He Junyan <junyan.he@intel.com>
1285
1286         * gst/vaapi/gstvaapiencode_h264.c:
1287           plugin: encode: h264: Use the dynamically built src template caps.
1288           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1289
1290 2020-07-08 18:46:58 +0800  He Junyan <junyan.he@intel.com>
1291
1292         * gst/vaapi/gstvaapiencode.h:
1293         * gst/vaapi/gstvaapiencode_h264.c:
1294         * gst/vaapi/gstvaapiencode_h265.c:
1295         * gst/vaapi/gstvaapiencode_jpeg.c:
1296         * gst/vaapi/gstvaapiencode_mpeg2.c:
1297         * gst/vaapi/gstvaapiencode_vp8.c:
1298         * gst/vaapi/gstvaapiencode_vp9.c:
1299           plugin: encode: Store the coded caps in type's init data.
1300           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1301
1302 2020-07-08 18:30:00 +0800  He Junyan <junyan.he@intel.com>
1303
1304         * gst/vaapi/gstvaapipluginutil.c:
1305         * gst/vaapi/gstvaapipluginutil.h:
1306           plugin: util: add helper function build_template_coded_caps_by_codec()
1307           Like build_template_raw_caps_by_codec(), this function can detect and
1308           build the caps for specified codec based on the query of the profiles.
1309           The result is coded caps such as video/x-h265, video/x-h264. The result
1310           can be used as the template of encode's src or decode's sink.
1311           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1312
1313 2020-07-07 17:16:41 +0800  He Junyan <junyan.he@intel.com>
1314
1315         * gst/vaapi/gstvaapiencode.h:
1316         * gst/vaapi/gstvaapipluginutil.c:
1317         * gst/vaapi/gstvaapipluginutil.h:
1318           plugins: utils: rename build_template_caps_by_codec.
1319           Rename the function build_template_caps_by_codec() to the name of
1320           build_template_raw_caps_by_codec(). It can be used to collect all
1321           raw video formats for encode's sink and decode's src.
1322           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1323
1324 2020-07-21 20:14:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1325
1326         * gst/vaapi/gstvaapidecode.c:
1327         * gst/vaapi/gstvaapipluginutil.c:
1328         * gst/vaapi/gstvaapipluginutil.h:
1329           vaapidecode: merge common profiles before setting size range
1330           The synthetic profiles, such as H264 baseline, H265 intra, etc. are
1331           added at the end of processing all available VA profiles. This
1332           generated an non-optimal caps for negotiation, since the synthetic
1333           profiles don't have frame size ranges.
1334           This patch adds those possible synthetic profiles when the associated
1335           profile is processed, with its frame size ranges.
1336           Now allowed sink caps are simpler.
1337           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/363>
1338
1339 2020-07-21 22:05:08 +0800  He Junyan <junyan.he@intel.com>
1340
1341         * gst/vaapi/gstvaapipluginutil.c:
1342           plugin: util: Add the missing DMA buffer input in template caps.
1343           We pass the wrong parameter to gst_vaapi_build_caps_from_formats()
1344           and lose the DMA feature in caps.
1345           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/362>
1346
1347 2020-07-14 18:13:56 +0800  He Junyan <junyan.he@intel.com>
1348
1349         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1350         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1351         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1352         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1353         * gst-libs/gst/vaapi/video-format.c:
1354         * gst/vaapi/gstvaapidecode.c:
1355           libs: decoder: H265: Add MAIN_12 profile supporting.
1356           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/359>
1357
1358 2020-07-09 23:07:38 +0800  He Junyan <junyan.he@intel.com>
1359
1360         * gst-libs/gst/vaapi/gstvaapiimage.c:
1361         * gst-libs/gst/vaapi/video-format.c:
1362           video-format: Add P012_LE format.
1363           It can be used as HEVC YUV_4:2:0 12bits stream's decoder output, and
1364           also can be used as the input format for encoding HEVC YUV_4:2:0 12bits
1365           stream.
1366           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/359>
1367
1368 2020-07-17 00:45:53 +0800  He Junyan <junyan.he@intel.com>
1369
1370         * gst/vaapi/gstvaapidecode.c:
1371           plugin: decode: correct ensure_allowed_sinkpad_caps's caps.
1372           The decode allowed caps returned by ensure_allowed_sinkpad_caps()
1373           contains all profiles of the whole VAAPI, like:
1374           image/jpeg, width=(int)[ 0, 1638 4 ], height=(int)[ 0, 16384 ];
1375           video/mpeg, mpegversion=(int)2, profile=(string){ simple, main },
1376           width=(int)[ 0, 2048 ], height=(int)[ 0, 2048 ]; video/x-h264,
1377           profile=(string){ main, high, constrained-baseline }, width=(int)[ 0,
1378           4096 ], height=(int)[ 0, 4096 ]; video/x-h264, profile=(string){
1379           constrained-high, progressive-high, baseline }; video/x-h265,
1380           profile=(string){ main, main-intra }, width=(int)[ 0, 8192 ],
1381           height=(int)[ 0, 8192 ]; video/x-vp8, width=(int)[ 0, 4096 ],
1382           height=(int)[ 0, 4096 ]; video/x-wmv, wmvversion=(int)3,
1383           format=(string)WVC1, profile=(string)advanced, width=(int)[ 0, 3840 ],
1384           height=(int)[ 0, 3840 ]; video/x-wmv, wmvversion=(int)3,
1385           profile=(string){ simple, main }, width=(int)[ 0, 3840 ],
1386           height=(int)[ 0, 3840 ]
1387           Which is verbose and may have latent problems. It should only contains
1388           the profiles belong to its codec type. For example, h265 should only
1389           return:
1390           video/x-h265, profile=(string){ main, main-intra },
1391           width=(int)[ 0, 8192 ], height=(int)[ 0, 8192 ]
1392           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/361>
1393
1394 2020-07-13 11:06:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1395
1396         * gst/vaapi/gstvaapidecodebin.c:
1397           vaapidecodebin: don't force NV12 since P010_10LE is now possible
1398           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/360>
1399
1400 2020-07-12 20:34:31 +0800  He Junyan <junyan.he@intel.com>
1401
1402         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1403           libs: profile: The VP9 profiles' name should be just "0,1,2,3"
1404           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/357>
1405
1406 2020-07-08 17:33:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1407
1408         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1409         * gst-libs/gst/vaapi/gstvaapidecoder.h:
1410         * gst/vaapi/gstvaapidecode.c:
1411         * gst/vaapi/gstvaapidecode.h:
1412         * tests/internal/simple-decoder.c:
1413           vaapidecode: Remove NO_SURFACE error handling
1414           Since surfaces are not bounded to decoding context it makes no sense
1415           to keep the surface semaphore. This patch removes the handling of
1416           this error.
1417           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/353>
1418
1419 2020-07-08 17:48:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1420
1421         * gst/vaapi/gstvaapidecode.c:
1422         * gst/vaapi/gstvaapidecode.h:
1423           Revert "vaapidecode: drop non-keyframe in reverse playback"
1424           Since the number of surfaces are not bounded to decoder context,
1425           this hack is no longer needed.
1426           This reverts commit 19c0c8a97385ce119440c4aad2d689fc79297435.
1427           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/353>
1428
1429 2019-12-06 14:21:33 +0800  He Junyan <junyan.he@hotmail.com>
1430
1431         * gst-libs/gst/vaapi/gstvaapicontext.c:
1432           libs: decoder: context: remove surfaces binding from context.
1433           The vaCreateContext do not need to specify the surfaces for the
1434           context creation now. So we do not need to bind any surface to the
1435           context anymore. Surfaces should be the resource belong to display
1436           and just be used in encoder/decoder context.
1437           The previous manner has big limitation for decoder. The context's
1438           surface number is decided by dpb size. All the surfaces in dpb will
1439           be attached to a gstbuffer and be pushed to down stream, and the
1440           decoder need to wait down stream free the surface and go on if not
1441           enough surface available. For more and more use cases, this causes
1442           deadlock. For example,
1443           gst-launch-1.0 filesrc location=a.h264 ! h264parse ! vaapih264dec
1444           ! x264enc ! filesink location=./output.h264
1445           will cause deadlock and make the whole pipeline hang.
1446           the x264enc encoder need to cache more than dpb size surfaces.
1447           The best solution is seperating the surfaces number and the dpb size.
1448           dpb and dpb size shoule be virtual concepts maintained by the decoder.
1449           And let the surfaces_pool in context maintain the re-use of all surfaces.
1450           For encoder, the situation is better, all the surfaces are just used
1451           as reference frame and no need to be pushed to down stream. We can
1452           just reserve and set the capacity of the surfaces_pool to meet the
1453           request.
1454           Fix: #147
1455           Fix: #88
1456           Co-Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1457           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/353>
1458
1459 2020-07-08 17:50:51 +0100  Tim-Philipp Müller <tim@centricular.com>
1460
1461         * meson.build:
1462         * scripts/extract-release-date-from-doap-file.py:
1463           meson: set release date from .doap file for releases
1464           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/355>
1465
1466 2020-07-08 11:57:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1467
1468         * gst/vaapi/gstvaapipluginbase.c:
1469           plugins: use VA allocator by default on raw caps
1470           Instead of using dmabuf allocator in source pad, when raw video caps
1471           are negotiated, it uses VA allocator as before, since it is stable
1472           in more use cases, for example transcoding, and more backend drivers.
1473           Dmabuf allocator is only used when dmabuf caps feature is negotiated.
1474           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/352>
1475
1476 2020-06-06 18:47:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1477
1478         * gst/vaapi/gstvaapi.c:
1479           vaapisink: rank it as secondary
1480           iHD doesn't provide a full implemention for rendering surfaces and
1481           i965 has problems in wayland. And I suspect this path is followed
1482           by other driver implementations.
1483           This patch demotes the rank of vaapisink to secondary, so it will
1484           not be autoplugged avoiding bad experience of users.
1485           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/336>
1486
1487 2020-06-19 10:44:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1488
1489         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1490         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1491           libs: decoder: h264, h265: in context at least 16 reference surfaces
1492           Registering only stream's DBP size number of surfaces for decoding VA
1493           surfaces brings issues for certain streams. This change register all
1494           possible number of reference surfaces in a stream, which is 16.
1495           Fixes: #94
1496
1497 2020-07-04 21:21:57 +0800  He Junyan <junyan.he@intel.com>
1498
1499         * gst/vaapi/gstvaapiencode_h265.c:
1500           plugins: encode: h265: Add profile,level,tier to output caps.
1501           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/350>
1502
1503 2020-07-04 21:08:20 +0800  He Junyan <junyan.he@intel.com>
1504
1505         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1506           libs: encoder: h265: init tier to GST_VAAPI_TIER_H265_UNKNOWN.
1507           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/350>
1508
1509 2020-07-04 21:05:49 +0800  He Junyan <junyan.he@intel.com>
1510
1511         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1512           libs: encoder: h265: fix a bug to get get_profile_tier_level.
1513           0 is a valid value for h265 tier.
1514           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/350>
1515
1516 2020-07-02 19:19:35 +0800  He Junyan <junyan.he@intel.com>
1517
1518         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1519           libs: encoder: h265: no need to check the high compression tune.
1520           The h265 encoder just support tune mode:
1521           (0): none             - None
1522           (3): low-power        - Low power mode
1523           So, no need to check and set the high compression parameters.
1524           And by the way, the current ensure_tuning_high_compression manner
1525           of choosing the hightest profile idc as the best compression profile
1526           is not correct. Unlike h264, in h265 the higher profile idc number
1527           does not mean it has more compression tools, and so it has better
1528           compression performance. It may even be un-compatible with the lower
1529           profile idc. For example, the SCREEN_CONTENT_CODING profile with idc
1530           9 is not compatible with 3D_MAIN profile with idc 8.
1531           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/348>
1532
1533 2020-07-03 02:04:14 +0100  Tim-Philipp Müller <tim@centricular.com>
1534
1535         * meson.build:
1536           Back to development
1537
1538 === release 1.17.2 ===
1539
1540 2020-07-03 00:36:40 +0100  Tim-Philipp Müller <tim@centricular.com>
1541
1542         * ChangeLog:
1543         * NEWS:
1544         * RELEASE:
1545         * gstreamer-vaapi.doap:
1546         * meson.build:
1547           Release 1.17.2
1548
1549 2020-06-23 10:20:46 -0400  Thibault Saunier <tsaunier@igalia.com>
1550
1551         * docs/gst_plugins_cache.json:
1552         * gst/vaapi/gstvaapiencode.c:
1553           docs: Mark parent classes as plugin API
1554
1555 2020-06-23 00:07:57 +0200  Mathieu Duponchelle <mathieu@centricular.com>
1556
1557         * docs/meson.build:
1558           meson: mark plugins cache target as always stale
1559
1560 2020-06-19 23:34:11 -0400  Thibault Saunier <tsaunier@igalia.com>
1561
1562         * docs/gst_plugins_cache.json:
1563           doc: Stop documenting properties from parents
1564
1565 2020-06-20 00:28:35 +0100  Tim-Philipp Müller <tim@centricular.com>
1566
1567         * meson.build:
1568           Back to development
1569
1570 === release 1.17.1 ===
1571
1572 2020-06-19 19:27:11 +0100  Tim-Philipp Müller <tim@centricular.com>
1573
1574         * ChangeLog:
1575         * NEWS:
1576         * RELEASE:
1577         * gstreamer-vaapi.doap:
1578         * meson.build:
1579           Release 1.17.1
1580
1581 2020-06-19 15:21:56 +0100  Tim-Philipp Müller <tim@centricular.com>
1582
1583         * docs/gst_plugins_cache.json:
1584         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1585         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
1586         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
1587         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1588           Update plugin docs and add more plugins
1589           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/344>
1590
1591 2020-06-11 08:32:05 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1592
1593         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1594           libs: wayland: display: only handle the first output
1595           Right now, all outputs are handled. The means that the registry object for
1596           all but the last are leaked. As a result the sizes are not used correctly.
1597           With two outputs, at first the mode and physical size of the second output
1598           are used. If the first output changes the mode, then the physical size of
1599           the second output is used in combination with the resolution of the first
1600           output. The resulting pixel aspect ratio is incorrect.
1601           There seems to be no way to determine on which output the window is shown,
1602           so just use the first one to get consistent results.
1603           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/341>
1604
1605 2020-06-11 18:15:17 +0800  He Junyan <junyan.he@hotmail.com>
1606
1607         * gst/vaapi/gstvaapipluginbase.c:
1608           plugins: pluginbase: Do not destroy display when _close()
1609           When the element's state changes to NULL, it can still receive
1610           queries, such as the image formats. The display is needed in such
1611           queries but not well protected for MT safe.
1612           For example, ensure_allowed_raw_caps() may still use the display
1613           while it is disposed by gst_vaapi_plugin_base_close() because of
1614           the state change.
1615           We can keep the display until the element is destroyed. When the
1616           state changes to NULL, and then changes to PAUSED again, the display
1617           can be correctly set(if type changes), or leave untouched.
1618           Fix: #260
1619           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/343>
1620
1621 2020-06-09 21:19:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1622
1623         * gst-libs/gst/vaapi/gstvaapicontext.c:
1624           libs: context: use correct printing modifier
1625           GstVaapiID is an alias of gsize, thus its modifier is platform
1626           dependant.
1627           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/340>
1628
1629 2020-06-06 00:42:46 +0200  Mathieu Duponchelle <mathieu@centricular.com>
1630
1631         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1632         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1633         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1634         * gst-libs/gst/vaapi/gstvaapifilter.c:
1635         * gst-libs/gst/vaapi/gstvaapivalue.c:
1636           plugins: uddate gst_type_mark_as_plugin_api() calls
1637
1638 2020-03-05 18:12:27 +0800  He Junyan <junyan.he@hotmail.com>
1639
1640         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1641           libs: encoder: h265: Enable tile in VA command.
1642           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1643
1644 2020-03-05 17:56:51 +0800  He Junyan <junyan.he@hotmail.com>
1645
1646         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1647           libs: encoder: h265: Add ensure_tile to calculate tiles.
1648           We need consider tiles and slices together, separate tiles uniformly
1649           and then assign slices uniformly to each tiles.
1650           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1651
1652 2020-04-30 14:19:29 +0800  He Junyan <junyan.he@hotmail.com>
1653
1654         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1655         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1656           libs: display: add a quirk for iHD driver tile encoding.
1657           The iHD driver has a requirement that one slice can not span tiles
1658           when tile is enabled, which is not required by hevc spec.
1659           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1660
1661 2020-03-05 17:40:43 +0800  He Junyan <junyan.he@hotmail.com>
1662
1663         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1664           libs: encoder: h265: Add tile info to bitstream.
1665           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1666
1667 2020-03-05 17:29:41 +0800  He Junyan <junyan.he@hotmail.com>
1668
1669         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1670           libs: encoder: h265: promote level if tile is enabled.
1671           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1672
1673 2020-03-05 17:07:28 +0800  He Junyan <junyan.he@hotmail.com>
1674
1675         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1676         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
1677           libs: encoder: h265: Add num-tile-cols/rows properties.
1678           These properties are used for support of tile encoding. We just
1679           support uniform mode of tile encoding, that is, separating picture
1680           equally by (num-tile-cols X num-tile-rows).
1681           According to HEVC spec A1, the max number of tiles in column is 20
1682           and in rows is 22, so add two constant definitions.
1683           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1684
1685 2020-03-05 16:21:24 +0800  He Junyan <junyan.he@hotmail.com>
1686
1687         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1688           libs: encoder: h265: extract slice creation from add_slice_headers
1689           extract slice creation details from add_slice_headers, and let the
1690           add_slice_headers just focuses on calculating slice start address
1691           and CTU number.
1692           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1693
1694 2020-03-05 12:44:45 +0800  He Junyan <junyan.he@hotmail.com>
1695
1696         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1697         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
1698           libs: encoder: Add a helper function to check the tile support.
1699           Encoding by tiles separation now is a very common feature for all
1700           relative new codecs, such as HEVC, AV1, and VP9. Just make this
1701           check as a common helper function of the encoder base class.
1702           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
1703
1704 2020-05-13 18:02:07 +0800  He Junyan <junyan.he@hotmail.com>
1705
1706         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1707         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1708         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1709         * gst-libs/gst/vaapi/gstvaapiutils.c:
1710         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1711           libs: decoder: H265: Add SCC_MAIN_444_10 profile support.
1712           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
1713
1714 2020-05-13 16:05:59 +0800  He Junyan <junyan.he@hotmail.com>
1715
1716         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1717           libs: decoder: update reference list for SCC.
1718           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
1719
1720 2020-05-13 15:46:29 +0800  He Junyan <junyan.he@hotmail.com>
1721
1722         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1723           libs: decoder: H265: Fill picture and slice SCC parameters.
1724           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
1725
1726 2020-05-13 15:00:53 +0800  He Junyan <junyan.he@hotmail.com>
1727
1728         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1729           libs: util: H265: recognize the SCC profiles.
1730           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
1731
1732 2020-05-13 14:53:46 +0800  He Junyan <junyan.he@hotmail.com>
1733
1734         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1735         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1736         * gst-libs/gst/vaapi/gstvaapiutils.c:
1737           libs: profile: Add screen extended main/main10/main444 define.
1738           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
1739
1740 2020-04-03 14:53:40 +0800  He Junyan <junyan.he@hotmail.com>
1741
1742         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1743         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1744         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1745         * gst/vaapi/gstvaapiencode_h265.c:
1746           libs: encoder: h265: Add support for MAIN 4:2:2 10 profile.
1747           Using YUY2 as the input of the encoder can generate main 4:2:2 bit
1748           streams and using Y210 as the input of the encoder can generate main
1749           4:2:2 10 bit streams.
1750           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
1751
1752 2020-05-29 16:40:20 +0800  He Junyan <junyan.he@hotmail.com>
1753
1754         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1755           libs: encoder: h265: Use correct index for SubWidthC and SubHeightC.
1756           We need to use the chroma_format_idc as the index for getting the
1757           SubWidthC and SubHeightC values as the spec 6.1(table 6-1) defines.
1758           The wrong SubWidthC or SubHeightC make us calculate a wrong right
1759           or bottom offset for crop size and generate garbage in output.
1760           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
1761
1762 2020-05-29 15:37:24 +0800  He Junyan <junyan.he@hotmail.com>
1763
1764         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1765           libs: encoder: h265: Fix chrome idc for 444 10 bits
1766           GST_VAAPI_CHROMA_TYPE_YUV444_10BPP should also set chroma_format_idc
1767           to 3 as GST_VAAPI_CHROMA_TYPE_YUV444 does.
1768           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
1769
1770 2020-06-03 18:37:22 -0400  Thibault Saunier <tsaunier@igalia.com>
1771
1772         * docs/meson.build:
1773           doc: Require hotdoc >= 0.11.0
1774
1775 2020-06-03 18:49:53 -0400  Thibault Saunier <tsaunier@igalia.com>
1776
1777         * gst/vaapi/gstvaapipostproc.c:
1778           doc: Fix wrong link to GstVideoDirectionMethod
1779
1780 2020-06-03 17:38:10 -0400  Thibault Saunier <tsaunier@igalia.com>
1781
1782         * docs/gst_plugins_cache.json:
1783         * meson_options.txt:
1784           docs: Update plugin cache with the new format
1785           And fix the default URL which should not be inside quotes.
1786
1787 2020-06-03 17:37:48 -0400  Thibault Saunier <tsaunier@igalia.com>
1788
1789         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1790         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1791         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1792         * gst-libs/gst/vaapi/gstvaapifilter.c:
1793         * gst-libs/gst/vaapi/gstvaapivalue.c:
1794         * gst/vaapi/gstvaapipostproc.c:
1795           Use gst_type_mark_as_plugin_api() for all non-element plugin types
1796
1797 2020-05-23 22:09:17 +0800  He Junyan <junyan.he@hotmail.com>
1798
1799         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
1800         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
1801         * gst-libs/gst/vaapi/gstvaapicontext.h:
1802         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1803         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1804         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
1805         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
1806         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
1807         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
1808         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
1809         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1810         * gst-libs/gst/vaapi/gstvaapiimage.h:
1811         * gst-libs/gst/vaapi/gstvaapiobject.c:
1812         * gst-libs/gst/vaapi/gstvaapiobject.h:
1813         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
1814         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1815         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
1816         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
1817         * gst-libs/gst/vaapi/gstvaapisurface.h:
1818         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
1819         * gst-libs/gst/vaapi/gstvaapivideopool.c:
1820         * gst-libs/gst/vaapi/meson.build:
1821           libs: delete all gstvaapiobject related files.
1822           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
1823
1824 2020-05-23 20:48:54 +0800  He Junyan <junyan.he@hotmail.com>
1825
1826         * gst-libs/gst/vaapi/gstvaapisurface.c:
1827           libs: surface: return fail immediately if can not create subpicture
1828           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
1829
1830 2020-05-23 14:00:58 +0800  He Junyan <junyan.he@hotmail.com>
1831
1832         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
1833         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
1834         * gst-libs/gst/vaapi/gstvaapisurface.c:
1835         * tests/internal/image.c:
1836           libs: subpicture: Make subpicture a standard GstMiniObject.
1837           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
1838
1839 2020-05-26 02:19:15 +0800  He Junyan <junyan.he@hotmail.com>
1840
1841         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1842           libs: decoder: h264: Add ref flags for splited field.
1843           When split one frame into fields, the second field should also
1844           copy the reference flags.
1845           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/333>
1846
1847 2020-05-25 15:46:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1848
1849         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1850           libs: decoder: h264: disallow multiple slice group
1851           As far as we know there are no VAAPI drivers supporting FMO, which
1852           migth be used in baseline streams.
1853           This commit is a continuation of
1854           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/328
1855           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/332>
1856
1857 2020-05-20 10:50:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1858
1859         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1860         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
1861         * gst/vaapi/gstvaapidecode.c:
1862         * gst/vaapi/gstvaapidecode_props.c:
1863         * gst/vaapi/gstvaapidecode_props.h:
1864           vaapidecoder: h264: remove baseline as constrained property
1865           From now on always the baseline is going to be treated as constrained without
1866           need of setting a property.
1867           Since the property was added along the development cycle (1.17 / commit
1868           866a9f06) and never released, we assume that it is safe to remove it.
1869           Fixes: #252
1870           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/328>
1871
1872 2020-05-21 11:37:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1873
1874         * README:
1875           README: update VP9 decoder and encoder
1876           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/330>
1877
1878 2020-05-21 13:42:47 +0800  Haihao Xiang <haihao.xiang@intel.com>
1879
1880         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1881           vaapiencoder_h264: set direct_spatial_mv_pred_flag to true by default
1882           This flag is set to true by default in both MediaSDK and FFmpeg-vaapi,
1883           so let's align this plugin with other libraries / softwares.
1884           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/329>
1885
1886 2020-05-18 18:29:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1887
1888         * gst/vaapi/gstvaapivideobufferpool.c:
1889           vaapivideobufferpool: fix meta overwrite
1890           commit 7ac2a207 added a regression by erroneously assumed that
1891           GstVaapiVideoMeta is actually a GstMeta, which is not.
1892           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/327>
1893
1894 2020-05-17 09:55:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1895
1896         * gst/vaapi/gstvaapivideobufferpool.c:
1897         * gst/vaapi/gstvaapivideometa_texture.c:
1898         * gst/vaapi/gstvaapivideometa_texture.h:
1899           vaapivideopool: Set pooled flag to added metas.
1900           So this could hint filters how to use these metas.
1901           Had to change the return value for texutre upload meta in order
1902           to flag it.
1903           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/326>
1904
1905 2020-05-16 20:49:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1906
1907         * gst-libs/gst/vaapi/gstvaapicontext.c:
1908         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1909         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
1910         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
1911         * gst-libs/gst/vaapi/gstvaapisurface.c:
1912           libs: use array_unref() rather than array_free()
1913           It is more convinience and thread-safe.
1914           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/325>
1915
1916 2020-04-10 22:20:35 +0800  He Junyan <junyan.he@hotmail.com>
1917
1918         * gst/vaapi/gstvaapi.c:
1919           plugin: use register_type to replace get_type for encode init.
1920           xxx_register_type will detect the template sink caps and is needed
1921           to be called at init time.
1922           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1923
1924 2020-04-10 22:05:50 +0800  He Junyan <junyan.he@hotmail.com>
1925
1926         * gst/vaapi/gstvaapiencode_vp9.c:
1927         * gst/vaapi/gstvaapiencode_vp9.h:
1928           plugins: encode: Modify sink template of vp9 encode.
1929           Use gst_vaapi_detect_codec_caps to get more precise template caps.
1930           Also implement gst_vaapiencode_vp9_register_type, which should be
1931           called at plugin register time.
1932           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1933
1934 2020-04-10 22:05:18 +0800  He Junyan <junyan.he@hotmail.com>
1935
1936         * gst/vaapi/gstvaapiencode_vp8.c:
1937         * gst/vaapi/gstvaapiencode_vp8.h:
1938           plugins: encode: Modify sink template of vp8 encode.
1939           Use gst_vaapi_detect_codec_caps to get more precise template caps.
1940           Also implement gst_vaapiencode_vp8_register_type, which should be
1941           called at plugin register time.
1942           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1943
1944 2020-04-10 22:04:34 +0800  He Junyan <junyan.he@hotmail.com>
1945
1946         * gst/vaapi/gstvaapiencode_mpeg2.c:
1947         * gst/vaapi/gstvaapiencode_mpeg2.h:
1948           plugins: encode: Modify sink template of mpeg2 encode.
1949           Use gst_vaapi_detect_codec_caps to get more precise template caps.
1950           Also implement gst_vaapiencode_mpeg2_register_type, which should be
1951           called at plugin register time.
1952           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1953
1954 2020-04-10 22:03:49 +0800  He Junyan <junyan.he@hotmail.com>
1955
1956         * gst/vaapi/gstvaapiencode_h265.c:
1957         * gst/vaapi/gstvaapiencode_h265.h:
1958           plugins: encode: Modify sink template of h265 encode.
1959           Use gst_vaapi_detect_codec_caps to get more precise template caps.
1960           Also implement gst_vaapiencode_h265_register_type, which should be
1961           called at plugin register time.
1962           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1963
1964 2020-04-10 22:00:38 +0800  He Junyan <junyan.he@hotmail.com>
1965
1966         * gst/vaapi/gstvaapiencode_h264.c:
1967         * gst/vaapi/gstvaapiencode_h264.h:
1968           plugins: encode: Modify sink template of h264 encode.
1969           Use gst_vaapi_detect_codec_caps to get more precise template caps.
1970           Also implement gst_vaapiencode_h264_register_type, which should be
1971           called at plugin register time.
1972           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1973
1974 2020-04-10 22:11:34 +0800  He Junyan <junyan.he@hotmail.com>
1975
1976         * gst/vaapi/gstvaapiencode_jpeg.c:
1977         * gst/vaapi/gstvaapiencode_jpeg.h:
1978           plugins: encode: Modify sink template of jpeg encode.
1979           Use gst_vaapi_detect_codec_caps to get more precise template caps.
1980           Also implement gst_vaapiencode_jpeg_register_type, which should be
1981           called at plugin register time.
1982           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1983
1984 2020-04-23 00:02:02 +0800  He Junyan <junyan.he@hotmail.com>
1985
1986         * gst/vaapi/gstvaapiencode.h:
1987           plugin: encode: add a helper macro to register encode type.
1988           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
1989
1990 2020-04-10 21:44:05 +0800  He Junyan <junyan.he@hotmail.com>
1991
1992         * gst/vaapi/gstvaapipluginutil.c:
1993         * gst/vaapi/gstvaapipluginutil.h:
1994           plugins: util: Add a helper function to detect supported caps.
1995           This helper function iterate all profiles and entrypoints belong
1996           to the specified codec, query the VAConfigAttribRTFormat and list
1997           all possible video formats.
1998           This function is used by each codec to get the template sink caps
1999           (for encode) or src caps(for decode) at register time, when just
2000           all possible formats are listed and no need to be very accurate.
2001           So there is no context created for the performance reason. Most
2002           codecs just use YUV kinds of formats as the input/output, so we do
2003           not include RGB kinds of formats. User can specified more formats
2004           in extra_fmts(For example, jpeg may need BGRA) if needed.
2005           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2006
2007 2020-04-10 21:27:32 +0800  He Junyan <junyan.he@hotmail.com>
2008
2009         * gst/vaapi/gstvaapiencode.c:
2010         * gst/vaapi/gstvaapipluginutil.c:
2011         * gst/vaapi/gstvaapipluginutil.h:
2012           plugin: encode: extract the allowed caps maker as a helper function.
2013           Extract all logic about making caps for encode's sink as a standalone
2014           helper function. It can be reused.
2015           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2016
2017 2020-04-10 21:21:43 +0800  He Junyan <junyan.he@hotmail.com>
2018
2019         * gst-libs/gst/vaapi/video-format.c:
2020         * gst-libs/gst/vaapi/video-format.h:
2021           libs: video-format: add a helper function of get_formats_by_chroma.
2022           The function iterates all supported video formats and returns the
2023           formats belong to the specified chroma type.
2024           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2025
2026 2020-05-16 21:03:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2027
2028         * gst-libs/gst/vaapi/gstvaapitexture.c:
2029         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
2030           libs: texture: remove unused headers include
2031           This is continuation of
2032           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/317
2033           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/324>
2034
2035 2020-05-16 19:58:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2036
2037         * gst-libs/gst/vaapi/gstvaapicodedbuffer.h:
2038         * gst-libs/gst/vaapi/gstvaapiimage.h:
2039         * gst-libs/gst/vaapi/gstvaapisurface.h:
2040           libs: removed duplicated function declarations
2041           Some headers had duplicated inlined function declaration. This was
2042           for gtkdoc, but now GStreamer uses hotdoc and the internal library
2043           documentation is not generated. So let's remove these extra lines.
2044           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/323>
2045
2046 2020-04-18 19:32:24 +0800  He Junyan <junyan.he@hotmail.com>
2047
2048         * gst-libs/gst/vaapi/gstvaapitexture.c:
2049         * gst-libs/gst/vaapi/gstvaapitexture.h:
2050         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
2051         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
2052         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
2053         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
2054         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
2055         * gst/vaapi/gstvaapivideometa_texture.c:
2056         * tests/internal/test-textures.c:
2057           libs: texture: Make texture a standard GstMiniObject.
2058           We store GstVaapiTextureGLX and GstVaapiTextureEGL's private data in
2059           the qdata of miniobject and avoid extending the base texture class.
2060           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/317>
2061
2062 2020-04-26 12:33:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2063
2064         * README:
2065           Update README
2066           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/320>
2067
2068 2020-04-21 18:00:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2069
2070         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
2071           libs: display: drm: use g_strcmp0 to be null safe
2072           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/321>
2073
2074 2020-04-26 13:30:16 +0800  Haihao Xiang <haihao.xiang@intel.com>
2075
2076         * gst/vaapi/gstvaapipluginutil.c:
2077           vaapipluginutil: Use GST_VAAPI_DISPLAY_TYPE_DRM for Mesa3D GBM
2078           We may build this plugin with window system support but run it without
2079           window system. Without this patch, the following pipeline will trigger a
2080           segfault when running it without window system.
2081           gst-launch-1.0 filesrc location=input.264 ! h264parse ! vaapih264dec ! fakesink
2082           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/319>
2083
2084 2020-04-21 11:16:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2085
2086         * meson.build:
2087           build: use join_paths() for driverdir
2088
2089 2020-04-21 09:04:51 +0000  Veerabadhran G <vegopala@amd.com>
2090
2091         * README:
2092           README: Update supported hardware
2093           Added the AMD hardware list to the "Hardware Requirements" section.
2094
2095 2020-04-04 13:58:00 +0200  He Junyan <junyan.he@hotmail.com>
2096
2097         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
2098         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
2099         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
2100           libs: bufferproxy: remove GstMemory reference
2101           Since bufferproxy and surface are not referenced circularly, there's
2102           no need to keep, in the buffer proxy, a reference to the GstMemory
2103           where it is held. This patch removes that handling.
2104
2105 2020-03-15 23:29:05 +0800  He Junyan <junyan.he@hotmail.com>
2106
2107         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
2108         * gst-libs/gst/vaapi/gstvaapisurface.c:
2109         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
2110         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
2111         * gst/vaapi/gstvaapivideomemory.c:
2112           libs,plugin: break surface-bufferproxy circular reference
2113           The bufferproxy may reference the surface and the surface may also
2114           reference the bufferproxy, producing a circular reference, which might
2115           lead to serious resource leak problems.
2116           Now make the relationship clearer, the bufferproxy's references is
2117           transfered to surface, while bufferproxy just keeps the surface's
2118           address without increasing its reference count.
2119           The surface can be created through a bufferproxy like in
2120           gst_vaapi_surface_new_with_dma_buf_handle(), and the surface might
2121           get its bufferproxy via gst_vaapi_surface_get_dma_buf_handle(). In
2122           both cases the surface holds a bufferproxy's reference.
2123
2124 2020-04-03 18:43:52 +0200  He Junyan <junyan.he@hotmail.com>
2125
2126         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
2127         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
2128         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
2129           libs: bufferproxy: rename parent memeber as surface
2130
2131 2020-03-15 22:07:31 +0800  He Junyan <junyan.he@hotmail.com>
2132
2133         * gst/vaapi/gstvaapivideobufferpool.c:
2134           plugin: bufferpool: use hashmap to cache dmabuf mem-surface
2135           The old way of refer memory by bufferproxy is not a good one, since it
2136           make the logic error prone.
2137           Now it is established a map between surface-bufferproxy and its GstMemory,
2138           caching the memory bound by a surface looked for the specified surface.
2139
2140 2020-03-15 21:50:24 +0800  He Junyan <junyan.he@hotmail.com>
2141
2142         * gst/vaapi/gstvaapivideobufferpool.c:
2143         * gst/vaapi/gstvaapivideobufferpool.h:
2144           plugin: bufferpool: Delete ACQUIRE_FLAG_NO_ALLOC flag.
2145           Delete the GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC flag.
2146           In fact, no one is using that flag, and all vaapi buffers should
2147           have GstVaapiVideoMeta.
2148
2149 2020-02-13 09:43:38 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2150
2151         * gst/vaapi/gstvaapipostproc.c:
2152         * gst/vaapi/gstvaapipostproc.h:
2153           vaapipostproc: enable HDR10 tone mapping
2154
2155 2020-02-13 09:00:18 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2156
2157         * gst-libs/gst/vaapi/gstvaapifilter.c:
2158         * gst-libs/gst/vaapi/gstvaapifilter.h:
2159           libs: filter: HDR10 tone mapping support
2160           Add support for HDR10 tone mapping (since VA-API 1.4.0).
2161
2162 2020-04-02 15:14:15 +0800  He Junyan <junyan.he@hotmail.com>
2163
2164         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2165         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2166         * gst-libs/gst/vaapi/gstvaapiprofile.c:
2167         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2168         * gst/vaapi/gstvaapiencode_h265.c:
2169           libs: encoder: h265: Support MAIN 4:4:4 10 profile.
2170           Using Y410 as the input of the encoder can generate main_444_10 bit
2171           streams.
2172
2173 2020-04-02 15:19:41 +0800  He Junyan <junyan.he@hotmail.com>
2174
2175         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2176           libs: encoder: fix an inexact trace info in chroma type check.
2177
2178 2020-03-31 12:22:31 +0800  Haihao Xiang <haihao.xiang@intel.com>
2179
2180         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2181           libs: encoder: make sure format array is not NULL when returning TRUE
2182           This fixed segfault when running the pipeline below with iHD driver
2183           (commit efe5e9a) on ICL
2184           gst-launch-1.0 videotestsrc ! vaapivp9enc tune=low-power ! vaapivp9dec ! \
2185           fakesink
2186
2187 2020-03-18 13:28:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2188
2189         * gst-libs/gst/vaapi/gstvaapidecoder.h:
2190         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
2191         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
2192         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
2193         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
2194         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
2195         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
2196         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
2197         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
2198         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2199         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
2200         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
2201         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
2202         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
2203         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
2204         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2205         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2206         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
2207         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
2208         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
2209         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
2210         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
2211         * gst-libs/gst/vaapi/gstvaapifilter.h:
2212         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
2213         * gst-libs/gst/vaapi/gstvaapiwindow.h:
2214         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
2215         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
2216         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
2217         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
2218         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
2219           libs: extend g_autoptr support
2220
2221 2020-03-26 22:40:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2222
2223         * gst/vaapi/gstvaapivideometa.c:
2224           vaapivideometa: remove compiler warning
2225
2226 2020-03-22 20:59:20 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2227
2228         * meson.build:
2229         * meson_options.txt:
2230           build: Add meson's option package-origin.
2231           This options is added to synchronize with other gstreamer packages
2232           build configuration.
2233           Though, to avoid breaking distro configuration it is set, as default,
2234           the issues gitlab's url, instead of the used string
2235           "Unkown package origin".
2236           Also, set_quoted is used for string based cdata.
2237
2238 2020-02-25 13:45:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2239
2240         * gst/vaapi/gstvaapipostproc.c:
2241           vaapipostproc: deprecate format, width and size parameters
2242           Since they should only be controlled by caps negotiation.
2243
2244 2020-03-18 16:41:01 +0800  He Junyan <junyan.he@hotmail.com>
2245
2246         * gst-libs/gst/vaapi/gstvaapiprofile.c:
2247         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2248         * gst/vaapi/gstvaapidecode.c:
2249           libs,plugins: decoder: Add -intra profile support for hevc.
2250           In hevc, we can consider the -intra profile a subset of the none
2251           -intra profile. The -intra profiles just contain I frames and we
2252           definitely can use the none -intra profiles's context to decode
2253           them.
2254           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2255
2256 2020-03-04 12:35:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2257
2258         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2259           libs: encoder: h265: support ICQ/QVBR BRC
2260           Enable support for ICQ and QVBR bitrate control.
2261           The code is essentially the same for h264 ICQ/QVBR support
2262           which was added in commit 9e0c133a2403.
2263
2264 2020-03-19 11:19:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2265
2266         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2267           libs: encoder: set VA HRD param before RC param
2268           This is a workaround for intel-media-driver bug
2269           https://github.com/intel/media-driver/issues/865
2270           The driver will force the RC method to CBR for HEVCe
2271           when it parses the HRD param.  Thus, any RC method
2272           param submitted "prior" to the HRD param will be lost.
2273           Therefore, VBR, ICQ and QVBR for HEVCe can't be
2274           effectively enabled if the RC method param "precedes"
2275           the HRD param.
2276           To work around this issue, set the HRD param before
2277           the RC method param so the driver will parse the RC
2278           method param "after" the HRD param.
2279           Afaict, other codecs in the driver (and other drivers)
2280           do not appear to be dependent on the order of HRD and
2281           RC param submission.
2282
2283 2019-11-25 14:16:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
2284
2285         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2286         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2287         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2288           vaapijpegenc: Add a quantization quirk for iHD driver
2289           iHD driver shifts the value by 50 when calculating quantization for JPEG
2290           encoding, so we should add 50 in this plugin for iHD driver too.
2291
2292 2020-03-13 21:49:15 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2293
2294         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
2295         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
2296         * gst-libs/gst/vaapi/gstvaapipixmap.c:
2297         * gst-libs/gst/vaapi/gstvaapipixmap.h:
2298         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
2299         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
2300         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
2301         * gst-libs/gst/vaapi/gstvaapiwindow.c:
2302         * gst-libs/gst/vaapi/gstvaapiwindow.h:
2303         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
2304         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
2305         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
2306         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
2307         * gst-libs/gst/vaapi/meson.build:
2308         * meson.build:
2309         * tests/internal/output.c:
2310         * tests/internal/output.h:
2311         * tests/internal/simple-decoder.c:
2312         * tests/internal/test-decode.c:
2313           libs: remove GstVaapiPixmap
2314           GstVaapiPixmap is an abstract base class which only implementation
2315           were GstVaapiPixmapX11. This class were used for a special type of
2316           rendering in the tests apps, utterly unrelated in GStreamer.
2317           Since gstreamer-vaapi is no longer a general-user wrapper for VA-API
2318           we should remove this unused API.
2319           This removal drops libxrender dependency.
2320
2321 2020-03-17 18:51:19 +0800  He Junyan <junyan.he@hotmail.com>
2322
2323         * gst-libs/gst/vaapi/gstvaapiutils.c:
2324           libs: utils: Add HEVC Main444 sting in string_of_VAProfile
2325           HEVCMain444_10 is already a supported profile and misses the strings.
2326
2327 2020-03-17 12:47:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2328
2329         * gst/vaapi/gstvaapi.c:
2330           plugin: don't error if cannot create display
2331           This might generated errors on automatic tools such as CI. Let's
2332           rather just raise a warning and let continue.
2333
2334 2020-03-09 01:52:57 +0800  He Junyan <junyan.he@hotmail.com>
2335
2336         * tests/check/meson.build:
2337           test: fix a ninja test failure for vaapioverlay.
2338           That test case only works with drm display, so the build such as
2339           meson -Dwith_x11=yes -Dwith_wayland=no -Dwith_drm=no -Dwith_egl=no
2340           -Dwith_glx=no
2341           gets a failure when run ninja test. Just enable this test when drm
2342           is enabled.
2343
2344 2020-02-07 23:56:13 +0800  He Junyan <junyan.he@hotmail.com>
2345
2346         * gst-libs/gst/vaapi/gstvaapivideopool.c:
2347           libs: videopool: fix a condition race for pool allocate.
2348
2349 2020-03-05 13:22:23 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2350
2351         * gst/vaapi/gstvaapivideobufferpool.c:
2352           vaapivideobufferpool: force video meta if sizes are different
2353           The strides and offsets could be the same, but the allocation
2354           size might be different (e.g. alignment).  Thus, ensure we also
2355           set the flag to copy from VA memory to system memory when alloc
2356           size differs.
2357           Fixes #243
2358
2359 2020-03-05 14:18:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2360
2361         * gst/vaapi/gstvaapidecode.c:
2362           vaapidecode: don't set base sink caps twice
2363           Base class's sink pad caps are already set when calling set_format().
2364           There's no need to call it again in gst_vaapidecode_negotiate().
2365
2366 2020-03-05 13:26:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2367
2368         * gst/vaapi/gstvaapidecode.c:
2369           vaapidecode: unlock stream if caps update fails
2370           If caps update fail a dead lock occurs since the stream mutex is not
2371           unlocked.
2372
2373 2020-03-03 15:24:32 +0800  Xu Guangxin <guangxin.xu@intel.com>
2374
2375         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2376           libs: decoder: h265: parser state after update dependent slice
2377           If the dependent_slice_segment_flag is true, most slice info derived from last slice.
2378           So we need check the slice type after we call populate_dependent_slice_hdr
2379
2380 2020-02-16 12:21:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2381
2382         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2383         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2384           libs: display: force RGBA image format for i965 driver
2385           Since commit 32bf6f1e GLTextureUpload is broken because i965
2386           doesn't report properly RGBA support. It could be possible to use RGBx
2387           but GLTextureUpload only regotiates RGBA.
2388           The simplest fix to this regression is adding synthetically the RGBA
2389           format in the internal format map.
2390
2391 2020-02-14 19:30:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2392
2393         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2394           libs: display: iterate all quirks table
2395           Instead of break at the fist foud quirk in the table, iterate all over
2396           so it would be feasible to add several quirks for one driver per
2397           element in array.
2398
2399 2020-02-25 12:05:28 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2400
2401         * gst-libs/gst/vaapi/gstvaapifilter.c:
2402           libs: filter: handle RGB to/from YUV color primary driver quirk
2403           The intel-media-driver (iHD) can't convert output color
2404           primaries when doing YUV to/from RGB CSC.  Thus, we must
2405           keep the output color primaries the same as the input
2406           color primaries for this case.
2407           fixes #238
2408
2409 2020-02-25 12:00:36 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2410
2411         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2412         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2413           libs: display: add YUV to/from RGB color primary quirk
2414           The intel-media-driver (iHD) can't convert output color
2415           primaries when doing YUV to/from RGB CSC.
2416
2417 2020-02-28 11:33:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2418
2419         * gst/vaapi/gstvaapivideomemory.c:
2420           Revert "vaapivideomemory: Store surface allocation flags."
2421           This reverts commit dd428cc4a12c2d5c694fcd3303811cf486002c9d because
2422           it rewrites the buffer size whilst surface allocation flags are
2423           stored when allocator_params_init() is called since fab890ce.
2424           Fix: #239
2425
2426 2020-01-27 18:19:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2427
2428         * gst/vaapi/gstvaapivideomemory.c:
2429           vaapivideomemory: Try surface with allocation flags.
2430           When a vaapi allocator is instantiated, it first try to generate a
2431           surface with the specified configuration.
2432           This patch adds, in this tried buffer, the requested allocation flags.
2433
2434 2020-01-27 18:10:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2435
2436         * gst/vaapi/gstvaapivideomemory.c:
2437           vaapivideomemory: Store surface allocation flags.
2438           Store surface allocation flags passed to the vaapi allocator in
2439           GObject's qdata, because it might be used by the vaapivideobufferpool
2440           when recreating the allocator given any resolution change.
2441
2442 2020-01-24 19:32:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2443
2444         * gst-libs/gst/vaapi/gstvaapisurface.c:
2445         * gst-libs/gst/vaapi/gstvaapisurface.h:
2446           libs: surface: Add hints to allocation flags.
2447           When creating surfaces it is possible to pass to VA hints of its usage,
2448           so the driver may do some optimizations.
2449           This commit adds the handling of encoding/decoding hints.
2450
2451 2020-01-24 22:08:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2452
2453         * gst-libs/gst/vaapi/gstvaapicontext.c:
2454         * gst-libs/gst/vaapi/gstvaapisurface.c:
2455         * gst-libs/gst/vaapi/gstvaapisurface.h:
2456         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
2457         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
2458         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
2459         * gst-libs/gst/vaapi/gstvaapiwindow.c:
2460         * tests/internal/test-filter.c:
2461         * tests/internal/test-surfaces.c:
2462           libs: surface: surfacepool: Add allocation flags in constructors.
2463
2464 2020-02-22 16:06:13 +0800  He Junyan <junyan.he@hotmail.com>
2465
2466         * meson.build:
2467           build: let the build fail if none if X11, wayland or drm.
2468           In fact, gst_vaapi_create_test_display only test x11, wayland and
2469           drm, no glx and egl entries. So if none of them is enabled, no
2470           vaapi element can be detected.
2471
2472 2020-02-21 00:58:47 +0800  He Junyan <junyan.he@hotmail.com>
2473
2474         * tests/internal/test-display.c:
2475           test: avoid unused warning for test-display
2476           meson -Dwith_x11=yes -Dwith_wayland=no -Dwith_drm=no -Dwith_egl=no
2477           -Dwith_glx=no buildir
2478           generate unused warnings.
2479
2480 2020-02-21 00:50:47 +0800  He Junyan <junyan.he@hotmail.com>
2481
2482         * meson.build:
2483           build: fix meson build error when without x11.
2484           meson -Dwith_x11=no build_dir
2485           can not success build the project because the glx is still enabled.
2486           We need to disable GLX when X11 is disabled.
2487
2488 2020-02-14 19:53:09 +0800  Haihao Xiang <haihao.xiang@intel.com>
2489
2490         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2491           libs: h265enc: Set max_transform_hierarchy_depth_{inter, intra} to 2
2492           Intel HW has limitation on max_transform_hierarchy_depth_inter and
2493           max_transform_hierarchy_depth_intra (see [1]). We can provide a quirk for
2494           other HWs if other HWs may support other values
2495           [1] https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-kbl-vol10-hevc.pdf
2496
2497 2020-02-21 07:37:50 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2498
2499         * gst/vaapi/gstvaapipostproc.c:
2500         * gst/vaapi/gstvaapipostprocutil.c:
2501           vaapipostproc: do not compensate for crop/direction if no VPP
2502           If we do not have functional VPP, then cropping and video
2503           direction is non-functional and we should avoid calling
2504           any of the gst_vaapi_filter* APIs.
2505
2506 2020-02-21 06:54:47 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2507
2508         * gst/vaapi/gstvaapipostproc.c:
2509           vaapipostproc: only set VPP colorimetry when VPP is available
2510           If we don't have functional vpp then we should not call
2511           gst_vaapi_filter_set_colorimetry.
2512
2513 2020-02-16 01:25:37 +0800  He Junyan <junyan.he@hotmail.com>
2514
2515         * gst/vaapi/gstvaapivideobufferpool.c:
2516         * gst/vaapi/gstvaapivideomemory.c:
2517         * gst/vaapi/gstvaapivideomemory.h:
2518           videobufferpool: don't reset surface when created internally
2519           The bug fixing, in commit 89f202ea, just considers the case when
2520           surface's DMABuf is set through gst_buffer_pool_acquire_buffer(),
2521           which is typically a decoder's behavior. But vaapipostproc doesn't
2522           provide any surface when calling gst_buffer_pool_acquire_buffer(),
2523           thus a surface is created when GstMemory is allocated.
2524           If the surface proxy in buffer's meta is reset at
2525           buffer_pool_reset_buffer(), that surface will be destroyed and it
2526           won't be available anymore. But GstBuffers are cached in the buffer
2527           pool and they are reused again, hence only those images are rendered
2528           repeatedly.
2529           Fixes: #232
2530
2531 2020-02-16 17:19:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2532
2533         * gst-libs/gst/vaapi/gstvaapiblend.c:
2534         * gst-libs/gst/vaapi/gstvaapifilter.c:
2535         * gst/vaapi/gstvaapi.c:
2536           libs: blend: filter: handle finalize() if display isn't assigned
2537           I've just discovered iHD driver in Skylake doesn't have VideoProc
2538           entry point, hence, in this platform, when vaapioverlay is tried to be
2539           registered, critical warnings are raised because blend doesn't have a
2540           display assigned.
2541           As it is possible to have drivers without EntryPointVideoProc it is
2542           required to handle it gracefully. This patch does that: only tries to
2543           register vaapioverlay if the testing display has VPP and finalize()
2544           vmethods, in filter and blend, bail out if display is NULL.
2545
2546 2020-02-15 11:02:49 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2547
2548         * gst-libs/gst/vaapi/gstvaapifilter.c:
2549         * gst-libs/gst/vaapi/gstvaapiutils.c:
2550           libs: filter: guard all color properties to VA-API 1.2.0
2551           Older VA-API (0.39.0) doesn't have VAProcColorProperties.
2552           Thus, guard all colorimetry -> VA-API support to version
2553           1.2.0.
2554           Fixes #234
2555
2556 2020-02-17 08:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2557
2558         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2559           libs: decoder: h265: set parser info state at decoding codec data
2560           Commit 1168d6d5 showed up a regression: decode_sps() stores the unit's
2561           parser info in sps array. If that parser info comes from decoding
2562           codec data, that parser info will have an undefined state which might
2563           break ensure_sps().
2564           This patch sets the parser info state, at decoding codec data, with
2565           the internal parser state. This is similar with h264 decoder apprach.
2566           Original-patch-by: Xu Guangxin <guangxin.xu@intel.com>
2567
2568 2020-02-07 15:24:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2569
2570         * gst/vaapi/gstvaapipostproc.c:
2571           vaapipostproc: demote log message to trace level
2572
2573 2020-02-14 14:45:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2574
2575         * gst-libs/gst/vaapi/video-format.c:
2576           libs: video-format: set general vaapi log category
2577           Instead of logging in an unspecified category, set the default vaapi.
2578
2579 2020-02-15 11:44:48 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2580
2581         * gst-libs/gst/vaapi/gstvaapiutils.c:
2582           libs: utils: guard EncSliceLP for VA-API < 0.39.1
2583           Relates to #234
2584
2585 2020-02-14 16:17:04 +0800  Haihao Xiang <haihao.xiang@intel.com>
2586
2587         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2588           libs: h265enc: Set VA_PICTURE_HEVC_INVALID flag for invalid picture
2589
2590 2020-02-11 11:31:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2591
2592         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
2593         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2594         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2595           libs: remove crumbs of libva < 0.39
2596           All these guarded code seem like leftovers of commit 920b1ec7a. This
2597           patch completes that missing clean up.
2598
2599 2020-02-11 00:38:40 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2600
2601         * gst-libs/gst/vaapi/gstvaapifilter.c:
2602         * gst-libs/gst/vaapi/gstvaapiutils.c:
2603           libs: VA explicit color standard not supported until 1.2.0
2604           VAProcColorStandardExplicit and associated VAProcColorProperties
2605           (primaries, transfer and matrix) are not supported until
2606           VA-API 1.2.0.
2607           Use VAProcColorStandardNone instead of VAProcColorStandardExplicit
2608           if VA-API < 1.2.0.
2609           Fixes #231
2610
2611 2020-02-10 09:31:15 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2612
2613         * gst-libs/gst/vaapi/gstvaapiutils.c:
2614           libs: utils: WA: use explicit for sRGB colorimetry
2615           Addresses #228 on iHD side.  It seems iHD can't handle
2616           VAProcColorStandardSRGB in all situations for vpp.  But
2617           it has no problem when we specify the sRGB parameters
2618           via VAProcColorStandardExplicit parameters.
2619
2620 2020-02-07 11:25:31 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2621
2622         * gst-libs/gst/vaapi/gstvaapifilter.c:
2623           libs: filter: set vpp input/output color range
2624           We've always sent VA_SOURCE_RANGE_UNKNOWN to the driver.
2625           And, the [iHD] driver essentially computes the same color
2626           range as gstreamer when we send VA_SOURCE_RANGE_UNKNOWN for
2627           cases were gstreamer computes it automatically.  But,
2628           if the user wants to make it explicit, we should try
2629           to honor it.
2630
2631 2020-02-07 11:20:11 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2632
2633         * gst-libs/gst/vaapi/gstvaapiutils.c:
2634         * gst-libs/gst/vaapi/gstvaapiutils.h:
2635           libs: utils: map GstVideoColorRange to VAAPI VPP
2636
2637 2020-02-07 15:28:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2638
2639         * gst/vaapi/gstvaapidecode.c:
2640           vaapidecode: don't remove chroma-site nor colorimetry
2641           Since now they can be handled by vaapipostproc.
2642
2643 2020-02-04 14:17:43 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2644
2645         * gst/vaapi/gstvaapipostprocutil.c:
2646           vaapipostproc: use sink resolution to calculate src colorimetry
2647           The default output colorimetry is persuaded by the output
2648           resolution, which is too naive when doing VPP cropping
2649           and/or scaling.  For example, scaling 4K(sink)->1080P(src)
2650           resolution (i.e. both YUV) results in bt2020(sink)->bt709(src)
2651           colorimetry selection and some drivers don't support that
2652           mode in vpp.
2653           Thus, if output (i.e. downstream) does not specify a
2654           colorimetry then we use the input resolution instead of the
2655           output resolution to create the default colorimetry.  Also,
2656           note that we still use the output format since it may be a
2657           different color space than the input.  As in the example
2658           above, this will result in bt2020(sink)->bt2020(src)
2659           colorimetry selection and all drivers (afaik) should support
2660           that in vpp.
2661
2662 2020-02-04 09:57:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2663
2664         * gst/vaapi/gstvaapipostprocutil.c:
2665           vaapipostproc: set srcpad colorimetry unconditionally
2666           We always need a srcpad colorimetry for VAAPI VPP
2667           operations.
2668           Also, check the return value of _set_colorimetry.
2669
2670 2020-01-30 12:34:07 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2671
2672         * gst/vaapi/gstvaapipostprocutil.c:
2673           vaapipostproc: do not override explicit srcpad colorimetry
2674           If colorimetry has been set by a capsfilter (e.g.
2675           vaapipostproc ! video/x-raw,colorimetry=bt709) then
2676           don't try to override it.  Previously, the aforementioned
2677           capsfilter will fail to negotiate if default colorimetry
2678           is not the same as the capsfilter (e.g. 4K resolutions).
2679
2680 2020-01-30 09:37:18 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2681
2682         * gst/vaapi/gstvaapipostproc.c:
2683           vaapipostproc: set vpp filter colorimetry
2684           Set the input and output colorimetry for vpp filter.
2685
2686 2020-01-30 09:34:10 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2687
2688         * gst-libs/gst/vaapi/gstvaapifilter.c:
2689         * gst-libs/gst/vaapi/gstvaapifilter.h:
2690           libs: filter: support vpp input/output color standard
2691           Add API function to allow setting the input and output vpp
2692           color standard from GstVideoColorimetry.
2693
2694 2020-02-04 11:32:54 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2695
2696         * gst-libs/gst/vaapi/gstvaapiutils.c:
2697         * gst-libs/gst/vaapi/gstvaapiutils.h:
2698           libs: utils: map GstVideoColorimetry to VAAPI VPP
2699           Fallback to VAProcColorStandardExplicit if there is no
2700           1:1 mapping.
2701
2702 2020-02-04 10:27:23 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2703
2704         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2705         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2706           libs: display: add vpp color standard quirk for i965 driver
2707           The i965 does not properly report supported vpp color
2708           standards.
2709
2710 2020-02-02 18:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2711
2712         * gst/vaapi/gstvaapivideobufferpool.c:
2713           vaapivideobufferpool: dmabuf implies allocator
2714           Some code can be optimized since only if the dmabuf allocator is set,
2715           the internal flag of dmabuf is TRUE, thus there's no need to evaluate
2716           the allocator address.
2717
2718 2020-01-29 11:55:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2719
2720         * gst/vaapi/gstvaapivideobufferpool.c:
2721           vaapivideobufferpool: reject configuration if allocator isn't vaapi
2722           If the requested allocator in set_config() is not a VAAPI valid one,
2723           reject the configuration, instead of lying and using a private one.
2724           This patch superseeds !254 and !24
2725
2726 2020-01-29 11:55:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2727
2728         * gst/vaapi/gstvaapivideobufferpool.c:
2729           vaapivideobufferpool: add explanation for allocator reconfig
2730
2731 2020-01-29 11:54:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2732
2733         * gst/vaapi/gstvaapivideobufferpool.c:
2734           vaapivideobufferpool: check for vaapi meta first
2735           If the configured meta doesn't request vaapi meta then it is not a
2736           vaapi buffer pool. Bail out as soon as possible.
2737
2738 2020-01-29 11:52:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2739
2740         * gst/vaapi/gstvaapivideobufferpool.c:
2741           vaapivideobufferpool: turn errors into warnings
2742           set_config() vmethod should fail gracefully, thus upstream could
2743           negotiate another pool if possible.
2744           Instead of sending error messages to the bus, let demote the level
2745           to warning.
2746
2747 2020-01-29 11:51:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2748
2749         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2750           libs: display: log out vendor string when available
2751           This is useful while asking for logs to know the used driver.
2752
2753 2020-01-27 11:49:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2754
2755         * gst-libs/gst/vaapi/gstvaapisurface.c:
2756           libs: surface: initialize VASurfaceAttribExternalBuffers
2757           Initialize VASurfaceAttribExternalBuffers using compiler's syntax
2758           rather than using memset().
2759
2760 2020-01-27 11:44:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2761
2762         * gst-libs/gst/vaapi/gstvaapisurface.c:
2763           libs: surface: merge two loops into one
2764           Merge two loops into one for setting offsets and strides in the
2765           external buffer descriptor.
2766
2767 2020-01-22 10:42:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2768
2769         * gst-libs/gst/vaapi/gstvaapisurface.c:
2770         * gst-libs/gst/vaapi/gstvaapisurface.h:
2771         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
2772         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
2773           libs: surface: surfacepool: rename variable for clearity
2774           In order to be readable, the meaningless 'flags' is renamed to
2775           surface_allocation_flags, which is clearer.
2776
2777 2020-01-27 18:40:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2778
2779         * gst/vaapi/gstvaapivideobufferpool.c:
2780           vaapivideobufferpool: Reuse internal allocator is possible.
2781           Instead of creating a new allocator when upstream requests a different
2782           allocator, this patch tries to reuse the internal allocator if it was
2783           already initializated.
2784           If the stream changes, then either one will be unref and a new
2785           allocator is created.
2786
2787 2020-01-27 18:05:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2788
2789         * gst/vaapi/gstvaapivideobufferpool.c:
2790           vaapivideobufferpool: Log messages in proper category.
2791           The log messages where logged in the GstBufferPool category because
2792           the instance was not properly casted. This fix that situation.
2793
2794 2020-01-16 11:49:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2795
2796         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2797         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2798         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
2799         * gst/vaapi/gstvaapipluginbase.c:
2800           libs: display: driver quirks mechanism
2801           This mechanism comes from ffmpeg vaapi implementation, where they have
2802           their own quirks.
2803           A specific driver is identified by a substring present in the vendor
2804           string. If that substring is found, a set of bitwise flags are store.
2805           These flags can be accessed through the function
2806           gst_vaapi_display_has_driver_quirks().
2807           The purpose for this first quirks is to disable the put image try for
2808           AMD Gallium driver (see [1]).
2809           1. https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/72
2810
2811 2020-01-15 23:07:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2812
2813         * gst/vaapi/gstvaapipluginutil.c:
2814           plugins: renable Mesa Gallium driver
2815
2816 2020-01-24 11:55:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2817
2818         * gst/vaapi/gstvaapivideobufferpool.c:
2819           vaapivideobufferpool: validate returned meta
2820           Validate if the meta returned by gst_buffer_get_vaapi_video_meta() in
2821           the acquired buffer is not null.
2822           This situation should be very "pathological", but still it is better
2823           be safe since that meta might be used later to create a new dma
2824           buffer.
2825
2826 2020-01-22 18:50:36 +0100  Philipp Zabel <p.zabel@pengutronix.de>
2827
2828         * gst/vaapi/gstvaapivideobufferpool.c:
2829           vaapivideobufferpool: always update/release the underlying surface proxy
2830           gst_vaapi_video_buffer_pool_reset_buffer() is called when the sink
2831           releases the last reference on an exported DMA buffer. This should
2832           release the underlying surface proxy. To avoid releasing the wrong
2833           surface due to a stale surface proxy reference in the buffer's
2834           GstVaapiVideoMeta, always update the reference to the correct surface
2835           in gst_vaapi_video_buffer_pool_acquire_buffer().
2836
2837 2020-01-23 16:56:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2838
2839         * gst-libs/gst/vaapi/gstvaapicontext.c:
2840         * gst-libs/gst/vaapi/gstvaapicontext.h:
2841         * gst-libs/gst/vaapi/gstvaapisurface.c:
2842         * gst-libs/gst/vaapi/gstvaapisurface.h:
2843           libs: context: select vaCreateSurfaces version according attributes
2844           This commit tries to centralize the selection of vaCreateSurfaces
2845           version, instead of having fallbacks everywhere.
2846           These fallbacks are hacks, added because new drivers use the latest
2847           version of vaCreateSurfaces (with surface attributes) [1], meanwhile
2848           old drivers (or profiles as JPEG decoder in i965) might rather use the
2849           old version.
2850           In order to select which method, there's detected hack: each config
2851           context has a list of valid formats, in the case of JPEG decoder the
2852           list only contains "rare" 4:2:2 formats (ICM3, GRAY8) which aren't
2853           handled correctly by the current gstreamer-vaapi code [2].
2854           The hack consist in identify if the format list contains an arbitrary
2855           preferred format (which is suposedly well supported by
2856           gstreamer-vaapi, mostly NV12). If no prefered colour format is found,
2857           the the old version of vaCreateSurfaces is used, and the surfaces wil
2858           be mapped into a image with their own color format.
2859           1. https://bugzilla.gnome.org/show_bug.cgi?id=797143
2860           2. https://bugzilla.gnome.org/show_bug.cgi?id=797222
2861
2862 2020-01-21 19:35:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2863
2864         * gst-libs/gst/vaapi/gstvaapicontext.c:
2865           libs: context: add debug category for context
2866
2867 2020-01-22 20:20:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2868
2869         * gst-libs/gst/vaapi/gstvaapiblend.c:
2870           libs: blend: guard VA_BLEND_GLOBAL_ALPHA
2871
2872 2020-01-21 14:09:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2873
2874         * gst/vaapi/gstvaapiencode_h264.c:
2875           vaapiencode: promote info to warning
2876           Let's notify user about using constrained-baseline instead on
2877           requested basline profile.
2878
2879 2019-06-28 15:41:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
2880
2881         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2882         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
2883         * gst/vaapi/gstvaapidecode.c:
2884         * gst/vaapi/gstvaapidecode_props.c:
2885         * gst/vaapi/gstvaapidecode_props.h:
2886           vaapih264dec: Add a property to assume constrained-baseline
2887           When baseline-as-constrained is set, the decoder will expose support
2888           for baseline decoding and assume that the baseline content is
2889           constrained-baseline. This can be handy to decode streams in hardware
2890           that would otherwise not be possible to decode. A lot of baseline
2891           content is in fact constrained.
2892
2893 2020-01-17 16:19:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2894
2895         * gst/vaapi/gstvaapiencode_h264.c:
2896         * gst/vaapi/gstvaapipluginutil.c:
2897           vaapih264enc: accept baseline as constrained baseline compatible
2898
2899 2020-01-17 14:24:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2900
2901         * gst/vaapi/gstvaapiencode_h264.c:
2902           vaapih264enc: update level in src caps
2903           And, if downstream requests a specific level, the caps are not
2904           negotiated, because there is no mechanism right now to specify a
2905           custom level in the internal encoder.
2906
2907 2020-01-17 17:12:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2908
2909         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2910           libs: encoder: h264: document gst_vaapi_encoder_h264_supports_avc()
2911
2912 2020-01-17 13:38:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2913
2914         * gst/vaapi/gstvaapiencode_h264.c:
2915           vaapih264enc: force byte-stream if avc isn't supported
2916           Removing the validation in gst_vaapiencode_h264_get_caps() since that
2917           ought be handled in gst_vaapiencode_h264_set_config()
2918
2919 2020-01-08 17:37:22 +0100  Philipp Zabel <p.zabel@pengutronix.de>
2920
2921         * gst/vaapi/gstvaapiencode_h264.c:
2922           vaaph264enc: suppress avc if the driver does not support packed headers
2923           Do not negotiate AVC output if the driver does not support it.
2924
2925 2020-01-08 17:16:35 +0100  Philipp Zabel <p.zabel@pengutronix.de>
2926
2927         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2928         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2929           libs: encoder: h264: Add gst_vaapi_encoder_h264_supports_avc()
2930           AVC output requires packed header support in the driver.
2931
2932 2020-01-17 13:07:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2933
2934         * gst/vaapi/gstvaapiencode_h264.c:
2935           vaapih264enc: intersect the new proposed caps
2936           Instead of just leave to keep the proposed caps, with the best profile
2937           in the allowed caps, is its intersected again.
2938
2939 2020-01-17 12:58:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2940
2941         * gst/vaapi/gstvaapiencode_h264.c:
2942           vaapih264enc: propose new profile caps and fixate it
2943           When the available caps doesn't intersect with the allowed caps in the
2944           pipeline, a new caps is proposed rather than just expecting to
2945           iterate.
2946           Later, the intersected caps (profile_caps) is fixated in order to
2947           extract the configuration.
2948
2949 2020-01-17 13:18:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2950
2951         * gst/vaapi/gstvaapiencode_h264.c:
2952           vaapih264enc: common fail for gst_vaapiencode_h264_set_config()
2953           Add a common fail code path for gst_vaapiencode_h264_set_config().
2954
2955 2020-01-17 12:54:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2956
2957         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2958           libs: encoder: unref formats array if none
2959           The formats array is always created, in order to keep the logic and
2960           to avoid broken caps, if this formats array doesn't contain any
2961           elements, it has to be unref and the function should return NULL.
2962
2963 2020-01-17 14:22:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2964
2965         * gst/vaapi/gstvaapiencode_h264.c:
2966           vaapih264enc: fix log message
2967           Before the log wasn't processed because wrong instance pointer.
2968
2969 2019-06-22 00:44:25 +0800  He Junyan <junyan.he@hotmail.com>
2970
2971         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2972         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2973         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2974         * gst/vaapi/gstvaapiencode_h265.c:
2975           plugin: encode: Add H265 main-444 profile.
2976           Expose the main-444 profile to h265enc caps, when the upstream
2977           chooses to use VUYA as input, we choose main 4:4:4 profile to encode
2978           the frames.
2979
2980 2020-01-15 19:36:00 +0800  He Junyan <junyan.he@hotmail.com>
2981
2982         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2983           libs: encoder: h265: Consider main-444 profile when encoding.
2984           Add support of main-444 profile for parameter setting and packed header
2985           generation.
2986
2987 2020-01-15 23:04:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2988
2989         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2990         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2991         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
2992         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
2993         * gst/vaapi/gstvaapiencode.c:
2994           vaapiencode: DMABuf only if PRIME is available
2995           Add DMABuf capsfeature in encoders' allowed sinkcaps only if PRIME
2996           memory type is available in the VA surface attributes of codec
2997           context.
2998
2999 2020-01-16 09:14:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
3000
3001         * hooks/pre-commit.hook:
3002           Add hooks/pre-commit.hook
3003           meson.build in gstreamer-vaapi requires hooks/pre-commit.hook
3004           Copied and pasted pre-commit.hook from other gstreamer modules to make
3005           sure gstreamer-vaapi follows the same code style
3006
3007 2019-12-26 16:45:51 +0800  He Junyan <junyan.he@hotmail.com>
3008
3009         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3010           libs: encoder: h265: Set encoder paramters base on entrypoint.
3011           When the tune is NONE, we now can choose entrypoint freely. So the
3012           GST_VAAPI_ENCODER_TUNE macro may not return the correct current
3013           entrypoint.
3014           We also delay CTU size calculation after entrypoint has been decided.
3015
3016 2019-12-28 19:18:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3017
3018         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
3019         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
3020         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
3021         * gst-libs/gst/vaapi/gstvaapicontext.c:
3022         * gst-libs/gst/vaapi/gstvaapicontext.h:
3023         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3024         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3025         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3026         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
3027         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
3028         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
3029         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
3030         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
3031         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
3032         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
3033         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3034         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
3035         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
3036         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
3037         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
3038         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
3039         * gst-libs/gst/vaapi/gstvaapiprofile.c:
3040         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3041         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
3042         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
3043         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
3044         * gst-libs/gst/vaapi/meson.build:
3045         * gst/vaapi/gstvaapi.c:
3046         * gst/vaapi/gstvaapiencode.c:
3047         * gst/vaapi/gstvaapiencode.h:
3048         * gst/vaapi/gstvaapiencode_h264_fei.c:
3049         * gst/vaapi/gstvaapiencode_h264_fei.h:
3050         * gst/vaapi/gstvaapifeivideometa.c:
3051         * gst/vaapi/gstvaapifeivideometa.h:
3052         * gst/vaapi/meson.build:
3053         * meson.build:
3054         * tests/internal/meson.build:
3055         * tests/internal/test-fei-enc-in.c:
3056         * tests/internal/test-fei-enc-out.c:
3057           Remove all FEI related
3058           FEI encoders are not actively mantained neither tested, and it is
3059           using infrastructure that is changing and FEI is stopping this
3060           effort.
3061           Also it is required to rethink how FEI can be used in GStreamer.
3062
3063 2020-01-14 11:17:49 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3064
3065         * gst/vaapi/gstvaapioverlay.c:
3066           vaapioverlay: ensure sinkpad has current buffer
3067           Use the gst_video_aggregator_pad_has_current_buffer API
3068           to check if the current sinkpad has a queued buffer before
3069           attempting to obtain a input buffer from the base plugin.
3070           If the sinkpad does not have a current buffer, then it is
3071           either not producing them yet (e.g. current time < sinkpad
3072           start time) or it has reached EOS.
3073           Previously, we only handled EOS case.
3074           Example:
3075           gst-launch-1.0 videotestsrc num-buffers=100 \
3076           ! vaapipostproc ! vaapioverlay name=overlay \
3077           ! vaapisink videotestsrc timestamp-offset=1000000000 \
3078           num-buffers=100 ! video/x-raw,width=160,height=120 \
3079           ! overlay.
3080
3081 2020-01-14 18:57:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3082
3083         * gst/vaapi/gstvaapioverlay.c:
3084           vaapioverlay: unroll the recursive call
3085           Recursive functions are elegant but dangerous since they might
3086           overflow the stack. It is better to turn them into a list tranversal
3087           if possible, as this case.
3088
3089 2020-01-14 18:46:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3090
3091         * gst-libs/gst/vaapi/gstvaapiblend.c:
3092         * gst/vaapi/gstvaapioverlay.c:
3093           vaapioverlay: add minimal documentation
3094
3095 2020-01-14 18:25:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3096
3097         * gst-libs/gst/vaapi/gstvaapiblend.c:
3098         * gst-libs/gst/vaapi/gstvaapiblend.h:
3099         * gst/vaapi/gstvaapioverlay.c:
3100           libs: blend: simplify generator API
3101           Instead of using a parent structure that has to be derived by API
3102           consumers, this change propse a simplification by using the common
3103           pattern of GTK of passing a function pointer and user data which will
3104           be passed as its parameter. That user data contains the state and the
3105           function will be called to update that state.
3106
3107 2020-01-10 10:14:38 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3108
3109         * gst-libs/gst/vaapi/gstvaapiblend.c:
3110         * gst-libs/gst/vaapi/gstvaapiblend.h:
3111           libs: blend: remove begin/render/end API
3112           This API was risky and is superseded by the surface
3113           generator (process) API.
3114           Resolves #219
3115
3116 2020-01-10 10:12:36 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3117
3118         * gst/vaapi/gstvaapioverlay.c:
3119           vaapioverlay: use blend surface generator API
3120           See #219
3121
3122 2020-01-10 09:54:30 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3123
3124         * gst-libs/gst/vaapi/gstvaapiblend.c:
3125         * gst-libs/gst/vaapi/gstvaapiblend.h:
3126           libs: blend: add surface generator API
3127           This new API allows the user to call a single method (process)
3128           which handles the [display] lock/unlock logic internally for
3129           them.
3130           This API supersedes the risky begin, render, end API.
3131           It eliminates the need for the user to call a lock method
3132           (process_begin) before processing the input buffers
3133           (process_render) and calling an unlock method (process_end)
3134           afterwards.
3135           See #219
3136
3137 2019-12-23 14:29:08 +0800  He Junyan <junyan.he@hotmail.com>
3138
3139         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3140         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3141         * gst/vaapi/gstvaapiencode.c:
3142         * gst/vaapi/gstvaapiencode.h:
3143         * gst/vaapi/gstvaapiencode_h264.c:
3144         * gst/vaapi/gstvaapiencode_h265.c:
3145           plugin: encode: List all possible profiles to detect input formats.
3146           The current get_profile just return one possible profile for the encode,
3147           which is not enough.  For example, if we want to support HEVC 4:4:4
3148           profile, the input of encode should be VYUA rather than NV12 in HEVC
3149           main profile. So the command line:
3150           gst-launch-1.0 videotestsrc num-buffers=200 ! capsfilter \
3151           caps=video/x-raw,format=VUYA,width=800,height=600 ! vaapih265enc \
3152           tune=low-power init-qp=30 ! fakesink
3153           can not work because vaapih265enc just report NV12 in sink caps, we need
3154           to specify the profile obviously like:
3155           gst-launch-1.0 videotestsrc num-buffers=200 ! capsfilter \
3156           caps=video/x-raw,format=VUYA,width=800,height=600 ! vaapih265enc \
3157           tune=low-power init-qp=30 ! capsfilter caps=video/x-h265, \
3158           profile=main-444 ! fakesink
3159           The encode should have the ability to choose the profile based on input
3160           format automatically. If the input video format is VUYA, the main-444
3161           profile should be auto choosed.
3162           We modify to let get_allowed_profiles of each encode sub class to return
3163           an array of all supported profiles based on downstream's allowed caps, or
3164           return NULL if no valid profiles specified by downstream.
3165           If no allowed profiles found, all profiles which belong to the current
3166           encoder's codec will be the candidates.
3167           The function gst_vaapi_encoder_get_surface_attributes collects the surface's
3168           attributes for that profile list we just get.
3169           So for this case, both NV12 and VUYA should be returned.
3170           TODO: some codec like VP9, need to implement the get_profile() function.
3171
3172 2020-01-08 15:07:36 +0800  He Junyan <junyan.he@hotmail.com>
3173
3174         * gst/vaapi/gstvaapipluginutil.c:
3175         * gst/vaapi/gstvaapipluginutil.h:
3176           plugin: util: add helper function to detect profiles in caps.
3177
3178 2020-01-08 15:04:18 +0800  He Junyan <junyan.he@hotmail.com>
3179
3180         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3181         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3182           libs: encoder: add a helper function to get all supported profiles
3183
3184 2020-01-13 15:34:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
3185
3186         * gst-libs/gst/vaapi/gstvaapidecoder.c:
3187           libs: decoder: Don't unref null object
3188           ** (gst-launch-1.0:9789): CRITICAL **: 15:29:09.330:
3189           gst_vaapi_context_unref: assertion 'context != NULL' failed
3190
3191 2020-01-10 09:26:44 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3192
3193         * gst/vaapi/gstvaapioverlay.c:
3194           plugins: overlay: use proper NULL check on double pointer
3195           Check the address of the variable is not NULL,
3196           not the address of the pointer.
3197
3198 2020-01-08 23:42:21 +0800  He Junyan <junyan.he@hotmail.com>
3199
3200         * gst-libs/gst/vaapi/gstvaapicodedbuffer_priv.h:
3201           libs: codedbuf: delete a useless field.
3202           The context field in GstVaapiCodedBuffer is not inited correctly
3203           and is never used, just delete it.
3204
3205 2019-12-29 17:57:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3206
3207         * gst/vaapi/gstvaapipluginutil.c:
3208           plugins: add iHD driver in whitelist
3209
3210 2020-01-02 21:02:40 +0800  He Junyan <junyan.he@hotmail.com>
3211
3212         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3213           libs: encoder: modify 265 SPS header's profile compatibility flag.
3214           Make the SPS profile compatibility flags more precisely conform to
3215           the HEVC Spec.
3216
3217 2020-01-06 19:39:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3218
3219         * tests/check/elements/vaapioverlay.c:
3220           test: vaapioverlay: bail test if not available
3221           vaapioverlay is only registered if the VA driver support the blend
3222           operation.
3223           This patch only executes the test if vaapioverlay is available,
3224           otherwise the test is bail out without raising an error.
3225
3226 2020-01-06 14:53:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3227
3228         * tests/check/elements/vaapioverlay.c:
3229           tests: vaapioverlay: force drm backend
3230
3231 2019-12-22 17:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3232
3233         * gst-libs/gst/vaapi/gstvaapiblend.c:
3234           libs: blend: update to new mini-object API
3235
3236 2019-11-19 13:48:22 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3237
3238         * tests/check/elements/vaapioverlay.c:
3239         * tests/check/meson.build:
3240           tests: check: add basic vaapioverlay test
3241           Add test_overlay_position test to verify sink_1 input
3242           is overlayed onto sink_0 input at the appropriate
3243           position.
3244
3245 2019-11-14 12:03:57 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3246
3247         * gst/vaapi/gstvaapi.c:
3248         * gst/vaapi/gstvaapioverlay.c:
3249         * gst/vaapi/gstvaapioverlay.h:
3250         * gst/vaapi/meson.build:
3251           plugins: add vaapioverlay plugin
3252           A plugin similar to the base compositor element but
3253           uses VA-API VPP blend functions to accelerate the
3254           overlay/compositing.
3255           Simple example:
3256           gst-launch-1.0 -vf videotestsrc ! vaapipostproc \
3257           ! tee name=testsrc ! queue \
3258           ! vaapioverlay sink_1::xpos=300 sink_1::alpha=0.75 \
3259           name=overlay ! vaapisink testsrc. ! queue ! overlay.
3260
3261 2019-11-14 12:02:19 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3262
3263         * gst-libs/gst/vaapi/gstvaapiblend.c:
3264         * gst-libs/gst/vaapi/gstvaapiblend.h:
3265         * gst-libs/gst/vaapi/meson.build:
3266           libs: add a vaapi blend class
3267           Support for the VA-API VPP blend functions.
3268
3269 2019-11-14 11:54:59 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3270
3271         * gst/vaapi/gstvaapipluginbase.c:
3272         * gst/vaapi/gstvaapipluginbase.h:
3273           plugins: base: add GstVideoAggregator subclass support
3274
3275 2020-01-05 19:32:16 +0800  He Junyan <junyan.he@hotmail.com>
3276
3277         * gst-libs/gst/vaapi/gstvaapiimage.c:
3278           libs: image: init all image fields correctly.
3279
3280 2020-01-06 17:41:53 +0100  Stéphane Cerveau <scerveau@collabora.com>
3281
3282         * gst/vaapi/gstvaapipostproc.c:
3283           doc: fix pipeline typo in vaapipostproc
3284
3285 2020-01-02 21:11:44 +0800  He Junyan <junyan.he@hotmail.com>
3286
3287         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3288           libs: encoder: modify 265 VPS header fields.
3289           vps_base_layer_internal_flag and vps_base_layer_available_flag
3290           have been clearly defined now.
3291
3292 2020-01-01 19:54:13 +0800  He Junyan <junyan.he@hotmail.com>
3293
3294         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
3295           libs: display: fix a resource leak in X11 pixmap format.
3296
3297 2020-01-02 18:00:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3298
3299         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
3300         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
3301           libs: utils: delete useless gst_vaapi_profile_caps_append_encoder.
3302
3303 2019-12-30 14:09:17 +0800  He Junyan <junyan.he@hotmail.com>
3304
3305         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3306         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3307         * gst/vaapi/gstvaapiencode.c:
3308           libs: encoder: get surfaces resolution the same time with formats.
3309           We can get all the information about the video format at one shot
3310           when we create the test context for getting the supported formats.
3311           The current way to get the width and height ranges are inefficient,
3312           since it calls the function gst_vaapi_profile_caps_append_encoder()
3313           and it creates another temporal context to detect the resolution
3314           information.
3315           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3316
3317 2019-12-28 17:42:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3318
3319         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3320           libs: encoder: vp9: fix code style
3321
3322 2019-12-16 23:19:46 +0800  He Junyan <junyan.he@hotmail.com>
3323
3324         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3325         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3326         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3327         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3328         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3329           libs: encoder: set entrypoint based on tune automatically
3330           Some profile, such as H265_MAIN_444 on new Intel platform, may only
3331           support ENTRYPOINT_SLICE_ENCODE_LP entrypoint. This leads two
3332           problems:
3333           1. We need to specify the tune mode like `vaapih265enc tune=low-power`
3334           every time when we need to use this kind of profile. Or we can not
3335           create the encoder context successfully.
3336           2. More seriously, we set the entrypoint to a fixed value in
3337           init_context_info() and so the create_test_context_config() can not
3338           create the test context for these profile and can not get the
3339           supported video formats, either.
3340           We now change the entrypoint setting based on the tune option of the
3341           encoder. If no tune property provided, we just choose the first
3342           available entrypoint.
3343
3344 2019-12-16 23:19:46 +0800  He Junyan <junyan.he@hotmail.com>
3345
3346         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3347         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3348         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3349         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3350         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3351         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3352         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3353           libs: encoder: set context info profile by encoder
3354           Instead of init_context_info() setting the passed profile, it is
3355           assumed that it has to be set by each encoder.
3356           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3357
3358 2019-12-27 18:49:02 +0100  He Junyan <junyan.he@hotmail.com>
3359
3360         * gst-libs/gst/vaapi/gstvaapicontext.c:
3361         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3362           libs: context: add invalid entrypoint symbol
3363           The symbol GST_VAAPI_ENTRYPOINT_INVALID is just a representation of
3364           zero, which was already used as an invalid value tacitly. This patch
3365           only makes it explicit.
3366           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3367
3368 2019-12-29 01:13:29 +0800  He Junyan <junyan.he@hotmail.com>
3369
3370         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
3371           libs: pixmap: Fix a pixmap creation crash.
3372           We use GST_VAAPI_OBJECT_NATIVE_DISPLAY with wrong parameter for x11
3373           pixmap creation, which causes crash if we run the internal test case
3374           of:
3375           test-decode --pixmap
3376
3377 2019-12-22 14:35:18 +0800  He Junyan <junyan.he@hotmail.com>
3378
3379         * gst/vaapi/gstvaapiencode.c:
3380           plugin: encode: set allowed_sinkpad_caps to empty.
3381           We now set encode->allowed_sinkpad_caps to NULL if we fail to get
3382           surfaces formats. This causes two problem:
3383           1. gst_video_encoder_proxy_getcaps use NULL as its caps parameter,
3384           which changes its behavior. It will use encode's sinkpad template
3385           rather than empty caps to do the clip job. So even if we fail to set
3386           allowed_sinkpad_caps, gst_video_encoder_proxy_getcaps can still return
3387           valid caps.
3388           2. We should just set the allowed_sinkpad_caps once. The NULL point
3389           make the ensure_allowed_sinkpad_caps function works again and again.
3390
3391 2019-12-22 15:22:57 +0800  He Junyan <junyan.he@hotmail.com>
3392
3393         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3394           libs: encoder: Add NULL pointer check for context when finalize.
3395           Context may be NULL if pipeline fail in early stage, and the
3396           ensure_context will not be called. Need to add a pointer protection
3397           for it.
3398
3399 2019-12-20 06:38:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3400
3401         * gst/vaapi/gstvaapipluginbase.c:
3402           plugins: base: do not reset can_dmabuf
3403           Don't reset the can_dmabuf field.  This restores the
3404           close/reset logic that existed prior to commit
3405           ca2942176b5632e07eebac23336954f9aaf1cb26 in regards to
3406           dmabuf support.
3407           Plugins only call gst_vaapi_plugin_base_set_srcpad_can_dmabuf
3408           once during startup, but may need to reset the other private
3409           fields multiple times during negotiation.  Thus, can_dmabuf
3410           should be exempt from the resets.
3411           Fixes #208
3412
3413 2019-12-06 00:21:12 +0800  He Junyan <junyan.he@hotmail.com>
3414
3415         * gst/vaapi/gstvaapiencode.c:
3416           plugin: encode: Refine encode's sink caps.
3417           The old manner to get the encode's sink caps is not correct.
3418           Such as 264 encode, it gets:
3419           video/x-raw(memory:VASurface),
3420           format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210,
3421           P010_10LE, AYUV, Y410, Y444 }, width=(int)[ 32, 4096 ],
3422           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ];
3423           video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA },
3424           width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ],
3425           framerate=(fraction)[ 0/1, 2147483647/1 ];
3426           video/x-raw, format=(string){ NV12 }, width=(int)[ 32, 4096 ],
3427           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
3428           where the formats for memory:VASurface and memory:DMABuf are superfluous.
3429           All the "I420, YV12, YUY2, UYVY, Y210, RGBA" can not be really used as
3430           input format for encoder.
3431           We should get:
3432           video/x-raw, format=(string){ NV12 }, width=(int)[ 32, 4096 ],
3433           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ];
3434           video/x-raw(memory:VASurface), format=(string){ NV12 },
3435           width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ],
3436           framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf),
3437           format=(string){ NV12 }, width=(int)[ 32, 4096 ],
3438           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
3439           as the correct result.
3440
3441 2019-12-20 08:37:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3442
3443         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3444         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3445           libs: display: code clean up
3446
3447 2019-12-12 21:34:21 +0800  He Junyan <junyan.he@hotmail.com>
3448
3449         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3450         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
3451         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3452           libs: display: refine the profile/entrypoint map.
3453           The old way make the one config for each profile/entrypoint pair,
3454           which is not very convenient for description the relationship
3455           between them. One profile may contain more than one entrypoints
3456           to within it, so a set like data structure should be more suitable.
3457
3458 2019-12-19 14:19:10 +0100  He Junyan <junyan.he@hotmail.com>
3459
3460         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
3461         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
3462         * gst-libs/gst/vaapi/gstvaapicontext.c:
3463         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3464         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
3465         * gst-libs/gst/vaapi/gstvaapifilter.c:
3466         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
3467         * gst-libs/gst/vaapi/gstvaapisurface.c:
3468         * gst-libs/gst/vaapi/gstvaapisurface.h:
3469         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
3470         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
3471         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
3472         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
3473         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
3474         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
3475         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
3476         * gst-libs/gst/vaapi/gstvaapivideopool.c:
3477         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3478         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3479         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3480         * gst/vaapi/gstvaapipluginbase.c:
3481         * gst/vaapi/gstvaapivideomemory.c:
3482         * gst/vaapi/gstvaapivideometa.c:
3483         * gst/vaapi/gstvaapivideometa_texture.c:
3484         * tests/internal/image.c:
3485         * tests/internal/test-filter.c:
3486         * tests/internal/test-surfaces.c:
3487         * tests/internal/test-windows.c:
3488           libs: surface: port to GstMiniObject
3489           GstVaapiMiniObject and GstVaapiObject are deprecated.
3490           This is the first step to remove them by porting GstVaapiSurface as
3491           a GstMiniBuffer descendant.
3492           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3493
3494 2019-12-19 18:26:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3495
3496         * gst-libs/gst/vaapi/gstvaapisurface.c:
3497           libs: surface: rename create function names to init
3498           There are several internal functions with 'create' name, but they
3499           don't create any new structure, but rather it initializes that
3500           structure. Renaming those function to reflect better their purpose.
3501
3502 2019-12-19 14:17:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3503
3504         * gst-libs/gst/vaapi/gstvaapisurface.c:
3505           libs: surface: use macro accessors
3506
3507 2019-12-19 13:46:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3508
3509         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
3510           libs: surface: fix internal documentation
3511
3512 2019-12-18 18:00:49 +0100  He Junyan <junyan.he@hotmail.com>
3513
3514         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
3515         * gst-libs/gst/vaapi/gstvaapicodedbuffer.h:
3516         * gst-libs/gst/vaapi/gstvaapicodedbuffer_priv.h:
3517         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
3518         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3519         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3520         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3521         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3522         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3523         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3524         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3525         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3526         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
3527         * gst-libs/gst/vaapi/gstvaapivideopool.c:
3528           libs: codedbuffer: port to GstMiniObject
3529           GstVaapiMiniObject and GstVaapiObject are deprecated.
3530           This is the first step to remove them by porting GstVaapiCodedBuffer
3531           as a GstMiniBuffer descendant.
3532           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3533
3534 2019-12-18 12:57:01 +0100  He Junyan <junyan.he@hotmail.com>
3535
3536         * gst-libs/gst/vaapi/gstvaapiimage.c:
3537         * gst-libs/gst/vaapi/gstvaapiimage.h:
3538         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
3539         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
3540         * gst-libs/gst/vaapi/gstvaapisurface.c:
3541         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
3542         * gst-libs/gst/vaapi/gstvaapivideopool.c:
3543         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3544         * gst/vaapi/gstvaapipluginbase.c:
3545         * gst/vaapi/gstvaapivideomemory.c:
3546         * gst/vaapi/gstvaapivideometa.c:
3547         * tests/internal/image.c:
3548         * tests/internal/simple-encoder.c:
3549         * tests/internal/test-fei-enc-in.c:
3550         * tests/internal/test-filter.c:
3551         * tests/internal/test-windows.c:
3552           libs: image: port to GstMiniObject base class
3553           GstVaapiMiniObject and GstVaapiObject are deprecrated. This is the
3554           first step to remove them, by porting GstVaapiImage as a
3555           GstMiniObject.
3556           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3557
3558 2019-09-24 01:01:22 +0800  He Junyan <junyan.he@hotmail.com>
3559
3560         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
3561         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
3562         * gst-libs/gst/vaapi/gstvaapicontext.c:
3563         * gst-libs/gst/vaapi/gstvaapicontext.h:
3564         * gst-libs/gst/vaapi/gstvaapidecoder.c:
3565         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3566         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3567         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
3568           libs: context: port to a plain C structure
3569           The GstVaapiMiniObject is obsolete and we need to replace it. This
3570           patch turns GstVaapiContext into a plain C structure with its own
3571           reference counting mechanism.
3572           Also this patch removes unused overlays attributes.
3573           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3574
3575 2019-12-18 00:40:58 +0800  He Junyan <junyan.he@hotmail.com>
3576
3577         * gst/vaapi/gstvaapiencode_h264.c:
3578         * gst/vaapi/gstvaapiencode_h264_fei.c:
3579         * gst/vaapi/gstvaapiencode_h265.c:
3580         * gst/vaapi/gstvaapiencode_jpeg.c:
3581         * gst/vaapi/gstvaapiencode_mpeg2.c:
3582         * gst/vaapi/gstvaapiencode_vp8.c:
3583         * gst/vaapi/gstvaapiencode_vp9.c:
3584           plugin: encode: change the dmabuf caps to all supported formats.
3585           The encode's dmabuf caps definition is obsolete, it can support
3586           more formats now. Re-define it to include all supported formats
3587           in video format map.
3588
3589 2019-12-17 17:09:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3590
3591         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3592           libs: encoder: h264fei: remove unnecessary check
3593           Issue detected by Coverity
3594           `info_to_pack.h264_slice_header` is always allocated by
3595           gst_vaapi_feipak_h264_encode(), thus checking it to free it afterwards
3596           in doesn't make much sense.  But it requires to be free on the error
3597           path.
3598           There may be a null pointer dereference, or else the comparison
3599           against null is unnecessary.
3600           In gst_vaapi_encoder_h264_fei_encode: All paths that lead to this null
3601           pointer comparison already dereference the pointer earlier
3602
3603 2019-12-17 17:05:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3604
3605         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3606           libs: encoder: h264fei: remove unnecessary assert
3607           Issue detected by Coverity
3608           An unsigned value can never be negative, so this test will always
3609           evaluate the same way.
3610           In add_slice_headers: An unsigned value can never be less than 0
3611
3612 2019-12-17 16:57:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3613
3614         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3615           libs: encoder: h264fei: remove unnecessary check
3616           Issue detected by Coverity
3617           There may be a null pointer dereference, or else the comparison
3618           against null is unnecessary.
3619           In gst_vaapi_encoder_h264_fei_encode: All paths that lead to this null
3620           pointer comparison already dereference the pointer earlier
3621
3622 2019-12-17 16:49:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3623
3624         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3625         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3626           libs: encoder: h264fei: don't free memory on stack
3627           Issue detected by Coverity
3628           `info_to_pak` variable in gst_vaapi_encoder_h264_fei_encode() is
3629           declared in the stack, but it is free in
3630           gst_vaapi_feienc_h264_encode() as if declared on the heap.
3631           This patch initializes the structure and removes the free.
3632           A non-heap pointer is placed on the free list, likely causing a crash
3633           later.
3634           In gst_vaapi_encoder_h264_fei_encode: Free of an address-of
3635           expression, which can never be heap allocated.
3636
3637 2019-12-17 13:22:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3638
3639         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3640           libs: encoder: h264fei: fix surface leak
3641           Issue detected by Coverity
3642           If the FEI mode is not handled the created resources should be
3643           released and return and error code.
3644           The system resource will not be reclaimed and reused, reducing the
3645           future availability of the resource.
3646           In gst_vaapi_encoder_h264_fei_encode: Leak of memory or pointers to
3647           system resources
3648
3649 2019-12-17 13:09:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3650
3651         * tests/check/elements/vaapipostproc.c:
3652           tests: check return calling of gst_navigation_event_parse.*
3653           This issue was detected by Coverity.
3654           If the function returns an error value, the error value may be mistaken
3655           for a normal value.
3656           In cb_mouse_event: Value returned from a function is not checked for
3657           errors before being used
3658
3659 2019-12-16 16:25:02 +0800  He Junyan <junyan.he@hotmail.com>
3660
3661         * gst/vaapi/gstvaapiencode_h264.c:
3662         * gst/vaapi/gstvaapiencode_h264_fei.c:
3663         * gst/vaapi/gstvaapiencode_h265.c:
3664         * gst/vaapi/gstvaapiencode_jpeg.c:
3665         * gst/vaapi/gstvaapiencode_mpeg2.c:
3666         * gst/vaapi/gstvaapiencode_vp8.c:
3667         * gst/vaapi/gstvaapiencode_vp9.c:
3668           plugin: encode: set sink's raw caps to GST_VAAPI_FORMATS_ALL.
3669           Then encode plugin just supports raw formats declared in vaapi video
3670           format map. This modification makes the template caps more precise.
3671
3672 2019-11-14 11:13:51 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3673
3674         * gst/vaapi/gstvaapipluginbase.c:
3675           plugins: base: add GstPad param to internal helper functions
3676           The base plugin public API function implementations determine
3677           which pad should be passed to the internal helper functions.
3678           Currently, only the base plugin static sinkpad and static
3679           srcpad are supported/used.  However, this change enables future
3680           API functions to be added that can accept a pad (i.e. request pad)
3681           from an element subclass (e.g. a GstVideoAggregator subclass).
3682
3683 2019-11-12 12:21:52 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3684
3685         * gst/vaapi/gstvaapipluginbase.c:
3686         * gst/vaapi/gstvaapipluginbase.h:
3687           plugins: base: manage pad-specific data in a single struct
3688           Define a struct (GstVaapiPadPrivate) to encapsulate the
3689           pad-specific data (i.e. buffer pool, allocator, info,
3690           caps, etc.).
3691           Add an interface to retrieve the data struct for a given
3692           pad.
3693           Finally, update the base plugin to use the data struct
3694           throughout the implementation.
3695           This will enable us to easily extend the base plugin in the
3696           future to allow for N-to-1 pad subclasses (e.g. overlay/
3697           composite).
3698
3699 2019-10-29 15:13:44 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3700
3701         * gst/vaapi/gstvaapidecode.c:
3702         * gst/vaapi/gstvaapiencode.c:
3703         * gst/vaapi/gstvaapipluginbase.h:
3704         * gst/vaapi/gstvaapipostproc.c:
3705           plugins: use plugin base macros to access pad specific data
3706           Don't access base struct fields directly since the underlying
3707           definition can change.  Instead, use the accessor macros.
3708
3709 2019-12-03 00:52:45 +0800  He Junyan <junyan.he@hotmail.com>
3710
3711         * gst/vaapi/gstvaapidecode.c:
3712           libs: decoder: Modify decode src's template raw formats
3713           We do not need to maintain a standalone list of decoder's output
3714           template for raw formats and that is easy to make mistake(for
3715           example, the AYVU is wrong in that list, should be VUYA).
3716           Just use GST_VAAPI_FORMATS_ALL to replace the raw formats list for
3717           src template.
3718
3719 2019-12-11 14:11:13 +0800  He Junyan <junyan.he@hotmail.com>
3720
3721         * gst/vaapi/gstvaapipostproc.c:
3722           libs: postproc: Modify src/sink template raw formats
3723           We need to provide more precise template caps for postproc's src
3724           and sink pads. The GST_VIDEO_FORMATS_ALL make all video formats
3725           available which are really superfluous.
3726
3727 2019-12-10 18:40:42 -0300  Thibault Saunier <tsaunier@igalia.com>
3728
3729         * tests/check/elements/vaapipostproc.c:
3730           Do not mix declaration and code
3731
3732 2019-11-03 17:59:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3733
3734         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3735           libs: decoder: h265: skip all pictures prior the first I-frame
3736           Don't try to decode until the first I-frame is received within the
3737           currently active sequence. i965 H265 decoder don't show any artifact
3738           but it crashes.
3739           Fixes: #98
3740
3741 2019-11-27 01:44:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3742
3743         * gst-libs/gst/vaapi/video-format.c:
3744           libs: video-format: remove dead code
3745
3746 2019-10-31 00:59:34 +0800  He Junyan <junyan.he@hotmail.com>
3747
3748         * gst-libs/gst/vaapi/video-format.c:
3749         * gst-libs/gst/vaapi/video-format.h:
3750         * gst/vaapi/gstvaapipluginutil.h:
3751           libs: video-format: add GST_VAAPI_FORMATS_ALL
3752           GST_VAAPI_FORMATS_ALL collects all declared formats in video-format
3753           as a caps template string, and make them available in caps with
3754           memory:VASurface feature.
3755           Fixes: #199
3756
3757 2019-11-06 22:37:12 +0800  He Junyan <junyan.he@hotmail.com>
3758
3759         * gst-libs/gst/vaapi/video-format.c:
3760         * tests/internal/test-windows.c:
3761           libs: video-format: change GST_VIDEO_FORMAT_AYUV to VUYA.
3762           We only support VUYA format in gst vaapi now, need to correct
3763           the mapping.
3764
3765 2019-10-09 15:13:09 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3766
3767         * tests/check/elements/vaapipostproc.c:
3768           tests: check: vaapipostproc test_orientation_mouse_events
3769           Test that vaapipostproc properly translates mouse events
3770           when using video-direction (orientation).
3771
3772 2019-10-09 10:11:54 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3773
3774         * tests/check/elements/vaapipostproc.c:
3775         * tests/check/meson.build:
3776           tests: check: vaapipostproc test_crop_mouse_events
3777           Test that vaapipostproc properly translates mouse events
3778           when cropping.
3779
3780 2019-10-08 12:20:26 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3781
3782         * meson.build:
3783         * meson_options.txt:
3784         * tests/check/elements/vaapipostproc.c:
3785         * tests/check/meson.build:
3786         * tests/meson.build:
3787           tests: check: initial unit test support
3788           Add minimal unit test toolchain files and a simple
3789           vaapipostproc unit test.
3790
3791 2019-10-08 12:19:06 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3792
3793         * meson.build:
3794         * tests/examples/meson.build:
3795         * tests/examples/test-roi.c:
3796         * tests/examples/test-vaapicontext.c:
3797         * tests/examples/test-vaapipostproc.c:
3798         * tests/examples/test-vaapisink.c:
3799         * tests/internal/codec.c:
3800         * tests/internal/codec.h:
3801         * tests/internal/decoder.c:
3802         * tests/internal/decoder.h:
3803         * tests/internal/image.c:
3804         * tests/internal/image.h:
3805         * tests/internal/meson.build:
3806         * tests/internal/output.c:
3807         * tests/internal/output.h:
3808         * tests/internal/simple-decoder.c:
3809         * tests/internal/simple-encoder.c:
3810         * tests/internal/test-decode.c:
3811         * tests/internal/test-decode.h:
3812         * tests/internal/test-display.c:
3813         * tests/internal/test-fei-enc-in.c:
3814         * tests/internal/test-fei-enc-out.c:
3815         * tests/internal/test-filter.c:
3816         * tests/internal/test-h264.c:
3817         * tests/internal/test-h264.h:
3818         * tests/internal/test-jpeg.c:
3819         * tests/internal/test-jpeg.h:
3820         * tests/internal/test-mpeg2.c:
3821         * tests/internal/test-mpeg2.h:
3822         * tests/internal/test-mpeg4.c:
3823         * tests/internal/test-mpeg4.h:
3824         * tests/internal/test-subpicture-data.c:
3825         * tests/internal/test-subpicture-data.h:
3826         * tests/internal/test-subpicture.c:
3827         * tests/internal/test-surfaces.c:
3828         * tests/internal/test-textures.c:
3829         * tests/internal/test-vc1.c:
3830         * tests/internal/test-vc1.h:
3831         * tests/internal/test-windows.c:
3832         * tests/internal/y4mreader.c:
3833         * tests/internal/y4mreader.h:
3834         * tests/meson.build:
3835           tests: move examples and tests to subfolders
3836           This makes way for adding unit (check) tests.
3837
3838 2019-10-14 01:01:27 +0100  Tim-Philipp Müller <tim@centricular.com>
3839
3840         * .gitmodules:
3841         * Makefile.am:
3842         * autogen.sh:
3843         * common:
3844         * configure.ac:
3845         * git.mk:
3846         * gst-libs/Makefile.am:
3847         * gst-libs/gst/Makefile.am:
3848         * gst-libs/gst/vaapi/Makefile.am:
3849         * gst/Makefile.am:
3850         * gst/vaapi/Makefile.am:
3851         * m4/Makefile.am:
3852         * tests/Makefile.am:
3853         * tests/elements/Makefile.am:
3854           Remove autotools build
3855
3856 2019-10-10 15:26:36 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3857
3858         * gst/vaapi/gstvaapipostproc.c:
3859           vaapipostproc: fix off-by-one coord translations
3860           When translating navigation x,y coordinates for
3861           video-direction, it is necessary to subtract 1
3862           when using the video dimensions to compute the
3863           new x,y coordinates.  That is, a 100x200 image
3864           should map coordinates in x=[0-99],y=[0-199].
3865           This issue was found with unit tests provided
3866           in !182.
3867
3868 2019-10-11 17:34:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3869
3870         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3871           libs: window: x11: Avoid usage of deprecated API
3872
3873 2019-10-11 17:13:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3874
3875         * meson.build:
3876           build: halt meson configuration if no renderer API
3877           We should halt meson configuration if there is no render API
3878           installed (either DRM, Wayland or X11).
3879           That behavior was already in autotools but missed in meson. This patch
3880           brings it back.
3881           Fixes: #196
3882
3883 2019-10-09 12:12:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3884
3885         * gst-libs/gst/vaapi/gstvaapifilter.c:
3886           libs: filter: fix default orientation regression
3887           Fix regression introduced in f232f87f7082
3888
3889 2019-10-07 11:53:23 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3890
3891         * gst-libs/gst/vaapi/gstvaapifilter.c:
3892           libs: filter: use OP_DATA_DEFAULT_VALUE macro
3893
3894 2019-10-07 11:39:19 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3895
3896         * gst-libs/gst/vaapi/gstvaapifilter.c:
3897           libs: filter: use macro for returning op default value
3898           The code is essentially the same for getting all op default
3899           values.  Thus, use a macro to help minimize code duplication
3900           and [hopefully] encourage using the same mechanism for all
3901           default getters.
3902
3903 2019-10-07 09:56:37 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3904
3905         * gst-libs/gst/vaapi/gstvaapifilter.c:
3906           libs: filter: query param spec for default scale method
3907           Related: #159
3908
3909 2019-10-07 09:44:06 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3910
3911         * gst-libs/gst/vaapi/gstvaapifilter.c:
3912           libs: filter: query param spec for default skin-tone values
3913           Related: #159
3914
3915 2019-10-02 12:54:52 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3916
3917         * gst-libs/gst/vaapi/gstvaapifilter.c:
3918           libs: filter: query param spec for default video-direction
3919           Related: #159
3920
3921 2019-10-07 10:23:09 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3922
3923         * .gitignore:
3924           add .gitignore
3925
3926 2019-09-05 16:40:52 +0800  Yan Wang <yan.wang@linux.intel.com>
3927
3928         * gst-libs/gst/vaapi/gstvaapifilter.c:
3929         * gst-libs/gst/vaapi/gstvaapifilter.h:
3930         * gst/vaapi/gstvaapipostproc.c:
3931         * gst/vaapi/gstvaapipostproc.h:
3932           vaapipostproc: Use level value for skin-tone-enhancement filter.
3933           Currently the parameter of skin-tone-enhancement filter is forced
3934           to zero. In fact it could be set different value by the user.
3935           So create a new property named as "skin-tone-enhancement-level"
3936           for accepting the used defined parameter value.
3937           At the same time, skin-tone-enhancement is marked as deprecated.
3938           When skin-tone-enhancement-level is set, skin-tone-enhancement
3939           will be ignored.
3940
3941 2019-09-21 13:39:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3942
3943         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3944         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3945           libs: decoder: h264, h266: fix g_return_val_if_fail() missuse
3946           g_return_val_fail() documentations says:
3947           If expr evaluates to FALSE, the current function should be
3948           considered to have undefined behaviour (a programmer error).
3949           The only correct solution to such an error is to change the
3950           module that is calling the current function, so that it avoids
3951           this incorrect call.
3952           So it was missused in a couple parts of the H264 and H265 internal
3953           decoders. This patch changes that to plain conditionals.
3954           Also, it was included a couple code-style fixes.
3955
3956 2019-09-23 19:52:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3957
3958         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3959         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3960         * tests/simple-encoder.c:
3961         * tests/test-fei-enc-in.c:
3962           libs: encoder: remove gst_vaapi_encoder_{ref,unref}()
3963           Since GstVaapiEncoder is a descendant of of GstObject, there is no
3964           need to keep a custom ref()/unref() methods. This patch deletes them.
3965
3966 2019-09-24 01:03:02 +0800  He Junyan <junyan.he@hotmail.com>
3967
3968         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3969           libs: encoder: correct encoder's ref/unref function.
3970           GstVaapiEncoder now is a standard gstobject and need to use
3971           gst_object_ref/unref functions.
3972
3973 2019-09-19 12:09:20 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3974
3975         * gst/vaapi/gstvaapiencode_h264_fei.c:
3976           gst: encode: h264_fei: remove useless comparison
3977           The expression "len >= 0" is always true since "len"
3978           is an unsigned type.  And it is clear that the writers
3979           intention was not to write "len > 0" since we handle
3980           len == 0 in the ensuing "if (len < 3)" conditional
3981           block.
3982
3983 2019-09-19 11:17:24 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3984
3985         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3986           libs: encoder: h264_fei: fix potential overflow before widen
3987           Found by static analysis. encoder->mb_width * encoder->mb_height
3988           is evaluated using 32-bit arithmetic before widen.  Thus, cast
3989           at least one of these to guint64 to avoid overflow.
3990
3991 2019-09-19 10:56:13 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3992
3993         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3994           libs: encoder: h264_fei: remove dead error condition
3995           Found by static analysis.  The feipak is always null
3996           when we reach the error target.
3997
3998 2019-09-19 10:49:11 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3999
4000         * gst-libs/gst/vaapi/gstvaapiutils.c:
4001           libs: utils: add missing break in switch
4002
4003 2019-09-11 11:56:35 +0800  He Junyan <junyan.he@hotmail.com>
4004
4005         * gst-libs/gst/vaapi/video-format.c:
4006           libs: video-format: Make all YUV format available
4007           The YUV formats have no ambiguity for drivers, so we can add them all.
4008           Some old driver(i965) does not implement full get/put image functions
4009           but can use derive image funtions for the YUV format. It does not
4010           report that kind of formats correctly in image query, but will derive
4011           that YUV format image from surface. The dynamic mapping of YUV format
4012           will block that manner.
4013           Adding more YUV format mapping has no side effect. So considering the
4014           legacy driver conformance, we add all YUV formats mapping statically
4015           and dynamic mapping RBG formats
4016           Fix: #189
4017           Fix: #190
4018
4019 2019-09-18 15:30:03 +1000  Matthew Waters <matthew@centricular.com>
4020
4021         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
4022         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
4023           egl: Fix racyness in display thread creation
4024           Multiple different scenarios could break the display thread creation and
4025           end up blocking waiting for thread o be created.  Fix them all by
4026           correctly waiting for a new boolean to become valid.
4027
4028 2019-09-18 15:29:03 +1000  Matthew Waters <matthew@centricular.com>
4029
4030         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
4031           egl: don't advertise a wrapped EGLContext as actually wrapped
4032           It's not actually wrapped as we create a new EGLContext from the passed
4033           in EGLContext.  As a result, the created EGLContext was never destroyed.
4034
4035 2019-09-16 23:28:31 +0800  He Junyan <junyan.he@hotmail.com>
4036
4037         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4038           libs: h264decoder: do not return error for unhandled NAL unit.
4039           Some streams have error data introducing unknown NAL type. There are
4040           also kinds of NAL types we do not want to handle. The old manner will
4041           set a decoder error when encounter this, which cause a latent crash bug.
4042           The decoder may successfully decode the picture and insert it into DPB.
4043           But there are error NAL units after the AU which cause the post unit error
4044           and make that frame dropped. The later output of the picture still want
4045           to ref that frame and crash.
4046           No need to set decoder error when can not recognize or handle the NAL
4047           unit, just skip it and continue.
4048           Fix: #191
4049
4050 2019-09-11 14:32:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4051
4052         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4053         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4054         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4055         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4056         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4057         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4058         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4059         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4060         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4061         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4062         * gst/vaapi/gstvaapiencode.c:
4063           libs: encoders: use GST_PARAM_USER_SHIFT to define internal params
4064           This patch makes use of GST_PARAM_USER_SHIFT to define the internal
4065           param in encoders to decide which parameters to expose. Thus
4066           gstreamer-vaapi will not interfere with any change in GStreamer in the
4067           future.
4068           Also, the internal symbol was change to
4069           GST_VAAPI_PARAM_ENCODER_EXPOSURE to keep the namespacing.
4070
4071 2019-09-09 18:06:51 +0800  He Junyan <junyan.he@hotmail.com>
4072
4073         * gst-libs/gst/vaapi/gstvaapiimage.c:
4074         * gst-libs/gst/vaapi/video-format.c:
4075           libs: Add BGR10A2_LE support for color space conversion.
4076           Fix: #179
4077
4078 2019-08-23 14:41:06 +0800  He Junyan <junyan.he@hotmail.com>
4079
4080         * gst-libs/gst/vaapi/gstvaapisurface.c:
4081           libs: surface: add pointer check for surface_new_from_formats.
4082           The command line:
4083           gst-launch-1.0 filesrc location=some_name.mjpeg ! jpegparse !
4084           vaapijpegdec !  videoconvert ! video/x-raw,format=I420 ! vaapisink
4085           will crash on i965 driver because of no pointer check.
4086           We now generate the video format map between GST format and VA format
4087           dynamically based on the image format returned by vaQueryImageFormats.
4088           i965 driver does to report image format of 444P and Y800 forcc, while
4089           the jpeg decoder context VASurfaceAttribPixelFormat use them. We can
4090           not recognize these format and pass a NULL pointer to
4091           gst_vaapi_surface_new_from_formats.
4092           We need to add a pointer check here and let the fallback logic handle
4093           this case correctly.
4094           Other drivers work well.
4095
4096 2019-09-07 13:23:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4097
4098         * gst-libs/gst/vaapi/gstvaapiutils.c:
4099           libs: utils: guard the VAEntrypointFEI symbol
4100           VAEntrypointFEI appeared in libva 2.0.0 (API version 1.0.0)
4101
4102 2019-09-05 14:48:22 +0800  He Junyan <junyan.he@hotmail.com>
4103
4104         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4105         * gst-libs/gst/vaapi/video-format.c:
4106         * gst-libs/gst/vaapi/video-format.h:
4107           libs: video-format: Refine the video format mapping.
4108           Improve the mapping between va format and gst format. The new map
4109           will be generated dynamically, based on the query result of image
4110           format in VA driver. Also consider the ambiguity of RGB color
4111           format in LSB mode.
4112
4113 2019-04-15 16:51:26 +0100  Philippe Normand <philn@igalia.com>
4114
4115         * gst/vaapi/gstvaapipluginutil.c:
4116           pluginutil: Remove Mesa from drivers white list
4117           The Mesa Gallium driver is poorly tested currently, leading to bad user
4118           experience for AMD users. The driver can be added back to the white list at
4119           runtime using the GST_VAAPI_ALL_DRIVERS environment variable.
4120
4121 2019-07-08 14:18:00 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4122
4123         * gst/vaapi/gstvaapipostproc.c:
4124         * gst/vaapi/gstvaapipostproc.h:
4125         * gst/vaapi/gstvaapipostprocutil.c:
4126           vaapipostproc: allow cropping via properties
4127           Add crop-left, crop-right, crop-top and crop-bottom
4128           properties to vaapipostproc.
4129
4130 2019-08-30 17:31:45 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4131
4132         * gst/vaapi/gstvaapipostproc.c:
4133           vaapipostproc: rotate outbuf and crop meta if forwarding
4134           When forwarding crop meta to downstream, the output
4135           buffer and crop meta need to be rotated, too.
4136           Test:
4137           for i in 90r 180 90l vert horiz ul-lr ur-ll
4138           do
4139           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4140           ! videocrop top=100 bottom=30 left=40 right=20 \
4141           ! vaapipostproc video-direction=$i \
4142           ! vaapisink & \
4143           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4144           ! videocrop top=100 bottom=30 left=40 right=20 \
4145           ! vaapipostproc video-direction=$i \
4146           ! identity drop-allocation=true \
4147           ! vaapisink
4148           done
4149
4150 2019-08-30 14:14:30 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4151
4152         * gst/vaapi/gstvaapipostproc.c:
4153           vaapipostproc: fix output buffer WxH for crop meta forwarding
4154           Adding crop meta x,y to w,h only compensates for left,top
4155           cropping.  But we also need to compensate for right,bottom
4156           cropping.
4157           The video meta contains the appropriate w,h (uncropped)
4158           values, so use it instead.
4159           Test:
4160           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4161           ! videocrop top=50 bottom=30 left=40 right=20 \
4162           ! vaapipostproc ! vaapisink & \
4163           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4164           ! videocrop top=50 bottom=30 left=40 right=20 \
4165           ! vaapipostproc ! identity drop-allocation=1 \
4166           ! vaapisink
4167
4168 2019-09-04 10:52:51 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4169
4170         * gst/vaapi/gstvaapipostproc.c:
4171           vaapipostproc: handle size and direction together in src events
4172           Mapping a pointer event needs to consider both size and
4173           video-direction operations together, not just one or the other.
4174           This fixes an issue where x,y were not being mapped correctly
4175           for 90r, 90l, ur-ll and ul-lr video-direction. In these directions,
4176           the WxH are swapped and GST_VAAPI_POSTPROC_FLAG_SIZE is set.  Thus,
4177           the first condition in the pointer event handling was entered and
4178           x,y scale factor were incorrectly computed due to srcpad WxH
4179           swap.
4180           This also fixes all cases where both video-direction and scaling
4181           are enabled at the same time.
4182           Test that all pointer events map appropriately:
4183           for i in `seq 0 7`
4184           do
4185           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4186           ! vaapipostproc video-direction=${i} width=300 \
4187           ! vaapisink
4188           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4189           ! vaapipostproc video-direction=${i} width=300 height=200 \
4190           ! vaapisink
4191           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4192           ! vaapipostproc video-direction=${i} height=200 \
4193           ! vaapisink
4194           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4195           ! vaapipostproc video-direction=${i} \
4196           ! vaapisink
4197           done
4198
4199 2019-08-20 14:22:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4200
4201         * gst/vaapi/gstvaapipostproc.c:
4202         * gst/vaapi/gstvaapipostproc.h:
4203           vaapipostproc: advertise crop meta is handled
4204           Advertise to upstream that vaapipostproc can handle
4205           crop meta.
4206           When used in conjunction with videocrop plugin, the
4207           videocrop plugin will only do in-place transform on the
4208           crop meta when vaapipostproc advertises the ability to
4209           handle it.  This allows vaapipostproc to apply the crop
4210           meta on the output buffer using vaapi acceleration.
4211           Without this advertisement, the videocrop plugin will
4212           crop the output buffer directly via software methods,
4213           which is not what we desire.
4214           vaapipostproc will not apply the crop meta if downstream
4215           advertises crop meta handling; vaapipostproc will just
4216           forward the crop meta to downstream.  If crop meta is
4217           not advertised by downstream, then vaapipostproc will
4218           apply the crop meta.
4219           Examples:
4220           1. vaapipostproc will forward crop meta to vaapisink
4221           gst-launch-1.0 videotestsrc \
4222           ! videocrop left=10 \
4223           ! vaapipostproc \
4224           ! vaapisink
4225           2. vaapipostproc will do the cropping
4226           gst-launch-1.0 videotestsrc \
4227           ! videocrop left=10 \
4228           ! vaapipostproc \
4229           ! identity drop-allocation=1 \
4230           ! vaapisink
4231
4232 2019-08-29 18:44:36 +0800  He Junyan <junyan.he@hotmail.com>
4233
4234         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4235           libs: encoder: clean two virtual func in encoder class
4236           set_property and get_default_properties functions are no longer
4237           needed for encoder class.
4238
4239 2019-08-29 18:43:30 +0800  He Junyan <junyan.he@hotmail.com>
4240
4241         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4242         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
4243           libs: encoder: delete old set_property and property enum feienc264
4244
4245 2019-08-29 18:39:27 +0800  He Junyan <junyan.he@hotmail.com>
4246
4247         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4248         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
4249           libs: encoder: delete old set_property and property enum in h264 fei
4250
4251 2019-08-29 18:37:58 +0800  He Junyan <junyan.he@hotmail.com>
4252
4253         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4254         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
4255           libs: encoder: delete old set_property and property enum in vp9
4256
4257 2019-08-29 18:36:51 +0800  He Junyan <junyan.he@hotmail.com>
4258
4259         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4260         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
4261           libs: encoder: delete old set_property and property enum in vp8
4262
4263 2019-08-29 18:35:59 +0800  He Junyan <junyan.he@hotmail.com>
4264
4265         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4266         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
4267           libs: encoder: delete old set_property and property enum in mpeg2
4268
4269 2019-08-29 18:34:57 +0800  He Junyan <junyan.he@hotmail.com>
4270
4271         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4272         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
4273           libs: encoder: delete old set_property and property enum in jpeg
4274
4275 2019-08-29 18:31:56 +0800  He Junyan <junyan.he@hotmail.com>
4276
4277         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4278         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
4279           libs: encoder: delete old set_property and property enum in h265
4280
4281 2019-08-29 18:30:07 +0800  He Junyan <junyan.he@hotmail.com>
4282
4283         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4284         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4285           libs: encoder: delete old set_property and property enum in h264
4286
4287 2019-08-29 18:17:42 +0800  He Junyan <junyan.he@hotmail.com>
4288
4289         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4290         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4291         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4292           libs: encoder: delete EncoderPropInfo related functions
4293
4294 2019-08-29 16:13:19 +0800  He Junyan <junyan.he@hotmail.com>
4295
4296         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4297         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4298           libs: encoder: delete encoder_set_property
4299           We no longer need this obsolete set_property function now after
4300           switch to standard gobject's property manner.
4301           Also delete the old encoder's property enum in the header file.
4302
4303 2019-08-29 15:59:43 +0800  He Junyan <junyan.he@hotmail.com>
4304
4305         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4306         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4307           libs: encoder: delete properties_get_default for base class
4308
4309 2019-08-29 15:52:04 +0800  He Junyan <junyan.he@hotmail.com>
4310
4311         * gst/vaapi/gstvaapiencode.c:
4312         * gst/vaapi/gstvaapiencode.h:
4313           plugin: encode: delete useless init_properties.
4314           Also delete the get_properties function in encode class. We now
4315           use g_object_class_list_properties to get all properties for
4316           internal encoder class.
4317
4318 2019-08-29 15:43:45 +0800  He Junyan <junyan.he@hotmail.com>
4319
4320         * gst/vaapi/gstvaapiencode.c:
4321         * gst/vaapi/gstvaapiencode.h:
4322           plugin: encode: delete set/get_property func in encode class
4323           Use standard gobject's property functions to replace the old way.
4324
4325 2019-08-29 15:31:16 +0800  He Junyan <junyan.he@hotmail.com>
4326
4327         * gst/vaapi/gstvaapiencode.c:
4328         * gst/vaapi/gstvaapiencode.h:
4329           plugin: encode: delete gst_vaapiencode_init_properties
4330           No need to init the properties got by get_default_properties func
4331           now. The properties are inited correctly in internal encoder class.
4332
4333 2019-08-29 15:19:10 +0800  He Junyan <junyan.he@hotmail.com>
4334
4335         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4336           libs: encoder: delete 3 useless init macro
4337
4338 2019-08-29 15:16:26 +0800  He Junyan <junyan.he@hotmail.com>
4339
4340         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4341         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
4342           libs: encoder: delete get_default_properties of feienc
4343
4344 2019-08-29 15:14:14 +0800  He Junyan <junyan.he@hotmail.com>
4345
4346         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4347         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
4348           libs: encoder: delete get_default_properties of H264 Fei
4349
4350 2019-08-29 15:07:17 +0800  He Junyan <junyan.he@hotmail.com>
4351
4352         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4353         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
4354           libs: encoder: delete get_default_properties of VP9
4355
4356 2019-08-29 15:06:25 +0800  He Junyan <junyan.he@hotmail.com>
4357
4358         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4359         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
4360           libs: encoder: delete get_default_properties of VP8
4361
4362 2019-08-29 15:03:52 +0800  He Junyan <junyan.he@hotmail.com>
4363
4364         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4365         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
4366           libs: encoder: delete get_default_properties of MPEG2
4367
4368 2019-08-29 15:03:19 +0800  He Junyan <junyan.he@hotmail.com>
4369
4370         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4371         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
4372           libs: encoder: delete get_default_properties of JPEG
4373
4374 2019-08-30 19:15:38 +0800  He Junyan <junyan.he@hotmail.com>
4375
4376         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4377         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
4378           libs: encoder: delete get_default_properties of H265
4379
4380 2019-08-29 14:59:12 +0800  He Junyan <junyan.he@hotmail.com>
4381
4382         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4383         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4384           libs: encoder: delete get_default_properties of H264
4385
4386 2019-08-29 14:53:59 +0800  He Junyan <junyan.he@hotmail.com>
4387
4388         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4389           libs: encoder: delete the useless constructed func for encoder.
4390
4391 2019-08-26 23:16:33 +0800  He Junyan <junyan.he@hotmail.com>
4392
4393         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4394         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4395         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4396           libs: encoder: implement get_view_ids for h264 encoder.
4397
4398 2019-08-20 23:56:33 +0800  He Junyan <junyan.he@hotmail.com>
4399
4400         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4401         * gst/vaapi/gstvaapiencode.c:
4402         * gst/vaapi/gstvaapiencode_h264.c:
4403         * gst/vaapi/gstvaapiencode_h264_fei.c:
4404         * gst/vaapi/gstvaapiencode_h265.c:
4405         * gst/vaapi/gstvaapiencode_jpeg.c:
4406         * gst/vaapi/gstvaapiencode_mpeg2.c:
4407         * gst/vaapi/gstvaapiencode_vp8.c:
4408         * gst/vaapi/gstvaapiencode_vp9.c:
4409           gst: encode: enable new type of property mechanism.
4410
4411 2019-08-20 22:16:35 +0800  He Junyan <junyan.he@hotmail.com>
4412
4413         * gst/vaapi/gstvaapiencode.c:
4414         * gst/vaapi/gstvaapiencode.h:
4415           gst: encode: add property help functions for encoder properties.
4416           The encoder is a true gstobject now and all the properties are using
4417           gobject's properties mechanism. Add help functions to handle the properties
4418           between encode and encoder class.
4419           The basic idea is mapping the same property between encoder and encode. All
4420           the encoder's properties will have the same name, the same type in encode.
4421           The set/get property function just forward the property setting/getting to
4422           the encoder using the same property name and value. Because the encoder is
4423           created on needed, we need to cache the property setting in encode.
4424
4425 2019-08-30 18:39:32 +0800  He Junyan <junyan.he@hotmail.com>
4426
4427         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4428         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4429         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4430         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4431         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4432         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4433         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4434         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4435         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4436         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4437           libs: encoder: add flags to all encoder properties.
4438           G_PARAM_CONSTRUCT make all properties init correctly, we do not
4439           need to init the properties manually.
4440           G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE is a vaapi encoder specific
4441           flag, means need to expose the property to according encode class.
4442
4443 2019-08-20 17:00:39 +0800  He Junyan <junyan.he@hotmail.com>
4444
4445         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4446           libs: encoder: Add properties for h264 encoder fei.
4447           Install properties for h264 encoder fei class. Also set the new get/set
4448           property functions for gobject class. Still use the old properties
4449           way now and this new feature will be enabled later.
4450
4451 2019-08-20 15:58:30 +0800  He Junyan <junyan.he@hotmail.com>
4452
4453         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4454           libs: encoder: Add properties for h264 fei encoder.
4455           Install properties for h264 fei encoder class. Also set the new get/set
4456           property functions for gobject class. Still use the old properties
4457           way now and this new feature will be enabled later.
4458
4459 2019-08-20 15:29:27 +0800  He Junyan <junyan.he@hotmail.com>
4460
4461         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4462           libs: encoder: Add properties for vp9 encoder.
4463           Install properties for vp9 encoder class. Also set the new get/set
4464           property functions for gobject class. Still use the old properties
4465           way now and this new feature will be enabled later.
4466
4467 2019-08-20 15:01:02 +0800  He Junyan <junyan.he@hotmail.com>
4468
4469         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4470           libs: encoder: Add properties for vp8 encoder.
4471           Install properties for vp8 encoder class. Also set the new get/set
4472           property functions for gobject class. Still use the old properties
4473           way now and this new feature will be enabled later.
4474
4475 2019-08-20 14:31:58 +0800  He Junyan <junyan.he@hotmail.com>
4476
4477         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4478           libs: encoder: Add properties for mpeg2 encoder.
4479           Install properties for mpeg2 encoder class. Also set the new get/set
4480           property functions for gobject class. Still use the old properties
4481           way now and this new feature will be enabled later.
4482
4483 2019-08-20 14:53:06 +0800  He Junyan <junyan.he@hotmail.com>
4484
4485         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4486           libs: encoder: Add properties for jpeg encoder.
4487           Install properties for jpeg encoder class. Also set the new get/set
4488           property functions for gobject class. Still use the old properties
4489           way now and this new feature will be enabled later.
4490
4491 2019-08-20 14:12:36 +0800  He Junyan <junyan.he@hotmail.com>
4492
4493         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4494           libs: encoder: Add properties for h265 encoder.
4495           Install properties for h265 encoder class. Also set the new get/set
4496           property functions for gobject class. Still use the old properties
4497           way now and this new feature will be enabled later.
4498
4499 2019-08-20 01:33:40 +0800  He Junyan <junyan.he@hotmail.com>
4500
4501         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4502           libs: encoder: Add properties for h264 encoder.
4503           Install properties for h264 encoder class. Also set the new get/set
4504           property functions for gobject class. Still use the old properties
4505           way now and this new feature will be enabled later.
4506
4507 2019-08-19 15:38:09 +0800  He Junyan <junyan.he@hotmail.com>
4508
4509         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4510           libs: encoder: add properties and prop help functions
4511           Add all common properties to encoder base class. rate-control and
4512           tune are moved to sub class.
4513
4514 2019-08-29 14:38:49 +0800  He Junyan <junyan.he@hotmail.com>
4515
4516         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4517         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4518           libs: encoder: delete useless gst_vaapi_encoder_new func.
4519           GstVaapiEncoder is a abstract gobject and never be created directly.
4520
4521 2019-07-27 00:55:53 +0800  He Junyan <junyan.he@hotmail.com>
4522
4523         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4524         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4525         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4526         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4527         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4528         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
4529         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4530         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
4531         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4532         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
4533         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4534         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
4535         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4536         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4537         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
4538         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4539         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
4540         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4541         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
4542           lib: encoder: gstobjectfy all vaapi encoders.
4543           Replace all gstvaapiobject in vaapi encoders with standard gstobject.
4544           Let the gstobject common logic to handle all the init and finalize
4545           works. But the property install/set/get still use the old way, need
4546           to be improved later.
4547
4548 2019-08-29 12:11:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4549
4550         * gst/vaapi/gstvaapipostproc.c:
4551           vaapipostproc: check for filter before appending caps
4552           While ensuring the allowed sink pad caps, the filter attributes set
4553           the frame size restriction, but it is not ensured, at that moment,
4554           that the filter is already instantiaded.
4555           In order to silence the glib logs, this patch add only calls
4556           gst_vaapi_filter_append_caps() if the filter is instantiated.
4557
4558 2019-08-28 12:49:03 -0400  Thibault Saunier <tsaunier@igalia.com>
4559
4560         * gst/vaapi/gstvaapidecodebin.c:
4561           Classify vaapidecodebin as a hardware decoder
4562
4563 2019-08-27 18:12:45 +0800  He Junyan <junyan.he@hotmail.com>
4564
4565         * gst/vaapi/gstvaapipostproc.c:
4566           libs: postproc: fix a memory leak point.
4567           filter_ops and filter_formats should already have valid value when
4568           the function gst_vaapipostproc_ensure_filter_caps re-enter
4569
4570 2019-08-27 01:30:36 +0800  He Junyan <junyan.he@hotmail.com>
4571
4572         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4573           libs: util: Fix a memory leak in config_surface_attributes_get
4574
4575 2019-08-22 14:33:54 +0800  Wangfei <fei.w.wang@intel.com>
4576
4577         * gst/vaapi/gstvaapidecode.c:
4578           vaapidecode: support transform ROI meta
4579           This will benefit the use case like:
4580           src --->   encode    ---> decode ---> circle ROI ---> sink
4581           |                |
4582           --> analyse to -->
4583           get ROI
4584
4585 2019-08-23 19:10:15 +0200  Mathieu Duponchelle <mathieu@centricular.com>
4586
4587         * gst/vaapi/gstvaapidecodedoc.c:
4588           docstrings: port ulinks to markdown links
4589
4590 2019-08-20 17:05:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4591
4592         * gst-libs/gst/vaapi/Makefile.am:
4593         * gst-libs/gst/vaapi/gstvaapicontext.c:
4594         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
4595         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
4596         * gst-libs/gst/vaapi/meson.build:
4597           libs: remove context's overlay
4598           The context overlay was an optimization to apply a video composition
4599           to all the surfaces bound to a context.
4600           But since commit 18031dc6 this optimization was disabled, so it is
4601           better just get rid of it.
4602
4603 2019-08-20 16:50:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4604
4605         * gst-libs/gst/vaapi/gstvaapicontext.c:
4606         * gst-libs/gst/vaapi/gstvaapisurface.c:
4607         * gst-libs/gst/vaapi/gstvaapisurface.h:
4608         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
4609         * gst/vaapi/gstvaapipluginutil.c:
4610         * tests/test-subpicture.c:
4611           libs: remove surface's parent context
4612           In commit 18031dc6 surface's parent context is not assigned because of
4613           circular references. Since then (2013), there's has no issue with
4614           subpictures attached to a context, the current only users of this API.
4615           This patch cleans up all of related code with the unused surface's
4616           parent context.
4617
4618 2019-08-18 13:53:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4619
4620         * gst/vaapi/gstvaapidecode.c:
4621           vaapidecode: guard if no structure is available in caps
4622
4623 2019-08-18 13:53:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4624
4625         * gst-libs/gst/vaapi/gstvaapifilter.c:
4626         * gst-libs/gst/vaapi/gstvaapifilter.h:
4627         * gst/vaapi/gstvaapipostproc.c:
4628           vaapipostproc: append frame size restrictions in caps
4629
4630 2019-08-18 13:09:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4631
4632         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
4633           libs: profilecaps: refactor common code
4634
4635 2019-08-16 19:35:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4636
4637         * gst/vaapi/gstvaapiencode.c:
4638           vaapiencode: set frame size restrictions in caps
4639           Fixes: #12
4640
4641 2019-08-16 19:28:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4642
4643         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4644         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4645         * gst/vaapi/gstvaapiencode.c:
4646           vaapiencode: enhance how the profile is defined
4647           This code doesn't define the profile used by the internal encoder, but
4648           it used to "predict" which is going to be used and to get the caps
4649           restrictions.
4650           Before the profile was predicted by checking the donwstream caps, but
4651           sometimes they are not defined, setting an unknown profile. In order
4652           to enhances this situation, the encoder asks to internal encoder if it
4653           has one. If so, it is used.
4654           To ask the internal encoder's profile a new accessor function was
4655           added: gst_vaapi_encoder_get_profile()
4656
4657 2019-08-16 19:26:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4658
4659         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
4660         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
4661           libs: profilecaps: defines gst_vaapi_profile_caps_append_encoder()
4662           Previously it was just a boilerplate. Now it is real implementation.
4663
4664 2019-08-16 19:17:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4665
4666         * gst-libs/gst/vaapi/gstvaapiutils.c:
4667           libs: utils: treat va_rt_format as bitwise flag
4668           The return value of vaGetConfigAttributes() of VAConfigAttribRTFormat
4669           is a bitwise flag with *all* the supported chroma types.
4670           Previously it was assumed that the return value was a single value,
4671           thus when returning the GST_VAAPI_CHROMA_TYPE_XXX the code was a
4672           simple case. But it is wrong.
4673           This patch changes the case block with a sequence of ifs testing the
4674           bitwise. For now we assume a "priority" list in the testing sequence.
4675
4676 2019-08-16 18:07:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4677
4678         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4679         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4680         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4681         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4682         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4683         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4684         * gst-libs/gst/vaapi/gstvaapiprofile.c:
4685         * gst-libs/gst/vaapi/gstvaapiprofile.h:
4686         * tests/test-display.c:
4687           libs: profile: add gst_vaapi_profile_get_va_name()
4688           gst_vaapi_profile_get_name() returns a proper name for
4689           GstCaps. Nonetheless, there are many profiles which don't have a name
4690           representation for that realm.
4691           gst_vaapi_profile_get_va_name() returns the name of the profile
4692           according to its VAProfile name.
4693           This new funtion is used in the encoder error message.
4694
4695 2019-08-05 19:47:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4696
4697         * gst-libs/gst/vaapi/Makefile.am:
4698         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
4699         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
4700         * gst-libs/gst/vaapi/meson.build:
4701         * gst/vaapi/gstvaapidecode.c:
4702           libs: profilecaps: move caps config into a new file
4703           Implement all the appending of frame size restrictions in caps, for
4704           encoders and decoders, in a new source file.
4705
4706 2019-08-05 19:45:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4707
4708         * gst-libs/gst/vaapi/gstvaapidecoder.c:
4709           libs: decoder: ref the caps as property
4710
4711 2019-08-02 16:56:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4712
4713         * gst-libs/gst/vaapi/gstvaapicontext.c:
4714         * gst-libs/gst/vaapi/gstvaapicontext.h:
4715           libs: context: add gst_vaapi_context_get_surface_attributes()
4716           This function copies the surface attributes from the context's object
4717           to the caller.
4718
4719 2019-08-02 12:46:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4720
4721         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
4722         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
4723         * gst-libs/gst/vaapi/gstvaapiutils.c:
4724         * gst-libs/gst/vaapi/gstvaapiutils.h:
4725           libs: move memory types conversions to gstvaapiutils
4726           And add more supported memory types by current VA.
4727
4728 2019-08-01 19:48:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4729
4730         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4731         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
4732           libs: utils: remove unused function gst_vaapi_get_surface_formats()
4733
4734 2019-08-01 19:46:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4735
4736         * gst-libs/gst/vaapi/gstvaapicontext.c:
4737         * gst-libs/gst/vaapi/gstvaapicontext.h:
4738         * gst-libs/gst/vaapi/gstvaapifilter.c:
4739           libs: context, filter: use new surface attributes API
4740
4741 2019-08-01 19:13:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4742
4743         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4744         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
4745           libs: utils: add gst_vaapi_config_surface_attributes_get()
4746           To extract the surface restrictions per config using a new structure:
4747           GstVaapiConfigSurfaceAttributes
4748
4749 2019-07-31 13:08:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4750
4751         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4752           Split the surface attribute retrieval
4753
4754 2019-07-15 21:51:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4755
4756         * gst/vaapi/gstvaapipostproc.c:
4757           vaapipostproc: handle navigation downstream event
4758           When navigation events contains coordiantes those have to be mapped
4759           to the new size and/or orientation.
4760
4761 2019-07-15 21:23:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4762
4763         * tests/elements/test-vaapisink.c:
4764           test-vaapisink: also use vaapipostproc to change orientation
4765
4766 2019-07-15 21:27:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4767
4768         * gst-libs/gst/vaapi/gstvaapifilter.c:
4769         * gst-libs/gst/vaapi/gstvaapifilter.h:
4770         * gst/vaapi/gstvaapipostproc.c:
4771         * gst/vaapi/gstvaapipostproc.h:
4772         * gst/vaapi/gstvaapipostprocutil.c:
4773           vaapipostproc: handle image-orientation upstream event
4774           Now that vaapipostproc can possible handle video-direction, it
4775           should also handle the image-orientation event from upstream if
4776           video-direction property is set to auto.
4777
4778 2019-07-26 22:09:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4779
4780         * gst/vaapi/gstvaapipostproc.c:
4781           vaapipostproc: add missing locks when adding flags
4782
4783 2019-07-26 22:05:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4784
4785         * gst/vaapi/gstvaapipostproc.c:
4786           vaapipostproc: update filter before fixate caps
4787           It is requiered to know if postproc is capable to change the video
4788           direction before fixating the source caps.
4789           In order to do it, it'ss required to know if there's a functional VPP,
4790           but that's checked at create() vmethod, which occurs after caps
4791           fixating.
4792           This patch checks for a functional VPP at fixate caps and, if so,
4793           checks for the enabled filtes and later do the caps fixations.
4794
4795 2019-07-26 19:46:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4796
4797         * gst-libs/gst/vaapi/gstvaapifilter.c:
4798         * gst-libs/gst/vaapi/gstvaapivalue.c:
4799         * gst-libs/gst/vaapi/gstvaapivalue.h:
4800         * gst/vaapi/gstvaapipostproc.c:
4801           vaapipostproc: element warning if video direction is unsupported
4802           If the video direction is unsupported by the driver, an element
4803           warning is posted in the bus to notify the application.
4804           gst_vaapi_enum_type_get_nick() was added in the library thus it can
4805           be used elsewhere. It retrives the nick from an enum gtype.
4806
4807 2019-07-26 19:09:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4808
4809         * gst-libs/gst/vaapi/gstvaapifilter.c:
4810           libs: filter: check mirror and rotation caps only once
4811           This patch locks the display before querying the pipeline caps and
4812           stores the mirror and rotation capabilities, thus they are not queried
4813           every time the video direction is set.
4814
4815 2019-08-16 19:51:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4816
4817         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4818           libs: encoder: vp9: set VP9_0 profile as default
4819           Commit 0afc8131 introduced a regression and only NV12 format were
4820           admitted, failing in any other valid color format.
4821           This patch sets the profile to GST_VAAPI_PROFILE_VP9_0 by default.
4822
4823 2019-08-16 13:25:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4824
4825         * gst-libs/gst/vaapi/gstvaapifilter.c:
4826           libs: filter: fail if first color balance value is invalid
4827
4828 2019-08-06 19:24:08 +0800  Yan Wang <yan.wang@linux.intel.com>
4829
4830         * gst-libs/gst/vaapi/gstvaapifilter.c:
4831         * gst-libs/gst/vaapi/gstvaapiutils.c:
4832         * gst-libs/gst/vaapi/gstvaapiutils.h:
4833           libs: filter: set all color balance values
4834           When set multiple settings of color balance like hue, saturation,
4835           brightness and contrast for vaapipostproc, they should be set as
4836           parameters of color balance filter, at the same color balance
4837           filter calling.
4838           Otherwise, multiple color balance filter calling will cause
4839           previous setting get reset by the last calling with default value.
4840           Fixes #182.
4841           Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
4842
4843 2019-08-16 11:02:08 +0800  Wangfei <fei.w.wang@intel.com>
4844
4845         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4846           libs: h265dec: remove limitation of get iq matrix
4847           According hevc spec, scaling_list_data is not related
4848           to chroma_format_idc.
4849
4850 2019-05-30 23:52:51 +0800  He Junyan <junyan.he@hotmail.com>
4851
4852         * gst-libs/gst/vaapi/gstvaapivideopool.c:
4853           libs: videopool: fix undocumented behavior and counting
4854           gst_vaapi_video_pool_reserve_unlocked() hit an undocumented behavoir
4855           because it locks twice the same mutex.
4856           Also, n had different meanings in the current code: as an increase
4857           value and as a new total of allocated surfaces.
4858           This patche removes the undocumented behavoir (usually a deadlock) and
4859           fixes the meaning of n as the new total of allocated surfaces.
4860           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4861
4862 2019-07-17 11:56:45 +0800  He Junyan <junyan.he@hotmail.com>
4863
4864         * gst-libs/gst/vaapi/gstvaapiutils.c:
4865           libs: utils: Add missing entries for string_of_VAEntrypoint.
4866
4867 2019-07-18 22:01:01 +0800  He Junyan <junyan.he@hotmail.com>
4868
4869         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4870           libs: encoder: Consider vp9 profiles based on input format.
4871           Only support GST_VAAPI_PROFILE_VP9_0 and GST_VAAPI_PROFILE_VP9_2 now.
4872           Fix: #184
4873
4874 2019-08-12 18:41:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4875
4876         * gst/vaapi/gstvaapivideomemory.c:
4877           vaapivideomemory: demote error message to info
4878           The main reason to demote the message's level is because it is not an
4879           error, it's a possible output of the trial and there's a code path
4880           that handles it.
4881           Secondly, it's very annoying when using gallium driver for radeon.
4882
4883 2019-07-18 13:32:46 +0800  Wangfei <fei.w.wang@intel.com>
4884
4885         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4886         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4887         * gst-libs/gst/vaapi/gstvaapitypes.h:
4888         * gst-libs/gst/vaapi/gstvaapiutils.c:
4889         * gst-libs/gst/vaapi/gstvaapivalue.c:
4890           libs: encoder: h264: support ICQ/QVBR bitrate control mode
4891           ICQ is Intelligent Constant Quality. It will use the initial QP
4892           vaule of icq-quality-factor to adjust QP at MB level intelligently
4893           to improve subjective quality.
4894           QVBR is Quality defined VBR. It will use qvbr-quality-factor to
4895           adjust QP for each MB to get enough quality picture without waste
4896           of bits.
4897
4898 2019-08-05 10:51:24 +0800  Wangfei <fei.w.wang@intel.com>
4899
4900         * gst-libs/gst/vaapi/gstvaapitypes.h:
4901           libs: Let GST_VAAPI_RATECONTROL_MASK return unsigned int
4902           The value return from GST_VAAPI_RATECONTROL_MASK will be used by
4903           GST_VAAPI_POPCOUNT32 as its inpput. GST_VAAPI_POPCOUNT32 can only
4904           deal with unsigned int. Otherwise there may be an error of out of
4905           range of integer if we define few more rate-control mode.
4906
4907 2019-06-07 09:54:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4908
4909         * gst/vaapi/gstvaapidecodebin.c:
4910           vaapidecodebin: set queue's max size buffers to 1
4911           Otherwise the queue will swallow all the available decoder's surfaces
4912           reaching a dead-lock.
4913           This setting might impact the bin's peformance, but it's a trade-off.
4914
4915 2019-06-07 09:53:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4916
4917         * gst/vaapi/gstvaapidecodebin.c:
4918           vaapidecodebin: set properties default values
4919
4920 2019-05-31 13:12:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4921
4922         * gst/vaapi/gstvaapidecode.c:
4923           vaapidecode: don't error if can't push buffers downtream
4924           When the code path goes to push buffers downstream when no surface
4925           available in decoder context, and it fails the code bails out with a
4926           fatal error.
4927           That behavior is wrong, since it shouldn't be fatal. The use case is
4928           when the video stream is disabled.
4929           This patch just ignores the errors in this situation and demotes the
4930           level of a log message.
4931
4932 2019-05-18 13:24:35 +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/gstvaapiencoder_h264_fei.c:
4937         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
4938         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4939         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
4940           libs: encoder: h264,h265: add new property "max-qp"
4941           Add new property "max-qp" to allow set the maximum quantisation
4942           parameter values.
4943
4944 2019-05-23 10:18:52 -0400  Wangfei <fei.w.wang@intel.com>
4945
4946         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4947           libs: encoder: vp9: add low power mode encode
4948           By now, this feature only support by media-driver on Ice Lake
4949           platform, more information you can reference:
4950           https://github.com/intel/media-driver
4951
4952 2019-07-15 15:33:07 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4953
4954         * gst/vaapi/gstvaapipostprocutil.c:
4955           vaapipostproc: update PAR when rotating
4956           When rotating, swap pixel-aspect-ratio during
4957           negotiation.
4958           Fixes #181
4959
4960 2019-07-01 15:26:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4961
4962         * gst-libs/gst/vaapi/gstvaapifilter.c:
4963         * gst-libs/gst/vaapi/gstvaapiutils.c:
4964         * gst-libs/gst/vaapi/gstvaapiutils.h:
4965         * gst/vaapi/gstvaapipostprocutil.c:
4966           vaapipostproc: add rotation support
4967           Adds vpp rotation support to vaapipostproc.  Uses
4968           property video-direction. Default is identity (no
4969           rotation).
4970           Closes #104
4971
4972 2019-05-22 10:47:30 -0400  Wangfei <fei.w.wang@intel.com>
4973
4974         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4975           libs: encoder: h265: pass diff_cu_qp_delta_depth flag to driver
4976           Intel media-driver requires enablement of diff_cu_qp_delta_depth when
4977           cu_qp_delta_enabled_flag enabled.
4978           Fixes: #177
4979
4980 2019-07-01 17:02:33 +0800  Wangfei <fei.w.wang@intel.com>
4981
4982         * gst-libs/gst/vaapi/gstvaapiutils.c:
4983           libs: encoder: Add MB ratecontrol mode to get its string
4984
4985 2019-07-01 16:52:00 +0800  Wangfei <fei.w.wang@intel.com>
4986
4987         * gst-libs/gst/vaapi/gstvaapiutils.c:
4988           libs: encoder: refine guard of bitrate control mode
4989           Remove useless guard of all bitrate control mode's guard except MB
4990           which is define in VA-API version 0.39.1.
4991
4992 2019-06-29 00:08:40 +1000  Jan Schmidt <jan@centricular.com>
4993
4994         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4995           h264: Update for parse_vui_params parameter removal.
4996           Update calls to the h264 parser lib for removal of the
4997           parse_vui_params parameter.
4998
4999 2019-06-24 16:26:56 -0400  Wang Zhanjun <zhanjunx.wang@intel.com>
5000
5001         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5002           libs: dec: vp9: do not use display size as decoded size
5003           If display size is smaller than current frame size, then the crop size
5004           will be set as display size, which either crashes the pipeline or the
5005           output MD5 does not match. Rather it should use the actual decoded size.
5006           This patch removes the cropping set. For rendering we can use aspect
5007           ratio to set display size.
5008           Fixes #175
5009           Signed-off-by: Wang Zhanjun <zhanjunx.wang@intel.com>
5010           Signed-off-by: Xu Guangxin <guangxin.xu@intel.com>
5011
5012 2019-06-28 16:32:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5013
5014         * README:
5015           Update README
5016
5017 2019-06-25 19:11:12 +0800  He Junyan <junyan.he@hotmail.com>
5018
5019         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5020         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
5021         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
5022           libs: dec: h265: Consider chroma_bit_depth to choose chrome type
5023           For some main-10 stream, sometime the luma is 8 bits while chrome is more
5024           than 8 bits, which cause using the wrong NV12 surface as the render target
5025           and decoding error.
5026           Fix #176
5027
5028 2019-06-25 10:31:20 +0800  Wangfei <fei.w.wang@intel.com>
5029
5030         * gst/vaapi/gstvaapidecode.c:
5031           vaapidecode: set initial decode format according surface chroma type
5032           For surfaces with different chroma type, it is prefer to initialize
5033           a format which chroma type should be same with surface chroma type
5034           instead of using fixed NV12.
5035
5036 2019-05-30 09:48:51 -0400  Wangfei <fei.w.wang@intel.com>
5037
5038         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
5039         * gst-libs/gst/vaapi/gstvaapiimage.c:
5040         * gst-libs/gst/vaapi/video-format.c:
5041         * gst/vaapi/gstvaapidecode.c:
5042         * gst/vaapi/gstvaapipluginutil.h:
5043           libs: decoder: jpeg: add support 400/411/422/444 chroma type
5044           When create vaapi surface, it is better to use the chroma type get
5045           from jpeg file instead of using fixed 420 format. And the correct
5046           chroma type can be determined by horizontal_factor/vertical_factor
5047           flags that get from jpegparse.
5048
5049 2019-06-22 00:05:24 +0800  He Junyan <junyan.he@hotmail.com>
5050
5051         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
5052           libs: dec: h265: Fix profile_idc mapping.
5053           The old mapping values return by gst_vaapi_utils_h265_get_profile_idc is
5054           wrong, though GST_H265_PROFILE_IDC_MAIN and GST_H265_PROFILE_IDC_MAIN_10
5055           happened to be the correct value.
5056           We only support Annex A profile_idc (1-4).
5057
5058 2019-06-10 20:46:30 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5059
5060         * gst/vaapi/gstvaapipluginbase.c:
5061           plugins: remove last negotiated video info if caps are same
5062           If the allocation caps and negotiated caps are the same,
5063           then ensure any previously negotiated video info is also
5064           removed.  This can occur when multi-resolution video
5065           decoding returns to it's original resolution.
5066           Fixes #170
5067
5068 2019-06-10 20:39:28 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5069
5070         * gst/vaapi/gstvaapivideomemory.c:
5071           vaapivideomemory: allow negotiated info to be removed
5072           Allow NULL negotiated_vinfo to be passed into
5073           gst_allocator_set_vaapi_negotiated_video_info to allow
5074           any previously set info to be removed.
5075
5076 2019-06-06 17:24:30 +0300  Freyr <freyrnjordrson@gmail.com>
5077
5078         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5079         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5080           libs: encoder: vp8,vp9: reset frame_counter when input frame's format changes
5081           When input frame's formate changes, vp{8,9} encoders don't reset their frame
5082           counter, hence the newly created frame could become a P-frame, leading to some
5083           major troubles (sigabrt in libdrm in case of vp9). This patch adds some frame
5084           prediction-related reset logic to the `flush' methods of GstVaapiEncoderVP8 and
5085           GstVaapiEncoderVP9 implementations.
5086
5087 2019-05-31 12:30:03 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5088
5089         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5090           libs: encoder: increase bitrate prop max value
5091           There are many profile levels that can support
5092           more than 102400 kbps.  Thus, increase the max
5093           allowed bitrate property value from 102400 kbps
5094           to 2048000 kbps (same as msdk encoder plugins).
5095
5096 2019-06-04 13:27:50 +0800  He Junyan <junyan.he@hotmail.com>
5097
5098         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
5099           libs: mpeg2 encoder: No packed header for SPS and PPS
5100           Dislable passing down packed PPS and PPS to driver if driver does
5101           not want it.
5102           Fix: #168
5103
5104 2019-05-31 23:10:33 +0200  Niels De Graef <niels.degraef@barco.com>
5105
5106         * configure.ac:
5107         * meson.build:
5108         * tests/output.c:
5109           meson: Bump minimal GLib version to 2.44
5110           This means we can use some newer features and get rid of some
5111           boilerplate code using the G_DECLARE_* macros.
5112           As discussed on IRC, 2.44 is old enough by now to start depending on it.
5113
5114 2019-05-31 13:08:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5115
5116         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5117           libs: dec: vp9: clear parser pointer after release
5118           Fix an use-after-release of the parser pointer in VP9 decoder.
5119
5120 2019-05-28 12:09:36 +0300  Freyr666 <sky_rider_93@mail.ru>
5121
5122         * gst/vaapi/gstvaapiencode.c:
5123           vaapiencode: Fixes deadlock in gst_vaapiencode_change_state function
5124           This fixes a deadlock in gst_vaapiencode_change_state, which was due to
5125           srcpad's chain function was locked waiting for available buffers. Since the
5126           coded buffers in codedbuf_queue become available after sinkpad consume the
5127           encoded frames, Paused -> Ready state change leads to deadlock. Coded buffers
5128           are never consumed and marked free, hence gst_vaapiencode_handle_frame waits for
5129           available buffers and holds the stream_lock of the srcpad.
5130
5131 2019-05-29 23:08:22 +0200  Mathieu Duponchelle <mathieu@centricular.com>
5132
5133         * gst-libs/gst/vaapi/gstvaapitypes.h:
5134         * gst/vaapi/gstvaapidecodebin.c:
5135         * gst/vaapi/gstvaapidecodedoc.c:
5136         * gst/vaapi/gstvaapiencode_h264.c:
5137         * gst/vaapi/gstvaapiencode_h264_fei.c:
5138         * gst/vaapi/gstvaapiencode_h265.c:
5139         * gst/vaapi/gstvaapiencode_jpeg.c:
5140         * gst/vaapi/gstvaapiencode_mpeg2.c:
5141         * gst/vaapi/gstvaapiencode_vp8.c:
5142         * gst/vaapi/gstvaapiencode_vp9.c:
5143         * gst/vaapi/gstvaapipostproc.c:
5144         * gst/vaapi/gstvaapisink.c:
5145           doc: remove xml from comments
5146
5147 2019-05-13 16:39:33 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5148
5149         * gst-libs/gst/vaapi/gstvaapifilter.c:
5150         * gst-libs/gst/vaapi/gstvaapifilter.h:
5151         * gst-libs/gst/vaapi/gstvaapiutils.c:
5152         * gst-libs/gst/vaapi/gstvaapiutils.h:
5153         * gst/vaapi/gstvaapipostproc.c:
5154         * gst/vaapi/gstvaapipostproc.h:
5155           vaapipostproc: add mirror support
5156           Adds vpp mirroring support to vaapipostproc.  Use
5157           property video-direction.  Valid values are identity,
5158           horiz or vert.  Default is identity (no mirror).
5159           Closes #89
5160           v2: Use GstVideoOrientationMethod enum
5161           v3: Don't warn for VA_MIRROR_NONE.
5162           Use GST_TYPE_VIDEO_ORIENTATION_METHOD type.
5163           v4: Query VAAPI caps when setting mirror value
5164           instead of during per-frame processing.
5165           v5: Return TRUE in warning cases when setting mirror value.
5166
5167 2019-05-29 01:35:17 +0200  Mathieu Duponchelle <mathieu@centricular.com>
5168
5169         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
5170         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
5171         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5172         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5173         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
5174         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
5175         * gst/vaapi/gstvaapidecodebin.c:
5176         * gst/vaapi/gstvaapisink.c:
5177           doc: fix some incorrect gtk-doc links
5178
5179 2019-05-16 09:22:42 -0400  Thibault Saunier <tsaunier@igalia.com>
5180
5181         * docs/gst_plugins_cache.json:
5182           docs: Update plugin cache
5183           Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
5184
5185 2019-05-16 16:46:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5186
5187         * gst-libs/gst/vaapi/gstvaapisurface.h:
5188           libs: surface: fix documentation format
5189
5190 2019-05-16 10:05:17 +0800  Wangfei <fei.w.wang@intel.com>
5191
5192         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5193           libs: enc: h265: reset num_ref_idx_l1_active_minus1 when low delay B.
5194           When enable low delay B, the reference list 1 will be same with
5195           reference list 0, so need reset the num_ref_idx_l1_active_minus1
5196           to num_ref_idx_l0_active_minus1.
5197           Fixes: #160
5198
5199 2019-05-13 19:05:43 -0400  Thibault Saunier <tsaunier@igalia.com>
5200
5201         * docs/meson.build:
5202           meson: Fix call to wrong function
5203
5204 2018-10-22 11:48:29 +0200  Thibault Saunier <tsaunier@igalia.com>
5205
5206         * Makefile.am:
5207         * configure.ac:
5208         * docs/Makefile.am:
5209         * docs/gst_plugins_cache.json:
5210         * docs/index.md:
5211         * docs/meson.build:
5212         * docs/plugins/Makefile.am:
5213         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
5214         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
5215         * docs/plugins/gstreamer-vaapi-plugins.types:
5216         * docs/plugins/inspect/plugin-vaapi.xml:
5217         * docs/plugins/running.xml:
5218         * docs/sitemap.txt:
5219         * docs/version.entities.in:
5220         * gst/vaapi/meson.build:
5221         * meson.build:
5222         * meson_options.txt:
5223           docs: Port to hotdoc
5224
5225 2019-05-10 18:29:10 +0800  He Junyan <junyan.he@hotmail.com>
5226
5227         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5228         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5229           libs: encoder: not call ensure_num_slices inside g_assert
5230           g_assert will take no effect when glib's G_DISABLE_ASSERT macro is
5231           defined. The function inside the g_assert will take no effect and
5232           we will fail to set the correct slice number.
5233
5234 2019-04-29 09:52:39 +0800  Wangfei <fei.w.wang@intel.com>
5235
5236         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5237           libs: h265: dec: Add extension flags setting.
5238           Use VAPictureParameterBufferHEVCExtension&
5239           VASliceParameterBufferHEVCExtension to pass extension setting from
5240           some extension profile clips which may include these information.
5241           The hevc extension setting only supported after libva release 2.2.0
5242           (API 1.2.0).
5243
5244 2019-05-01 12:56:55 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5245
5246         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5247         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5248         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5249           libs: encoder: add target-percentage property
5250           Allow users to set the target-percentage for
5251           variable rate controls.  The default value is
5252           70 (as hard-coded prior).
5253           v2: minimum allowed value changed from 0 to 1
5254           v3: target-percentage unchanged if CBR used
5255           Resolves #129
5256
5257 2019-05-09 00:09:21 +0800  He Junyan <junyan.he@hotmail.com>
5258
5259         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5260           libs: encoder: Add a missing comment for DEFAULT_ROI_VALUE property.
5261
5262 2019-05-08 23:39:20 +0800  He Junyan <junyan.he@hotmail.com>
5263
5264         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5265         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5266         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5267         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
5268         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5269           libs: encoder: Enable trellis quantization method.
5270           The advanced trellis algorithm is supported in VA driver. We add
5271           its support as a property named "trellis" of encoder.
5272           It only works for H264 now, should be more in future.
5273
5274 2019-05-07 11:03:51 +0800  Wangfei <fei.w.wang@intel.com>
5275
5276         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5277           libs: decoder: vp9: support 422/444 8bit/10bit chroma type.
5278           According to the vp9 sepc, profile 1/3 support 422/440/444 chroma
5279           type, so we need to add subsampling_x&subsampling_y to fix it.
5280           Here is the relationship between chroma type and profile and
5281           subsampling_x&subsampling_y according to vp9 spec:
5282           ------------------------------------------
5283           Profile | Bit depth | Chroma subsampling |
5284           ------------------------------------------
5285           0      | 8         | 420                |
5286           ------------------------------------------
5287           1      | 8         | 422,440,444        |
5288           ------------------------------------------
5289           2      | 10, 12    | 420                |
5290           ------------------------------------------
5291           3      | 10, 12    | 422,440,444        |
5292           ------------------------------------------
5293           -----------------------------------------------
5294           Subsampling_x | Subsampling_y | Chroma format |
5295           -----------------------------------------------
5296           0            | 0             | 444           |
5297           -----------------------------------------------
5298           0            | 1             | 440           |
5299           -----------------------------------------------
5300           1            | 0             | 422           |
5301           -----------------------------------------------
5302           1            | 1             | 420           |
5303           -----------------------------------------------
5304
5305 2019-04-16 18:33:54 +0800  He Junyan <junyan.he@hotmail.com>
5306
5307         * gst-libs/gst/vaapi/gstvaapiimage.c:
5308         * gst-libs/gst/vaapi/video-format.c:
5309           libs: Add packed 24 RGB format support.
5310           Can not find a suitable chrome_type for this GST_VIDEO_FORMAT_RGB
5311           packed 24 format. Just use GST_VAAPI_CHROMA_TYPE_RGB32 as its chrome
5312           type. This kind of surface will just be created by new API with fourcc
5313           and no old style chrome based creation is available.
5314           fixes: #151
5315
5316 2019-03-15 14:29:41 +0800  Wangfei <fei.w.wang@intel.com>
5317
5318         * gst/vaapi/gstvaapiencode.c:
5319         * gst/vaapi/gstvaapiencode_h264.c:
5320         * gst/vaapi/gstvaapiencode_h264_fei.c:
5321         * gst/vaapi/gstvaapiencode_h265.c:
5322         * gst/vaapi/gstvaapiencode_jpeg.c:
5323         * gst/vaapi/gstvaapiencode_mpeg2.c:
5324         * gst/vaapi/gstvaapiencode_vp8.c:
5325         * gst/vaapi/gstvaapiencode_vp9.c:
5326           vaapiencode: handle DMABuf caps feature in sink pad
5327           Add DMABuff caps features in all encoders' sink pad.
5328
5329 2019-05-03 10:31:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5330
5331         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5332           libs: encoder: continue if roi meta is NULL
5333           Coverity scan bug:
5334           If the function actually returns a null value, a null pointer
5335           dereference will occur.
5336           In gst_vaapi_encoder_ensure_param_roi_regions(): Return value of
5337           function which returns null is dereferenced without checking
5338
5339 2019-04-15 19:58:14 +0800  He Junyan <junyan.he@hotmail.com>
5340
5341         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5342           lib: decoder: vp9: Set chroma_type by VP9 bit_depth
5343           The decoder's surface chroma type should depend on the bit depth
5344           of VP9's parser. For 10bits VP9 stream, we need to use P10LE kind
5345           10 bits surface as the decoder result.
5346           Fixes #155
5347
5348 2019-05-02 16:00:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5349
5350         * gst/vaapi/gstvaapipostprocutil.c:
5351           vaapipostproc: don't do any color conversion when GL_TEXTURE_UPLOAD
5352           https://bugzilla.gnome.org/show_bug.cgi?id=748184 has resurrected
5353           with commit 3e992d8a
5354           Since gst_vaapi_find_preferred_caps_feature() returns a color format
5355           from caps negotiation, different from the default one (NV12), the
5356           postproc enables the color transformation. But when GL_TEXTURE_UPLOAD
5357           feature is negotiated, no color transformation shall be done.
5358           Nonetheless, with commit 3e992d8a the requested format changes
5359           firstly, because there's no video sink yet, so ANY caps are
5360           negotiated; but later, when there's a video sink and a caps
5361           renegotiation, the GL_TEXTURE_UPLOAD is negotiated though the color
5362           format conversion still ongoing. It is required to reset that
5363           conversion.
5364           This patch force default color format when GL_TEXTURE_UPLOAD is
5365           selected as preferred, thus avoiding the color conversion.
5366           Fixes: #157
5367
5368 2019-04-19 15:49:37 -0700  Julien Isorce <jisorce@oblong.com>
5369
5370         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
5371           libs: surface: fix double free when dmabuf export fails
5372           Happens if vaAcquireBufferHandle fails.
5373
5374 2019-04-29 20:10:39 +0800  He Junyan <junyan.he@hotmail.com>
5375
5376         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5377           libs: h264encoder: fix a typo of GstVaapiEncoderH264PredictionType
5378
5379 2019-04-19 10:43:35 +0100  Tim-Philipp Müller <tim@centricular.com>
5380
5381         * RELEASE:
5382         * configure.ac:
5383         * docs/plugins/inspect/plugin-vaapi.xml:
5384         * meson.build:
5385           Back to development
5386
5387 === release 1.16.0 ===
5388
5389 2019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
5390
5391         * ChangeLog:
5392         * NEWS:
5393         * RELEASE:
5394         * configure.ac:
5395         * gstreamer-vaapi.doap:
5396         * meson.build:
5397           Release 1.16.0
5398
5399 2019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
5400
5401         * docs/plugins/inspect/plugin-vaapi.xml:
5402           Update docs
5403
5404 2019-04-15 19:34:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5405
5406         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5407         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5408         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5409           libs: encoder: h264,h265: guard VA version for max_qp property
5410           This patch fixes a regression from commit 5b1fe9c6.
5411           max_qp, in rate control configuration, appeared in libva release
5412           2.1 (API 1.1), thus it is required to guard the VA API version.
5413           Fixes: #150
5414
5415 2019-04-08 18:29:35 +0800  He Junyan <junyan.he@hotmail.com>
5416
5417         * gst-libs/gst/vaapi/gstvaapiimage.c:
5418         * gst-libs/gst/vaapi/video-format.c:
5419           libs: Add RGB565 image format support.
5420
5421 2019-04-10 13:59:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5422
5423         * configure.ac:
5424           build: configure: delay USE_GTK conditional until check libva-x11
5425           libva-x11 is used for X11 applications, so it is required to build
5426           any GTK application.
5427           Later, when Wayland test is added, we should change this.
5428
5429 2019-04-10 13:25:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5430
5431         * configure.ac:
5432           build: configure: disable GLX if libva-x11 is not found
5433
5434 2019-04-15 13:55:26 +0200  He Junyan <junyan.he@hotmail.com>
5435
5436         * gst-libs/gst/vaapi/gstvaapiutils.c:
5437           libs: utils: avoid macro evaluation when stringify
5438           string_of_va_chroma_format() gets a wrong string format description.
5439           For example, the YUV420_10BPP get a string of 0x00000100 as output.
5440           It's because VA_RT_FORMAT_xxx values are macro definitions. And
5441           STRINGIFY(VA_RT_FORMAT_xxx) will expand to its real value
5442           0x00000XXX.
5443           To avoid the macro evaluation, it is changed to show only the color
5444           format without VA_RT_FORMAT_ prefix.
5445
5446 2019-04-15 13:54:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5447
5448         * gst-libs/gst/vaapi/gstvaapiutils.c:
5449           libs: utils: use glib's macros
5450           Don't reinvent the wheel.
5451
5452 2019-04-11 15:05:02 +0800  Wangfei <fei.w.wang@intel.com>
5453
5454         * gst/vaapi/gstvaapipluginutil.c:
5455           plugins: find the preferred format from right caps.
5456           When the downstream has any caps, then raw video feature will
5457           be used. At this situation, the preferred format should be chose
5458           from caps which contains "vide/x-raw" feature instead of from
5459           the fist allowed caps.
5460           Fixes #142
5461
5462 2019-04-10 11:43:33 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5463
5464         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5465           libs: encoder: h265: fill tier in va seq param buf
5466           Now that tier is calculated in commit 58e74f9440fe (!68),
5467           ensure we fill in the general_tier_flag in the
5468           VAEncSequenceParameterBufferHEVC.
5469
5470 === release 1.15.90 ===
5471
5472 2019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
5473
5474         * ChangeLog:
5475         * NEWS:
5476         * RELEASE:
5477         * configure.ac:
5478         * gstreamer-vaapi.doap:
5479         * meson.build:
5480           Release 1.15.90
5481
5482 2019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
5483
5484         * docs/plugins/inspect/plugin-vaapi.xml:
5485           Update docs
5486
5487 2019-04-09 20:42:04 +0800  He Junyan <junyan.he@hotmail.com>
5488
5489         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5490           libs: encoder: h265: Recognize the correct level and tier.
5491           The current manner can not recognize the correct level and always
5492           set the tier to main. Need to add frame rate check to recognize
5493           levels such as 4.1, 6.2, etc. We also add a logic to check main
5494           and high tier based on bitrate.
5495           Fixes: #145
5496
5497 2019-04-03 14:12:23 +0800  He Junyan <junyan.he@hotmail.com>
5498
5499         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5500         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5501         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5502           libs: encoder: h264,h265: Set max_qp if min_qp is non-zero.
5503           media-driver currently fails to set a correct value of max_qp when
5504           min_qp is different to zero, in CBR and VBR mode, generating full
5505           quality frames, thus unexpected huge output.
5506           This patch sets max_qp to an arbitrary value to avoid this output
5507           temporary.
5508           Fixes: #144
5509
5510 2019-04-09 12:42:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5511
5512         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5513         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5514         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5515           libs: encoder: h264,h265: initial and minimal QP can be zero
5516           Currently the minimal value for either min_qp and init_qp are 1,
5517           but VA documentation specifiy that zero is also valid and means
5518           to ignore the quantiser.
5519           The default value is not changed though to avoid behaivor changes
5520           to users.
5521
5522 2019-04-09 09:20:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
5523
5524         * tests/elements/meson.build:
5525           meson: build test-vaapicontext when using X11
5526           x11_dep and libva_x11_dep are optional and meson ignores these
5527           dependencies even if they are added into the dependency list.
5528           This fixes the error below when libva-x11 is not avaiblabe:
5529           cc -Itests/elements/tests@elements@@test-vaapicontext@exe
5530           -Itests/elements -I../../gstreamer-vaapi/tests/elements -I.
5531           -I../../gstreamer-vaapi/ -Igst-libs -I../../gstreamer-vaapi/gst-libs
5532           -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0
5533           -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/orc-0.4
5534           -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0
5535           -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
5536           -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/
5537           -I/usr/include/libdrm -I/usr/include/harfbuzz -I/usr/include/pango-1.0
5538           -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo
5539           -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2
5540           -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
5541           -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall
5542           -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -pthread
5543           -DHAVE_CONFIG_H  -MD -MQ
5544           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
5545           -MF
5546           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o.d'
5547           -o
5548           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
5549           -c ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c
5550           ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c:29:10: fatal
5551           error: va/va_x11.h: No such file or directory
5552           #include <va/va_x11.h>
5553
5554 2019-04-01 12:56:28 +0800  He Junyan <junyan.he@hotmail.com>
5555
5556         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5557         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
5558         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
5559           libs: encoder: h264_fei: Use gst_param_spec_array for view-ids
5560           GValueArray is deprecated. Use GstValueArray instead.
5561
5562 2019-03-30 18:29:31 +0100  Danilo Spinella <danyspin97@protonmail.com>
5563
5564         * gst/vaapi/gstvaapipluginutil.c:
5565           vaapipluginutil: Fix #endif for USE_X11
5566
5567 2019-03-29 18:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5568
5569         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5570           libs: encoder: h264: simplify the view-ids setting
5571
5572 2019-03-26 14:54:47 +0800  He Junyan <junyan.he@hotmail.com>
5573
5574         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5575           libs: encoder: h264: Use gst_param_spec_array for view-ids
5576           GValueArray is deprecated. Use GstValueArray instead.
5577           gst_param_spec_array can be deserialized from command line using:
5578           vaapih264enc view-ids="<(uint)40,(uint)100>" num-views=2
5579           While the g_param_spec_value_array() can not, and always get
5580           error: "gst_value_deserialize_g_value_array: unimplemented"
5581           Also fixed an out-of-range bug.
5582
5583 2019-03-29 13:33:41 +0800  He Junyan <junyan.he@hotmail.com>
5584
5585         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
5586           libs: Change the parameter setting order when encode picture.
5587           The order in gst_vaapi_enc_picture_encode when encoding one
5588           picture is not very correct. The misc parameters are set before
5589           the picture parameters. Some of the misc parameters such as
5590           ROI may change the current picture parameters. But the later
5591           setting of picture parameter will re-init all picture related
5592           parameters and clear the previous setting. The right order
5593           should be picture parameter first and then misc parameters.
5594           Signed-off-by: He Junyan <junyan.he@hotmail.com>
5595
5596 2019-03-26 14:20:34 +0800  Wangfei <fei.w.wang@intel.com>
5597
5598         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
5599           libs: decoder: jpeg: support dynamic resolution change decode.
5600           Add size_changed flag to watch out resolution. if change, reset
5601           jpeg decoder's context.
5602
5603 2019-03-23 15:34:03 +0800  Wangfei <fei.w.wang@intel.com>
5604
5605         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5606           libs: encoder: h265: add low power mode encode.
5607           By now, this feature only support by media-driver on Ice Lake
5608           platform, more information you can reference:
5609           https://github.com/intel/media-driver
5610
5611 2019-03-15 18:40:21 +0800  He Junyan <junyan.he@hotmail.com>
5612
5613         * gst/vaapi/gstvaapiencode.c:
5614           vaapiencode: gobject's prop_id differ from vaapi encoder
5615           The vaapi internal encoder's property id are negative, thus they are
5616           different from GObject's property ids.
5617           gst_vaapi_encoder_set_property() should map to the internal encoder
5618           property id, assigned in gst_vaapiencode_default_set_property().
5619
5620 2019-03-21 16:56:34 +0000  Tim-Philipp Müller <tim@centricular.com>
5621
5622         * meson.build:
5623           meson: disable compiler warnings for unused vars and args if gst debug system is disabled
5624
5625 2019-03-21 13:31:57 +0000  Tim-Philipp Müller <tim@centricular.com>
5626
5627         * meson.build:
5628           meson: use new 'python' module instead of deprecated 'python3' one
5629
5630 2019-03-11 18:38:36 -0300  Thibault Saunier <tsaunier@igalia.com>
5631
5632         * common:
5633           Update common submodule back to 59cb678164719ff59dcf6c8b93df4617a1075d11
5634           It was wrongly changed in 3d9555a86d45565870c684fe00ec8bbb0fed7205
5635
5636 2019-03-04 09:16:17 +0000  Tim-Philipp Müller <tim@centricular.com>
5637
5638         * NEWS:
5639         * RELEASE:
5640         * configure.ac:
5641         * docs/plugins/inspect/plugin-vaapi.xml:
5642         * meson.build:
5643           Back to development
5644
5645 2019-03-01 12:33:26 +0800  He Junyan <junyan.he@hotmail.com>
5646
5647         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
5648           libs: Fix a typo in comments.
5649           Fix a typo in function description of
5650           gst_vaapi_surface_pool_new_with_chroma_type.
5651           Signed-off-by: He Junyan <junyan.he@hotmail.com>
5652
5653 2019-02-27 13:02:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5654
5655         * gst/vaapi/gstvaapipluginutil.c:
5656           plugin: if any caps in downstream, negotiate raw video
5657           When downstream has any caps, vaapi should not shovel vaapi featured
5658           buffers, but rather plain raw video, assuming always the worst case
5659           scenario (downstream cannot handle featured video memory but raw
5660           system memory buffers).
5661           This patch query the peer caps without any filter, to know if
5662           donwstream just ask for any caps, if so jump to the color space
5663           checking, otherwise do the caps intersection and continue with the
5664           feature selection algorithm.
5665           Fixes: #139
5666
5667 === release 1.15.2 ===
5668
5669 2019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
5670
5671         * ChangeLog:
5672         * NEWS:
5673         * RELEASE:
5674         * configure.ac:
5675         * gstreamer-vaapi.doap:
5676         * meson.build:
5677           Release 1.15.2
5678
5679 2019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
5680
5681         * docs/plugins/inspect/plugin-vaapi.xml:
5682           Update docs
5683
5684 2019-02-05 16:59:40 +0800  He Junyan <junyan.he@hotmail.com>
5685
5686         * gst/vaapi/gstvaapivideomemory.c:
5687           vaapivideomemory: Prefer same format for surface and image
5688           We prefer to use the same format between image and surface for gst
5689           vaapi allocator. The old way may choose different formats between
5690           image and surface. For example, the RGBA image may have a NV12 surface.
5691           So we need to do format conversion when we put/get image to surface.
5692           Some drivers such as iHD can not support such conversion and always
5693           cause a data flow error. There may also have some performance cost
5694           for format conversion when put/get images.
5695           So we prefer to use the same format for image and surface in the
5696           allocator. If the surface can not support that format, we then
5697           fallback to find a best one as the surface format.
5698           Co-authored-by: Víctor Jáquez <vjaquez@igalia.com>
5699
5700 2019-02-15 15:19:51 +0800  He Junyan <junyan.he@hotmail.com>
5701
5702         * gst-libs/gst/vaapi/video-format.c:
5703           libs: Delete the duplicated ARGB video format.
5704           Two ARGB formats with the same format information.
5705           Should be verbose and delete one.
5706           Signed-off-by: He Junyan <junyan.he@hotmail.com>
5707
5708 2019-02-13 10:39:59 -0500  Adam Jackson <ajax@redhat.com>
5709
5710         * common:
5711         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
5712           glx: Stop specifying GLX_DEPTH_SIZE
5713           This code is just confused. It's asking for at least as many bits of
5714           (z-axis) depth as the root window has bits of (color) depth. For rgb565
5715           or rgb888 this is harmless, but at 10 bits per channel this demands a
5716           30-bit or deeper Z buffer. While some hardware could in principle do a
5717           32-bit Z buffer, Mesa does not expose such fbconfigs (at least on Intel
5718           and AMD).
5719           We're not actually using the Z buffer, so just stop asking for one.
5720
5721 2019-01-14 11:30:48 +0100  Niels De Graef <niels.degraef@barco.com>
5722
5723         * configure.ac:
5724         * gst-libs/gst/vaapi/Makefile.am:
5725         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
5726         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
5727         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5728         * gst-libs/gst/vaapi/meson.build:
5729         * gst/vaapi/gstvaapisink.c:
5730         * meson.build:
5731           libs: wayland: add support for XDG-shell protocol
5732           [wl_shell] is officially [deprecated], so provide support for the
5733           XDG-shell protocol should be provided by all desktop-like compositors.
5734           (In case they don't, we can of course fall back to wl_shell).
5735           Note that the XML file is directly provided by the `wayland-protocols`
5736           dependency and generates the protocol marshalling code.
5737           [wl_shell]: https://people.freedesktop.org/~whot/wayland-doxygen/wayland/Client/group__iface__wl__shell.html
5738           [deprecated]: https://github.com/wayland-project/wayland/commit/698dde195837f3d0844b2725ba4ea8ce9ee7518c
5739
5740 2019-02-16 19:09:50 +0100  Niels De Graef <nielsdegraef@gmail.com>
5741
5742         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5743           libs: window: wayland: Prefix wl_shell_surface field with `wl_`
5744           It will help us to distinguish from other Wayland shell surface
5745           (such as XDG-shell) later on.
5746
5747 2019-01-14 09:58:19 +0100  Niels De Graef <nielsdegraef@gmail.com>
5748
5749         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
5750         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
5751         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5752           libs: wayland: Prefix wl_shell field with `wl_`
5753           It will help us to distinguish from other Wayland shells (such as
5754           XDG-shell) later on.
5755
5756 2019-02-08 09:21:28 +0300  Denis Nagorny <denis.nagorny@intel.com>
5757
5758         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5759           libs: display: lock ensure_profile()
5760           Thread safety patch for ensure_profile() function
5761           Fixes #133
5762
5763 2019-02-08 16:35:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5764
5765         * meson.build:
5766           meson: bump the minimum wayland version requirement to 1.11.0
5767           This was missed on commit 77bb3424
5768
5769 2019-01-24 21:08:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5770
5771         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5772         * gst/vaapi/gstvaapisink.c:
5773           vaapisink: x11: trap WM_DELETE_WINDOW message
5774           Register the WM_DELETE_WINDOW message from window manager and
5775           trap it to stop the pipeline cleanly.
5776           Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/130
5777
5778 2019-01-21 19:22:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5779
5780         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5781           libs: window: remove native-id property
5782           native-id property is problematic since the variable that stores it is
5783           gsize, which is platform specific, and in some is bigger than unsigned
5784           long, and there are not way to handle gsize properties.
5785           Also, GST_VAAPI_ID_INVALID is defined in gsize terms, and we would
5786           like to keep using it for this scope.
5787           This patch removes the native-id property and set it manually in
5788           gst_vaapi_window_new_internal().
5789
5790 2019-01-18 10:33:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5791
5792         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5793           libs: window: use G_GSIZE_MODIFIER for window id
5794           gsize type is not equal in all platforms, then the 'l' print modifier
5795           shall not be used always.
5796           This issue was found in Debian builds.
5797
5798 2019-01-17 10:27:13 +0800  Wangfei <fei.w.wang@intel.com>
5799
5800         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5801         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5802           encoder: h264/h265: set SPS cbr_flag with correct value.
5803           The flag only set as 1 when the rate-control mode is CBR.
5804
5805 === release 1.15.1 ===
5806
5807 2019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
5808
5809         * ChangeLog:
5810         * NEWS:
5811         * RELEASE:
5812         * configure.ac:
5813         * gstreamer-vaapi.doap:
5814         * meson.build:
5815           Release 1.15.1
5816
5817 2019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
5818
5819         * docs/plugins/inspect/plugin-vaapi.xml:
5820           Update docs
5821
5822 2019-01-14 19:35:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5823
5824         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5825           libs: encoder: refactor to avoid code duplication
5826           gst_vaapi_encoder_put_frame() and gst_vaapi_encoder_flush() duplicates
5827           the same code segment where the coded buffer is created, the picture
5828           encoded on it and pushed to the async queue.
5829           The function gst_vaapi_encoder_encode_and_queue() refactor this.
5830
5831 2019-01-14 18:21:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5832
5833         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5834         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5835         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5836         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5837         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5838           libs: encoder: h264/h265: flush pending ordered pictures
5839           In order to flush the pending pictures, a new internal encoder vmethod
5840           is used: get_pending_reordered()
5841           This method follows an iterator pattern which will return the next
5842           picture to encode and push.
5843           The base encoder will call this function in a loop when flush() is called.
5844           For now, only H.264 and H.265 encoders implement this flushing mechanism.
5845
5846 2018-12-06 10:18:53 +0800  Wangfei <fei.w.wang@intel.com>
5847
5848         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5849         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5850         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5851         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5852           libs: encoder: h264/h265: fix encode lose frame issue.
5853           Instead of dropping all remain frames in reorder_frame_list during
5854           flush, keep encoding.
5855           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/97
5856
5857 2019-01-15 14:33:11 +0800  Wangfei <fei.w.wang@intel.com>
5858
5859         * gst/vaapi/gstvaapipostproc.c:
5860           vaapipostproc: before set surface proxy, check if it already been created and exist.
5861           Fix the deinterlace black frame when playing with glimagesink:
5862           gst-launch-1.0 filesrc location=test.264 ! h264parse ! vaapih264dec \
5863           ! vaapipostproc deinterlace-mode=1 deinterlace-method=1 ! glimagesink
5864
5865 2019-01-11 13:48:29 +0800  Wangfei <fei.w.wang@intel.com>
5866
5867         * gst-libs/gst/vaapi/gstvaapiutils.c:
5868           vaapipostproc: clean up USE_VA_VPP macro since it already removed from configure file.
5869
5870 2018-12-26 14:36:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
5871
5872         * gst-libs/gst/vaapi/meson.build:
5873         * gst/vaapi/meson.build:
5874         * meson.build:
5875         * tests/meson.build:
5876           meson: build h264 fei encoder if possible
5877
5878 2018-12-26 14:04:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
5879
5880         * configure.ac:
5881           configure: bump the minimum wayland version requirement to 1.11.0
5882
5883 2018-12-24 12:58:53 +0800  Haihao Xiang <haihao.xiang@intel.com>
5884
5885         * configure.ac:
5886         * gst-libs/gst/vaapi/Makefile.am:
5887         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
5888         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
5889         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
5890         * gst-libs/gst/vaapi/gstvaapicompat.h:
5891         * gst-libs/gst/vaapi/gstvaapicontext.c:
5892         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5893         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
5894         * gst-libs/gst/vaapi/gstvaapifilter.c:
5895         * gst-libs/gst/vaapi/gstvaapiprofile.c:
5896         * gst-libs/gst/vaapi/gstvaapisurface.c:
5897         * gst-libs/gst/vaapi/gstvaapiutils.c:
5898         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
5899         * gst-libs/gst/vaapi/meson.build:
5900         * gst/vaapi/Makefile.am:
5901         * gst/vaapi/gstvaapi.c:
5902         * gst/vaapi/gstvaapidecode.c:
5903         * gst/vaapi/gstvaapidecodebin.c:
5904         * gst/vaapi/gstvaapipluginbase.c:
5905         * gst/vaapi/meson.build:
5906         * meson.build:
5907         * tests/decoder.c:
5908         * tests/simple-decoder.c:
5909           vaapi: bump the minimum vaapi version requirement to 0.39.0
5910           And reduce unnecessary API version and structures check as well.
5911           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/108
5912
5913 2018-12-22 18:07:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5914
5915         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5916         * gst-libs/gst/vaapi/gstvaapiwindow.h:
5917         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
5918         * tests/test-decode.c:
5919         * tests/test-filter.c:
5920         * tests/test-subpicture.c:
5921         * tests/test-textures.c:
5922         * tests/test-windows.c:
5923           libs: window: remove custom ref() and unref()
5924           Use gst_object_ref() and gst_object_unref() instead.
5925
5926 2018-12-22 13:25:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5927
5928         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5929         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
5930         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
5931         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
5932         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5933         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5934           libs: window: use its own debug category
5935
5936 2018-12-22 18:02:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5937
5938         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5939         * gst-libs/gst/vaapi/gstvaapiwindow.h:
5940         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
5941         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
5942         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
5943         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
5944         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
5945         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
5946         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
5947         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5948         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
5949         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5950         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
5951         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
5952           libs: window: refactor as gobject
5953           This is another step in the gobjectification of the internal library
5954           of gstreamer-vaapi. Now it is the turn of GstVaapiWindow and its
5955           derivates.
5956           The idea is to minimize the changeset keeping the same design as
5957           much as possible.
5958           GstVaapiWindow is defined as an abstract class with two properties:
5959           the GstVaapiDisplay and the native ID. Thus, many of the
5960           GstVaapiObject macros were copied as GstVaapiWindow macros.
5961           The function gst_vaapi_window_new_internal() is kept as a decorator
5962           of for calling gst_vaapi_window_create() and the possibility of
5963           failure.
5964           The descendant classes, such as glx, still use the private
5965           structures, but through the gobject mechanism.
5966
5967 2018-12-03 22:05:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5968
5969         * gst-libs/gst/vaapi/gstvaapifilter.c:
5970           libs: filter: use its own debug category
5971
5972 2018-12-24 14:08:42 +0800  He Junyan <junyan.he@hotmail.com>
5973
5974         * gst/vaapi/gstvaapidecode.c:
5975         * gst/vaapi/gstvaapipluginbase.c:
5976         * gst/vaapi/gstvaapipluginbase.h:
5977         * gst/vaapi/gstvaapipostproc.c:
5978         * gst/vaapi/gstvaapisink.c:
5979           plugins: Add more check for allowed raw caps.
5980           The gst_vaapi_plugin_base_get_allowed_raw_caps is used for both sink
5981           pad and src pad, which cause some bugs. For sink pad, we need to verify
5982           vaPutImage() while for the src pad we need to verify vaGetImage().
5983           For vaapidecoderXXX kind of plugins, the case is more complex. We need
5984           to verify whether the decoded result(in some surface, NV12 format most
5985           of the time) can be vaGetImage to some raw image format. Add more check
5986           to fix all these problems.
5987           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/123
5988           Signed-off-by: He Junyan <junyan.he@hotmail.com>
5989
5990 2018-12-18 10:44:21 +0800  Wangfei <fei.w.wang@intel.com>
5991
5992         * gst/vaapi/gstvaapipostproc.c:
5993           vaapipostproc: fix csc fail when only change width or height.
5994
5995 2018-12-15 09:47:15 +0900  Wonchul Lee <chul0812@gmail.com>
5996
5997         * tests/elements/meson.build:
5998           meson: Add gtk guard
5999
6000 2018-12-15 14:48:03 +0800  Wangfei <fei.w.wang@intel.com>
6001
6002         * gst/vaapi/gstvaapiencode_h264.c:
6003           libs: enc: h264: set max profile idc with correct profile.
6004           Use the highest rank of available profile as the max profile to
6005           set max idc value.
6006           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/124
6007
6008 2018-12-03 13:56:52 +0100  Niels De Graef <nielsdegraef@gmail.com>
6009
6010         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6011         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6012         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6013           Use G_DEFINE_TYPE_WITH_PRIVATE if applicable
6014           This gets rid of the strange `do_init` macro and makes the intent a bit
6015           more clear.
6016
6017 2018-12-05 17:24:53 -0300  Thibault Saunier <tsaunier@igalia.com>
6018
6019         * common:
6020           Automatic update of common submodule
6021           From ed78bee to 59cb678
6022
6023 2018-11-27 09:47:44 -0500  Wangfei <fei.w.wang@intel.com>
6024
6025         * gst-libs/gst/vaapi/gstvaapiimage.c:
6026         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6027         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6028         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6029         * gst-libs/gst/vaapi/video-format.c:
6030         * gst/vaapi/gstvaapidecode.c:
6031         * gst/vaapi/gstvaapipluginutil.h:
6032           libs: dec: h265: support decode for main-444 10bit streams.
6033           Add 444 10bit yuv format Y410, which can be used to decode
6034           main-444 10bit streams. Currently, this feature is only
6035           supported by media-driver in Icelake.
6036
6037 2018-11-28 05:56:44 +0200  Jordan Petridis <jordan@centricular.com>
6038
6039         * gst/vaapi/gstvaapidecode.c:
6040         * gst/vaapi/gstvaapisink.c:
6041           Run gst-indent through the files
6042           This is required before we enabled an indent test in the CI.
6043           https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
6044
6045 2018-11-14 13:11:56 +0800  He Junyan <junyan.he@hotmail.com>
6046
6047         * gst/vaapi/gstvaapipluginbase.c:
6048           plugins: modify image check of extract_allowed_surface_formats.
6049           The extract_allowed_surface_formats function just check whether
6050           we can support some kind of surface/image format pair. We just
6051           need to create a surface, create an image with the same video-format
6052           and putImage from image to surface. All these operations success,
6053           that kind of video-format is supported.
6054           The old manner do not work for some kind of video-format. For example,
6055           the RGBA kind of format will create a NV12 surface and RGBA image,
6056           and the putImage will fail because the format is not same. And so
6057           the RGBA format is not supported but actually it is supported.
6058
6059 2018-11-14 11:34:20 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
6060
6061         * gst/vaapi/gstvaapipostproc.c:
6062           vaapipostproc: add some missing locking
6063           gst_vaapi_plugin_base_close() removed the raw caps that are used indirectly
6064           in gst_vaapipostproc_transform_caps(). The usage is already protected by
6065           the mutex.
6066           This is needed when the pipeline is stopped during startup.
6067
6068 2018-11-20 16:07:44 +0800  Xiang, Haihao <haihao.xiang@intel.com>
6069
6070         * gst/vaapi/gstvaapivideomemory.c:
6071           Close dmabuf_fd
6072           Otherwise it will result in resource leak when failed to create
6073           dmabuf memory
6074
6075 2018-11-12 13:39:51 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
6076
6077         * gst/vaapi/gstvaapiencode.c:
6078           vaapiencode: don't start src pad task in set_format
6079           Otherwise the task may be restarted during shutdown. Start the task in
6080           gst_vaapiencode_handle_frame() instead.
6081
6082 2018-11-14 13:52:48 +0800  Wangfei <fei.w.wang@intel.com>
6083
6084         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6085         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6086         * gst-libs/gst/vaapi/gstvaapiutils.c:
6087         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6088         * gst/vaapi/gstvaapidecode.c:
6089         * gst/vaapi/gstvaapipluginutil.h:
6090           libs: dec: h265: support decode for main-444 8bit streams.
6091           Add 444 8bit yuv format AYUV, which can be used to decode
6092           main-444 8bit streams. Currently, this feature is only
6093           supported by media-driver in Icelake.
6094           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/119
6095
6096 2018-11-12 17:43:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6097
6098         * .gitlab-ci.yml:
6099           Add Gitlab CI configuration
6100           This commit adds a .gitlab-ci.yml file, which uses a feature
6101           to fetch the config from a centralized repository. The intent is
6102           to have all the gstreamer modules use the same configuration.
6103           The configuration is currently hosted at the gst-ci repository
6104           under the gitlab/ci_template.yml path.
6105           Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
6106
6107 2018-11-09 22:03:43 +0800  He Junyan <junyan.he@hotmail.com>
6108
6109         * gst-libs/gst/vaapi/gstvaapisurface.h:
6110         * gst-libs/gst/vaapi/gstvaapiutils.c:
6111           libs: Sync the GstVaapiChromaType to VA header file.
6112           Add more kinds of chrometype which will be used to describe
6113           new video formats. Sync it with 1.4.0 version header file.
6114           Alse delete useless GST_VAAPI_CHROMA_TYPE_YUV410 chrome type.
6115           Signed-off-by: He Junyan <junyan.he@hotmail.com>
6116
6117 2018-11-09 23:55:05 +0000  Tim-Philipp Müller <tim@centricular.com>
6118
6119         * gst-libs/gst/vaapi/meson.build:
6120           meson: link with -lm
6121           Fixes #117 hopefully.
6122
6123 2018-11-09 23:46:53 +0000  Tim-Philipp Müller <tim@centricular.com>
6124
6125         * meson.build:
6126           meson: bump meson required to 0.47 for feature options
6127
6128 2018-11-06 14:38:08 +0800  Junyan He <junyan.he@intel.com>
6129
6130         * gst-libs/gst/vaapi/video-format.c:
6131           libs: Modify the video format of endianness.
6132           We lack some video format because endianness declare.
6133           The video format should not directly relate to endianness. For example,
6134           ARGB on big endian should not be simplely seen as BGRA on little endian
6135           machine. We should provide endianess convert or format convert help
6136           functions if endianness does not match.
6137           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/112
6138           Signed-off-by: Junyan He <junyan.he@intel.com>
6139
6140 2018-10-17 18:36:52 +0800  Junyan He <junyan.he@intel.com>
6141
6142         * gst/vaapi/gstvaapipluginutil.c:
6143           plugins: Fix build error when GL is enabled while EGL is disabled.
6144           gl_platform_type in gst_vaapi_get_display_type_from_gl_env generate
6145           unused-variable warning and may block build when Werror enabled.
6146           Several functions like gst_vaapi_display_egl_new_with_native_display
6147           have no prototype warning and link error when GL is enabled but EGL
6148           is disabled. Fix all these warning and link error.
6149           https://bugzilla.gnome.org/show_bug.cgi?id=797358
6150           Signed-off-by: Junyan He <junyan.he@intel.com>
6151
6152 2018-11-03 15:06:09 +0800  Wangfei <fei.w.wang@intel.com>
6153
6154         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
6155         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
6156           libs: encoder: h264/h264fei: remove unuseless code.
6157           The variable are set twice, remove previous one.
6158           https://bugzilla.gnome.org/show_bug.cgi?id=797365
6159
6160 2018-11-03 15:28:35 +0800  Wangfei <fei.w.wang@intel.com>
6161
6162         * tests/simple-encoder.c:
6163         * tests/test-fei-enc-in.c:
6164           tests: check return value when using gst_buffer_map.
6165           https://bugzilla.gnome.org/show_bug.cgi?id=797366
6166
6167 2018-11-02 16:50:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6168
6169         * meson.build:
6170         * meson_options.txt:
6171         * tests/elements/meson.build:
6172         * tests/meson.build:
6173           build: meson: build examples
6174
6175 2018-11-02 16:50:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6176
6177         * gst-libs/gst/vaapi/meson.build:
6178           build: meson: declare headers for libgstvaapi
6179           Thus handling its recompilation if needed.
6180
6181 2018-11-05 05:41:13 +0000  Matthew Waters <matthew@centricular.com>
6182
6183         * .gitmodules:
6184           Update common submodule location
6185           Remove the git directory
6186
6187 2018-11-05 13:00:28 +0800  Haihao Xiang <haihao.xiang@intel.com>
6188
6189         * .gitmodules:
6190         * gstreamer-vaapi.doap:
6191           Clone the code from gitlab
6192           This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/116
6193
6194 2018-10-24 14:18:37 -0400  Wangfei <fei.w.wang@intel.com>
6195
6196         * gst-libs/gst/vaapi/gstvaapiimage.c:
6197         * gst-libs/gst/vaapi/gstvaapisurface.h:
6198         * gst-libs/gst/vaapi/gstvaapiutils.c:
6199         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6200         * gst-libs/gst/vaapi/video-format.c:
6201         * gst/vaapi/gstvaapidecode.c:
6202         * gst/vaapi/gstvaapipluginutil.h:
6203           libs: dec: h265: support decode for main-10-422 10bit streams.
6204           Add 422 10bit yuv format Y210, which can be used to decode
6205           main-10-422 10bit streams. Currently, this feature is only
6206           supported by media-driver in Icelake.
6207           https://bugzilla.gnome.org/show_bug.cgi?id=797264
6208
6209 2018-10-13 15:00:32 +0800  Wangfei <fei.w.wang@intel.com>
6210
6211         * gst-libs/gst/vaapi/gstvaapicontext.c:
6212           libs: context: roi_rc_qp_delta_support should not be checked when CQP.
6213           VA_ROI_RC_QP_DELTA_SUPPORT return value will be ignored when the
6214           rate control mode is set as CQP. In CQP mode, it shouldn't check
6215           roi_rc_qp_delta_support return value from driver backend.
6216           https://bugzilla.gnome.org/show_bug.cgi?id=797087
6217
6218 2018-10-15 17:55:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6219
6220         * gst/vaapi/gstvaapipostproc.c:
6221           vaapipostproc: fix classification string
6222           The classification string is splitted by '/' and then looks for the
6223           components.
6224           This patch removes the ';' by unifying all the components.
6225
6226 2018-10-15 16:05:02 +0100  Philippe Normand <philn@igalia.com>
6227
6228         * gst/vaapi/gstvaapipostproc.c:
6229           vaapipostproc: Add Hardware classifier to metadata
6230
6231 2018-10-12 16:37:34 +0800  Wangfei <fei.w.wang@intel.com>
6232
6233         * gst-libs/gst/vaapi/gstvaapicontext.c:
6234           libs: context: create context first before using it to create surface.
6235           In gst_vaapi_context_reset(), if the context has to be destroyed, make
6236           sure to create it first before allocating its associated surfaces.
6237           This patch fixes a regression introduced in commit 82872f4 because
6238           the formats available in the current context now are ensured before
6239           creating the context's surfaces.
6240           https://bugzilla.gnome.org/show_bug.cgi?id=797277
6241
6242 2018-10-12 15:39:53 +0100  Philippe Normand <philn@igalia.com>
6243
6244         * docs/plugins/inspect/plugin-vaapi.xml:
6245         * gst/vaapi/gstvaapidecode.c:
6246         * gst/vaapi/gstvaapiencode_h264.c:
6247         * gst/vaapi/gstvaapiencode_h264_fei.c:
6248         * gst/vaapi/gstvaapiencode_h265.c:
6249         * gst/vaapi/gstvaapiencode_jpeg.c:
6250         * gst/vaapi/gstvaapiencode_mpeg2.c:
6251         * gst/vaapi/gstvaapiencode_vp8.c:
6252         * gst/vaapi/gstvaapiencode_vp9.c:
6253           gst: Advertise elements interacting with hardware devices
6254
6255 2018-10-01 09:26:05 +0800  Wangfei <fei.w.wang@intel.com>
6256
6257         * gst-libs/gst/vaapi/gstvaapicontext.c:
6258         * gst-libs/gst/vaapi/gstvaapisurface.c:
6259         * gst-libs/gst/vaapi/gstvaapisurface.h:
6260           libs: context: query surface format before context to create surface.
6261           Before using context to create surface, the supported surface format
6262           should be checked first.
6263           https://bugzilla.gnome.org/show_bug.cgi?id=797222
6264
6265 2018-10-09 17:23:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6266
6267         * gst-libs/gst/vaapi/gstvaapiimage.c:
6268         * gst-libs/gst/vaapi/gstvaapivalue.c:
6269           libs: replace g_error with GST_ERROR
6270           And handle those errors rather than halting.
6271
6272 2018-10-09 17:23:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6273
6274         * gst-libs/gst/vaapi/gstvaapiimage.c:
6275         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
6276         * gst-libs/gst/vaapi/gstvaapisurface.c:
6277           libs: replace g_warning with GST_WARNING
6278
6279 2018-09-26 14:55:32 -0500  Matteo Valdina <matteo.valdina@gmail.com>
6280
6281         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6282         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
6283         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6284         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
6285           libs: Move from g_debug to GST_DEBUG.
6286           https://bugzilla.gnome.org/show_bug.cgi?id=797202
6287
6288 2018-10-04 02:20:10 +0800  Soon, Thean Siew <thean.siew.soon@intel.com>
6289
6290         * gst/vaapi/gstvaapipostproc.c:
6291           vaapipostproc: change the way of handling deinterlace
6292           The current vaapipostproc calls driver's video processing
6293           pipeline for deinterlacing only if it is Advance deinterlacing.
6294           Modify in the way that it always tries with driver's video
6295           processing pipeline for deinterlacing, and falls back to software
6296           method of appending picture structure meta data only if it fails
6297           with driver's method.
6298           https://bugzilla.gnome.org/show_bug.cgi?id=797095
6299
6300 2018-09-24 16:54:29 -0500  Matteo Valdina <matteo.valdina@gmail.com>
6301
6302         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
6303         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
6304           libs: h264: Update level table to "Recommendation H.264 (04/17)".
6305           Added level 6, 6.1 and 6.2. Reference Table A-1 – Level limits
6306           from T-REC-H.264-201704.
6307           https://bugzilla.gnome.org/show_bug.cgi?id=797202
6308
6309 2018-09-20 09:57:33 +0800  Wangfei <fei.w.wang@intel.com>
6310
6311         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6312         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6313         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6314         * gst-libs/gst/vaapi/gstvaapisurface.c:
6315         * gst-libs/gst/vaapi/gstvaapiutils.c:
6316         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6317         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
6318         * gst-libs/gst/vaapi/video-format.c:
6319         * gst-libs/gst/vaapi/video-format.h:
6320         * gst/vaapi/gstvaapidecode.c:
6321         * gst/vaapi/gstvaapipluginbase.c:
6322         * gst/vaapi/gstvaapipluginutil.h:
6323           libs: dec: h265: add 422 chroma format support.
6324           Add main-422-10 profile which support 422 chroma format stream.
6325           Currently, this feature is only supported by media-driver in Icelake.
6326           https://bugzilla.gnome.org/show_bug.cgi?id=797143
6327
6328 2018-09-26 19:34:06 +0200  U. Artie Eoff <ullysses.a.eoff@intel.com>
6329
6330         * tests/y4mreader.c:
6331           tests: include sysdeps.h in compilation unit
6332           Fixes https://bugzilla.gnome.org/show_bug.cgi?id=797204
6333           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6334
6335 2018-09-26 18:04:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6336
6337         * tests/y4mreader.c:
6338         * tests/y4mreader.h:
6339           tests: fix compilation
6340           https://bugzilla.gnome.org/show_bug.cgi?id=797204
6341
6342 2018-09-25 20:28:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6343
6344         * tests/y4mreader.h:
6345           tests: don's use sysdeps.h in header
6346
6347 2018-09-14 19:30:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6348
6349         * gst-libs/gst/vaapi/gstvaapiutils.h:
6350           libs: utils: no need of include config.h
6351
6352 2018-09-13 18:12:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6353
6354         * tests/decoder.c:
6355         * tests/output.c:
6356         * tests/test-decode.c:
6357         * tests/test-subpicture.c:
6358           tests: remove already include string.h
6359           Since sysdeps.h includes string.h there's no need to include it again.
6360
6361 2018-09-13 18:11:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6362
6363         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
6364         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6365         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6366         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
6367         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
6368         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
6369         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
6370         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
6371         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6372         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6373         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6374         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6375         * gst-libs/gst/vaapi/gstvaapiimage.c:
6376         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6377         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
6378         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
6379         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6380         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
6381           libs: remove already include string.h
6382           Since sysdeps.h includes string.h there's no need to include it again.
6383
6384 2018-09-13 18:26:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6385
6386         * gst-libs/gst/vaapi/gstvaapiobject.h:
6387         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
6388         * gst/vaapi/gstvaapivideometa_texture.c:
6389           libs: object: separation of internal API and plugins
6390           Removed exposed macros GST_VAAPI_OBJECT_DISPLAY() and
6391           GST_VAAPI_OBJECT_ID() to plugins, keeping them only for internal
6392           library usage.
6393           The purpose is readability.
6394           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6395
6396 2018-09-13 16:34:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6397
6398         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
6399           libs: parser_frame: change macros for inlined functions
6400           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6401
6402 2018-09-13 16:10:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6403
6404         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
6405         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
6406         * gst-libs/gst/vaapi/gstvaapivideopool.c:
6407         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
6408           libs: videopool: remove unneeded code
6409           The removed code comes frome the bad practice of copy&paste. Better
6410           move it as internal function.
6411           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6412
6413 2018-09-13 12:22:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6414
6415         * gst-libs/gst/vaapi/Makefile.am:
6416         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
6417         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
6418         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
6419         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
6420         * gst-libs/gst/vaapi/gstvaapiobject.c:
6421         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
6422         * gst-libs/gst/vaapi/gstvaapipixmap.c:
6423         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
6424         * gst-libs/gst/vaapi/gstvaapitexture.c:
6425         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
6426         * gst-libs/gst/vaapi/gstvaapiwindow.c:
6427         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
6428         * gst-libs/gst/vaapi/meson.build:
6429           libs: remove dependency on IN_LIBGSTVAAPI_CORE
6430           This conditional code was when libgstvaapi was intended to be library
6431           used outside GStreamer. This not the case anymore, thus removing it.
6432           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6433
6434 2018-09-19 10:16:36 +0800  Wangfei <fei.w.wang@intel.com>
6435
6436         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6437           libs: dec: h265: fix the macros used for IDC profile
6438           profile_idc flag in SPS only indicate the IDC profile, which may
6439           need some other flags together to get the real profile.
6440           https://bugzilla.gnome.org/show_bug.cgi?id=797160
6441
6442 2018-09-12 19:06:22 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
6443
6444         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6445         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6446         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6447         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6448         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6449           libs: use g_clear_pointer() when possible
6450           https://bugzilla.gnome.org/show_bug.cgi?id=797131
6451
6452 2018-09-03 13:56:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6453
6454         * gst-libs/gst/vaapi/gstvaapifilter.h:
6455           libs: filter: add gobject's cleanup function
6456
6457 2018-05-22 14:28:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6458
6459         * gst-libs/gst/vaapi/gstvaapifilter.c:
6460         * gst-libs/gst/vaapi/gstvaapifilter.h:
6461         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
6462         * tests/test-filter.c:
6463           libs: filter: remove custom ref() and unref()
6464           Replacing them by gst_object_ref() and gst_object_unref()
6465           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6466
6467 2018-05-22 14:26:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6468
6469         * gst-libs/gst/vaapi/gstvaapifilter.c:
6470         * gst-libs/gst/vaapi/gstvaapifilter.h:
6471           libs: filter: refactor filter as gobject
6472           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6473
6474 2018-05-21 13:38:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6475
6476         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6477         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
6478           libs: decoder: remove destoy() and create() callbacks
6479           They were all replaced by reset()
6480           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6481
6482 2018-05-21 13:26:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6483
6484         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6485           libs: decoder: vp9: implement reset() callback
6486           remove destroy() and create() callback
6487           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6488
6489 2018-05-21 13:25:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6490
6491         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
6492           libs: decoder: vp8: implement reset() callback
6493           remove create() and destroy() callbacks
6494           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6495
6496 2018-05-21 13:24:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6497
6498         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
6499           libs: decoder: vc1: implement reset() callback
6500           remove destroy() and create() callbacks
6501           use g_clear_pointer for rbdu_buffer
6502           no cast for enum
6503           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6504
6505 2018-05-21 13:24:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6506
6507         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
6508           libs: decoder: mpeg4: implement reset() callback
6509           remove destroy() and create() callback
6510           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6511
6512 2018-05-21 13:22:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6513
6514         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
6515           libs: decoder: mpeg2: implement reset() callback
6516           remove create() and destroy() callbacks
6517           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6518
6519 2018-05-21 13:22:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6520
6521         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
6522           libs: decoder: jpeg: implement reset() callback
6523           and remove create() and destroy() callbacks.
6524           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6525
6526 2018-05-21 13:13:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6527
6528         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6529           libs: decoder: h265: implement reset() callback
6530           and remove create() and destroy()
6531           and use g_clear_pointer for dpb structure
6532           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6533
6534 2018-05-21 13:11:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6535
6536         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6537           libs: decoder: h264: remove create() and destroy() callbacks
6538           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6539
6540 2018-05-21 11:56:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6541
6542         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6543         * gst-libs/gst/vaapi/gstvaapidecoder.h:
6544         * tests/test-decode.c:
6545         * tests/test-subpicture.c:
6546           libs: decoder: remove gst_vaapi_decoder_unref()
6547           Replaced by gst_object_unref() in tests
6548           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6549
6550 2018-05-21 11:51:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6551
6552         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6553         * gst-libs/gst/vaapi/gstvaapidecoder.h:
6554           libs: decoder: remove gst_vaapi_decoder_ref()
6555           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6556
6557 2018-05-21 11:50:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6558
6559         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6560         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
6561           libs: decoder: remove gst_vaapi_decoder_new()
6562           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6563
6564 2018-05-18 16:09:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6565
6566         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6567         * gst-libs/gst/vaapi/gstvaapidecoder.h:
6568         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6569         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
6570         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6571         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
6572         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
6573         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
6574         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
6575         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
6576         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
6577         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
6578         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
6579         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
6580         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
6581         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
6582         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
6583         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6584         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
6585           libs: decoder: refactor decoders as gobject
6586           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6587
6588 2018-08-31 20:56:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
6589
6590         * gst/vaapi/gstvaapidecode.c:
6591           vaapidecode: Requests upstream a key unit at parse or decode error.
6592           This is done to resume decoding after a parse error or decode error.
6593           Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
6594
6595 2018-08-31 20:48:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
6596
6597         * gst/vaapi/gstvaapidecode.c:
6598           vaapidecode: sets return value in failure case.
6599           In gst_vaapidecode_handle_frame, when there is a decode error
6600           there is a code path the returns an uninitialized value.
6601           Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
6602
6603 2018-08-30 18:56:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6604
6605         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6606           libs: display: lock at extracting available image formates
6607           When running several vaapi elements at the concurrently, at
6608           initialization, there is a race condition when extractin the avaible
6609           formats for images and subpictures.
6610           This patch add a lock when the those arrays are filled.
6611           https://bugzilla.gnome.org/show_bug.cgi?id=797039
6612
6613 2018-08-31 14:47:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
6614
6615         * meson.build:
6616           meson: Sync libversion and osxversion code from other repos
6617           gstreamer-vaapi does not build any libraries, only plugins, so this is
6618           not used, but sync it just in case someone does add it in the future.
6619
6620 2018-08-29 13:44:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6621
6622         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
6623           libs: encoder: h265: trivial documentation fix
6624
6625 2018-08-30 11:08:07 +0800  Wangfei <fei.w.wang@intel.com>
6626
6627         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6628         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
6629           libs: encoder: h265: add low delay B frame support.
6630           Low delay B frame provide the function of transforming
6631           P frame into low delay B frame which frame type is B, but
6632           only reference predictive frames. This can be used when P
6633           frame unsupported. Especially for P and B both unsupported,
6634           in this case, I and low delay B frame can be encoded in a
6635           stream.
6636           https://bugzilla.gnome.org/show_bug.cgi?id=796984
6637
6638 2018-08-27 20:42:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6639
6640         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6641           libs: decoder: h264: Avoid using picture after it has been free
6642           In some cases, the found_picture ended up being evicted and freed, which
6643           would lead to a use after free when accessing picture->base.poc. In this
6644           fix, we take a ref on the picture before calling dpb_evict.
6645           https://bugzilla.gnome.org/show_bug.cgi?id=787124
6646
6647 2018-07-25 17:03:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6648
6649         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6650           h264decoder: Fail decoding slice with missing inter-view reference
6651           Similarly to previous patch, we have no error concealment. As a side
6652           effect, it's better to skip slices with missing references then passing
6653           NULL pointers to the accelerator. Passing NULL pointer would lead to
6654           major visual artifact, a behaviour that is likely undefined.
6655           https://bugzilla.gnome.org/show_bug.cgi?id=787124
6656
6657 2017-09-14 14:25:41 +0900  Hyunjun Ko <zzoon@igalia.com>
6658
6659         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6660           libs: decoder: h264: reset context when the number of view is increased
6661           Usually in case of MVC decoding, dpb size is increasedi if subset sps.
6662           That's why it resets context without this patch.
6663           But for some media it doesn't increase dpb size. Even in this case we
6664           should reset context to deal with MVC decoding.
6665           Otherwise, it leads to assert.
6666           https://bugzilla.gnome.org/show_bug.cgi?id=787124
6667
6668 2018-07-25 13:50:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6669
6670         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6671         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6672         * gst/vaapi/gstvaapidecode.c:
6673           vaapidecode: Skip unparsable units from adapter
6674           If the unit could not be parsed, just skip this nal and keep parsing
6675           what is left in the adapter. We need to flush the broken unit in the
6676           decoder specific parser because the generic code does not know about
6677           units boundary. This increases error resilliance.
6678           Before this, the broken unit would stay in the adapter and EOS would be
6679           returned. Which stopped the streaming. Just removing the EOS would have
6680           lead to the adapter size growing indefinitely.
6681           https://bugzilla.gnome.org/show_bug.cgi?id=796863
6682
6683 2018-07-24 12:40:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6684
6685         * gst/vaapi/gstvaapidecode.c:
6686           vaapidecoder: Don't error out on decode errors
6687           This is problematic on live pipeline where loosing network can
6688           cause an important amount of errors.
6689           https://bugzilla.gnome.org/show_bug.cgi?id=796832
6690
6691 2018-07-25 15:47:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6692
6693         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6694           h265decoder: Don't scan empty buffer
6695           Same as what we did for H264 decoder, this is to avoid an assertion
6696           in the adapter.
6697           https://bugzilla.gnome.org/show_bug.cgi?id=796832
6698
6699 2018-07-25 20:21:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6700
6701         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6702           libs: h264: renable the vaapi category for logging
6703           h264 log messages were logged in default category because a regression
6704           in code. This patch renable the usage of vaapi logging category.
6705           This regression was introduced in commit 7c365bdd.
6706
6707 2018-07-18 13:09:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6708
6709         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6710           h264decoder: Fail decoding slice if modification process failed
6711           This patch chains up failure to executing the modification process. The
6712           end result is that we now fail decoding the slice if this process fails.
6713           This avoid sending a corrupted state to the accelerator. In some special
6714           cases, this could lead to unrecoverable errors.
6715           https://bugzilla.gnome.org/show_bug.cgi?id=796832
6716
6717 2018-07-18 13:07:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6718
6719         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6720           h264decoder: Don't scan empty buffer
6721           gst_adapter_masked_scan_uint32_peek() asserts if size is 0. Don't
6722           try and scan in that case. This fixes assertion that would some times
6723           happen when the stream is corrupted.
6724           https://bugzilla.gnome.org/show_bug.cgi?id=796832
6725
6726 2018-07-04 12:51:10 +0800  Tianhao Liu <tianhao.liu@intel.com>
6727
6728         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
6729           libs: encoder: jpeg: set component id and Tqi
6730           This change is due a problem encoding JPEGs with Intel's
6731           media-driver: green/black image when playback jpeg
6732           This patch sets component identifier and quantization table
6733           destination selector in frame header to support packing headers
6734           by Intel's media-driver that does not accept packed header
6735           in AP level.
6736           https://bugzilla.gnome.org/show_bug.cgi?id=796705
6737
6738 2018-06-25 14:20:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
6739
6740         * gst/vaapi/gstvaapipluginutil.c:
6741           pluginutil: downgrade unsupported driver logging
6742           On systems with an Nvidia card, this error is output each time
6743           the registry is rebuilt, which happens pretty often when
6744           using gst-build as a development environment.
6745           https://bugzilla.gnome.org/show_bug.cgi?id=796663
6746
6747 2018-06-24 13:07:20 +0200  Tim-Philipp Müller <tim@centricular.com>
6748
6749         * gst/vaapi/gstvaapivideobufferpool.c:
6750           Update for g_type_class_add_private() deprecation in recent GLib
6751
6752 2018-05-30 16:01:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6753
6754         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6755           h264dec: Remove false assumption about parity order
6756           The decoder was trying to detect earlier that a field was lost base
6757           on guessing the parity order. This breaks in streams were the parity
6758           order changes.
6759           This patch reverts the field order prediction code added by commit
6760           8dd93e9c8.
6761           https://bugzilla.gnome.org/show_bug.cgi?id=796169
6762
6763 2018-05-18 17:03:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6764
6765         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6766           h264dec: Properly set sentinel in ref frame list
6767           This ensure that we always have sentinels set in the reference
6768           pictures arrays. The code wasn't unsafe, this simply improve the
6769           tracing, so instead of printing 32 lines of zeros, va tracer
6770           prints proper empty lists.
6771           https://bugzilla.gnome.org/show_bug.cgi?id=796169
6772
6773 2018-06-13 18:00:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6774
6775         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6776         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6777         * gst-libs/gst/vaapi/gstvaapidisplay.h:
6778         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6779         * gst-libs/gst/vaapi/gstvaapifilter.c:
6780         * gst-libs/gst/vaapi/gstvaapiobject.c:
6781         * gst-libs/gst/vaapi/gstvaapivideopool.c:
6782         * gst/vaapi/gstvaapipluginbase.c:
6783         * gst/vaapi/gstvaapivideometa.c:
6784         * tests/test-decode.c:
6785           libs: display: remove gst_vaapi_display_ref()
6786           Replace it with gst_object_ref()
6787           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6788
6789 2018-06-13 17:54:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6790
6791         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6792         * gst-libs/gst/vaapi/gstvaapidisplay.h:
6793         * gst/vaapi/gstvaapi.c:
6794         * gst/vaapi/gstvaapidecode.c:
6795         * gst/vaapi/gstvaapiencode.c:
6796         * gst/vaapi/gstvaapipluginbase.c:
6797         * gst/vaapi/gstvaapipluginutil.c:
6798         * tests/output.c:
6799         * tests/simple-encoder.c:
6800         * tests/test-decode.c:
6801         * tests/test-display.c:
6802         * tests/test-fei-enc-in.c:
6803         * tests/test-filter.c:
6804         * tests/test-subpicture.c:
6805         * tests/test-surfaces.c:
6806         * tests/test-textures.c:
6807         * tests/test-windows.c:
6808           libs: display: remove gst_vaapi_display_unref()
6809           Use gst_object_unref() instead.
6810           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6811
6812 2018-06-13 18:10:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6813
6814         * gst/vaapi/gstvaapivideobufferpool.c:
6815           vaapibufferpool: declare parameter display as object
6816           We have neglected to update this code since GstVaapiDisplay turned
6817           into a GstObject descendant.
6818           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6819
6820 2018-06-01 12:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
6821
6822         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6823         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6824         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6825         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
6826         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
6827         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6828         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6829           libs: display: replace gst_vaapi_display_new() with gst_vaapi_display_config()
6830           Gobjectification for GstVaapiDisplay was almost done by the commit 185da3d1.
6831           But still something breaking GObject code convention remains, which is
6832           calling gst_vaapi_display_new() in each decendants.
6833           This patch replaces it with gst_vaapi_display_config(), defined in private
6834           header.
6835           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6836
6837 2018-06-13 17:05:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6838
6839         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6840           libs: display: redefine gst_vaapi_display_create()
6841           The function name was gst_vaapi_display_create_unlocked(), nonetheless
6842           it wasn't called unlocked. In order to keep the semantics this patch
6843           renames the gst_vaapi_display_create_unlocked() as
6844           gst_vaapi_display_create(), removing the previous function
6845           gst_vaapi_display_create().
6846           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6847
6848 2018-06-12 15:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6849
6850         * meson.build:
6851           Revert "build: meson: libva gst-uninstall friendly"
6852           This reverts commit fc3eef9c432c1628cb92ab56e74924cf1182da30.
6853
6854 2018-06-12 15:13:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6855
6856         * gst/vaapi/gstvaapipluginutil.c:
6857           plugins: fix compilation
6858           gstvaapipluginutil.c:171:1: error: old-style function definition [-Werror=old-style-definition]
6859
6860 2018-04-20 18:05:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6861
6862         * meson.build:
6863           build: meson: libva gst-uninstall friendly
6864           Make gstreamer-vaapi to use libva uninstalled.
6865
6866 2018-06-10 10:44:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6867
6868         * gst/vaapi/gstvaapipluginutil.c:
6869           plugins: refactor gst_vaapi_create_display_from_gl_context()
6870           gst_vaapi_create_display_from_gl_context() was a spaghetti mess.
6871           This path refactors it, in order to make the code readable and
6872           easy to follow.
6873           https://bugzilla.gnome.org/show_bug.cgi?id=796564
6874
6875 2018-05-25 12:17:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6876
6877         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6878         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6879         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
6880           libs: display: resurrect parent private member
6881           This is, practically, a revert of commit dcf135e2.
6882           The parent logic is useful for the EGL display, which is a decorator
6883           of the real windowing subsystem (X11 or Wayland). Thus it is avoided
6884           calling vaInitialize() and vaTerminate() twice.
6885           https://bugzilla.gnome.org/show_bug.cgi?id=795391
6886
6887 2018-04-27 18:35:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6888
6889         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6890           libs: display: egl: initialize params structure
6891           Statically initialise the internal params structure.
6892           https://bugzilla.gnome.org/show_bug.cgi?id=795391
6893
6894 2018-04-27 18:34:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6895
6896         * gst/vaapi/gstvaapipluginutil.c:
6897           plugins: handle EGL when creating VAAPI display from gl
6898           If GstGL reports a EGL platform force to create a EGL display using
6899           the native EGL display.
6900           https://bugzilla.gnome.org/show_bug.cgi?id=795391
6901
6902 2018-04-24 18:17:24 +0900  Hyunjun Ko <zzoon@igalia.com>
6903
6904         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6905         * gst/vaapi/gstvaapipluginutil.c:
6906           display: egl: create VaapiDisplayEGL with native EGL display
6907           gst_vaapi_display_egl_new_with_native_display() has been broken since
6908           it wasn't used.
6909           Currently it's needed to call this API to create a display providing
6910           the EGL display, so it could avoid duplicated calls to the native
6911           display (eg. eglTerminate).
6912           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
6913           https://bugzilla.gnome.org/show_bug.cgi?id=795391
6914
6915 2018-06-07 09:34:11 +0800  Tianhao Liu <tianhao.liu@intel.com>
6916
6917         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
6918           libs: decoder: release VA buffers after vaEndPicture
6919           This change is due a problem decoding JPEGs with Intel's media-driver:
6920           no image was generated.
6921           This patch relases the VA buffers after vaEndPicture() is called,
6922           and not before (after vaRenderPicture()).
6923           https://bugzilla.gnome.org/show_bug.cgi?id=796505
6924
6925 2018-06-07 19:49:02 +0100  Tim-Philipp Müller <tim@centricular.com>
6926
6927         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6928         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
6929         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
6930           meson: fix build when xrender or xrandr are not available
6931           HAVE_XRENDER are defined to 1 or 0, not defined or undefined.
6932
6933 2018-05-25 16:47:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
6934
6935         * gst/vaapi/gstvaapipostproc.c:
6936           vaapipostproc: don't copy the GstParentBufferMeta if use_vpp
6937           Otherwise a reference to a DMABuf input buffer is kept until the output
6938           buffer is deleted.
6939           https://bugzilla.gnome.org/show_bug.cgi?id=796399
6940
6941 2018-05-22 21:13:08 +0900  Hyunjun Ko <zzoon@igalia.com>
6942
6943         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6944         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
6945           libs: display: remove unnecessary legacy code since gobjectification
6946           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6947
6948 2018-05-22 21:05:54 +0900  Hyunjun Ko <zzoon@igalia.com>
6949
6950         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6951         * gst-libs/gst/vaapi/gstvaapidisplay.h:
6952           libs: display: remove unused code
6953           https://bugzilla.gnome.org/show_bug.cgi?id=796470
6954
6955 2018-06-05 15:16:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6956
6957         * gst/vaapi/gstvaapiencode_h264.c:
6958           vaapiencode: h264: log output caps
6959
6960 2018-06-05 22:38:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6961
6962         * gst/vaapi/gstvaapiencode_h264.c:
6963           vaapiencode: h264: find profile in available and allowed caps
6964           The commit 67e33d3de225d0e006d7bf606e7abb20d4544eab ("vaapiencode: h264:
6965           find best profile in those available") changed the code to pick a profile
6966           that is actually supported by the hardware. Unfortunately it dropped the
6967           downstream constraints. This can cause negotiation failures under certain
6968           circumstances.
6969           The fix is split in two cases:
6970           1\ the available VA-API caps doesn't intersect with pipeline's allowed
6971           caps:
6972           * The best allowed profile (pipeline's caps) is set as the encoding
6973           target profile (it will be adjusted later by the available profiles
6974           and properties)
6975           2\ the available VA-API caps does intersect with pipeline's allowed
6976           caps:
6977           * The intersected caps are fixed, and its profile is set as the
6978           encoding target profile. In this case the is not the best profile,
6979           but the minimal one (if VA-API reports the profiles in order).
6980           Setting the minimal profile of the intersected caps is better for
6981           compatibility.
6982           This patch fixes other tests related with caps negotiation, for
6983           example, it handles baseline profile, even when VA only supports
6984           constrained-baseline.
6985           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
6986           https://bugzilla.gnome.org/show_bug.cgi?id=794306
6987
6988 2018-06-01 15:27:25 +0900  Hyunjun Ko <zzoon@igalia.com>
6989
6990         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6991           libs: encoder: h265: increase log2_max_pic_order_cnt range according to spec
6992           The specification says,
6993           "log2_max_pic_order_cnt_lsb_minus4 shall be in the range of 0 to 12, inclusive."
6994           This patch changes the upper limit from 6 to 12.
6995           https://bugzilla.gnome.org/show_bug.cgi?id=796179
6996
6997 2018-05-21 13:27:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6998
6999         * gst/vaapi/gstvaapipluginutil.c:
7000           plugins: guard GstGL code
7001
7002 2018-05-18 18:23:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7003
7004         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7005           libs: decoder: h264: use g_clear_pointer()
7006
7007 2018-05-18 17:27:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7008
7009         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
7010         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
7011           libs: decoder: mpeg4, vc1: remove unused header
7012
7013 2018-05-18 11:09:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7014
7015         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
7016           libs: decoder: remove unused forward declaration
7017
7018 2018-05-07 07:59:25 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
7019
7020         * configure.ac:
7021           fix configure.ac regression
7022           Fixes regression introduced by 77527d67abe
7023           https://bugzilla.gnome.org/show_bug.cgi?id=795885
7024
7025 2018-05-05 17:57:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7026
7027         * gst-libs/gst/Makefile.am:
7028         * gst-libs/gst/base/Makefile.am:
7029         * gst-libs/gst/base/gstbitwriter.c:
7030         * gst-libs/gst/base/gstbitwriter.h:
7031         * gst-libs/gst/base/meson.build:
7032         * gst-libs/gst/meson.build:
7033         * gst-libs/gst/vaapi/Makefile.am:
7034         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7035         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
7036         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7037         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
7038         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
7039         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
7040         * gst-libs/gst/vaapi/meson.build:
7041           libs: remove gstbitwriter
7042           Since it is deployed in gstreamer-core, there is no need to use
7043           our custom version.
7044           https://bugzilla.gnome.org/show_bug.cgi?id=795848
7045
7046 2018-04-28 16:10:46 +0800  Wang,Fei <fei.w.wang@intel.com>
7047
7048         * gst/vaapi/gstvaapidecode.c:
7049           vaapih264dec: add constrained and progressive profiles
7050           Those profiles have been added in the version 2012-01
7051           and 2011-06 of the AVC spec (A.2.4.1 and A.2.4.2).
7052           Both are supported by VAProfileH264High
7053           https://bugzilla.gnome.org/show_bug.cgi?id=795624
7054
7055 2018-04-26 18:15:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7056
7057         * gst/vaapi/gstvaapipluginbase.c:
7058         * gst/vaapi/gstvaapipluginutil.c:
7059         * gst/vaapi/gstvaapivideocontext.c:
7060         * gst/vaapi/gstvaapivideocontext.h:
7061           plugin: remove custom GstGL context handling
7062           Instead of using our own context handling for looking for GstGL
7063           parameters (display, context and other context), this patch changes
7064           the logic to use the utility function offered by GstGL.
7065           https://bugzilla.gnome.org/show_bug.cgi?id=793643
7066
7067 2018-04-26 15:03:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7068
7069         * gst/vaapi/gstvaapipluginbase.c:
7070           plugins: GstGL API must use the member variables
7071           This commit basically is a revert of commits 8092537 and fc1c415
7072           https://bugzilla.gnome.org/show_bug.cgi?id=793643
7073
7074 2018-04-25 16:24:32 +0900  Hyunjun Ko <zzoon@igalia.com>
7075
7076         * gst/vaapi/gstvaapipluginbase.c:
7077           plugins: pass members as parameters of gst_gl_ensure_element_data()
7078           The parameters of gst_gl_ensure_element_data() have to be not
7079           local variable since they are going to be used to see if they're
7080           set in gst_element_set_context() inside the API.
7081           This is basically a revert of commit 3d56306c
7082           https://bugzilla.gnome.org/show_bug.cgi?id=793643
7083
7084 2018-04-25 17:50:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7085
7086         * meson.build:
7087           meson: fix USE_GLES_VERSION_MASK
7088           1. The macro in the code is USE_GLES_VERSION_MASK
7089           2. glesv3 is provided by glesv2 pkg-config, then it's required to
7090           check headers
7091           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7092
7093 2018-04-24 18:12:44 +0900  Hyunjun Ko <zzoon@igalia.com>
7094
7095         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7096           libs: egl: utils: mark context as wrapped when it is
7097           The returning egl context may be null, so we should check the
7098           return value.
7099           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7100
7101 2018-04-24 10:02:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7102
7103         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7104           libs: egl: utils: fix usage of GstGL macros
7105           Include gl.h for the required GstGL symbols.
7106           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7107
7108 2018-04-25 11:01:45 +0100  Tim-Philipp Müller <tim@centricular.com>
7109
7110         * meson.build:
7111           meson: use -Wl,-Bsymbolic-functions where supported
7112           Just like the autotools build.
7113
7114 2018-04-20 16:01:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7115
7116         * meson.build:
7117           meson: use get_pkgconfig_variable()
7118           Use get_pkgconfig_variable() method, of dependency class, rather
7119           than using run_command().
7120
7121 2018-04-20 11:50:55 +0100  Tim-Philipp Müller <tim@centricular.com>
7122
7123         * gst-libs/gst/base/meson.build:
7124         * gst-libs/gst/vaapi/meson.build:
7125         * meson.build:
7126           meson: fix miscellaneous meson warnings
7127           WARNING: Passed invalid keyword argument "rqeuired".
7128           gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "version".
7129           gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "soversion".
7130           gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "version".
7131           gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "soversion".
7132
7133 2018-03-30 13:41:39 +0200  Paul Kocialkowski <paul.kocialkowski@bootlin.com>
7134
7135         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
7136           display: drm: Allow finding DRM paths out of the PCI subsystem
7137           This removes hard-coded checks on the parent subsystem of potential DRM
7138           devices. These checks were set to exlude devices that do not originate
7139           from the PCI bus, which is only a valid approach on x86 devices.
7140           Other devices may have a DRM device originating from the platform
7141           subsystem, so the checks that were previously restricted to PCI are
7142           extended to cover platform devices as well.
7143           https://bugzilla.gnome.org/show_bug.cgi?id=794840
7144           Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
7145
7146 2017-11-08 13:27:06 +0900  Hyunjun Ko <zzoon@igalia.com>
7147
7148         * gst/vaapi/gstvaapivideocontext.c:
7149           videocontext: support wl-display in "gst.vaapi.app.Display"
7150           Through "gst.vaapi.app.Display" context, users can set their own
7151           VADisplay and native display of their backend.
7152           So far we support only X11 display, from now we also support Wayland
7153           display.
7154           Attributes:
7155           - wl-display : pointer of struct wl_display .
7156           https://bugzilla.gnome.org/show_bug.cgi?id=705821
7157
7158 2017-11-08 13:26:38 +0900  Hyunjun Ko <zzoon@igalia.com>
7159
7160         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
7161         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
7162           libs: display: wayland: add gst_vaapi_display_wayland_new_with_va_display()
7163           Implements new API function so that users could create GstVaapiDisplay
7164           with their own VADisplay within a native display as backend.
7165           https://bugzilla.gnome.org/show_bug.cgi?id=705821
7166
7167 2018-04-13 09:28:53 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
7168
7169         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
7170           wayland: don't poll if there are no pending frames
7171           Otherwise the following poll may not return for an arbitrary amount of
7172           time. This can happen if another wayland event queue has flushed and read
7173           our events.
7174           https://bugzilla.gnome.org/show_bug.cgi?id=795224
7175
7176 2017-10-16 12:09:08 +0900  Hyunjun Ko <zzoon@igalia.com>
7177
7178         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7179           libs: encoder: h265: 16 bit rounding of picture width and height
7180           pic_width_in_luma_samples/pic_height_in_luma_samples can be 16-bit rounded
7181           instead of 32-bit.
7182           In addition, codedbuf_size must be calculated according to this change.
7183           https://bugzilla.gnome.org/show_bug.cgi?id=753229
7184
7185 2018-04-16 10:53:47 +0100  Tim-Philipp Müller <tim@centricular.com>
7186
7187         * common:
7188           Automatic update of common submodule
7189           From 3fa2c9e to ed78bee
7190
7191 2018-03-30 20:39:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7192
7193         * gst/vaapi/gstvaapiencode_h264.c:
7194           vaapiencode: h264: find best profile in those available
7195           Instead to look for the best profile in the allowed profiles by
7196           downstream, the encoder should look for the base profile in the
7197           available profile in VA-API.
7198           https://bugzilla.gnome.org/show_bug.cgi?id=794306
7199
7200 2018-03-20 10:49:10 +0000  Tim-Philipp Müller <tim@centricular.com>
7201
7202         * NEWS:
7203         * RELEASE:
7204         * configure.ac:
7205         * docs/plugins/inspect/plugin-vaapi.xml:
7206         * meson.build:
7207           Back to development
7208
7209 === release 1.14.0 ===
7210
7211 2018-03-19 20:30:28 +0000  Tim-Philipp Müller <tim@centricular.com>
7212
7213         * ChangeLog:
7214         * NEWS:
7215         * configure.ac:
7216         * gstreamer-vaapi.doap:
7217         * meson.build:
7218           Release 1.14.0
7219
7220 2018-03-12 16:59:01 +0000  Julien Isorce <jisorce@oblong.com>
7221
7222         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7223           libs: decoder: h264: ensure num_ref_frames is greater than 0
7224           Even if it is the h264parse fault or bad video file, vaapih264dec
7225           should set a proper value for VAPictureParameterBufferH264.num_ref_frames
7226           as the driver might use it.
7227           Also see "info.ref_frames = dpb_size;" in
7228           gstvaapidecoder_h264.c::ensure_context
7229           https://bugzilla.gnome.org/show_bug.cgi?id=793836
7230
7231 === release 1.13.91 ===
7232
7233 2018-03-13 19:32:05 +0000  Tim-Philipp Müller <tim@centricular.com>
7234
7235         * ChangeLog:
7236         * NEWS:
7237         * configure.ac:
7238         * gstreamer-vaapi.doap:
7239         * meson.build:
7240           Release 1.13.91
7241
7242 === release 1.13.90 ===
7243
7244 2018-03-03 22:59:30 +0000  Tim-Philipp Müller <tim@centricular.com>
7245
7246         * ChangeLog:
7247         * NEWS:
7248         * configure.ac:
7249         * gstreamer-vaapi.doap:
7250         * meson.build:
7251           Release 1.13.90
7252
7253 2018-03-01 07:33:27 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7254
7255         * gst/vaapi/gstvaapipostproc.c:
7256           vaapipostproc: change how the metadata is copied
7257           Instead of copying the metada in prepare_output_buffer() vmethod,
7258           it is done in append_output_buffer_metadata() thus deinterlaced
7259           buffers could also have the proper metas.
7260           GstVideoCropMeta now it is copied internally and it is decided via
7261           transform_meta() vmethod.
7262           A new internal method, copy_metadata() was added to handle VPP
7263           transformation where non-GstVideoVaapiMeta metas were lost.
7264
7265 2018-02-27 16:20:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7266
7267         * gst/vaapi/gstvaapipostproc.c:
7268           postproc: Copy meta data from input to output
7269           This will ensure that meta data without memory tags will be copied. This
7270           was noticed when testing ROI.
7271           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7272
7273 2018-02-23 10:48:36 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7274
7275         * tests/elements/test-roi.c:
7276           tests: element: rewrite ROI test
7277           Rewrote the ROI test to use GstVideoRegionOfInterest meta rather
7278           than injecting GstEvents. These meta are added as a pad probe in
7279           the queue src pad.
7280           Also
7281           * Use of navigation messages to control de test
7282           * Use signal watch for processing messages
7283           * Change to H265 rather than H264 since current intel-vaapi-driver
7284           only supports ROI on kabylake.
7285           TODO: add a parameter to change the encoder/decoder to test.
7286           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7287
7288 2018-02-22 14:20:42 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7289
7290         * gst-libs/gst/vaapi/gstvaapicontext.c:
7291         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7292         * gst-libs/gst/vaapi/gstvaapiencoder.h:
7293         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7294         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7295         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
7296           libs: encoder: reimplement ROI using meta
7297           Check input buffers for ROI metas and pass them to VA. Also added a
7298           new "default-roi-delta-qp" property in order to tell the encoder what
7299           delta QP should be applied to ROI by default.
7300           Enabled it for H264 and H265 encoders.
7301           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7302
7303 2018-02-22 08:22:35 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7304
7305         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7306         * gst-libs/gst/vaapi/gstvaapiencoder.h:
7307         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
7308           Revert "libs: encoder: add api gst_vaapi_encoder_add/del_roi"
7309           This reverts commit 7a6f690340dcb3b82c59efa777d4453227851de8.
7310           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7311
7312 2018-02-22 14:29:19 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7313
7314         * tests/simple-encoder.c:
7315           Revert "tests: simple-encoder: add an option to set ROI"
7316           This reverts commit c21345c4787bb6342adddea1190f53fe62abff04.
7317           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7318
7319 2018-02-21 10:56:47 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7320
7321         * gst/vaapi/gstvaapiencode.c:
7322         * gst/vaapi/gstvaapiencode_h264.c:
7323           Revert "vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest"
7324           This reverts commit 8f1b88dac0e64a211325cdcb2cda693b80229bd1.
7325           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7326
7327 2018-02-23 09:25:51 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7328
7329         * gst/vaapi/gstvaapipluginbase.c:
7330           plugins: copy input buffer metas
7331           When importing buffers to a VA-base buffer, it is required to copy
7332           the metas in the original buffer, otherwise information will be
7333           lost, such as GstVideoRegionOfInterestMeta.
7334           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7335
7336 2018-02-27 06:10:09 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7337
7338         * gst-libs/gst/vaapi/gstvaapisurface.c:
7339           libs: surface: cast to uintptr_t pointer
7340           According to Debian package auto-building, uintptr_t is not an
7341           unsigned long in i386 arch, raising an "incompatible pointer type"
7342           error.
7343           This patch adds a casting for compiler's satisfaction in i386.
7344
7345 2018-02-25 20:46:56 -0600  Matteo Valdina <matteo.valdina@gmail.com>
7346
7347         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7348           libs: encoder: add zero as valid value for periodic keyframe.
7349           Enabled zero as valid value for keyframe-period property.
7350           https://bugzilla.gnome.org/show_bug.cgi?id=793829
7351
7352 2018-02-22 08:24:12 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7353
7354         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7355           libs: encoder: code-style fix
7356
7357 2018-02-17 18:32:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7358
7359         * gst/vaapi/gstvaapidecode.c:
7360           vaapidecode: generate system allocated buffers
7361           Generate system allocated output buffers when downstream doesn't
7362           support GstVideoMeta.
7363           The VA buffer content is copied to the new output buffer, and it
7364           replaces the VA buffer.
7365           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7366
7367 2018-02-15 19:32:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7368
7369         * gst/vaapi/gstvaapipostproc.c:
7370           vaapipostproc: handle system allocated buffers when required
7371           When downstream can't handle GstVideoMeta it is required to send
7372           system allocated buffers.
7373           The system allocated buffers are produced in prepare_output_buffer()
7374           vmethod if downstream can't handl GstVideoMeta.
7375           At transform() vmethod if the buffer is a system allocated buffer,
7376           a VA buffer is instanciated and replaces the out buffer. Later
7377           the VA buffer is copied to the system allocate buffer and it
7378           replaces the output buffer.
7379           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7380
7381 2018-02-15 19:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7382
7383         * gst/vaapi/gstvaapipluginbase.c:
7384         * gst/vaapi/gstvaapipluginbase.h:
7385           plugins: add gst_vaapi_copy_va_buffer()
7386           This helper function aims to copy buffers with VA memory to dumb
7387           buffers, when GstVideoMeta is not available dowstream.
7388           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7389
7390 2018-02-15 19:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7391
7392         * gst/vaapi/gstvaapipluginbase.c:
7393         * gst/vaapi/gstvaapipluginbase.h:
7394           plugins: add COPY_OUTPUT_FRAME flag
7395           This patch add the member copy_output_frame and set it TRUE when
7396           when downstream didn't request GstVideoMeta API, the caps are raw
7397           and the internal allocator is the VA-API one.
7398           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7399
7400 2018-02-15 19:28:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7401
7402         * gst/vaapi/gstvaapipluginbase.c:
7403         * gst/vaapi/gstvaapipluginbase.h:
7404           plugins: store the first downstream allocator if available
7405           The allocator will be required if we need to allocate a buffer
7406           to store the frame with the expected strides.
7407           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7408
7409 2018-02-20 02:25:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7410
7411         * gst/vaapi/gstvaapivideobufferpool.c:
7412         * gst/vaapi/gstvaapivideobufferpool.h:
7413           vaapibufferpool: add gst_vaapi_video_buffer_pool_copy_buffer()
7414           This function will inform the element if it shall copy the generated
7415           buffer by the pool to a system allocated buffer before pushing it
7416           to downstream.
7417           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7418
7419 2018-02-15 19:22:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7420
7421         * gst/vaapi/gstvaapivideobufferpool.c:
7422           vaapibufferpool: don't change config when forcing video meta
7423           VA-API based buffer might need a video meta because of different
7424           strides. But when donwstream doesn't support video meta we need to
7425           force the usage of video meta.
7426           Before we changed the buffer pool configuration, but actually this
7427           is a hack and we cannot rely on that for downstream.
7428           This patch add a check fo raw video caps and allocator is VA-API,
7429           then the option is enabled without changing the pool configuration.
7430           In this case the element is responsible to copy the frame to a
7431           simple buffer with the expected strides.
7432           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7433
7434 2018-02-20 09:15:05 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7435
7436         * gst/vaapi/gstvaapipostproc.c:
7437           vaapipostproc: set discont flag at vpp deinterlacing
7438           When deinterlacing with VPP the discont flag was not forwarded to
7439           the new created buffer. This patch sets the discont flag if input
7440           buffer has it.
7441
7442 2018-02-20 02:14:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7443
7444         * gst/vaapi/gstvaapivideobufferpool.h:
7445           vaapibufferpool: remove wrong gcc annotation
7446
7447 2018-02-15 14:55:42 -0600  Matteo Valdina <matteo.valdina@gmail.com>
7448
7449         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7450         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7451         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
7452         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7453         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
7454         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
7455         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
7456           libs: encoder: h264,h265: extend max periodic keyframe.
7457           Increased max values of periodic key frame for h26x codecs.
7458           This allow more fine tunning of encoder that in certian scenario
7459           want higher periodic key frame.
7460           For example: it doesn't want a key frame each 10 seconds but
7461           each 120 seconds.
7462           https://bugzilla.gnome.org/show_bug.cgi?id=786320
7463
7464 2018-02-15 19:44:35 +0000  Tim-Philipp Müller <tim@centricular.com>
7465
7466         * configure.ac:
7467         * meson.build:
7468           Back to development
7469
7470 === release 1.13.1 ===
7471
7472 2018-02-15 17:39:16 +0000  Tim-Philipp Müller <tim@centricular.com>
7473
7474         * Makefile.am:
7475         * NEWS:
7476         * configure.ac:
7477         * gstreamer-vaapi.doap:
7478         * meson.build:
7479           Release 1.13.1
7480
7481 2018-02-15 18:15:33 +0000  Tim-Philipp Müller <tim@centricular.com>
7482
7483         * gst/vaapi/Makefile.am:
7484           vaapi: dist new header
7485
7486 2018-02-12 17:53:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7487
7488         * gst/vaapi/gstvaapi.c:
7489           vaapi: register vaapisink as marginal on wayland
7490           vaapsink, when used with the Intel VA-API driver, tries to display
7491           surfaces with format NV12, which are handled correctly by
7492           Weston. Nonetheless, COGL cannot display YUV surfaces, making fail
7493           pipelines on mutter.
7494           This shall be solved either by COGL or by making the driver to paint
7495           RGB surfaces. In the meanwhile, let's just demote vaapisink as
7496           marginal when the Wayland environment is detected, no matter if it is
7497           Weston.
7498           https://bugzilla.gnome.org/show_bug.cgi?id=775698
7499
7500 2018-02-12 19:00:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7501
7502         * gst/vaapi/gstvaapipluginutil.c:
7503           plugins: update mesa's vendor string in whitelist
7504           Mesa has updated its VA-API Gallium driver vendor string:
7505           https://cgit.freedesktop.org/mesa/mesa/commit/?id=5db29d62ce1fefa3f2ee6e4a4688576fde4bde4a
7506           This patch tries to cover both, the old and the new one.
7507           https://bugzilla.gnome.org/show_bug.cgi?id=793386
7508
7509 2018-02-08 19:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>
7510
7511         * meson.build:
7512           meson: make version numbers ints and fix int/string comparison
7513           WARNING: Trying to compare values of different types (str, int).
7514           The result of this is undefined and will become a hard error
7515           in a future Meson release.
7516
7517 2018-02-07 09:13:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7518
7519         * gst/vaapi/gstvaapipluginbase.c:
7520           plugins: handle vaapi allocator in allocation query
7521           In propose_allocation() if the numer of allocation params is zero, the
7522           system's allocator is added first, and lastly the native VA-API
7523           allocator.
7524           In decide_allocation(), the allocations params in query are travered,
7525           looking for a native VA-API allocator. If it is found, it is reused as
7526           src pad allocator. Otherwise, a new allocator is instantiated and
7527           appended in the query.
7528           https://bugzilla.gnome.org/show_bug.cgi?id=789476
7529
7530 2018-02-07 09:06:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7531
7532         * gst/vaapi/gstvaapivideomemory.h:
7533           vaapivideomemory: remove unused macro
7534           GST_VAAPI_VIDEO_ALLOCATOR_NAME was added in commit 5b11b8332 but it
7535           was never used, since the native VA-API allocator name has been
7536           GST_VAAPI_VIDEO_MEMORY_NAME.
7537           This patch removes GST_VAAPI_VIDEO_ALLOCATOR_NAME macro.
7538           https://bugzilla.gnome.org/show_bug.cgi?id=789476
7539
7540 2018-02-02 08:54:00 +0000  VaL Doroshchuk <valkov@yandex.ru>
7541
7542         * gst/vaapi/gstvaapisink.c:
7543           vaapisink: don't mask button events for foreign windows
7544           Don't subscribe to button press events when using a foreing window,
7545           because the user created window would trap those events, preveting the
7546           show of frames.
7547           https://bugzilla.gnome.org/show_bug.cgi?id=791615
7548
7549 2018-02-05 08:51:56 +0100  Tim-Philipp Müller <tim@centricular.com>
7550
7551         * configure.ac:
7552           autotools: use -fno-strict-aliasing where supported
7553           https://bugzilla.gnome.org/show_bug.cgi?id=769183
7554
7555 2018-01-30 20:38:37 +0000  Tim-Philipp Müller <tim@centricular.com>
7556
7557         * meson.build:
7558           meson: use -fno-strict-aliasing where supported
7559           https://bugzilla.gnome.org/show_bug.cgi?id=769183
7560
7561 2018-01-30 12:56:49 +0000  Philippe Normand <philn@igalia.com>
7562
7563         * gst/vaapi/gstvaapi.c:
7564           vaapi: add NULL-sentinel to kernel_names
7565           The array needs to be NULL-terminated according to the
7566           gst_plugin_add_dependency() documentation.
7567
7568 2018-01-18 18:53:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7569
7570         * gst/vaapi/gstvaapipostprocutil.c:
7571           vaapipostproc: remove spurious code
7572           This assignation is dead code, since gst_video_info_from_caps() set
7573           to 1 by default.
7574           https://bugzilla.gnome.org/show_bug.cgi?id=790149
7575
7576 2018-01-18 18:51:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7577
7578         * gst/vaapi/gstvaapipostprocutil.c:
7579           vaapipostproc: if no p-a-r in out caps define a range
7580           Instead of copying the pixel-aspect-ratio from the sink caps, define
7581           an open range for the src caps pixel-aspect-ratio. Later it will be
7582           defined.
7583           https://bugzilla.gnome.org/show_bug.cgi?id=790149
7584
7585 2018-01-18 13:10:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7586
7587         * gst/vaapi/gstvaapisink.c:
7588           vaapisink: check for display's color-balance properties
7589           Check for display's color-balance properties, available by the VA-API
7590           driver, before setting them.
7591           Also logs an info message of those unavailable properties.
7592           https://bugzilla.gnome.org/show_bug.cgi?id=792638
7593
7594 2018-01-17 17:30:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7595
7596         * gst/vaapi/gstvaapipluginbase.c:
7597           plugins: re-using buffer pool breaks renegotiation
7598           at propose_allocation() we should not reuse the proposed buffer,
7599           because it could break renegotiation.
7600           https://bugzilla.gnome.org/show_bug.cgi?id=792620
7601
7602 2018-01-17 17:26:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7603
7604         * gst/vaapi/gstvaapipluginbase.c:
7605           plugins: use g_clear_object() to unref sinkpad_buffer_pool
7606           https://bugzilla.gnome.org/show_bug.cgi?id=792620
7607
7608 2018-01-17 12:42:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7609
7610         * gst-libs/gst/vaapi/meson.build:
7611           build: meson: add missing GstGL dependency
7612
7613 2018-01-17 12:41:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7614
7615         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7616           libs: utils: egl: add missing guards for GstGL
7617
7618 2018-01-11 11:48:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7619
7620         * gst/vaapi/gstvaapipluginbase.c:
7621           plugins: remove dmabuf-import hack
7622           Remove the hack to check if an upstream element has enabled the
7623           property io-mode enabled as dmabuf-import.
7624           https://bugzilla.gnome.org/show_bug.cgi?id=792034
7625
7626 2017-12-01 15:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7627
7628         * gst-libs/gst/vaapi/Makefile.am:
7629         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7630         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7631         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
7632           libs: egl: utils: use eglGetPlatformDisplay()
7633           eglGetDisplay() is currently broken in Mesa for Wayland.  Also using
7634           eglGetDisplay() is rather fragile, and it is recommended to use
7635           eglGetPlatformDisplay() when possible.
7636           In order to do that, this patch uses the helper in GstGL. If
7637           gstreamer-vaapi is not compiled with GstGL support, eglGetDisplay()
7638           will be used.
7639           https://bugzilla.gnome.org/show_bug.cgi?id=790493
7640
7641 2017-12-08 14:46:02 +0100  Michael Tretter <m.tretter@pengutronix.de>
7642
7643         * gst/vaapi/gstvaapipostproc.c:
7644           vaapipostproc: lock ensure_filter with postproc_lock
7645           gst_vaapipostproc_ensure_filter might free the allowed_srcpad_caps
7646           and allowed_sinkpad_caps. This can race with copying these caps in
7647           gst_vaapipostproc_transform_caps and lead to segfaults.
7648           The gst_vaapipostproc_transform_caps function already locks
7649           postproc_lock before copying the caps. Make sure that calls to
7650           gst_vaapipostproc_ensure_filter also acquire this lock.
7651           https://bugzilla.gnome.org/show_bug.cgi?id=791404
7652
7653 2018-01-10 17:10:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7654
7655         * tests/test-filter.c:
7656           tests: test-filter: fix dereference before null check
7657           Null-checking op_info suggests that it may be null, but it has already
7658           been dereferenced on all paths leading to the check.
7659           There may be a null pointer dereference, or else the comparison
7660           against null is unnecessary.
7661
7662 2018-01-10 17:06:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7663
7664         * tests/y4mreader.c:
7665           tests: y4mreader: fix string state checkup
7666           str cannot be null in that moment, but it may be the end of string.
7667
7668 2018-01-10 16:59:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7669
7670         * tests/y4mreader.c:
7671           tests: y4mreader: use int for fgetc
7672           Assigning the return value of fgetc to char truncates its value.
7673           It will not be possible to distinguish between EOF and a valid
7674           character.
7675
7676 2018-01-10 16:48:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7677
7678         * tests/y4mreader.c:
7679           tests: y4mreader: fix incompatible cast
7680           Passed pointer in parse_int() are unsigned int (32 bits, unsigned) but
7681           they are dereferenced as a wider long (64 bits, signed). This may lead
7682           to memory corruption.
7683
7684 2017-12-19 16:01:10 +0000  Tim-Philipp Müller <tim@centricular.com>
7685
7686         * meson.build:
7687           meson: fix fallback for gstreamer-gl-1.0, it's now in -base
7688
7689 2017-12-14 14:53:27 +1100  Matthew Waters <matthew@centricular.com>
7690
7691         * common:
7692           Automatic update of common submodule
7693           From e8c7a71 to 3fa2c9e
7694
7695 2017-12-06 16:11:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7696
7697         * gst/vaapi/gstvaapivideocontext.c:
7698           videoconvert: gst_element_post_message() is transfer full on msg
7699           For this reson we need not to unref the message, even if it failed.
7700
7701 2017-12-06 16:11:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7702
7703         * gst/vaapi/gstvaapivideocontext.c:
7704           Revert "vaapivideocontext: possible memleak when no bus attached"
7705           This reverts commit 0438a3e62660e64ed390b6bb83bfb560b91664aa.
7706
7707 2017-12-01 23:03:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7708
7709         * tests/elements/test-vaapicontext.c:
7710           test: vaapicontext: process have-context bus message
7711
7712 2017-11-29 18:29:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7713
7714         * tests/elements/test-vaapicontext.c:
7715           test: vaapicontext: app context is not persistent
7716
7717 2017-11-29 11:02:03 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7718
7719         * gst/vaapi/gstvaapipluginbase.c:
7720         * gst/vaapi/gstvaapivideocontext.c:
7721         * gst/vaapi/gstvaapivideocontext.h:
7722           vaapivideocontext: only vaapisink process app context
7723           gst.vaapi.app.Display context is made for applications that will
7724           provide the VA display and the native display to used by the
7725           pipeline, when are using vaapisink as overlay. There are no use
7726           case for encoders, decoders, neither for the postprocessor.
7727           In the case of the vaapisink, it shall query for gst.vaapi.Display
7728           upstream first, and then, if there is no reply,
7729           gst.vaapi.app.Display context will be posted in the bus for the
7730           application. If the application replies, a GstVaapiDisplay object
7731           is instantiated given the context info, otherwise a
7732           GstVaapiDisplay is created with the normal algorithm to guess the
7733           graphics platform. Either way, the instantiated GstVaapiDisplay
7734           is propagated among the pipeline and the have-message bus message.
7735           Also only vaapisink will process the gst.vaapi.app.Display, if
7736           and only if, it doesn't have a display already set. This is
7737           caused because if vaapisink is in a bin (playsink, for example)
7738           the need-context is posted twice, leading to an error state.
7739           https://bugzilla.gnome.org/show_bug.cgi?id=790999
7740
7741 2017-12-01 20:21:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7742
7743         * gst/vaapi/gstvaapivideocontext.c:
7744           vaapivideocontext: log the name of GstVaapiDisplay
7745           https://bugzilla.gnome.org/show_bug.cgi?id=790999
7746
7747 2017-11-30 14:24:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7748
7749         * gst/vaapi/gstvaapivideocontext.c:
7750           vaapivideocontext: possible memleak when no bus attached
7751           https://bugzilla.gnome.org/show_bug.cgi?id=790999
7752
7753 2017-11-27 13:04:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7754
7755         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
7756           libs: window: wayland: remove unused header include
7757           Remove wayland-client.h include since there is no exposed symbols from
7758           it.
7759
7760 2017-11-27 12:18:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7761
7762         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7763         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7764           libs: encoder: h264,h265: guard rate control's macroblock
7765           macroblock parameter appear on VA-API 1.0.0. It should be guarded.
7766
7767 2017-11-27 20:17:55 +1100  Matthew Waters <matthew@centricular.com>
7768
7769         * common:
7770           Automatic update of common submodule
7771           From 3f4aa96 to e8c7a71
7772
7773 2016-07-29 14:58:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7774
7775         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7776           libs: encoder: h264: Add Hierarchical-B encode
7777           Frames are encoded as different layers. Frame in a particular
7778           layer will use pictures in lower or same layer as references.
7779           Which means decoder can drop the frames in upper layer but still
7780           decode lower layer frames.
7781           B-frames, except the one in top most layer, are reference frames.
7782           All the base layer frames are I or P.
7783           eg: with 3 temporal layers
7784           T3:             B1            B3              B5              B7
7785           T2:                   B2                              B6
7786           T1:   I0                                P4                        P8
7787           T1, T2, T3: Temporal Layers
7788           P1...Pn:   P-Frames:
7789           B1...Bn:   B-frames:
7790           T1: I0->P4 , P4->P8 etc..
7791           T2: I0--> B2 <-- P4
7792           T3: I0--> B1 <-- B2, B2 --> B3 <-- P4
7793           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7794           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7795
7796 2016-07-28 18:33:23 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7797
7798         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7799           libs: encoder: h264: Add Hierarchical-P encode
7800           Frames are encoded as different layers. A frame in a particular
7801           layer will use pictures in lower or same layer as references.
7802           Which means decoder can drop the frames in upper layer but still
7803           decode lower layer frames.
7804           eg: with 3 temporal layers
7805           T3:             P1            P3              P5              P7
7806           T2:                   P2                              P6
7807           T1:   P0                                P4                        P8
7808           T1, T2, T3: Temporal Layers
7809           P1...pn:   P-Frames:
7810           P0->P1 , P0->P2, P2->P3, P0->P4......repeat
7811           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7812           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7813
7814 2016-07-28 16:51:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7815
7816         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7817           libs: encoder: h264: Fix frame_num generation
7818           The frame_num generation was not correctly implemented.
7819           According to h264 spec, frame_num should get incremented
7820           for each frame if previous frame is a referece frame.
7821           For eg: IPBPB sequece should have the frame numbers 0,1,2,2,3
7822           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7823           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7824
7825 2016-07-28 15:53:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7826
7827         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7828         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
7829           libs: encoder: h264: Add new property "prediction-type"
7830           Adds new property "prediction-type" to select different reference
7831           picture selection modes like hierarchical-p, hierarchical-b etc.
7832           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7833           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7834
7835 2016-07-28 15:12:05 +0300  XuGuangxin <guangxin.xu@intel.com>
7836
7837         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7838         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
7839           libs: encoder: h264: Add machinery for implementing hierarchical-prediction
7840           Adds some basic building blocks to ease the implementation
7841           of hierarchical prediction modes.
7842           -- add an utility method to find temporal level of each frame
7843           -- define max_ref_frame count based on temporal level count
7844           -- add temporal_level_div[] for finding temporal level each frame
7845           to be encoded.
7846           -- find ip_period based on temporal level count
7847           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7848           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7849
7850 2016-07-28 14:17:53 +0300  XuGuangxin <guangxin.xu@intel.com>
7851
7852         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7853         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
7854           libs: encoder: h264: Add property "temporal-levels"
7855           Adds new property "temporal-levels" to select the number of
7856           temporal levels to be included in the encoded stream.
7857           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7858           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7859
7860 2016-07-27 16:41:01 +0300  XuGuangxin <guangxin.xu@intel.com>
7861
7862         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
7863           libs: encoder: objects: Add a reference flag
7864           We can have p-frame as non-ref and also b-frame as ref
7865           which are not supported yet. Reference flag
7866           is the first machinery needed for more advanced
7867           reference picture selection modes.
7868           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7869           https://bugzilla.gnome.org/show_bug.cgi?id=788918
7870
7871 2017-11-02 13:21:34 +0100  Daniel van Vugt <daniel.van.vugt@canonical.com>
7872
7873         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
7874           libs: surface: egl: add comment
7875           Add a warning comment when using old intel-vaapi-drivers (>1.8.4),
7876           where the creation of surfaces from GEM fd may fail.
7877           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7878
7879 2017-10-10 13:38:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7880
7881         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7882         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
7883         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
7884           libs: display: egl: add gst_vaapi_display_egl_set_current_display()
7885           Adds a new function that changes the internal EGL display to the
7886           current one (eglGetCurrentDisplay()) and sets the current context
7887           too (eglGetCurrentContext()).
7888           This new function is called by gst_vaapi_texture_egl_create() updating
7889           the GstVaapiDisplayEGL with the current EGL display.
7890           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7891
7892 2017-10-09 16:02:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7893
7894         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
7895           libs: texture: egl: update EGL display and context
7896           It is required to use the context of the calling thread when wrapping
7897           a foreign texture. According the documentation of
7898           GstVideoGLTextureUploadMeta:
7899           "The caller of gst_video_gl_texture_upload_meta_upload() must
7900           have OpenGL set up and call this from a thread where it is valid
7901           to upload something to an OpenGL texture."
7902           This patch updates the EGL display and context in GstVaapiDisplay
7903           instance to the one used by te renderer that uploads the texture.
7904           Original-patch-by: Daniel van Vugt <daniel.van.vugt@canonical.com>
7905           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7906
7907 2017-10-10 19:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7908
7909         * gst/vaapi/gstvaapipluginbase.c:
7910           plugins: centralize assignation of GL objects
7911           Add plugin_set_gst_gl() where the GstGL objects are assigned.
7912           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7913
7914 2017-10-10 19:13:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7915
7916         * gst/vaapi/gstvaapipluginbase.c:
7917           plugins: set GL objects if ensured
7918           Only set the GL display and GL other context if they are ensured.
7919           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7920
7921 2017-10-10 17:14:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7922
7923         * gst/vaapi/gstvaapipluginbase.c:
7924           plugins: set GL objects if context is handled
7925           Only set the GL display and GL other context if they are extracted
7926           correctly from the gstreamer's context.
7927           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7928
7929 2017-10-10 19:57:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7930
7931         * gst/vaapi/gstvaapipluginbase.c:
7932           plugins: fix memory leak when GL context is created
7933           When the GL display and context are created inside an VAAPI element
7934           the created GL context is leaked.
7935           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7936
7937 2017-10-10 14:01:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7938
7939         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7940           libs: display: egl: free leaked memory
7941           The EGL VAAPI display forgot to release the egl display, context and
7942           proxied VAAPI display.
7943           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7944
7945 2017-10-05 19:25:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7946
7947         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
7948           libs: texture: egl: code style
7949           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7950
7951 2017-10-04 13:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7952
7953         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
7954           libs: surface: egl: error message if no extension
7955           Instead of silently fail to export the image if there is not available
7956           the EGL_MESA_drm_image, log an error message. Also a code refactoring
7957           was done.
7958           https://bugzilla.gnome.org/show_bug.cgi?id=773453
7959
7960 2017-10-31 13:10:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7961
7962         * gst/vaapi/gstvaapipluginbase.c:
7963           plugins: direct rendering on memory:VASurface
7964           As buffers negotiated with memory:VASurface caps feature can also be
7965           mapped, they can also be configured to use VA derived images, in other
7966           words "direct rendering".
7967           Also, because of the changes in dmabuf allocator as default allocator,
7968           the code for configuring the direct rendering was not clear.
7969           This patch cleans up the code and enables direct rendering when the
7970           environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING is defined,
7971           even then the memory:VASurface cap feature is negotiated.
7972           https://bugzilla.gnome.org/show_bug.cgi?id=786054
7973
7974 2017-10-04 11:54:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7975
7976         * gst/vaapi/gstvaapipluginbase.c:
7977         * gst/vaapi/gstvaapipluginutil.c:
7978           plugins: only dmabuf on srcpad if downstream
7979           Set if source pad can handle dmabuf only if the GstGL context comes
7980           from downstream.
7981           It is possible to know that at two moments:
7982           1\ In the case of GstGLTextureUpload caps feature is negotiated and
7983           downstream pool reports back gst.gl.GstGLContext.
7984           2\ When GstGLContext is found as GstContext from dowstream.
7985           https://bugzilla.gnome.org/show_bug.cgi?id=788503
7986
7987 2017-10-04 11:52:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7988
7989         * gst/vaapi/gstvaapivideocontext.c:
7990           vaapivideocontext: add inline documentation
7991           Document function gst_vaapi_find_gl_local_context().
7992           https://bugzilla.gnome.org/show_bug.cgi?id=788503
7993
7994 2017-10-04 11:50:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7995
7996         * gst/vaapi/gstvaapipluginutil.c:
7997         * gst/vaapi/gstvaapivideocontext.c:
7998         * gst/vaapi/gstvaapivideocontext.h:
7999           vaapivideocontext: return the direction of gl context
8000           In function gst_vaapi_find_gl_context() add a direction parameter to
8001           return back the direction where the GstGL context was found.
8002           This is going to be useful when checking if downstream can import
8003           dmabuf-based buffers.
8004           https://bugzilla.gnome.org/show_bug.cgi?id=788503
8005
8006 2017-10-04 08:30:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8007
8008         * gst/vaapi/gstvaapipluginbase.c:
8009         * gst/vaapi/gstvaapipluginbase.h:
8010           plugins: add gst_vaapi_plugin_base_set_srcpad_can_dmabuf()
8011           This patch refactors the code by adding the function
8012           vaapi_plugin_base_set_srcpad_can_dmabuf(), it determines if the passed
8013           GstGLContext can handle dmabuf-based buffers.
8014           The function is exposed publicly since it is intended to be used later
8015           at GstVaapiDisplay instantiation.
8016           https://bugzilla.gnome.org/show_bug.cgi?id=788503
8017
8018 2017-10-20 12:37:15 +0200  Hyunjun Ko <zzoon@igalia.com>
8019
8020         * gst/vaapi/gstvaapiencode.c:
8021           vaapiencode: allow to set property on runtime
8022           Tis patch, allows some properties that we want to be set on
8023           runtime. (eg. bitrate)
8024           Note that all properties are under control by num_codedbuf_queued.
8025           https://bugzilla.gnome.org/show_bug.cgi?id=786321
8026
8027 2017-09-15 15:38:18 +0900  Hyunjun Ko <zzoon@igalia.com>
8028
8029         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8030           libs: encoder: allow to set bitrate on runtime
8031           In case of streaming, controlling bitrate dynamically for encoder might be
8032           important to manage quality of the streaming.
8033           This patch is to support such a scenario.
8034           https://bugzilla.gnome.org/show_bug.cgi?id=786321
8035
8036 2017-10-10 11:35:24 +0300  Sebastian Dröge <sebastian@centricular.com>
8037
8038         * gst/vaapi/gstvaapi.c:
8039         * gst/vaapi/gstvaapi.h:
8040         * gst/vaapi/gstvaapidecodebin.c:
8041           vaapidecodebin: Register element if no VPP support is available too
8042           VPP support is only needed for advanced deinterlacing, which is not
8043           enabled by default either. Error out if it is selected but VPP is not
8044           supported, and otherwise just work without VPP support.
8045           https://bugzilla.gnome.org/show_bug.cgi?id=788758
8046
8047 2017-10-16 11:57:16 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
8048
8049         * gst/vaapi/gstvaapipluginutil.c:
8050           Avoid infinite loop when vaapi_create_display fails
8051           Which might be the case when using, for example, xvfb.
8052
8053 2017-10-02 18:53:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8054
8055         * gst-libs/gst/vaapi/gstvaapiutils.c:
8056           libs: utils: log warn if display fail
8057           gstreamer-vaapi initializes the display by trial-and-error, thus
8058           logging an error message if the display initialisation fails the user
8059           may be weary of the error message in the screen, if using VA-API 1.0
8060           This commit set the VA error log handler to GStreamer warning level
8061           while calling vaInitialize() and set it to error after that.
8062           https://bugzilla.gnome.org/show_bug.cgi?id=783169
8063
8064 2017-09-29 20:05:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8065
8066         * gst/vaapi/gstvaapipluginutil.c:
8067           plugins: try to create test display in order
8068           When creating the test display for querying capabilites, it try in
8069           certain order: DRM, Wayland and finally X11. GLX nor EGL are tried
8070           since they are either composited with X11 or Wayland.
8071           The reason for this is to reduce the posibility of failure that could
8072           blacklist the plugin.
8073           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8074
8075 2017-09-29 15:07:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8076
8077         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8078         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
8079           libs: display: delay getting screen resolution
8080           Instead of extracting the screen resolution at GstVaapiDisplay
8081           creation, this patch delay it until the screen size is requested for
8082           first time.
8083           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8084
8085 2017-09-28 18:58:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8086
8087         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
8088           libs: display: egl: avoid two vaDisplay instantiates
8089           GstVaapiDisplayEGL is a wrapper of another GstVaapiDisplay, either X11
8090           or Wayland. Nonetheless it created another vaDisplay for it, instead
8091           of using the wrapped one.
8092           This patch enables the reuse of the wrapped vaDisplay avoiding
8093           instantiating two.
8094           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8095
8096 2017-09-28 17:45:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8097
8098         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8099         * gst-libs/gst/vaapi/gstvaapidisplay.h:
8100         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
8101         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
8102         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
8103           libs: display: remove display_type from display info
8104           Since it's no required to pass the display type in the display info,
8105           the structure member is removed.
8106           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8107
8108 2017-09-28 17:35:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8109
8110         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8111         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
8112           libs: display: remove display_type member
8113           It is not used any more since GstVaapiDisplay was ported as a
8114           GstObject-based. This information is part of the class information.
8115           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8116
8117 2017-09-28 16:12:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8118
8119         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8120         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
8121           libs: display: remove parent member
8122           Parent was a crumb left from display cache.
8123           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8124
8125 2017-10-03 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>
8126
8127         * gst/vaapi/gstvaapi.c:
8128           vaapi: Also register vaapipostproc without VPP support
8129           It can still do simple deinterlacing then.
8130
8131 2017-10-03 10:51:06 +0200  Sebastian Dröge <sebastian@centricular.com>
8132
8133         * gst/vaapi/gstvaapipostproc.c:
8134           vaapipostproc: Allow running without VPP support
8135           We returned FALSE from ::start() if VPP support is not available, but it
8136           is only really needed for complex filters and during transform we check
8137           for that. For simple deinterlacing it is not needed.
8138
8139 2017-09-27 18:35:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8140
8141         * gst/vaapi/gstvaapipostproc.c:
8142           vaapipostproc: use scoped variable for return value
8143           Instead of reusing a parameter variable for the return value of
8144           gst_vaapipostproc_transform_caps(), this patch uses the function
8145           scoped pointer. Thus, the code is cleaner.
8146           https://bugzilla.gnome.org/show_bug.cgi?id=785706
8147
8148 2017-09-27 18:32:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8149
8150         * gst/vaapi/gstvaapipostproc.c:
8151           vaapipostproc: removed unused parameter
8152           Removed caps parameter from gst_vaapipostproc_transform_caps_impl()
8153           helper function since the it is not used.
8154           https://bugzilla.gnome.org/show_bug.cgi?id=785706
8155
8156 2017-09-27 13:32:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8157
8158         * gst/vaapi/gstvaapipostproc.c:
8159           vaapipostproc: use scoped variable for return value
8160           Instead of reusing a parameter variable for the return value of
8161           gst_vaapipostproc_fixate_caps(), this patch uses the function scoped
8162           pointer. Thus, the code is cleaner.
8163           https://bugzilla.gnome.org/show_bug.cgi?id=785706
8164
8165 2017-09-27 11:27:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8166
8167         * gst/vaapi/gstvaapipluginutil.h:
8168           plugins: memory:DMABuf only handles planar formats
8169           When glimagesink negotiates the caps feature memory:DMABuf the
8170           exported dmabufs buffers with NV12 format are not well rendered, thus
8171           setting only planar.
8172           https://bugzilla.gnome.org/show_bug.cgi?id=788229
8173
8174 2017-09-25 17:04:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8175
8176         * gst/vaapi/gstvaapiencode.c:
8177           vaapiencode: flush pending frames before set format
8178           Flush pending frames, if any, in the internal encorder, before setting
8179           the new negotiated format.
8180           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8181
8182 2017-09-25 15:50:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8183
8184         * gst/vaapi/gstvaapidecode.c:
8185           vaapidecode: drain pending frames before set format
8186           Drain pending frames, if any, in the internal decoder before setting
8187           the new negotiated format.
8188           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8189
8190 2017-09-22 19:35:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8191
8192         * tests/test-display.c:
8193           tests: display: use GObject getter
8194           Instead of using the gst_vaapi_display_get_property(), this patch
8195           replaces it with g_object_get_property() to dump the available VA
8196           display properties.
8197           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8198
8199 2017-09-22 19:25:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8200
8201         * gst/vaapi/gstvaapisink.c:
8202           vaapisink: use GObject setter and getter
8203           Instead of using gst_vaapi_display_set_property() or
8204           gst_vaapi_display_get_property(), this patch set replace it usage
8205           with g_object_set() or g_object_get().
8206           Also the internal helper cb_set_value() is removed since it is not
8207           used anymore.
8208           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8209
8210 2017-09-22 18:59:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8211
8212         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8213           libs: display: initialize value if they are not yet
8214           This is a difference between the GObject API and the GstVaapi one: the
8215           GValue passed to get a property value, in GObject has to be
8216           initialized with g_value_init(), but in GstVaapi is has not.
8217           In order to overcome this mismatch, this patch call g_value_init()
8218           internally only in the passed one is not already initialized.
8219           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8220
8221 2017-09-22 17:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8222
8223         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8224           libs: display: optimize properties setters and getters
8225           Shuffled some code to avoid to find the properties descriptor in the
8226           array twice, adding the internal functions _set_property() and
8227           _get_property().
8228           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8229
8230 2017-09-22 16:29:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8231
8232         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8233           libs: display: install properties in class
8234           Install the properties in the class as a normal GObject. Implement
8235           set_property() and get_property() vmethods.
8236           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8237
8238 2017-09-22 15:16:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8239
8240         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8241           libs: display: remove gst_vaapi_display_properties_init()
8242           Remove gst_vaapi_display_properties_init() since it can be unrolled in
8243           gst_vaapi_display_class_init()
8244           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8245
8246 2017-09-22 15:12:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8247
8248         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8249           libs: display: remove libgstvaapi_init_once()
8250           It is not required since it can be unrolled in
8251           gst_vaapi_display_class_init()
8252           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8253
8254 2017-09-22 17:50:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8255
8256         * tests/test-display.c:
8257           tests: test-display: remove display cache tests
8258           Since commit ec3e10f6, display cache was removed. This patch removes
8259           this leftovers in the display test.
8260
8261 2017-09-18 14:29:55 +0900  Hyunjun Ko <zzoon@igalia.com>
8262
8263         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8264         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
8265           libs: decoder: h264/h265: decode codec data only if opened
8266           Fixes regression introduced by commit 2eb2b26a.
8267           There is a use case when the decoder set the src caps and immediatly
8268           tries to process the media codec_data, this happens before decoder is
8269           even opened, thus priv->parser is not instantiated yet.
8270           https://bugzilla.gnome.org/show_bug.cgi?id=787818
8271
8272 2017-09-18 19:11:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8273
8274         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8275         * gst-libs/gst/vaapi/gstvaapiencoder.h:
8276         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8277         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8278         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
8279           libs: encoder: change mbbrc from uint to enum
8280           Instead of handling the macroblock bitrate control as a integer, this
8281           patch changes it as a enum, which is more self documented in the
8282           GStreamer elements.
8283           https://bugzilla.gnome.org/show_bug.cgi?id=787855
8284
8285 2017-09-18 13:55:49 +1000  Jan Schmidt <jan@centricular.com>
8286
8287         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8288           Fix a typo in the prop string for compliance-mode
8289
8290 2017-09-15 18:31:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8291
8292         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8293           libs: encoder: don't unref properties
8294           This patch fixes a regression introduced in commit 148f867c, since the
8295           props variable is set to object's member variable
8296           encoder->properties. And it is set in the instance initialization,
8297           thus it will not be leaked.
8298           https://bugzilla.gnome.org/show_bug.cgi?id=787733
8299
8300 2017-09-15 15:14:47 +0900  Hyunjun Ko <zzoon@igalia.com>
8301
8302         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8303         * gst/vaapi/gstvaapiencode.c:
8304           vaapiencode/libs: encoder: fix leaks of properties
8305           https://bugzilla.gnome.org/show_bug.cgi?id=786321
8306
8307 2017-08-24 21:51:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8308
8309         * gst-libs/gst/vaapi/gstvaapidecoder.c:
8310           libs: decoder: at update_caps() decode codec_data
8311           When updating the caps in decoder, if the caps has codec_data (avC
8312           format), it has to be parsed to update the state of the decoder.
8313           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8314
8315 2017-09-13 15:44:32 +0900  Hyunjun Ko <zzoon@igalia.com>
8316
8317         * gst-libs/gst/vaapi/gstvaapicontext.c:
8318           libs: context: fix wrong counter of the array of attributes
8319           The counter value passed to vaCreateConfig is always +1.
8320           This is a regression caused by commit e42ec3ad.
8321           The present patch fixes wrong counting of the array of attributes.
8322           https://bugzilla.gnome.org/show_bug.cgi?id=787613
8323
8324 2017-09-13 12:23:42 +0900  Hyunjun Ko <zzoon@igalia.com>
8325
8326         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8327         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8328           libs: encoder: h265: support I/P/B QP setting seperatedly
8329           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
8330           frames
8331           and set slice_qp_delta for each frame according to the value provided.
8332           https://bugzilla.gnome.org/show_bug.cgi?id=785923
8333
8334 2017-09-13 12:22:07 +0900  Hyunjun Ko <zzoon@igalia.com>
8335
8336         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8337         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8338           libs: encoder: h264: support I/P/B QP setting seperatedly
8339           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
8340           frames
8341           and set slice_qp_delta for each frame according to the value provided.
8342           In addition, remove the limitation of (<= 4) when setting
8343           slice_qp_delta.
8344           https://bugzilla.gnome.org/show_bug.cgi?id=785923
8345
8346 2017-09-13 12:15:57 +0900  Hyunjun Ko <zzoon@igalia.com>
8347
8348         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8349         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8350           libs: encoder: h264/h265: keep min_qp as is unless it's over init_qp
8351           Creates new variable for QP for I frame and keep it at configuration and
8352           use this for pic_init_qp and slice_qp_delta setting.
8353           Since changing min qp doesn't make sense, keep min qp as is.
8354           https://bugzilla.gnome.org/show_bug.cgi?id=785923
8355
8356 2017-09-13 12:09:45 +0900  Hyunjun Ko <zzoon@igalia.com>
8357
8358         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8359         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8360           libs: encoder: h265: Add mbbrc property
8361           This property supports Macroblock level Bitrate Control as the
8362           following (same as h264 encoder):
8363           0: auto
8364           1: on
8365           2: off
8366           https://bugzilla.gnome.org/show_bug.cgi?id=785917
8367
8368 2017-09-13 12:02:53 +0900  Hyunjun Ko <zzoon@igalia.com>
8369
8370         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8371         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8372           libs: encoder: h264: Add mbbrc property
8373           This property supports Macroblock level Bitrate Control as the
8374           following:
8375           0: auto
8376           1: on
8377           2: off
8378           https://bugzilla.gnome.org/show_bug.cgi?id=785917
8379
8380 2017-09-13 11:39:09 +0900  Hyunjun Ko <zzoon@igalia.com>
8381
8382         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8383           libs: encoder: h265: add multi reference support
8384           This is doing the same as h264 encoder as the following:
8385           Using num_ref_frames provided and the result of the Query
8386           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
8387           and perform encoding with multi reference frames as the following:
8388           1\ The num_ref_frames is being considered as the number of
8389           reference picture list0
8390           2\ Encoder adds 1 reference frame more to the reference picture list1
8391           internally if b-frame encoding.
8392           3\ If num_ref_frames is bigger than the number of refrence frames
8393           supported in the driver, it will be lowered.
8394           Also this patch includes:
8395           - Set num_negative_pics and num_positive_pics according to the number of
8396           refs.
8397           - Set delta_poc according to the number of refs.
8398           - Increase max_dec_pic_buffering according to the number of refs
8399           - Change max_num_reorder_pics according to num of bframes
8400           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8401
8402 2017-09-13 11:37:33 +0900  Hyunjun Ko <zzoon@igalia.com>
8403
8404         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8405         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8406           libs: encoder: h265: add refs property
8407           Users can provide the number of reference frame by this property,
8408           which is exaclty same as h264.
8409           The value of the property will be considered as the number of
8410           reference picture list0 and will add 1 reference frame more to the
8411           reference picture list1 internally if b-frame encoding.
8412           If the value provided is bigger than the number of refrence frames
8413           supported in the driver, it will be lowered.
8414           The maximum value is aligned to the value of the driver supported now.
8415           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8416
8417 2017-09-13 11:17:26 +0900  Hyunjun Ko <zzoon@igalia.com>
8418
8419         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8420         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8421           libs: encoder: h264/5: determine num_ref_idx_active_override_flag according to reference list
8422           Follows the specification as below:
8423           7.4.7.1 in Rec. ITU-T H.265 v4 (12/2016)
8424           num_ref_idx_active_override_flag equal to 1 specifies that the syntax
8425           element num_ref_idx_l0_active_minus1 is present for P and B slices and
8426           that the syntax element num_ref_idx_l1_active_minus1 is present for B
8427           slices.
8428           num_ref_idx_active_override_flag equal to 0 specifies that the syntax
8429           elements num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1
8430           are not present.
8431           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8432
8433 2017-09-13 11:06:20 +0900  Hyunjun Ko <zzoon@igalia.com>
8434
8435         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8436           libs: encoder: h265: keep idr_period equal to keyframe period
8437           Remove FIXME code, which makes previous assignation spurious.
8438           This also means to make idr_period equal to keyframe period,
8439           which is same as h264 encoder.
8440           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8441
8442 2017-09-06 14:03:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
8443
8444         * gst/vaapi/gstvaapipluginbase.c:
8445           Request minimum buffer even if need_pool is FALSE
8446           When tee is used, it will not request a pool, but still it wants to
8447           know how many buffers are required.
8448           https://bugzilla.gnome.org/show_bug.cgi?id=730758
8449
8450 2017-09-05 10:58:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
8451
8452         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
8453           libs: encoder: h264_fei: VA-API 1.0 compat
8454           Use VA_ENC_PACKED_HEADER_H264_SEI compat macro for VA-API 1.0
8455           compatibility.
8456           https://bugzilla.gnome.org/show_bug.cgi?id=787322
8457           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
8458
8459 2017-09-01 13:48:01 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8460
8461         * gst/vaapi/gstvaapisink.c:
8462           vaapisink: Fix rendering in drm display
8463           Make sure vaapisink create a va surface backed buffer pool and all
8464           required attributes get assigned correctly for drm display type.
8465           This is needed to make the below pipeline working:
8466           gst-launch-1.0 filesrc location= raw_video.mov ! videoparse format=uyvy
8467           width=320 height=240 framerate=30/1 ! vaapisink display=drm
8468           https://bugzilla.gnome.org/show_bug.cgi?id=786954
8469
8470 2017-08-09 18:46:09 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8471
8472         * tests/Makefile.am:
8473         * tests/test-fei-enc-in.c:
8474         * tests/test-fei-enc-out.c:
8475           FEI: Add test applications to showcase fei use case
8476           test-fei-enc-out: A simple fei encoding application to output mv, mbcode and distortion
8477           eg:
8478           ./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
8479           test-fei-enc-in: A simple fei encoding application for testing input fei buffers
8480           eg:
8481           ./test-fei-enc-in -c h264 -o out.264 -e 4 -q 1 sample_i420.y4m
8482           Fixme: Running test-fei-enc-in in PAK mode with mv and mbcode input buffers
8483           from saved files is still not working
8484           People contributed:
8485           Wang, Yi <yi.a.wang@intel.com>
8486           Leilei <leilei.shang@intel.com>
8487           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8488           xiaominc <xiaomin.chen@intel.com>
8489           Li, Jing B <jing.b.li@intel.com>
8490           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8491           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8492
8493 2017-08-09 18:36:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8494
8495         * gst/vaapi/Makefile.am:
8496         * gst/vaapi/gstvaapi.c:
8497         * gst/vaapi/gstvaapiencode_h264_fei.c:
8498         * gst/vaapi/gstvaapiencode_h264_fei.h:
8499           FEI: plugin: Add vaapih264feienc element
8500           A new FEI based encoder element for h264 is added: vaapih264feienc
8501           FEI is a an extension to VA-API which is providing low level
8502           advanced control over different stages of encoding.
8503           Extending vaapih264enc with fei support is possible, but it will
8504           make the code too much complicated and will be difficult
8505           to debug. So adding the new encoder element, but keeping
8506           the rank as 0 , vaapih264enc will stay as the primary
8507           encoder for normal use cases.
8508           The vaaih264feienc is mainly useful for customers who want to play
8509           with MotionVectors and Macroblock Predictions. Also user can
8510           do one stage of encoding(eg: only the Motion Vector Calculation)
8511           in software and offload trasformation/entroy-coding etc to
8512           Hardware (which is what PAK module is doing) using FEI element.
8513           vaapih264feienc can work in  different modes using fei-mode properoty
8514           eg: gst-launch-1.0 videotestsrc ! vaapih264feienc fei-mode=ENC+PAK ! filesink location=sample.264
8515           Important Note: ENC only mode won't produce any encoded data which is expected.
8516           But ENC alwys requires the output of PAK in order to do the inter-prediction
8517           over reconstructed frames.
8518           Similary PAK mode alway requires MV and MBCode as input, so unless there is an
8519           upstream element providing those buffers, PAK only won't work as expected.
8520           In a nutshell, ENC_PAK and the ENC+PAK modes are the only options we can verify
8521           with vaapih264feienc. But ideally, EN+PAK mode verification is enough to make sure
8522           that ENC and PAK are working as expected since ENC+PAK mode always invoke ENC and PAK
8523           separately in vaapih264feienc.
8524           People contributed:
8525           Wang, Yi <yi.a.wang@intel.com>
8526           Leilei <leilei.shang@intel.com>
8527           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8528           xiaominc <xiaomin.chen@intel.com>
8529           Li, Jing B <jing.b.li@intel.com>
8530           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8531           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8532           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8533
8534 2017-08-09 18:32:13 -0700  Yi A Wang <yi.a.wang@intel.com>
8535
8536         * gst/vaapi/gstvaapiencode.c:
8537         * gst/vaapi/gstvaapiencode.h:
8538           FEI: plugin: Add virtual methods to base encode
8539           Two new virtual methods are added to gstvaapiencode.
8540           load_control_data():  load the FEI input buffers set by the upstream elements
8541           save_stats_to_meta(): save the FEI output buffers to Meta for downnstream elements
8542           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8543           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8544           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8545
8546 2017-08-09 18:26:57 -0700  Yi A Wang <yi.a.wang@intel.com>
8547
8548         * gst/vaapi/Makefile.am:
8549         * gst/vaapi/gstvaapifeivideometa.c:
8550         * gst/vaapi/gstvaapifeivideometa.h:
8551           FEI: plugin: Add fei specific video meta
8552           GstVaapiFeiVideoMeta holds the below fei codec objects:
8553           GstVaapiEncFeiMbCode
8554           GstVaapiEncFeiMv
8555           GstVaapiEncFeiMvPredictor
8556           GstVaapiEncFeiMbControl
8557           GstVaapiEncFeiQp
8558           GstVaapiEncFeiDistortion
8559           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8560           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8561           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8562
8563 2017-08-09 18:19:06 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8564
8565         * gst-libs/gst/vaapi/Makefile.am:
8566         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
8567         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
8568         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
8569         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
8570         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
8571         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
8572           FEI: libs: Add FEI encoder
8573           Adding FEI encoder to core lib.
8574           The code is splitted into three session:
8575           1: gstvaapiencoder_h264_fei.{h,c}
8576           This is the replica of gstvaapiencoder_h264.{c,h} but with FEI.
8577           All the modes ENC, PAK and ENC_PAK are running based
8578           the code in these files.
8579           2: gstvaapifeienc_h264.{h,c}
8580           Abstract implementation intended for ENC (only VME) operation.
8581           3: gstvaapifeipak_h264.{h,c}
8582           Abstrct implementation intended for PAK (only the PAK module)
8583           Right now ENC_PAK, ENC and PAK are running based on code
8584           in gstvaapiencoder_h264_fei.{h,c}. The abstract implementations
8585           in gstvaapifeienc_h264.{h,c} and gstvaapifeipak_h264.{h,c} are
8586           needed if user request for ENC+PAK mode operation.
8587           ENC+PAK: Here we need to invoke two sequence of
8588           vaBeginPicture/vaRenderPicutre/vaEndPicture for each frame,
8589           first for the ENC only and the second for PAK only.
8590           Each mode associated with separate context ,but same pool of surfaces are
8591           shared between the modes.
8592           This is more useful once we have custom BRC algorithms.
8593           Other Contributors:
8594           Wang, Yi <yi.a.wang@intel.com>
8595           Leilei <leilei.shang@intel.com>
8596           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8597           xiaominc <xiaomin.chen@intel.com>
8598           Li, Jing B <jing.b.li@intel.com>
8599           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8600           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8601
8602 2017-08-09 17:54:27 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8603
8604         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
8605         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
8606           FEI: libs: Add fei codec objects to GstVaapiEncPicture
8607           All the codec objects(vaapi buffers) supposed to be
8608           submited in vaRenderPicutre are associated with a GstVaapiEncPicture
8609           for each frame, follow the same design for FEI too.
8610           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8611           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8612
8613 2017-08-09 16:05:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8614
8615         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
8616         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
8617         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
8618           FEI: libs: Add fei codec objects in codedbufferproxy
8619           MbCode, MV and Distortion buffers (fei codec objects)
8620           can be treated as output of different fei modes based user request.
8621           For eg: MbCode and MV are the output of ENC only. MbCode, MV and Dist
8622           can be dumped as output in ENC_PAK mode for analysis purpose.
8623           So treating them as a part of CodedBufferProxy too.
8624           Here we avoided Qp, MbControl and MvPredictor codec objects since
8625           there is no practical use case of treating them as "output buffers".
8626           Other contributors:
8627           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8628           xiaominc <xiaomin.chen@intel.com>
8629           Leilei <leilei.shang@intel.com>
8630           Li, Jing B <jing.b.li@intel.com>
8631           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8632           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8633
8634 2017-08-09 15:49:21 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8635
8636         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
8637         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
8638         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
8639           FEI: libs: Add fei codec objects to surface proxy
8640           Add fei codec objects to surface proxy since handling the
8641           fei buffers(codec objects here) external to gstvaapisurfaceproxy
8642           will make the code complicated. Especially considering the behavior
8643           of encoder where the input frame order from upstream and output
8644           frame order to the downstream are not sequential.
8645           Other contributors:
8646           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8647           xiaominc <xiaomin.chen@intel.com>
8648           Leilei <leilei.shang@intel.com>
8649           Li, Jing B <jing.b.li@intel.com>
8650           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8651           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8652
8653 2017-08-09 15:35:10 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8654
8655         * gst-libs/gst/vaapi/Makefile.am:
8656         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
8657         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
8658         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
8659           FEI: Add codec objects for fei usecase
8660           There are 6 new va buffer types, each defined as a specific codec object.
8661           Borrowed the code from gstvaapicodecobject , but made a clear separation
8662           to avoid any possible mess-up. Because unlike the other gstvaaicodecobjects,
8663           feicodecobjects can be shared between elements and also can be accessed
8664           from different thread.
8665           Unlike the other fei codecs object, VAEncMiscParameterTypeFEIFrameControl
8666           object is not shared between elements.So we utilize the already
8667           existing gst_vaapi_enc_misc_param_new(), but still keeping the code
8668           in gstvaapfei_objects_priv.h in order to have a better
8669           code readability.
8670           Fixme:
8671           -- Probably we need _locked_map() and _unlocked_map()
8672           -- Context can be associated with PreEnc(not just Enoder)
8673           once we have the proper support inplace, but for now we don't have
8674           PreEnc support, so should be safe enough to use GstVaapiEncoder.
8675           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8676           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8677
8678 2017-08-09 14:22:12 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8679
8680         * gst-libs/gst/vaapi/Makefile.am:
8681         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
8682         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
8683           FEI: libs: add H264 fei specific utility functions
8684           Added enum/flag type definitions for a number of FEI
8685           input and output parameters.
8686           Original author of the patch: Wang, Yi <yi.a.wang@intel.com>
8687           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8688           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8689           Signed-off-by: Wang, Yi <yi.a.wang@intel.com>
8690           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8691
8692 2017-08-09 14:10:16 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8693
8694         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8695         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
8696           FEI: libs: Add virtual method for secondary context creation.
8697           Add a new vitrual method ensure_secondary_context to the
8698           base encoder which is only required for the FEI entrypoint, that too
8699           only when user configures the ENC+PAK mode. ENC+PAK mode is not something
8700           supported directly by libva or driver, but this can be enabled
8701           from the middleware.
8702           Original Author of this idea: Leilei Shang <leilei.shang@intel.com>
8703           Signed-off-by: Leilei Shang <leilei.shang@intel.com>
8704           Signed-off-by: xiaominc <xiaomin.chen@intel.com>
8705           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8706           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8707           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8708
8709 2017-08-09 14:05:03 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8710
8711         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8712           FEI: libs: make sure the default context creation works as expected.
8713           Current code always guess the entrypoint during init phase in case
8714           if there is no entrypoint already configured in GstVaapiContextInfo.
8715           Make sure FEI Entrypoint is not messing up with this logic.
8716           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8717           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8718
8719 2017-08-09 13:45:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8720
8721         * gst-libs/gst/vaapi/gstvaapicontext.c:
8722         * gst-libs/gst/vaapi/gstvaapicontext.h:
8723         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8724           FEI: libs: Add FEI functional mode configuration
8725           FEI Entrypoint can work in either one of the 3 different modes:
8726           VA_FEI_FUNCTION_ENC, VA_FEI_FUNCTION_PAK or VA_FEI_FUNCTION_ENC_PAK.
8727           Add infrastructure in gstvaapicontext and gstvaapiencoder for this
8728           functioal mode configuration.
8729           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8730           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8731
8732 2017-08-09 13:02:24 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8733
8734         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8735         * gst-libs/gst/vaapi/gstvaapiprofile.c:
8736         * gst-libs/gst/vaapi/gstvaapiprofile.h:
8737           FEI: libs: Add FEI Entrypoint mapping
8738           Define the new mapping GST_VAAPI_ENTRYPOINT_SLICE_ENCODE_FEI
8739           for VAEntrypointFEI.
8740           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8741           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8742
8743 2017-08-09 12:58:29 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8744
8745         * configure.ac:
8746           FEI: Add support for FEI conditional build
8747           FEI(Flexible Encoding Infrastructure) is an extension
8748           to VA API. Define USE_H264_FEI_ENCODER based on
8749           fei header file and required structures availability.
8750           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8751           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8752
8753 2017-08-28 17:34:50 -0700  Orestis Floros <orestisf1993@gmail.com>
8754
8755         * gst/vaapi/gstvaapidecode.c:
8756           vaapidecode: force add h264 SVC profiles in caps
8757           When vaapih264dec's base-only profile is set to TRUE, fake SVC profile
8758           support in caps.
8759           https://bugzilla.gnome.org/show_bug.cgi?id=732266
8760           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8761
8762 2017-08-28 17:32:57 -0700  Orestis Floros <orestisf1993@gmail.com>
8763
8764         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8765           libs: decoder: h264: decode SVC base layer only
8766           Drops non-base NALs when the base-only property is set to TRUE.
8767           This modifies the behavior for MVC streams with base-only too: All the
8768           non-base units are dropped before they are decoded instead of dropping
8769           the non-base frames.
8770           The relevant part from the H264 spec is:
8771           > Decoders that conform to one or more of the profiles specified in
8772           Annex A rather than the profiles specified in Annexes G or H shall
8773           ignore (remove from the bitstream and discard) the contents of all NAL
8774           units with nal_unit_type equal to 14, 15, or 20.
8775           To eliminate side effects from the offending units:
8776           - PPS's with a broken seq_parameter_set_id (referring to dropped subset
8777           SPS's) are ignored.
8778           - The NAL parsing is skipped and their flags are set to
8779           GST_VAAPI_DECODER_UNIT_FLAG_SKIP.
8780           - Prefix units are not stored in prev_pi. Otherwise, parse_slice() would
8781           use them even if they are flagged to be skipped. Subset SPS's and slice
8782           extension units are not stored there either.
8783           https://bugzilla.gnome.org/show_bug.cgi?id=732266
8784           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8785
8786 2017-08-28 17:28:04 -0700  Orestis Floros <orestisf1993@gmail.com>
8787
8788         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8789           libs: decoder: h264: check nalu validity in parser info finalize
8790           https://bugzilla.gnome.org/show_bug.cgi?id=732266
8791           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8792
8793 2017-08-28 19:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8794
8795         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8796         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8797         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
8798         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8799         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8800           libs: encoder: remove unused cast macro
8801           Remove internal macro to cast structure that are already declared
8802           in the header.
8803
8804 2017-08-28 19:09:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8805
8806         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8807         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8808         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
8809         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
8810         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
8811         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8812           Revert "libs: encoders: remove unused cast macros"
8813           This reverts commit fd7d38f7d26b11e592638092b4073b5c1764f255.
8814
8815 2017-08-28 18:32:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8816
8817         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8818         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8819         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
8820         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
8821         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
8822         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8823           libs: encoders: remove unused cast macros
8824           They are only used inside the code, where another macro is defined.
8825           Thus these exported macros have no use.
8826
8827 2017-08-24 20:26:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8828
8829         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8830           libs: decoder: h264: improve code-style
8831           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8832
8833 2017-08-25 16:22:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8834
8835         * gst-libs/gst/vaapi/gstvaapicompat.h:
8836         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8837           libs: encoder: h264: handle deprecated enum
8838           In VA-API 1.0 the enum VAEncPackedHeaderH264_SEI is deprecated, and
8839           instead VAEncPackedHeaderRawData should be used.
8840           This patch creates a compatibility symbol,
8841           VA_ENC_PACKED_HEADER_H264_SEI, to expose the used enum according the
8842           VA-API version.
8843           https://bugzilla.gnome.org/show_bug.cgi?id=784398
8844
8845 2017-08-25 16:07:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8846
8847         * gst-libs/gst/vaapi/gstvaapiprofile.c:
8848         * gst-libs/gst/vaapi/gstvaapiutils.c:
8849           libs: guard deprecated symbols
8850           In VA-API 1.0 the H.264 baseline profile is deprecated. This patch
8851           guards the H.264 baseline usage. Consider this commit as a
8852           continuation of commit e0e0a474
8853           https://bugzilla.gnome.org/show_bug.cgi?id=784398
8854
8855 2017-08-17 12:54:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8856
8857         * configure.ac:
8858         * meson.build:
8859         * meson_options.txt:
8860           Revert "build: check for libva-2.0"
8861           This reverts commit 8f2eb70803099d4b533ecc10fc259041d8714210.
8862           https://bugzilla.gnome.org/show_bug.cgi?id=784398
8863
8864 2017-08-17 12:44:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8865
8866         * gst-libs/gst/vaapi/gstvaapicompat.h:
8867         * gst-libs/gst/vaapi/gstvaapicontext.c:
8868         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8869           libs: macro to get a renamed value in VA-API 1.0
8870           In VA-API 1.0 the union bits in VAEncMiscParameterBufferROI has
8871           renamed one member from roi_value_is_qp_delat to
8872           roi_value_is_qp_delta, which is the correct name.
8873           In order to keep back compatibility a macro has added to access this
8874           union member.
8875           https://bugzilla.gnome.org/show_bug.cgi?id=784398
8876
8877 2017-08-22 11:37:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8878
8879         * gst/vaapi/gstvaapipluginbase.h:
8880         * gst/vaapi/gstvaapipluginutil.c:
8881           plugins: include main gstgl header
8882           Instead including particular gstgl header files in a header file
8883           that doesn't export a gstgl symbol, the main gstgl header file is
8884           included in gstvaapipluginutil.c where the symbols are used.
8885           https://bugzilla.gnome.org/show_bug.cgi?id=786597
8886
8887 2017-08-18 18:00:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8888
8889         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8890           libs: encoder: h264: fix enum namespace
8891
8892 2017-08-17 12:26:12 +0100  Tim-Philipp Müller <tim@centricular.com>
8893
8894         * common:
8895           Automatic update of common submodule
8896           From 48a5d85 to 3f4aa96
8897
8898 2017-08-17 11:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8899
8900         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8901           libs: encoder: h264: remove spurious assignation
8902           Coverity scan bug:
8903           An assigned value that is never used may represent unnecessary
8904           computation, an incorrect algorithm, or possibly the need for cleanup
8905           or refactoring.
8906           ip_period is assigned first to be rewritter inmediatly after. The
8907           first assignation is spurious.
8908
8909 2017-08-15 17:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
8910
8911         * gst/vaapi/gstvaapidecode.c:
8912           vaapidecode: fix mismatch of the return type
8913           https://bugzilla.gnome.org/show_bug.cgi?id=786307
8914
8915 2017-08-10 13:34:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8916
8917         * gst-libs/gst/vaapi/Makefile.am:
8918         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
8919         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
8920         * gst-libs/gst/vaapi/gstvaapiutils.h:
8921         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
8922         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
8923         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
8924         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
8925         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
8926         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
8927         * gst-libs/gst/vaapi/meson.build:
8928           libs: remove unused header
8929           Since libgstvaapi is not distributed, there is no need to check for
8930           private header inclusion. Thus removing it.
8931           https://bugzilla.gnome.org/show_bug.cgi?id=786119
8932
8933 2017-08-10 13:27:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8934
8935         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
8936         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
8937         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
8938         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
8939         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
8940         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
8941           libs: utils: move gstvaapisurface.h to private headers
8942           Since the utils don't expose API defined in gstvaapisource.h, it is
8943           moved to their private headers where they are used.
8944           https://bugzilla.gnome.org/show_bug.cgi?id=786119
8945
8946 2017-08-10 13:26:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8947
8948         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
8949         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
8950         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
8951         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
8952         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
8953         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
8954           libs: utils: remove va.h include in header
8955           And include gstvaapicompat.h in the C files, since the VA-API is not
8956           exposed in the headers.
8957           https://bugzilla.gnome.org/show_bug.cgi?id=786119
8958
8959 2017-08-10 13:24:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8960
8961         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8962         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8963         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
8964         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8965         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8966         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8967           libs: encoder: remove va.h include
8968           Since it is already managed by gstvaapicompat.h
8969           https://bugzilla.gnome.org/show_bug.cgi?id=786119
8970
8971 2017-08-10 13:11:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8972
8973         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
8974         * gst-libs/gst/vaapi/gstvaapicompat.h:
8975         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
8976         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
8977         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8978         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8979         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8980         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
8981         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8982         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8983         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8984         * gst-libs/gst/vaapi/gstvaapifilter.c:
8985         * gst-libs/gst/vaapi/gstvaapiutils.c:
8986         * meson.build:
8987           build: consolidate the VA sub API includes
8988           Include all VA sub APIs headers in a single point (gstvaapicompat.h),
8989           since they are all already included in va.h after VA-API 0.38.
8990           https://bugzilla.gnome.org/show_bug.cgi?id=786119
8991
8992 2017-08-10 13:09:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8993
8994         * configure.ac:
8995         * meson.build:
8996           build: check for va_vpp.h
8997           Thus, in config.h the macro HAVE_VA_VA_VPP_H is defined. This will
8998           allow us to handle the inclusion of the header better.
8999           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9000
9001 2017-08-11 20:22:41 +0100  Tim-Philipp Müller <tim@centricular.com>
9002
9003         * meson.build:
9004           meson: don't export symbols by default
9005           Only plugin entry points should be exported.
9006
9007 2017-08-09 19:06:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9008
9009         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9010           libs: decoder: h265: remove spurious code
9011           Coverity scan:
9012           Logically dead code: The indicated dead code may have performed some
9013           action; that action will never occur.
9014           By using pointer arithmetic is impossible to get NULL.
9015
9016 2017-08-08 18:52:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9017
9018         * gst-libs/gst/vaapi/gstvaapicontext.c:
9019           libs: context: use attribs index instead pointers
9020           Coverity scan bug:
9021           Out-of-bounds write. This could cause an immediate crash or incorrect
9022           computations.
9023           Coverity basically found that it is possible to assign more than 4
9024           attribs in the array.
9025           In my opinion this was produced because code pattern used pointer
9026           arithmetic, which is not readable nor maintainable.
9027           This patch refactors config_create() to use an array index rather than
9028           pointer arithmetic. Also a run-time check for index size was added.
9029
9030 2017-08-08 17:38:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9031
9032         * gst/vaapi/gstvaapiencode_h264.c:
9033           vaapiencode: h264: remove spurious code
9034           Coverity scan bug:
9035           An unsigned value can never be negative, so this test will always
9036           evaluate the same way.
9037           As len is guint32, there is no need to check it if it is equal or
9038           bigger than zero.
9039
9040 2017-08-08 17:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9041
9042         * gst/vaapi/gstvaapidecode.c:
9043           vaapidecode: initialize variable
9044           Coverity scan bug:
9045           The variable will contain an arbitrary value left from earlier
9046           computations.
9047           Variable base_only is fetched from base-only property, and it may be
9048           not assigned. It needs to be initialized.
9049
9050 2017-08-08 17:29:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9051
9052         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9053           libs: windows: wayland: fail if cannot remove last frame
9054           Converity scan bug:
9055           If the function returns an error value, the error value may be
9056           mistaken for a normal value.
9057           If g_atomic_pointer_compare_and_exchange() fails because the frame is
9058           not the last one, the function fails. Thus, logging an info message.
9059
9060 2017-08-08 17:21:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9061
9062         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
9063           libs: utils: glx: check return value
9064           Coverity scan bug:
9065           If the function returns an error value, the error value may be
9066           mistaken for a normal value.
9067           Function sscanf returns the number of assignations done. Validate this
9068           return value with the number of expected variables to match.
9069
9070 2017-08-08 17:12:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9071
9072         * gst-libs/gst/vaapi/gstvaapiobject.c:
9073           libs: vaapi: object: remove unrequired NULL check
9074           Coverity scan bug:
9075           Dereference after null check: Either the check against null is
9076           unnecessary, or there may be a null pointer dereference.
9077           Variable klass has been validated as non-NULL several time before in
9078           gst_vaapi_object_new() function, so there is no need to check it
9079           again.
9080
9081 2017-08-08 17:06:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9082
9083         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9084           libs: encoder: h265: remove spurious assignation
9085           Coverity scan bug:
9086           An assigned value that is never used may represent unnecessary
9087           computation, an incorrect algorithm, or possibly the need for cleanup
9088           or refactoring.
9089           ip_period is assigned first to be rewritter inmediatly after. The
9090           first assignation is spurious.
9091
9092 2017-08-08 16:50:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9093
9094         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9095           libs: encoder: h264: fix copy & paste error
9096           Coverity scan bug:
9097           The copied code will not have its intended effect.
9098           This is a bug from commit cdaf15b2, where the intention is to
9099           initialize RefPicList1 while setting RefPicList0.
9100
9101 2017-08-08 16:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9102
9103         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9104         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9105           libs: encoder: h265: fix possible integer overflow
9106           Coverity scan bug:
9107           Unintentional integer overflow. The expression's value may not be what
9108           the programmer intended, because the expression is evaluated using a
9109           narrow (i.e. few bits) integer type.
9110           Cast operator to guint64 before computation to avoid narrowing.
9111           merge with 3c5a6add
9112
9113 2017-08-08 16:12:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9114
9115         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
9116           libs: decoder: mpeg4: fail if return value is not OK
9117           Coverity scan bug:
9118           An assigned value that is never used may represent unnecessary
9119           computation, an incorrect algorithm, or possibly the need for cleanup
9120           or refactoring.
9121           In the return value of decode_slice() or
9122           gst_mpeg4_parse_video_packet_header() are not success, thus fail
9123           decode_packet() function.
9124
9125 2017-08-08 15:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9126
9127         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9128           libs: decoder: h265: check for null
9129           Coverity scan bug:
9130           Dereference after null check: Either the check against null is
9131           unnecessary, or there may be a null pointer dereference.
9132           While looking for hte lowest poc, according to rest of the code, the
9133           picture in the dbp (decoded picture buffer) might be NULL, thus we
9134           could check for a NULL picture before assigned as found.
9135           Also, split a comma operator because it is considered as a bad
9136           practice because it possible side effects.
9137
9138 2017-08-08 15:38:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9139
9140         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9141           libs: decoder: h265: untaint loop control variable
9142           Coverity scan bug:
9143           Scalars (for example, integers) are not properly
9144           bounds-checked (sanitized) before being used as array or pointer
9145           indexes, loop boundaries, or function arguments are considered as
9146           tainted.
9147           In this case, num_nals were not checked before used as loop control.
9148
9149 2017-08-08 13:46:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9150
9151         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9152           libs: decoder: h264: remove unrequired NULL check
9153           Coverity scan bug:
9154           Dereference after null check: Either the check against null is
9155           unnecessary, or there may be a null pointer dereference.
9156           In the original commit for fill_picture_gaps() (commit 5abd2b90) the
9157           prev_picture could be NULL, that's why the code did a null check. But,
9158           since commit 52adebe7, the previous reference frames are tracked, thus
9159           there is no need to check null anymore.
9160
9161 2017-08-03 23:17:44 +0300  orestisf <orestisf1993@gmail.com>
9162
9163         * gst/vaapi/gstvaapidecode.c:
9164           vaapidecode: fix gst_caps_new_simple call
9165           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9166
9167 2017-07-25 22:25:10 +0300  orestisf <orestisf1993@gmail.com>
9168
9169         * gst/vaapi/gstvaapidecode.c:
9170           vaapidecode: force add h264 MVC profiles in caps
9171           When vaapih264dec's base-only profile is set to TRUE, fake MVC profile
9172           support in caps.
9173           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9174
9175 2017-07-25 22:54:30 +0300  orestisf <orestisf1993@gmail.com>
9176
9177         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9178           libs: decoder: h264: decode MVC base view only
9179           If processed SPS has mvc profile and the configuration is set to
9180           base-only, the frame is drop.
9181           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9182
9183 2017-07-25 22:06:56 +0300  orestisf <orestisf1993@gmail.com>
9184
9185         * gst/vaapi/gstvaapidecode.c:
9186         * gst/vaapi/gstvaapidecode_props.c:
9187           vaapidecode: set h264 base-only to decoder
9188           Set the base-only value when property is set and the internal
9189           decoder is already instantiated or when the internal decoder
9190           is created.
9191           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9192
9193 2017-07-25 22:03:34 +0300  orestisf <orestisf1993@gmail.com>
9194
9195         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9196         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
9197           libs: decoder: h264: add setter for base-only mode
9198           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9199
9200 2017-07-25 22:01:37 +0300  orestisf <orestisf1993@gmail.com>
9201
9202         * gst/vaapi/gstvaapidecode_props.c:
9203         * gst/vaapi/gstvaapidecode_props.h:
9204           vaapidecode_props: h264: add base-only property
9205           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9206
9207 2017-08-01 11:11:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9208
9209         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9210           libs: encoder: h264: missing property enum documentation
9211
9212 2017-08-02 14:54:53 +0900  Hyunjun Ko <zzoon@igalia.com>
9213
9214         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9215           libs: encoder: h264: add multi reference support
9216           Using num_ref_frames provided and the result of the Query
9217           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
9218           and perform encoding with multi reference frames as the following:
9219           1\ The num_ref_frames is being considered as the number of
9220           reference picture list0
9221           2\ Encoder adds 1 reference frame more to the reference picture list1
9222           internally if b-frame encoding.
9223           3\ If num_ref_frames is bigger than the number of refrence frames
9224           supported in the driver, it will be lowered.
9225           https://bugzilla.gnome.org/show_bug.cgi?id=783803
9226
9227 2017-08-02 14:53:34 +0900  Hyunjun Ko <zzoon@igalia.com>
9228
9229         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9230         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9231           libs: encoder: h264: add refs property
9232           Users can provide the number of reference frame by this property.
9233           The value of the property will be considered as the number of
9234           reference picture list0 and will add 1 reference frame more to the
9235           reference picture list1 internally if b-frame encoding.
9236           If the value provided is bigger than the number of refrence frames
9237           supported in the driver, it will be lowered.
9238           https://bugzilla.gnome.org/show_bug.cgi?id=783803
9239
9240 2017-07-28 15:27:20 +0900  Hyunjun Ko <zzoon@igalia.com>
9241
9242         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9243         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
9244           libs: encoder: implements gst_vaapi_encoder_ensure_max_num_ref_frames
9245           This function will query VAConfigAttribEncMaxRefFrames to get the
9246           maximum number of reference frames supported in the driver.
9247           This will be used for h264/h265 encoding.
9248           https://bugzilla.gnome.org/show_bug.cgi?id=783803
9249
9250 2017-08-01 18:38:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9251
9252         * gst/vaapi/gstvaapiencode_h265.c:
9253           vaapiencode: h265: compare an unsigned int if not zero
9254           An unsigned value can never be negative, so this test (greater than
9255           zero) will always evaluate the same way. Thus change it to just if
9256           it's not zero.
9257
9258 2017-08-01 18:10:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9259
9260         * gst/vaapi/gstvaapipluginbase.c:
9261           plugins: check gst_gl_ensure_element_data() return value
9262           Refactor gst_vaapi_plugin_base_create_gl_context() in order to check
9263           the return value of gst_gl_ensure_element_data(). The result is a code
9264           bit cleaner.
9265
9266 2017-08-01 17:59:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9267
9268         * gst/vaapi/gstvaapipluginutil.c:
9269           plugins: avoid dead code detection
9270           By using #elif macro, the static code analysis would stop to detect
9271           these lines as dead code. Also it is inforced the mutually exclusive
9272           environments.
9273
9274 2017-08-01 17:39:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9275
9276         * gst/vaapi/gstvaapivideobufferpool.c:
9277           vaapivideobufferpool: don't shift by negative since it's undefined
9278           The function g_bit_nth_lsf() may return -1 if the request bit position
9279           is not avaible. Thus, this patch check if the return value is not -1
9280           in order to continue.
9281
9282 2017-08-01 17:29:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9283
9284         * gst/vaapi/gstvaapisink.c:
9285           vaapisink: fix memory leak
9286
9287 2017-08-01 17:23:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9288
9289         * gst/vaapi/gstvaapipostprocutil.c:
9290           vaapipostproc: fix memory leaks
9291
9292 2017-07-27 10:54:00 +0000  Tomas Rataj <rataj28@gmail.com>
9293
9294         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9295           libs: display: when appending formats change pointers to indexes
9296           Thus, it fixes an invalid read when YV12 or I420 are not supported by
9297           the driver.
9298           https://bugzilla.gnome.org/show_bug.cgi?id=785085
9299
9300 2017-07-19 12:02:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9301
9302         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9303         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9304           libs: encoder: h264: Add uncompliant mode reducing coded buffer size
9305           Added a new property "compliance-mode", which default is the normal
9306           strict compliant mode.
9307           The second mode, "restrict-buf-alloc", is to limit the coded buffer
9308           allocation size to improve performance in some specific Intel
9309           platforms (there is asignificant performance improvement in parallel
9310           encodings). Under this new mode, we use the MinCR field in A.3.1 for
9311           pre-calculating the coded-buffer size.
9312           https://bugzilla.gnome.org/show_bug.cgi?id=784590
9313
9314 2017-07-05 17:13:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9315
9316         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
9317         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
9318           libs: utils_h264: Extend LevelLimit table with MinCR field
9319           Add MinCR(Minimum Compression Ratio) field to GstVaapiH264LevelLimits
9320           based on Annex A.3
9321           https://bugzilla.gnome.org/show_bug.cgi?id=784590
9322
9323 2017-07-11 17:29:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9324
9325         * gst-libs/gst/vaapi/gstvaapiutils.c:
9326           libs: utils: libva 1.0 changed the logging
9327           The logging mechanism in libva has changed it's functions
9328           signatures. This patch updates that for libva versions >= 1.0
9329           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9330
9331 2017-07-11 17:27:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9332
9333         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9334           libs: decoder: h264: libva 1.0 deprecated baseline
9335           libva 1.0 deprecated H.264 baseline profile and FMO support
9336           (commit b4f332b3).
9337           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9338
9339 2017-07-26 20:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9340
9341         * configure.ac:
9342         * meson.build:
9343         * meson_options.txt:
9344           build: check for libva-2.0
9345           Check for libva-2.0 since libva's developers decided to increase the
9346           library's version number.
9347           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9348
9349 2017-07-11 16:55:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9350
9351         * configure.ac:
9352         * meson.build:
9353           build: blacklist only libva 0.99.0
9354           Intel's MSDK uses libva 0.99.0, meanwhile open source libva bumped
9355           its API version to 1.0.0. Thus we have to blacklist only the MSDK's
9356           libva (0.99.0)
9357           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9358
9359 2017-07-26 20:30:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9360
9361         * gst-libs/gst/vaapi/meson.build:
9362           build: meson: remove gstvaapidisplaycache.c
9363           This is a missing bit of commit ec3e10f6
9364
9365 2017-07-26 09:53:10 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
9366
9367         * configure.ac:
9368           configure: do not break configure if gtk+-3.0 devel missing
9369           Fix PKG_CHECK_MODULES rule for with_gtk=check condition to
9370           set USE_GTK=0 if gtk+-3.0 is not available.
9371           Since commit 85856c29a70d6de4aea5b708e04e9eb418190623
9372           Author: Hyunjun Ko <zzoon@igalia.com>
9373           Date:   Wed Jul 5 15:59:43 2017 +0900
9374           tests: elements: add testsuite of vaapi context
9375           ...configure fails if gtk+-3.0 development files are missing.
9376           The "with_gtk" option defaults to "check" in configure.ac
9377           which implies that if it is not explicitly requested then
9378           configure will only enable it if it's available on the system.
9379           However, the PKG_CHECK_MODULES rule that get's activated on
9380           "check" condition did not provide default when gtk+-3.0 devel
9381           packages are not found on the system.  Thus, it resulted in
9382           configure failure.
9383           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
9384           https://bugzilla.gnome.org/show_bug.cgi?id=785452
9385
9386 2017-07-05 15:59:43 +0900  Hyunjun Ko <zzoon@igalia.com>
9387
9388         * configure.ac:
9389         * tests/elements/Makefile.am:
9390         * tests/elements/test-vaapicontext.c:
9391           tests: elements: add testsuite of vaapi context
9392           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9393           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9394
9395 2017-07-05 15:32:43 +0900  Hyunjun Ko <zzoon@igalia.com>
9396
9397         * gst/vaapi/gstvaapisink.c:
9398           vaapisink: fail if surface display is different
9399           Replacing GstVaapiDisplay during rendering might be hiding problems
9400           at some cases, even though it's safe currently since we use cache
9401           of GstVaapidisplay.
9402           Play safe by failing if this happens.
9403           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9404
9405 2017-07-05 15:31:55 +0900  Hyunjun Ko <zzoon@igalia.com>
9406
9407         * gst/vaapi/gstvaapivideocontext.c:
9408         * gst/vaapi/gstvaapivideocontext.h:
9409           videocontext: support "gst.vaapi.app.Display" context
9410           Through "gst.vaapi.app.Display" context, users can set their own VADisplay
9411           and native display of their backend.
9412           Attributes:
9413           - display : pointer of VADisplay
9414           - x11-display : pointer of X11 display (Display *), if they're using.
9415           This patch creates GstVaapidisplayX11 if information provided through
9416           "gst.vaapi.app.Display"
9417           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9418
9419 2017-07-05 14:33:38 +0900  Hyunjun Ko <zzoon@igalia.com>
9420
9421         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
9422         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
9423           libs: display: x11: add gst_vaapi_display_x11_new_with_va_display()
9424           Implements new API function so that users could create GstVaapiDisplay
9425           with their own VADisplay within a native display as backend.
9426           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9427
9428 2017-07-05 14:32:35 +0900  Hyunjun Ko <zzoon@igalia.com>
9429
9430         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9431           libs: display: pass display info when foreign display
9432           When creating a GstVaapiDisplay using a foreign VADisplay, and render
9433           with that display, it also requires native display of the backend.
9434           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9435
9436 2017-06-26 21:18:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9437
9438         * gst-libs/gst/vaapi/Makefile.am:
9439         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9440         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
9441         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
9442         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
9443         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
9444         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
9445         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
9446           libs: display: remove cache
9447           Remove a bunch of code that handles the VADisplay cache, since the
9448           context sharing should be doing this correctly.
9449           https://bugzilla.gnome.org/show_bug.cgi?id=747946
9450
9451 2017-07-13 10:56:18 +0900  Hyunjun Ko <zzoon@igalia.com>
9452
9453         * tests/elements/Makefile.am:
9454         * tests/elements/test-vaapipostproc.c:
9455           tests: elements: add test for vaapipostproc
9456           https://bugzilla.gnome.org/show_bug.cgi?id=754885
9457
9458 2017-07-12 18:25:15 +0900  Hyunjun Ko <zzoon@igalia.com>
9459
9460         * gst/vaapi/gstvaapipostproc.c:
9461           postproc: reconfigure when width or height changes
9462           https://bugzilla.gnome.org/show_bug.cgi?id=754885
9463
9464 2017-07-17 18:53:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9465
9466         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9467           libs: encoder: vp9: array terminated in zeros
9468           There is a crash when setting ref-pic-mode since the #GEnumValue
9469           array is not terminated with a structured with all memvers being
9470           zero.
9471           https://bugzilla.gnome.org/show_bug.cgi?id=785032
9472
9473 2017-07-13 16:43:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9474
9475         * gst/vaapi/gstvaapiencode_h264.c:
9476           vaapiencode: h264: add plugin documentation
9477           Comment how the profile is set and other parameters.
9478
9479 2017-05-26 15:19:00 +0000  Matt Staples <staples255@gmail.com>
9480
9481         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9482           libs: decoder: h264: push frames as soon as possible
9483           Push frames downstream as soon as possible instead of waiting until
9484           they are ejected from the DPB.
9485           This patch makes the decoder not comply with the H.264 specification,
9486           but it is required for some video cameras.
9487           https://bugzilla.gnome.org/show_bug.cgi?id=762509
9488           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9489
9490 2017-07-10 19:27:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9491
9492         * gst/vaapi/gstvaapidecode_props.c:
9493           vaapidecode_props: h264: set low-latency in decoder
9494           Set the low-latency property if the H264 decoder is already
9495           instantiated, thus you could change the behavior in run-time.
9496           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9497
9498 2017-07-06 20:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9499
9500         * gst/vaapi/gstvaapidecode.c:
9501           vaapidecode: set h264 low latency to decoder
9502           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9503
9504 2017-06-14 18:30:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9505
9506         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9507         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
9508           libs: decoder: h264: add getter/setter for low latency mode
9509           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9510
9511 2017-06-14 18:31:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9512
9513         * gst/vaapi/gstvaapidecode_props.c:
9514         * gst/vaapi/gstvaapidecode_props.h:
9515           vaapidecode_props: h264: add low latency property
9516           Adding support for private data.
9517           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9518
9519 2017-06-14 18:23:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9520
9521         * gst/vaapi/Makefile.am:
9522         * gst/vaapi/gstvaapidecode.c:
9523         * gst/vaapi/gstvaapidecode_props.c:
9524         * gst/vaapi/gstvaapidecode_props.h:
9525         * gst/vaapi/meson.build:
9526           vaapidecode_props: add skeleton for h264 decoder properties
9527           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9528
9529 2017-06-14 17:07:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9530
9531         * gst/vaapi/gstvaapidecode.c:
9532           vaapidecode: properties callback in decoders map
9533           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9534
9535 2017-07-07 12:01:59 +0100  Tim-Philipp Müller <tim@centricular.com>
9536
9537         * meson.build:
9538           meson: find python3 via python3 module
9539           https://bugzilla.gnome.org/show_bug.cgi?id=783198
9540
9541 2017-06-09 14:47:40 +0900  Hyunjun Ko <zzoon@igalia.com>
9542
9543         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9544           libs: encoder: h264: submit sps in case of IDR picture
9545           If the picture is IDR, also submit a SPS header.
9546           This means when frame number reaches to keyframe-period or an force
9547           key unit event arrives, we insert SPS/PPS again.
9548           https://bugzilla.gnome.org/show_bug.cgi?id=776712
9549
9550 2017-06-09 14:47:16 +0900  Hyunjun Ko <zzoon@igalia.com>
9551
9552         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9553           libs: encoder: h264: set the frame as IDR if forced key unit
9554           GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME() is a flag usually used to manage
9555           the `frame-lost` event in the case of streaming, such as RTP.
9556           In case of this event, it is needed to start new GOP rather than just
9557           produce an I-frame.
9558           https://bugzilla.gnome.org/show_bug.cgi?id=776712
9559
9560 2017-04-05 14:48:46 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9561
9562         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9563         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9564           libs: encoder: h264: insert AU delimiter
9565           Insert an AUD as the first NAL of each encoded frame.
9566           Some applications require Access Unit Delimiter for decoding the
9567           stream.
9568           The AU delimeter insertion is done only when the aud parameter is
9569           TRUE (by default is disabled). The reason of this it is because this
9570           header is only available from Intel Gen9 and the VA intel driver
9571           should be 1.8 or superior. Otherwise, the output will be corrupted.
9572           https://bugzilla.gnome.org/show_bug.cgi?id=776712
9573           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
9574
9575 2017-06-29 12:50:26 +0900  Hyunjun Ko <zzoon@igalia.com>
9576
9577         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9578           libs: encoder: h264: initialize all elements of view_ids
9579           Currently when num_views is changed by multiview-mode on sink caps, it produces
9580           wrong MVC encoded stream since the array view_ids is not set properly according
9581           to changed num_views.
9582           So this patch initializes all of the array sequentially to handle this case.
9583           Side effect is not going to happen by this patch since this array is being
9584           handled by num_views.
9585           https://bugzilla.gnome.org/show_bug.cgi?id=784321
9586
9587 2017-06-27 14:30:54 +0900  Hyunjun Ko <zzoon@igalia.com>
9588
9589         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9590           Revert "encoder: h264: Use high profile by default"
9591           This reverts commit 4aec5bdd7207fc0e45813ef14c9c0ad5174a8f75.
9592           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9593
9594 2017-06-27 16:03:37 +0900  Hyunjun Ko <zzoon@igalia.com>
9595
9596         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9597           libs: encoder: h264: set profile via capsfilter
9598           Until now, the encoder ignored the profile in src caps and chose one
9599           according with the given parameters. But the encoder must honor the
9600           profile specifed in src caps.
9601           This patch do that, and if the encoder needs to choose the profile,
9602           it will do it by following these rules:
9603           1\ If given parameters are not compatible with given profile, the
9604           encoder will bail out with an error.
9605           2\ The encoder will choose the higher profile indicated in the
9606           src caps.
9607           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9608
9609 2017-06-27 13:14:31 +0900  Hyunjun Ko <zzoon@igalia.com>
9610
9611         * gst/vaapi/gstvaapiencode_h264.c:
9612           vaapiencode: h264: set profile to src caps
9613           So far vaapi encoder does not set profile to src caps. This patch makes it
9614           setting profile to src caps, which is determined by itself.
9615           In addition, if encoder chose different profile, which is not negotiated with
9616           downstream, we should set compatible profile to make negotiation working.
9617           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9618
9619 2017-06-22 09:56:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9620
9621         * gst/vaapi/gstvaapiencode_h264.c:
9622         * gst/vaapi/gstvaapiencode_h264.h:
9623           vaapiencode: h264: verify if requested profile is supported
9624           Check if the requested profile in source caps, is supported by the
9625           VA driver. If it is not, an info log message is send saying that
9626           another (compatible?) profile will be used.
9627           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9628
9629 2017-06-21 21:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9630
9631         * gst/vaapi/gstvaapiencode_h264.c:
9632           vaapiencode: h264: improve set_config() vmethod
9633           First check if downstream requests ANY caps. If so, byte-stream is
9634           used and the profile will be choose by the encoder. If dowstream
9635           requests EMPTY caps, the negotiation will fail.
9636           Lately, byte-stream and profile are looked in the allowed caps.
9637           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9638
9639 2017-06-21 19:30:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9640
9641         * gst/vaapi/gstvaapiencode_h264.c:
9642           vaapiencode: h264: check for avc in set_config()
9643           The check for avc stream format was done in the vaapi encoder's
9644           vmethod get_caps(), but that is wrong since it has to be check
9645           when encoder set_format().
9646           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9647
9648 2017-06-29 12:49:24 +0900  Hyunjun Ko <zzoon@igalia.com>
9649
9650         * gst/vaapi/gstvaapipostprocutil.c:
9651           vaapipostproc: set multivew-mode flags to src caps
9652           vaapipostproc didn't negotiate the proper multiview caps losing
9653           downstream information.
9654           This patch enables the playing of MVC encoded stream by setting
9655           the proper multiview mode/flags and views to src caps, according
9656           to sink caps.
9657           https://bugzilla.gnome.org/show_bug.cgi?id=784320
9658
9659 2016-11-22 15:52:47 +0000  Julien Isorce <j.isorce@samsung.com>
9660
9661         * gst/vaapi/gstvaapipostproc.c:
9662           vaapipostproc: add support for DMABuf caps feature
9663           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9664           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
9665
9666 2017-06-01 19:42:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9667
9668         * gst/vaapi/gstvaapidecode.c:
9669           vaapidecode: add support for DMABuf caps feature
9670           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9671           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
9672
9673 2017-06-23 12:12:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9674
9675         * gst/vaapi/gstvaapipluginbase.c:
9676           vaapipluginbase: force dmabuf allocator if DMABuf caps feature
9677           Instantiate all dmabuf allocator for src pad buffer pool if the
9678           src caps ask for memory:DMABuf feature.
9679           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9680
9681 2016-11-22 23:26:05 +0000  Julien Isorce <j.isorce@samsung.com>
9682
9683         * gst/vaapi/gstvaapipluginutil.c:
9684         * gst/vaapi/gstvaapipluginutil.h:
9685           vaapipluginutil: add support for DMABuf caps feature
9686           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9687           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
9688           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
9689           vaapipluginutil: add support for DMABuf caps feature
9690
9691 2017-06-01 19:13:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9692
9693         * gst/vaapi/gstvaapipluginbase.c:
9694           vaapipluginbase: dmabuf memory map trial for raw caps
9695           Only push dmabuf-based buffers with raw caps if gst_memory_map()
9696           succeeds. Otherwise, use the the vaapi surfaces allocator.
9697           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9698           https://bugzilla.gnome.org/show_bug.cgi?id=774649
9699           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
9700
9701 2016-06-08 19:11:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9702
9703         * gst/vaapi/gstvaapivideomemory.c:
9704         * gst/vaapi/gstvaapivideomemory.h:
9705           vaapivideomemory: add gst_vaapi_dmabuf_can_map()
9706           This new method checks the specified allocator can create GstMemory that can
9707           be mapped.
9708           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9709
9710 2017-06-23 17:33:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9711
9712         * gst/vaapi/gstvaapivideobufferpool.c:
9713           vaapivideobufferpool: fix regression with video metas
9714           There is another regression with 7a206923 when setting the video
9715           info for the video meta, it should be the one from the image's
9716           allocator rather from the allocation caps.
9717           Test pipeline:
9718           gst-launch-1.0 filesrc location=bug766184.flv ! decodebin \
9719           ! tee ! videoconvert ! videoscale                     \
9720           ! video/x-raw, width=1920, height=1080 ! xvimagesink
9721
9722 2017-06-23 14:38:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9723
9724         * gst/vaapi/gstvaapipluginbase.c:
9725         * gst/vaapi/gstvaapivideobufferpool.c:
9726           plugins: update buffer size with the one reported by allocator
9727           There is a regression in 7a206923, since the buffer pool ditches all
9728           the buffers generated by them because the pool config size is
9729           different of the buffer's size.
9730           Test pipeline:
9731           gst-launch-1.0 filesrc location=big_buck_bunny_1080p_h264.mov \
9732           ! qtdemux ! vaapih264dec ! vaapipostproc ! xvimagesink    \
9733           --gst-debug=GST_PERFORMANCE:5
9734           The allocator may update the buffer size according to the VA surface
9735           properties. In order to do this, the video info is modified when the
9736           allocator is created, which reports through the allocation info the
9737           updated size, and set it to the pool config.
9738
9739 2017-06-14 21:40:33 +0900  Hyunjun Ko <zzoon@igalia.com>
9740
9741         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9742           libs: decoder: h264: initialize active_sps/pps in reset
9743           Since commits in https://bugzilla.gnome.org/show_bug.cgi?id=781142 landed,
9744           they introduced regression in seek.
9745           Formerly, once seek is done, decoder drops P-frames until I-frame arrives.
9746           But since the commits landed, it doesn't drop P-frame and does try to
9747           decode it continuously because active_sps is still alive. See ensure_sps function.
9748           But there are prev_frames and prev_ref_frames reset already, then it
9749           causes assertion.
9750           So it's necessary to reset active_sps/pps also in reset method.
9751           https://bugzilla.gnome.org/show_bug.cgi?id=783726
9752
9753 2017-06-15 13:24:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9754
9755         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9756         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9757           libs: encoder: fix compilation with old versions of libva
9758           There are some symbols that are not used when compiling with old
9759           version of libva and those generates a compilation error.
9760           Original-patch-by: Matt Staples <staples255@gmail.com>
9761
9762 2017-06-09 14:02:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9763
9764         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9765           libs: encoder: Fix the quality level clamping
9766           Change the hard-coded range of quality-level from {1-8} to {1-7},
9767           since it is the range Intel Open source driver supports.
9768           Also perform the range clamping only if the user provided
9769           quality-level is greater than the max-range suppored by the driver,
9770           because there could be non-intel drivers giving lower value than
9771           the hard-coded max value 7.
9772           https://bugzilla.gnome.org/show_bug.cgi?id=783567
9773
9774 2017-04-06 19:35:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9775
9776         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9777         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9778         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9779         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9780         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9781         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9782           libs: encoder: log out the name of the profile
9783           Instead of printing a number, it is more readable to log out, in
9784           case of error, the name of the failing profile.
9785
9786 2017-05-31 12:36:17 +0900  Hyunjun Ko <zzoon@igalia.com>
9787
9788         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9789           libs: encoder: h264: changes raw number of profile to macro name of its
9790           Changes raw number of profile to macro name of its to improve readability.
9791           https://bugzilla.gnome.org/show_bug.cgi?id=757941
9792
9793 2017-06-09 17:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9794
9795         * gst/vaapi/gstvaapivideobufferpool.c:
9796           vaapivideobufferpool: remove allocation_vinfo private attribute
9797           There is no need to keep this attribute internally since it is
9798           already managed by the allocator.
9799           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9800
9801 2017-06-09 15:02:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9802
9803         * gst/vaapi/gstvaapivideobufferpool.c:
9804           vaapivideobufferpool: refactor set_config()
9805           Refactor the set_config() virtual method considering a cleaner
9806           approach to allocator instanciation, if it it not set or if it is
9807           not valid for the pool.
9808           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9809
9810 2017-06-09 13:05:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9811
9812         * gst/vaapi/gstvaapipluginbase.c:
9813         * gst/vaapi/gstvaapivideobufferpool.c:
9814         * gst/vaapi/gstvaapivideomemory.c:
9815         * gst/vaapi/gstvaapivideomemory.h:
9816           plugins: distinguish allocation and negotiation caps
9817           The vaapi video decoders might have different allocation caps from
9818           the negotiation caps, thus the GstVideoMeta shall use the negotiation
9819           caps, not the allocation caps.
9820           This was done before reusing gst_allocator_get_vaapi_video_info(),
9821           storing there the negotiation caps if they differ from the allocation
9822           ones, but this strategy felt short when the allocator had to be reset
9823           in the vaapi buffer pool, since we need both.
9824           This patch adds gst_allocator_set_vaapi_negotiated_video_info() and
9825           gst_allocator_get_vaapi_negotiated_video_info() to store the
9826           negotiated video info in the allocator, and distinguish it from
9827           the allocation video info.
9828           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9829
9830 2017-06-08 19:32:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9831
9832         * gst/vaapi/gstvaapivideomemory.c:
9833         * gst/vaapi/gstvaapivideomemory.h:
9834           vaapivideomemory: rename qdata quarks and ids
9835           Also the parameter names were renamed to reflect their origin
9836           and purpose.
9837           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9838
9839 2017-06-08 16:05:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9840
9841         * gst/vaapi/gstvaapivideobufferpool.c:
9842           vaapivideobufferpool: rename local variables
9843           Renamed local video info structure names in set_config() vitual
9844           method. The purpose of their renaming is to clarify the origin
9845           of those structures, whether come from passed caps parameter
9846           (new_allocation_vinfo) or from the configured allocator
9847           (allocator_vinfo).
9848           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9849
9850 2017-06-08 15:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9851
9852         * gst/vaapi/gstvaapivideobufferpool.c:
9853           vaapivideobufferpool: rename video info structures
9854           Renamed private GstVideoInfo structure video_info to allocation_vinfo
9855           and alloc_info to negotiated_vinfo.
9856           The purpose of these renaming is to clarify the origin and purpose of
9857           these private variables:
9858           video_info (now allocation_vinfo) comes from the bufferpool
9859           configuration. It describes the physical video resolution to be
9860           allocated by the allocator, which may be different from the
9861           negotiated one.
9862           alloc_info (now vmeta_vinfo) comes from the negotiated caps in
9863           the pipeline. It represents how the frame is going to be mapped
9864           using the video meta.
9865           In Intel's VA-API backend, the allocation_vinfo resolution is
9866           bigger than the negotiated_info.
9867           https://bugzilla.gnome.org/show_bug.cgi?id=783599
9868
9869 2017-06-08 12:51:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9870
9871         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9872           libs: encoder: set framerate if bigger than 0/1
9873           Just set the framerate parameter if the framerate numerator and
9874           denominator are bigger than zero.
9875           Otherwise, in Intel Gen6 driver, a warning is raised disabling the
9876           bitrate control.
9877           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
9878           https://bugzilla.gnome.org/show_bug.cgi?id=783532
9879
9880 2017-06-07 12:32:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9881
9882         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9883           libs: encoder: bitrate target percentage calculation
9884           If the rate control is set to Constant Bit Rate (CBR) the target
9885           percentage is 100%, otherwise is 70%
9886
9887 2017-06-07 12:25:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9888
9889         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9890         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9891         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9892         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9893         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9894         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9895           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor ratecontrol param
9896           Centralize the common configuration for the Rate Control parameter,
9897           thus can be overloaded per each specific encoder.
9898
9899 2017-06-07 11:10:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9900
9901         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9902         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9903         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9904         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9905         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9906         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9907           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor framerate param
9908           Since the framerate VA parameter is calculated equally among all the
9909           encoders, it is better to handle it in the base encoder class.
9910
9911 2016-08-09 15:53:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9912
9913         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9914         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
9915           libs: encoder: vp9: Adds CBR and VBR Encoding support
9916           https://bugzilla.gnome.org/show_bug.cgi?id=766832
9917           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
9918           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9919
9920 2017-06-01 12:12:26 +0900  Hyunjun Ko <zzoon@igalia.com>
9921
9922         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9923           libs: encoder: vp8: Adds VBR Encoding support
9924           https://bugzilla.gnome.org/show_bug.cgi?id=778732
9925
9926 2017-06-01 12:11:12 +0900  Hyunjun Ko <zzoon@igalia.com>
9927
9928         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9929           libs: encoder: h265: Adds VBR Encoding support
9930           Enables Variable BitRate mode, which does set FrameRate and RateControl
9931           parameters.
9932           https://bugzilla.gnome.org/show_bug.cgi?id=778732
9933
9934 2017-06-02 13:50:05 +0900  Hyunjun Ko <zzoon@igalia.com>
9935
9936         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9937           libs: encoder: Describes more detail about the bitrate property
9938           https://bugzilla.gnome.org/show_bug.cgi?id=778732
9939
9940 2017-06-05 20:44:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9941
9942         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9943           libs: encoder: h265: add rate control parameter
9944           https://bugzilla.gnome.org/show_bug.cgi?id=783449
9945
9946 2017-06-05 20:33:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9947
9948         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9949         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9950         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9951           libs: encoder: h264,h265,mpeg2: add framerate parameter
9952           https://bugzilla.gnome.org/show_bug.cgi?id=783449
9953
9954 2017-06-05 20:30:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9955
9956         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9957         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9958         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9959         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9960           libs: encoder: vp8,h264,h265,mpeg2: set misc param once
9961           Instead of recalculating the miscellaneous buffer parameters for
9962           every buffer, it is only done once, when the encoder is configured.
9963           And for every buffer, the same structures are just copied.
9964           https://bugzilla.gnome.org/show_bug.cgi?id=783449
9965
9966 2017-06-05 17:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9967
9968         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9969         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9970         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9971         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9972         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
9973         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9974           libs: encoder: vp8,h264,h265,mpeg2: refactor misc parameters
9975           This is patch pretends to decouple the assignation of the values
9976           in the parameter structures and the VA buffer's parameters setting.
9977           It may lead to some issues since HRD, framerate or controlrate may
9978           not be handled by the specific encoder, but they are set in
9979           the VA buffer's parameters.
9980           I leave as it because this patch is just a transitional patch.
9981           https://bugzilla.gnome.org/show_bug.cgi?id=783449
9982
9983 2017-06-05 16:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9984
9985         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9986           libs: encoder: vp8: fix frame rate calculation
9987           According to the VA documentation:
9988           The framerate is specified as a number of frames per second,
9989           as a fraction.  The denominator of the fraction is given in
9990           the top half (the high two bytes) of the framerate field, and
9991           the numerator is given in the bottom half (the low two bytes).
9992           For example, if framerate is set to (100 << 16 | 750), this is
9993           750 / 100, hence 7.5fps.
9994           If the denominator is zero (the high two bytes are both zero)
9995           then it takes the value one instead, so the framerate is just
9996           the integer in the low 2 bytes.
9997           This patch fixes the the framerate calculation in vp8 encoder
9998           according to this.
9999           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10000
10001 2017-06-02 19:46:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10002
10003         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10004           libs: encoder: vp8: refactor FrameRate parameter
10005           Move frame-rate parameter from ensure_misc_params() to
10006           ensure_contro_rate_param() since it only has meaning when the
10007           control rate is either VBR or CBR.
10008           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10009
10010 2017-06-02 19:33:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10011
10012         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10013         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10014         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10015         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10016           libs: encoder: h264,h265,mpeg2,vp8: refactor HDR
10017           Move the Hypothetical Reference Decoder (HRD) parameter, from
10018           ensure_misc_params() to ensure_control_rate_params(), since it
10019           only shall be defined when the control rate is either VBR or CBR.
10020           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10021
10022 2017-06-02 17:21:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10023
10024         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10025         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10026         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10027           libs: encoder: h264,vp8,mpeg2: refactor control rate
10028           Instead of filling the control rate param in ensure_misc_params(),
10029           this patch refactor it out, as a first step to merge the same code
10030           for all the encoders.
10031           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10032
10033 2017-06-02 16:28:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10034
10035         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10036         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10037         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10038           libs: encoder: h264, h265, mpeg2: remove assert
10039           Remove spurious asserts for misc parameters. If they cannot be
10040           allocated, FALSE is already returned.
10041
10042 2017-06-05 18:19:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10043
10044         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10045         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10046           libs: encoder: use VA quality level structure
10047           Instead of using a proxy to story the buffer quality level, the
10048           encoder now uses the native VA structure, which is copied to the
10049           dynamically allocated VAEncMiscParameterBuffer.
10050           This approach is computationally less expensive.
10051
10052 2017-05-26 11:10:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10053
10054         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10055         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
10056         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10057         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10058           libs: standardize the FIXME comment
10059           This is a trivial patch that makes homogeneous the FIXME tag in
10060           comments.
10061           For more info about these comment style:
10062           http://wiki.c2.com/?FixmeComment
10063
10064 2017-05-22 17:20:45 +0200  Hyunjun Ko <zzoon@igalia.com>
10065
10066         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10067           libs: encoder: vp8: set quality level regardless of rate control mode
10068           https://bugzilla.gnome.org/show_bug.cgi?id=782957
10069
10070 2017-05-15 18:38:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10071
10072         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10073         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10074         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10075         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10076           libs: encoder: check for maximum number of slices
10077           Right now, H264 and HEVC can set as a property the number of slices to
10078           process. But each driver can set a maximum number of slices, depending
10079           on the supported profile & entry point.
10080           This patch verifies the current num_slices to process against the maximum
10081           permitted by the driver and the media size.
10082           https://bugzilla.gnome.org/show_bug.cgi?id=780955
10083
10084 2017-05-15 18:36:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10085
10086         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
10087           libs: utils: mark functions as internals
10088           The functions in this header are internal to the library.
10089
10090 2017-05-15 18:35:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10091
10092         * gst-libs/gst/vaapi/gstvaapicontext.h:
10093           libs: context: add missing documentation
10094           Document the region-of-interest configuration variables.
10095
10096 2017-05-12 18:46:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10097
10098         * tests/elements/test-vaapisink.c:
10099           tests: elements: vaapisink: handle nav events
10100           The test app can now handle navigation events to rotate the
10101           display.
10102
10103 2017-05-12 18:17:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10104
10105         * tests/elements/test-vaapisink.c:
10106           tests: elements: clean up vaapisink test
10107           - Use gst_element_send_event() instead of gst_pad_push_event()
10108           - don't zero App structure
10109           - check for pipeline parsing error
10110           - only get vaapisink for property set
10111
10112 2017-05-12 13:08:30 +0900  Hyunjun Ko <zzoon@igalia.com>
10113
10114         * gst/vaapi/gstvaapisink.c:
10115           vaapisink: keep handle_events flag except that if user want to set
10116           When state of vaapisink is changed from PLAYING to NULL, the handle_events
10117           flag is set to FALSE, and never recovered, and then event thread is never
10118           going to run.
10119           So we should allow to set the flag only when users try it.
10120           https://bugzilla.gnome.org/show_bug.cgi?id=782543
10121
10122 2017-05-12 13:06:24 +0900  Hyunjun Ko <zzoon@igalia.com>
10123
10124         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
10125           libs: window: x11: fix src rect info when using vpp
10126           Since we started using VPP in VaapiWindowX11, we need to care about
10127           the case that src rect and window's size are different.
10128           So, once VPP has converted to other format, we should honor the
10129           size of the VPP's surface as source rect. Otherwise, it is cropped
10130           according the previous size of the source rect.
10131           https://bugzilla.gnome.org/show_bug.cgi?id=782542
10132
10133 2017-04-28 15:20:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10134
10135         * gst/vaapi/gstvaapipluginutil.c:
10136           plugins: remove par from caps negotiation
10137           https://bugzilla.gnome.org/show_bug.cgi?id=781759
10138
10139 2017-03-30 17:57:42 +0900  Hyunjun Ko <zzoon@igalia.com>
10140
10141         * tests/elements/Makefile.am:
10142         * tests/elements/test-roi.c:
10143           tests: elements: add an example for ROI
10144           This implements a pipleint to recognize difference between ROI and non-ROI.
10145           See comments in this code in detail.
10146           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10147           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10148
10149 2017-03-30 17:54:20 +0900  Hyunjun Ko <zzoon@igalia.com>
10150
10151         * gst/vaapi/gstvaapiencode.c:
10152         * gst/vaapi/gstvaapiencode_h264.c:
10153           vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest
10154           Handles new custom event GstVaapiEncoderRegionOfInterest
10155           to enable/disable a ROI region.
10156           Writes a way to use new event to document.
10157           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10158           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10159
10160 2017-02-23 18:53:18 +0900  Hyunjun Ko <zzoon@igalia.com>
10161
10162         * tests/simple-encoder.c:
10163           tests: simple-encoder: add an option to set ROI
10164           $ simple-encoder -r inputfile.y4m
10165           And you'll got an output file in H264 with two regions of interest.
10166           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10167           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10168
10169 2017-02-23 18:52:48 +0900  Hyunjun Ko <zzoon@igalia.com>
10170
10171         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10172           libs: encoder: h264: set ROI params during encoding
10173           Set ROI params during encoding each frame, which are set via
10174           gst_vaapi_encoder_add_roi ()
10175           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10176           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10177
10178 2017-03-28 17:41:37 +0900  Hyunjun Ko <zzoon@igalia.com>
10179
10180         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10181         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10182         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10183           libs: encoder: add api gst_vaapi_encoder_add/del_roi
10184           Implements and exposes new api gst_vaapi_encoder_add/del_roi to set ROI regions.
10185           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10186
10187 2017-02-23 17:57:07 +0900  Hyunjun Ko <zzoon@igalia.com>
10188
10189         * gst-libs/gst/vaapi/gstvaapicontext.c:
10190         * gst-libs/gst/vaapi/gstvaapicontext.h:
10191         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10192           libs: encoder/context: query region of interest support
10193           Queries if the driver supports "Region of Interest" (ROI) during the config
10194           creation.
10195           This attribute conveys whether the driver supports region-of-interest (ROI)
10196           encoding, based on user provided ROI rectangles.  The attribute value is
10197           partitioned into fields as defined in the VAConfigAttribValEncROI union.
10198           If ROI encoding is supported, the ROI information is passed to the driver
10199           using VAEncMiscParameterTypeROI.
10200           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10201           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10202
10203 2017-05-12 11:11:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10204
10205         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
10206           libs: encoder: fix a comment
10207
10208 2017-05-11 12:23:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10209
10210         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10211           libs: encoder: guard quality level configuration
10212           The quality level appeared in VA-API 0.36. So let's guard its
10213           usage.
10214
10215 2017-04-19 13:04:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10216
10217         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10218         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10219         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10220         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10221         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10222         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
10223         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10224         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10225         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10226           encoders: add quality level tuning
10227           This patch adds the handling of VAEncMiscParameterTypeQualityLevel,
10228           in gstreamer-vaapi encoders:
10229           The encoding quality could be set through this structure, if the
10230           implementation supports multiple quality levels. The quality level set
10231           through this structure is persistent over the entire coded sequence, or
10232           until a new structure is being sent. The quality level range can be queried
10233           through the VAConfigAttribEncQualityRange attribute. A lower value means
10234           higher quality, and a value of 1 represents the highest quality. The quality
10235           level setting is used as a trade-off between quality and speed/power
10236           consumption, with higher quality corresponds to lower speed and higher power
10237           consumption.
10238           The quality level is set by the element's parameter "quality-level" with a
10239           hard-coded range of 1 to 8.
10240           Later, when the encoder is configured in run time, just before start
10241           processing, the quality level is scaled to the codec range. If
10242           VAConfigAttribEncQualityRange is not available in the used VA backend, then
10243           the quality level is set to zero, which means "disabled".
10244           All the available codecs now process this parameter if it is available.
10245           https://bugzilla.gnome.org/show_bug.cgi?id=778733
10246           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10247
10248 2017-05-04 18:59:31 +0300  Sebastian Dröge <sebastian@centricular.com>
10249
10250         * configure.ac:
10251         * meson.build:
10252           Back to development
10253
10254 === release 1.12.0 ===
10255
10256 2017-05-04 15:46:03 +0300  Sebastian Dröge <sebastian@centricular.com>
10257
10258         * ChangeLog:
10259         * NEWS:
10260         * configure.ac:
10261         * gstreamer-vaapi.doap:
10262         * meson.build:
10263           Release 1.12.0
10264
10265 2017-05-04 11:49:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10266
10267         * gst/vaapi/gstvaapidecodebin.c:
10268           Revert "vaapidecodebin: fix element's classification"
10269           This reverts commit 8cbe03599a4f27c2001380e2ec150c4f4267a9cf.
10270
10271 2017-04-27 22:55:27 -0700  Scott D Phillips <scott.d.phillips@intel.com>
10272
10273         * configure.ac:
10274         * meson.build:
10275           build: Require libva < 0.99.0
10276           libva >= 0.99.0 is not currently supported by gstreamer-vaapi, so
10277           fail to configure instead of failing late in the build.
10278           This libva is bundled in msdk[1] and it is ahead in time with
10279           respect the official and open source libva[2]. GStreamer-VAAPI
10280           only supports the latter for now.
10281           1. https://software.intel.com/en-us/media-sdk/download
10282           2. https://github.com/01org/libva/
10283           https://bugzilla.gnome.org/show_bug.cgi?id=781866
10284
10285 2017-05-02 14:08:54 +0200  Victor Toso <me@victortoso.com>
10286
10287         * gst/vaapi/gstvaapidecodebin.c:
10288           vaapidecodebin: fix element's classification
10289           This bin should have similar classification as decodebin which is
10290           "Generic/Bin/Decoder" otherwise it will appear wrongly as video
10291           decoder.
10292           Signed-off-by: Victor Toso <victortoso@redhat.com>
10293           https://bugzilla.gnome.org/show_bug.cgi?id=782063
10294
10295 === release 1.11.91 ===
10296
10297 2017-04-27 17:49:52 +0300  Sebastian Dröge <sebastian@centricular.com>
10298
10299         * ChangeLog:
10300         * NEWS:
10301         * configure.ac:
10302         * gstreamer-vaapi.doap:
10303         * meson.build:
10304           Release 1.11.91
10305
10306 2017-04-27 13:08:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10307
10308         * gst/vaapi/gstvaapipluginutil.c:
10309           Revert "plugins: reject pixel-aspect-ratio with value 0/1"
10310           This reverts commit c0be7b1890ea8da915a81ae82bc9f504aee7cc26.
10311
10312 2017-04-27 12:43:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10313
10314         * gst/vaapi/gstvaapipluginutil.c:
10315           plugins: reject pixel-aspect-ratio with value 0/1
10316           Do not negotiate a pixel-aspect-ratio of 0/1.
10317           https://bugzilla.gnome.org/show_bug.cgi?id=781759
10318
10319 2017-04-26 15:48:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10320
10321         * gst/vaapi/gstvaapipostprocutil.c:
10322         * gst/vaapi/gstvaapisink.c:
10323           plugins: handle pixel-aspect-ratio with value 0/1
10324           When downstream negotiates a pixel-aspect-ratio of 0/1, the
10325           calculations for resizing and formatting in vaapipostproc and
10326           vaapisink, respectively, failed, and thus the pipeline.
10327           This patch handles this situation by converting p-a-r of 0/1 to
10328           1/1. This is how other sinks, such as glimagesink, work.
10329           https://bugzilla.gnome.org/show_bug.cgi?id=781759
10330
10331 2017-04-27 14:42:55 +0900  Hyunjun Ko <zzoon@igalia.com>
10332
10333         * gst/vaapi/gstvaapivideobufferpool.c:
10334           vaapivideobufferpool: fix leak of created allocator
10335           Since it's created by itself, it should be unref-counted
10336           after gst_buffer_pool_config_set_allocator call. Afterwards,
10337           this allocator will be ref-counted again when assigning to priv->allocator.
10338           https://bugzilla.gnome.org/show_bug.cgi?id=781577
10339
10340 2017-04-21 19:07:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10341
10342         * gst/vaapi/gstvaapivideobufferpool.c:
10343           vaapivideobufferpool: create or reconfig allocator
10344           Sometimes a video decoder could set different buffer pool
10345           configurations, because their frame size changes. In this case we
10346           did not reconfigure the allocator.
10347           This patch enables this use case, creating a new allocator inside
10348           the VAAPI buffer pool if the caps changed, if it is not dmabuf-based.
10349           If so, it is just reconfigured, since it doesn't have a surface pool.
10350           https://bugzilla.gnome.org/show_bug.cgi?id=781577
10351
10352 2017-04-25 12:58:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10353
10354         * tests/elements/Makefile.am:
10355           test: elements: fix compilation flags
10356           This issue was spotten on bug #766704
10357           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
10358
10359 2017-04-25 16:23:08 +0900  Hyunjun Ko <zzoon@igalia.com>
10360
10361         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10362           libs: windows: wayland: fix leak if failure of sync
10363           Sometimes gst_vaapi_window_wayland_sync returns FALSE when poll returns EBUSY
10364           during destruction.
10365           In this case, if GstVaapiWindow is using vpp, leak of vpp surface happens.
10366           This surface is not attached to anything at this moment, so we should release
10367           it manually.
10368           https://bugzilla.gnome.org/show_bug.cgi?id=781695
10369
10370 2017-04-24 20:30:30 +0100  Tim-Philipp Müller <tim@centricular.com>
10371
10372         * common:
10373           Automatic update of common submodule
10374           From 60aeef6 to 48a5d85
10375
10376 2017-04-21 15:30:09 +0200  Hyunjun Ko <zzoon@igalia.com>
10377
10378         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10379           libs: window: wayland: mark frames as done
10380           When the frame listener callbacks 'done', the number of pending
10381           frames are decreased. Nonetheless, there might be occasions where
10382           the buffer listener callbacks 'release', without calling previously
10383           frame's 'done'. This leads to problem with
10384           gst_vaapi_window_wayland_sync() operation.
10385           This patch marks as done those frames which were callbacked, but if
10386           the buffer callbacks 'release' and associated frame is not marked
10387           as 'done' it is so, thus the number of pending frames keeps correct.
10388           https://bugzilla.gnome.org/show_bug.cgi?id=780442
10389           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10390
10391 2017-04-21 14:07:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10392
10393         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10394           libs: window: wayland: don't sync at destroy()
10395           Don't call gst_vaapi_window_wayland_sync() when destroying the
10396           wayland window instance, since it might lead to a lock at
10397           gst_poll_wait() when more than one instances of vaapisink are
10398           rendering in the same pipeline, this is because they share the
10399           same window.
10400           Since now all the frames are freed we don't need to freed the
10401           private last_frame, since its address is invalid now.
10402           https://bugzilla.gnome.org/show_bug.cgi?id=780442
10403           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
10404
10405 2017-04-19 10:37:19 +0900  Hyunjun Ko <zzoon@igalia.com>
10406
10407         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10408           libs: window: wayland: null buffer at destroy()
10409           Fix leakage of the last wl buffer.
10410           VAAPI wayland sink needs to send a null buffer while destruction,
10411           it assures that all the wl buffers are released. Otherwise, the last
10412           buffer's callback might be not called, which leads to leak of
10413           GstVaapiDisplay.
10414           This was inspired by gstwaylandsink.
10415           https://bugzilla.gnome.org/show_bug.cgi?id=774029
10416           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10417
10418 2016-10-30 10:43:49 +0900  Jagyum Koo <koojagyum@gmail.com>
10419
10420         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10421           libs: window: wayland: rt event queue at destroy()
10422           The proxy object of wl_buffer for the last frame remains in the
10423           wl_map. Even though we call wl_buffer_destroy() in
10424           frame_release_callback(), the proxy object remains without being
10425           removed, since proxy object is deleted when wayland server sees the
10426           delete request and sends 'delete_id' event.
10427           We need to call roundtrip before destroying event_queue so that the
10428           proxy object is removed. Otherwise, it would be mess up as receiving
10429           'delete_id' event from previous play, when playing in the next
10430           va/wayland window with the same wl_display connection.
10431           https://bugzilla.gnome.org/show_bug.cgi?id=773689
10432           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10433
10434 2017-04-20 20:30:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10435
10436         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10437           libs: window: wayland: cancel read at poll message
10438           Always call wl_display_cancel_read() when an errno is set, but
10439           different to EAGAIN or EINTR.
10440           https://bugzilla.gnome.org/show_bug.cgi?id=780442
10441
10442 2017-04-21 18:05:48 +0900  Hyunjun Ko <zzoon@igalia.com>
10443
10444         * gst/vaapi/gstvaapidecodebin.c:
10445         * gst/vaapi/gstvaapidecodebin.h:
10446           vaapidecodebin: skips configuration once it's done
10447           Skips configuration of creation of vpp/capsfilter and link them once it's done.
10448           Otherwise, it always fails when it's trying to re-start playback.
10449           https://bugzilla.gnome.org/show_bug.cgi?id=781573
10450
10451 2017-04-20 18:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10452
10453         * gst/vaapi/gstvaapipostprocutil.c:
10454           vaapipostproc: fixes for memory leaks
10455           The use of gst_vaapi_value_set_format() and gst_structure_*_value()
10456           requires to clear the used GValue to avoid a memory leak.
10457
10458 2016-12-08 18:51:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10459
10460         * gst/vaapi/gstvaapipluginbase.c:
10461         * gst/vaapi/gstvaapipluginbase.h:
10462           plugins: enable direct rendering with envvar
10463           Direct rendering (use vaDeriveImage rather than vaPutImage) has better
10464           performance in some Intel platforms (Haswell, for example) but in others
10465           (Skylake) is the opposite.
10466           In order to have some control, the patch enables the direct rendering
10467           through the environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING.
10468           Also it seems to generating some problems with gallium/radeon backend.
10469           See bug #779642.
10470           https://bugzilla.gnome.org/show_bug.cgi?id=775848
10471
10472 2017-04-08 02:05:21 +1000  Jan Schmidt <jan@centricular.com>
10473
10474         * gst/vaapi/gstvaapidecode.c:
10475           vaapidecode: Don't renegotiate on every flush
10476           If caps don't actually change, don't update the
10477           decoder and don't set the do_renego flag forcing
10478           downstream renegotiation
10479           https://bugzilla.gnome.org/show_bug.cgi?id=781142
10480
10481 2017-04-08 01:21:23 +1000  Jan Schmidt <jan@centricular.com>
10482
10483         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10484           h264 decoder: Implement reset() for faster flush
10485           Implement a custom reset() function for faster flushes
10486           that just clear the reference pictures but don't reallocate
10487           the DPB or clear out SPS/PPS
10488           https://bugzilla.gnome.org/show_bug.cgi?id=781142
10489
10490 2017-04-05 17:24:20 +1000  Jan Schmidt <jan@centricular.com>
10491
10492         * gst-libs/gst/vaapi/gstvaapidecoder.c:
10493         * gst-libs/gst/vaapi/gstvaapidecoder.h:
10494         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10495         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10496         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10497         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
10498         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
10499         * gst/vaapi/gstvaapidecode.c:
10500           Implement decoder reset on flush, rather than recreating
10501           Clear decoders out on a flush but keep the same instance,
10502           rather than completely recreating them. That avoids
10503           unecessarily freeing and recreating surface pools
10504           and contexts, which can be quite expensive
10505           https://bugzilla.gnome.org/show_bug.cgi?id=781142
10506
10507 2017-04-11 18:50:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10508
10509         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10510           libs: window: don't add an unused function
10511           The macro GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE only defines
10512           a function that is never used, thus when compiling we might see
10513           this warning (clang):
10514           gstvaapiwindow.c:147:1: warning: unused function 'gst_vaapi_window_class' [-Wunused-function]
10515           GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE (GstVaapiWindow,
10516           ^
10517           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10518
10519 2017-04-11 18:22:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10520
10521         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10522         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10523           libs: window: remove surface_format member
10524           Since we always convert to NV12, there is no need to keep a
10525           variable for that. Let us hard code it.
10526           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10527
10528 2017-04-10 17:23:26 +0900  Hyunjun Ko <zzoon@igalia.com>
10529
10530         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10531         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
10532         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
10533           libs: window: x11/wayland: use new api for conversion
10534           Since gst_vaapi_window_vpp_convert_internal is created,
10535           GstVaapiWindowX11/Wayland can use it for conversion.
10536           Note that once it chooses to use vpp, it's going to use vpp
10537           until the session is finished.
10538           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10539
10540 2017-04-10 11:41:29 +0900  Hyunjun Ko <zzoon@igalia.com>
10541
10542         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10543         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10544           libs: window: add gst_vaapi_window_vpp_convert_internal()
10545           If a backend doesn't support specific format, we can use vpp for conversion
10546           and make it playing.
10547           This api is originated from GstVaapiWindowWayland and moved to GstVaapiWindow,
10548           so that GstVaapiWindowX11 could use it.
10549           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10550
10551 2017-04-03 16:45:36 +0900  Hyunjun Ko <zzoon@igalia.com>
10552
10553         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10554         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10555         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10556         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
10557         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
10558           libs: window: x11/wayland: chaining up to GstVaapiWindow
10559           Currently, GstVaapiWindowX11/Wayland are not descendants of GstVaapiWindow.
10560           This patch chains them up to GstVaapiWindow to handle common members in GstVaapiWindow.
10561           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10562
10563 2017-04-05 11:19:15 -0700  Scott D Phillips <scott.d.phillips@intel.com>
10564
10565         * gst/vaapi/gstvaapipluginutil.c:
10566           plugins: Fix usage of GST_GL_HAVE_WINDOW_* defines
10567           When these definitions are false, they are undef in the
10568           preprocessor, not a defined value of 0. When they are unset the
10569           compile fails with:
10570           'GST_GL_HAVE_WINDOW_WAYLAND' undeclared (first use in this function)
10571           https://bugzilla.gnome.org/show_bug.cgi?id=780948
10572
10573 2017-04-10 23:51:06 +0100  Tim-Philipp Müller <tim@centricular.com>
10574
10575         * common:
10576           Automatic update of common submodule
10577           From 39ac2f5 to 60aeef6
10578
10579 === release 1.11.90 ===
10580
10581 2017-04-07 16:36:21 +0300  Sebastian Dröge <sebastian@centricular.com>
10582
10583         * ChangeLog:
10584         * NEWS:
10585         * configure.ac:
10586         * gstreamer-vaapi.doap:
10587         * meson.build:
10588           Release 1.11.90
10589
10590 2017-04-03 14:52:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10591
10592         * gst/vaapi/gstvaapiencode_h265.c:
10593           vaapiencode: h265: add main-10 in caps template
10594           This patch adds h265's main-10 profile in encoder src caps template.
10595           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10596
10597 2017-04-03 15:34:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10598
10599         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10600           libs: encoder: h265: chroma and luma with format
10601           If the profile is main-10 the bit_depth_luma_minus8, in the sequence
10602           parameter buffer, shall be the color format bit depth minus 8, 10-8
10603           which is 2. Also for bit_depth_chroma_minus8.
10604           This patch gets the negotiated sink caps format and queries its
10605           luma's depth and uses that value to fill the mentioned parameters.
10606           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10607
10608 2017-03-29 19:20:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10609
10610         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10611           libs: encoder: admit YUV420_10BPP as valid chroma
10612           Accepts as supported the GST_VAAPI_CHROMA_TYPE_YUV420_10BPP chroma
10613           type.
10614           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10615
10616 2017-03-29 19:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10617
10618         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10619           libs: encoder: h265: ensures profile given format
10620           Set the VA profile as GST_VAAPI_PROFILE_H265_MAIN10 if the
10621           configured color format is P010_10LE.
10622           Otherwise, keep GST_VAAPI_PROFILE_H265_MAIN
10623           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10624
10625 2017-04-06 17:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10626
10627         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10628           libs: encode: merge all possible surface formats
10629           When the function gst_vaapi_encoder_get_surface_formats() was added
10630           it was under the assumption that any VA profile of the specific codec
10631           supported the same format colors. But it is not, for example the
10632           profiles that support 10bit formats.
10633           In other words, different VA profiles of a same codec may support
10634           different color formats in their upload surfaces.
10635           In order to expose all the possible color formats, if no profile is
10636           specified via source caps, or if the encoder doesn't have yet a
10637           context, all the possible VA profiles for the specific codec are
10638           iterated and their color formats are merged.
10639           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10640
10641 2017-04-06 16:28:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10642
10643         * gst/vaapi/gstvaapiencode.c:
10644         * gst/vaapi/gstvaapiencode.h:
10645         * gst/vaapi/gstvaapiencode_h264.c:
10646         * gst/vaapi/gstvaapiencode_h265.c:
10647           vaapiencode: add get_profile() vmethod
10648           This new virtual method, get_profile(), if implemented by specific
10649           encoders, will return the VA profile potentially determined by the
10650           source caps.
10651           Also it is implemented by h264 and h265 encoders, which are the main
10652           users of this vmethod.
10653           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10654
10655 2017-04-06 12:49:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10656
10657         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10658         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10659         * gst/vaapi/gstvaapiencode.c:
10660           libs: encoder: pass profile to get_surface_formats()
10661           In order to get the supported surface formats within a specific
10662           profile this patch adds the GstVaapiProfile as property to
10663           gst_vaapi_encoder_get_surface_formats().
10664           Currently the extracted formats are only those related with the
10665           default profile of the element's codec.
10666           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10667
10668 2017-04-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10669
10670         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10671           libs: encoder: dummy context for get_surface_formats()
10672           Instead of creating (if it doesn't exist, yet) the encoder's context
10673           the method gst_vaapi_encoder_get_surface_formats() now it creates
10674           dummy contexts, unless the encoder has it already created.
10675           The purpose of this is to avoid setting a encoder's context with a
10676           wrong profile.
10677           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10678
10679 2017-04-04 14:39:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10680
10681         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10682           libs: encoder: refactor init_context_info()
10683           In order to generate vaapi contexts iterative, the function
10684           init_context_info() is refactored to pass, as parameters the
10685           GstVaapiContextInfo and the GstVaapiProfile.
10686           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10687
10688 2017-04-04 14:21:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10689
10690         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10691         * gst-libs/gst/vaapi/gstvaapiutils.c:
10692         * gst-libs/gst/vaapi/gstvaapiutils.h:
10693           libs: encoder: initialize chroma_type
10694           Instead of initialize the chroma_type with a undefined value, which
10695           will be converted to GST_VAAPI_CHROMA_TYPE_YUV420 by GstVaapiContext,
10696           this patch queries the VA config, given the received
10697           GstVaapiContextInfo's parameters, and gets the first response.
10698           In order to get the GstVaapiChromaType value, also it was needed to
10699           add a new utility function: to_GstVaapiChromaType(), which, given a
10700           VA_RT_FORMAT_* will return the associated GstVaapiChromaType.
10701           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10702
10703 2017-03-31 11:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10704
10705         * gst/vaapi/gstvaapiencode.c:
10706           vaapiencode: enhance logs of negotiated caps
10707           https://bugzilla.gnome.org/show_bug.cgi?id=771291
10708
10709 2017-04-05 11:15:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
10710
10711         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10712           libs: encoder: vp9: Fix initialization of ref_list
10713           gcc 7.0.1 gives a memset-elt-size warning in gst_vaapi_encoder_vp9_init:
10714           'memset' used with length equal to number of elements without
10715           multiplication by element size [-Werror=memset-elt-size]
10716           https://bugzilla.gnome.org/show_bug.cgi?id=780947
10717
10718 2017-03-31 14:12:43 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10719
10720         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10721           encoder: h264: Fix Backward ReferencePicture flag setting
10722           This is a regression introduced by e829b62 which
10723           override the reference flags and caused issues with
10724           latest intel-vaapi-driver.
10725
10726 2017-03-29 13:22:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10727
10728         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10729           libs: encoder: h265: fix code style
10730           Trivial patch to remove a double ';' as end of instruction.
10731
10732 2017-03-28 10:53:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10733
10734         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10735           encoder: h264: Fix B frame encoding artifacts
10736           The current implementation is updating the POC values only
10737           in Slice parameter Buffer.But we are not filling the
10738           picture order count and reference flags in VAPictureH264
10739           while populating VA Picture/Slice structures.The latest
10740           intel-vaapi-driver is directly accessing the above fields
10741           from VAPicutreH264 provided as RefPicLists, which resulted
10742           some wrong maths and prediction errors in driver.
10743           https://bugzilla.gnome.org/show_bug.cgi?id=780620
10744
10745 2017-03-21 16:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10746
10747         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10748           libs: encoder: h265: remove unused macro definition
10749           Since the h265 encoder doesn't use GValueArray, there is no need to
10750           disable the Glib deprecation warnings, thus removing the macro
10751           definition.
10752
10753 2017-03-20 16:45:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10754
10755         * gst/vaapi/gstvaapidecode.c:
10756         * gst/vaapi/gstvaapiencode.c:
10757         * gst/vaapi/gstvaapipostproc.c:
10758         * gst/vaapi/gstvaapisink.c:
10759           plugins: when debug disabled, default category is NULL
10760           As in gstreamer-vaapi a common base class is used, the specific
10761           default category is passed to the base-plugin initializator, thus
10762           the log messages are categorized with the used plugin.
10763           Nonetheless, when the gst-debug is disabled in compilation time,
10764           it is needed to pass NULL to the base-plugin initializator. This
10765           patch does that.
10766           https://bugzilla.gnome.org/show_bug.cgi?id=780302
10767
10768 2017-03-17 17:14:01 +0900  Hyunjun Ko <zzoon@igalia.com>
10769
10770         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10771         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10772         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
10773         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
10774           libs: h26x: adds gst_vaapi_utils_h26x_write_nal_unit()
10775           Implements gst_vaapi_utils_h26x_write_nal_unit(), which writes NAL
10776           unit length and data to a bitwriter.
10777           Note that this helper function applies EPB (Emulation Prevention
10778           Bytes), since otherwise produced codec_data might be broken when
10779           decoder/parser considering EPB, starts parsing.
10780           See sections 7.3 and 7.4 of the H264 and H264 specifications, which
10781           describes the emulation_prevention_three_byte.
10782           https://bugzilla.gnome.org/show_bug.cgi?id=778750
10783           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10784
10785 2017-03-17 16:49:41 +0900  Hyunjun Ko <zzoon@igalia.com>
10786
10787         * gst-libs/gst/vaapi/Makefile.am:
10788         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10789         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10790         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
10791         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
10792         * gst-libs/gst/vaapi/meson.build:
10793           libs: utils: h26x: create vaapiutils_h26x
10794           Since there is duplicated code in h264/265 encoder, we could
10795           refactor it to avoid duplicated code.
10796           https://bugzilla.gnome.org/show_bug.cgi?id=778750
10797           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10798
10799 2017-03-17 16:32:36 +0900  Hyunjun Ko <zzoon@igalia.com>
10800
10801         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10802         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10803           libs: encoder: h264/5: fix wrong return value
10804           https://bugzilla.gnome.org/show_bug.cgi?id=778750
10805
10806 2017-03-13 17:29:59 +0900  Hyunjun Ko <zzoon@igalia.com>
10807
10808         * gst/vaapi/gstvaapiencode_h264.c:
10809         * gst/vaapi/gstvaapiencode_h265.c:
10810           docs: h264/h265: put parser to the example pipeline
10811           https://bugzilla.gnome.org/show_bug.cgi?id=778749
10812
10813 2017-03-13 16:20:59 +0900  Hyunjun Ko <zzoon@igalia.com>
10814
10815         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10816           libs: encoder: h265: fix reserved length of bits
10817           Fix reserved length of bits for bit_depth_luma_minus8 and bit_depth_chroma_minus8
10818           https://bugzilla.gnome.org/show_bug.cgi?id=778749
10819
10820 2017-03-12 18:59:42 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10821
10822         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
10823         * tests/test-display.c:
10824           O_CLOEXEC needs _GNU_SOURCE defined
10825           From man open(2):
10826           The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified
10827           in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc
10828           2.12, one can obtain their definitions by defining either
10829           _POSIX_C_SOURCE with a value greater than or equal to 200809L or
10830           _XOPEN_SOURCE with a value greater than or equal to 700.  In glibc
10831           2.11 and earlier, one obtains the definitions by defining
10832           _GNU_SOURCE.
10833           And indeed, with the uClibc C library, O_CLOEXEC is not exposed if
10834           _GNU_SOURCE is not defined. Therefore, this commit fixes the build of
10835           gstreamer-vaapi with the uClibc C library.
10836           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10837           https://bugzilla.gnome.org/show_bug.cgi?id=779953
10838
10839 2017-03-14 16:07:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10840
10841         * README:
10842           README: fix "Sources" section
10843           Update the URL where the release source tarballs can be downloaded.
10844
10845 2017-03-12 21:39:53 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10846
10847         * README:
10848           README: fix "Reporting bugs" section
10849           The "Reporting bugs" section gives
10850           https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi as the
10851           link to report a bug, but this link says "Sorry, entering a bug into the
10852           product gstreamer-vaapi has been disabled.".
10853           This commit fixes the URL to point to the proper location, and also
10854           removes the following paragraph that is no longer correct.
10855           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10856           https://bugzilla.gnome.org/show_bug.cgi?id=779954
10857
10858 2017-03-03 19:55:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10859
10860         * gst/vaapi/gstvaapipluginutil.c:
10861           plugins: retry to create the VA display
10862           Particularly in GNOME Wayland, the negotiated or created GL context
10863           defines a GLX environment, but VAAPI fails to create a GLX VA
10864           display because there is no a DRI2 connection.
10865           This patch retries to create the VA display if VA cannot create one
10866           with the GL context parameters. Now using the old list of display
10867           types.
10868           This should also work in the case of systems with two GPU, when the
10869           non-VAAPI has the graphics environment, and the VAAPI-enabled one
10870           shall work headless.
10871           https://bugzilla.gnome.org/show_bug.cgi?id=772838
10872
10873 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
10874
10875         * gst/vaapi/gstvaapipostproc.c:
10876           vaapipostproc: texture upload if driver supports GL
10877           Removes GstVideoGLTextureUploadMeta caps feature if the driver
10878           doesn't support opengl.
10879           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10880           https://bugzilla.gnome.org/show_bug.cgi?id=772838
10881
10882 2016-10-25 17:48:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10883
10884         * gst/vaapi/gstvaapidecode.c:
10885           vaapidecode: texture upload if driver supports GL
10886           When the allowed source pad caps are generated, the GLTextureUpload caps are
10887           only inserted if the driver support OpenGL.
10888           https://bugzilla.gnome.org/show_bug.cgi?id=772838
10889
10890 2017-02-22 15:02:01 -0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10891
10892         * configure.ac:
10893           configure: Add missing compiler flags
10894           The AC_CHECK_HEADERS macro was failing to locate some headers, in
10895           particular the va_enc_* headers due to missing compiler flags.
10896           https://bugzilla.gnome.org/show_bug.cgi?id=779101
10897           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10898
10899 2017-03-01 14:48:46 +0900  Hyunjun Ko <zzoon@igalia.com>
10900
10901         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10902           libs: window: wayland: handle more VAStatus to use vpp
10903           Since the commit landed https://github.com/01org/intel-vaapi-driver/pull/55,
10904           we should consider more returned VAStatus to use vpp.
10905           https://bugzilla.gnome.org/show_bug.cgi?id=779400
10906
10907 2017-02-23 15:16:06 +0900  Hyunjun Ko <zzoon@igalia.com>
10908
10909         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10910           libs: encoder: ensure profile when context initialization
10911           We can't be sure that encoder's profile is assgined already or not
10912           at context initialization.
10913           https://bugzilla.gnome.org/show_bug.cgi?id=779120
10914
10915 2017-02-23 15:13:59 +0900  Hyunjun Ko <zzoon@igalia.com>
10916
10917         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10918           libs: encoder: set rate control info only when query succeed
10919           Currently, it set rate control information even when query fails.
10920           In addition, it doesn't update any more since the flag
10921           got_rate_control_mask is set to TRUE.
10922           https://bugzilla.gnome.org/show_bug.cgi?id=779120
10923
10924 2017-02-24 16:00:23 +0200  Sebastian Dröge <sebastian@centricular.com>
10925
10926         * meson.build:
10927           meson: Update version
10928
10929 2017-02-24 15:38:22 +0200  Sebastian Dröge <sebastian@centricular.com>
10930
10931         * configure.ac:
10932           Back to development
10933
10934 === release 1.11.2 ===
10935
10936 2017-02-24 15:10:21 +0200  Sebastian Dröge <sebastian@centricular.com>
10937
10938         * ChangeLog:
10939         * NEWS:
10940         * configure.ac:
10941         * gstreamer-vaapi.doap:
10942           Release 1.11.2
10943
10944 2017-02-16 18:37:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10945
10946         * gst/vaapi/gstvaapiencode.c:
10947           vaapiencode: merge tags for downstream's info
10948           Add encoder and codec name and the bitrate into the output for
10949           informational purposes. Some muxers or application use it as
10950           media metadata.
10951           https://bugzilla.gnome.org/show_bug.cgi?id=778781
10952
10953 2017-02-17 01:27:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10954
10955         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10956           libs: encoder: caps can change at any time
10957           The encoder should be able to change its caps even it is already
10958           processing a stream.
10959           This is suppose to happen after a flush so the codedbuf_queue should
10960           be empty.
10961           https://bugzilla.gnome.org/show_bug.cgi?id=775490
10962
10963 2017-02-17 01:19:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10964
10965         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10966           libs: encoder: h265: bail if nal unit type fails
10967           Bail out if the NAL unit type is not recognized.
10968           https://bugzilla.gnome.org/show_bug.cgi?id=778782
10969
10970 2017-02-16 18:11:50 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10971
10972         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10973         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10974           libs: decoder: h264,h265 avoid uninitialized variable
10975           Configuring GCC to verify possible usage of uninitialized variables,
10976           shows that found_index might be used without previous assignation.
10977           This patch assigns a initial value to found_index, also avoid a
10978           branching when returning the result value.
10979           https://bugzilla.gnome.org/show_bug.cgi?id=778782
10980
10981 2017-02-13 16:39:41 -0800  Scott D Phillips <scott.d.phillips@intel.com>
10982
10983         * configure.ac:
10984         * gst-libs/gst/vaapi/Makefile.am:
10985         * gst/vaapi/gstvaapidecode.c:
10986         * gst/vaapi/gstvaapidecodebin.c:
10987           build: rename USE_HEVC_DECODER to USE_H265_DECODER
10988           Rename to be consistent with H.264 and also H.265 encoder. The
10989           meson build assumed this was already consistently named, and so
10990           previously was not able to actually build the H.265 decoder.
10991           https://bugzilla.gnome.org/show_bug.cgi?id=778576
10992
10993 2017-02-15 19:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>
10994
10995         * meson.build:
10996           meson: gstreamer-codecparsers is a required dep
10997           Just like in configure.ac.
10998
10999 2017-02-15 00:26:21 +0000  Tim-Philipp Müller <tim@centricular.com>
11000
11001         * Makefile.am:
11002           meson: dist meson build files
11003           Ship meson build files in tarballs, so people who use tarballs
11004           in their builds can start playing with meson already.
11005
11006 2017-02-10 09:51:38 +0900  Hyunjun Ko <zzoon@igalia.com>
11007
11008         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11009           libs: encoder: vp8: add CBR encoding mode
11010           This patch enables the Constant BitRate encoding mode in VP8 encoder.
11011           Basically it adds the configuration parameters required by libva to
11012           CBR enconding.
11013           Original-Patch-By: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11014           https://bugzilla.gnome.org/show_bug.cgi?id=749950
11015
11016 2017-02-09 12:39:19 +0900  Hyunjun Ko <zzoon@igalia.com>
11017
11018         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11019           libs: encoder: vp8: fix bitrate calculation
11020           Base encoder's unit of bitrate is in Kbps. We should honor it so
11021           we use the value of bitrate in VA, in which is expressed in bps.
11022           https://bugzilla.gnome.org/show_bug.cgi?id=749950
11023
11024 2017-02-09 12:49:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11025
11026         * gst/vaapi/gstvaapipluginbase.c:
11027           plugins: fix build when gcc
11028           In commit a8e482f9 we added a function without parameters, but gcc
11029           doesn't like that.
11030
11031 2017-02-06 15:46:20 -0800  Scott D Phillips <scott.d.phillips@intel.com>
11032
11033         * gst-libs/gst/base/meson.build:
11034         * gst-libs/gst/meson.build:
11035         * gst-libs/gst/vaapi/meson.build:
11036         * gst-libs/meson.build:
11037         * gst/meson.build:
11038         * gst/vaapi/meson.build:
11039         * meson.build:
11040         * meson_options.txt:
11041           vaapi: add meson build
11042           https://bugzilla.gnome.org/show_bug.cgi?id=778250
11043
11044 2017-02-08 10:17:40 -0800  Scott D Phillips <scott.d.phillips@intel.com>
11045
11046         * configure.ac:
11047         * gst-libs/gst/vaapi/Makefile.am:
11048         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11049         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
11050           make: remove gstvaapiversion.h generation
11051           https://bugzilla.gnome.org/show_bug.cgi?id=778250
11052
11053 2016-10-19 15:47:41 +0100  Julien Isorce <j.isorce@samsung.com>
11054
11055         * gst/vaapi/gstvaapipluginbase.c:
11056           plugins: use linear storage if not the same device
11057           When dmabuf is negotiated downstream and decoding and rendering are
11058           not done on the same device, the layout has to be linear in order for
11059           the memory to be shared accross devices, since each device has its
11060           own way to do tiling.
11061           Right now this code is rather just a to-do comment, since we are not
11062           fetching the device ids.
11063           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11064
11065 2017-02-08 14:17:05 +0900  Hyunjun Ko <zzoon@igalia.com>
11066
11067         * gst-libs/gst/vaapi/gstvaapiutils.c:
11068           libs: utils: add HEVC profiles representation
11069           https://bugzilla.gnome.org/show_bug.cgi?id=778318
11070
11071 2017-02-07 16:17:39 +0900  Hyunjun Ko <zzoon@igalia.com>
11072
11073         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11074           libs: decoder: h264: reduce frame number of gaps
11075           Reduce frame num gaps so that we don't have to create unnecessary
11076           dummy pictures, just throw them away.
11077           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11078           https://bugzilla.gnome.org/show_bug.cgi?id=777506
11079
11080 2016-10-16 01:04:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11081
11082         * gst/vaapi/gstvaapidecode.c:
11083           vaapidecode: don't GLTextureUpload if dmabuf
11084           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
11085           element can handle dmabuf-based buffers, avoiding its negotiation.
11086
11087 2016-10-19 16:21:21 +0100  Julien Isorce <j.isorce@samsung.com>
11088
11089         * gst/vaapi/gstvaapidecode.c:
11090           vaapidecode: make pool to export decoder's surface
11091           Use new -base API gst_video_decoder_allocate_output_frame_full() to
11092           pass the current proxy/surface to the pool.
11093           The pool will will export thins given surface instead of exporting a
11094           brand new surface that will never be filled in with meaningfull data.
11095           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11096
11097 2017-02-03 17:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11098
11099         * gst/vaapi/gstvaapipluginbase.c:
11100           plugins: decoder can negotiate dmabuf downstream
11101
11102 2016-10-19 16:07:07 +0100  Julien Isorce <j.isorce@samsung.com>
11103
11104         * gst/vaapi/gstvaapivideobufferpool.c:
11105           vaapivideobufferpool: override acquire_buffer()
11106           Overriding the vmethod acquire_buffer() it is possible to attach the
11107           right GstMemory to the current acquired buffer.
11108           As a matter of fact, this acquired buffer may contain any instantiated
11109           GstFdmemory, since this buffer have been popped out from the buffer
11110           pool, which is a FIFO queue. So there is no garantee that this buffer
11111           matches with the current processed surface. Evenmore, the VA driver
11112           might not use a FIFO queue. Therefore, it is no way to guess on the
11113           ordering.
11114           In short, acquire_buffer on the VA driver and on the buffer pool return
11115           none matching data, we have to manually attach the right GstFdMemory to
11116           the acquired GstBuffer. The right GstMemory is the one associated with
11117           the current surface.
11118           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11119
11120 2016-10-19 16:05:04 +0100  Julien Isorce <j.isorce@samsung.com>
11121
11122         * gst/vaapi/gstvaapivideobufferpool.c:
11123         * gst/vaapi/gstvaapivideomemory.c:
11124           vaapivideomemory: export surface if it is provided
11125           gst_vaapi_dmabuf_memory_new() always exports a surface. Previously, it
11126           had to create that surface. Now it can also export an already provided
11127           surface. It is useful to export decoder's surfaces (from VA context).
11128           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11129
11130 2016-10-19 15:55:27 +0100  Julien Isorce <j.isorce@samsung.com>
11131
11132         * gst/vaapi/gstvaapivideobufferpool.h:
11133           vaapivideobufferpool: add GstVaapiVideoBufferPoolAcquireParams
11134           Useful to let the pool know the current surface proxy when calling
11135           gst_buffer_pool_alloc_buffer() / gst_buffer_pool_acquire_buffer()
11136           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11137
11138 2016-10-19 15:09:34 +0100  Julien Isorce <j.isorce@samsung.com>
11139
11140         * gst-libs/gst/vaapi/gstvaapisurface.c:
11141         * gst-libs/gst/vaapi/gstvaapisurface.h:
11142           libs: surface: add gst_vaapi_surface_{set,peek}_buffer_proxy()
11143           These functions are useful when a dmabuf-based memory is instantiated in
11144           order to relate the generated buffer @proxy with the processed @surface.
11145           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11146
11147 2016-10-19 15:07:31 +0100  Julien Isorce <j.isorce@samsung.com>
11148
11149         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11150         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11151         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
11152           libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem()
11153           This patch adds a GstMemory as a variable member of the buffer proxy,
11154           because we will need to associate the buffer proxy with the memory
11155           which exposes it. Later, we will know which memory, in the video buffer
11156           pool, is attached to the processed surface.
11157           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11158
11159 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
11160
11161         * gst/vaapi/gstvaapipostproc.c:
11162           vaapipostproc: don't GLTextureUpload if dmabuf
11163           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
11164           element can handle dmabuf-based buffers, avoiding its negotiation.
11165           Similar as "vaapidecode: do not add meta:GstVideoGLTextureUploadMeta
11166           feature if can dmabuf"
11167           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11168
11169 2016-12-16 14:12:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11170
11171         * gst/vaapi/gstvaapipluginbase.c:
11172           plugins: enable DMAbuf allocator to downstream
11173           If the negotiated caps are raw caps and downstream supports the
11174           EGL_EXT_image_dma_buf_import extension, then the created allocator
11175           is the DMAbuf, configured to downstream.
11176           At this moment, the only element which can push dmabuf-based buffers
11177           to downstream, is vaapipostproc.
11178
11179 2016-06-02 22:13:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11180
11181         * gst/vaapi/gstvaapipluginbase.c:
11182         * gst/vaapi/gstvaapipluginbase.h:
11183           plugins: check if negotiate dmabuf with downstream
11184           In order to enable, in the future, dmabuf-based buffers, the vaapi base
11185           plugin needs to check if downstream can import dmabuf buffers.
11186           This patch checks if downstream can handle dmabuf, by introspecting the
11187           shared GL context. If the GL context is EGL/GLES2 and have the extension
11188           EGL_EXT_image_dma_buf_import, then dmabuf can be negotiated.
11189           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
11190
11191 2016-10-19 15:37:04 +0100  Julien Isorce <j.isorce@samsung.com>
11192
11193         * gst/vaapi/gstvaapivideomemory.c:
11194           vaapivideomemory: release proxy's data if downstream
11195           The surface created for downstream is going to be filled by VAAPI
11196           elements. So, the driver needs write access on that surface.
11197           This patch releases the derived image held by the proxy, thus the
11198           surface is unmarked as busy.
11199           This is how it has to be done as discussed on libva mailing list.
11200           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11201
11202 2016-10-19 15:01:04 +0100  Julien Isorce <j.isorce@samsung.com>
11203
11204         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11205         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11206           libs: bufferproxy: add gst_vaapi_buffer_proxy_release_data()
11207           Adds an API to request the user's data release in the buffer proxy.
11208           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11209
11210 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
11211
11212         * gst/vaapi/gstvaapipluginbase.c:
11213         * gst/vaapi/gstvaapivideomemory.c:
11214         * gst/vaapi/gstvaapivideomemory.h:
11215           vaapivideomemory: add direction to dmabuf allocator
11216           Add GstPadDirection param to gst_vaapi_dmabuf_allocator_new(), thus
11217           we later could do different thing when the allocated memory is for
11218           upstream or dowstream, as required by VA-API.
11219           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11220
11221 2016-12-15 15:59:30 +0900  Hyunjun Ko <zzoon@igalia.com>
11222
11223         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
11224           libs: utils: return NULL if failed to get surface formats
11225           Thus, when generating the allowed caps, the element will throw a
11226           warning and it will use its caps template.
11227           This behavior might be a bug in the VA driver.
11228           https://bugzilla.gnome.org/show_bug.cgi?id=775490
11229
11230 2015-11-26 18:21:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11231
11232         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11233           Revert "vaapidisplay: mark X11 display as compatible with EGL"
11234           This reverts commit 200b1baabc066f8a4102f82f539655d588200ec9.
11235
11236 2017-02-01 14:32:45 +0900  Hyunjun Ko <zzoon@igalia.com>
11237
11238         * gst/vaapi/gstvaapipostproc.c:
11239           vaapipostproc: set GST_VAAPI_POSTPROC_FLAG_SIZE according to src caps
11240           A value of width/height property should be set to out caps,
11241           if negotiation had been going properly.
11242           So we can use srcpad_info when making decision of scaling.
11243           https://bugzilla.gnome.org/show_bug.cgi?id=778010
11244
11245 2017-01-27 12:10:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11246
11247         * gst/vaapi/gstvaapidecode.c:
11248         * gst/vaapi/gstvaapiencode.c:
11249         * gst/vaapi/gstvaapipluginutil.c:
11250         * gst/vaapi/gstvaapipluginutil.h:
11251         * gst/vaapi/gstvaapipostproc.c:
11252         * gst/vaapi/gstvaapisink.c:
11253           plugins: handle GL params through context query
11254           If the element instantiated the GL display and context, they should
11255           handle them too through the context query.
11256           https://bugzilla.gnome.org/show_bug.cgi?id=777409
11257
11258 2017-01-26 12:02:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11259
11260         * gst/vaapi/gstvaapipluginbase.c:
11261         * gst/vaapi/gstvaapipluginbase.h:
11262         * gst/vaapi/gstvaapipluginutil.c:
11263           plugins: create a GL context on certain conditions
11264           If a GstVaapiDisplay is not found in the GStreamer context sharing,
11265           then VAAPI elements look for a local GstGLContext in gst context
11266           sharing mechanism ('gst.gl.local.context').
11267           If this GstGLContext not found either then, only the VAAPI decoders
11268           and the VAAPI post-processor, will try to instantiate a new
11269           GstGLContext.
11270           If a valid GstGLContext is received, then a new GstVaapiDisplay will
11271           be instantiated with the platform, API and windowing specified by the
11272           instantiated GstGLContext.
11273           Original-Patch-By: Matt Fischer <matt.fischer@garmin.com>
11274           https://bugzilla.gnome.org/show_bug.cgi?id=777409
11275
11276 2016-08-02 15:48:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11277
11278         * gst/vaapi/gstvaapivideocontext.c:
11279           vaapivideocontext: context type can be rejected
11280           Instead of calling g_return_val_if_fail() to check the context type, we
11281           should use a normal conditional, since it is possible that other context types
11282           can arrive and try to be assigned. Otherwise a critical log message is
11283           printed.
11284           This happens when we use playbin3 with vaapipostproc as video-filter.
11285           https://bugzilla.gnome.org/show_bug.cgi?id=777409
11286
11287 2017-01-20 19:57:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11288
11289         * gst/vaapi/gstvaapipostprocutil.c:
11290           vaapipostproc: use sink caps par if not requested
11291           Use the sink caps pixel-aspect-ratio to fixate the src caps, if it
11292           is not already set.
11293           https://bugzilla.gnome.org/show_bug.cgi?id=777395
11294
11295 2017-01-20 19:00:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11296
11297         * gst/vaapi/gstvaapipostproc.c:
11298         * gst/vaapi/gstvaapipostprocutil.c:
11299           vaapipostproc: set interlace mode
11300           if the vaapipostproc is configured to not do deinterlacing, the
11301           interlace-mode in the src caps should be the same as the input caps.
11302           https://bugzilla.gnome.org/show_bug.cgi?id=777395
11303
11304 2017-01-20 16:10:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11305
11306         * gst/vaapi/gstvaapisink.c:
11307           vaapisink: fix gcc compiler warning
11308           warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
11309
11310 2017-01-12 19:54:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11311
11312         * gst/vaapi/gstvaapisink.c:
11313           vaapisink: don't use member variable outside lock
11314           Thus a race condition segfault is avoided.
11315           Original-patch-by: Matt Staples <staples255@gmail.com>
11316           https://bugzilla.gnome.org/show_bug.cgi?id=777146
11317
11318 2017-01-18 17:20:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11319
11320         * gst/vaapi/gstvaapipluginbase.c:
11321         * gst/vaapi/gstvaapipostproc.c:
11322           plugins: avoid log flood when activating pool
11323           Every time a new buffer is allocated, the pool is activated. This
11324           doesn't impact in performance since gst_buffer_pool_set_active()
11325           checks the current state of the pool. Nonetheless it logs out a
11326           message if the state is the same, and it floods the logging subsystem
11327           if it is enabled.
11328           To avoid this log flooding first the pool state is checked before
11329           changing it.
11330
11331 2017-01-13 21:26:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11332
11333         * gst-libs/gst/vaapi/gstvaapidecoder.c:
11334         * gst-libs/gst/vaapi/gstvaapidecoder.h:
11335         * gst/vaapi/gstvaapidecode.c:
11336         * gst/vaapi/gstvaapidecode.h:
11337           vaapidecode: update internal decoder sink caps
11338           When a new sink caps arrive the internal decoder state is updated
11339           and, if it is, request a downstream renegotiation.
11340           Previously, when new caps arrived the whole decoder where destroyed
11341           and recreated. Now, if the caps are compatible or has the same codec,
11342           the internal decoder is kept, but a downstream renegotiation is
11343           requested.
11344           https://bugzilla.gnome.org/show_bug.cgi?id=776979
11345
11346 2017-01-12 16:33:13 +0200  Sebastian Dröge <sebastian@centricular.com>
11347
11348         * configure.ac:
11349           Back to development
11350
11351 === release 1.11.1 ===
11352
11353 2017-01-12 16:27:12 +0200  Sebastian Dröge <sebastian@centricular.com>
11354
11355         * ChangeLog:
11356         * NEWS:
11357         * configure.ac:
11358         * gstreamer-vaapi.doap:
11359           Release 1.11.1
11360
11361 2017-01-12 12:49:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11362
11363         * gst-libs/gst/vaapi/gstvaapiutils.c:
11364           vaapi: bump ifdef to API 0.40.0 for log redirect
11365           vaSetInfoCallback() is not released yet. It is going to appear in
11366           VA-API 0.40.0
11367
11368 2017-01-12 13:45:29 +0200  Sebastian Dröge <sebastian@centricular.com>
11369
11370         * gst-libs/gst/vaapi/gstvaapiutils.c:
11371           vaapiutils: Fix compilation with latest and previous libva releases
11372           vaSetInfoCallback() was defined after 0.39.4 / 1.7.3, so check for
11373           0.39.5 instead.
11374
11375 2017-01-11 16:04:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11376
11377         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11378         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
11379         * gst-libs/gst/vaapi/gstvaapiutils.c:
11380         * gst-libs/gst/vaapi/gstvaapiutils.h:
11381           libs: display: redirect logging at initialize
11382           Redirect libva's logs to GStreamer logging mechanism. This is
11383           particularly useful when VA is initialized, because it always logs
11384           out the drivers details.
11385           In order to achieve this a new helper function was added as a wrapper
11386           for the vaInitialize() function.
11387           https://bugzilla.gnome.org/show_bug.cgi?id=777115
11388
11389 2017-01-10 15:15:31 +0900  Hyunjun Ko <zzoon@igalia.com>
11390
11391         * gst/vaapi/gstvaapipluginbase.c:
11392           plugins: provide at least two buffers in sink pool
11393           Adds two buffers as the default value of minimum buffer.
11394           This would be used when creating and proposing vaapi bufferpool for
11395           sink pad, hence the upstream element will keep, at least, these two
11396           buffers.
11397           https://bugzilla.gnome.org/show_bug.cgi?id=775203
11398           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11399
11400 2017-01-10 13:49:27 +0900  Hyunjun Ko <zzoon@igalia.com>
11401
11402         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11403           libs: decoder: h264: don't update cloned attributes
11404           If the frame is a cloned picture, its PTS comes from its parent
11405           picture.  In addition, the base decoder doesn't set a valid PTS to
11406           the frame corresponding to the cloned picture.
11407           https://bugzilla.gnome.org/show_bug.cgi?id=774254
11408
11409 2017-01-09 19:25:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11410
11411         * gst/vaapi/gstvaapivideomemory.c:
11412           vaapivideomemory: check for display
11413           This patch fixes the check of display, rather than check for the
11414           meta, which it is known it exists.
11415
11416 2017-01-09 16:23:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11417
11418         * gst/vaapi/gstvaapivideomemory.c:
11419         * gst/vaapi/gstvaapivideomemory.h:
11420           vaapivideomemory: rename dmabuf allocator parameters
11421           Rename the parameters 'vip' and 'flags' to 'alloc_info' and
11422           'surface_alloc_flags' respectively. The purpose of this change is
11423           to auto-document those parameters.
11424           Also, aligned to this patch, the local 'alloc_info' variable was
11425           renamed as 'surface_info', because it stores the possible surface's
11426           video info, not the allocate one.
11427
11428 2017-01-09 16:18:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11429
11430         * gst/vaapi/gstvaapivideomemory.c:
11431         * gst/vaapi/gstvaapivideomemory.h:
11432           vaapivideomemory: rename vip to alloc_info parameter
11433           In order to auto-document the code, this patch renames the 'vip'
11434           parameter in the functions related to gst_vaapi_video_allocator_new ()
11435           to 'alloc_info', since it declares the allocation video info from
11436           the vaapi buffer pool.
11437
11438 2017-01-09 16:08:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11439
11440         * gst/vaapi/gstvaapivideomemory.c:
11441           vaapivideomemory: use GST_VIDEO_INFO_FORMAT_STRING()
11442           Use the existing local macro GST_VIDEO_INFO_FORMAT_STRING() to get
11443           the video format string.
11444
11445 2017-01-09 12:51:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11446
11447         * gst/vaapi/gstvaapivideomemory.c:
11448           vaapivideomemory: unroll gst_vaapi_surface_new_with_format()
11449           gst_vaapi_surface_new_with_format() is a wrapper for
11450           gst_vaapi_surface_new_full (). In this case, the former is simpler
11451           than the first. This patch changes that.
11452
11453 2017-01-04 19:23:06 +0900  Hyunjun Ko <zzoon@igalia.com>
11454
11455         * gst/vaapi/gstvaapipostproc.c:
11456           vaapipostproc: notify if src pad caps changed
11457           If src pad caps have changed, it needs to notify it downstream. In
11458           addition, do not set passthrough if they have changed.
11459           Otherwise, transform sometimes starts processing before caps change.
11460           The passthrough value will be set in fixate later in this case.
11461           https://bugzilla.gnome.org/show_bug.cgi?id=775204
11462
11463 2016-12-14 15:51:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11464
11465         * gst/vaapi/gstvaapidecodebin.c:
11466           vaapidecodebin: capsfilter to optimize negotiation
11467           Add a capsfilter forcing the caps
11468           "video/x-raw(memory:VASurface), format=(string)NV12" between the
11469           queue and the vaapipostproc so no renegotiation is required.
11470           https://bugzilla.gnome.org/show_bug.cgi?id=776175
11471
11472 2016-12-21 17:38:07 +0900  Hyunjun Ko <zzoon@igalia.com>
11473
11474         * gst/vaapi/gstvaapivideomemory.c:
11475           vaapivideomemory: fail surface/image configuration
11476           To detect and handle errors during allocator_configure_surface_info()
11477           and allocator_conigure_image_info().
11478           https://bugzilla.gnome.org/show_bug.cgi?id=776084
11479           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11480
11481 2016-12-21 17:50:41 +0900  Hyunjun Ko <zzoon@igalia.com>
11482
11483         * gst/vaapi/gstvaapisink.c:
11484           vaapisink: ensures raw caps at start()
11485           Calls gst_vaapi_plugin_base_get_allowed_raw_caps() at start() to avoid
11486           race conditions at get_caps(), especially with multiple src elements.
11487           https://bugzilla.gnome.org/show_bug.cgi?id=776303
11488
11489 2016-12-09 14:51:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11490
11491         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11492           libs: surface: fix error handling code style
11493
11494 2016-12-09 16:14:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11495
11496         * gst/vaapi/gstvaapivideomemory.c:
11497           vaapivideomemory: add gst_video_info_update_from_surface()
11498           With this function is possible to refactor and remove duplicated code
11499           between dmabuf configuration and direct rendering/uploading
11500           configuration.
11501
11502 2016-12-09 15:51:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11503
11504         * gst/vaapi/gstvaapivideomemory.c:
11505           vaapivideomemory: no log object at initialization
11506           When an instance of GstVaapiVideoAllocator fails at initializing, the
11507           log message should not include the allocator's object, because it is
11508           going to be unrefed.
11509
11510 2016-12-09 17:56:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11511
11512         * gst/vaapi/gstvaapidecode.c:
11513           vaapidecode: lock stream when setting caps
11514
11515 2016-12-09 17:42:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11516
11517         * gst/vaapi/gstvaapidecode.c:
11518           Revert "vaapidecode: implement negotiate() vmethod"
11519           This reverts commit 3285121181295c544480fc6ba756845b16285d30.
11520           videodecode's negotiate() vmethod is also called when events arrive,
11521           but this would mean that the proper configuration of sink pad might
11522           not be complete, thus we should not update the src pad.
11523           Let's keep the old non-vmethod negotitate().
11524
11525 2016-12-07 16:52:35 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11526
11527         * gst/vaapi/gstvaapi.c:
11528           Revert "encoders: demote to RANK_NONE since not fit for autoplugging yet"
11529           This reverts commit f182b8be2ba05965e6d31a4d380d6563b9b53a77.
11530
11531 2016-12-01 18:57:10 +0900  Hyunjun Ko <zzoon@igalia.com>
11532
11533         * gst/vaapi/gstvaapiencode.c:
11534         * gst/vaapi/gstvaapiencode.h:
11535           vaapiencode: get surface formats in get_caps()
11536           Query for the supported surface formats in config at get_caps() vmethod.
11537           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11538           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11539
11540 2016-12-07 11:26:37 +0100  Hyunjun Ko <zzoon@igalia.com>
11541
11542         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11543         * gst-libs/gst/vaapi/gstvaapiencoder.h:
11544           libs: encoder: add gst_vaapi_encoder_get_surface_formats()
11545           This method will return the valid surface formats in the current
11546           config. If the are no VAConfig it is created with the information
11547           available.
11548           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11549           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11550
11551 2016-12-07 11:10:42 +0100  Hyunjun Ko <zzoon@igalia.com>
11552
11553         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11554           libs: encoder: split set_context_info()
11555           Split set_context_info() adding init_context_info() which only
11556           initialises the GstVaapiContextInfo structure inside GstVaapiEncoder
11557           required for VAConfig.
11558           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11559           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11560
11561 2016-12-02 09:30:52 +0900  Hyunjun Ko <zzoon@igalia.com>
11562
11563         * gst-libs/gst/vaapi/gstvaapicontext.c:
11564           libs: context: skip VAContext if no frame size
11565           If GstVaapiContextInfo has just initial information, without frame's
11566           width and height, skip the creation of the VAContext, just keep the
11567           VAConfig.
11568           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11569           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11570
11571 2016-12-02 09:28:07 +0900  Hyunjun Ko <zzoon@igalia.com>
11572
11573         * gst-libs/gst/vaapi/gstvaapicontext.c:
11574           libs: context: split context_create()
11575           Split the funcion context_create() into context_create() and
11576           config_create().
11577           Decoupling VAConfig and VAContext during context creation, we could
11578           query the VAConfig for the supported surface's formats without creating
11579           a VAContext.
11580           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11581
11582 2016-12-06 17:33:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11583
11584         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
11585           libs: drm: find render node in hybrid system
11586           Originally the drm backend only tried to open the first render node
11587           found. But in hybrid system this first render node might not support
11588           VA-API (propietary Nvidia driver, for example).
11589           This patch tries all the available nodes until a finding one with a
11590           VA-API supported driver.
11591           https://bugzilla.gnome.org/show_bug.cgi?id=774811
11592           Original-patch-by: Stirling Westrup <swestrup@gmail.com> and
11593           Reza Razavi <reza@userful.com>
11594
11595 2016-11-14 17:45:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11596
11597         * gst/vaapi/gstvaapivideomemory.c:
11598           vaapivideomemory: refactor code for readability
11599           Added the inlined function allocator_configure_pools() moving out code
11600           from gst_vaapi_video_allocator_new() to make clear that it is a
11601           post-initalization of the object.
11602
11603 2016-11-14 17:40:37 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11604
11605         * gst/vaapi/gstvaapivideomemory.c:
11606           vaapivideomemory: log error if not VA image
11607           Log an error message if the test image for surface downloading
11608           cannot be allocated or mapped.
11609
11610 2016-11-14 17:33:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11611
11612         * gst/vaapi/gstvaapivideomemory.c:
11613           vaapivideomemory: remove unused macros
11614           These macros are not used. Let us remove them.
11615
11616 2016-11-11 19:45:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11617
11618         * gst/vaapi/gstvaapivideomemory.c:
11619         * gst/vaapi/gstvaapivideomemory.h:
11620           vaapivideomemory: rename video for allocation_info
11621           Since video_info stores the GstVideoInfo of the allocation caps,
11622           it is clear if we rename it as allocation_info, to distinguish it
11623           later from negotiation_info.
11624
11625 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
11626
11627         * gst/vaapi/gstvaapivideomemory.c:
11628         * gst/vaapi/gstvaapivideomemory.h:
11629           vaapivideomemory: add real GstVaapiDmaBufAllocator
11630           Instead of defining GstVaapiDmaBufAllocator as a hackish decorator of
11631           GstDmaBufAllocator, now, since the expose of the GstDmaBufAllocator's
11632           GType, GstVaapiDmaBufAllocator is a full feature GstAllocator inherited
11633           from GstDmaBufAllocator.
11634           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11635           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11636
11637 2016-10-19 15:30:09 +0100  Julien Isorce <j.isorce@samsung.com>
11638
11639         * gst/vaapi/gstvaapivideomemory.c:
11640           vaapivideomemory: errors in gst_vaapi_dmabuf_allocator_new()
11641           Add a helper function to initialize the gst_debug_vaapivideomemory,
11642           to use it either by the GstVaapiVideoAllocatorClass or
11643           GstVaapiDmabufAllocator (which is a decorator of GstDmaBufAllocator).
11644           Later, log possible errors when calling gst_vaapi_dmabuf_allocator_new ()
11645           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11646
11647 2016-11-29 15:14:32 +0900  Hyunjun Ko <zzoon@igalia.com>
11648
11649         * gst/vaapi/gstvaapiencode.c:
11650           vaapiencode: release internal encoder at stop()
11651           As the internal encoder is created at start(), let's release it at
11652           stop() vmethod, to be consistent.
11653           gst_vaapiencode_destroy() is called since it also resets the input and
11654           output states, which is something that the base class does internally
11655           after calling stop() vmethod.
11656           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11657           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11658
11659 2016-12-03 08:20:56 +0100  Edward Hervey <bilboed@bilboed.com>
11660
11661         * common:
11662           Automatic update of common submodule
11663           From f49c55e to 39ac2f5
11664
11665 2016-11-29 14:59:02 +0900  Hyunjun Ko <zzoon@igalia.com>
11666
11667         * gst/vaapi/gstvaapiencode.c:
11668           vaapiencode: call ensure_encoder() at start()
11669           Currently, specific encoder is created during set_format(). This might
11670           lead to race condition when creating profiles with multiple encoders.
11671           This patch moves ensure_encoder() call to start() vmethod to ensure
11672           avoiding the race condition.
11673           https://bugzilla.gnome.org/show_bug.cgi?id=773546
11674
11675 2016-11-21 19:29:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11676
11677         * gst/vaapi/gstvaapidecodebin.c:
11678           vaapidecodebin: bring back dynamic configuration
11679           In commit ca0c3fd6 we remove the dynamic configuration if the bin
11680           because we assumed that the bin will be always static as it is
11681           registered.
11682           Nonetheless we were wrong, because it is possible to request, with a
11683           property, to avoid the use of the post-processor.
11684           Since we want to add a way to disable the post-processor through
11685           environment variables, this remove feature is required again.
11686           If the environment variable GST_VAAPI_DISABLE_VPP is defined the
11687           postprocessor inside of the vaapidecodebin is disabled, then
11688           vaapidecodebin is an alias of the old vaapidecode.
11689           https://bugzilla.gnome.org/show_bug.cgi?id=775041
11690
11691 2016-11-21 18:25:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11692
11693         * gst/vaapi/gstvaapidecode.c:
11694           vaapidecode: implement negotiate() vmethod
11695           Instead of decorating the negotiate() method, let us override it,
11696           so the stream is locked while called.
11697           https://bugzilla.gnome.org/show_bug.cgi?id=775040
11698
11699 2016-11-26 11:27:26 +0000  Tim-Philipp Müller <tim@centricular.com>
11700
11701         * .gitmodules:
11702           common: use https protocol for common submodule
11703           https://bugzilla.gnome.org/show_bug.cgi?id=775110
11704
11705 2016-11-24 21:17:54 +0100  Dominique Leuenberger <dimstar@opensuse.org>
11706
11707         * gst-libs/gst/vaapi/Makefile.am:
11708           build: add LIBVA_WAYLAND_CFLAGS to libgstvaapiegl
11709           In case libva-wayland has its headers not installed in default
11710           locations (like /usr/include), the build fails to include "wayland-client.h":
11711           CC       libgstvaapi_egl_la-gstvaapiutils_egl.lo
11712           In file included from gstvaapidisplay_wayland.h:27:0,
11713           from gstvaapidisplay_egl.c:35:
11714           /usr/include/va/va_wayland.h:31:28: fatal error: wayland-client.h: No such file or directory
11715           #include <wayland-client.h>
11716           As we already passed VA_CLAGS, /usr/include/va/va_wayland.h could be found, but it is
11717           our fault not to instruct the system that we ALSO care for va_wayland. We correctly query
11718           for libva-wayland.pc in configure and use this in other places as well. It is thus only
11719           correct and consequent, to do it also at this spot.
11720           https://bugzilla.gnome.org/show_bug.cgi?id=773946
11721
11722 2015-10-28 12:55:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11723
11724         * gst/vaapi/gstvaapivideocontext.c:
11725           vaapivideocontext: log a message if no bus
11726           Raise a warning if there is no bus when the element tries to post a
11727           message.
11728
11729 2015-10-28 12:57:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11730
11731         * gst/vaapi/gstvaapisink.c:
11732           vaapisink: create display at open()
11733           Instead of creating the VA display before setting the bus to the
11734           element, it is created when the element is opened.
11735           Basically, this commit is a revert of
11736           5e5d62cac79754ba60057fc2516135aad8d7de35
11737           That was done when the GStreamer's context sharing was not mature
11738           enough as now. There is no reason to keep this hack.
11739
11740 2016-11-04 18:04:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11741
11742         * gst/vaapi/gstvaapidecode.c:
11743           vaapidecode: don't add video crop meta
11744           Since the differentiation of negotiation caps and allocation caps,
11745           there is no need to add a video crop meta with the negotiation caps.
11746           Hence, removing it.
11747           https://bugzilla.gnome.org/show_bug.cgi?id=773948
11748
11749 2015-03-19 21:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11750
11751         * gst/vaapi/gstvaapivideobuffer.c:
11752         * gst/vaapi/gstvaapivideometa.c:
11753         * gst/vaapi/gstvaapivideometa.h:
11754           remove the video converter from vaapi buffer meta
11755           Since all the video converter were deprecated in gstreamer-1.2, we don't need
11756           to handle them anymore in the vaapi's buffer meta.
11757           This patch removes its usage and the buffer meta's API for that.
11758           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11759
11760 2016-11-21 18:28:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11761
11762         * gst/vaapi/gstvaapipluginbase.c:
11763           plugins: destroy source pad allocator and pool
11764           First, deactivate source pad pool when the out caps change, and if so,
11765           destroy texture map, the source pad allocator and pool only if the
11766           new caps are different from the ones already set.
11767
11768 2016-11-21 19:17:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11769
11770         * gst/vaapi/gstvaapipluginbase.c:
11771           plugins: don't destroy sink pad allocator
11772           Don't destroy sink pad allocator at _set_caps() because it will be done at
11773           ensure_sinkpad_buffer_pool() if it is required.
11774
11775 2016-11-21 18:27:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11776
11777         * gst/vaapi/gstvaapipluginbase.c:
11778           plugins: first validate the out caps
11779           When calling _set_caps() first validate the out caps before doing
11780           anything else.
11781
11782 2016-11-21 18:42:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11783
11784         * gst/vaapi/gstvaapidecode.c:
11785           vaapidecode: negotiate after destroying allocator
11786           This is related with bug 758907 when no vaapipostproc is used (no
11787           vaapidecodebin). In order to negotiate downstream we need to destroy
11788           the source pad allocator, otherwise the same allocated buffers are
11789           used, failing the mapping.
11790
11791 2016-11-21 16:35:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11792
11793         * gst/vaapi/gstvaapivideomemory.c:
11794           vaapivideomemory: remove GST_VAAPI_TYPE_VIDEO_INFO
11795           Remove redundant GST_VAAPI_TYPE_VIDEO_INFO, since it is a duplicate of
11796           GST_TYPE_VIDEO_INFO created before gstreamer 1.6, where the boxed type
11797           was created.
11798           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11799
11800 2016-11-21 12:51:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11801
11802         * gst/vaapi/gstvaapipluginbase.c:
11803           plugins: update the src pad allocator video info
11804           Update the size, stride and offset of the source pad allocator video
11805           info, so the pool could set the correct GstVideoMeta
11806           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11807
11808 2016-11-21 12:36:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11809
11810         * gst/vaapi/gstvaapivideomemory.c:
11811           vaapivideomemory: add missing documentation
11812           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11813
11814 2016-11-21 12:29:26 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11815
11816         * gst/vaapi/gstvaapipluginbase.c:
11817           plugins: use early return without goto
11818           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11819
11820 2016-11-21 11:25:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11821
11822         * gst/vaapi/gstvaapipluginbase.c:
11823         * gst/vaapi/gstvaapivideomemory.c:
11824         * gst/vaapi/gstvaapivideomemory.h:
11825           plugins: add allocator to allocation query
11826           This patch adds the created allocator to the allocation query either
11827           in decide_allocation() and propose_allocation() vmehtods.
11828           With it, there's no need to set the modified allocator's size in the
11829           pool configuration.
11830           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11831
11832 2016-10-19 15:15:01 +0100  Julien Isorce <j.isorce@samsung.com>
11833
11834         * gst/vaapi/gstvaapivideobufferpool.c:
11835           vaapivideobufferpool: set correct buffer size
11836           We should set the correct buffer size when we are configuring the pool,
11837           otherwise the buffer will be discarded when it returns to the pool.
11838           Indeed when the ref-count of a buffer reaches zero, its pool will queue
11839           it back (and ref it) if, and only if, the buffer size matches the
11840           configured buffer size on the pool.
11841           This issue can be debugged with GST_DEBUG=*PERF*:6, see gstbufferpool.c
11842           https://bugzilla.gnome.org/show_bug.cgi?id=774782
11843
11844 2016-11-10 13:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11845
11846         * gst/vaapi/gstvaapivideomemory.c:
11847           vaapivideomemory: check for memory allocator
11848           When calling gst_vaapi_video_memory_copy() the allocator of the memory
11849           to copy should be allocated by the vaapi allocator.
11850           This patch does this verification.
11851
11852 2016-11-10 13:25:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11853
11854         * gst/vaapi/gstvaapivideomemory.c:
11855           vaapivideomemory: code style fixes
11856           A cosmetic commit for enhance readability of the casts and method
11857           preconditions.
11858
11859 2016-11-09 19:49:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11860
11861         * gst/vaapi/gstvaapivideomemory.c:
11862           vaapivideomemory: unroll gst_vaapi_video_allocator_free()
11863           Instead of having a gst_vaapi_video_memory_free() that is only going to
11864           be called by gst_vaapi_video_allocator_free(), let's just remove the first
11865           and merged into the second.
11866
11867 2016-11-09 19:29:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11868
11869         * gst/vaapi/gstvaapivideomemory.c:
11870           vaapivideomemory: avoid virtual methods casting
11871           Use the expected virtual method signatures for readability.
11872
11873 2016-11-09 18:58:20 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11874
11875         * gst/vaapi/gstvaapivideomemory.c:
11876           vaapivideomemory: remove unimplemented methods
11877           Remove unimplemented method for allocator mem_share() and mem_is_span().
11878
11879 2016-11-09 18:54:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11880
11881         * gst/vaapi/gstvaapivideomemory.c:
11882           vaapivideomemory: fail if frame map can't get plane
11883           If map() vmethod in GstVideMeta cannot get the plane data, return false,
11884           thus the caller will not try to read invalid memory.
11885           https://bugzilla.gnome.org/show_bug.cgi?id=774213
11886
11887 2016-11-09 18:39:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11888
11889         * gst/vaapi/gstvaapivideomemory.c:
11890         * gst/vaapi/gstvaapivideomemory.h:
11891           vaapivideomemory: lock map and unmap operations
11892           In order to avoid race condition when two threads call map/unmap the same
11893           VA surface, this patch mutex these operations.
11894           https://bugzilla.gnome.org/show_bug.cgi?id=774213
11895
11896 2016-11-09 17:37:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11897
11898         * gst/vaapi/gstvaapivideomemory.c:
11899           vaapivideomemory: refactor vaapi memory unmapping
11900           There were duplicated code in gst_video_meta_unmap_vaapi_memory() and
11901           gst_vaapi_video_memory_unmap() when unmapping.
11902           This patch refactors both methods adding the common function
11903           unmap_vaapi_memory(). This also ensures, if direct rendering is enabled, it
11904           is correctly reset.
11905           Additionally, only when mapping flag has the WRITE bit, it set the image as
11906           current, which was done in gst_video_meta_map_vaapi_memory() but no in
11907           gst_vaapi_video_memory_map().
11908           In order to make this, the mapping flags were required, so instead of
11909           overloading mem_unmap() virtual function, mem_unmap_full() is overloaded.
11910           https://bugzilla.gnome.org/show_bug.cgi?id=774213
11911
11912 2016-11-09 13:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11913
11914         * gst/vaapi/gstvaapivideomemory.c:
11915           vaapivideomemory: refactor vaapi memory mapping
11916           There were duplicated code in gst_video_meta_map_vaapi_memory() and
11917           gst_vaapi_video_memory_map() when doing the READ and WRITE mapping.
11918           This patch refactors both methods adding the common function
11919           map_vaapi_memory().
11920           Additionally, only when flag has the READ bit it calls
11921           ensure_images_is_current(), which was done in
11922           gst_video_meta_map_vaapi_memory() but no in
11923           gst_vaapi_video_memory_map().
11924           https://bugzilla.gnome.org/show_bug.cgi?id=772151
11925
11926 2016-10-27 18:22:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11927
11928         * gst/vaapi/gstvaapidecode.c:
11929           vaapidecode: unref allowed_sinkpad_caps at close()
11930           The variable member allowed_sinkpad_caps is constructed querying the
11931           current VA display. Bearing that in mind, the variable shall be freed
11932           when the VA display changes or is removed.
11933           This patch moves the freeing of allowed_sinkpad_caps to close(), when
11934           the VA display is freed.
11935
11936 2016-11-11 11:40:09 +0900  Hyunjun Ko <zzoon@igalia.com>
11937
11938         * gst/vaapi/gstvaapisink.c:
11939           vaapisink: finish event thread at stop()
11940           The thread that handles window's events should be finished during
11941           pipeline's shutdown, otherwise it will remain alive during pipeline
11942           re-activation, leading to unexpected problems.
11943           This patch fixes failures of intensive_state_change scenario of
11944           gst-validate
11945           https://bugzilla.gnome.org/show_bug.cgi?id=774241
11946
11947 2016-11-08 09:35:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11948
11949         * gst/vaapi/gstvaapipostproc.c:
11950           vaapipostproc: enhance debug message
11951           "gst_pad_push" is not a good description of the event.
11952
11953 2016-11-08 10:05:32 +0900  Hyunjun Ko <zzoon@igalia.com>
11954
11955         * gst/vaapi/gstvaapipostproc.c:
11956           postproc: honor gst_pad_push() return value
11957           Returning GST_FLOW_ERROR always when gst_pad_push fails might lead to
11958           deadlock during seek.
11959           This patch returns the same error of gst_pad_push() and log out the
11960           return value.
11961           https://bugzilla.gnome.org/show_bug.cgi?id=774030
11962
11963 2016-11-04 16:26:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11964
11965         * gst/vaapi/gstvaapidecode.c:
11966           vaapidecode: guard GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS
11967           In commit 6d11a00 were introduced a regression when gstreamer-vaapi is
11968           compiled with out EGL/GLX support: it shall not support
11969           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
11970           This patch guards the inclusion of GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS in the
11971           allowed src caps for vaapedecode if EGL/GLX.
11972
11973 2016-11-04 12:55:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11974
11975         * gst/vaapi/gstvaapivideomemory.c:
11976           vaapivideomemory: increment map counter only if succeeded
11977           Previously the frame map counter increased independently if the map succeeded
11978           or not. This leaded to critical messages and crashes if the frame was unable
11979           to be mapped, but the counter increased.
11980           This patch increases the map counter only if the map operation occurred.
11981           https://bugzilla.gnome.org/show_bug.cgi?id=773939
11982
11983 2016-11-03 17:30:46 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11984
11985         * gst/vaapi/gstvaapipluginbase.c:
11986           plugins: set negotiation caps in src allocator
11987           When the allocator is created, it stores the allocation caps. But sometimes
11988           the "allocation caps" may be different from the "negotiation caps".
11989           In this case, the allocator should store the negotiation caps since they
11990           are the ones used for frame mapping with GstVideoMeta.
11991           When vaapispostproc is used, this is not a problem since the element is assume
11992           to resize. But when using a vaapi decoder only, with a software renderer, it
11993           fails in this case.
11994           https://bugzilla.gnome.org/show_bug.cgi?id=773323
11995
11996 2016-07-19 16:40:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11997
11998         * gst/vaapi/gstvaapidecode.c:
11999         * gst/vaapi/gstvaapidecode.h:
12000           vaapidecode: generate source pad caps
12001           Just as vaapipostproc, VA decoder's context can be queried to get the possible
12002           raw formats, so, the src caps can negotiate the exact caps that the context
12003           supports.
12004
12005 2016-02-25 18:57:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12006
12007         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12008         * gst-libs/gst/vaapi/gstvaapidecoder.h:
12009           libs: decoder: add _get_surface_formats()
12010           This function exposes the available formats of the surfaces in the the current
12011           context to the plugins.
12012
12013 2016-02-18 19:32:58 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12014
12015         * gst-libs/gst/vaapi/gstvaapicontext.c:
12016         * gst-libs/gst/vaapi/gstvaapicontext.h:
12017           libs: context: ensure context formats
12018           This patch ensures to get the formats, as filter does, available in the
12019           decoder / encoder context.
12020           The context fills up the array as soon it is created, otherwise the pipeline
12021           could get stalled (perhaps this is a bug in my HSW backend).
12022           https://bugzilla.gnome.org/show_bug.cgi?id=752958
12023
12024 2016-02-18 19:20:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12025
12026         * gst-libs/gst/vaapi/gstvaapifilter.c:
12027         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
12028         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
12029           libs: move get_surface_formats to utils_core
12030           The query of all the supported formats for a VA config were only used by the
12031           postprocessor (vaapifilter). But, in order to enable the vaapidecoder to
12032           negotiate a suitable raw format with downstream, we need to query these
12033           formats against the decoder's config.
12034           This patch is the first step: moves the code in filter's ensure_image() to a
12035           generic gst_vaapi_get_surface_formats() in vaapiutils_core, so it can be
12036           shared later by the decoder.
12037           https://bugzilla.gnome.org/show_bug.cgi?id=752958
12038
12039 2016-07-19 18:56:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12040
12041         * gst/vaapi/gstvaapipluginbase.c:
12042           plugins: remove set_sinkpad_dmabuf_allocator()
12043           Since when the sink pad allocator is created, it is decided if the required
12044           one is vaapi allocator or dmabuf allocator, there is no need to force its set
12045           again.
12046
12047 2016-10-27 11:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12048
12049         * gst/vaapi/gstvaapipluginbase.c:
12050           plugins: ensure display when getting raw caps
12051           When running gst-discoverer-1.0, in certain media, vaapipostroc is stopped
12052           meanwhile it is transforming caps. The problem is that stop() calls
12053           gst_vaapi_plugin_base_close(), which nullifies the element's va display, but
12054           the va display is used in tranform_caps() when it is extracting the possible
12055           format conversions. This display disappearing generates warning messages.
12056           This patch holds a local reference of va display at ensure_allowed_raw_caps()
12057           hence it doesn't go away meanwhile it is used, even if the
12058           gst_vaapi_plugin_base_close() is called in other thread.
12059           https://bugzilla.gnome.org/show_bug.cgi?id=773593
12060
12061 2016-11-03 12:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12062
12063         * gst/vaapi/gstvaapiencode_h264.c:
12064         * gst/vaapi/gstvaapiencode_h265.c:
12065           plugins: fix code style for errors
12066
12067 2016-10-19 19:04:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12068
12069         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
12070         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
12071         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
12072         * gst-libs/gst/vaapi/gstvaapicontext.c:
12073         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
12074         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12075         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
12076         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12077         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12078         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
12079         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
12080         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
12081         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
12082         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
12083         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12084         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
12085         * gst-libs/gst/vaapi/gstvaapiencoder.c:
12086         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12087         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12088         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
12089         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
12090         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
12091         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
12092         * gst-libs/gst/vaapi/gstvaapifilter.c:
12093         * gst-libs/gst/vaapi/gstvaapiimage.c:
12094         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
12095         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
12096         * gst-libs/gst/vaapi/gstvaapipixmap.c:
12097         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
12098         * gst-libs/gst/vaapi/gstvaapisurface.c:
12099         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
12100         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
12101         * gst-libs/gst/vaapi/gstvaapitexture.c:
12102         * gst-libs/gst/vaapi/gstvaapiutils.c:
12103         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
12104         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
12105         * gst-libs/gst/vaapi/gstvaapiwindow.c:
12106         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12107         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12108           libs: fix code style for errors
12109
12110 2016-11-03 09:31:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12111
12112         * gst/vaapi/gstvaapipluginbase.c:
12113         * gst/vaapi/gstvaapivideocontext.c:
12114           plugins: update GstGL deprecated symbol
12115           GST_GL_TYPE_CONTEXT was deprecated. Now it is GST_TYPE_GL_CONTEXT.
12116
12117 2016-10-21 11:48:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12118
12119         * gst/vaapi/gstvaapipluginbase.c:
12120           plugins: direct render when raw video
12121           Enable the direct rendering with linear surfaces if the negotiated src caps
12122           are video/x-raw without features.
12123           Pass also the caps, since they are needed to know the requested caps features.
12124
12125 2016-10-24 20:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12126
12127         * gst/vaapi/gstvaapipluginbase.c:
12128           plugins: move src allocator error to instantiator
12129           Just as we did in ensure_sinkpad_allocator(), let's move the error message
12130           into the ensure_srcpad_allocator() from the caller,
12131           gst_vaapi_plugin_base_decide_allocation()
12132
12133 2016-10-20 19:37:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12134
12135         * gst/vaapi/gstvaapipluginbase.c:
12136           plugins: enable direct upload if raw video
12137           Enable the direct upload with linear surfaces if the negotiated sink caps are
12138           video/x-raw without features.
12139
12140 2016-10-21 11:21:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12141
12142         * gst/vaapi/gstvaapipluginutil.c:
12143         * gst/vaapi/gstvaapipluginutil.h:
12144           pluginutil: add gst_caps_is_video_raw()
12145
12146 2016-10-24 19:25:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12147
12148         * gst/vaapi/gstvaapipluginbase.c:
12149           plugins: receive caps in ensure_sinkpad_allocator()
12150           Instead of receiving the GstVideoInfo structure as parameter, get the original
12151           GstCaps from ensure_sinkpad_buffer_pool(), in this way we could decide better
12152           which allocator instantiate.
12153
12154 2016-10-20 19:31:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12155
12156         * gst/vaapi/gstvaapivideomemory.c:
12157           vaapivideomemory: destroy derived image at unmap
12158           If the allocator was configured to use direct upload or rendering, the
12159           generated derived image created at mapping needs to be destroyed after
12160           unmapping, because, in order to process the surface, it should not be marked
12161           as "busy" by the driver.
12162
12163 2016-10-21 11:57:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12164
12165         * gst/vaapi/gstvaapivideomemory.c:
12166           vaapivideomemory: enhance logs for direct modes
12167           Print, conditionally, only the enabled direct mode.
12168
12169 2016-10-20 17:02:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12170
12171         * gst/vaapi/gstvaapivideomemory.c:
12172         * gst/vaapi/gstvaapivideomemory.h:
12173           vaapivideomemory: add direct upload flag
12174           Adds the direct-upload flag in the GstVaapiVideoAllocator and
12175           GstVaapiVideoMemory.
12176           It still doesn't apply any functional change.
12177
12178 2016-10-20 16:49:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12179
12180         * gst/vaapi/gstvaapipluginbase.c:
12181         * gst/vaapi/gstvaapivideomemory.c:
12182         * gst/vaapi/gstvaapivideomemory.h:
12183           vaapivideomemory: set direct rendering at run-time
12184           The way to experiment with the direct rendering is through and internal
12185           compiler pre-processor flag.
12186           The current change set enables a way to specified at run-time, as a flag
12187           passed to the allocator at instanciation time.
12188
12189 2016-10-20 18:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12190
12191         * gst/vaapi/gstvaapivideomemory.c:
12192           vaapivideomemory: log in perf category when copy
12193           Log in performance category when the derive image handling fails, falling back
12194           to memory copy.
12195
12196 2016-10-20 16:31:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12197
12198         * gst/vaapi/gstvaapivideomemory.c:
12199           vaapivideomemory: error log is derive image fails
12200           Instead of a silently failure of the derive image, this patch log an error
12201           message according to the failure.
12202
12203 2016-10-20 12:52:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12204
12205         * gst/vaapi/gstvaapivideomemory.c:
12206           vaapivideomemory: store surface alloc flags in qdata
12207           For sake of consistency, we should add the requested surface allocation flags
12208           to the object's qdata structure.
12209
12210 2016-10-20 12:22:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12211
12212         * gst/vaapi/gstvaapivideomemory.c:
12213           vaapivideomemory: category init when object define
12214           Move the Gstreamer debug category initialize to the GObject definition.
12215
12216 2016-11-03 08:31:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12217
12218         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
12219           libs: vaapitexturemap: trivial code-style fix
12220
12221 2016-11-02 20:01:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12222
12223         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12224           libs: display: egl: avoid recreate native display
12225           Instead of passing the native descriptor of the display, just pass the received
12226           GstVaapiDisplay and reuse it.
12227
12228 2016-11-02 15:38:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12229
12230         * gst/vaapi/gstvaapipluginbase.c:
12231           plugins: log the GstVaapiDisplay name
12232           Now that GstVaapiDisplay is descendant of GstObject, it has a human-friendly
12233           name. Log it instead of the memory address.
12234
12235 2016-11-02 18:37:00 +0900  Hyunjun Ko <zzoon@igalia.com>
12236
12237         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
12238           libs: window: egl: pass native va display
12239           When creating a GstVaapiWindowEGL, it also creates native window by its own
12240           native display. It should pass the native display, either X11 or Wayland.
12241           https://bugzilla.gnome.org/show_bug.cgi?id=768266
12242
12243 2016-10-13 12:53:17 +0900  Hyunjun Ko <zzoon@igalia.com>
12244
12245         * gst-libs/gst/vaapi/gstvaapidebug.h:
12246         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12247         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12248         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12249         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
12250         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
12251         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12252         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
12253         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
12254         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12255         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
12256         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
12257         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12258         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12259         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
12260         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
12261         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
12262         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
12263         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
12264         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
12265         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
12266         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
12267         * gst/vaapi/gstvaapivideocontext.c:
12268           libs: display: GstVaapiDisplay as GstObject descendant
12269           This patch is to change the inheritance of GstVaapiDisplay to GstObject,
12270           instead of GstVaapiMiniObject. In this way we can use all the available
12271           infrastructure for GObject/GstObject such as GstTracer, GIR, etc.
12272           In addition, a new debug category for GstVaapiDisplay is created to make it
12273           easier to trace debug messages. It is named "vaapidisplay" and it transverse
12274           all the VA display backends (DRM, GLX, EGL, Wayland, ...)
12275           This patch is a step forward to expose GstVaapiDisplay for users in a future
12276           library.
12277           https://bugzilla.gnome.org/show_bug.cgi?id=768266
12278           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12279
12280 === release 1.11.0 ===
12281
12282 2016-11-01 18:54:54 +0200  Sebastian Dröge <sebastian@centricular.com>
12283
12284         * configure.ac:
12285           Back to development
12286
12287 === release 1.10.0 ===
12288
12289 2016-11-01 18:19:32 +0200  Sebastian Dröge <sebastian@centricular.com>
12290
12291         * ChangeLog:
12292         * NEWS:
12293         * configure.ac:
12294         * gstreamer-vaapi.doap:
12295           Release 1.10.0
12296
12297 2016-10-27 17:13:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12298
12299         * gst/vaapi/gstvaapidecodebin.c:
12300           vaapidecodebin: resurrect disable-vpp property
12301           https://bugzilla.gnome.org/show_bug.cgi?id=773589
12302
12303 2016-10-27 16:32:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12304
12305         * gst/vaapi/gstvaapidecodebin.c:
12306           vaapidecodebin: name the internal queue
12307           https://bugzilla.gnome.org/show_bug.cgi?id=773589
12308
12309 2016-10-27 16:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12310
12311         * gst/vaapi/gstvaapidecodebin.c:
12312         * gst/vaapi/gstvaapidecodebin.h:
12313           vaapidecodebin: remove unused variables
12314           Since vaapipostproc is only registered if the driver supports it, all the
12315           support for dynamic loading were removed. Though some leftovers remained.
12316           https://bugzilla.gnome.org/show_bug.cgi?id=773589
12317
12318 2016-10-27 12:53:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12319
12320         * docs/plugins/Makefile.am:
12321         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
12322         * docs/plugins/running.xml:
12323           docs: document environment variables
12324           https://bugzilla.gnome.org/show_bug.cgi?id=773544
12325
12326 2016-10-27 12:31:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12327
12328         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
12329         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
12330         * gst/vaapi/Makefile.am:
12331         * gst/vaapi/gstvaapidecode.c:
12332         * gst/vaapi/gstvaapidecodebin.c:
12333         * gst/vaapi/gstvaapidecodedoc.c:
12334           docs: replace vaapidecode with each codec
12335           In the spirit of the codec split, this patch removes the documentation of
12336           vaapidecode and adds a page per each possible decoder.
12337           Nonetheless, only those available in the compilation system are going to be
12338           instrospected, because the rest are not registered.
12339
12340 2016-10-27 11:06:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12341
12342         * gst/vaapi/gstvaapipluginutil.c:
12343         * gst/vaapi/gstvaapivideobuffer.c:
12344         * gst/vaapi/gstvaapivideometa.c:
12345           docs: add missing long descriptions
12346
12347 2016-10-25 14:32:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12348
12349         * gst/vaapi/gstvaapipostproc.c:
12350           vaapipostproc: use GST_*_OBJECT when possible
12351           Since we can have several vaapipostproc operating in a pipeline, it is useful
12352           to know which one is generating the logging message.
12353           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12354
12355 2016-07-19 17:00:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12356
12357         * gst/vaapi/gstvaapidecode.c:
12358         * gst/vaapi/gstvaapidecode.h:
12359           vaapidecode: rename member to allowed_sinkpad_caps
12360           vaapidecode has a member named allowed_caps, but this name is not enough
12361           explicit. This patch renames allowed_caps to allowed_sinkpad_caps.
12362           No functional changes were included.
12363           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12364
12365 2016-10-20 18:12:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12366
12367         * gst/vaapi/gstvaapiencode_h264.c:
12368         * gst/vaapi/gstvaapiencode_h265.c:
12369         * gst/vaapi/gstvaapisink.c:
12370         * gst/vaapi/gstvaapivideomemory.c:
12371         * gst/vaapi/gstvaapivideometa.c:
12372         * gst/vaapi/gstvaapivideometa_texture.c:
12373           plugins: fix code style for errors
12374           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12375
12376 2016-10-20 17:01:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12377
12378         * gst/vaapi/gstvaapivideomemory.c:
12379           vaapivideomemory: comment style
12380           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12381
12382 2016-10-20 11:19:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12383
12384         * gst/vaapi/gstvaapivideomemory.c:
12385         * gst/vaapi/gstvaapivideomemory.h:
12386           vaapivideomemory: rename input parameter
12387           In order to clarify the use of flag as input parameter, it is renamed to
12388           surface_alloc_flag, since it is used when creating a VA surface with certain
12389           properties.
12390           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12391
12392 2016-10-25 19:22:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12393
12394         * gst/vaapi/gstvaapidecode.c:
12395           vaapidecode: rename element description
12396           So encoders and decoders have similar descriptions.
12397           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12398
12399 2016-08-02 11:32:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12400
12401         * gst/vaapi/gstvaapiencode_h264.c:
12402         * gst/vaapi/gstvaapiencode_h265.c:
12403           vaapiencode: h264, h265: rename codec name
12404           So encoder and decoders have the same codec name.
12405           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12406
12407 2016-07-29 15:17:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12408
12409         * gst/vaapi/gstvaapipluginbase.c:
12410           plugins: simplify code
12411           Merge two lines of variable declarations.
12412           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12413
12414 2016-10-07 18:46:22 +0900  Hyunjun Ko <zzoon@igalia.com>
12415
12416         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12417         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
12418         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
12419         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12420           libs: minor correction for logical consistency
12421           GstVaapiDecode is a descendant of GstVaapiMiniObject, so, thought we should
12422           use its methods, even though it doesn't change functionality.
12423           GstVaapiPixmap, GstVaapiTexture and GstVaapiWindow are descendant of
12424           GstVaapiObject, hence its methods shall be used.
12425           https://bugzilla.gnome.org/show_bug.cgi?id=772554
12426
12427 2016-10-19 15:39:54 +0100  Julien Isorce <j.isorce@samsung.com>
12428
12429         * gst/vaapi/gstvaapivideomemory.c:
12430           vaapivideomemory: add explanation about the call 'dup (dmabuf_fd)'
12431           In short GstFdMemory is configured to call close when using
12432           GstDmabufMemory.
12433           https://bugzilla.gnome.org/show_bug.cgi?id=755072
12434
12435 2016-09-02 16:42:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12436
12437         * configure.ac:
12438         * gst-libs/gst/vaapi/Makefile.am:
12439           build: clean up the dlopen usage
12440
12441 2016-10-08 14:33:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12442
12443         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12444         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12445           encoder: h264,h265: fix regression in offset count
12446           In commit dc35dafa a bug was introduced because I assumed that
12447           GST_CLOCK_TIME_NONE is zero when is -1. This patch fixes that mistake.
12448           https://bugzilla.gnome.org/show_bug.cgi?id=772259
12449
12450 2016-10-18 17:02:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12451
12452         * README:
12453           docs: update README
12454
12455 2016-09-27 17:29:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12456
12457         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12458           libs: display: egl: remove unused header include
12459           The header gmodule.h is not used since the library dynamic loading for EGL
12460           display was removed.
12461           https://bugzilla.gnome.org/show_bug.cgi?id=772599
12462
12463 === release 1.9.90 ===
12464
12465 2016-09-30 13:05:20 +0300  Sebastian Dröge <sebastian@centricular.com>
12466
12467         * ChangeLog:
12468         * NEWS:
12469         * common:
12470         * configure.ac:
12471         * gstreamer-vaapi.doap:
12472           Release 1.9.90
12473
12474 2016-03-04 16:35:11 +0900  Vineeth TM <vineeth.tm@samsung.com>
12475
12476         * gst/vaapi/gstvaapidecode.c:
12477         * gst/vaapi/gstvaapidecodebin.c:
12478         * gst/vaapi/gstvaapiencode_h264.c:
12479         * gst/vaapi/gstvaapiencode_h265.c:
12480         * gst/vaapi/gstvaapiencode_jpeg.c:
12481         * gst/vaapi/gstvaapiencode_mpeg2.c:
12482         * gst/vaapi/gstvaapiencode_vp8.c:
12483         * gst/vaapi/gstvaapipostproc.c:
12484         * gst/vaapi/gstvaapisink.c:
12485           vaapi: use new gst_element_class_add_static_pad_template()
12486           https://bugzilla.gnome.org/show_bug.cgi?id=763083
12487           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12488
12489 2016-09-22 16:34:48 +0900  Hyunjun Ko <zzoon@igalia.com>
12490
12491         * gst/vaapi/gstvaapipluginbase.c:
12492           plugins: reset textures at negotiation/shutdown
12493           When caps reconfiguration is called, the new downstream frame size might be
12494           different. Thus, if the downstream caps change,the display's texture map is
12495           reset.
12496           In addition, during pipeline shutdown, textures in texture map have to be
12497           released, since each one have a reference to the GstVaapiDisplay object, which
12498           is a dangerous circular reference.
12499           https://bugzilla.gnome.org/show_bug.cgi?id=769293
12500           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12501
12502 2016-09-22 16:34:38 +0900  Hyunjun Ko <zzoon@igalia.com>
12503
12504         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12505         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12506         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12507         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
12508         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12509         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
12510         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12511         * gst/vaapi/gstvaapivideometa_texture.c:
12512           libs: display{egl,glx}: cache GstVaapiTextures
12513           instances when created and reuse
12514           This patch improves performance when glimagesink uploads a GL texture.
12515           It caches the GStVaapiTexture instances in GstVaapiDisplay{GLX,EGL}, using an
12516           instance of GstVaapiTextureMap, so our internal texture structure can be found
12517           by matching the GL texture id for each frame upload process, avoiding the
12518           internal texture structure creation and its following destruction.
12519           https://bugzilla.gnome.org/show_bug.cgi?id=769293
12520           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12521
12522 2016-09-22 16:33:06 +0900  Hyunjun Ko <zzoon@igalia.com>
12523
12524         * gst-libs/gst/vaapi/Makefile.am:
12525         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
12526         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
12527           libs: vaapitexturemap: implement GstVaapiTextureMap
12528           Implement GstVaapiTextureMap object, which caches VAAPI textures, so them can be
12529           reused. Internally it is a hash table.
12530           Note that it is GstObject based rather than GstVaapiObject, as part of the future
12531           converstion to GstObject of most of the code.
12532           https://bugzilla.gnome.org/show_bug.cgi?id=769293
12533           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12534
12535 2016-09-21 09:55:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12536
12537         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
12538           encoder: vp8: Increase the allocation size for coded buffer
12539           We are not getting enough compression for some streams and
12540           encoded frame end up with more size than allocated.
12541           Assuming a compression ratio of 4, which should be good enough
12542           for holding the frames.
12543           https://bugzilla.gnome.org/show_bug.cgi?id=771528
12544
12545 2016-09-21 09:52:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12546
12547         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
12548           encoder: vp9: Fix refresh frame flag setting
12549           While doing the mode-1 referece picture selection,
12550           the circular buffer logic was not correctly setting the
12551           refresh frame flags as per VP9 spec.
12552           Make sure refresh_flag[0] get updated correclty after
12553           each cycle of GST_VP9_REF_FRAMES.
12554           https://bugzilla.gnome.org/show_bug.cgi?id=771507
12555
12556 2016-09-14 18:42:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12557
12558         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12559           vaapidecode: codec_data minimal size is 7
12560           When the format of a H.264 stream is AVC3, the SPS and PPS are inside the
12561           stream, not in the codec_data, so the size of codec_data might be 7.
12562           This patch reduces the minimal size of the codec_data buffer from 8 to 7.
12563           https://bugzilla.gnome.org/show_bug.cgi?id=771441
12564
12565 2016-09-14 16:29:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12566
12567         * gst/vaapi/gstvaapidecode.c:
12568           vaapidecode: reset decoder hard when set_format()
12569           set_format() is called by upstream when the stream capabilites has changed.
12570           Before, if the new stream is compatible with the old one the VA decoder was
12571           not destroyed. Nonetheless, with this behavoir, the VA decoder ignores
12572           when the upstreamer parsers gets more details of the stream, such as the
12573           framerate. Hence, when the src caps are negotiates, the further sink caps
12574           updates are ignored.
12575           This patch forces the VA decoder destroying and recreation when set_format()
12576           is called.
12577           https://bugzilla.gnome.org/show_bug.cgi?id=770921
12578
12579 2016-09-14 11:31:39 +0200  Sebastian Dröge <sebastian@centricular.com>
12580
12581         * configure.ac:
12582           configure: Depend on gstreamer 1.9.2.1
12583
12584 2016-09-09 12:03:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12585
12586         * gst/vaapi/gstvaapivideomemory.c:
12587           Revert "vaapivideomemory: load VA Image when mapping to write"
12588           This reverts commit c67edea4aba35f16d9e97c78a0b49ad1b590b112.
12589
12590 2016-09-10 20:52:21 +1000  Jan Schmidt <jan@centricular.com>
12591
12592         * common:
12593           Automatic update of common submodule
12594           From b18d820 to f980fd9
12595
12596 2016-09-10 09:58:25 +1000  Jan Schmidt <jan@centricular.com>
12597
12598         * common:
12599           Automatic update of common submodule
12600           From f49c55e to b18d820
12601
12602 2016-09-08 16:16:09 +0900  Hyunjun Ko <zzoon@igalia.com>
12603
12604         * gst/vaapi/gstvaapipluginbase.c:
12605           plugins: set allocator's image size to sinkpad bufferpool
12606           Otherwise the buffer is always ditched by the bufferpool, losing performance.
12607           https://bugzilla.gnome.org/show_bug.cgi?id=771035
12608
12609 2016-09-07 17:34:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12610
12611         * gst-libs/gst/vaapi/gstvaapisurface.c:
12612           libs: surface: ensure composite overlay is not bigger
12613           Ensure the composition overlay rectangle (subtitles) is not bigger than
12614           the surface where it is going to be composited and rendered.
12615           https://bugzilla.gnome.org/show_bug.cgi?id=766978
12616
12617 2016-09-07 17:51:23 +0900  Hyunjun Ko <zzoon@igalia.com>
12618
12619         * gst/vaapi/gstvaapivideomemory.c:
12620           vaapivideomemory: load VA Image when mapping to write
12621           When calling gst_video_frame_map() with GST_MAP_WRITE flag, it doesn't call
12622           ensure_image_is_current(), which means it doesn't guarentee VAImage is valid
12623           in this case.
12624           https://bugzilla.gnome.org/show_bug.cgi?id=766978
12625
12626 2016-09-06 12:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12627
12628         * gst/vaapi/gstvaapidecode.c:
12629           vaapidecode: merge vc1 and wmv3 elements
12630           This patch merges vaapivc1dec and vaapiwmv3dec into a single
12631           vaapivc1dec. Also, removed the WMVA format, since it is not
12632           supported by libva.
12633           https://bugzilla.gnome.org/show_bug.cgi?id=734093
12634
12635 2016-09-06 11:19:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12636
12637         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
12638           decoder: vc1: fails only on advanced profile
12639           In commit 2eb4394 the frame coding mode was verified for progressive
12640           regardless the profile. But the FCM is only valid in the advanced
12641           profile. This patch checks for the advanced profile before verifying FCM for
12642           progressive.
12643           https://bugzilla.gnome.org/show_bug.cgi?id=769250
12644
12645 2016-09-01 12:39:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12646
12647         * gst/vaapi/gstvaapi.c:
12648           vaapi: DISPLAY envvar as dependency
12649           In a multiple video cards system, a X11 environment may have different VA
12650           capabilities. This patch tracks the DISPLAY environment variable to
12651           invalidates the GStreamer features cache. Also tracks WAYLAND_DISPLAY.
12652           https://bugzilla.gnome.org/show_bug.cgi?id=770357
12653
12654 2016-08-26 14:55:17 -0700  Scott D Phillips <scott.d.phillips@intel.com>
12655
12656         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
12657           decoder: vc1: Fail only on actual interlaced frames
12658           In the earlier patch:
12659           f31d9f3 decoder: vc1: Print error on interlaced content
12660           Decoding would error out if the interlace flag was set in the
12661           sequence bdu. This isn't quite right because a video can have this
12662           flag set and yet not have any interlaced pictures.
12663           Here instead we error out when either parsing a field bdu or
12664           decoding a frame bdu which has fcm set to anything other than
12665           progressive.
12666           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
12667           https://bugzilla.gnome.org/show_bug.cgi?id=769250
12668
12669 2016-09-01 12:34:48 +0300  Sebastian Dröge <sebastian@centricular.com>
12670
12671         * configure.ac:
12672           Back to development
12673
12674 === release 1.9.2 ===
12675
12676 2016-09-01 12:34:38 +0300  Sebastian Dröge <sebastian@centricular.com>
12677
12678         * ChangeLog:
12679         * NEWS:
12680         * configure.ac:
12681         * gstreamer-vaapi.doap:
12682           Release 1.9.2
12683
12684 2016-08-16 11:58:38 +0300  Scott D Phillips <scott.d.phillips@intel.com>
12685
12686         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
12687           decoder: vc1: Print error on interlaced content
12688           Interlaced video is as yet unsupported in the vc1 element. Print
12689           an error to make that more obvious.
12690           https://bugzilla.gnome.org/show_bug.cgi?id=769250
12691
12692 2016-08-10 13:29:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12693
12694         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12695           encoder: h264: fix C90 mixed declarations and code
12696           Commit 4259d1a introduced this compilation error. This patch fixes it.
12697
12698 2016-07-21 17:38:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12699
12700         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12701         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12702         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
12703         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
12704           encoder: h264,h265,mpeg2,vp8: use gst_util_uint64_scale() for bitrate
12705           Use gst_util_uint64_scale() to calculate bitrate instead of normal arithmetic
12706           to avoid overflows, underflows and loss of precision.
12707           https://bugzilla.gnome.org/show_bug.cgi?id=768458
12708
12709 2016-07-05 20:07:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12710
12711         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12712         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12713           vaapiencode: h264,h265: validate fps numerator
12714           Validate that fps numerator is non-zero so it can be used to calculate
12715           the duration of the B frame.
12716           Also it gst_util_uint64_scale() is used instead of normal arithmetic in
12717           order to aviod overflows, underflows and loss of precision.
12718           https://bugzilla.gnome.org/show_bug.cgi?id=768458
12719
12720 2016-08-06 12:54:17 +0100  Tim-Philipp Müller <tim@centricular.com>
12721
12722         * gst/vaapi/gstvaapi.c:
12723           encoders: demote to RANK_NONE since not fit for autoplugging yet
12724           Encoders claim to support a whole bunch of input formats but then
12725           just error out if the format is not actually supported, even if
12726           there's a converter in front. This means they're not fit for
12727           autoplugging in encodebin or camerabin yet and therefore should
12728           not have a rank. People can still use them in custom pipelines.
12729           https://bugzilla.gnome.org/show_bug.cgi?id=769266
12730
12731 2016-07-19 19:24:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12732
12733         * gst/vaapi/gstvaapipluginbase.c:
12734           plugins: check dmabuf-import for sink pad allocator
12735           Check earlier if upstream video source has activated the dmabuf-import
12736           io-mode (hack to disappear soon), thus we can avoid the re-assignation of a
12737           new allocator.
12738
12739 2016-07-19 20:02:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12740
12741         * gst/vaapi/gstvaapipluginbase.c:
12742           plugins: reset allocators if video info changed
12743           If the frame size or format, change, the allocators are reset, so a new ones
12744           can be created with the new video info.
12745
12746 2016-07-19 19:27:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12747
12748         * gst/vaapi/gstvaapipluginbase.c:
12749           plugins: remove sink pad allocator if caps change
12750           If the negotiated sinkpad caps change, destroy the assignated allocator,
12751           because it is not valid anymore.
12752
12753 2016-07-19 20:01:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12754
12755         * gst/vaapi/gstvaapipluginutil.c:
12756         * gst/vaapi/gstvaapipluginutil.h:
12757           pluginutil: const params to gst_video_info_changed()
12758           Since they are not modified, we should mark them as const.
12759
12760 2016-07-29 15:13:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12761
12762         * gst/vaapi/gstvaapipluginbase.c:
12763         * gst/vaapi/gstvaapivideomemory.c:
12764         * gst/vaapi/gstvaapivideomemory.h:
12765           gstvaapivideomemory: allocator's image size getter
12766           Add the method gst_allocator_get_vaapi_image_size() for the
12767           GstVaapiVideoAllocator, which gets the size of the allocated images with the
12768           current video info.
12769           This method replaces the direct call to the allocator's image info when the
12770           pool is configured.
12771
12772 2016-07-29 18:06:30 +0900  Hyunjun Ko <zzoon@igalia.com>
12773
12774         * gst/vaapi/gstvaapipluginbase.c:
12775           plugins: update buffer pool size with new allocator's image size
12776           Depends on media, video size is sometimes updated with new allocator.
12777           It leads to dismatch between bufferpool's set size and real allocated buffer size.
12778           In this case, it causes every buffer is freed during release in bufferpool,
12779           which should be reused. This affects performance.
12780           https://bugzilla.gnome.org/show_bug.cgi?id=769248
12781
12782 2016-07-27 19:49:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12783
12784         * configure.ac:
12785           configure: remove gmodule-2.0 EGL dependency
12786           Since commit 27429ce, EGL support doesn't depend on dynamic loading libraries,
12787           thus the dependency to gmodule-2.0 is not mandatory anymore.
12788
12789 2016-07-27 10:09:38 -0700  Scott D Phillips <scott.d.phillips@intel.com>
12790
12791         * configure.ac:
12792           configure: Fix non-fatal PKG_CHECK_MODULES invocations
12793           Some invocations of PKG_CHECK_MODULES were intended to be non-fatal if
12794           the package is missing, but action-if-not-found was given as an empty
12795           string which still causes the default action to run, which halts
12796           execution.
12797           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
12798           https://bugzilla.gnome.org/show_bug.cgi?id=769237
12799
12800 2016-07-13 18:34:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12801
12802         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12803           libs: egl: remove dynamic library loading code
12804           Since the upstream of gstreamer-vaapi, the library is not a public shared
12805           object anymore. But the EGL support depended on this dynamic library, so the
12806           EGL support was broken.
12807           This patch removes the dynamic library loading code and instantiates the
12808           EGL display using either X11 or Wayland if available.
12809           https://bugzilla.gnome.org/show_bug.cgi?id=767203
12810
12811 2016-07-12 23:47:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12812
12813         * gst/vaapi/gstvaapi.c:
12814         * gst/vaapi/gstvaapidecode.c:
12815         * gst/vaapi/gstvaapidecode.h:
12816           vaapidecode: register only the available decoders
12817           In order to register only the available decoders, this patch queries the
12818           created test VA display, which uses the currently used back-end (X11, Wayland,
12819           DRM, …) on the used display device.
12820           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12821
12822 2016-06-28 11:43:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12823
12824         * gst/vaapi/gstvaapi.c:
12825         * gst/vaapi/gstvaapipluginutil.c:
12826         * gst/vaapi/gstvaapipluginutil.h:
12827           vaapi: register only the available encoders
12828           In order to register only the available encoders, this patch queries the
12829           created test VA display, which uses the currently used back-end (X11,
12830           Wayland, DRM, …) on the used display device.
12831           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12832
12833 2016-06-07 16:28:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12834
12835         * gst/vaapi/gstvaapidecode.c:
12836         * gst/vaapi/gstvaapidecodebin.c:
12837           vaapidecode: split all the codecs
12838           Split the vaapidecode to all the supported codecs with the format
12839           vaapi{codec}dec.
12840           vaapidecode is stil registered as a GObject type, but not as a
12841           GStreamer feature, so it can be used internally by vaapidecodebin without
12842           changing its code too much.
12843           https://bugzilla.gnome.org/show_bug.cgi?id=734093
12844
12845 2016-07-12 22:19:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12846
12847         * gst/vaapi/gstvaapidecodebin.c:
12848           vaapidecodebin: simplify the code
12849           Since the elements dependant of the VA video processor are now only registered
12850           if it is available, vaapidecodebin code can be simplified a lot, removing all
12851           the code required to check if the VA video processor was available.
12852           https://bugzilla.gnome.org/show_bug.cgi?id=768899
12853
12854 2016-07-12 17:54:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12855
12856         * gst/vaapi/gstvaapidecode.c:
12857           vaapidecode: delay the GstVaapiDisplay instantiating
12858           Delay the GstVaapiDisplay instantiating until when changing the state from
12859           READY to PAUSE. In this way the element has more chances to find an already
12860           created GstVaapiDisplay, or a GL context, in the pipeline.
12861           https://bugzilla.gnome.org/show_bug.cgi?id=766206
12862
12863 2016-07-12 17:49:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12864
12865         * gst/vaapi/gstvaapipluginutil.c:
12866           pluginutil: set GLX display type
12867           The function gst_vaapi_create_display_from_gl_context() cretes a
12868           GstVaapiDisplay given a GstGLContext. But it didn't created a GLX VA display
12869           when the GL platform was GLX, but a plain X11 VA display.
12870           This patch fixes that, by querying the GL platform earlier.
12871           https://bugzilla.gnome.org/show_bug.cgi?id=766206
12872
12873 2016-06-02 19:57:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12874
12875         * gst/vaapi/gstvaapipluginbase.c:
12876         * gst/vaapi/gstvaapivideocontext.c:
12877         * gst/vaapi/gstvaapivideocontext.h:
12878           plugins: add gst_vaapi_plugin_base_find_gl_context()
12879           Using the GstContext mechanism, it is possible to find if the pipeline
12880           shares a GstGLContext, even if we are not to negotiating GLTextureUpload
12881           meta. This is interesting because we could negotiate system memory caps
12882           feature, but enable DMABuf if the GstGLContext is EGL with some extensions.
12883           https://bugzilla.gnome.org/show_bug.cgi?id=766206
12884
12885 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12886
12887         * gst/vaapi/gstvaapipluginbase.c:
12888         * gst/vaapi/gstvaapipluginbase.h:
12889           plugins: remove gst_vaapi_plugin_base_driver_is_whitelisted()
12890           Since nobody is calling gst_vaapi_plugin_base_driver_is_whitelisted(),
12891           it is deleted.
12892
12893 2016-07-12 18:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12894
12895         * gst/vaapi/gstvaapipluginbase.h:
12896           plugins: remove common change_state() vmethod
12897           Remove the common change_state() vmethod for all the plugins, since no one is
12898           using it.
12899
12900 2016-07-12 20:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12901
12902         * gst/vaapi/gstvaapidecode.c:
12903           vaapidecode: remove change_state() vmethod
12904           Since the driver checkup is done at registering, there is no need to do it
12905           when changing the element state from NULL to READY. This patch remove this
12906           vmethod from vaapidecode.
12907
12908 2016-07-12 20:29:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12909
12910         * gst/vaapi/gstvaapi.c:
12911           vaapi: register vaapipostproc only if supported
12912           Query the GstVaapiDisplay to know if the driver supports video
12913           postprocessing. If does, then register vaapipostproc and vaapidecodebin
12914           elements.
12915           This patch will simplify the design of vaapidecodebin.
12916           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12917
12918 2016-06-29 12:36:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12919
12920         * gst/vaapi/gstvaapi.c:
12921           vaapi: don't register if VA driver is unsupported
12922           Using the test VA display, the driver name is queried, and if it is not
12923           white-listed, the plugin rejects to register any element.
12924           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12925
12926 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12927
12928         * gst/vaapi/gstvaapipluginbase.c:
12929         * gst/vaapi/gstvaapipluginutil.c:
12930         * gst/vaapi/gstvaapipluginutil.h:
12931           plugins: add gst_vaapi_driver_is_whitelisted()
12932           Move some of the logic in gst_vaapi_plugin_base_driver_is_whitelisted() to a
12933           new function gst_vaapi_driver_is_whitelisted(), in this way, it can be used
12934           when registering the plugin's feature set with the test VA display.
12935           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12936
12937 2016-07-12 19:56:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12938
12939         * gst/vaapi/gstvaapi.c:
12940           vaapi: instantiate a VA display when registering
12941           This patch tries to instantiate a GstVaapiDisplay when registering the plugin
12942           features, if it fails, no gstreamer-vaapi element is registering.
12943           The purpose of this patch is to avoid a situation where the user has
12944           gstreamer-vaapi installed but their VA-API setup is not functional, which may
12945           lead to unexpected behavior.
12946           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12947
12948 2016-06-28 11:33:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12949
12950         * configure.ac:
12951         * gst/vaapi/gstvaapi.c:
12952           vaapi: declare external dependencies
12953           There are two main external dependencies that define the feature set of this
12954           plugin: a) the kernel and b) the VA driver
12955           This patch tracks both dependencies, if any of them change, GStreamer will
12956           re-inspect the plugin.
12957           The kernel is tracked through the device files /dev/dri/card*
12958           The VA driver is tracked through the files VA_DRIVERS_PATH/*_drv_video.so,
12959           where VA_DRIVERS_PATH is the one defined in libva package configuration. Also,
12960           the environment variables LIBVA_DRIVERS_PATH and LIBVA_DRIVER_NAME are tracked
12961           since they modify the driver lookup.
12962           Additionally, the environment variable GST_VAAPI_ALL_DRIVERS is tracked too.
12963           https://bugzilla.gnome.org/show_bug.cgi?id=724352
12964
12965 2016-07-19 16:02:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12966
12967         * gst/vaapi/gstvaapidecode.c:
12968           vaapidecode: remove unneeded initializations
12969           GObject's memory is set to zero, so there is no need to initialize to zero or
12970           NULL it's class variables.
12971
12972 2016-07-19 18:28:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12973
12974         * gst/vaapi/gstvaapipluginbase.h:
12975           plugins: remove undefined macros
12976
12977 2016-07-19 17:43:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12978
12979         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
12980           Revert "gstvaapisurface_drm: release image when done"
12981           This reverts commit 1dbcc8a0e199f2da6a0ab8e949f13341916128a3  and commit
12982           372a03a9e38acbf435eb80bf31d9a9844069e504.
12983           While the dmabuf handle is exported, the derive image must exist, otherwise
12984           the image's VA buffer is invalid, thus the dmabuf handle is never released,
12985           leading into a file descriptors leak.
12986
12987 2016-07-21 17:38:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12988
12989         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12990           encoder: h265: fix code-style
12991
12992 2016-07-22 16:55:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12993
12994         * gst/vaapi/gstvaapipostproc.c:
12995           vaapipostproc: update filters at color balance
12996           This is a fix for a regression of previous commit, which updates the filters
12997           only when the property is set, because it is also required to update the
12998           filter when the color balance interface change its values.
12999
13000 2016-07-22 12:10:23 +0900  Hyunjun Ko <zzoon@igalia.com>
13001
13002         * gst/vaapi/gstvaapipostproc.c:
13003         * gst/vaapi/gstvaapipostproc.h:
13004           vaapipostproc: make it enable/disable pass-through mode
13005           In case that sink caps and src caps are same, and no filtering parameter set,
13006           pass-through mode is enabled.
13007           If new filtering parameter is set during playback, it makes it reconfiguring,
13008           so that pass-through mode is changed
13009           In addition, updating filter is performed during reconfiguration, if needed.
13010           https://bugzilla.gnome.org/show_bug.cgi?id=751876
13011
13012 2016-07-22 11:51:26 +0900  Hyunjun Ko <zzoon@igalia.com>
13013
13014         * gst-libs/gst/vaapi/gstvaapifilter.c:
13015         * gst-libs/gst/vaapi/gstvaapifilter.h:
13016         * gst/vaapi/gstvaapipostproc.c:
13017           vaapipostproc: checking and updating filter parameter only when it's set
13018           This patch is to avoid checking filter value at every frame.
13019           https://bugzilla.gnome.org/show_bug.cgi?id=751876
13020
13021 2016-07-21 11:24:31 +0300  Allen Zhang <Zhang, Zhangfei>
13022
13023         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13024           decoder: h265: handle the SEI NAL units included in codec_data
13025           The prefix/suffix SEI nal units can appear in codec_data too
13026           which weren't handled before. Parse these SEI headers to
13027           fix the segfault.
13028           https://bugzilla.gnome.org/show_bug.cgi?id=768544
13029
13030 2016-07-15 16:32:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13031
13032         * docs/plugins/Makefile.am:
13033           build: doc: do not redefine MAINTAINERCLEANFILES
13034           MAINTAINERCLEANFILES is defined in gtk-doc-plugins.mak, thus instead of
13035           overload it, the files should be added.
13036
13037 2016-07-15 14:41:27 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13038
13039         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13040           encoder: h264: Fix MVC encode while enabling dct8x8
13041           Pack the transform_8x8_mode_flag and other necessary rbsp data
13042           in packed_pps header for MVC encode.
13043           https://bugzilla.gnome.org/show_bug.cgi?id=768647
13044
13045 2016-07-12 23:58:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13046
13047         * gst/vaapi/gstvaapisink.c:
13048           vaapisink: demote a debug message to trace
13049           Reduces noise when debugging.
13050
13051 2016-07-13 17:21:01 +0900  Jagyum Koo <koojagyum@gmail.com>
13052
13053         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
13054           wayland: Error check before using cached wl_display
13055           A planar(or some other) buffer allocation may fail on the driver, then
13056           the wayland connection becomes invalid, not able to send request or
13057           receive any event. So we need to set up a new wayland connection if
13058           there's an error detected on the cached wl_display.
13059           https://bugzilla.gnome.org/show_bug.cgi?id=768761
13060           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13061
13062 2016-07-11 21:15:57 +0200  Stefan Sauer <ensonic@users.sf.net>
13063
13064         * common:
13065           Automatic update of common submodule
13066           From ac2f647 to f49c55e
13067
13068 2016-07-05 18:23:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13069
13070         * gst/vaapi/gstvaapiencode.c:
13071           vaapiencode: demote a log to trace level
13072           Removes noise when debugging.
13073
13074 2016-07-06 11:17:23 +0900  Hyunjun Ko <zzoon@igalia.com>
13075
13076         * gst/vaapi/gstvaapiencode.c:
13077           vaapiencode: implement flush() vmethod
13078           In order to handle correctly seek and other operations, vaapiencode should
13079           flush all the remaining data from the encoder without pushing it downstream.
13080           This patch implements the flush() vmethod, only after of pausing the
13081           source pad task, and restarting it again after the flush stop.
13082           https://bugzilla.gnome.org/show_bug.cgi?id=767176
13083           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13084
13085 2016-07-11 08:43:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13086
13087         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13088           decoder: vc1: flush dpb only if opened
13089           Flush the decode picture buffer, if and only if, the decoder is
13090           started. Otherwise the dpb structure might be NULL.
13091           https://bugzilla.gnome.org/show_bug.cgi?id=742922
13092
13093 2016-07-01 14:42:20 +0900  Hyunjun Ko <zzoon@igalia.com>
13094
13095         * gst/vaapi/gstvaapidecode.c:
13096         * gst/vaapi/gstvaapidecode.h:
13097           vaapidecode: drop non-keyframe in reverse playback
13098           To avoid surface-exhausted situation during reverse playback,
13099           drop frames except for key frame.
13100           Also, to avoid the corruption of the parser state, flush() vmethod
13101           doesn't destroy the VA decoder when playing in reverse.
13102           https://bugzilla.gnome.org/show_bug.cgi?id=742922
13103           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13104
13105 2016-07-10 19:33:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13106
13107         * gst/vaapi/gstvaapidecode.c:
13108           vaapidecode: unref output frame earlier
13109           The queue in GstVaapiDecode adds an extra reference to the frames. This patch
13110           unref that extra reference earlier making the code simpler to follow.
13111           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13112
13113 2016-07-10 19:01:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13114
13115         * gst/vaapi/gstvaapidecode.c:
13116           vaapidecode: remove gst_vaapidecode_internal_flush()
13117           As gst_vaapidecode_finish() is the only callee of
13118           gst_vaapidecode_internal_flush(), it is better to inline it.
13119           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13120
13121 2016-07-10 18:18:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13122
13123         * gst/vaapi/gstvaapidecode.c:
13124           vaapidecode: flush output adapter at drain()
13125           Calling drain() vmethod means "decode any data it can at this point, but that
13126           more data may arrive after". Hence, vaapidecode should check if there is data
13127           in the output adapter and process them, without destroying the decoded picture
13128           buffer (dpb).
13129           Since this operation is done by gst_vaapidecode_internal_flush(), the operation
13130           was refactored into a new function gst_vaapidecode_flush_output_adapter().
13131           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13132
13133 2016-07-10 13:46:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13134
13135         * gst/vaapi/gstvaapidecode.c:
13136           vaapidecode: call purge at flush()
13137           Calling flush() vmethod means "to flush all remaining data from the decoder
13138           without pushing it downstream".
13139           Nonetheless flush() is calling gst_vaapidecode_internal_flush(), which calls
13140           gst_video_decoder_have_frame() if there is still something in the input
13141           adapter, which may push buffers to downstream by calling handle_frame().
13142           This patch changes this behavior by calling gst_vaapidecode_purge() rather
13143           than gst_vaapidecode_internal_flush(), which does what we want: flushes the VA
13144           decoder and releases all the rest of decoded frames.
13145           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13146
13147 2016-07-06 18:38:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13148
13149         * tests/elements/Makefile.am:
13150         * tests/elements/test-vaapisink.c:
13151           test: elements: remove spurious linkage
13152           Element tests only need to link against gstreamer libraries.
13153
13154 2016-07-06 14:41:21 +0300  Sebastian Dröge <sebastian@centricular.com>
13155
13156         * configure.ac:
13157           configure: Require GLib >= 2.40 like everywhere else
13158
13159 2016-07-06 13:51:21 +0300  Sebastian Dröge <sebastian@centricular.com>
13160
13161         * configure.ac:
13162           Back to development
13163
13164 === release 1.9.1 ===
13165
13166 2016-07-06 13:48:07 +0300  Sebastian Dröge <sebastian@centricular.com>
13167
13168         * ChangeLog:
13169         * NEWS:
13170         * common:
13171         * configure.ac:
13172         * gstreamer-vaapi.doap:
13173           Release 1.9.1
13174
13175 2016-07-05 20:59:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13176
13177         * tests/elements/test-vaapisink.c:
13178           tests: elements: rotate orientation event
13179
13180 2016-07-01 16:01:54 +0900  Hyunjun Ko <zzoon@igalia.com>
13181
13182         * configure.ac:
13183         * tests/Makefile.am:
13184         * tests/elements/Makefile.am:
13185         * tests/elements/test-vaapisink.c:
13186           tests: elements: Add testsuite for vaapisink
13187           https://bugzilla.gnome.org/show_bug.cgi?id=765798
13188
13189 2016-07-01 16:00:46 +0900  Hyunjun Ko <zzoon@igalia.com>
13190
13191         * gst-libs/gst/vaapi/gstvaapitypes.h:
13192         * gst-libs/gst/vaapi/gstvaapivalue.c:
13193         * gst/vaapi/gstvaapisink.c:
13194         * gst/vaapi/gstvaapisink.h:
13195           vaapisink: add support for GST_TAG_IMAGE_ORIENTATION
13196           https://bugzilla.gnome.org/show_bug.cgi?id=765798
13197
13198 2016-06-29 13:57:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13199
13200         * gst/vaapi/gstvaapipostproc.c:
13201           vaapipostproc: return caps template if no display
13202           This patch is a fix for my bad review of commit 6d73ca8d. The element should
13203           be able to return the available raw caps handled by the VA display, but that
13204           only should happen when there a VA display. If there's none, the element
13205           should use the caps template.
13206           https://bugzilla.gnome.org/show_bug.cgi?id=768161
13207
13208 2016-06-29 16:42:18 +1000  Matthew Waters <matthew@centricular.com>
13209
13210         * gst/vaapi/gstvaapipostproc.c:
13211           vaapipostproc: don't require a vaapi display for all caps queries
13212           This delays the requirement of having a GstVaapiDisplay until later
13213           https://bugzilla.gnome.org/show_bug.cgi?id=768161
13214
13215 2016-06-28 15:48:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13216
13217         * gst-libs/gst/vaapi/gstvaapiutils.c:
13218           utils: report VP9 profiles
13219           Add VP9Profile0-3 name mapping.
13220
13221 2016-06-28 14:05:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13222
13223         * gst/vaapi/gstvaapi.c:
13224           vaapi: nest includes under USE_ENCODER macro
13225           This is a missed changeset from commit 1c05c53, since also header includes
13226           should be nested.
13227
13228 2016-06-28 11:54:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13229
13230         * gst/vaapi/gstvaapi.c:
13231           vaapi: nest encoders under USE_ENCODER macro
13232           Though USE_{JPEG,VP8,VP9,H265}_ENCODER macros definition depend on USE_ENCODER
13233           macro, it is clearer to nest them, showing explicitly the dependency relation.
13234
13235 2016-06-24 12:05:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13236
13237         * gst/vaapi/gstvaapivideocontext.c:
13238           vaapivideocontext: check if query context is NULL
13239           Under certain conditions the element might receive a positive context query
13240           but without a context instance. This situation will lead to a segmentation
13241           fault when traversing the context list in the pipeline.
13242           https://bugzilla.gnome.org/show_bug.cgi?id=767946
13243
13244 2016-06-20 13:22:36 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13245
13246         * gst-libs/gst/vaapi/Makefile.am:
13247         * gst-libs/gst/vaapi/glibcompat.h:
13248         * gst-libs/gst/vaapi/sysdeps.h:
13249           remove unused glibcompat.h
13250           glibcompat.h is no longer doing anything. Remove it.
13251           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13252           https://bugzilla.gnome.org/show_bug.cgi?id=767886
13253
13254 2016-06-22 14:28:44 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13255
13256         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13257           encoder: h264: Use high profile by default
13258           Change defaults for max-bframes, cabac, and dct8x8 to be enabled
13259           by default. This will cause the default profile to be high instead
13260           of baseline. In most situations this is the right decision, and
13261           the profile can still be lowered in the case of caps restrictions.
13262           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13263           https://bugzilla.gnome.org/show_bug.cgi?id=757941
13264
13265 2016-06-22 12:15:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13266
13267         * gst/vaapi/gstvaapidecodebin.c:
13268           vaapidecodebin: element warning if missing element
13269           Raise an element warning if a required element is not available, thus the
13270           pipeline will post a warning message and the application will be informed.
13271
13272 2016-06-22 15:11:56 +0300  Hyunjun Ko <zzoon@igalia.com>
13273
13274         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13275           decoder: h265: fix to release all dpb pictures
13276           Without this, all dpb pictures are not released during flush,
13277           because we used the global dpb_count variable for checking the
13278           dpb fullness which get decremented in dpb_remove_index()
13279           routine during each loop iteration.
13280           https://bugzilla.gnome.org/show_bug.cgi?id=767934
13281
13282 2016-06-21 11:48:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
13283
13284         * common:
13285           Automatic update of common submodule
13286           From ac2f647 to f363b32
13287
13288 2016-06-20 19:53:26 +0900  Hyunjun Ko <zzoon@igalia.com>
13289
13290         * gst/vaapi/gstvaapidecode.c:
13291         * gst/vaapi/gstvaapipostproc.c:
13292           vaapi: fix minor leaks
13293           https://bugzilla.gnome.org/show_bug.cgi?id=767868
13294
13295 2016-06-17 17:00:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13296
13297         * gst/vaapi/gstvaapi.c:
13298           vaapi: remove an already included header
13299           gst/gst.h is already included in gstcompat.h
13300
13301 2016-06-17 16:53:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13302
13303         * gst/vaapi/gstvaapidecodebin.c:
13304           vaapidecodebin: add vp9 in sink pad template
13305
13306 2016-06-15 20:19:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13307
13308         * gst/vaapi/gstvaapisink.c:
13309           vaapisink: return caps template if no display
13310           If vaapisink received a caps query before getting a VA display, it returned
13311           only the surfaces related caps. This behavior broke the autovideosink
13312           negotiation.
13313           This patch returns the pad's template caps if no VA display, otherwise the
13314           caps are crafted as before.
13315           https://bugzilla.gnome.org/show_bug.cgi?id=767699
13316
13317 2016-06-15 11:25:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13318
13319         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
13320           decoder: vp9: Update comment about context resets
13321           Clarify that vaapi context resets are never needed for vp9, but
13322           that ensure_context() needs called when the size increases so that
13323           new surfaces can be allocated.
13324           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13325           https://bugzilla.gnome.org/show_bug.cgi?id=767474
13326
13327 2016-05-17 15:34:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13328
13329         * gst-libs/gst/vaapi/gstvaapicontext.c:
13330         * gst-libs/gst/vaapi/gstvaapicontext.h:
13331         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
13332           gstvaapicontext: control reset_on_resize with option
13333           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13334           https://bugzilla.gnome.org/show_bug.cgi?id=767474
13335
13336 2016-06-14 09:45:22 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13337
13338         * gst/vaapi/gstvaapivideobufferpool.c:
13339           vaapivideobufferpool: add video meta to config when needed
13340           In cases where we know the video meta must be present, add it to
13341           the pool configuration.
13342           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13343           https://bugzilla.gnome.org/show_bug.cgi?id=766184
13344
13345 2016-06-13 10:48:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13346
13347         * gst/vaapi/gstvaapipluginbase.c:
13348           plugins: retry pool config
13349           if gst_buffer_pool_set_config returns FALSE, check the modified
13350           config and retry set_config if the config is still acceptable.
13351           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13352           https://bugzilla.gnome.org/show_bug.cgi?id=766184
13353
13354 2016-06-08 18:42:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13355
13356         * gst/vaapi/gstvaapivideomemory.h:
13357           vaapivideomemory: internal attributes to methods
13358           Mark as internal the functions used by VA-API dmabuf allocator.
13359
13360 2016-06-02 15:41:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13361
13362         * gst/vaapi/gstvaapipluginbase.c:
13363           plugins: remove precondition for decide_allocation()
13364           There's no need to check for the display in the plugin object when
13365           decide_allocation() vmethod is called, because the display will created or
13366           re-created along the method execution.
13367
13368 2016-06-08 18:44:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13369
13370         * gst/vaapi/gstvaapipluginbase.c:
13371           plugins: avoid possible memory leaks
13372           Get the pool config just before use it, to avoid a memory leak if the
13373           allocator cannot be instantiated. Similarly, return FALSE if the configuration
13374           cannot be set, avoid keep a not used allocator in the pool.
13375
13376 2016-05-31 11:52:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13377
13378         * gst/vaapi/gstvaapipluginbase.c:
13379           plugins: use GstParentBufferMeta
13380           Instead of using the VASurface proxy's notify, which is internal gstvaapi API,
13381           use the GStreamer's GstParentBufferMeta.
13382           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13383
13384 2016-05-31 08:26:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13385
13386         * gst/vaapi/gstvaapipluginbase.c:
13387           plugins: cache VASurfaces from dmabufs
13388           This patch avoids the creation of a VASurface each time a new input buffer is
13389           processed, caching them in the input buffer itself.
13390           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13391
13392 2016-05-30 23:55:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13393
13394         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13395         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
13396         * gst/vaapi/gstvaapipluginbase.c:
13397           libs: change gst_vaapi_surface_new_with_dma_buf_handle()
13398           Instead of passing the data already in GstVideoInfo, let's just pass the
13399           GstVideoInfo structure.
13400           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13401
13402 2016-05-25 12:31:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13403
13404         * gst/vaapi/gstvaapipluginbase.c:
13405         * gst/vaapi/gstvaapipluginbase.h:
13406           plugins: use an unique allocator per pad
13407           Instead of instantiating an allocator per vaapivideobufferpool, only one
13408           allocator is instantiated per element's pad and shared among future pools.
13409           If the pad's caps changes, the allocator is reset.
13410           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13411
13412 2016-05-25 10:58:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13413
13414         * gst/vaapi/gstvaapipluginbase.c:
13415         * gst/vaapi/gstvaapivideobufferpool.c:
13416         * gst/vaapi/gstvaapivideobufferpool.h:
13417           vaapivideobufferpool: share options flag with pluginbase
13418           Originally, vaapivideobufferpool has a set of boolean variables for the
13419           buffer configuration options.
13420           This pach changes these boolean variables for a single bitwise, just as
13421           it is used in pluginbase. Hence, the internal enum was moved to
13422           vaapivideobufferpool header.
13423           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13424
13425 2016-05-10 15:57:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13426
13427         * gst/vaapi/gstvaapipluginbase.c:
13428           plugins: add gst_vaapi_plugin_base_create_pool()
13429           This patch refactors the code in pluginbase in order to centralize the buffer
13430           pool instantiation. As the buffer pool config may have different options, these
13431           are gathered using a bitwise flag.
13432           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13433
13434 2016-05-20 18:46:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13435
13436           pluginbase negotiates allocator with bufferpool
13437           Originally vaapivideobufferpool instantiates its own allocator regardless the
13438           received configuration, and it relies in custom configuration options to
13439           choose which kind of allocator instantiate.
13440           This patch transfers the responsibility of the allocator instantiate to
13441           vaapipluginbase and pass it to the vaapivideobufferpool through its
13442           configuration.
13443           * gst/vaapi/gstvaapipluginbase.c
13444           + set_dmabuf_allocator(): inserts a dmabuf allocator in the bufferpool
13445           + ensure_sinkpad_buffer_pool(): set a normal vaapi video allocator in
13446           bufferpool configuration
13447           + gst_vaapi_plugin_base_propose_allocation(): call set_dmabuf_allocator() if
13448           needed.
13449           + gst_vaapi_plugin_base_decide_allocation(): set a normal vaapi video
13450           allocator in bufferpool configuration
13451           * gst/vaapi/gstvaapivideobufferpool.c
13452           + gst_vaapi_video_buffer_pool_set_config(): instead of instantiate the
13453           allocator, process the received one through its configuration.
13454           * gst/vaapi/gstvaapivideobufferpool.h: removed
13455           GST_BUFFER_POOL_OPTION_DMABUF_MEMORY since it is not used anymore.
13456           * gst/vaapi/gstvaapivideomemory.c
13457           + gst_vaapi_is_dmabuf_allocator(): new helper function to identify a dmabuf
13458           allocator with the vaapi qdata.
13459           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13460
13461 2016-05-20 14:39:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13462
13463         * gst/vaapi/gstvaapivideobufferpool.c:
13464           vaapivideobufferpool: keep only current video info
13465           Instead of keeping old and new GstVideoInfo video structure, we only keep one,
13466           the current one, the negotiated. The old one is not needed at all.
13467           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13468
13469 2016-05-23 15:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13470
13471         * gst/vaapi/gstvaapipluginbase.c:
13472         * gst/vaapi/gstvaapipluginutil.c:
13473         * gst/vaapi/gstvaapipluginutil.h:
13474         * gst/vaapi/gstvaapivideomemory.c:
13475           pluginutil: add gst_video_info_force_nv12_if_encoded()
13476           This lines repeat a couple times in the code, so it would be better to put it
13477           a helper function.
13478           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13479
13480 2016-05-20 14:15:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13481
13482         * gst/vaapi/gstvaapipluginutil.c:
13483         * gst/vaapi/gstvaapipluginutil.h:
13484         * gst/vaapi/gstvaapipostproc.c:
13485         * gst/vaapi/gstvaapivideobufferpool.c:
13486           pluginutil: add gst_video_info_changed() helper
13487           This function is shared among different elements, so let factorized it.
13488           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13489
13490 2016-06-08 10:14:16 +0900  Hyunjun Ko <zzoon@igalia.com>
13491
13492         * gst/vaapi/gstvaapipostprocutil.c:
13493           vaapipostproc: Add colorimetry attributes to src caps
13494           https://bugzilla.gnome.org/show_bug.cgi?id=766596
13495
13496 2016-06-08 10:17:46 +0900  Hyunjun Ko <zzoon@igalia.com>
13497
13498         * gst/vaapi/gstvaapidecode.c:
13499           vaapidecode: remove chroma-site and colorimetry from src caps
13500           https://bugzilla.gnome.org/show_bug.cgi?id=766596
13501
13502 2016-06-07 14:19:50 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13503
13504         * gst/vaapi/gstvaapipostproc.c:
13505         * gst/vaapi/gstvaapipostproc.h:
13506           vaapipostproc: add postproc_lock to protect data members
13507           Add a mutex to postproc to protect concurrent access to data members.
13508           Previously set_caps() could release the allowed_srcpad_caps while
13509           transform_caps was in the middle of using it.
13510           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13511           https://bugzilla.gnome.org/show_bug.cgi?id=766940
13512
13513 2016-05-30 11:30:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13514
13515         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
13516         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
13517           encoder: vp9: Add simple algorithms for reference picture selection
13518           Added two modes(as properties) for reference picture selection:
13519           ref-mode-0: AltRef and GoldRef pointing to the recent keyframe
13520           and LastRef is pointing to the previous frame.
13521           ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef
13522           and n-2 th frame as AltRef
13523           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13524
13525 2016-05-30 11:25:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13526
13527         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
13528           encoder: vp9: Define Max frame width and height
13529           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13530
13531 2016-05-30 11:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13532
13533         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
13534         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
13535           encoder: vp9: Add more propertis for tuning encode quality
13536           Added three tuning properties:
13537           1: filter_level
13538           2: sharpness_level
13539           3: luma ac quant-table index
13540           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13541
13542 2016-05-30 11:24:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13543
13544         * gst/vaapi/Makefile.am:
13545         * gst/vaapi/gstvaapi.c:
13546         * gst/vaapi/gstvaapiencode_vp9.c:
13547         * gst/vaapi/gstvaapiencode_vp9.h:
13548           Add vp9 encode element to "vaapi" plugin
13549           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13550
13551 2016-05-30 11:23:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13552
13553         * gst-libs/gst/vaapi/Makefile.am:
13554         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
13555         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
13556           Add vp9 encoder support in libgstvaapi
13557           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13558
13559 2016-05-30 11:22:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13560
13561         * configure.ac:
13562           build: Add check for VP9 encode API support in libva
13563           https://bugzilla.gnome.org/show_bug.cgi?id=766048
13564
13565 2016-05-26 11:42:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13566
13567         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13568           gstvaapisurface_drm: fix internal documentation
13569
13570 2016-05-26 11:41:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13571
13572         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13573           gstvaapisurface_drm: fix code-style
13574
13575 2016-05-25 12:28:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13576
13577         * gst/vaapi/gstvaapipluginbase.c:
13578           plugins: remove unused header
13579           Remove the include of gst/allocators/allocators.h since it is not used.
13580
13581 2016-05-25 10:36:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13582
13583         * gst/vaapi/gstvaapivideobufferpool.h:
13584           vaapivideobufferpool: remove GL_TEXTURE_UPLOAD_META
13585           Since gstreamer-vaapi is coupled with gstreamer releases, there is no need to
13586           keep compatibility definition.
13587           This patch removes the definition of
13588           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META since it is in
13589           gst-plugins-base version 1.2.2
13590
13591 2016-05-23 22:49:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13592
13593         * gst/vaapi/gstvaapipluginbase.c:
13594           plugins: add gst_vaapi_buffer_pool_caps_is_equal()
13595           This is a helper function to improve the readability of
13596           ensure_sinkpad_buffer_pool(). It makes clearer when the buffer pool needs to be
13597           re-instantiated.
13598
13599 2016-05-24 16:29:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13600
13601         * gst/vaapi/gstvaapipluginbase.c:
13602           plugins: deactivate buffer pool before unref
13603           This buffer pool may still be processing buffers when a caps renegotiation is
13604           done. This one-liner patch deactivates the pool to drain it before it
13605           de-allocation.
13606
13607 2016-05-24 16:22:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13608
13609         * gst/vaapi/gstvaapipluginbase.c:
13610           plugins: no sinkpad bufferpool when decoder
13611           Right now, the decoders create a buffer pool for their sink pad which is not
13612           used at all, because the decoders have never proposed it to upstream.
13613           This patch avoids the buffer pool instantiating when the element inherits from
13614           the GstVideoDecoder class.
13615
13616 2016-05-24 13:39:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13617
13618         * gst/vaapi/gstvaapipluginbase.c:
13619           plugins: avoid to get/set pool config twice
13620           This patch is a bit of optimization, since the bufferpool configuration is get
13621           when the pool is created. Hence, we only need to request it when the pool from
13622           the allocation query is reused.
13623
13624 2016-05-13 13:14:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13625
13626         * gst/vaapi/gstvaapipluginbase.c:
13627           plugins: destroy pool earlier if non-vaapi
13628           If the offered pool in decide_allocation() vmethod doesn't have the
13629           VAAPI_VIDEO_META option, it is destroyed immediatly and the pointer cleared,
13630           so it could be created later.
13631
13632 2016-05-23 22:30:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13633
13634         * gst/vaapi/gstvaapivideobufferpool.c:
13635           vaapivideobufferpool: split caps validation
13636           When validating the caps from bufferpool config, this patch distinguishes the
13637           error from no caps received (NULL) from the invalid caps (cannot be converted
13638           into GstVideoInfo structure).
13639
13640 2016-05-23 22:21:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13641
13642         * gst/vaapi/gstvaapidecode.c:
13643         * gst/vaapi/gstvaapipluginbase.c:
13644           plugins: check for caps in query earlier
13645           Check for caps as soon gst_query_parse_allocation() returns.
13646
13647 2016-05-23 23:13:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13648
13649         * gst/vaapi/gstvaapipluginbase.c:
13650         * gst/vaapi/gstvaapipluginbase.h:
13651           plugins: remove unused variables
13652           This variables stopped to be used since commit 001a5c63, which removed the
13653           gstvaapiuploader.
13654
13655 2016-05-23 18:47:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13656
13657         * gst/vaapi/gstvaapipluginbase.c:
13658           plugins: fix potential memleak from commit 9159328
13659           If gst_video_info_from_caps() fails it is required to unref the instantiated
13660           pool.
13661
13662 2016-05-23 18:04:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13663
13664         * gst/vaapi/gstvaapipostproc.c:
13665           vaapipostproc: handle if gst_video_info_from_caps() fails
13666           Return FALSE is the received caps cannot be transformed into a GstVideoInfo
13667           structure.
13668
13669 2016-05-23 17:55:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13670
13671         * gst/vaapi/gstvaapipluginbase.c:
13672           plugins: handle if gst_video_info_from_caps() fails
13673           Let's play safe and return error if, somehow, the received caps are wrong.
13674
13675 2016-05-23 17:47:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13676
13677         * gst/vaapi/gstvaapipluginbase.c:
13678           plugins: relate errors to instance
13679           Use GST_{ERROR,WARNING}_OBJECT instead of GST_{ERROR,WARNING}, thus the logs
13680           will show the name of the vaapipluginbase instance that failed.
13681           Also, the code-style is fixed, where some error labels need to be surrounded
13682           by braces.
13683
13684 2016-05-20 21:01:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13685
13686         * gst/vaapi/gstvaapipluginbase.c:
13687         * gst/vaapi/gstvaapipluginutil.c:
13688         * gst/vaapi/gstvaapisink.c:
13689           plugins: use GstVideoInfo accessors
13690           Instead of access to GstVideInfo members directly, use their accessors
13691           macros. This patch makes more resistance to future changes in GStreamer core.
13692
13693 2016-05-20 19:33:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13694
13695         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13696         * gst/vaapi/gstvaapipluginbase.c:
13697         * gst/vaapi/gstvaapipostproc.c:
13698         * tests/simple-encoder.c:
13699           remove spurious gst_video_info_init()
13700           gst_video_info_set_format() and gst_video_info_from_caps() call, internally,
13701           gst_video_info_init(), hence it is not required to call it before them. This
13702           patch removes these spurious calls.
13703
13704 2016-05-20 19:15:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13705
13706         * gst/vaapi/gstvaapipluginbase.c:
13707           vaapipluginbase: code-style: rename goto label
13708           The error labels have error_ prefix, but this one.
13709
13710 2016-05-19 16:34:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13711
13712         * gst/vaapi/gstvaapivideomemory.c:
13713           vaapivideomemory: use allocator custom alloc flag
13714           Instead of a dummy alloc() vmethod, the allocator instance set the flag
13715           GST_ALLOCATOR_FLAG_CUSTOM_ALLOC, which is used by the framework to avoid call
13716           gst_allocator_alloc() on the allocator.
13717
13718 2016-05-06 13:17:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13719
13720         * gst/vaapi/gstvaapivideobufferpool.c:
13721           vaapivideobufferpool: relate errors to instance
13722           Use GST_ERROR_OBJECT instead of GST_ERROR, thus the logs will show the name of
13723           the vaapivideobufferpool instance that failed.
13724
13725 2016-05-10 16:14:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13726
13727         * gst/vaapi/gstvaapipluginbase.c:
13728           plugins: remove gst_vaapi_plugin_base_set_pool_config()
13729           This function helper make sense for GStreamer 1.2, but it is not helpful for
13730           greater version since the validation is already done in the API implementation.
13731           Thus, it is removed.
13732
13733 2016-05-18 17:05:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13734
13735         * gst/vaapi/gstvaapipluginbase.c:
13736           gstvaapipluginbase: Fix typo in doc
13737
13738 2016-05-13 11:45:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13739
13740         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13741           encoder : h264: Disable b-frame encode in low-power mode
13742           This is a workaround since vaapi-intel-driver doesn't have
13743           support for B-frame encode when utilizing low-power-enc
13744           hardware block.
13745           Fixme :We should query the VAConfigAttribEncMaxRefFrames
13746           instead of blindly disabling b-frame support and set b/p frame count,
13747           buffer pool size etc based on the query result.
13748           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13749
13750 2016-05-13 11:44:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13751
13752         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13753         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
13754           encoder: h264 : Use "tune=low-power" for enabling lowpower encode
13755           Remove the duplicate property "low-power-enc" and use the
13756           tune property for enabling low power encoding mode.
13757           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13758
13759 2016-05-11 12:06:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13760
13761         * gst-libs/gst/vaapi/gstvaapiencoder.c:
13762           gstvaapiencoder:Use internal api to dervie configured VAEntrypoint
13763           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13764
13765 2016-05-11 12:05:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13766
13767         * gst-libs/gst/vaapi/gstvaapiencoder.c:
13768         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13769         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
13770           encoder: h264: Add support of low power/high performance encoding mode
13771           Added a new property "low-power-enc" for enabling low power
13772           encoding mode. Certain encoding tools may not be available
13773           with the VAEntrypointEncSliceLP.
13774           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13775
13776 2016-05-11 12:04:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13777
13778         * gst-libs/gst/vaapi/gstvaapitypes.h:
13779         * gst-libs/gst/vaapi/gstvaapiutils.c:
13780         * gst-libs/gst/vaapi/gstvaapivalue.c:
13781           Add mapping for Macroblock level rate control (VA_RC_MB)
13782
13783 2016-05-11 12:03:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13784
13785         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13786           gstvaapidisplay: Add VAEntrypointEncSliceLP support
13787           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13788
13789 2016-05-11 11:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13790
13791         * gst-libs/gst/vaapi/gstvaapiprofile.c:
13792         * gst-libs/gst/vaapi/gstvaapiprofile.h:
13793           gstvaapiprofile : Add VAEntrypointEncSliceLP definitions
13794           This is for implementations that supports low_power/high_performance
13795           variant for slice level encode.
13796           https://bugzilla.gnome.org/show_bug.cgi?id=766050
13797
13798 2016-05-05 18:23:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13799
13800         * gst/vaapi/gstvaapipostprocutil.c:
13801           vaapipostproc: negotiate frame size fixation
13802           Refactor _fixate_frame_size(). Now, instead of fixating the frame size only
13803           using the sink caps, also it use the next capsfilter.
13804           This code is a shameless copy of gst_video_scale_fixate_caps() from
13805           https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst/videoscale/gstvideoscale.c?id=1.8.1#n634
13806           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13807
13808 2016-05-06 10:50:10 +0200  Scott D Phillips <scott.d.phillips@intel.com>
13809
13810         * gst/vaapi/gstvaapipostprocutil.c:
13811           vaapipostproc: don't use GstVideoInfo for src caps
13812           Instead of using gst_video_info_to_caps () to generated the fixed src caps,
13813           this patch enables the first step for caps negotiation with a possible
13814           following caps filter.
13815           _get_preferred_caps() will traverse the possible src caps looking for the one
13816           wit the preferred feature and the preferred color format. Then the color
13817           format, the frame size and the frame rate are fixated.
13818           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13819
13820 2016-05-05 15:32:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13821
13822         * gst/vaapi/gstvaapipostproc.c:
13823         * gst/vaapi/gstvaapipostprocutil.c:
13824         * gst/vaapi/gstvaapipostprocutil.h:
13825           vaapipostproc: move gst_vaapipostproc_fixate_srccaps()
13826           Move gst_vaapipostproc_fixate_srccaps() to gstvaapiposptprocutil.
13827           No functional changes.
13828           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13829
13830 2016-05-05 15:19:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13831
13832         * gst/vaapi/gstvaapipostproc.c:
13833           vaapipostproc: simplify code
13834           Change a convoluted snippet to find the preferred color format in the peer
13835           caps.
13836           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13837
13838 2016-05-05 15:16:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13839
13840         * gst/vaapi/gstvaapipostproc.c:
13841           vaapipostproc: use othercaps for preferred caps
13842           Instead of the allowed_srcpad_caps variable, this patch uses the othercaps
13843           from fixate_caps() vmethod to find the preferred caps feature and color
13844           format.
13845           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13846
13847 2016-05-05 13:46:11 +0200  Scott D Phillips <scott.d.phillips@intel.com>
13848
13849         * gst/vaapi/gstvaapipostproc.c:
13850           vaapipostproc: add fixate_caps() vmethod
13851           Instead of fixating the srcpad caps in transform_caps() vmethod, this patch
13852           implements the fixate_caps() vmethod and moves code around.
13853           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13854
13855 2016-05-05 12:07:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13856
13857         * gst/vaapi/Makefile.am:
13858         * gst/vaapi/gstvaapipostproc.c:
13859         * gst/vaapi/gstvaapipostprocutil.c:
13860         * gst/vaapi/gstvaapipostprocutil.h:
13861           vaapipostproc: set early properties restrictions
13862           When running transform_caps() vmethod, returning the srcpad caps, the caps are
13863           early restricted to the element properties set: width, height, format and
13864           force keep aspect.
13865           A new file was added gstvaapipostprocutil.{c,h} where the utilities functions
13866           are stored.
13867           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13868
13869 2016-04-25 13:45:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13870
13871         * gst/vaapi/gstvaapipostproc.c:
13872           vaapipostproc: log the caps transformation
13873           https://bugzilla.gnome.org/show_bug.cgi?id=758548
13874
13875 2016-04-27 21:20:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13876
13877         * gst/vaapi/gstvaapipostproc.c:
13878           vaapipostproc: no GLTextureUpload in sinkpad
13879           As the vaapipostproc does not process frames with the VideoGLTextureUpload
13880           meta, the feature is removed from the sink pad template.
13881           https://bugzilla.gnome.org/show_bug.cgi?id=765931
13882
13883 2015-09-28 08:49:39 +0100  Julien Isorce <j.isorce@samsung.com>
13884
13885         * gst/vaapi/gstvaapivideobufferpool.c:
13886           vaapibufferpool: do not create texture upload meta if dmabuf
13887           https://bugzilla.gnome.org/show_bug.cgi?id=755072
13888
13889 2016-05-06 12:16:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13890
13891         * git.mk:
13892           build: update git.mk
13893
13894 2016-04-29 13:11:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13895
13896         * gst/vaapi/gstvaapipluginbase.h:
13897           plugin: fix macro processor check
13898           Instead of #ifdef it should be used #if becasuse USE_GST_GL_HELPERS is always
13899           defined in config.h, but it would be 0 or 1 depending on the configure output.
13900           https://bugzilla.gnome.org/show_bug.cgi?id=765702
13901
13902 2016-04-29 12:53:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13903
13904         * tests/test-display.c:
13905           tests: display: guard possible unused variables
13906           https://bugzilla.gnome.org/show_bug.cgi?id=765702
13907
13908 2016-04-29 12:48:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13909
13910         * tests/codec.c:
13911         * tests/decoder.c:
13912         * tests/image.c:
13913         * tests/output.c:
13914         * tests/simple-decoder.c:
13915         * tests/test-decode.c:
13916         * tests/test-display.c:
13917         * tests/test-filter.c:
13918         * tests/test-h264.c:
13919         * tests/test-jpeg.c:
13920         * tests/test-mpeg2.c:
13921         * tests/test-mpeg4.c:
13922         * tests/test-subpicture-data.c:
13923         * tests/test-subpicture.c:
13924         * tests/test-surfaces.c:
13925         * tests/test-textures.c:
13926         * tests/test-vc1.c:
13927         * tests/test-windows.c:
13928           tests: inforce gstreamer code-style
13929
13930 2016-04-27 17:10:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13931
13932         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
13933           encoder: h265: Enable cu_qp_delta_enabled_flag for CBR
13934           It seems driver requires enablement of cu_qp_delta_enabled_flag
13935           for modifying QP values to controll the CBR mode bitrate.
13936           https://bugzilla.gnome.org/show_bug.cgi?id=749852
13937
13938 2016-04-27 17:06:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13939
13940         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
13941           encoder: h265: Add CBR Encoding support
13942           https://bugzilla.gnome.org/show_bug.cgi?id=749852
13943
13944 2015-11-27 05:09:10 +0000  Julien Isorce <j.isorce@samsung.com>
13945
13946         * gst-libs/gst/vaapi/gstvaapisurface.c:
13947           gstvaapisurface: explicitely clear TILING flag if dmabuf
13948           https://bugzilla.gnome.org/show_bug.cgi?id=755072
13949
13950 2015-10-04 23:44:16 +0100  Julien Isorce <j.isorce@samsung.com>
13951
13952         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13953           gstvaapisurface_drm: release image when done
13954           Otherwise intel-vaapi-driver will fail to process the exported surface because
13955           it will find it is currently derived, so considered as busy.
13956           https://bugzilla.gnome.org/show_bug.cgi?id=755072
13957
13958 2015-09-26 06:25:12 +0100  Julien Isorce <j.isorce@samsung.com>
13959
13960         * gst/vaapi/gstvaapipostproc.c:
13961           vaapipostproc: already have a surface proxy if dmabuf
13962           https://bugzilla.gnome.org/show_bug.cgi?id=755072
13963
13964 2016-03-11 08:58:51 +0000  Julien Isorce <j.isorce@samsung.com>
13965
13966         * gst/vaapi/gstvaapipostproc.c:
13967           various gst-indent
13968
13969 2016-04-21 15:14:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13970
13971         * gst/vaapi/gstvaapidecode.c:
13972         * gst/vaapi/gstvaapipluginbase.c:
13973         * gst/vaapi/gstvaapipluginbase.h:
13974           vaapidecode: search driver in whitelist
13975           If the backend driver vendor string is not in a white-list, and the
13976           environment variable GST_VAAPI_ALL_DRIVERS is not set either, the decoder will
13977           change it state from NULL to READY, hence the auto-plug mechanism will look
13978           for another decoder.
13979           This patch assumes the GstContext has already being shared along the pipeline
13980           and the element has a valid GstVaapiDisplay instance.
13981           https://bugzilla.gnome.org/show_bug.cgi?id=764673
13982
13983 2016-04-21 12:57:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13984
13985         * gst/vaapi/gstvaapidecode.c:
13986         * gst/vaapi/gstvaapiencode.c:
13987         * gst/vaapi/gstvaapipluginbase.c:
13988         * gst/vaapi/gstvaapipluginbase.h:
13989         * gst/vaapi/gstvaapipostproc.c:
13990         * gst/vaapi/gstvaapisink.c:
13991           plugins: rework set_context() vmethod definition
13992           In bug 757598 was added the set_context() vmethod chain up in
13993           GstVaapiPluginBase. But it is buggy, since the parent_class address is
13994           assigned to the last element which called gst_vaapi_plugin_base_class_init().
13995           No error has shown up since none of the element's base classes redefined
13996           set_context() vmethod from GstElement, so always the correct function was
13997           called. Still this code is wrong and this patch make it right.
13998           Since set_context() is the same code, a macro is used to implement that code
13999           in all the gst-vaapi elements.
14000           https://bugzilla.gnome.org/show_bug.cgi?id=765368
14001
14002 2016-04-15 17:57:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14003
14004         * gst/vaapi/gstvaapipostproc.c:
14005           vaapipostproc: resize if negotiated and allocation caps are different
14006           Since commit 859a2b2, in vaapidecode, allocation query can be different from
14007           the negotiated caps.
14008           When connecting the vaapidecoder to the vaapipostprocessor, the last one will
14009           resize the frame to the negotiated, if and only if, some other parameter is
14010           activated to avoid the passthrough. If it is not, the surface won't be mapped
14011           into a image. If not, the image won't be resized and the output buffer would be
14012           mapped.
14013           This patch will break the passthrough if the allocation query is different
14014           from the negotiation caps, forcing the resizing.
14015           https://bugzilla.gnome.org/show_bug.cgi?id=765095
14016
14017 2016-04-05 13:09:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14018
14019         * gst/vaapi/gstvaapidecode.c:
14020           vaapidecode: improve code readability
14021           No functional changes.
14022
14023 2016-04-05 13:37:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14024
14025         * gst/vaapi/gstvaapidecode.c:
14026           vaapidecode: move GstCapsFeatures near to its use
14027           Move the handling of the GstCapsFeatures just after it is used, in order to
14028           avoid handling its memory.
14029
14030 2016-04-05 13:07:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14031
14032         * gst/vaapi/gstvaapidecode.c:
14033           vaapidecode: caps negotiation checks
14034           Check that GLUploadTexture is not negotatiated if gstreamer-vaapi is not
14035           compiled with GL support.
14036
14037 2016-03-10 16:43:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14038
14039         * gst/vaapi/gstvaapidecode.c:
14040         * gst/vaapi/gstvaapipluginbase.c:
14041         * gst/vaapi/gstvaapipluginbase.h:
14042         * gst/vaapi/gstvaapipostproc.c:
14043           plugins: remove param in gst_vaapi_plugin_base_decide_allocation()
14044
14045 2016-03-10 16:42:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14046
14047         * gst/vaapi/gstvaapidecode.c:
14048           vaapidecode: bail early if not caps in decide_allocation()
14049
14050 2016-03-29 14:17:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14051
14052         * gst/vaapi/gstvaapidecode.c:
14053         * gst/vaapi/gstvaapipluginbase.c:
14054         * gst/vaapi/gstvaapipluginutil.c:
14055         * gst/vaapi/gstvaapipluginutil.h:
14056         * gst/vaapi/gstvaapipostproc.c:
14057           plugin: use allowed caps filter from element
14058           Instead of using the srcpad template caps for filtering the peer caps, the
14059           function gst_vaapi_find_preferred_caps_feature(), now receives a new parameter
14060           for the element's allowed caps.
14061           With this modification, the vaapipostproc element simplifies a bit its code.
14062           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14063
14064 2016-04-18 17:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14065
14066         * gst/vaapi/gstvaapidecode.c:
14067         * gst/vaapi/gstvaapipluginbase.c:
14068         * gst/vaapi/gstvaapipluginutil.c:
14069         * gst/vaapi/gstvaapipluginutil.h:
14070         * gst/vaapi/gstvaapipostproc.c:
14071           plugin: remove function parameter
14072           The native format parameter in gst_vaapi_find_preferred_caps_feature() can be
14073           saved if the out format is used for both: in and out. Thus the code is more
14074           readable.
14075           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14076
14077 2016-04-18 17:17:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14078
14079         * gst/vaapi/gstvaapidecode.c:
14080           vaapidecode: warns if driver will do color conversions
14081           If the downstream feature is system memory, the surface has to be mapped,
14082           hence a warning message is logged saying that the driver has to do color
14083           conversions. This might be troublesome because not all the color conversion
14084           combinations are supported by the VA-API drivers, and there is not a reliable
14085           way to know them before hand.
14086           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14087
14088 2016-03-29 13:28:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14089
14090         * gst/vaapi/gstvaapipluginutil.c:
14091           plugin: honour negotiated format
14092           Instead of setting the requested format by the caller, the function
14093           gst_vaapi_find_preferred_caps_feature() now returns, in the output parameter,
14094           the negotiated format.
14095           A new helper function was added: gst_vaapi_find_preferred_format(), which,
14096           given the format list from the negotiated caps, will choose the best one, if
14097           possible, given the native format.
14098           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14099
14100 2016-03-28 19:26:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14101
14102         * gst/vaapi/gstvaapipluginutil.c:
14103           plugin: simplify caps feature selection
14104           This patch simplifies the function gst_vaapi_find_preferred_caps_feature().
14105           Instead of intersecting custom caps to find the preferred feature, the peer
14106           caps are traversed in order to find the preferred feature, according to an
14107           ordered feature priority list.
14108           In the case of GLTextureUploadMeta, the colour format is computed using
14109           GstVideoInfo of the selected fixed caps.
14110           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14111
14112 2016-03-31 16:39:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14113
14114         * gst/vaapi/gstvaapidecode.c:
14115           vaapidecode: use macros for GstVideoInfo
14116           Instead of accessing directly to the members of the structure, use the macros.
14117
14118 2016-04-14 17:02:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14119
14120         * gst/vaapi/gstvaapidecode.c:
14121           vaapidecode: refactor is_display_resolution_changed()
14122           Make the comparisons more readable and simple.
14123           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14124
14125 2016-04-14 16:43:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14126
14127         * gst/vaapi/gstvaapidecode.c:
14128         * gst/vaapi/gstvaapidecode.h:
14129           vaapidecode: keep only display_{width,height}
14130           Instead of keeping the structure GstVideoInfo when we are using its width and
14131           height, we only keep these two guints.
14132           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14133
14134 2016-04-14 16:31:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14135
14136         * gst/vaapi/gstvaapidecode.c:
14137           vaapidecode: decoded_info is valid at src caps update
14138           As decoded_info is assured to be valid when gst_vaapidecode_update_src_caps()
14139           is called, then we don't need to verify or replace it with the sinkpad info
14140           (reference state).
14141           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14142
14143 2016-04-14 16:22:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14144
14145         * gst/vaapi/gstvaapidecode.c:
14146           vaapidecode: always a valid format in decoded_info
14147           Always set a valid format in decoded_info class variable.
14148           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14149
14150 2016-03-25 15:31:28 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14151
14152         * gst/vaapi/gstvaapidecode.c:
14153           vaapidecode: code style fixes
14154           No functional changes.
14155           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14156
14157 2016-04-14 16:10:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14158
14159         * gst/vaapi/gstvaapidecode.c:
14160           vaapidecode: init {decoded,display}_info at open()
14161           It is required to initialize {decoded,display}_info variables when the decoder
14162           is open, not only at instance initialization.
14163           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14164
14165 2016-03-28 15:30:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14166
14167         * gst/vaapi/gstvaapidecode.c:
14168         * gst/vaapi/gstvaapidecode.h:
14169           vaapidecode: remove spurious class variables
14170           active, do_pool_renego and do_outstate_renego class variables were used to
14171           indicate when negotiate downstream once, but now that each time a new surface
14172           resolution is pop out a renegotation verified, these variable are not required
14173           anymore.
14174           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14175
14176 2016-04-14 15:46:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14177
14178         * gst/vaapi/gstvaapidecode.c:
14179         * gst/vaapi/gstvaapipluginbase.c:
14180         * gst/vaapi/gstvaapipluginbase.h:
14181         * gst/vaapi/gstvaapipostproc.c:
14182           remove custom allocation query
14183           When resolving bug 753914, a custom allocation query was added, overlapping
14184           the responsibilities of GstVideoDecoder.
14185           But with the merge of the patches from bug 764421 this overlapping was not
14186           required anymore. This patch restores this situation setting the
14187           allocation_caps in the GstVideoCodecState when needed.
14188           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14189
14190 2016-04-14 10:04:47 +0100  Julien Isorce <j.isorce@samsung.com>
14191
14192         * common:
14193           Automatic update of common submodule
14194           From 6f2d209 to ac2f647
14195
14196 2016-04-13 15:44:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14197
14198         * gst/vaapi/gstvaapidecode.c:
14199         * gst/vaapi/gstvaapidecodebin.c:
14200         * gst/vaapi/gstvaapipostproc.c:
14201           plugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX
14202           The plugins should not expose the feature meta:GstVideoGLTextureUploadMeta in
14203           their caps templates if they were not compiled either with GLX or EGL support.
14204
14205 2016-04-13 20:33:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14206
14207         * gst/vaapi/gstvaapipluginutil.c:
14208           plugins: fix compilation when EGL/GLX is disabled
14209           The compiler might complain of gst_vaapi_create_display_from_handle() being
14210           unused if both EGL and GLX are disabled. This patch avoid that compilation
14211           error.
14212
14213 2016-04-13 14:09:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
14214
14215         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
14216           libs: fix deleting a GstVaapiCodedBufferPool object
14217           Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
14218           Otherwise it is not called when the pool is destroyed and all objects
14219           referenced by the GstVaapiVideoPool are never released.
14220           https://bugzilla.gnome.org/show_bug.cgi?id=764993
14221
14222 2016-04-07 18:03:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14223
14224         * gst-libs/gst/vaapi/gstvaapisurface.c:
14225           surface: destroy derived image
14226           If gst_vaapi_image_new_with_image() fails, the created derived image should be
14227           destroyed, otherwise the surface cannot be processed because is being used.
14228           https://bugzilla.gnome.org/show_bug.cgi?id=764607
14229
14230 2016-03-18 20:00:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14231
14232         * gst/vaapi/gstvaapidecode.c:
14233           vaapidecode: add stop function
14234           Clear any status on the current stream:
14235           stored frames, caps and decoder configuration
14236           https://bugzilla.gnome.org/show_bug.cgi?id=763460
14237
14238 2016-04-01 14:00:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14239
14240         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14241           decoder: vp9: Align with the ABI changes in vp9 codecparser
14242           The subsampling_x, subsampling_y, bit_depth, color_space and color_range
14243           fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
14244           These fields are only present in keyframe or intra-only frame, no need to
14245           duplicate them for inter-frames.
14246           https://bugzilla.gnome.org/show_bug.cgi?id=764082
14247
14248 2016-04-01 13:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14249
14250         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14251           decoder: vp9 : Add 10bit decoding support (Profile2)
14252           https://bugzilla.gnome.org/show_bug.cgi?id=764082
14253
14254 2016-04-01 13:57:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14255
14256         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14257         * gst-libs/gst/vaapi/gstvaapiprofile.h:
14258           gstvaapiporfile: Add more VP9 profile definitions
14259           https://bugzilla.gnome.org/show_bug.cgi?id=764082
14260
14261 2016-02-03 20:34:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14262
14263         * Makefile.am:
14264         * configure.ac:
14265           build: possibility to disable tests
14266           The configuration option --disable-examples will disable the compilation of
14267           the sample apps in tests/ directory.
14268
14269 2016-03-29 14:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14270
14271         * gst/vaapi/gstvaapiencode_h264.c:
14272         * gst/vaapi/gstvaapiencode_h265.c:
14273         * gst/vaapi/gstvaapiencode_jpeg.c:
14274         * gst/vaapi/gstvaapiencode_mpeg2.c:
14275         * gst/vaapi/gstvaapiencode_vp8.c:
14276         * gst/vaapi/gstvaapipluginutil.h:
14277         * gst/vaapi/gstvaapisink.c:
14278           unify caps template for VAAPI encoders and decoders
14279           There is no difference in VAAPI surface caps between encoders and decoders.
14280           Thus, the patch makes a simplification by removing encoders specific caps and
14281           shares the same definition of VAAPI surfaces caps for all the elements.
14282
14283 2016-03-10 17:42:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14284
14285         * gst/vaapi/gstvaapidecode.c:
14286           vaapidecode: move gst_vaapidecode_negotiate() code
14287           With it we can remove a function declaration, making the code a bit
14288           more readable.
14289           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14290
14291 2016-03-29 13:50:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14292
14293         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
14294         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
14295         * gst/vaapi/gstvaapidecode.c:
14296           docs: generate vaapijpegdec documentation
14297           https://bugzilla.gnome.org/show_bug.cgi?id=764314
14298
14299 2016-03-30 14:37:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14300
14301         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14302           decoder: h265: Fix offset calculation when there is more than one vps/sps/pps present in codec_data
14303           The array_completeness, reserved bit and num_nal_units fields
14304           in HEVCDecoderConfigurationRecord will be present for each VPS/SPS/PPS array list,
14305           but not for each occurance of similar headers.
14306           https://bugzilla.gnome.org/show_bug.cgi?id=764274
14307
14308 2016-03-29 15:34:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14309
14310         * gst-libs/gst/vaapi/video-format.c:
14311           video-format: Keep the HW order preference while mapping to GstVideoFormats
14312
14313 2016-03-29 15:02:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14314
14315         * gst/vaapi/gstvaapidecode.c:
14316         * gst/vaapi/gstvaapipluginbase.c:
14317         * gst/vaapi/gstvaapipluginutil.c:
14318         * gst/vaapi/gstvaapipluginutil.h:
14319         * gst/vaapi/gstvaapivideomemory.c:
14320           gst/vaapi: keep precedence for NV12 over I420
14321           Use NV12 as default "assumption" format all over.
14322           NV12 is the default high priority format used my most of the
14323           vaapi-drivers.
14324
14325 2016-03-29 14:34:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14326
14327         * gst/vaapi/gstvaapidecode.c:
14328           vaapidecode: Use video format derived from decoded surface as default src pad format
14329           Use the surface format derived from first decoded surface
14330           to negotiate the downstream video format capabilities.
14331           https://bugzilla.gnome.org/show_bug.cgi?id=759181
14332
14333 2016-03-29 14:34:00 +0300  Scott D Phillips <scott.d.phillips@intel.com>
14334
14335         * gst-libs/gst/vaapi/gstvaapiimage.c:
14336         * gst-libs/gst/vaapi/video-format.c:
14337         * gst/vaapi/gstvaapidecode.c:
14338         * gst/vaapi/gstvaapipluginutil.h:
14339         * gst/vaapi/gstvaapisink.c:
14340           Add P010 video format support
14341           The P010 video format is the native format used by the vaapi intel driver
14342           for HEVCMain10 decode . Add support for planes and images of this video format.
14343           https://bugzilla.gnome.org/show_bug.cgi?id=759181
14344
14345 2016-03-27 09:11:00 +0000  Stephen <elfarto@elfarto.com>
14346
14347         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
14348           libs: x11: allows 30-bit colour depth
14349           The colour depth is clamped to 24 when it is not equal {15,16,24,32}. But this
14350           fails with the NVIDIA binary driver as it doesn't advertise a TrueColor visual
14351           with a depth of 24 (only 30 and 32). Allowing the depth to be 30, lets everything
14352           work as expected.
14353           https://bugzilla.gnome.org/show_bug.cgi?id=764256
14354
14355 2016-03-28 13:13:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14356
14357         * gst/vaapi/gstvaapivideometa_texture.c:
14358           gltextureupload: use an array for texture type
14359           Instead of using a single value for the texture type, use an array with 4
14360           elements, just as the GstVideoGLTextureUploadMeta, avoiding a buffer
14361           overflow.
14362           https://bugzilla.gnome.org/show_bug.cgi?id=764231
14363
14364 2016-03-24 15:09:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14365
14366         * gst/vaapi/gstvaapidecode.c:
14367         * gst/vaapi/gstvaapipluginbase.c:
14368           vaapidecode: Fix decide_allocation handling
14369           Set the already configured pool in decide_allocation query
14370           in cases where pool renegotiation is not required.
14371           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14372
14373 2016-03-24 15:09:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14374
14375         * gst/vaapi/gstvaapidecode.c:
14376           vaapidecode: Derive and save the decoded surface format
14377           After the decoding of first frame, try to extract the exact
14378           decoded surface format using vaDeriveImage and keep this
14379           as the format in decoded_info.
14380           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14381
14382 2016-03-24 15:08:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14383
14384         * gst/vaapi/gstvaapidecode.c:
14385         * gst/vaapi/gstvaapidecode.h:
14386         * gst/vaapi/gstvaapipluginbase.c:
14387         * gst/vaapi/gstvaapipluginbase.h:
14388         * gst/vaapi/gstvaapipostproc.c:
14389           Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed
14390           -- Maintaing decoded surface resoluton and actual display resoultion separately
14391           -- Before pushing every frames downstream, check for the requirement of pool negoation and
14392           output_state negotiation: This is needed to avoid multiple issuses with cropping,
14393           multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
14394           possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
14395           We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
14396           This is slight overhead, but safe enough. Optimization could be possible though.
14397           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14398
14399 2016-03-24 15:08:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14400
14401         * gst/vaapi/gstvaapidecode.c:
14402           vaapidecode: Delay the output format setting until we have a decoded surface
14403           This will help to consoidate the out caps negotiation to a single place,
14404           which will make the code simpler, allows to get the exact decoded format
14405           if needed and the selected chroma type too.
14406           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14407
14408 2016-03-24 13:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14409
14410         * gst/vaapi/gstvaapidecode.h:
14411           vaapidecode: GST_VAAPIDECODE macro is a cast
14412           This patch is the continuation of commit 1e1d3b1d because the function
14413           gst_vaapidecode_get_type() got undefined since then.
14414           Now, the macro GST_VAAPIDECODE is a simple cast to the GstVaapiDecode
14415           structure. The rest of the GObject handling macros were deleted too.
14416
14417 2016-03-24 13:34:18 +0200  Sebastian Dröge <sebastian@centricular.com>
14418
14419         * configure.ac:
14420           Back to development
14421
14422 === release 1.8.0 ===
14423
14424 2016-03-24 13:11:05 +0200  Sebastian Dröge <sebastian@centricular.com>
14425
14426         * ChangeLog:
14427         * NEWS:
14428         * configure.ac:
14429         * gstreamer-vaapi.doap:
14430           Release 1.8.0
14431
14432 === release 1.7.91 ===
14433
14434 2016-03-15 12:39:20 +0200  Sebastian Dröge <sebastian@centricular.com>
14435
14436         * ChangeLog:
14437         * NEWS:
14438         * configure.ac:
14439         * gstreamer-vaapi.doap:
14440           Release 1.7.91
14441
14442 2016-03-11 17:44:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14443
14444         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14445           decoder: h265: Fix offset calculation in codec_data parsing
14446           https://bugzilla.gnome.org/show_bug.cgi?id=762922
14447
14448 2016-03-09 20:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14449
14450         * gst/vaapi/gstvaapidecodebin.c:
14451           vaapidecodebin: don't handle jpeg decoding
14452           As JPEG decoder has been split and demoted, it cannot be handled by
14453           vaapidecodebin
14454           Added a fixme comment regarding the future removal of vaapidecode.
14455           https://bugzilla.gnome.org/show_bug.cgi?id=734093
14456
14457 2016-03-09 20:25:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14458
14459         * gst/vaapi/gstvaapidecode.c:
14460           vaapidecode: split out jpeg decoder
14461           Split, as a different element, the JPEG decoder.
14462           https://bugzilla.gnome.org/show_bug.cgi?id=734093
14463
14464 2016-03-09 18:41:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14465
14466         * gst/vaapi/gstvaapi.c:
14467         * gst/vaapi/gstvaapidecode.c:
14468         * gst/vaapi/gstvaapidecode.h:
14469           vaapidecode: register decoder with internal GType
14470           Don't expose the the vaapidecode GType, instead expose a function
14471           which will register element.
14472           This is the first step to split the decoder by codecs.
14473           https://bugzilla.gnome.org/show_bug.cgi?id=734093
14474
14475 2016-03-10 12:47:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14476
14477         * gst/vaapi/gstvaapidecode.c:
14478           vaapidecode: remove unused function declaration
14479           There is no need to pre-declare gst_vaapidecode_update_sink_caps(). And fixed
14480           code-style of the other pre-declared functions.
14481
14482 2016-03-09 18:58:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14483
14484         * docs/plugins/Makefile.am:
14485           build: git ignore gtkdoc generated files
14486
14487 2016-03-09 18:55:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14488
14489         * m4/Makefile.am:
14490           build: handle git ignore in m4 directory
14491
14492 2016-03-04 20:17:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14493
14494         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14495           vaapidecoder_h265: plug leak of h265 parsing info
14496           If something goes wrong while parsing, the info object is
14497           being leaked
14498           https://bugzilla.gnome.org/show_bug.cgi?id=763121
14499
14500 2016-03-04 20:17:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14501
14502         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14503           vaapidecoder_h264: plug leak of h264 parsing info
14504           If something goes wrong while parsing, the info object is
14505           being leaked
14506           https://bugzilla.gnome.org/show_bug.cgi?id=763121
14507
14508 2016-03-09 11:03:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
14509
14510         * gst/vaapi/gstvaapipluginutil.c:
14511           plugins: fix gstgl and vaapi memory leaks
14512           1\ Unref gl_display and gl_window as soon they are not needed.
14513           2\ Remove an unneeded display type check, since is handled by
14514           gst_vaapi_created_display_from_handle()
14515           3\ Unref vaapi's display if the display cannot be bind to a GL API.
14516           Modified-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14517           https://bugzilla.gnome.org/show_bug.cgi?id=763354
14518
14519 2016-03-09 14:13:24 +0900  Vineeth TM <vineeth.tm@samsung.com>
14520
14521         * gst-libs/gst/vaapi/gstvaapidisplay.c:
14522           vaapidisplay: Fix uninitialized value error for VA attribute
14523           https://bugzilla.gnome.org/show_bug.cgi?id=763362
14524
14525 2016-03-08 10:47:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14526
14527         * gst/vaapi/gstvaapidecode.c:
14528         * gst/vaapi/gstvaapiencode.c:
14529           plugins: proxy information from downstream caps
14530           Propagate to upstream the downstream information, such as fps, par, etc.
14531           This will fix several "getcaps" critical warnings in gst-validate.
14532           https://bugzilla.gnome.org/show_bug.cgi?id=763300
14533
14534 2016-03-04 10:51:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14535
14536         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14537           decoder: vp9: Assign values for profile and bit_depth from frame header
14538           bit_depth field has added only in VA-API 0.39.0, added version check.
14539
14540 2016-03-04 09:12:13 +0200  Sebastian Dröge <sebastian@centricular.com>
14541
14542         * Makefile.am:
14543           build: Dist gstreamer-vaapi.doap and configure.ac/autogen.sh
14544           https://bugzilla.gnome.org/show_bug.cgi?id=763067
14545
14546 === release 1.7.90 ===
14547
14548 2016-03-01 19:23:51 +0200  Sebastian Dröge <sebastian@centricular.com>
14549
14550         * ChangeLog:
14551         * NEWS:
14552         * configure.ac:
14553         * gstreamer-vaapi.doap:
14554           Release 1.7.90
14555
14556 2016-03-01 16:14:47 +0200  Sebastian Dröge <sebastian@centricular.com>
14557
14558         * configure.ac:
14559           configure: Use AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO to set release date
14560
14561 2016-03-01 11:35:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14562
14563         * gst/vaapi/gstvaapidecode.c:
14564           vaapidecode: intersect with filter in getcaps()
14565           In commit 6034734d I forgot to add the caps filter intersection in the
14566           getcaps() vmethod generating a regression when a capsfilter is set in the
14567           pipeline.
14568           This commit adds the caps filter intersection.
14569
14570 2016-02-29 11:55:27 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
14571
14572         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
14573           Add memset to initialize value for VAEncSliceParameterBufferJPEG
14574           https://bugzilla.gnome.org/show_bug.cgi?id=762850
14575
14576 2016-02-26 12:42:46 +0200  Sebastian Dröge <sebastian@centricular.com>
14577
14578         * common:
14579           Automatic update of common submodule
14580           From b64f03f to 6f2d209
14581
14582 2016-02-24 12:36:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14583
14584         * Makefile.am:
14585         * configure.ac:
14586         * m4/Makefile.am:
14587           build: add m4 directory
14588           Instead of rely on the automatic creation of m4 directory by aclocal, we
14589           already control it. Later we could create our own m4 scripts in order to
14590           unclutter configure.ac
14591           https://bugzilla.gnome.org/show_bug.cgi?id=762528
14592
14593 2016-02-23 10:55:02 +0200  Scott D Phillips <scott.d.phillips@intel.com>
14594
14595         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14596           decoder: hevc: Fill dependent slice segment headers while parsing
14597           Copy the data into the dependent slice segment header from the
14598           corresponding independent slice segment header during parsing.
14599           Previously the reference to the "previous" independent header was
14600           held through the parsing phase and then dereferenced during the
14601           decoding phase. This caused all dependent headers to be populated
14602           with the data of the AU's last independent header instead of the
14603           proper corresponding header.
14604           https://bugzilla.gnome.org/show_bug.cgi?id=762352
14605           Changes since v1:
14606           - Reworded commit message
14607
14608 2016-02-17 13:43:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14609
14610         * gst/vaapi/gstvaapidecode.c:
14611           vaapidecode: use video decoder getcaps()
14612           The usage of getcaps() vmethod is preferred than to handle manually the sink's
14613           caps query.
14614           In order to avoid function declarations, this patch moves the class_init()
14615           method to the end of the file.
14616
14617 2016-02-17 12:51:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14618
14619         * gst/vaapi/gstvaapipluginbase.c:
14620           plugins: remove deprecated code
14621           Since we are only supporting current GStreamer version, since 1.3
14622           gst_buffer_pool_config_add_option() checks if the option to add is
14623           already set. There is no need to do it ourselves.
14624
14625 2016-02-19 19:03:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14626
14627         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14628           vaapidecoder_h265: fix parsing of NALU aligned data
14629           Don't assume the whole buffer is a single NAL, instead look for the
14630           next start code in case there are multiple NALs per buffer.
14631           https://bugzilla.gnome.org/show_bug.cgi?id=762328
14632
14633 2016-02-19 11:10:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14634
14635         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14636           vaapidecoder_h264: fix parsing of NALU aligned data
14637           Don't assume the whole buffer is a single NAL, instead look for the
14638           next start code in case there are multiple NALs per buffer.
14639           https://bugzilla.gnome.org/show_bug.cgi?id=762328
14640
14641 2016-02-18 10:13:53 +0900  Vineeth TM <vineeth.tm@samsung.com>
14642
14643         * gst/vaapi/gstvaapisink.c:
14644           vaapisink: Fix event,pad,structure memory leaks
14645           https://bugzilla.gnome.org/show_bug.cgi?id=762229
14646
14647 2016-02-17 15:40:54 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
14648
14649         * gst/vaapi/gstvaapipluginbase.c:
14650           Add icamerasrc as dmabuf capable peer element
14651           icamerasrc is another gstreamer plugin using to capture RAW
14652           frames from camera device. It is based on libcamhal library.
14653           There are some properties available to control icamera behavior.
14654           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
14655           Tested & Reviewed: Zhu Haiyang <haiyang.zhu@intel.com>
14656           https://bugzilla.gnome.org/show_bug.cgi?id=759481
14657           Fixme: This is the similar workaround we done for v4l2src.
14658           The workaround will be removed once we fix #755072
14659
14660 2016-02-17 17:15:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
14661
14662         * gst/vaapi/gstvaapipluginbase.c:
14663           vaapipluginbase: Fix structure memory leak
14664           config structure is not being freed in all cases
14665           https://bugzilla.gnome.org/show_bug.cgi?id=762172
14666
14667 2016-02-17 17:20:08 +0900  Vineeth TM <vineeth.tm@samsung.com>
14668
14669         * gst/vaapi/gstvaapidecode.c:
14670           vaapidecode: Fix videocodec state memory leak
14671           When state is not NULL and either width/height of video info is 0, then state leaks
14672           https://bugzilla.gnome.org/show_bug.cgi?id=762173
14673
14674 2016-02-16 15:44:48 +0000  Tim-Philipp Müller <tim@centricular.com>
14675
14676         * gst/vaapi/gstvaapisink.c:
14677           vaapisink: post message for application for unhandled keyboard/mouse events
14678           Makes (most) keyboard shortcuts work in gst-play-1.0 when
14679           the video window has focus.
14680
14681 2016-02-16 08:48:43 +0900  Vineeth TM <vineeth.tm@samsung.com>
14682
14683         * gst/vaapi/gstvaapidecode.c:
14684           vaapidecode: Fix capsfeature memory leak
14685           https://bugzilla.gnome.org/show_bug.cgi?id=762116
14686
14687 2016-02-16 08:15:40 +0900  Vineeth TM <vineeth.tm@samsung.com>
14688
14689         * gst/vaapi/gstvaapisink.c:
14690           vaapisink: Fix capsfeature memory leak
14691           caps feature allocated is not being freeing in some cases
14692           https://bugzilla.gnome.org/show_bug.cgi?id=762111
14693
14694 2016-02-16 15:09:01 +0200  Sebastian Dröge <sebastian@centricular.com>
14695
14696         * configure.ac:
14697         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
14698         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
14699         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14700         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14701         * gst-libs/gst/vaapi/gstvaapifilter.c:
14702         * gst/vaapi/gstvaapidecodebin.c:
14703         * gst/vaapi/gstvaapipluginutil.c:
14704           vaapi: Fix various compiler warnings and disable -Wredundant-decls for now
14705
14706 2016-02-16 14:36:39 +0200  Sebastian Dröge <sebastian@centricular.com>
14707
14708         * configure.ac:
14709           configure: Fix setting of extra compiler warning flags
14710
14711 2016-02-15 18:00:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14712
14713         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
14714           libs: fix build error
14715           gst_vaapi_buffer_proxy_{acquire_handle,release_handle,finalize,class}
14716           functions are used only when libva's API version is greater than 0.36.0
14717           This patch guards those functions completely rather than just their
14718           content. The patch is a continuation of commit 38f8fea4
14719           Original-patch-by: Vineeth TM <vineeth.tm@samsung.com>
14720           https://bugzilla.gnome.org/show_bug.cgi?id=762055
14721
14722 2016-02-15 10:01:54 +0900  Vineeth TM <vineeth.tm@samsung.com>
14723
14724         * tests/simple-encoder.c:
14725           tests: simple-encoder: fix build error
14726           argument mismatch of gsize with 'long unsigned int'
14727           https://bugzilla.gnome.org/show_bug.cgi?id=762055
14728
14729 2016-02-04 10:16:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14730
14731         * gst/vaapi/gstvaapisink.c:
14732           vaapisink: Fix wrong caps advertising
14733           The get_caps() should only report the supported formats.
14734           https://bugzilla.gnome.org/show_bug.cgi?id=761147
14735
14736 2016-02-05 18:11:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14737
14738         * common:
14739           Automatic update of common submodule
14740           From e97c9bb to b64f03f
14741
14742 2016-02-03 19:07:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14743
14744         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
14745         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
14746         * gst/vaapi/gstvaapi.c:
14747         * gst/vaapi/gstvaapiencode_h264.c:
14748         * gst/vaapi/gstvaapiencode_h265.c:
14749         * gst/vaapi/gstvaapiencode_jpeg.c:
14750         * gst/vaapi/gstvaapiencode_mpeg2.c:
14751         * gst/vaapi/gstvaapiencode_vp8.c:
14752           rename encoders to vaapi{codec}enc
14753           Trying to comply with GStreamer's element names, this patch renames the
14754           encoders using the name format vaapi{codec}enc.
14755           In this way, the plugin documentation is linked correctly.
14756           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14757
14758 2016-02-03 18:42:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14759
14760         * configure.ac:
14761           Use new AG_GST_ARG_ENABLE_EXTRA_CHECKS #define
14762           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14763
14764 2016-02-03 18:02:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14765
14766         * configure.ac:
14767           build: remove vp9 parser check
14768           Since the VP9 parser was added in gst-plugins-bad 1.7.1 we can remove safely
14769           the check of the parser, as we did for the others.
14770           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14771
14772 2016-02-03 17:06:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14773
14774         * common:
14775         * configure.ac:
14776           Back to development
14777           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14778
14779 === release 1.6.0 ===
14780
14781 2016-02-03 16:53:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14782
14783         * configure.ac:
14784           Release 1.6.0
14785
14786 2016-02-03 16:45:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14787
14788         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
14789         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14790         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
14791           libs: fix compiler warnings
14792           After setting the release flags, the compiler warns about a couple
14793           initialized variables.
14794           Also marked a couple of set variables as unused, because they are only
14795           used for assertion.
14796           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14797
14798 2016-01-29 20:41:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14799
14800         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
14801         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
14802         * gst/vaapi/gstvaapidecode.c:
14803         * gst/vaapi/gstvaapidecodebin.c:
14804         * gst/vaapi/gstvaapiencode_h264.c:
14805         * gst/vaapi/gstvaapiencode_h265.c:
14806         * gst/vaapi/gstvaapiencode_jpeg.c:
14807         * gst/vaapi/gstvaapiencode_mpeg2.c:
14808         * gst/vaapi/gstvaapiencode_vp8.c:
14809         * gst/vaapi/gstvaapipostproc.c:
14810         * gst/vaapi/gstvaapisink.c:
14811           docs: update plugin documentation
14812           Update all the documentation of elements of the vaapi plugin.
14813           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14814
14815 2016-01-29 15:39:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14816
14817         * Makefile.am:
14818         * configure.ac:
14819         * docs/Makefile.am:
14820         * docs/plugins/Makefile.am:
14821         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
14822         * docs/plugins/gstreamer-vaapi-plugins.types:
14823         * docs/reference/Makefile.am:
14824         * docs/reference/plugins/Makefile.am:
14825         * docs/reference/plugins/plugins-sections.txt:
14826         * docs/reference/plugins/plugins.types:
14827         * docs/version.entities.in:
14828           resurrect gtk-doc machinery
14829           Our auto-generated documentation has been a bit neglected. This patch replaces
14830           the 'normal' gtk-doc with the one used in GStreamer, which is adapted for
14831           plugins, elements and libraries.
14832           This patch also re-enables documentation generation.
14833           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14834
14835 2016-01-28 19:35:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14836
14837         * ChangeLog:
14838         * Makefile.am:
14839         * autogen.sh:
14840         * configure.ac:
14841           use gst-common submodule
14842           This is 'the' big change in gstreamer-vaapi autoconf. Now it uses the official
14843           GStreamer common submodule.
14844           The documentation generation has been disable temporarily since it needs a
14845           major rework, which will be done in the following commit.
14846           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14847
14848 2016-01-25 16:06:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14849
14850         * .gitmodules:
14851         * common:
14852           add gst-common submodule
14853           Pointing to branch 1.6
14854           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14855
14856 2016-01-28 13:28:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14857
14858         * gstreamer-vaapi.doap:
14859           add doap descriptor
14860           DOAP (Description of a Project) is an RDF Schema and XML vocabulary to
14861           describe software projects, in particular free and open source software.
14862           The description is used in GStreamer as in many other open source projects.
14863           This patch adds the doap description of this project.
14864           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14865
14866 2016-02-03 11:50:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14867
14868         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
14869         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14870         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
14871         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
14872         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
14873         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
14874         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
14875         * gst-libs/gst/vaapi/gstvaapiimage.c:
14876         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
14877         * gst-libs/gst/vaapi/gstvaapipixmap.c:
14878         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
14879         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14880         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
14881           libs: humongous code style fix
14882           As part of the upstreaming process of gstreamer-vaapi into the GStreamer
14883           umbrella, we need to comply with the project's code style. This meant to
14884           change a lot of code.
14885           It was decided to use a single massive patch to update the code style.
14886           I would like to apologize with the original developers of this code because of
14887           the history breakage.
14888           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14889
14890 2016-02-03 11:04:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14891
14892         * gst-libs/gst/vaapi/gstvaapicontext.c:
14893         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14894         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
14895         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
14896         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
14897         * gst/vaapi/gstvaapivideomemory.c:
14898           libs: small refactors to enhance the code style
14899           As gst-indent generated ugly code in these cases, this patch changes the used
14900           idiomatic into other one.
14901           No functional changes were introduced.
14902           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14903
14904 2016-02-02 17:59:57 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14905
14906         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
14907         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
14908         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
14909         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14910         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14911         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
14912         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14913         * gst-libs/gst/vaapi/gstvaapidisplay.c:
14914         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14915         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14916         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
14917         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
14918         * gst-libs/gst/vaapi/gstvaapifilter.c:
14919         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
14920         * gst-libs/gst/vaapi/gstvaapisurface.c:
14921         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
14922         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
14923         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
14924         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
14925         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
14926         * gst-libs/gst/vaapi/gstvaapiwindow.c:
14927         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
14928           libs: small code style fixes
14929           This a set of small code style fixes detected as-is by gst-indent.
14930           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14931
14932 2016-02-02 17:50:19 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14933
14934         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
14935         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14936         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
14937         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
14938         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
14939         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
14940         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
14941         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
14942         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
14943           libs: trivial comment style fixes
14944           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14945
14946 2016-02-02 17:31:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14947
14948         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
14949         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
14950           libs: avoid gst-indent mess up
14951           Guard pieces of code to avoid gst-ident to mess up the following code.
14952           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14953
14954 2016-02-03 12:17:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14955
14956         * gst/vaapi/gstvaapidecode.c:
14957         * gst/vaapi/gstvaapidecodebin.c:
14958         * gst/vaapi/gstvaapipluginutil.c:
14959         * gst/vaapi/gstvaapisink.c:
14960         * gst/vaapi/gstvaapivideomemory.c:
14961           plugins: fix code style
14962           Minor code style changes by executing gst-indent in gst/vaapi directory.
14963           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14964
14965 2016-02-01 13:22:10 +0000  Tim-Philipp Müller <tim@centricular.com>
14966
14967         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14968         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14969           Fix some more compiler warning
14970           Two (false) compiler warnings about variables potentially
14971           being used uninitialized, and one about a variable being
14972           set but not used.
14973           https://bugzilla.gnome.org/show_bug.cgi?id=759192
14974
14975 2016-02-01 13:02:13 +0000  Tim-Philipp Müller <tim@centricular.com>
14976
14977         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14978         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
14979         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14980         * gst-libs/gst/vaapi/gstvaapifilter.c:
14981         * gst/vaapi/gstvaapidecode.c:
14982         * gst/vaapi/gstvaapipluginbase.c:
14983         * gst/vaapi/gstvaapipluginutil.c:
14984         * gst/vaapi/gstvaapipostproc.c:
14985         * tests/simple-encoder.c:
14986         * tests/test-filter.c:
14987           vaapi: fix 'ISO C90 forbids mixed declarations and code' compiler warnings
14988           Declare variables at the beginning of a code block, which
14989           is how it's done in GStreamer.
14990           https://bugzilla.gnome.org/show_bug.cgi?id=759192
14991
14992 2016-01-28 14:21:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14993
14994         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14995           decoder: vp9: Fix crop rectangle setting
14996           Align with software vp9dec behaviour: Add crop rectangle
14997           only if display_width/display_height is less than the
14998           frame_hdr->width/frame_hdr->height
14999
15000 2016-01-27 08:56:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15001
15002         * gst/vaapi/gstvaapidecode.c:
15003           vaapidecode: Fix renegotiation for resolution change
15004           Always renegotiate the pool if the immediate frame which going
15005           to be pushed has a different un-cropped resolution than the already
15006           configured one.
15007
15008 2016-01-29 15:51:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15009
15010         * gst/vaapi/gstvaapipluginbase.h:
15011           plugins: use the same pre-processor macro
15012           In gstvaapipluginbase.c we are using the macro USE_GST_GL_HELPERS to guard the
15013           code related with GstGL. Nonetheless, in gstvaapipluginbase.h we are using
15014           HAVE_GST_GL_GL_H macro in order to include the GstGLContext's header.
15015           We should use only one to be homogeneous. This patch sets USE_GST_GL_HELPERS
15016           in the header file.
15017           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15018
15019 2016-01-29 18:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15020
15021         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15022           decoder: update a deprecated function
15023           Somehow this didn't show up earlier, but gst_adapter_prev_timestamp() got
15024           deprecated since GStreamer 1.0.
15025           This patch replace it with gst_adapter_prev_pts()
15026           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15027
15028 2016-01-29 13:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15029
15030         * configure.ac:
15031           build: honor configure's cache
15032           The user might enable --config-cache when calling configure script. If so, our
15033           configuration variables will not be correctly calculated.
15034           This patch extracts the value of our variables either from the cache or from
15035           the operation result.
15036           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15037
15038 2016-01-28 19:12:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15039
15040         * configure.ac:
15041           build: use common version variables
15042           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15043
15044 2016-01-28 19:01:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15045
15046         * configure.ac:
15047           build: hard-code an unneeded macro
15048           That macro is required for EGL's dynamic module loading, but since
15049           gstreamer-vaapi doesn't creates dynamic modules, it is not required anymore.
15050           That code in gst-libs/gst/vaapi/gstvaapidisplay_egl.c should be removed.
15051           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15052
15053 2016-01-28 17:14:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15054
15055         * configure.ac:
15056           build: refactorization of dependency tracking
15057           This patch tries to avoid branching in configure.ac using a more functional
15058           approach in macros usage.
15059           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15060
15061 2016-01-29 12:34:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15062
15063         * configure.ac:
15064           build: check for OpenGL either GLX or EGL are requested
15065           Refactor some code in configure.ac to centralize $enable_opengl definition.
15066           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15067
15068 2016-01-28 16:55:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15069
15070         * configure.ac:
15071           build: indent and add square braces
15072           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15073
15074 2016-01-28 16:50:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15075
15076         * configure.ac:
15077           build: upgrade autotools version dependency
15078           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15079
15080 2016-01-29 11:14:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15081
15082         * configure.ac:
15083           build: enhance string comparisons
15084           Add a 'x' as a prefix in string comparisons to watch out for edge cases where
15085           the string is empty or undefined.
15086           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15087
15088 2016-01-28 14:29:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15089
15090         * configure.ac:
15091           build: remove unused variables
15092           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15093
15094 2016-01-27 19:00:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15095
15096         * configure.ac:
15097           build: remove check for old version of gstreamer
15098           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15099
15100 2016-01-27 17:55:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15101
15102         * configure.ac:
15103           build: remove GStreamer's parsers checks
15104           This patch removes almost all the parsers check since they are already in place,
15105           with the exception of the VP9 parser, since it was merged in Gstreamer 1.7.
15106           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15107
15108 2016-01-29 12:11:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15109
15110         * configure.ac:
15111         * gst/vaapi/Makefile.am:
15112           build: add gstreamer-pbutils dependency
15113           This dependency was added in gstvaapidecodebin with the call
15114           gst_missing_element_message_new().
15115           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15116
15117 2016-01-27 17:53:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15118
15119         * configure.ac:
15120           build: fix variable declaration
15121           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15122
15123 2016-01-27 17:47:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15124
15125         * gst-libs/gst/vaapi/Makefile.am:
15126           build: fix when HEVC decoder is disabled
15127           This a very pathological situation: when we have a HEVC encoder but not a HEVC
15128           decoder.
15129           The encoder needs functions that are only available when the decoder is
15130           enabled.
15131           This patch moves the utils functions into the generic sources, such as the
15132           rest of the utils.
15133           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15134
15135 2016-01-27 17:20:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15136
15137         * gst/vaapi/Makefile.am:
15138           build: remove unused EGL specific sources
15139           These Makefile variables are not used at all.
15140           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15141
15142 2016-01-27 17:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15143
15144         * gst/vaapi/Makefile.am:
15145           build: remove check for GStreamer 1.2
15146           Since we are working for current stable GStreamer 1.6
15147           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15148
15149 2016-01-26 11:49:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15150
15151         * gst/vaapi/gstvaapiparse.h:
15152           Remove more video parser crufts
15153           This header is not used anymore since it declares parsers that are
15154           already in GStreamer 1.6
15155           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15156
15157 2016-01-25 12:43:15 +0000  Tim-Philipp Müller <tim@centricular.com>
15158
15159         * configure.ac:
15160         * docs/reference/Makefile.am:
15161         * docs/reference/libs/Makefile.am:
15162         * docs/reference/libs/libs-docs.xml.in:
15163         * docs/reference/libs/libs-overrides.txt:
15164         * docs/reference/libs/libs-sections.txt:
15165           docs: remove library documentation which is non-public now
15166           https://bugzilla.gnome.org/show_bug.cgi?id=759192
15167
15168 2016-01-25 12:40:49 +0000  Tim-Philipp Müller <tim@centricular.com>
15169
15170         * Makefile.am:
15171         * configure.ac:
15172         * debian.upstream/Makefile.am:
15173         * debian.upstream/changelog.in:
15174         * debian.upstream/compat:
15175         * debian.upstream/control.in:
15176         * debian.upstream/copyright:
15177         * debian.upstream/gstreamer-vaapi-doc.install.in:
15178         * debian.upstream/gstreamer-vaapi.install.in:
15179         * debian.upstream/rules:
15180           Remove debian.upstream packaging
15181           https://bugzilla.gnome.org/show_bug.cgi?id=759192
15182
15183 2016-01-22 19:27:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15184
15185         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15186         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15187         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
15188         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15189         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15190         * gst/vaapi/gstcompat.h:
15191         * gst/vaapi/gstvaapi.c:
15192         * gst/vaapi/gstvaapidecode.c:
15193         * gst/vaapi/gstvaapiencode.c:
15194         * gst/vaapi/gstvaapipluginbase.c:
15195         * gst/vaapi/gstvaapipluginbase.h:
15196         * gst/vaapi/gstvaapipluginutil.c:
15197         * gst/vaapi/gstvaapisink.c:
15198           Remove old gst version guards
15199           As gstreamer-vaapi now only supports from GStreamer 1.6, this patch removes
15200           all the old GStreamer version guards.
15201           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15202
15203 2016-01-22 19:23:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15204
15205         * gst/vaapi/gstvaapiparse.c:
15206           Remove video parser crufts
15207           We forgot to remove gstvaapiparse.c when we removed all the videoparser
15208           machinery.
15209           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15210
15211 2015-12-09 19:52:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15212
15213         * docs/reference/libs/Makefile.am:
15214         * docs/reference/plugins/Makefile.am:
15215         * gst-libs/gst/vaapi/Makefile.am:
15216         * gst/vaapi/Makefile.am:
15217         * tests/Makefile.am:
15218           libs: remove versioning
15219           Since we don't install libraries anymore, it makes no sense to keep
15220           versioning them according to the gstreamer's version.
15221           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15222
15223 2015-12-09 16:59:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15224
15225         * configure.ac:
15226         * debian.upstream/Makefile.am:
15227         * debian.upstream/control.in:
15228         * debian.upstream/libgstvaapi-dev.install.in:
15229         * debian.upstream/libgstvaapi-drm.install.in:
15230         * debian.upstream/libgstvaapi-glx.install.in:
15231         * debian.upstream/libgstvaapi-wayland.install.in:
15232         * debian.upstream/libgstvaapi-x11.install.in:
15233         * debian.upstream/libgstvaapi.install.in:
15234         * gst-libs/gst/vaapi/Makefile.am:
15235         * tests/Makefile.am:
15236           libs: make libraries no installables
15237           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15238
15239 2015-12-09 15:37:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15240
15241         * debian.upstream/libgstvaapi-dev.install.in:
15242         * gst-libs/gst/vaapi/Makefile.am:
15243           Do not install libgstvaapi headers
15244           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15245
15246 2016-01-19 10:40:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15247
15248         * Makefile.am:
15249         * configure.ac:
15250         * patches/Makefile.am:
15251         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
15252         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
15253         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
15254         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
15255         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
15256         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
15257         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
15258         * patches/videoparsers/Makefile.am:
15259         * patches/videoparsers/series.frag:
15260           Remove videoparser patches
15261
15262 2015-12-09 15:18:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15263
15264         * Makefile.am:
15265         * configure.ac:
15266         * debian.upstream/libgstvaapi-dev.install.in:
15267         * pkgconfig/Makefile.am:
15268         * pkgconfig/gstreamer-vaapi-drm.pc.in:
15269         * pkgconfig/gstreamer-vaapi-glx.pc.in:
15270         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
15271         * pkgconfig/gstreamer-vaapi-x11.pc.in:
15272         * pkgconfig/gstreamer-vaapi.pc.in:
15273           Remove pkg-config files
15274           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15275
15276 2015-12-09 13:24:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15277
15278         * .gitmodules:
15279         * Makefile.am:
15280         * configure.ac:
15281         * ext/Makefile.am:
15282         * ext/codecparsers:
15283         * gst-libs/gst/Makefile.am:
15284         * gst-libs/gst/codecparsers/Makefile.am:
15285         * gst-libs/gst/vaapi/Makefile.am:
15286         * gst/vaapi/Makefile.am:
15287           Remove codecparsers submodule
15288           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15289
15290 2015-12-08 00:36:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15291
15292         * .gitmodules:
15293         * autogen.sh:
15294         * configure.ac:
15295         * debian.upstream/libgstvaapi.install.in:
15296         * ext/Makefile.am:
15297         * ext/libvpx/Makefile.am:
15298         * ext/libvpx/gstlibvpx.c:
15299         * ext/libvpx/gstlibvpx.h:
15300         * ext/libvpx/libgstcodecparsers_vpx.vers:
15301         * ext/libvpx/sources.frag:
15302         * ext/libvpx/upstream:
15303         * gst-libs/gst/codecparsers/Makefile.am:
15304         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
15305           Remove libvpx submodule
15306           We will be using upstream codecparsers always.
15307           No more internal libvpx !
15308
15309 2015-12-09 14:12:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15310
15311         * configure.ac:
15312           build: fix check for GstJpegParser
15313           Right now the local JPEG parser is always compiled because the check for the
15314           upstreamed version is broken: it looks for an non existent symbol:
15315           GstJpegImage.
15316           This patch changes that check for< GstJpegFrameHdr.
15317           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15318
15319 2015-10-28 09:56:46 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
15320
15321         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
15322           wayland: free the frame in frame_release_callback()
15323           This basically reverts 62c3888b76afc69f714a020957e8c5dd9d98f561 (wayland:
15324           decouple wl_buffer from frame).
15325           Otherwise the frame may be overwritten while it is still used by the
15326           compositer:
15327           The frame done callback (frame_done_callback()) is called, when the
15328           compositor is done processing the frame and hands it to the hardware.
15329           The buffer release callback (frame_release_callback()) is called when the
15330           buffer memory is no longer used.
15331           This can be quite some time later: E.g. if weston (with the DRM backend)
15332           puts the buffer on a hardware plane, then then buffer release callback is
15333           called when the kernel is done with the buffer. This is usually when the
15334           next frame is shown, so most likely after the frame done callback for the
15335           next frame!
15336           Since 70eff01d36a2870cbf06ffb91c2a941e8cb6b804 "wayland: sync() when
15337           destroy()" the mentioned possible leak should no longer be a problem, so
15338           reverting this change should cause no leaking buffers.
15339           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15340           https://bugzilla.gnome.org/show_bug.cgi?id=758848
15341           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15342
15343 2016-01-14 17:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15344
15345         * gst/vaapi/gstvaapipostproc.c:
15346           vaapipostproc: check ANY caps at transform_caps()
15347           When transforming downstream caps we should check for ANY caps from peer pad,
15348           otherwise we get a segmentation fault.
15349           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15350           https://bugzilla.gnome.org/show_bug.cgi?id=759893
15351
15352 2016-01-13 19:17:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15353
15354         * gst/vaapi/gstvaapisink.c:
15355           vaapisink: ignore frame if its upload failed
15356           When gst_vaapi_plugin_base_get_input_buffer() fail to copy the input buffer
15357           into a VAAPI buffer, the return value is GST_FLOW_NOT_SUPPORTED, and it was
15358           ignored by the vaapisink, leading to a segmentation fault.
15359           This patch ignores the frame that generated the GST_FLOW_NOT_SUPPORTED
15360           returned by gst_vaapi_plugin_base_get_input_buffer(), avoiding the
15361           segmentation fault, but doing and effort to continue rendering. This is
15362           the same behavior of ximagesink.
15363           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15364           https://bugzilla.gnome.org/show_bug.cgi?id=759332
15365
15366 2015-12-09 18:24:50 +0200  Joel Holdsworth <joel.holdsworth@vcatechnology.com>
15367
15368         * configure.ac:
15369           build: Don't ignore GST_PLUGIN_PATH_1_0 even if the directory doesn't exist yet
15370           https://bugzilla.gnome.org/show_bug.cgi?id=759184
15371
15372 2015-12-08 16:14:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15373
15374         * gst-libs/gst/vaapi/gstvaapicontext.c:
15375         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15376         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
15377         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
15378           Add 10 HEVC 10 bit decoding support
15379           Only supporting vaapidecode ! vaapisink combination for now.
15380           Missing dependencies:
15381           1: No support for P010 video format in GStreamer
15382           2: No support for P010 vaGetImage()/vaPutimage() in vaapi-intel-driver
15383           3: As a result of 1&2 , we have no support for Vaapi Video memory mapping
15384           through GstVideoMeta.
15385           Right now we only set chroma format (YUV420 with more than 8 bits per channel)
15386           for surface pool and keeping GST_VIDEO_FORMAT as ENCODED. The underlying format
15387           of the surfaces is implementation (driver) defined, which is P010.
15388
15389 2001-01-01 04:59:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15390
15391         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
15392         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
15393           gstvaapisurfacepool: Add new API to create surface pool based on chroma type
15394           This new API gst_vaapi_surface_pool_new_with_chroma_type() is for
15395           creating a new GstVaapiVideoPool of GstVaapiSurfaces with the specified
15396           chroam type and dimensions. The underlying format of the surfaces is
15397           implementation (driver) defined.
15398
15399 2015-12-07 19:06:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15400
15401         * gst-libs/gst/vaapi/gstvaapisurface.h:
15402         * gst-libs/gst/vaapi/gstvaapiutils.c:
15403           Add definitions for YUV420 with more than 8 bits per channel
15404
15405 2015-12-07 17:26:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15406
15407         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15408           gstvaapiporfile: Fix string representation of HEVCMain10 profile
15409
15410 2015-12-07 16:17:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15411
15412         * configure.ac:
15413           Bump version for development
15414
15415 === release 0.7.0 ===
15416
15417 2015-12-07 12:52:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15418
15419         * configure.ac:
15420           0.7.0
15421
15422 2015-12-07 12:49:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15423
15424         * NEWS:
15425           NEWS: Updates
15426
15427 2015-12-07 12:47:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15428
15429         * AUTHORS:
15430           AUTHORS: Update
15431
15432 2015-12-07 12:39:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15433
15434         * README:
15435           README: Update
15436
15437 2015-11-26 10:34:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15438
15439         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
15440           texture: detect GL version and use the proper API
15441           When receiving the texture from the application or the video sink, we must
15442           know it size and border. To query the texture the API has changed according to
15443           the OpenGL version used in the GL context of the application/vsink.
15444           This patch checks the current context API type and queries the texture
15445           according to this detected API.
15446           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15447           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15448
15449 2015-11-26 10:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15450
15451         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
15452           texture: check for expected target and format
15453           gst_vaapi_texture_glx_new_wrapped() only handles a GL_TEXTURE_2D target and
15454           formats GL_RGBA or GL_BGRA.
15455           This patch adds a debugging verification of those values.
15456           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15457           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15458
15459 2015-11-26 10:26:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15460
15461         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
15462         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
15463           libs: add gl3_bind_texture_2d()
15464           Since OpenGL3.1 removed the fixed pipelines[1] enabling 2D textures is not
15465           needed. In particular, the Intel's Mesa implementation complains if it is
15466           called.
15467           This patch add a new binding function for 2D textures, without enabling
15468           gl3_bind_texture_2d()[2].
15469           1. https://www.opengl.org/wiki/Fixed_Function_Pipeline
15470           2. https://www.opengl.org/wiki/Common_Mistakes#OOP_and_hidden_binding
15471           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15472           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15473
15474 2015-11-26 10:14:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15475
15476         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
15477         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
15478           libs: add gl_get_current_api()
15479           In order to know which OpenGL API use, we must detect the API type of current
15480           context. This patch adds the function gl_get_current_api() which returns the
15481           OpenGL API type.
15482           This function is an adaptation of gst_gl_context_get_current_gl_api() from
15483           GstGL.
15484           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15485           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15486
15487 2015-11-27 12:29:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15488
15489         * configure.ac:
15490         * gst-libs/gst/vaapi/Makefile.am:
15491           build: Add gmodule dependency for libgstvaapi_egl
15492           https://bugzilla.gnome.org/show_bug.cgi?id=756259
15493
15494 2015-11-27 14:24:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15495
15496         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
15497         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
15498         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
15499         * patches/videoparsers/series.frag:
15500           patches/videoparsers: h264: Disable passthorugh mode enabling
15501           This is a quick fix for regression introduced by the upstream
15502           commit e8908f5aeef952566f6bccde743c7735d3f8c6ef in h264 videoparser.
15503           The patch is disabling the passthrough mode, otherwise it will
15504           break multi-layer mvc stream parsing.
15505           https://bugzilla.gnome.org/show_bug.cgi?id=758656
15506
15507 2015-11-25 15:12:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15508
15509         * gst/vaapi/Makefile.am:
15510         * patches/videoparsers/Makefile.am:
15511         * patches/videoparsers/series.frag:
15512           build: add gsth265parse patches conditionally
15513           As gsth265parse was added in GStreamer 1.4, and gstreamer-vaapi still support
15514           GStreamer 1.2, the patching of gsth265parse must be conditional to the target
15515           GStreamer version.
15516           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15517           https://bugzilla.gnome.org/show_bug.cgi?id=755525
15518
15519 2015-11-25 15:11:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15520
15521         * gst/vaapi/Makefile.am:
15522           build: declare correctly parse lib built files
15523           This is a continuation of commit fc8a0d12
15524           When declaring BUILT_SOURCES, those files should not be distributed. This
15525           patch avoids the distribution of the generated source code.
15526           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15527           https://bugzilla.gnome.org/show_bug.cgi?id=755525
15528
15529 2015-11-24 17:14:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15530
15531         * ext/libvpx/sources.frag:
15532           build: libvpx: Add missing source file
15533
15534 2015-11-23 17:21:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15535
15536         * gst/vaapi/gstvaapipostproc.c:
15537           vaapipostproc: Correctly detect the caps change
15538           This is a quick fix for regression introuduced by the
15539           commit 757833230bc73b8e3b4e31649e4618ba802bea51
15540           With out this, the gst_vaapipostproc_create() will
15541           never get invoked.
15542           https://bugzilla.gnome.org/show_bug.cgi?id=758543
15543
15544 2015-11-18 20:48:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15545
15546         * ext/libvpx/Makefile.am:
15547         * ext/libvpx/sources.frag:
15548           build: libvpx: update the sources lists
15549           `make dist` broke since commit f06798 (libvpx: Update the submodule to
15550           libvpx-1.4.0) because the sources.frag does not contain all the module
15551           sources.
15552           This patch updates thoroughly the sources.
15553           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15554           https://bugzilla.gnome.org/show_bug.cgi?id=755525
15555
15556 2015-11-16 17:49:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15557
15558         * gst/vaapi/gstvaapipostproc.c:
15559           vaapipostproc: don't set caps change at first set
15560           When the source caps change, the filter is destroyed and recreated.
15561           Nonetheless, this happens every time the vaapipostproc starts, since the caps
15562           change detection algorithm does not take in consideration when the caps are
15563           set by first time.
15564           This patch intents to be an optimization, to avoid a useless filter
15565           destroy-creation cycle when the sources caps are set for first time.
15566           The new helper function video_info_update() is a refactorization to avoid
15567           duplicated code.
15568           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15569           https://bugzilla.gnome.org/show_bug.cgi?id=758007
15570
15571 2015-11-12 16:13:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15572
15573         * gst/vaapi/gstvaapipostproc.c:
15574           vaapipostproc: params video_info_changed() callers
15575           The signature is video_info_changed(old_vip, new_vip). Nonetheless the callers
15576           swapped the the order. This didn't raise problems since the comparison of both
15577           structures were not affected by its semantics.
15578           But still it would be better to fix this to keep the coherence of the code.
15579           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15580           https://bugzilla.gnome.org/show_bug.cgi?id=758007
15581
15582 2015-09-24 10:35:44 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15583
15584         * gst/vaapi/Makefile.am:
15585           build: declare real built files
15586           When runnig the `make dist` target from a clean tree, it fails because
15587           if could not find the copied files from codecparsers submodule.
15588           They weren't copied because they weren't declared as built sources.
15589           This patch removes the stamp mechanism and use the actual file list to copy
15590           as the built sources. Also it fixes the duplication of the parser files.
15591           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15592           https://bugzilla.gnome.org/show_bug.cgi?id=755525
15593
15594 2015-11-17 19:37:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15595
15596         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15597           decoder: vp9: Fix last/golden/altref frame index setting
15598           Always fill VADecPictureParameterBufferVP9 last/golden/altref indices
15599           based on what ever reference frame indices encoded in frame header.
15600
15601 2015-08-25 16:01:51 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15602
15603         * debian.upstream/rules:
15604           debian: remove custom parallel compilation
15605           In order to build a debian package with upstream source, the user should
15606           do
15607           ./autogen.sh
15608           cp -a debian.upstream debian
15609           debuild -eDEB_BUILD_OPTIONS="parallel=8" -us -uc -b
15610           The environment variable DEB_BUILD_OPTIONS="parallel=8" is the canonical
15611           way to make a parallel build (-j8 in this case).
15612           This commit removes the script in debian/rules that detects the number of
15613           cpus, requested by the environment variable DEBIAN_BUILD_NCPUS, which is not
15614           official in debian.
15615           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15616           https://bugzilla.gnome.org/show_bug.cgi?id=754087
15617
15618 2015-11-16 18:22:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15619
15620         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15621           decoder: vp9: Fix PTS calculation of cloned frames
15622
15623 2015-11-16 18:22:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15624
15625         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15626           decoder: vp9: Avoid unnecessary show_frame flag checking while doing picture output
15627           We always set GST_VAAPI_PICTURE_FLAG_SKIPPED for DECODE_ONLY frames and the
15628           gstvaapidecoder base calss is reponsible for handling those frames later on.
15629           No need for explicit verification of frame header's show_frame in order to
15630           do picture outputing.
15631
15632 2015-11-16 18:22:14 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15633
15634         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15635           decoder: vp9: Fix ref picture update while doing repeat frame
15636           Don't try to do frame decoding and reference picture update
15637           while receiving a vp9 frame having show_existing_frame flag
15638           set as TRUE.
15639
15640 2015-11-16 18:21:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15641
15642         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15643           decoder: vp9: Add repeat-frame display handling
15644           If vp9 frame header come up with show_existing_frame flag set,
15645           we should duplicate the existing decoded frame as current frame to
15646           be displayed.
15647
15648 2015-11-12 11:07:38 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15649
15650         * gst/vaapi/gstvaapidecodebin.c:
15651           vaapidecodebin: add me as element co-author
15652           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15653           https://bugzilla.gnome.org/show_bug.cgi?id=757957
15654
15655 2015-11-12 12:47:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15656
15657         * gst/vaapi/gstvaapidecodebin.c:
15658           vaapidecodebin: try to get display from decoder
15659           Rather than create a dummy display, if none has propagated as a context, we
15660           should try to get the one from vaapidecode.
15661           As the bin is already in READY state, the vaapidecode should be also in that
15662           state. That means that the contexts have been negotiated, and it should have
15663           already a display.
15664           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15665           https://bugzilla.gnome.org/show_bug.cgi?id=757957
15666
15667 2015-11-11 19:04:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15668
15669         * gst/vaapi/gstvaapidecodebin.c:
15670         * gst/vaapi/gstvaapidecodebin.h:
15671           vaapidecodebin: add postprocessor dynamically
15672           The former approach to left the bin unfinished has some problems: the context
15673           cannot be shared because the vaapidecode is unlinked in many cases, leading to
15674           creating a VADisplay twice.
15675           Initially the bin is fully functional, constructed as
15676           (-----------------------------------)
15677           |            vaapidecodebin         |
15678           |   (-------------)    (-------)    |
15679           |<--| vaapidecode |--->| queue |--->|
15680           |   (-------------)    (-------)    |
15681           (-----------------------------------)
15682           When the context is shared and the VADisplay has VPP capabilities, before
15683           changing to READY state, the bin is reconfigured dynamically, adding the
15684           vaapipostproc element afeter the queue:
15685           (--------------------------------------------------------)
15686           |                       vaapidecodebin                   |
15687           |   (-------------)    (-------)    (---------------)    |
15688           |<--| vaapidecode |--->| queue |--->| vaapipostproc |--->|
15689           |   (-------------)    (-------)    (---------------)    |
15690           (--------------------------------------------------------)
15691           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15692           https://bugzilla.gnome.org/show_bug.cgi?id=757957
15693
15694 2015-11-11 16:33:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15695
15696         * gst/vaapi/gstvaapidecodebin.c:
15697           vaapidecodebin: delay the bin configuration
15698           Delay the bin configuration until changing to READY state. This is because we
15699           should add the vaapipostproc element until the vaapidecode has emitted the
15700           HAVE_CONTEXT message, so de gst_bin_add() could set the context set to
15701           vaapipostproc.
15702           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15703           https://bugzilla.gnome.org/show_bug.cgi?id=757957
15704
15705 2015-11-13 19:39:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15706
15707         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15708           decoder: vp9: Add crop rectangle support.
15709           Set crop rectange if:
15710           There is display_width and display_height which is different from actual width/height
15711           or
15712           The changed resolution is less than the actual configured dimension of surfaces
15713
15714 2015-11-13 19:23:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15715
15716         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15717           decoder: vp9: Fix the context and surface pool reset for multi resolution video
15718           Unlike other decoders, vp9 decoder doesn't need to reset the
15719           whole context and surfaces for each resolution change. Context
15720           reset only needed if resolution of any frame is greater than
15721           what actullay configured. There are streams where a bigger
15722           resolution set in ivf header or webm header but actual resolution
15723           of all frames are less. Also it is possible to have inter-prediction
15724           between these multi resolution frames.
15725
15726 2015-11-13 18:58:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15727
15728         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15729           decoder: vp9: Fill the VADecPictureParameterBufferVP9 width/height from frame header
15730           Always fill width/height of VADecPictureParameterBufferVP9 from frame header.
15731           Preliminary fix for supproting multi resolution video decode.
15732
15733 2015-11-13 18:51:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15734
15735         * gst/vaapi/gstvaapidecode.c:
15736           vaapidecode: Add comments for corner case fixes and fix couple of indentations.
15737
15738 2015-11-13 18:41:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15739
15740         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15741           decoder: vp9: Set lossless flag from frame header
15742
15743 2015-11-13 18:40:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15744
15745         * ext/codecparsers:
15746           codecparsers: Update to gst-vaapi-branch d9f25
15747           d9f2527: codecparsers: vp9: Set lossless flag in frame header
15748
15749 2015-11-11 19:16:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15750
15751         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15752           libs: vp9: remove unused symbols
15753           clang complains about a couple variables and one label which were not
15754           used. This patch removes them.
15755           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15756           https://bugzilla.gnome.org/show_bug.cgi?id=757958
15757
15758 2015-11-10 19:00:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15759
15760         * ext/codecparsers:
15761           codecparsers: Update to gst-vaapi-branch da251bb
15762           da251bb: codecparsers: vp9: Optimize the memory allocation
15763           f5759f4: codecparsers: vp9: Fix the wrong memcpy of probability arrays
15764
15765 2015-11-05 12:58:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15766
15767         * gst/vaapi/gstvaapipluginbase.c:
15768         * gst/vaapi/gstvaapipluginbase.h:
15769           plugin: guard pointers to pad query functions
15770           Since gstreamer 1.4 is not required to have pad query functions if the query
15771           vmethods are used.
15772           This patch guards out the pad query functions for gstreamer < 1.4
15773           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15774           https://bugzilla.gnome.org/show_bug.cgi?id=757629
15775
15776 2015-11-05 12:39:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15777
15778         * gst/vaapi/gstvaapiencode.c:
15779           vaapiencode: use pad query vmethods
15780           GstVideoEncoder, the base class of vaapiencode, added support for pad queries
15781           as virtual methods since gstreamer 1.4. This patch enables those vmethods,
15782           while keeps support for previous versions of gstreamer.
15783           This patch is relevant since GstVideoEncoder takes care of other queries that
15784           we are currently ignoring.
15785           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15786           https://bugzilla.gnome.org/show_bug.cgi?id=757629
15787
15788 2015-10-28 13:01:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15789
15790         * gst/vaapi/gstvaapidecode.c:
15791           vaapidecode: return pad's template caps if no display
15792           A caps query can occur before the element has a display. In that case, the
15793           element can return its pad's template. But when the element already has a
15794           display, and the caps probe fails, the element shall return an empty caps, so
15795           the auto-plug could try with another decoder.
15796           If the element has a display and the caps probe works, then the computed caps
15797           should be returned.
15798           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15799           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15800
15801 2015-10-28 12:59:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15802
15803         * gst/vaapi/gstvaapidecode.c:
15804         * gst/vaapi/gstvaapisink.c:
15805           plugins: don't create display at caps query
15806           Caps query can happen before the element has a bus. The display creation should
15807           be should occur on the context negotiation, when the bus is already configured.
15808           Then at caps query no display should be created.
15809           Instead of force the display creation, we graciously fail the allowed_caps()
15810           creation.
15811           This change only applies for vaapidecode and vaapisink. The vaapipostroc, as a
15812           basetransform descendant, seems to be not affected by this, nor the encoders.
15813           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15814           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15815
15816 2015-11-04 21:38:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15817
15818         * gst/vaapi/gstvaapidecode.c:
15819         * gst/vaapi/gstvaapiencode.c:
15820         * gst/vaapi/gstvaapipluginutil.c:
15821         * gst/vaapi/gstvaapipluginutil.h:
15822         * gst/vaapi/gstvaapipostproc.c:
15823         * gst/vaapi/gstvaapisink.c:
15824           plugins: fix context query handling
15825           The current context query handling design is flawed: the function
15826           gst_vaapi_reply_to_query() returns FALSE either if the query is not a
15827           GST_CONTEXT_QUERY of if the query could not be handled correctly. But the
15828           pad query function should handle differently each case.
15829           This patch changes the gst_vaapi_reply_to_query() for
15830           gst_vaapi_handle_context_query() and changes it usage in all the vaapi plugins
15831           to match the correct context query handling.
15832           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15833           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15834
15835 2015-11-04 20:37:05 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15836
15837         * gst/vaapi/gstvaapipluginutil.c:
15838           plugin: don't lose previous context at query
15839           When processing the GST_CONTEXT_QUERY we should not lose the previous
15840           context in the query, we should only add our display structure.
15841           This patch copies the old context, if it is there, and stamp our display on
15842           it. Otherwise, a new context is created.
15843           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15844           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15845
15846 2015-11-04 20:29:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15847
15848         * gst/vaapi/gstvaapivideocontext.c:
15849         * gst/vaapi/gstvaapivideocontext.h:
15850           vaapivideocontext: add gst_vaapi_video_context_set_display()
15851           This function set the display to an already created context. This function is
15852           going to be used later.
15853           Also, gst_vaapi_video_context_new_with_display() now uses this function.
15854           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15855           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15856
15857 2015-10-30 12:27:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15858
15859         * gst/vaapi/gstvaapipluginutil.c:
15860         * gst/vaapi/gstvaapivideocontext.c:
15861         * gst/vaapi/gstvaapivideocontext.h:
15862           plugins: check if display is set in sync
15863           Since the context messages are sync'ed, the display assignation happens in the
15864           same thread, hence we can know if the display was found or not as soon we call
15865           for it.
15866           In order to take advantage of it, gst_vaapi_video_context_prepare() receives,
15867           as a new parameter, the address of the plugin's display, and reports back if
15868           the display was found and set.
15869           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15870           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15871
15872 2015-10-30 12:33:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15873
15874         * gst/vaapi/gstvaapipluginutil.c:
15875         * gst/vaapi/gstvaapivideocontext.c:
15876           plugins: set display through context
15877           Instead of setting the display to the plugin directly after its creation, do
15878           it through the gstreamer's context mechanism, avoiding double assignations.
15879           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15880           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15881
15882 2015-11-02 18:20:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15883
15884         * gst/vaapi/gstvaapivideocontext.c:
15885           vaapivideocontext: rename context structure
15886           The context structure is named "display" which is too generic. The contrary
15887           happens, for example, with GstGL, what uses the same name as the context, and
15888           its logs make more sense.
15889           This patch renames the context structure with the same name as the
15890           context, thus GST_PTR_FORMAT can pretty print it.
15891           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15892
15893 2015-11-04 19:02:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15894
15895         * gst/vaapi/gstvaapivideocontext.c:
15896           vaapivideocontext: refactor gst_vaapi_video_context_prepare()
15897           First, refactorized run_context_query() into _gst_context_run_query(), adding
15898           a new parameter: the pad direction, in order to simplify the code.
15899           Second, added a new helper function: _gst_context_query(), which is a generic
15900           context query function.  It isolates the operation of running the query and
15901           sets the context if found, also it enhances the logs.
15902           _gst_context_query() is similar to the one used in GstGL. Perhaps, in the
15903           future this helper function will be merged into the core libraries of
15904           GStreamer.
15905           Finally, gst_vaapi_video_context_prepare() was rewritten to use
15906           _gst_context_query().
15907           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15908           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15909
15910 2015-10-30 11:18:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15911
15912         * gst/vaapi/gstvaapivideocontext.c:
15913           vaapivideocontext: refactor context category debug
15914           Refactor the extraction GST_CAT_CONTEXT logging using a only once
15915           initializator, so we could get the debug category from different code
15916           paths, safely.
15917           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15918           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15919
15920 2015-10-23 11:17:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15921
15922         * gst/vaapi/gstvaapivideocontext.c:
15923           gstvaapivideocontext: fix indentation
15924           gst-indent does not handle correctly some expression like function
15925           declaration with attributes, breaking the following expressions.
15926           This patch makes gst-indent to ignore the attributed function
15927           declartion so the followed function definition is not mangled, such
15928           as happened in commit b4154a
15929           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15930           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15931
15932 2015-11-02 16:48:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15933
15934         * gst/vaapi/gstvaapipluginbase.c:
15935           plugin: chain up set_context() vmethod
15936           Since Gstreamer 1.7, set_context() vmethod needs to be chained up with
15937           the parent class in order to broadcast all its contexts when the element
15938           is added into a bin:
15939           http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=d5ded1588920c4471eefe055d09095d9e5e989b5
15940           There is no need to guard the call, because before GStreamer 1.7, the
15941           set_context() vmethod was NULL in the element class, hence the conditional
15942           call make it safe.
15943           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15944           https://bugzilla.gnome.org/show_bug.cgi?id=757598
15945
15946 2015-11-06 10:20:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15947
15948         * tests/simple-encoder.c:
15949           tests: simple-encoder: remove dead code
15950           The caps creation for codec state configuration is not used. Let's remove it.
15951           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15952
15953 2015-11-02 19:05:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15954
15955         * gst/vaapi/gstvaapidecodebin.c:
15956           vaapidecodebin: fix a leaked display instance
15957           The display returned by gst_vaapi_video_context_get_display() increments the
15958           references. Thus, we have to unref the returned display.
15959           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15960           https://bugzilla.gnome.org/show_bug.cgi?id=757595
15961
15962 2015-11-04 16:50:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15963
15964         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
15965         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
15966           libs: remove unneeded headers
15967           Since gstvaapidisplay_glx.h do not expose gl.h/glx.h structures, it is not
15968           required to include them in the header. It is not also required to include
15969           them in gstvaapidisplay_glx.c, since gstvaapiutils_glx.h includes them and
15970           exposes their structures (e.g. GLXPixmap).
15971           Nonetheless, glext.h neither glxext.h are required to include, they are
15972           already included conditionally by gl.h and glx.h, respectively.
15973           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15974           https://bugzilla.gnome.org/show_bug.cgi?id=757577
15975
15976 2015-11-06 19:18:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15977
15978         * ext/codecparsers:
15979           codecparsers: Update to gst-vaapi-branch 0ea6792
15980           0ea6792: codecparsers: vp9: Add header comments
15981           347ffc7: codecparsers: vp9: Use g_slice_free() for releasing memory allocated from the slice allocator
15982
15983 2015-11-06 15:19:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15984
15985         * gst/vaapi/gstvaapidecode.c:
15986           VP9: plugins: Add VP9 decoder
15987
15988 2015-11-06 15:12:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15989
15990         * gst-libs/gst/vaapi/Makefile.am:
15991         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15992         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
15993           VP9: libgstvaapi: Add VP9 decoder
15994
15995 2015-11-06 14:57:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15996
15997         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15998         * gst-libs/gst/vaapi/gstvaapiprofile.h:
15999           VP9: gstvaapiprofile: Add profile definitions
16000
16001 2015-11-06 14:39:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16002
16003         * configure.ac:
16004           VP9: build: Check availability of vp9 decoder APIs
16005
16006 2015-11-06 14:24:08 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16007
16008         * configure.ac:
16009         * ext/Makefile.am:
16010         * gst-libs/gst/codecparsers/Makefile.am:
16011           VP9: Allow building vp9 codecparser internally
16012
16013 2015-11-06 12:38:46 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16014
16015         * ext/codecparsers:
16016           codecparsers: Update to gst-vaapi-branch commit ac5dc1a
16017           ac5dc1a: codecparsers: vp9: Add vp9 codec parser
16018           e7d9217: codecparser: h264: initialize parsing structures
16019           403d400: codecparser: h265: initialize parsing structures
16020
16021 2015-11-04 15:37:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16022
16023         * configure.ac:
16024           configure.ac: don't use an undefined variable
16025           If the environment lacks of gstreamer development packages, this error will
16026           be reported to the user: "gstreamer- was not found"
16027           This is because we are using an undefined variable in the printed message. The
16028           fix simple changes the variable for the hard-coded string "1.0".
16029           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16030           https://bugzilla.gnome.org/show_bug.cgi?id=757283
16031
16032 2015-10-16 15:55:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16033
16034         * gst/vaapi/gstvaapidecode.c:
16035           vaapidecode: relax guards for memory:VASurface capsfeature
16036           Though caps features are supported since GStreamer 1.2, there are some
16037           issues with the features caps negotiation in that version. Nonetheless,
16038           those issues are fixed in GStreamer 1.4. So, the memoy:VASurface caps
16039           feature negotiation is relaxed for GStreamer 1.4.
16040           The guard is the same as in vaapisink's caps template.
16041           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16042           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16043
16044 2015-10-15 18:18:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16045
16046         * gst/vaapi/gstvaapidecode.c:
16047           vaapidecode: decide allocation doesn't update srccaps
16048           The received caps query will bring the already negotiated caps, so they are
16049           not expected to change.
16050           This patch removes this verification which is dead code path.
16051           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16052           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16053
16054 2015-10-14 20:30:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16055
16056         * gst/vaapi/gstvaapidecode.c:
16057         * gst/vaapi/gstvaapipluginutil.c:
16058         * gst/vaapi/gstvaapipluginutil.h:
16059           vaapidecode: use caps to check the features
16060           Instead of calling gst_vaapi_find_preferred_caps_feature(), which is
16061           expensive, we check the caps from the allocation query, to check the
16062           negotiated feature.
16063           In order to do this verification a new utility function has been implemented:
16064           gst_vaapi_caps_feature_contains().
16065           As this new function shared its logic with gst_caps_has_vaapi_surface(), both
16066           have been refactorized.
16067           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16068           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16069
16070 2015-10-14 20:22:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16071
16072         * gst/vaapi/gstvaapidecode.c:
16073           vaapidecode: set format before decide allocation
16074           There is a regression from commit 3d8e5e. It was expected the buffer pool
16075           allocation occur before the caps negotiation, but it is not.
16076           This patch fixes this regression: the caps negotiation is done regardless the
16077           allocation query from downstream.
16078           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16079           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16080
16081 2015-10-16 20:21:50 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
16082
16083         * configure.ac:
16084           build: check for patch and fix yasm check
16085           Add configure checking for GNU patch tools and fixed configure
16086           checking YASM to correct sequence.
16087           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
16088           https://bugzilla.gnome.org/show_bug.cgi?id=756690
16089
16090 2015-10-15 19:20:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16091
16092         * ext/libvpx/Makefile.am:
16093           build: Remove disable-md5 option for libvpx build
16094           The configure option --disable-md5 was provided in libvpx-1.3.0 which
16095           has been removed in 1.4.0.
16096
16097 2015-10-15 19:00:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16098
16099         * ext/libvpx/upstream:
16100           libvpx: Update the submodule to libvpx-1.4.0
16101           libvpx git commit: c74bf6d889992c3cabe017ec353ca85c323107cd
16102
16103 2015-10-15 10:59:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16104
16105         * configure.ac:
16106           configure: mark support for GStreamer 1.2 as obsolete.
16107           Support for GStreamer 1.2 is obsolete. i.e. it is no longer supported.
16108           Our goal is to support the last two stable versions of GStreamer which
16109           are 1.4 and 1.6 at the moment.
16110           We still keep the 1.2 specific codes until the next gstreamer-vaapi-0.7
16111           release and will get rid of those in 0.8.
16112
16113 2015-10-12 14:13:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16114
16115         * gst/vaapi/gstvaapidecode.c:
16116           vaapidecode: Fix buffer copy assertion
16117           Don't try to copy the NULL buffer-codec_data.
16118
16119 2015-09-28 14:57:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16120
16121         * configure.ac:
16122           build: allow builds against GStreamer 1.7.x
16123           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16124
16125 2015-09-23 16:02:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16126
16127         * gst/vaapi/gstcompat.h:
16128           gstcompat: add gst_buffer_copy_deep() if gst < 1.5
16129           gst_buffer_copy_deep() was added in GStreamer 1.5. If want to use it we should
16130           add an implementation if gstreamer-vaapi is linked to previous versions.
16131           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16132
16133 2015-09-23 12:13:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16134
16135         * gst/vaapi/gstvaapidecode.c:
16136           vaapidecode: simplify copy of GstVideoCodecState
16137           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16138
16139 2015-09-14 19:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16140
16141         * patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch:
16142         * patches/videoparsers/series.frag:
16143           patches/videoparsers: h265parser: more API fences
16144           Add more API fences according with its version and refresh the patch.
16145           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16146           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16147
16148 2015-09-14 19:19:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16149
16150         * patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch:
16151         * patches/videoparsers/series.frag:
16152           patches/videoparsers: h265parser: rename patch keeping number
16153           Refresh the patch and rename it in order to keep the patch number.
16154           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16155           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16156
16157 2015-09-14 19:18:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16158
16159         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16160           patches/videoparsers: h264parser: more API fences and refresh
16161           Add more API fences according with its version and refresh the patch.
16162           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16163           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16164
16165 2015-09-14 19:16:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16166
16167         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
16168         * patches/videoparsers/series.frag:
16169           patches/videoparsers: h264parser: fix description and refresh
16170           Fix a typo in the patch description and refresh it in order to avoid the
16171           creation of .orig files and break the distcheck target.
16172           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16173           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16174
16175 2015-09-14 19:15:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16176
16177         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
16178         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
16179           patches/videoparsers: h264parser: refresh patches
16180           In order to avoid the creation of .orig files and break the distcheck target.
16181           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16182           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16183
16184 2015-09-15 16:53:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16185
16186         * gst/vaapi/Makefile.am:
16187           build: link libgstvaapi_parse against codec parser
16188           GST_CODEC_PARSER_* variables are defined if builtin codec parsers are disabled
16189           when running configure.
16190           Right now, libgstcodecparsers links only to libgstvaapi, but libgstvaapi_parse
16191           need it if builtin codec parsers are disabled.
16192           This patch adds GST_CODEC_PARSER_* variables to libgstvaapi_parse
16193           compilation. If builtin codec parsers are enable, this variable is null, so it
16194           should work using libgstvaapi, as normal.
16195           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16196           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16197
16198 2015-09-11 16:35:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16199
16200         * configure.ac:
16201           build: verify for H264 MVC and H265 SPS
16202           Currently the H264 and H265 parsers look for MVC and SPS respectively, and
16203           the required symbols for those were added in GStreamer 1.5
16204           If we try to compile in GStreamer < 1.4, without enabling the builtin codec
16205           parsers, the compilation fails, because the lack of those symbols.
16206           This patch verifies if the installed H264 and H265 parsers have those symbols. If
16207           they do not, the specific built in codec parsers are enabled and used.
16208           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16209           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16210
16211 2015-09-11 16:49:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16212
16213         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16214           decoder: h264: initialize PPS's slice_group_id
16215           When the GstVaapiParserInfoH264 is allocated, the memory is not initialized,
16216           so it contains random data.
16217           When gst_h264_parser_parse_pps() fails, the PPS structure keeps slice_group_id
16218           pointer uninitialized, leading to a segmentation fault when the memory is
16219           freed.
16220           This patch prevents this by initializing the slice_group_id before the PPS
16221           parsing.
16222           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16223           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16224
16225 2015-09-15 11:01:29 +0300  Mark Nauwelaerts <mnauw@users.sourceforge.net>
16226
16227         * gst/vaapi/gstvaapidecode.c:
16228           vaapidecode: proper numerator and denominator for forced latency framerate
16229           https://bugzilla.gnome.org/show_bug.cgi?id=755040
16230
16231 2015-09-11 20:51:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16232
16233         * ext/codecparsers:
16234           codecparsers: Update to gst-vaapi-branch commit f9e284b
16235           dae1a84: h264parse/h265parse: Fix negotiation crash
16236           45a9f8a: codecparsers: h265 : Fix default scaling list values
16237           28eaaf5: codecparsers: h265: Fix the selection of Active Ref Pic Set
16238           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16239
16240 2015-09-04 22:19:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16241
16242         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16243           decoder: hevc: Don't flush dpb for EOS/EOB nal
16244           Explicit flushing of dpb for EOS and EOB nal decoding is wrong,
16245           the dpb_add() itself will handle the flusing(if needed) of dpb
16246           for end of sequence and end of bitstream.
16247           https://bugzilla.gnome.org/show_bug.cgi?id=754010
16248
16249 2015-09-04 22:11:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16250
16251         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16252           decoder: hevc: Fix the dpb_add() based on C.5.2.3
16253           Follow the spec as it is in C.5.2.3, add the decoded frame to dpb
16254           just after the PicLatencyCnt setting of existing dpb frames.
16255           https://bugzilla.gnome.org/show_bug.cgi?id=754010
16256
16257 2015-09-04 22:02:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16258
16259         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16260           decoder: hevc: Fix the picture addition in dpb() based on spec H265 v3 (04/2015)
16261           This fix is based on the V3 vesion of spec which was missing in older versions.
16262           When the current picture has PicOutputFlag equal to 1, for each picture in the
16263           DPB that is marked as "needed for output" and follows the current picture in output order,
16264           the associated variable PicLatencyCount is set equal to PicLatencyCount + 1 (C.5.2.3).
16265           https://bugzilla.gnome.org/show_bug.cgi?id=754010
16266
16267 2015-09-04 22:00:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16268
16269         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16270           decoder: h265: Fix indentation
16271
16272 2015-06-13 01:39:31 +1000  Jan Schmidt <jan@centricular.com>
16273
16274         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16275         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16276         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
16277         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16278         * gst/vaapi/gstvaapidecode.c:
16279         * gst/vaapi/gstvaapipluginutil.c:
16280           multiview: initial attempt at stereo/multiview support
16281           Add support for marking caps and buffers for multiview or
16282           stereoscopic output.
16283           https://bugzilla.gnome.org/show_bug.cgi?id=750835
16284
16285 2015-08-28 17:12:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16286
16287         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16288           decoder: hevc: remove unused functions
16289           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16290           https://bugzilla.gnome.org/show_bug.cgi?id=754250
16291
16292 2015-08-31 13:11:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16293
16294         * gst/vaapi/gstvaapidecode.c:
16295           vaapidecode: remove (another) unused variable
16296           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16297
16298 2015-08-28 17:10:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16299
16300         * gst/vaapi/gstvaapidecode.c:
16301           vaapidecode: remove unused variable
16302           Thus silence the compilation warnings.
16303
16304 2015-08-28 16:06:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16305
16306         * gst/vaapi/gstvaapidecode.c:
16307           vaapidecode: compilation fix
16308           gst_vaapi_decoder_state_changed() returns void. This patch fixes the
16309           compilation where the toolchain uses restrictive flags as clang.
16310           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16311
16312 2015-08-29 00:27:05 +0300  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16313
16314         * gst/vaapi/gstvaapidecode.c:
16315           vaapidecode: renegotiate if caps are not equal
16316           The use of gst_caps_is_always_compatible() for this optimization may lead to
16317           false positives. It is better to stick to gst_caps_is_strictly_equal() to know
16318           if it is required a re-negotiation.
16319           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16320           https://bugzilla.gnome.org/show_bug.cgi?id=750835
16321
16322 2015-08-29 00:18:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16323
16324         * gst/vaapi/gstvaapidecode.c:
16325         * gst/vaapi/gstvaapidecode.h:
16326           vaapidecode: Rework the re-negotiation code to handle multi resoultion videos
16327           Delaying the pool re-negotiation untill we push all decoded (and queued)
16328           frames downstream. Otherwise for the multi-resolution videos, the
16329           GstVideoVideoMemory will be having wrong resolution and which leads
16330           to nasty behaviours, especially when using software renderers.
16331           sample media file: RAP_B_Bossen_1.bin
16332           case explained:
16333           The first SPS Nal will report resoultion of 448x256 and having crop rectangles to
16334           get the final resoultion 416x240.
16335           Starting from 25 th frame, the resolution will change to 416x240. But parser
16336           elements won't report this since the effective croped resolution is same in
16337           both cases. Here the core libgstvaapi will detect this through it's internal
16338           parsing and do all context/pool destory/reset stuffs. Also it will notify this
16339           change to plugins in advance. But if the plugin try to do re-negotiaion of pool
16340           immediately, this will not sync with the resolution of already decoded and queued
16341           frames and which will lead to failure in gst_video_frame_map() in downstream(if we use the
16342           software renderer). So we have to delay the pool renegotiation in vaapidecode,
16343           untill we push all decoded frames downstream.
16344           https://bugzilla.gnome.org/show_bug.cgi?id=753914
16345
16346 2015-08-28 23:43:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16347
16348         * gst/vaapi/gstvaapidecode.c:
16349           vaapidecode: Always keep a copy of input codec state
16350           Currently we are sharing the input GstVideoCodecState with
16351           GstVaapiDecoder(gst-libs/gst/vaapi) by just doing ref and unref for
16352           each caps change. This is troublesome in many cases, for eg: if
16353           resoultion changes with in a singe stream. Because, when ever there
16354           is a resolution change, GstVideoDecoder will first change the Codec_state->caps
16355           fields with new resolution, but since we are using the same codecstate (ref)
16356           in gstvaapidecode.c, the caps check for input caps change will always fail.
16357           https://bugzilla.gnome.org/show_bug.cgi?id=753914
16358
16359 2015-08-26 07:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16360
16361         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16362           decoder: hevc: Fix the scaling list scan order
16363           The default scan order of scaling lists are up-right-diagonal
16364           as per hevc specification. Use the newly implemented
16365           uprightdiagonal_to_raster conversion codecparser APIs to
16366           get the the scaling_list values in raster order, which is
16367           what the VA intel driver requires.
16368
16369 2015-08-26 07:20:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16370
16371         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16372           decoder: hevc: sync with the codecparser changes
16373           The Tile Scanning Conversion process (spec 6-3 and 6-4) is implemented
16374           in codecparsers now. Remove the duplication from gstvaapidecoder_h265
16375
16376 2015-08-26 07:04:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16377
16378         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16379           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
16380
16381 2015-08-26 06:57:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16382
16383         * ext/codecparsers:
16384           codecparsers: Update to gst-vaapi-branch commit 69550f1
16385           c207c6d: codecparsers: h265: Fix tile row and column parsing
16386           47074c5: codecparsers: h265: Add APIs for up-right-diagonal/raster scan conversion
16387           cd28b18: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
16388           1746bbe: videoparsers: Use gst_base_parse_merge_tags()
16389           2f0932b: h264parse: Clear SPS info after processing
16390           f57d6b0: videoparsers: enable accept-template flag
16391
16392 2015-08-25 15:38:42 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16393
16394         * debian.upstream/control.in:
16395           debian: add yasm as build dependency
16396           As the compilation of libvpx (for vp8 parser) is enabled by default,
16397           yasm is required by default too.
16398           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16399
16400 2015-08-14 19:21:04 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
16401
16402         * debian.upstream/rules:
16403           debian: remove --with-gstreamer-api option
16404           It is no longer valid in gstreamer-vaapi.
16405           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
16406           [removed unused GST_API_VERSION variable]
16407           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16408           https://bugzilla.gnome.org/show_bug.cgi?id=753618
16409
16410 2015-08-24 19:22:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16411
16412         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16413           wayland: rename is_cancelled to sync_failed
16414           Since commit 065a18a3, the semantics of the variable is_cancelled did not make
16415           sense. This commit renames this variable to sync_failed.
16416
16417 2015-08-13 15:12:44 -0400  Olivier Crete <olivier.crete@collabora.com>
16418
16419         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16420           wayland: Don't return GST_FLOW_ERROR on flushing
16421           Setting the sink to flushing causes gst_vaapi_window_wayland_sync() to
16422           return FALSE which makes gst_vaapi_window_wayland_render() return
16423           FALSE which ends up posting an ERROR message in
16424           gst_vaapisink_show_frame_unlocked(). Solution is to just return TRUE
16425           in the EBUSY case.
16426           https://bugzilla.gnome.org/show_bug.cgi?id=753598
16427
16428 2015-08-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16429
16430         * gst/vaapi/gstvaapi.c:
16431           Revert "Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now."
16432           This reverts commit 3ccb198b513dc6ad287fe44117d03bec4d6a966a.
16433
16434 2015-07-06 20:22:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16435
16436         * gst/vaapi/gstvaapidecodebin.c:
16437           vaapidecodebin: check for postproc instance
16438           If the VPP's deinterlace-method is set, first we should check if the postproc
16439           is already instanced to set it. Otherwise we just store it until the VPP is
16440           added into the bin.
16441           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16442           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16443
16444 2015-08-06 18:48:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16445
16446         * gst/vaapi/gstvaapidecodebin.c:
16447         * gst/vaapi/gstvaapipluginutil.c:
16448         * gst/vaapi/gstvaapipluginutil.h:
16449           vaapidecodebin: ensure VPP before going to READY
16450           There are sometimes that the VA-API display context is not shared among the
16451           pipeline, but it is important to know it before going to READY state (when the
16452           pipeline is already linked).
16453           One instance of this case is this:
16454           gst-launch-1.0 filesrc location=media ! decodebin ! vaapipostproc ! vaapisink
16455           This patch adds a new function in gstvaapipluginutil called
16456           gst_vaapi_create_test_display(). Its purpose is to create a disposable VA-API
16457           display, which only will be used for verify if the VAEntrypointVideoProc is
16458           available by the hardware. Afterwards, it should be unrefed.
16459           If the vaapidecodebin is going to READY state, and the element still doesn't
16460           know if VPP is available, the last resort is to create a new instance of the
16461           VA-API display and test for it.
16462           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16463
16464 2015-08-06 12:39:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16465
16466         * gst/vaapi/gstvaapidecodebin.c:
16467           vaapidecodebin: post an error message if fails
16468           If the construction of the bin fails, post an error message in the bus.
16469           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16470           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16471
16472 2015-08-06 12:36:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16473
16474         * gst/vaapi/gstvaapidecodebin.c:
16475         * gst/vaapi/gstvaapidecodebin.h:
16476           vaapidecodebin: has_vpp as a tri-state variable
16477           has_vpp can be UNKNOWN while the context message hasn't being received.
16478           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16479           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16480
16481 2015-08-03 16:33:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16482
16483         * gst/vaapi/gstvaapivideomemory.c:
16484           gstvaapivideomemory: native format with no derived image
16485           If USE_NATIVE_FORMATS is defined we bail out before configuring the surface
16486           info based on the derived image configuration.
16487           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16488           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16489
16490 2015-07-23 20:07:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16491
16492         * gst-libs/gst/vaapi/video-format.c:
16493         * gst-libs/gst/vaapi/video-format.h:
16494         * gst/vaapi/gstvaapivideomemory.c:
16495           surface pool config based on video info
16496           First added the function gst_vaapi_video_format_get_best_native(), which
16497           returns the best native format that matches a particular chroma type:
16498           YUV 4:2:0 -> NV12, YUV 4:2:2 -> YUY2, YUV 4:0:0 -> Y800
16499           RGB32 chroma and encoded format map to NV12 too.
16500           That format is used to configure, initially, the surface's pool for the
16501           allocator.
16502           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16503           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16504
16505 2015-07-23 16:03:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16506
16507         * gst/vaapi/gstvaapivideomemory.c:
16508           gstvaapivideomemory: refactor gst_vaapi_video_allocator_new()
16509           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16510           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16511
16512 2015-06-19 15:51:07 +0200  Victor Jaquez <vjaquez@igalia.com>
16513
16514         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16515           gstvaapiencoder: validate chroma according to the VA's RT format
16516           Before, only YUV420 color space where supported. With this patch, the
16517           encoder is queried to know the supported formats and admits YUV422
16518           color space if its available.
16519           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16520           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16521
16522 2015-08-13 05:07:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16523
16524         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16525           decoder: hevc: Add calculation of WpOffsetHalfRangeC
16526           This is necessary for finding ChromaOffsetL0/ChromaOffsetL1
16527           prediction weight table values with out using any hard coding.
16528           Fixme: We don't have parser API for sps_range_extension, so
16529           assumed zero value for high_precision_offsets_enabled_flag.
16530           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16531
16532 2015-08-13 04:09:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16533
16534         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16535           decoder: hevc: Fix ChromaOffsetL0/ChromaOffsetL1 calculation
16536           Based on ITU-T rec H265(4/2015): 7-56
16537           This was a wrong equation in rec H265 (4/2013): 7-44...
16538           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16539
16540 2015-08-13 04:08:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16541
16542         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16543           decoder: hevc: Fix default value assignment of pred_weight_table
16544
16545 2015-08-13 03:48:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16546
16547         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16548           decoder: hevc: Fix the value assigning for delta_chroma_log2_weight_denom
16549           Assign only if ChromaArrayType != 0..
16550           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16551
16552 2015-08-13 03:06:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16553
16554         * ext/codecparsers:
16555           codecparsers: Update to gst-vaapi-branch commit 1c70432
16556           8e98b41: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
16557           839c5bc: codecparsers: h265: Fix the parsing of ref_pic_lists_modification
16558           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16559
16560 2015-08-11 08:09:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16561
16562         * ext/codecparsers:
16563           codecparsers: Update to gst-vaapi-branch commit c18b8ad
16564           8a03e67: videoparsers: h265: Avoid skipping of EOS and EOB nals
16565           a033083: videoparsers: h265: Fix the frame start detection code
16566           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16567
16568 2015-08-10 05:50:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16569
16570         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16571           decoder: hevc: Add SEI parsing
16572           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16573
16574 2015-08-07 08:43:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16575
16576         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16577           decoder: hevc: Workaround to recognize wrongly encoded main profile streams
16578           HACK: This is a work-around to identify some main profile streams having wrong profile_idc.
16579           There are some wrongly encoded main profile streams(eg: ENTP_C_LG_3.bin) which doesn't
16580           have any of the profile_idc values mentioned in Annex-A, instead general_profile_idc
16581           has been set as zero and having general_profile_compatibility_flag[general_profile_idc]
16582           is TRUE. Assuming them as MAIN profile for now.
16583           https://bugzilla.gnome.org/show_bug.cgi?id=753226
16584           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16585
16586 2015-08-07 08:41:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16587
16588         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16589           patches/videoparsers: Fix the wrong source file path
16590           This is something wrongly typed in commit 6d7b631
16591
16592 2015-08-07 08:34:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16593
16594         * ext/codecparsers:
16595           codecparsers: Update to gst-vaapi-branch commit b8d8be4
16596           ee7e81b: h264parse: Don't discard first AU delimiter
16597           3690fb9: h264parse: Add more NAL types for debugging output
16598           108d368: h265parse: Avoid checking for Non Mandatory VPS NAL
16599           ace61048: h265parse: expose compatible profiles to downstream
16600           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16601
16602 2015-08-06 13:07:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16603
16604         * gst/vaapi/gstvaapipluginutil.c:
16605         * gst/vaapi/gstvaapivideocontext.c:
16606         * gst/vaapi/gstvaapivideocontext.h:
16607           gstvaapivideocontext: remove unused parameter
16608           gst_vaapi_video_context_prepare() received an unused parameter. This patch
16609           removes it and the structure passed by the caller.
16610           This a left over of "Removal of gstreamer-1.0 support" (commit 8b36e25f).
16611           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16612
16613 2015-08-06 04:01:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16614
16615         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16616           decoder: hevc: Fix decoding of stream when it has temporal sublayers
16617           We are calculating the dpb size based on max_dec_pic_buffering.
16618           But if there are more than one temporal sublayers, we are supposed
16619           to use the max_dec_pic_buffering[max_sub_layers_minus] for dpb
16620           size calculation (Assuming HighestTid as max_sub_layers_minus).
16621           Sample streams: TSCL_A_VIDYO_5.bin, TSCL_B_VIDYO_4.bin
16622           https://bugzilla.gnome.org/show_bug.cgi?id=753226
16623           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16624
16625 2015-08-05 14:11:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16626
16627         * gst/vaapi/gstvaapidecode.c:
16628         * gst/vaapi/gstvaapidecodebin.c:
16629         * gst/vaapi/gstvaapiencode_h264.c:
16630         * gst/vaapi/gstvaapiencode_h265.c:
16631         * gst/vaapi/gstvaapiencode_jpeg.c:
16632         * gst/vaapi/gstvaapiencode_mpeg2.c:
16633         * gst/vaapi/gstvaapiencode_vp8.c:
16634         * gst/vaapi/gstvaapipluginutil.h:
16635         * gst/vaapi/gstvaapipostproc.c:
16636         * gst/vaapi/gstvaapisink.c:
16637           refactor vaapi caps strings for pad templates
16638           Refactor the main vaapi caps strings into three macros:
16639           GST_VAAPI_MAKE_SURFACE_CAPS, GST_VAAPI_MAKE_ENC_SURFACE_CAPS and
16640           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
16641           Those are in gstvaapipluginutil.h so all the elements could use them, instead
16642           of re-declaring them every time.
16643           No functional changes.
16644           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16645
16646 2015-08-05 14:15:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16647
16648         * gst/vaapi/gstvaapipostproc.c:
16649           gstvaapipostproc: fix code style
16650           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16651
16652 2015-08-05 05:23:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16653
16654         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16655           decoder: hevc: Fix the decoding of dependent slice segment
16656           Decoding process for reference picture list construction needs to be
16657           invoked only for P and B slice and the value for slice_type of dependent slice
16658           segment should be taken from the previous independent slice segment header
16659           of the same pic.
16660           https://bugzilla.gnome.org/show_bug.cgi?id=753226
16661           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16662
16663 2015-06-22 17:38:41 +0200  Victor Jaquez <vjaquez@igalia.com>
16664
16665         * gst/vaapi/gstvaapipluginbase.c:
16666           plugins: reduce the noise of warnings
16667           Those messagse should be attached to the object, also the lack of
16668           caps is not an error, in particular in the case of JPEG encoding.
16669           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16670           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16671
16672 2015-06-23 17:49:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16673
16674         * gst-libs/gst/vaapi/gstvaapicontext.c:
16675           gstvaapicontext: fix the JPEG encoder attribs value
16676           When we query for the VAConfigAttribEncJPEG, we get a value which packs the
16677           VAConfigAttribValEncJPEG structure, but we did not assign it. This patch
16678           assigns the returned value to the attribute.
16679           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16680           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16681
16682 2015-06-18 17:37:46 +0200  Victor Jaquez <vjaquez@igalia.com>
16683
16684         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16685           gstvaapiencoder: framerate 0/1 is valid too
16686           Framerate 0/1 is valid, and it is particularly useful for picture
16687           encoding, such as jpeg. This patch makes the encoder to admit that
16688           framerate.
16689           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16690           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16691
16692 2015-07-03 09:35:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16693
16694         * gst/vaapi/gstvaapipostproc.c:
16695           vaapipostroc: GLTextureUploadMeta in sink template
16696           Advertise GLTextureUploadMeta in sink caps template.
16697           https://bugzilla.gnome.org/show_bug.cgi?id=752130
16698
16699 2015-07-23 13:11:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16700
16701         * gst/vaapi/Makefile.am:
16702         * gst/vaapi/gstvaapiencode.c:
16703         * gst/vaapi/gstvaapipluginbase.c:
16704         * gst/vaapi/gstvaapipluginbase.h:
16705         * gst/vaapi/gstvaapipostproc.c:
16706         * gst/vaapi/gstvaapisink.c:
16707         * gst/vaapi/gstvaapiuploader.c:
16708         * gst/vaapi/gstvaapiuploader.h:
16709           remove gstvaapiuploader
16710           Working on bug #744042 I realized that the gstvaapiuploader is practically not
16711           used.
16712           This patch removes the gstvaapiuploader and add the method
16713           gst_vaapi_plugin_base_get_allowed_raw_caps () that returns the raw caps that
16714           the system can handle, which is used by vaapisink and vaapipostproc.
16715           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16716           https://bugzilla.gnome.org/show_bug.cgi?id=752777
16717
16718 2015-07-27 18:49:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16719
16720         * gst/vaapi/gstvaapidecode.c:
16721           vaapidecode: don't lost GLTextureUpload on seek
16722           When seeking, the decoder is reset, but the buffer pool is not
16723           re-negotiated, but in reset_full() the code forgets if the negotiated buffer
16724           pool has the GLTextureUpload meta.
16725           The decoder knows that GLTextureUpload meta was negotiated in
16726           decide_allocation(), but this method is not called when seeking.
16727           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16728           https://bugzilla.gnome.org/show_bug.cgi?id=752929
16729
16730 2015-07-21 18:45:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16731
16732         * gst/vaapi/gstvaapipluginutil.c:
16733           plugins: don't use gst_pad_get_allowed_caps()
16734           gst_pad_get_allowed_caps() query the pad and the peer pad. In the case
16735           decoders, that is OK, but in the case of the postproc might lead loops,
16736           since the gst_base_transform_query_caps() forwards the query upstream
16737           and forth.
16738           Instead of gst_pad_get_allowed_caps() we only query the peer with
16739           gst_pad_peer_query_caps() using the pad's template as filter.
16740           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16741           https://bugzilla.gnome.org/show_bug.cgi?id=752558
16742
16743 2015-07-22 12:40:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16744
16745         * README:
16746           README: updates
16747
16748 2015-07-22 09:45:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16749
16750         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch:
16751         * patches/videoparsers/series.frag:
16752           patches/videoparsers: h264parse: Disable 3D video support for GStremaer < 1.5
16753           All API/ABI changes for S3D/MVC are added in 1.5, backporting
16754           them to older verison is not recommended.
16755           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16756
16757 2015-07-22 09:41:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16758
16759         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16760           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
16761
16762 2015-07-22 09:38:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16763
16764         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
16765           decoder: jpeg: Align with new API/ABI changes in codecparser
16766           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16767
16768 2015-07-22 09:31:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16769
16770         * ext/codecparsers:
16771           codecparsers: Update to gst-vaapi-branch commit 800bdb2
16772           ed13220: mpegvideometa: add meta transform function
16773           18d5efd: codecparsers: jpeg: add some padding to ScanHdr struct
16774           7a51722: codecparsers: jpeg: fix docs for table parsing functions
16775           06b8ded: codecparsers: jpeg: fix validity checking of data parsed
16776           387a39d: codecparsers: jpeg: fix up API
16777           db9d6a9: codecparsers: jpeg: tweak API a little
16778           bb6951e: codecparsers: jpeg: hide gst_jpeg_scan_for_marker_code()
16779           f33c30c: codecparsers: jpeg: fix and optimize scan for next marker code
16780           4658c30: codecparsers: jpeg: fix calculation of segment size
16781           759bcb9: codecparsers: jpeg: fix default Huffman tables generation
16782           b4811ee: codecparsers: jpeg: add JPEG bitstream parser
16783           9422464: h264parse: fix typo in log message
16784           9e793a0: h264parse: Move PAR calcs, and use them for stereoscopic half-aspect
16785           77704ce: nalutils: trivial patch to check if
16786           8bb9249: codecparsers: mpeg4: actually return full number of bits of resync marker
16787           7862f95: Revert "codecparsers: remove ignored increment of return"
16788           54017b1: h264parse: Add support for passing stereoscopic/multiview info
16789           8667ee4: h264parse: Don't switch to passthrough on set_caps()
16790           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16791
16792 2015-06-29 14:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16793
16794         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16795           decoder: h264: track previous reference frames.
16796           Improve closure of gaps in frame_num by strictly following and trying
16797           to fill them with previous reference frames. So, they are now tracked
16798           thus avoiding insertion of dummy ("greenish") frames.
16799
16800 2015-06-29 13:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16801
16802         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16803           decoder: h264: fix integration of second field into the DPB.
16804           If the new picture to be added to the DPB is not a first field, then
16805           it shall be the second field of the previous picture that was added
16806           before.
16807           This removes the need for dpb_find_picture() now that we track the
16808           immediately preceding decoded picture, in decode order.
16809
16810 2015-07-06 14:38:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16811
16812         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16813           decoder: h264: fix closure of "other-field" gap.
16814           When a dummy "other-field" is inserted, it is assumed to inherit the
16815           reference flags from the first field, and the sliding window decoded
16816           reference picture marking process is also executed so that corrupted
16817           frames are moved out as early as possible.
16818           While doing so, we also try to output frames that now contain a single
16819           valid field picture, prior to inserting any other picture into the DPB.
16820           Note: this may be superfluous currently based on the fact that dpb_add()
16821           combines the two most recent pairable fields, but this process would be
16822           further simplified later on.
16823
16824 2015-06-24 13:58:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16825
16826         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16827           decoder: h264: track corrupted frames.
16828           Mark the picture as "corrupted" if it is reconstructed from corrupted
16829           references or if those references are fake, e.g. resulting from lost
16830           frames.
16831           This is useful for notifying the upper layer, or downstream elements,
16832           that the decoded frame may contain artefacts.
16833           https://bugzilla.gnome.org/show_bug.cgi?id=703921
16834
16835 2015-06-24 13:48:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16836
16837         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
16838         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
16839         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
16840         * gst/vaapi/gstvaapidecode.c:
16841           decoder: add initial infrastructure for marking corrupted output.
16842           Add initial infrastructure in core codec library and vaapidecode to mark
16843           corrupted frames as such. A corrupted frame is such a frame that was
16844           reconstructed from invalid references for instance.
16845           https://bugzilla.gnome.org/show_bug.cgi?id=751434
16846           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16847
16848 2015-07-15 18:18:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16849
16850         * configure.ac:
16851           Bump version for development
16852
16853 === release 0.6.0 ===
16854
16855 2015-07-15 15:49:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16856
16857         * configure.ac:
16858           0.6.0
16859
16860 2015-07-15 15:49:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16861
16862         * NEWS:
16863           NEWS: updates
16864
16865 2015-07-14 19:39:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16866
16867         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16868           vaapidecoder: no wmv profiles gstreamer 1.4/1.2
16869           This patch fix the auto-plugging problem in gstreamer 1.2 and gstreamer 1.4
16870           Right now there is not a primary ranked parser for vc1 and the demuxers
16871           delivers caps without specifying the profile. This situation is not an issue
16872           for avdec_vc1 but for vaapidecode it is, which refuses to negotiate without a
16873           explicit profile defined in the negotiated caps.
16874           Nonetheless, in gstreamer 1.5 it seems not to be a problem since the
16875           negotiation admits caps subsets try outs.
16876           This patch solves the issue ignoring the profile negotiation in the caps. For
16877           gstreamer < 1.5 the profile string is not handled, so the auto-plugging get
16878           done without the vc1 parser, such as happens in gstreamer 1.5.
16879           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16880
16881 2015-07-07 20:57:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16882
16883         * gst/vaapi/gstvaapi.c:
16884           Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now.
16885           Unfortunately vaapidecodebin element is not seems to be stable
16886           enough for autoplugging ahead of vaapidecode.
16887           Lowering the rank for now (cosidering the immediate 0.6 release).
16888           See this: https://bugzilla.gnome.org/show_bug.cgi?id=749554
16889           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16890
16891 2015-07-07 13:32:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16892
16893         * gst-libs/gst/vaapi/Makefile.am:
16894           build: Add missing CFLAGS to Makefile.am
16895
16896 2015-07-03 15:07:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16897
16898         * gst-libs/gst/vaapi/gstvaapifilter.c:
16899           gstvaapifilter: Only register STE property if it supported by corresponding VA library
16900           Fix the regression introduced in commit eb465fb.
16901           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
16902           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16903
16904 2015-07-02 17:49:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16905
16906         * gst/vaapi/gstvaapipostproc.c:
16907           vaapipostproc: no format convert on GL tex upload meta
16908           When GL texture upload meta is negotiated, vaapipostproc shall not modify the
16909           color format of the buffer.
16910           https://bugzilla.gnome.org/show_bug.cgi?id=748184
16911
16912 2015-07-03 12:42:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16913
16914         * gst-libs/gst/vaapi/gstvaapifilter.c:
16915           gstvaapifilter: Add guard for VAProcFilterSkinToneEnhancement
16916           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
16917           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16918
16919 2015-07-02 21:57:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16920
16921         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
16922           encoder:h265: Fix the check for packed-header support
16923           Use VA_ENC_PACKED_HEADER_* definition for checking.
16924           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16925
16926 2015-07-02 21:37:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16927
16928         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16929           encoder:h264: Fix the check for packed-header support
16930           Use VA_ENC_PACKED_HEADER_* definition for checking.
16931           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16932
16933 2015-07-02 21:00:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16934
16935         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16936           encoder: h264: submit SEI buffering_period() and picture_timing() messages for CBR mode
16937           One buffering_period() SEI message shall be present in every IDR access unit
16938           when NalHrdBpPresentFlag is inferred to be equal to 1. This is the case when we
16939           use a non-CQP mode, e.g. CBR. In other words, when
16940           nal_hrd_parameters_present_flag is set to 1.
16941           One picture_timing() SEI messages shall be present in every access unit
16942           if CpbDpbDelaysPresentFlag is equal to 1 or pic_struct_present_flag is equal to 1
16943           https://bugzilla.gnome.org/show_bug.cgi?id=722734
16944           https://bugzilla.gnome.org/show_bug.cgi?id=751831
16945           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16946
16947 2015-07-01 14:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16948
16949         * gst/vaapi/gstvaapidecodebin.c:
16950           vaapidecodebin: notify if vpp is disabled
16951           When the system is aware that VPP is not available by the VA driver,
16952           it would be useful to notify to the user that the disable-vpp property
16953           has changed.
16954           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16955
16956 2015-07-01 14:17:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16957
16958         * gst/vaapi/gstvaapidecodebin.c:
16959         * gst/vaapi/gstvaapidecodebin.h:
16960           vaapidecodebin: enable vpp if it is available
16961           Instead of creating and adding VPP into the bin at setup, we wait until
16962           we are sure the VA driver supports it. We know that when the VA video
16963           context is received by the bin. Afterwards, it is decided to instanciate
16964           and link the VPP or not.
16965           This is more efficient and safer than waiting the VPP to fail and then
16966           disable it.
16967           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16968
16969 2015-07-02 12:29:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16970
16971         * tests/test-display.c:
16972         * tests/test-windows.c:
16973           tests: Fix compilation while enabling egl as the only renderer in build
16974           Include missing header files gstvaapidisplay_egl.h and gstvaapiwindow_egl.h.
16975
16976 2015-07-02 10:45:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16977
16978         * configure.ac:
16979           configure: fix the build while enabling egl as the only renderer
16980
16981 2015-07-02 10:25:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16982
16983         * configure.ac:
16984           libs: Bump library major version
16985
16986 2015-06-30 09:44:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16987
16988         * gst/vaapi/gstvaapi.c:
16989         * gst/vaapi/gstvaapidecodebin.c:
16990         * gst/vaapi/gstvaapiencode.c:
16991         * gst/vaapi/gstvaapiencode_jpeg.c:
16992         * gst/vaapi/gstvaapipluginbase.c:
16993         * gst/vaapi/gstvaapipluginutil.c:
16994         * gst/vaapi/gstvaapipostproc.c:
16995         * gst/vaapi/gstvaapivideobufferpool.c:
16996         * gst/vaapi/gstvaapivideocontext.c:
16997         * gst/vaapi/gstvaapivideomemory.c:
16998         * gst/vaapi/gstvaapivideometa.c:
16999           gst/vaapi: Switch to upstreram like indentation.
17000           gst-indent for all gst/vaapi/*.c source files
17001
17002 2015-06-30 09:35:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17003
17004         * gst/vaapi/gstvaapidecodebin.c:
17005         * gst/vaapi/gstvaapidecodebin.h:
17006           vaapidecodebin: Add property to disable VPP
17007           Adding a new propery "disable-vpp", enabling it will prevent
17008           the insertion of vaapipostproc child element.
17009           This is helpful in debugging, specifically to narrow-down the
17010           vaapidecodebin/vaapipostproc related negotiation issues.
17011           No support for run-time disabling for now.
17012           https://bugzilla.gnome.org/show_bug.cgi?id=745901
17013
17014 2015-06-29 13:35:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17015
17016         * gst/vaapi/gstvaapipostproc.c:
17017           vaapipostproc: Fix wrong selection of passthrough mode.
17018           The Current code path is falling back to passthorugh mode if there is no
17019           vpp property set by the user explictily. But we should not use the
17020           passthrough mode if the negotiated src pad caps have a differnt color space
17021           format than sink pad caps (Even though the user didn't set the format property
17022           explicitly).
17023           https://bugzilla.gnome.org/show_bug.cgi?id=748184
17024           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17025
17026 2015-06-29 13:20:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17027
17028         * gst/vaapi/gstvaapipostproc.c:
17029           vaapipostproc: prevent advanced-deinterlacing of non-native video formats.
17030           This is a workaround to deal with the va-intel-driver for non-native
17031           formats while doing advanced deinterlacing. The format of reference surfaces must
17032           be same as the format used by the driver internally for motion adaptive
17033           deinterlacing and motion compensated deinterlacing.
17034           A permanent solution could be to do the color space conversion internally
17035           for reference surfaces.
17036           https://bugzilla.gnome.org/show_bug.cgi?id=730925
17037           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17038
17039 2015-06-29 13:06:30 +0300  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17040
17041         * gst/vaapi/gstvaapisink.c:
17042           Work around ABBA deadlock between vaapisink and vaapipostproc
17043           vaapisink takes the display lock, then does a gst_buffer_replace which can
17044           take the lock on the gst_vaapi_video_pool.
17045           vaapipostproc asks the gst_vaapi_video_pool for a new surface. This takes
17046           the lock on the gst_vaapi_video_pool; if you're unlucky, there are no free
17047           surfaces, which means that gst_vaapi_surface_create is
17048           called. gst_vaapi_surface_create takes the display lock.
17049           If vaapisink and vaapipostproc are in different threads, and this happens,
17050           you get a deadlock. vaapisink holds the display lock, and wants the
17051           gst_vaapi_video_pool lock. vaapipostproc holds the gst_vaapi_video_pool lock
17052           and wants the display lock.
17053           Work around this by releasing the display lock in vaapisink around the
17054           gst_buffer_replace.
17055           https://bugzilla.gnome.org/show_bug.cgi?id=738249
17056           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17057           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17058
17059 2015-04-29 16:34:07 +0200  Jacobo Aragunde Pérez <jaragunde@igalia.com>
17060
17061         * gst/vaapi/gstvaapidecodebin.c:
17062         * gst/vaapi/gstvaapidecodebin.h:
17063           vaapidecodebin: expose deinterlace-method property from inner vaapipostproc
17064           https://bugzilla.gnome.org/show_bug.cgi?id=745901
17065
17066 2015-05-19 11:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17067
17068         * gst/vaapi/gstvaapipostproc.c:
17069           vaapipostproc: log negotiated caps
17070
17071 2015-05-18 14:30:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17072
17073         * gst/vaapi/gstvaapipostproc.c:
17074           vaapipostproc: remove useless debug message
17075
17076 2015-02-12 12:31:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17077
17078         * gst/vaapi/gstvaapidecode.c:
17079           vaapidecode: log negotiated src/sink caps
17080
17081 2015-05-07 15:57:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17082
17083         * gst/vaapi/gstvaapisink.c:
17084           vaapisink: error handling if rendering fails
17085           This patch enhance the code path when an error is found when rendering a
17086           buffer.
17087           If the video meta doesn't contain a surface proxy or a surface, a warning
17088           message is printed.
17089           If the rendering backend fails, a error message is posted in the bus.
17090           https://bugzilla.gnome.org/show_bug.cgi?id=749382
17091
17092 2015-06-18 14:55:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17093
17094         * gst/vaapi/gstvaapisink.c:
17095           vaapisink: Fix the conditional pad template creation.
17096
17097 2015-06-18 13:19:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17098
17099         * tests/Makefile.am:
17100           build: Don't build simple-encoder test program if there is no VA Encoding support
17101           This will fix the build error against older VA-APIs <= 0.32
17102
17103 2015-06-18 12:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17104
17105         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
17106         * gst-libs/gst/vaapi/gstvaapicompat.h:
17107           Fix build error for older VA-API versions
17108           Provide guards for VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM and
17109           VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME which are only availble from
17110           VA >= 0.36.
17111
17112 2015-06-17 14:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17113
17114         * gst/vaapi/gstvaapisink.c:
17115           vaapisink: Fix the capsfeature advertisement in padtemplate
17116           This fixes the regression introduced in 64acc74.
17117           If a pad supports multiple set of capsfeatures, it needs to add
17118           multiple equal structures with different feature sets to the caps.
17119           Because caps structures with the same name but with a non-equal
17120           set of caps features are not compatible.
17121           Without this patch, playbin will autoplug xvimagesink instead of vaapisink.
17122           https://bugzilla.gnome.org/show_bug.cgi?id=750095
17123
17124 2015-06-17 12:41:28 +0300  Adrian Cox <adrian@humboldt.co.uk>
17125
17126         * gst/vaapi/gstvaapisink.c:
17127           vaapisink: Expose the overlay capability for compatibility with dvbsuboverlay.
17128           https://bugzilla.gnome.org/show_bug.cgi?id=750095
17129           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17130           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17131
17132 2015-06-17 09:53:29 +0300  Olivier Crete <olivier.crete@collabora.com>
17133
17134         * gst/vaapi/gstvaapipluginbase.c:
17135           vaapipluginbase: Override downstream allocation reply if no pool
17136           If the downstream replied without a pool, then override it.
17137           https://bugzilla.gnome.org/show_bug.cgi?id=748559
17138
17139 2015-06-09 15:15:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17140
17141         * gst/vaapi/gstvaapipostproc.c:
17142         * gst/vaapi/gstvaapipostproc.h:
17143           vaapipostproc: add color balance interface
17144           https://bugzilla.gnome.org/show_bug.cgi?id=720376
17145
17146 2015-05-22 18:13:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17147
17148         * gst-libs/gst/vaapi/gstvaapifilter.c:
17149         * gst-libs/gst/vaapi/gstvaapifilter.h:
17150         * gst/vaapi/gstvaapipostproc.c:
17151         * gst/vaapi/gstvaapipostproc.h:
17152           vaapipostproc: add skin tone enhancement
17153           Added the 'skin-tone-enhancement' property to vaapostproc.
17154           https://bugzilla.gnome.org/show_bug.cgi?id=744088
17155
17156 2015-05-20 18:02:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17157
17158         * docs/reference/libs/libs-docs.xml.in:
17159           doc: add VA-API reference in freedesktop
17160
17161 2015-06-04 19:03:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17162
17163         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
17164         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
17165         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
17166           patches/videoparsers: rebase all the h264parse patches
17167           In order to avoid the creation of .orig files and break the distcheck target
17168
17169 2015-06-04 18:29:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17170
17171         * ext/libvpx/Makefile.am:
17172           build: don't build in parallel libvpx
17173           This fixes the distcheck -j XX target.
17174
17175 2015-06-02 08:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17176
17177         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
17178           encoder: jpeg: Fix the packed header generation
17179           This is a work-around to satisfy the va-intel-driver.
17180           Normalize the quality factor and scale QM values (only for packed header
17181           generation) similar to what VA-Intel driver is doing . Otherwise the
17182           generated packed headers will be wrong, since the driver itself is
17183           scaling the QM values using the normalized quality factor.
17184           https://bugzilla.gnome.org/show_bug.cgi?id=748335
17185           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17186
17187 2015-06-02 11:46:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17188
17189         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17190           decoder: h264: fix uninitialized variables in avcC mode.
17191           Fix uninitialized variables when decoding SPS and PPS NAL units from
17192           "codec-data" buffers. This is particularly important when seeking ops
17193           are involved, and the new persistent states are used more often.
17194           https://bugzilla.gnome.org/show_bug.cgi?id=750094
17195
17196 2015-06-01 18:39:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17197
17198         * gst/vaapi/gstvaapidecode.c:
17199           vaapidecode: remove unneeded casting
17200           And a code-style fix
17201
17202 2015-05-21 19:38:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17203
17204         * gst/vaapi/gstvaapidecode.c:
17205           vaapidecode: calculate decoding latency
17206           This is a naïve approach to the calculation of the VA-API decoding latency. It
17207           takes into consideration when the frame-rate has some insane value.
17208           https://bugzilla.gnome.org/show_bug.cgi?id=740419
17209
17210 2015-05-21 23:16:14 +1000  Jan Schmidt <jan@centricular.com>
17211
17212         * configure.ac:
17213           configure: Compiling against libgstgl requires libgstvideo
17214           Fix detection of the GstGL helper headers in uninstalled
17215           builds.
17216
17217 2015-05-28 10:52:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17218
17219         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
17220           encoder: hevc: Fix the size over-flow for encoded buffer.
17221           The approximation of 6 times compression ratio migh not
17222           work in all cases. Especially when enabling I frames.
17223           Provide large enough size for coded-buffer creation.
17224
17225 2015-05-28 10:43:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17226
17227         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
17228           encoder: vp8: Fix the size over-flow for encoded buffer.
17229           The approximation of 4 times compression ratio will not
17230           work in all cases. Especially when enabling I frames.
17231           Provide large enough size for coded-buffer creation.
17232
17233 2015-05-28 05:43:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17234
17235         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
17236           encoder: hevc:  fix bug in multi slice encoding.
17237           This is a work-around for satisfying the VA-Intel driver.
17238           The driver only support slices begin from CTU row start address.
17239           Multi-Slice encoding also requires a fix in va-intel-driver:
17240           http://lists.freedesktop.org/archives/libva/2015-May/003351.html
17241           https://bugzilla.gnome.org/show_bug.cgi?id=749854
17242           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17243
17244 2015-03-12 22:57:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17245
17246         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17247           decoder: h264: add initial support for loss of pictures.
17248           Implement decoding process for gaps in frame_num (8.5.2). This
17249           also somewhat supports unintentional loss of pictures.
17250           https://bugzilla.gnome.org/show_bug.cgi?id=745048
17251           https://bugzilla.gnome.org/show_bug.cgi?id=703921
17252           Original-patch-by: Wind Yuan <feng.yuan@intel.com>
17253           [fixed derivation of POC, ensured clone is valid for reference,
17254           actually fixed detection of gaps in FrameNum by PrevRefFrameNum]
17255           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17256
17257 2015-05-22 11:42:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17258
17259         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17260           decoder: h264: add support for missing first field.
17261           Try to identify missing first fields too, thus disregarding any
17262           intermediate gaps in frames. We also assume that we keep the same
17263           field sequence, i.e. if previous frames were in top-field-first
17264           (TFF) order, then so are subsequent frames.
17265           Note that insertion of dummy first fields need to operate in two
17266           steps: (i) create the original first field that the current field
17267           will inherit from, and (ii) submit that field into the DPB prior
17268           to initializing the current (other) field POC values but after any
17269           reference flag was set. i.e. copy reference flags from the child
17270           (other field) to the parent (first field).
17271           https://bugzilla.gnome.org/show_bug.cgi?id=745048
17272
17273 2015-05-07 14:00:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17274
17275         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17276           decoder: h264: add support for missing second field.
17277           Interlaced H.264 video frames always have two fields to decode and
17278           display. However, in some cases, e.g. packet loss, one of the field
17279           can be missing. This perturbs the reference picture marking process,
17280           whereby the number of references available in DPB no longer matches
17281           the expected value.
17282           This patch adds initial support for missing field within a decoded
17283           frame. The current strategy taken is to find out the nearest field,
17284           by POC value, and with the same parity.
17285           https://bugzilla.gnome.org/show_bug.cgi?id=745048
17286
17287 2015-05-22 17:06:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17288
17289         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17290           decoder: h264: improve tracking of "top-field-first" flag.
17291           Try to maintain a "top-field-first" (TFF) flag, even if the H.264 standard
17292           does not mandate it. This will be useful for tracking missing fields, and
17293           also for more correct _split_fields() implementation for frames in the DPB.
17294
17295 2015-05-05 11:56:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17296
17297         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17298           decoder: h264: skip all pictures prior the first I-frame.
17299           Don't try to decode pictures until the first I-frame is received within
17300           the currently active sequence. There is no point is decoding and then
17301           displaying frames with artifacts.
17302
17303 2015-05-12 15:36:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17304
17305         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17306           decoder: h264: fix processing of EOSEQ NAL.
17307           Fix decoding of end_of_seq() NAL unit so that to not submit the current
17308           picture for decoding again. This is pretty vintage code that dates back
17309           before the existing of the whole decoder units machinery.
17310           One issue that could be arising if that code was kept is that we could
17311           have submitted a picture, and subsequently a GstVideoCodec frame, twice.
17312           Once without the decode_only flag set, and once with that flag set. The
17313           end result is that the GstVideoDecoder would release the codec frame
17314           twice, thus releasing stale data.
17315           In short, the piece of code that is removed by this patch is for once
17316           completely obsolete for a while, and secondly error-prone in corner
17317           cases.
17318
17319 2013-02-28 15:26:36 +0800  Wind Yuan <feng.yuan@intel.com>
17320
17321         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17322         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17323         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17324         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17325           decoder: add utility function to clone picture objects.
17326           https://bugzilla.gnome.org/show_bug.cgi?id=703921
17327           Signed-off-by: Wind Yuan <feng.yuan@intel.com>
17328           [added cosmetic changes, fixed propagation of "one-field" flag to
17329           children, fixed per-codec clone modes (h264)]
17330           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17331
17332 2015-05-27 23:49:18 +0300  Alban Browaeys <prahal@yahoo.com>
17333
17334         * gst/vaapi/Makefile.am:
17335           build: don't compile HEVC encoder if not supported
17336           Fix:
17337           (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
17338           https://bugzilla.gnome.org/show_bug.cgi?id=749954
17339           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
17340           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17341
17342 2015-05-27 23:43:16 +0300  Alban Browaeys <prahal@yahoo.com>
17343
17344         * gst-libs/gst/vaapi/gstvaapicompat.h:
17345         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17346           HEVC: decode: add missing va_dec_hevc header
17347           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
17348           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17349           https://bugzilla.gnome.org/show_bug.cgi?id=749953
17350
17351 2015-05-26 13:28:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17352
17353         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17354           mpeg2: fix PTS cache for GOP start.
17355           If the GOP temporal sequence number (TSN) is interpolated from a valid
17356           PTS, then we need to compensate that PTS corresponding to the start of
17357           GOP with the next picture to be decoded, which shall be an I-frame,
17358           based on its sequence number.
17359           https://bugzilla.gnome.org/show_bug.cgi?id=748676
17360
17361 2015-05-27 10:49:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17362
17363         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17364           mpeg2: avoid crash when seeking with debug logs
17365           Move down the debug message when the state of the decoder is verified
17366           so the slice header is not NULL.
17367
17368 2014-12-17 00:41:10 +1100  Jan Schmidt <jan@centricular.com>
17369
17370         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17371           mpeg2: Avoid crashes and warnings on re-opened decoder after a seek
17372           Reset state and add some checks for safe state to avoid a crash and
17373           a warning after the decoder is destroyed/recreated during a seek.
17374
17375 2015-05-26 10:21:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17376
17377         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
17378         * patches/videoparsers/series.frag:
17379           patches/videoparsers: Rebase the patch on top of gst-vaapi-branch commit 20ee952
17380           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17381
17382 2015-05-26 10:03:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17383
17384         * ext/codecparsers:
17385           codecparsers: Update to gst-vaapi-branch commit 20ee952
17386           b7dded3: h264parse: don't consider unknown stream-format as avc
17387           5110ad9: h264parse: fix up handling of input caps corner cases
17388           e51db3e: h264parse: Remove dead code
17389           3d739d0: codecparser: h265: Fix the number of tile rows/columns parsing
17390           8482957: h265parse: Fix profile, tier and level setting in caps
17391           4649acb: h265parse: Fix the memory freeing of stored VPS nals
17392           f2beeb7: h265parse: Fix source caps to report cropped dimensions
17393           6886a31: h264parse: Fix profile and level setting in caps
17394           5286c1a: h264parse: Consider SEI NALU as "HEADER" packets
17395           eb97854: videoparsers: h264: bit-exact sync with upstream, minor changes here and there
17396           53074fc: build: Upgrade GStreamer dependency to 1.0
17397           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17398
17399 2015-05-26 06:01:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17400
17401         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17402           HEVC: decode: Replace clip3 implementation with glib CLAMP macro
17403           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17404
17405 2015-05-26 05:33:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17406
17407         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17408           HEVC: decode: Update Cropping Rectangle
17409           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17410
17411 2015-05-25 11:58:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17412
17413         * gst/vaapi/Makefile.am:
17414         * gst/vaapi/gstvaapi.c:
17415         * gst/vaapi/gstvaapiencode_h265.c:
17416         * gst/vaapi/gstvaapiencode_h265.h:
17417           HEVC_Encode: Add HEVC(h265) Encoder plugin
17418           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17419           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17420
17421 2015-05-25 11:38:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17422
17423         * gst-libs/gst/vaapi/Makefile.am:
17424         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
17425         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
17426           HEVC_Encode: Add HEVC(h265) encoder to core libgstvaapi
17427           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17428           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17429
17430 2015-05-25 11:26:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17431
17432         * configure.ac:
17433           HEVC_Encode: build: Check availability of VA APIs for H265 encoding.
17434           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17435           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17436
17437 2015-05-25 10:58:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17438
17439         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
17440         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
17441           gstvaapiutils_h265: Add H265 Tier specific utility functions
17442           -- New API: gst_vaapi_utils_h265_get_tier_from_string()
17443           -- New API: gst_vaapi_utils_h265_get_tier_string()
17444           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17445           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17446
17447 2015-05-19 10:57:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17448
17449         * docs/reference/plugins/Makefile.am:
17450           doc: conditional linking for scanner
17451           Add x11 library only if it is enabled.
17452           https://bugzilla.gnome.org/show_bug.cgi?id=749018
17453
17454 2015-05-19 10:37:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17455
17456         * docs/reference/plugins/plugins.types:
17457           doc: fix scanner compilation warning
17458           https://bugzilla.gnome.org/show_bug.cgi?id=749018
17459
17460 2015-05-06 16:19:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17461
17462         * docs/reference/libs/libs-docs.xml.in:
17463         * docs/reference/libs/libs-sections.txt:
17464           doc: update sections and symbols
17465           https://bugzilla.gnome.org/show_bug.cgi?id=749018
17466
17467 2015-05-13 10:38:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17468
17469         * .gitignore:
17470         * Makefile.am:
17471         * debian.upstream/Makefile.am:
17472         * docs/Makefile.am:
17473         * docs/reference/Makefile.am:
17474         * docs/reference/libs/Makefile.am:
17475         * docs/reference/plugins/Makefile.am:
17476         * ext/Makefile.am:
17477         * ext/libvpx/Makefile.am:
17478         * git.mk:
17479         * gst-libs/Makefile.am:
17480         * gst-libs/gst/Makefile.am:
17481         * gst-libs/gst/base/Makefile.am:
17482         * gst-libs/gst/codecparsers/Makefile.am:
17483         * gst-libs/gst/vaapi/Makefile.am:
17484         * gst/Makefile.am:
17485         * gst/vaapi/Makefile.am:
17486         * patches/Makefile.am:
17487         * patches/videoparsers/Makefile.am:
17488         * pkgconfig/Makefile.am:
17489         * tests/Makefile.am:
17490           build: use git.mk
17491           This patch handles dinamically the gitignore files with git.mk[1].
17492           Removed the automake variable MAINTAINERCLANFILES in most of the
17493           Makefile.am files since now it is handled by the top one.
17494           1. https://github.com/behdad/git.mk/blob/master/git.mk
17495           https://bugzilla.gnome.org/show_bug.cgi?id=749321
17496
17497 2015-05-07 11:28:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17498
17499         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17500           wayland: sync() when destroy()
17501           Before pushing a the new frame, the render() method calls sync() to flush the
17502           pending frames. Nonetheless, the last pushed frame never gets rendered, leading
17503           to a memory leak too.
17504           This patch calls sync() in the destroy() to flush the pending frames before
17505           destroying the window.
17506           Also a is_cancelled flag is added. This flag tells to not flush the event
17507           queue again since the method failed previously or were cancelled by the user.
17508           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17509
17510 2015-05-07 15:55:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
17511
17512         * gst-libs/gst/vaapi/gstvaapiwindow.c:
17513         * gst-libs/gst/vaapi/gstvaapiwindow.h:
17514         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
17515         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17516         * gst/vaapi/gstvaapisink.c:
17517           vaapisink: implement unlock/unlock_stop for wayland
17518           Otherwise wl_display_dispatch_queue() might prevent the pipeline from
17519           shutting down. This can happen e.g. if the wayland compositor exits while
17520           the pipeline is running.
17521           Changes:
17522           * renamed unlock()/unlock_stop() to unblock()/unblock_cancel() in gstvaapiwindow
17523           * splitted the patch removing wl_display_dispatch_queue()
17524           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17525           https://bugzilla.gnome.org/show_bug.cgi?id=747492
17526           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17527
17528 2015-05-07 12:33:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17529
17530         * configure.ac:
17531         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17532           wayland: wl_display_dispatch_queue() can block forever.
17533           wl_display_dispatch_queue() might prevent the pipeline from shutting
17534           down. This can happen e.g. if the wayland compositor exits while the
17535           pipeline is running.
17536           This patch replaces it with these steps:
17537           - With wl_display_prepare_read() all threads announce their intention
17538           to read.
17539           - wl_display_read_events() is thread save. On threads reads, the other
17540           wait for it to finish.
17541           - With wl_display_dispatch_queue_pending() each thread dispatches its
17542           own events.
17543           wl_display_dispatch_queue_pending() was defined since wayland 1.0.2
17544           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
17545           * stripped out the unlock() unlock_stop() logic
17546           * stripped out the poll handling
17547           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17548           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17549           https://bugzilla.gnome.org/show_bug.cgi?id=747492
17550
17551 2015-05-07 18:30:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17552
17553         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17554           wayland: rename frame for last_frame
17555           Since frame in the private data means the last frame sent, it would
17556           semantically better use last_frame.
17557           Also, this patch makes use of g_atomic_pointer_{compare_and_exchange, set}()
17558           functions.
17559           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17560
17561 2015-05-07 11:18:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17562
17563         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17564           wayland: use a counter as sync flag
17565           Wayland window has a pointer to the last pushed frame and use it to set the
17566           flag for stopping the queue dispatch loop. This may lead to memory leaks,
17567           since we are not keeping track of all the queued frames structures.
17568           This patch removes the last pushed frame pointer and change the binary flag
17569           for an atomic counter, keeping track of number of queued frames and use it for
17570           the queue dispatch loop.
17571           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17572
17573 2015-05-07 10:36:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17574
17575         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17576           wayland: decouple wl_buffer from frame
17577           This patch takes out the wayland's buffer from the the frame structure. The
17578           buffer is queued to wayland and destroyed in the "release" callback. The
17579           frame is freed in the surface's "done" callback.
17580           In this way a buffer may be leaked but not the whole frame structure.
17581           - surface 'done' callback is used to throttle the rendering operation and to
17582           unallocate the frame, but not the buffer.
17583           - buffer 'release' callback is used to destroy wl_buffer.
17584           Original-patch-by: Zhao Halley <halley.zhao@intel.com>
17585           * code rebase
17586           * kept the the event_queue for buffer's proxy
17587           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17588           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17589
17590 2015-05-14 16:22:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17591
17592         * gst/vaapi/gstvaapisink.c:
17593           vaapisink: fix indentation
17594
17595 2015-05-13 11:54:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17596
17597         * debian.upstream/Makefile.am:
17598         * ext/libvpx/Makefile.am:
17599         * gst-libs/gst/vaapi/Makefile.am:
17600         * gst/vaapi/Makefile.am:
17601         * tests/Makefile.am:
17602           build: fix make distcheck
17603           This patch fixes several issues found when running the `make distcheck`
17604           target:
17605           - In commit c561b8da, the update of gstcompat.h in Makefile.am was
17606           forgotten.
17607           - In commit c5756a91 add the simple_encoder_source_h in EXTRA_DIST was
17608           forgotten.
17609           - vpx.build.stamp is not generated at all, only vpx.configure.stamp.
17610           - The make target distcleancheck failed because some autogenerated files
17611           were not handled with the DISTCLEANFILES variable.
17612           Note: `make distcheck -jXX` is not currently supported.
17613
17614 2015-05-13 13:28:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17615
17616         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
17617         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
17618         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
17619           h264parse: update patches with upstream
17620           These patches didn't applied cleanly, breaking the `make distcleancheck`
17621           target. Re-sync'ed the patches against the current git's submodule.
17622
17623 2015-05-12 16:04:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17624
17625         * tests/simple-encoder.c:
17626           tests: simple-encoder: fix build warnings on 64-bit platforms.
17627           Add a cosmetic change to replace VAAPI buffer with VA buffer and most
17628           importantly fix warnings spitted out during build on 64-bit platforms.
17629           ../../tests/simple-encoder.c:211:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
17630           g_warning ("Invalid VAAPI buffer size (%d)", size);
17631           ^
17632           ../../tests/simple-encoder.c:217:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
17633           g_warning ("Failed to create output buffer of size %d", size);
17634           ^
17635
17636 2015-05-08 15:54:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17637
17638         * gst/vaapi/gstvaapipluginbase.c:
17639         * gst/vaapi/gstvaapipluginutil.c:
17640         * gst/vaapi/gstvaapipluginutil.h:
17641         * gst/vaapi/gstvaapivideocontext.h:
17642           plugins: remove gstreamer-0.10 crumbs
17643           GstVideoContext was used in gstreamer-0.10, which is not supported anymore.
17644           Still, its definition was still in the code. This patch removes it.
17645           https://bugzilla.gnome.org/show_bug.cgi?id=749113
17646
17647 2015-05-05 13:08:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17648
17649         * tests/Makefile.am:
17650         * tests/simple-encoder.c:
17651         * tests/y4mreader.c:
17652         * tests/y4mreader.h:
17653           tests: add simple-encoder program
17654           This patch adds a simple-encoder test program that uses libgstvaapi for video
17655           encoding to elementary (raw) streams. Input stream is raw YUV in the Y4M
17656           format. That can be from a regular file or standard input when the input
17657           filename is "-".
17658           Usage: simple-encoder [options]* <source>
17659           Options:
17660           --output|-o     output file name
17661           --codec|-c      codec to use for video encoding
17662           --bitrate|-b    desired bitrate (kbps)
17663           By default, and as an initial patch, the encoded stream shall conform to the
17664           minimally supported profile. That is "Constrained Baseline Profile" for H.264
17665           and "Simple Profile" for MPEG-2. Though, those are the defaults to be
17666           generated by libgstvaapi.
17667           You can find Y4M sample files here http://samples.mplayerhq.hu/yuv4mpeg2/
17668           Original-patch-by: Changzhi Wei <changzhix.wei@intel.com>
17669           * general code clean-up
17670           * removed the yuv reader thread
17671           * re-wrote the y4m file parser
17672           * updated used API fixed some wrong usage
17673           * fixed a lot of memory leaks
17674           * added the bitrate setting
17675           * keep fps' numerator and denominator
17676           * simplified the thread control
17677           * removed custom logging and use glib
17678           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17679           https://bugzilla.gnome.org/show_bug.cgi?id=719528
17680
17681 2015-05-05 13:02:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17682
17683         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17684           libs: trivial documentation fix
17685           GST_VAAPI_ENCODER_STATUS_NO_SURFACE and GST_VAAPI_ENCODER_STATUS_NO_BUFFER
17686           are not errors, so they do not have the ERROR namespace.
17687           This patch fixes this typo in documentation.
17688
17689 2015-02-15 15:01:03 +0000  Simon Farnsworth <simon@farnz.org.uk>
17690
17691         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
17692           window: Correct prototype to match implementation
17693           On s390x, guintptr and GstVaapiID are not compatible types. The
17694           implementation of gst_vaapi_window_new_internal() and all its callers
17695           seem to assume that its third argument is a GstVaapiID, while the
17696           header gives it guintptr type.
17697           https://bugzilla.gnome.org/show_bug.cgi?id=744559
17698
17699 2015-05-04 14:24:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17700
17701         * gst/vaapi/gstvaapidecode.c:
17702         * gst/vaapi/gstvaapidecodebin.c:
17703           vaapidecode: add guards for disabled codecs.
17704           Fix link when building plugin elements without HEVC support. e.g. don't
17705           try to call into gst_vaapi_decoder_h265_set_alignment() if there is no
17706           support HEVC enabled in libgstvaapi.
17707           Also, drop disabled codecs from static template caps. Add the missing
17708           HEVC static template caps into vaapidecodebin too.
17709
17710 2015-04-30 13:29:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17711
17712         * configure.ac:
17713         * gst-libs/gst/vaapi/glibcompat.h:
17714           build: upgrade glib dependency to 2.32
17715           Since bug #745728 was fixed the oldest supported version of GStreamer is
17716           1.2. That GStreamer release requires glib 2.32, so we can upgrade our
17717           requirement too.
17718           This patch changes the required version of glib in configure.ac and removes
17719           the hacks in glibcompat.h
17720           https://bugzilla.gnome.org/show_bug.cgi?id=748698
17721
17722 2015-04-30 13:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17723
17724         * gst/vaapi/gstvaapipluginbase.c:
17725           plugins: check if the pool config is already set
17726           In commit 97b768, a regression for GStreamer 1.2 was introduced:
17727           GStreamer 1.2 doesn't check, in gst_buffer_pool_set_config() if the
17728           config option is already set. This patch adds an inline function to
17729           first verify if the option is not in the pool config berfore add it.
17730
17731 2015-04-29 12:39:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17732
17733         * gst/vaapi/gstvaapipostproc.c:
17734           vaapipostproc: tune up a couple of log messages
17735           In order to reduce the noise, the query type log was downgrade from INFO to
17736           DEBUG, and the shared display address log message is assigned to the object.
17737
17738 2015-04-29 12:27:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17739
17740         * gst/vaapi/gstvaapipluginbase.c:
17741           plugins: check gst_buffer_pool_set_config()
17742           Check the return value of gst_buffer_pool_set_config(). If it fails an error
17743           message is posted in the bus.
17744
17745 2015-04-29 12:24:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17746
17747         * gst/vaapi/gstvaapipluginbase.c:
17748           plugins: more specific log message
17749           Be more specific in the log message about the reason of creating a new pool.
17750
17751 2015-04-29 12:22:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17752
17753         * gst/vaapi/gstvaapipluginbase.c:
17754           plugins: delete unused variable
17755           need_pool is a boolean variable extracted from the allocation query, but it is
17756           not used afterwards.
17757
17758 2015-04-27 19:21:12 -0400  Olivier Crete <olivier.crete@collabora.com>
17759
17760         * gst/vaapi/gstvaapipluginbase.c:
17761           vaapipluginbase: Update the pool if there was no pool in the downstream reply
17762           Fix regression introduced by bd866479, the query after decide_allocation()
17763           always needs a pool in the first slot.
17764           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17765           https://bugzilla.gnome.org/show_bug.cgi?id=748559
17766
17767 2015-04-27 20:50:19 -0400  Olivier Crete <olivier.crete@collabora.com>
17768
17769         * gst/vaapi/gstvaapivideobufferpool.c:
17770           videopool: Free members before chaining up finalize
17771           The finalize function in GObject frees the object memory, so
17772           everything else needs to have been freed before.
17773           https://bugzilla.gnome.org/show_bug.cgi?id=748563
17774
17775 2015-04-27 20:31:50 -0400  Olivier Crete <olivier.crete@collabora.com>
17776
17777         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
17778           wayland: don't leak the registry proxy
17779           Release the registry proxy when closing the display.
17780           https://bugzilla.gnome.org/show_bug.cgi?id=748564
17781
17782 2015-04-21 17:17:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17783
17784         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17785           wayland: refactor _sync() method and rename callback
17786           This patch only intends to improve readability: in the method
17787           gst_vaapi_window_wayland_sync() the if/do instructions are squashed into a
17788           single while loop.
17789           Also renames the frame_redraw_callback() callback into frame_done_callback(),
17790           which is a bit more aligned to Wayland API.
17791
17792 2015-02-03 16:52:06 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
17793
17794         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17795           wayland: free frame in buffer release callback
17796           The Wayland compositor may still use the buffer when the frame done
17797           callback is called.
17798           This patch destroys the frame (which contains the buffer) until the
17799           release callback is called. The draw termination callback only controls
17800           the display queue dispatching.
17801           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17802           https://bugzilla.gnome.org/show_bug.cgi?id=747492
17803
17804 2015-04-21 10:00:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17805
17806         * gst/vaapi/gstvaapidecode.c:
17807           vaapidecode: refactor gst_vaapidecode_internal_flush()
17808           This a cosmetic refactor: gst_vaapidecode_internal_flush() removes its only
17809           label; gst_vaapidecode_finish() is more readable and gst_vaapidecode_purge()
17810           shares the same error message of gst_vaapidecode_internal_flush() when flush
17811           fails.
17812
17813 2015-04-20 13:27:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17814
17815         * gst/vaapi/gstvaapidecode.c:
17816           vaapidecode: refactor gst_vaapidecode_destroy()
17817           Add the method gst_vaapidecode_purge(). This method releases the
17818           flushed frames from the decoder.
17819           This new method add more readablity to gst_vaapidecode_destroy()
17820
17821 2015-04-16 12:53:18 -0400  Olivier Crete <olivier.crete@collabora.com>
17822
17823         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17824         * gst/vaapi/gstvaapidecode.c:
17825           vaapidecode: Tell the base class about released frames on close
17826           The base class needs to be informed about frames that were still queued
17827           in the decoder on release, otherwise they are leaked.
17828           https://bugzilla.gnome.org/show_bug.cgi?id=747999
17829
17830 2015-04-19 11:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17831
17832         * gst/vaapi/gstvaapidecode.c:
17833           vaapidecode: reduce logging noise
17834           When a frame is rejected by downstream, the message is logged twice. This
17835           patch removes one of those logging messages.
17836           Also, the reject of a frame doesn't mean an alarming error. This patch demotes
17837           the log message from error to info.
17838
17839 2015-04-16 20:18:13 -0400  Olivier Crete <olivier.crete@collabora.com>
17840
17841         * gst/vaapi/gstvaapidecode.c:
17842           vaapidecode: Use the GstVideoDecoder error reporting function
17843           This way, the decoder won't stop on the first decoding error,
17844           in most cases it can recover after some glitchiness.
17845           https://bugzilla.gnome.org/show_bug.cgi?id=744620
17846
17847 2015-04-17 19:10:35 +0000  Olivier Crete <olivier.crete@collabora.com>
17848
17849         * gst/vaapi/gstvaapipluginbase.c:
17850           vaapipluginbase: The allocation query can return without a pool
17851           It is possible to return the min/max/size without actually providing
17852           a pool. This way the source knows how many buffers downstream needs.
17853           https://bugzilla.gnome.org/show_bug.cgi?id=748076
17854
17855 2015-04-17 16:45:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17856
17857         * ext/Makefile.am:
17858         * gst/vaapi/Makefile.am:
17859         * gst/vaapi/gstvaapiparse.c:
17860         * gst/vaapi/gstvaapiparse.h:
17861         * patches/videoparsers/0001-h265parse-include-gstvaapiparse.h.patch:
17862         * patches/videoparsers/series.frag:
17863           plugins: Add h265 videoparser element "vaapiparse_h265"
17864           This is a mirror of h265parse element in upstream gst-plugins-bad.
17865           There could be additional patches but all should go to upstream.
17866           This is for making development faster.
17867           Note: vaapiparse_h265 will get build only for GStreamer version >= 1.4
17868
17869 2015-04-17 15:44:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17870
17871         * ext/codecparsers:
17872           codecparsers: Update to gst-vaapi-branch commit 43a0368
17873           45f1c28: codecparser: h265: Fix nal unit size checking
17874           f25987b: codecparser: h265: Calculate crop rectangle dimensions
17875           639573a: codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
17876           4c8ec41: Add h265 videoparser plugin source files
17877
17878 2015-04-17 10:10:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17879
17880         * autogen.sh:
17881           autogen: drop videoutils submodule.
17882
17883 2015-04-17 10:36:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17884
17885         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17886           decoder: hevc: cosmetics.
17887           Mostly coding style updates. Avoid integer signess inconsistencies.
17888           Optimize dpb_find_lowest_poc() to align with original h264's decoder.
17889
17890 2015-04-16 14:13:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17891
17892         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17893           decoder: hevc: Add Support for tiled video decoding
17894           Based up on the value of uniform_spacing_flag in Picture Parameter Set,
17895           the tile column width and tile row height should be calculated.
17896           Equations: 6-1, 6-2
17897           Tiled video Descriptions: 7.3.2.3, 7.4.3.3
17898
17899 2015-04-16 14:13:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17900
17901         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17902           decoder: hevc: Fix decoding when there are RASL pictures present.
17903           -- Set NoRaslOutputFlag based on EOS and EOB Nal units
17904           -- Fix PicOutputFlag setting for RASL picture
17905           -- Fix prev_poc_lsb/prev_poc_msb calculation
17906           -- Drop the RASL frames if NoRaslOutputFlag is TRUE for the associated IRAP picture
17907           -- Fixed couple of crashes and added cosmetics
17908
17909 2015-04-14 10:54:54 +0100  Martin Sherburn <martin.sherburn@datapath.co.uk>
17910
17911         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
17912           display: drm: fix race condition setting device type
17913           There is a race condition where g_drm_device_type can be left set to
17914           DRM_DEVICE_RENDERNODES when it shouldn't.
17915           If thread 1 comes in and falls into the last else statement setting up both
17916           RENDERNODES and LEGACY types. And begins to process the first type (RENDERNODES),
17917           it sets g_drm_device_type = RENDERNODES.
17918           Now when thread 2 comes in and sees g_drm_device_type is RENDERNODES, it queues
17919           up that type to be tried but then encounters the lock and has to wait until the
17920           first thread finishes. Once the lock is acquired it will then proceed to ONLY try
17921           RENDERNODES and fail it. But it doesn't try LEGACY. And from then on, all future
17922           attempts will only try RENDERNODES.
17923           So to avoid this situation I have simply moved the acquisition of the lock higher
17924           up in the attached patch.
17925           https://bugzilla.gnome.org/show_bug.cgi?id=747914
17926
17927 2015-04-15 15:26:12 -0400  Olivier Crete <olivier.crete@collabora.com>
17928
17929         * gst/vaapi/gstvaapipostproc.c:
17930           vaapipostproc: Don't create filter on caps query
17931           The problem with this is that creating the filter causes the display to
17932           be selected, and the caps query happens while linking the element. So,
17933           if the downstream or upstream element is using a specific display
17934           object, it won't be propagated correctly to the postproc as it already
17935           has a display at this point.
17936           https://bugzilla.gnome.org/show_bug.cgi?id=747945
17937
17938 2015-04-15 15:20:17 -0400  Olivier Crete <olivier.crete@collabora.com>
17939
17940         * gst-libs/gst/vaapi/gstvaapivideopool.c:
17941           videopool: Release lock while allocating new object
17942           The video pool can be accessed with the display lock held, for example,
17943           when releasing a buffer from inside vaapisink_render, but allocating
17944           a new object can may also take the display lock. Which means a possible
17945           deadlock.
17946           https://bugzilla.gnome.org/show_bug.cgi?id=747944
17947
17948 2015-04-15 17:26:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17949
17950         * gst/vaapi/gstvaapisink.c:
17951           vaapisink: use GstVideoSink vmethod show_frame()
17952           vaapisink inherits from GstVideoSink, in order to use its functionality (such
17953           as ::show-preroll-frame property), we should use its vmethod show_frame(),
17954           rather than call ourselves render() and preroll().
17955
17956 2015-04-15 18:16:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17957
17958         * gst/vaapi/gstvaapisink.c:
17959         * gst/vaapi/gstvaapisink.h:
17960           vaapisink: add 'handoff' signal
17961           This patch adds the signal ::handoff and the property signal-handoffs. If the
17962           property is set TRUE, the signal ::handoff is emitted just after the buffer is
17963           rendered.
17964           Based on Zhao Halley <halley.zhao@intel.com>
17965           https://bugzilla.gnome.org/show_bug.cgi?id=747905
17966
17967 2015-04-14 10:17:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17968
17969         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17970           HEVC: silence the compiler
17971           Fixed a couple of clang complains.
17972
17973 2015-02-02 16:42:43 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
17974
17975         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17976           wayland: destroy vpp buffer pool on resize
17977           Otherwise the old buffers with the old size are used.
17978           https://bugzilla.gnome.org/show_bug.cgi?id=747491
17979
17980 2015-04-14 10:08:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17981
17982         * configure.ac:
17983         * gst-libs/gst/vaapi/Makefile.am:
17984           build: don't compile HEVC if not supported
17985           HEVC decoding was added recently libva-1.5.
17986           This patch avoids HEVC decoding support in libgstvaapi if it is not available
17987           in the installed libva.
17988           https://bugzilla.gnome.org/show_bug.cgi?id=747831
17989
17990 2015-04-13 16:04:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17991
17992         * gst/vaapi/gstvaapidecode.c:
17993           vaapidecode: Update Author name in plugin metadata
17994
17995 2015-04-13 15:43:30 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17996
17997         * gst/vaapi/gstvaapidecode.c:
17998           plugins: Add HEVC decoder
17999           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18000
18001 2015-04-13 15:41:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18002
18003         * gst-libs/gst/vaapi/Makefile.am:
18004         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
18005         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
18006           HEVC: Add HEVC(h265) decoder to core libgstvaapi
18007           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18008
18009 2015-04-13 14:53:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18010
18011         * gst-libs/gst/vaapi/Makefile.am:
18012         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
18013         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
18014         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
18015           HEVC: Add codec utility methods to core libgstvaapi
18016           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18017
18018 2015-04-13 14:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18019
18020         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18021         * gst-libs/gst/vaapi/gstvaapiprofile.h:
18022           HEVC: gstvaapiprofile: Add profile definitions
18023           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18024
18025 2015-04-13 14:52:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18026
18027         * configure.ac:
18028           HEVC: build: Check availability of h265 decoder APIs
18029           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18030
18031 2015-04-13 14:51:51 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18032
18033         * configure.ac:
18034         * ext/Makefile.am:
18035         * gst-libs/gst/codecparsers/Makefile.am:
18036           HEVC: Allow to build h265 codecparser internally
18037           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18038
18039 2015-04-08 18:05:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18040
18041         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
18042         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
18043         * gst-libs/gst/vaapi/gstvaapisurface.c:
18044           guard buffer export API if not available
18045           The support for buffer exports in VA-API was added in version 0.36. These
18046           interfaces are for interop with EGL, OpenCL, etc.
18047           GStreamer-VAAPI uses it for a dmabuf memory allocator. Though, gstreamer-vaapi
18048           has to support VA-API versions ranging from 0.30.4, which doesn't support it.
18049           This patch guards all the buffer exports handling (and dmabuf allocator) if
18050           the detected VA-API version is below 0.36.
18051           https://bugzilla.gnome.org/show_bug.cgi?id=746405
18052
18053 2015-04-13 11:29:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18054
18055         * ext/codecparsers:
18056           codecparsers: Update to gst-vaapi-branch commit 9bc72b0
18057           767bf22: codecparsers: h265: add helpers to convert quantization matrices
18058           71c8e93: codecparser: h265: skip byte alignment bits while parsing slice header
18059           3bf0355: codecparsre: h265: Fix the NumDeltaPocs calculation
18060           10e2087: codecparser: h265: Fix the NumPocTotalCurr calculatio
18061           2d753b8: codecparser: h265: Fix nal size calculation for EOS and EOB
18062
18063 2014-12-11 12:02:38 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
18064
18065         * gst/vaapi/gstvaapidecode.c:
18066           vaapidecode: unref video codec frame twice
18067           We get one reference when the frame is passed to decode_handle_frame()
18068           and create another one in gst_vaapi_decoder_push_frame().
18069           Usually the frame is handled in gst_vaapidecode_push_decoded_frame().
18070           Here the frame is always released twice:
18071           gst_video_decoder_finish_frame() + gst_video_codec_frame_unref() or
18072           gst_video_decoder_drop_frame() + gst_video_codec_frame_unref().
18073           In gst_vaapidecode_reset_full() both references to the frame must be
18074           released as well.
18075           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18076           https://bugzilla.gnome.org/show_bug.cgi?id=743226
18077
18078 2015-04-08 18:20:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18079
18080         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
18081           libs: remove unused variables
18082           clang reports these unused variables. Let's get rid of them.
18083           This patch is a missing part of commit c82e5173
18084           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18085
18086 2015-04-03 20:38:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18087
18088         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
18089           decoder: mpeg4: remove an spurious comparison
18090           The member size in GstMpeg4Packet is gsize which is unsigned, which cannot be
18091           less than zero. Hence this pre-condition test is a no-op. This patch removes
18092           that code.
18093           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18094
18095 2015-04-03 20:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18096
18097         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18098           encoder: h264: casts slice_param->slice_type
18099           slice_type in slice_param is defined as (char *), but it is compared against a
18100           signed integer. clang complains about this comparison.
18101           This patch casts the variable.
18102           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18103
18104 2015-04-03 20:31:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18105
18106         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
18107           encoder: avoid GstVaapiCodedBuffer redefinition
18108           The symbol GstVaapiCodedBuffer is already defined in
18109           gst-libs/gst/vaapi/gstvaapicodedbuffer.h which is loaded, at the end, by
18110           gstvaapiencoder_objects.h. Clang complains about the symbol re-definition.
18111           This patch removes that redefinition.
18112           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18113
18114 2015-04-03 20:28:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18115
18116         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
18117         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
18118           libs: remove unused variables
18119           clang reports these unused variables. Let's get rid of them.
18120           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18121
18122 2015-04-03 20:27:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18123
18124         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18125           encoder: mpeg2: use fabsf() instead of abs()
18126           The member value in frame_rate_tab is float, the result of the abs() function
18127           should be float too. But abs() only manages integers.
18128           This patch replaces abs() with fabsf() to handle correctly the possible floats
18129           values.
18130           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18131
18132 2015-04-03 20:02:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18133
18134         * gst-libs/gst/vaapi/gstvaapidecoder.c:
18135         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18136         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
18137         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18138         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
18139           decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME
18140           Since GST_VAAPI_DECODER_STATUS_DROP_FRAME is not part of the enum
18141           GstVaapiDecoderStatus, we need to cast it to avoid compiler complains.
18142           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18143
18144 2015-04-04 00:40:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18145
18146         * README:
18147           Update README
18148
18149 2015-04-04 00:06:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18150
18151         * .gitmodules:
18152         * README:
18153           Changing source code download links from https://gitorious  to https://github
18154           -- gitmodules: Change gstreamer-codecparsers submodule source download link
18155           -- README: Change the gstreamer-vaapi webpage link
18156
18157 2015-04-03 23:30:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18158
18159         * ext/codecparsers:
18160           codecparsers: update to gst-vaapi-branch commit 1f792e4
18161           87f4a7e: bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
18162           7d8ba7a: bytereader: use unchecked inline variant for get_remaining in more places
18163           2528ea6: bytereader: add gst_byte_reader_masked_scan_uint32_peek
18164           2b92a67: h264parse: reset the parser information when caps changes
18165           05eee86: codecparsers: Indent file
18166           e27a38b: codecparsers: Add READ_UE_MAX macro
18167           2036471: Constify some static arrays everywhere
18168
18169 2015-04-03 17:45:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18170
18171         * gst/vaapi/gstvaapivideoconverter_glx.c:
18172         * gst/vaapi/gstvaapivideoconverter_x11.c:
18173           Remove the gstvaapivideoconverter_*.c source files missed in commit 51b1e4a
18174
18175 2015-04-03 17:09:08 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18176
18177         * gst/vaapi/gstvaapidecode.c:
18178         * gst/vaapi/gstvaapidecodebin.c:
18179         * gst/vaapi/gstvaapiencode_h264.c:
18180         * gst/vaapi/gstvaapiencode_jpeg.c:
18181         * gst/vaapi/gstvaapiencode_mpeg2.c:
18182         * gst/vaapi/gstvaapiencode_vp8.c:
18183         * gst/vaapi/gstvaapipluginbase.c:
18184         * gst/vaapi/gstvaapipluginutil.c:
18185         * gst/vaapi/gstvaapipluginutil.h:
18186         * gst/vaapi/gstvaapipostproc.c:
18187         * gst/vaapi/gstvaapisink.c:
18188         * gst/vaapi/gstvaapivideobuffer.c:
18189         * gst/vaapi/gstvaapivideobufferpool.c:
18190         * gst/vaapi/gstvaapivideocontext.c:
18191         * gst/vaapi/gstvaapivideocontext.h:
18192         * gst/vaapi/gstvaapivideoconverter_glx.h:
18193         * gst/vaapi/gstvaapivideoconverter_x11.h:
18194         * gst/vaapi/gstvaapivideomemory.h:
18195         * gst/vaapi/gstvaapivideometa_texture.c:
18196           Removal of gstreamer-1.0 support
18197           The support for GStreamer 1.0 has been obsoleted in 0.5.10 release.
18198           GStreamer 1.2 is the a minimal requirement for building the gstreamer-vaapi.
18199           This patch removes all the pre-processor conditional code compilation guarded
18200           for gstreamer-1.0.
18201           Thus, all the video converters were removed too.
18202           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18203           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18204           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18205
18206 2015-04-03 17:08:30 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18207
18208         * gst-libs/gst/vaapi/gstcompat.h:
18209         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
18210         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18211         * gst-libs/gst/vaapi/sysdeps.h:
18212         * gst/vaapi/gstcompat.h:
18213         * gst/vaapi/gstvaapi.c:
18214         * gst/vaapi/gstvaapidecode.c:
18215         * gst/vaapi/gstvaapidecodebin.c:
18216         * gst/vaapi/gstvaapiencode.c:
18217         * gst/vaapi/gstvaapiencode_h264.c:
18218         * gst/vaapi/gstvaapiencode_jpeg.c:
18219         * gst/vaapi/gstvaapiencode_mpeg2.c:
18220         * gst/vaapi/gstvaapiencode_vp8.c:
18221         * gst/vaapi/gstvaapiparse.c:
18222         * gst/vaapi/gstvaapipluginbase.c:
18223         * gst/vaapi/gstvaapipluginutil.c:
18224         * gst/vaapi/gstvaapipostproc.c:
18225         * gst/vaapi/gstvaapisink.c:
18226         * gst/vaapi/gstvaapiuploader.c:
18227         * gst/vaapi/gstvaapivideobuffer.c:
18228         * gst/vaapi/gstvaapivideobufferpool.c:
18229         * gst/vaapi/gstvaapivideocontext.c:
18230         * gst/vaapi/gstvaapivideoconverter_glx.c:
18231         * gst/vaapi/gstvaapivideoconverter_x11.c:
18232         * gst/vaapi/gstvaapivideomemory.c:
18233         * gst/vaapi/gstvaapivideometa.c:
18234         * gst/vaapi/gstvaapivideometa_texture.c:
18235         * tests/codec.c:
18236           update and move gstcompat.h
18237           The purpose of gstcompat.h is to couple the API differences among
18238           gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is obsolete, the code
18239           in this compatibility layer shall be removed.
18240           Nevertheless, the gstcompat.h header should be kept, if new incompatibilites
18241           appear in the future, but it shall live in gst/vaapi, not in gst-libs.
18242           This patch removes the crumbs defined gstcompat.h and moves it to gst/vaapi.
18243           In order to avoid layer violations, gstcompat.h includes sysdeps.h and all
18244           the includes in gst/vaapi of sysdeps.h are replaced with gstcompat.h
18245           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18246           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18247           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18248
18249 2015-04-03 17:05:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18250
18251         * configure.ac:
18252         * gst/vaapi/Makefile.am:
18253           autotools: remove gstreamer-1.0 support
18254           This patch only removes the support of gstreamer-1.0 in the autotools
18255           scripts. No other files are touched.
18256           In the automake file all the converters were deprecated.
18257           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18258           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18259           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18260
18261 2015-04-03 17:03:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18262
18263         * .gitmodules:
18264         * ext/Makefile.am:
18265         * ext/videoutils:
18266           Remove the gstreamer-videoutils submodule
18267
18268 2015-04-03 17:01:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18269
18270         * configure.ac:
18271         * gst-libs/gst/Makefile.am:
18272         * gst-libs/gst/vaapi/Makefile.am:
18273         * gst-libs/gst/video/Makefile.am:
18274         * gst/vaapi/Makefile.am:
18275         * tests/Makefile.am:
18276           Remove libgstvaapi-videoutils.so
18277           This library was intended to add the base classes for video decoders which
18278           where not included in gstreamer-0.10.
18279           Since the support of gstreamer-0.10 is deprecated those classes are not
18280           required, thus the whole library is removed.
18281           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18282           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18283           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18284
18285 2015-04-03 16:55:43 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18286
18287         * configure.ac:
18288         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
18289         * gst-libs/gst/vaapi/gstvaapiutils.c:
18290         * tests/test-subpicture.c:
18291           Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro
18292           This macro guarded the use of HAVE_GST_VIDEO_OVERLAY_HWCAPS, which was not
18293           defined before gstreamer 0.10.35. Since the support of gstreamer-0.10 is
18294           deprecated these guards are not required.
18295           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18296           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18297           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18298
18299 2015-04-03 16:55:27 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18300
18301         * gst-libs/gst/vaapi/gstcompat.h:
18302         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
18303         * gst-libs/gst/vaapi/gstvaapidecoder.c:
18304         * gst-libs/gst/vaapi/gstvaapiimage.c:
18305         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
18306         * gst-libs/gst/vaapi/video-format.c:
18307         * gst-libs/gst/vaapi/video-format.h:
18308         * gst/vaapi/gstvaapi.c:
18309         * gst/vaapi/gstvaapidecode.c:
18310         * gst/vaapi/gstvaapidecodebin.c:
18311         * gst/vaapi/gstvaapidownload.c:
18312         * gst/vaapi/gstvaapidownload.h:
18313         * gst/vaapi/gstvaapiencode.c:
18314         * gst/vaapi/gstvaapiencode_h264.c:
18315         * gst/vaapi/gstvaapiencode_jpeg.c:
18316         * gst/vaapi/gstvaapiencode_mpeg2.c:
18317         * gst/vaapi/gstvaapiencode_vp8.c:
18318         * gst/vaapi/gstvaapiparse.c:
18319         * gst/vaapi/gstvaapipluginbase.c:
18320         * gst/vaapi/gstvaapipluginbase.h:
18321         * gst/vaapi/gstvaapipluginutil.c:
18322         * gst/vaapi/gstvaapipluginutil.h:
18323         * gst/vaapi/gstvaapipostproc.c:
18324         * gst/vaapi/gstvaapisink.c:
18325         * gst/vaapi/gstvaapiupload.c:
18326         * gst/vaapi/gstvaapiupload.h:
18327         * gst/vaapi/gstvaapiuploader.c:
18328         * gst/vaapi/gstvaapivideobuffer.c:
18329         * gst/vaapi/gstvaapivideoconverter_glx.c:
18330         * gst/vaapi/gstvaapivideoconverter_x11.c:
18331         * gst/vaapi/gstvaapivideometa.c:
18332         * gst/vaapi/gstvaapivideometa.h:
18333         * tests/test-filter.c:
18334         * tests/test-subpicture.c:
18335           Removal of gstreamer-0.10 support
18336           This patch removes all the pre-processor conditional code compilation guarded
18337           for gstreamer-0.10.
18338           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18339           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18340           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18341
18342 2015-04-03 16:54:54 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18343
18344         * configure.ac:
18345         * debian.upstream/control.in:
18346         * gst-libs/gst/video/Makefile.am:
18347         * gst/vaapi/Makefile.am:
18348           autotools: remove gstreamer-0.10 support
18349           This patch only removes the support of gstreamer-0.10 in the autotools
18350           scripts. No other files are touched.
18351           The configuration parameter --gstreamer-api was deleted since now it is always
18352           auto-detected.
18353           The verification of vmethod query in GstBaseSinkClass was removed since it was
18354           added in gstreamer 0.10.35. The same case for GstVideoOverlayComposition and
18355           its format flags.
18356           The precious variable GST_PLUGIN_PATH was removed, while GST_PLUGIN_PATH_1_0
18357           remained.
18358           The automake files were changed accordingly.
18359           Removed, in debian/control, the vaapiupload and vaapidownload descriptions.
18360           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18361           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18362           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18363
18364 2015-03-16 23:38:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18365
18366         * gst/vaapi/gstvaapidecode.c:
18367           vaapidecode: add drain() vmethod
18368           In GStremer v1.6 a new vmethod drain() was added in GstVideoDecoder
18369           class. This patch implements this new method.
18370           https://bugzilla.gnome.org/show_bug.cgi?id=742922
18371           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18372           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18373
18374 2015-03-16 23:37:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18375
18376         * gst/vaapi/gstvaapidecode.c:
18377           vaapidecode: remove vmethod reset()
18378           Since in bug #745728 the support for GStreamer 1.0 is going to be dropped,
18379           this patch removes the method reset() which was deprecated in GStreamer 1.2.
18380           https://bugzilla.gnome.org/show_bug.cgi?id=742922
18381           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18382           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18383
18384 2015-03-16 23:36:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18385
18386         * gst/vaapi/gstvaapidecode.c:
18387           vaapidecode: handle flush() vmethod
18388           Since GStreamer 1.2 the vmethod reset() in GstVideoDecoderClass was deprecated
18389           and flush() was added.
18390           This patch set the vmethod flush() if the installed GStreamer version is 1.2 or
18391           superior. Otherwise, reset() is set.
18392           v2: 1) In order to avoid symbol collision, the old method gst_vaapidecode_flush()
18393           was renamed to gst_vaapidecode_internal_flush().
18394           2) The new vmethod flush() always do a hard full reset.
18395           v3: 1) Call gst_vaapidecode_internal_flush() first in flush() vmethod, in order to
18396           gather all collected data with  gst_video_decoder_have_frame()
18397           https://bugzilla.gnome.org/show_bug.cgi?id=742922
18398           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18399           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18400
18401 2015-03-16 23:10:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18402
18403         * gst/vaapi/gstvaapidecode.c:
18404           vaapidecode: call the correct query function
18405           In commit 2f8c115 (vaapidecode: use the query virtual methods in 1.4)
18406           a bug was introduced: when calling the parent's query function of the
18407           src pad, the one of the sink pad is called instead. This patch fixes
18408           this issue.
18409           https://bugzilla.gnome.org/show_bug.cgi?id=746248
18410
18411 2015-03-15 00:36:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18412
18413         * .gitmodules:
18414           gitmodules: Use https:// url instead of git:// for submodules.
18415           Gitorious is failing to clone repositories over git:// url.
18416
18417 2015-03-14 22:12:19 +0200  Julien Isorce <j.isorce@samsung.com>
18418
18419         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18420           vaapidisplay: mark X11 display as compatible with EGL
18421           GST_GL_WINDOW=x11 GST_GL_API=gles2 GST_GL_PLATFORM=egl
18422           gst-launch-1.0 ... ! vaapidecode ! glimagesink
18423           https://bugzilla.gnome.org/show_bug.cgi?id=745902
18424           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18425
18426 2015-03-06 15:20:01 +0200  Olivier Crete <olivier.crete@collabora.com>
18427
18428         * gst/vaapi/gstvaapidecode.c:
18429           vaapidecode: Don't crash if a buffer outlives the decoder
18430           Sometimes, for example, when switching video streams but keeping
18431           the same sink, the surface will be released after the decoder is
18432           stopped and replaced. This caused a crash because the release
18433           callback was called on an invalid pointer.
18434           The patch adding an additional reference to the decoder object in the buffer.
18435           https://bugzilla.gnome.org/show_bug.cgi?id=745189
18436           Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
18437           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18438
18439 2015-03-06 14:31:21 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18440
18441         * gst/vaapi/gstvaapidecode.c:
18442           vaapidecode: clean-ups (indentation, drop unused variables)
18443
18444 2015-03-06 14:09:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18445
18446         * gst/vaapi/gstvaapidecode.c:
18447           vaapidecode: use the query virtual methods in 1.4
18448           GstVideoDecoder, the base class of vaapidecode, added support for
18449           pad queries as virtual methods. This patch enables the use of that
18450           support, while keeping support for lower versions of gstreamer.
18451           This patch is important because GstVideoDecoder takes care of other
18452           queries that might be important in the pipeline managing.
18453           v2: 1) rebase to current master
18454           2) fix indentation with gst-indent
18455           3) simplify the patch layout
18456           4) fix the context query
18457           5) initialise the filter to NULL
18458           6) improve the query log message for gst-1.2
18459           https://bugzilla.gnome.org/show_bug.cgi?id=744406
18460
18461 2015-03-06 12:16:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18462
18463         * gst/vaapi/gstvaapipostproc.c:
18464         * gst/vaapi/gstvaapipostproc.h:
18465           vaapipostproc: always activate buffer pool
18466           The vaapipostproc has a proxy flag to know if the the buffer pool is
18467           already active. But this fails in some situations where it is needed
18468           to renegotiate the buffer pool.
18469           This patch removes that flag so the renegotiation is done whenever is
18470           required.
18471           https://bugzilla.gnome.org/show_bug.cgi?id=745535
18472
18473 2015-03-02 17:04:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18474
18475         * gst/vaapi/gstvaapisink.c:
18476           vaapisink: fix minor memory leak in debug mode.
18477           The gst_video_colorimetry_to_string() function returns a newly created
18478           string that represents the GstVideoColorimetry value. So, that needs
18479           to be released after usage, in e.g. GST_DEBUG().
18480
18481 2015-03-03 12:37:41 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18482
18483         * gst/vaapi/gstvaapidecodebin.h:
18484           vaapidecodebin: Avoid usage of "__" prefix in macro names
18485           Avoiding "__" prefix usage in Header File Guards as per
18486           C standard recommendation.
18487
18488 2015-03-03 12:31:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18489
18490         * gst/vaapi/gstvaapi.c:
18491           plugins: Disable vaapidecodebin for GStreamer < 1.4
18492           There are autoplugging issues in GStreamer-1.2.
18493           Lets disable vaapidecodebin untill we get some workarounds for this.
18494
18495 2015-03-02 15:19:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18496
18497         * gst/vaapi/Makefile.am:
18498         * gst/vaapi/gstvaapi.c:
18499         * gst/vaapi/gstvaapidecodebin.c:
18500         * gst/vaapi/gstvaapidecodebin.h:
18501           plugins: Add a vaapidecodebin element
18502           Add a "vaapidecodebin" element to vaapi plugins.
18503           Child Elements: "vaapidecode ! queue ! vaapipostproc"
18504           The Reasons for implementing a new bin element:
18505           -- Help to Autoplug Hardware Accelerated Video Postprocessing element in playbin
18506           with out any dependency to upstream gstreamer.
18507           This is to overcome the *unacceptable* delay in upstream gstreamer to get new
18508           features in. Eg: https://bugzilla.gnome.org/show_bug.cgi?id=687182.
18509           Also customers using older gstreamer versions (1.2 and 1.4) will get the
18510           benefit of autoplugging, hardware accelerated deinterlacing support etc.
18511           -- Help to maintain a single thread implementation in vaapidecode.
18512           This will result a dead-lock free vaapidecode in most of the cases.
18513           More details here: https://bugzilla.gnome.org/show_bug.cgi?id=742605
18514           https://bugzilla.gnome.org/show_bug.cgi?id=745216
18515
18516 2015-03-02 14:59:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18517
18518         * gst/vaapi/gstvaapidecode.c:
18519           vaapidecode: re-indent (gst-indent) gstvaapidecode.c
18520
18521 2015-03-02 14:46:38 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
18522
18523         * gst/vaapi/gstvaapidecode.c:
18524         * gst/vaapi/gstvaapidecode.h:
18525           vaapidecode: Switch back to Single thread implementation
18526           Because the decoder uses the thread from handle_frame() to decode a frame,
18527           the src pad task creates an unsolveable AB-BA deadlock between
18528           handle_frame() waiting for a free surface and decode_loop() pushing
18529           decoded frames out.
18530           Instead, have handle_frame() take responsibility for pushing surfaces,
18531           and remove the deadlock completely. If you need a separate thread
18532           downstream, you can insert a queue between vaapidecode and its downstream
18533           to get one.
18534           Another justification for the single thread implementation is,
18535           there are two many point of locking in gstreamer-vaapi's current
18536           implementation which can lead to deadlocks.
18537           https://bugzilla.gnome.org/show_bug.cgi?id=742605
18538           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
18539           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18540           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18541
18542 2015-03-02 13:28:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18543
18544         * gst/vaapi/gstvaapipluginbase.c:
18545           plugins: fix detection of upstream v4l2src element.
18546           Improve check for upstream element that requires DMABUF buffer pool,
18547           e.g. v4l2src element. In particular, make sure to traverse through
18548           any additional capsfilter for instance.
18549           Note: the traversal to the top-most upstream element could be made
18550           more generic, but we are insofar only interested in supporting pipes
18551           similar to v4l2src or v4l2src ! capsfilter, e.g. with an explicit
18552           specification for a desired video camera format, or resolution.
18553
18554 2015-03-02 11:12:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18555
18556         * gst/vaapi/gstvaapivideomemory.c:
18557           plugins: fix allocation of DMABUF memory.
18558           The dmabuf allocator would close the DMABUF handle passed in the init
18559           function gst_dmabuf_allocator_alloc(). So, we need to dup() it so that
18560           to avoid a double close, ultimately in the underlying driver that owns
18561           the DMABUF handle.
18562
18563 2015-02-26 12:28:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18564
18565         * gst/vaapi/gstvaapidecode.c:
18566           vaapidecode: keep src caps and output state in sync
18567           vaapidecode keeps an output state that use the format
18568           GST_VIDEO_FORMAT_ENCODED, while it crafts a different src caps
18569           for a correct negotiation.
18570           I don't see the rational behind this decoupling, it looks like
18571           unnecessary complexity. This patch simplify this logic keeping
18572           in sync the output state and the src caps.
18573           This patch improves the readability of the function
18574           gst_vaapidecode_update_src_caps() and simplify its logic. Also,
18575           the patch validates if the buffer pool has the configuration for
18576           the GL texture upload meta, in order to set the caps feature
18577           meta:GLTextureUpload. Otherwise, the I420 format is set back.
18578           https://bugzilla.gnome.org/show_bug.cgi?id=744618
18579           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18580           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18581
18582 2015-02-26 12:26:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18583
18584         * gst/vaapi/gstvaapidecode.c:
18585           vaapidecode: upload meta only if feature and allocation
18586           When vaapidecode finishes the decoding of a frame and pushes it,
18587           if, in the decide_allocation() method, it is determined if the
18588           next element supports the GL texture upload meta feature, the
18589           decoder adds the buffer's meta.
18590           Nonetheless, in the same spirit of the commit 71d3ce4d, the
18591           determination if the next element supports the GL texture upload
18592           meta needs to check both the preferred caps feature *and* if the
18593           allocation query request the API type.
18594           This patch, first removes the unused variable need_pool, and
18595           determines the attribute has_texture_upload_meta using the
18596           preferred caps feature *and* the allocation query.
18597           Also, the feature passed to GstVaapPluginBase is not longer
18598           determined by has_texture_upload_meta, but by the computed
18599           preferred one.
18600           https://bugzilla.gnome.org/show_bug.cgi?id=744618
18601           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18602           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18603
18604 2015-02-26 12:24:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18605
18606         * gst/vaapi/gstvaapidecode.c:
18607         * gst/vaapi/gstvaapidecode.h:
18608         * gst/vaapi/gstvaapipluginutil.c:
18609         * gst/vaapi/gstvaapipluginutil.h:
18610           vaapidecode: delayed src caps negotiation
18611           Currently the src caps are set immediately after the sink caps are set, but in
18612           that moment the pipeline might not fully constructed and the video sink has
18613           not negotiated its supported caps and features. As a consequence, in many cases
18614           of playback, the least optimized caps feature is forced. This is partially the
18615           responsible of bug #744039.
18616           Also, vaapidecode doesn't attend the reconfigure events from downstream,
18617           which is a problem too, since the video sink can be changed with different
18618           caps features.
18619           This patch delays the src caps, setting them until the first frame arrives to
18620           the decoder, assuming until that very moment the whole pipeline is already
18621           negotiated. Particularly, it checks if the src pad needs to be reconfigured,
18622           as a consequence of a reconfiguration event from downstream.
18623           A key part of this patch is the new GstVaapiCapsFeature
18624           GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED, which is returned when the src pad
18625           doesn't have a peer yet. Also, for a better report of the caps allowed
18626           through the src pad and its peer, this patch uses gst_pad_get_allowed_caps()
18627           instead of gst_pad_peer_query_caps() when looking for the preferred feature.
18628           v3: move the input_state unref to close(), since videodecoder resets at
18629           some events such as navigation.
18630           v4: a) the state_changed() callback replaces the input_state if the media
18631           changed, so this case is also handled.
18632           b) since the parameter ref_state in gst_vaapidecode_update_src_caps() is
18633           always the input_state, the parameter were removed.
18634           c) there were a lot of repeated code handling the input_state, so I
18635           refactored it with the function gst_vaapi_decode_input_state_replace().
18636           https://bugzilla.gnome.org/show_bug.cgi?id=744618
18637           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18638           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18639
18640 2015-02-24 17:14:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18641
18642         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18643         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
18644           encoder: h264: add support for more than 2 views
18645           Add support for H.264 MVC Multiview High profile encoding with
18646           more than 2 views. All views within the same accesss unit are
18647           provided in increasing order of view order index (VOIdx).
18648           Upto 10 view are supported for now.
18649           A new property "view-ids" has been provided for the plugins to
18650           set the view ids (which is an array of guint values) to be used
18651           for mvc encoding.
18652           https://bugzilla.gnome.org/show_bug.cgi?id=732453
18653
18654 2015-02-23 16:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18655
18656         * gst/vaapi/gstvaapipluginbase.c:
18657           plugins: upload meta only if feature and allocation
18658           Working on bug #743687, I realized that vaapidecode always adds to its buffer
18659           pool the config option GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META if
18660           the decide_allocation()'s query has GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE.
18661           Nevertheless, there are occasions where the query has the API type, but the
18662           last negotiated caps don't have the feature meta:GstVideoGLTextureUploadMeta.
18663           Under this contradiction, vaapidecode adds the GLTextureUploadMeta API to its
18664           buffer pool configuration, and adds its buffer's meta to each output buffer,
18665           even if the negotiated caps feature is memory:SystemMemory with I420 color
18666           format.
18667           This kind of output buffers chokes ClutterAutoVideosSink, since it uses a map
18668           that relates caps <-> GL upload method. If it receives a buffer with color
18669           format I420, it assumes that it doesn't have a texture upload meta, because
18670           only those with RGB color format has it. Our buffers, with I420 format, say
18671           that they have the upload meta too. In that case the mapped method is a dummy
18672           one which does nothing. I reported this issue in bug #744039 (the patch,
18673           obviously, was rejected).
18674           This patch workarounds the problem: the buffer pool's configuration option
18675           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META is set if and only if the
18676           query has the GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE *and* the negotiated
18677           caps feature is meta:GstVideoGLTextureUploadMeta.
18678           I have tested these patches with gst-master (1.5), gst-1.4 and gst-1.2 and
18679           in all they seem to work correctly.
18680           https://bugzilla.gnome.org/show_bug.cgi?id=744618
18681           [adapted to fit current EGL changes]
18682           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18683
18684 2015-02-20 15:13:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18685
18686         * gst-libs/gst/vaapi/gstvaapitexture.c:
18687         * gst-libs/gst/vaapi/gstvaapitexture.h:
18688         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
18689         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
18690         * gst/vaapi/gstvaapivideometa_texture.c:
18691           plugins: add support for GstVideoGLTextureOrientation.
18692           Add support for GstVideoGLTextureOrientation modes. In particular,
18693           add orientation flags to the GstVaapiTexture wrapper and the GLX
18694           implementations. Default mode is that texture memory is laid out
18695           with top lines first, left row first. Flags indicate whether the
18696           X or Y axis need to be inverted.
18697
18698 2015-02-09 21:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18699
18700         * gst/vaapi/gstvaapidecode.c:
18701         * gst/vaapi/gstvaapipluginbase.c:
18702         * gst/vaapi/gstvaapipluginutil.c:
18703         * gst/vaapi/gstvaapipluginutil.h:
18704         * gst/vaapi/gstvaapipostproc.c:
18705         * gst/vaapi/gstvaapivideometa_texture.c:
18706           plugins: add support for BGRA textures.
18707           Some frameworks (EFL) expect BGRA textures for storage. However,
18708           adding support for that broadly into GStreamer framework  implies
18709           two kinds of hacks: (i) libgstgl helpers currently do not support
18710           BGRA textures correctly, (ii) we need to better parse downstream
18711           suggested caps and intersect them with what the VA plugin elements
18712           can offer to them for GL texturing.
18713
18714 2015-01-23 09:31:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18715
18716         * gst/vaapi/gstvaapipluginutil.c:
18717           plugins: fix support for Wayland/EGL running alongside X11.
18718           When multiple display servers are available, the glimagesink element
18719           (from GStreamer 1.4) may not be able to derive a global display in
18720           Wayland. Rather, a "window"-specific display is created. In this case,
18721           the GstGLDisplay handle available through GstGLContext is invalid.
18722           So, try to improve heuristics for display server characterisation in
18723           those particular situations.
18724
18725 2015-02-20 15:29:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18726
18727         * configure.ac:
18728         * gst/vaapi/Makefile.am:
18729         * gst/vaapi/gstvaapidecode.c:
18730         * gst/vaapi/gstvaapipluginbase.c:
18731         * gst/vaapi/gstvaapipluginutil.c:
18732         * gst/vaapi/gstvaapivideobufferpool.c:
18733         * gst/vaapi/gstvaapivideometa_texture.c:
18734           plugins: add initial support for EGL.
18735           Add initial support for EGL through GstVideoGLTextureUploadMeta.
18736           Fix gst_vaapi_ensure_display() to allocate a GstVaapiDisplay off the
18737           downstream supplied GstGLContext configuration, i.e. use its native
18738           display handle to create a GstVaapiDisplay of type X11 or Wayland ;
18739           and use the desired OpenGL API to allocate the GstVaapiDisplayEGL
18740           wrapper.
18741           https://bugzilla.gnome.org/show_bug.cgi?id=741079
18742
18743 2014-12-09 11:46:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18744
18745         * gst/vaapi/gstvaapivideometa_texture.c:
18746           plugins: track video texture size changes.
18747           Sync video texture sizes to GstVideoGLTextureUploadMeta private date,
18748           i.e. GstVaapiVideoMetaTexture, on a regular basis. In particular, we
18749           now update the texture size from the GstVideoMeta, if any, or reset
18750           to some defaults otherwise.
18751
18752 2014-12-03 15:45:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18753
18754         * gst/vaapi/gstvaapipluginbase.c:
18755         * gst/vaapi/gstvaapipluginbase.h:
18756         * gst/vaapi/gstvaapipluginutil.c:
18757           plugins: ensure VA display matches GL context expectations.
18758           If a GstGLContext is supplied by the downstream element, then make
18759           sure that the VA plugin element gets a compatible display to what
18760           is requested by the GL context. e.g. re-allocate a VA/GLX display
18761           when a GLX context is provided by the downstream element.
18762
18763 2014-12-03 14:14:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18764
18765         * configure.ac:
18766         * gst/vaapi/Makefile.am:
18767         * gst/vaapi/gstvaapipluginbase.c:
18768         * gst/vaapi/gstvaapipluginbase.h:
18769           plugins: record downstream GstGLContext.
18770           Record GL context supplied by downstream elements. This can be useful,
18771           and further needed, to enforce run-time check that the GL context is
18772           compatible for use by libgstvaapi. e.g. check that we don't create a
18773           VA/GLX display for EGL/X11 contexts.
18774           https://bugzilla.gnome.org/show_bug.cgi?id=725643
18775           Original-path-by: Matthew Waters <ystreet00@gmail.com>
18776
18777 2014-12-01 14:52:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18778
18779         * tests/Makefile.am:
18780         * tests/output.c:
18781           egl: update tests.
18782           Add initial support for EGL to tests. The new EGL backend can be selected
18783           through the --egl command line option. The OpenGL|ES version can further
18784           be selected with the --gles-version command line option, where the default
18785           of 0 means "desktop" OpenGL.
18786
18787 2015-01-27 16:21:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18788
18789         * gst-libs/gst/vaapi/Makefile.am:
18790         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
18791         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
18792         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
18793         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
18794         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
18795           egl: add windowing support.
18796           This provides for some basic EGL window abstraction.
18797
18798 2015-01-24 08:29:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18799
18800         * gst-libs/gst/vaapi/Makefile.am:
18801         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
18802         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
18803         * gst-libs/gst/vaapi/gstvaapitexture_egl.h:
18804           egl: add texture abstraction.
18805           Add GstVaapiTextureEGL abstraction that can create its own GL texture,
18806           or import a foreign allocated one, while still allowing updates from a
18807           VA surface.
18808
18809 2014-12-09 18:14:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18810
18811         * gst-libs/gst/vaapi/Makefile.am:
18812         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
18813         * gst-libs/gst/vaapi/gstvaapisurface_egl.h:
18814           egl: allow for EGLImage imports into VA Surfaces.
18815           Add helpers to import EGLImage objects into VA surfaces. There are
18816           two operational modes: (i) gst_vaapi_surface_new_from_egl_image(),
18817           which allows for implicit conversion from EGLImage to a VA surface
18818           in native video format, and (ii) gst_vaapi_surface_new_with_egl_image(),
18819           which exactly wraps the source EGLImage, typically in RGBA format
18820           with linear storage.
18821           Note: in case of (i), the EGLImage can be disposed right after the
18822           VA surface creation call, unlike in (ii) where the user shall ensure
18823           that the EGLImage is live until the associated VA surface is no longer
18824           needed.
18825           https://bugzilla.gnome.org/show_bug.cgi?id=743847
18826
18827 2015-02-20 15:27:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18828
18829         * configure.ac:
18830         * gst-libs/gst/vaapi/Makefile.am:
18831         * gst-libs/gst/vaapi/egl_compat.h:
18832         * gst-libs/gst/vaapi/egl_vtable.h:
18833         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18834         * gst-libs/gst/vaapi/gstvaapidisplay.h:
18835         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
18836         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
18837         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
18838         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
18839         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
18840         * gst-libs/gst/vaapi/ogl_compat.h:
18841           Add initial support for EGL.
18842           Add initial support for EGL to libgstvaapi core library. The target
18843           display server and the desired OpenGL API can be programmatically
18844           selected at run-time.
18845           A comprehensive set of EGL utilities are provided to support those
18846           dynamic selection needs, but also most importantly to ensure that
18847           the GL command stream is executed from within a single thread.
18848           https://bugzilla.gnome.org/show_bug.cgi?id=743846
18849
18850 2015-01-30 21:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18851
18852         * gst-libs/gst/vaapi/gstvaapivalue.c:
18853           libs: initialize GValues in a thread-safe manner.
18854
18855 2015-01-30 21:35:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18856
18857         * gst-libs/gst/vaapi/gstvaapivalue.c:
18858           libs: re-indent all GValue related source code.
18859
18860 2015-01-22 22:45:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18861
18862         * gst/vaapi/gstvaapidecode.c:
18863           vaapidecode: partially revert 0777f35.
18864           Reset the VA decoder after updating the base plugin caps, and most
18865           importantly, after GstVideoDecoder negotiation. The reason behind
18866           this is that the negotiation could trigger a last decide_allocation()
18867           where we could actually derive a new GstVaapiDisplay to use from the
18868           downstream element. e.g. GLX backend.
18869
18870 2015-02-19 13:37:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18871
18872         * gst/vaapi/gstvaapidecode.c:
18873           vaapidecode: Caps query should return the list of all supported caps.
18874           Query caps filtering should be always done on top of allowed caps instead
18875           of existing fixed caps on a particular pad.
18876           This fixes the mvc stream decoding when there is a base view(high profile)
18877           and non-base view(stereo-high profile).
18878
18879 2015-02-18 13:36:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18880
18881         * gst/vaapi/gstvaapidecode.c:
18882           vaapidecode: intersect filter from query caps
18883           According to documentation[1] when receiving a GST_QUERY_CAPS
18884           the return value should be all formats that this elements supports,
18885           taking into account limitations of peer elements further downstream
18886           or upstream, sorted by order of preference, highest preference first.
18887           This patch add those limitations intersecting with the received
18888           filter in the query. Also takes into account the already negotiated
18889           caps. Also adds the processing of the query on the SRC pad.
18890           1. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-nego-getcaps.html
18891           https://bugzilla.gnome.org/show_bug.cgi?id=744406
18892
18893 2015-02-18 11:46:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18894
18895         * gst-libs/gst/vaapi/Makefile.am:
18896         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
18897         * gst-libs/gst/vaapi/gstvaapidecoder.c:
18898         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18899         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18900         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
18901         * gst/vaapi/gstvaapivideomemory.c:
18902           Fix compiler warnings
18903           This patch fixes some warnings that gcc 4.9 reports.
18904           https://bugzilla.gnome.org/show_bug.cgi?id=744411
18905
18906 2015-02-18 11:22:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18907
18908         * gst/vaapi/gstvaapidecode.c:
18909           vaapidecode: Use GST_DEBUG_FUNCPTR for gst_vaapidecode_query()
18910           Hence the function name is shown in the gst-inspect-1.0 information
18911           rather than the memory address.
18912           https://bugzilla.gnome.org/show_bug.cgi?id=744330
18913
18914 2015-02-18 11:21:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18915
18916         * gst/vaapi/gstvaapidecode.c:
18917           vaapidecode: log flow error name
18918           https://bugzilla.gnome.org/show_bug.cgi?id=744387
18919
18920 2015-02-18 11:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18921
18922         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
18923           VC1: decoder: Ignore VC1 user BDU's
18924           Don't return error if the processed BDU is a user one, just ignore them.
18925           https://bugzilla.gnome.org/show_bug.cgi?id=741237
18926           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18927
18928 2015-02-18 11:19:26 +0200  Olivier Crete <olivier.crete@collabora.com>
18929
18930         * gst/vaapi/gstvaapidecode.c:
18931         * gst/vaapi/gstvaapipluginbase.c:
18932           vaapidecode: Emit error GstMessage when returning a GST_FLOW_ERROR
18933           This is required in GStreamer, elements should never return
18934           GST_FLOW_ERROR without posting an ERROR message on the bus.
18935           https://bugzilla.gnome.org/show_bug.cgi?id=744620
18936
18937 2015-02-13 13:45:32 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18938
18939         * gst/vaapi/Makefile.am:
18940         * gst/vaapi/gstvaapi.c:
18941         * gst/vaapi/gstvaapiencode_vp8.c:
18942         * gst/vaapi/gstvaapiencode_vp8.h:
18943           plugins: Add VP8 Encoder
18944
18945 2015-02-13 13:42:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18946
18947         * gst-libs/gst/vaapi/Makefile.am:
18948         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
18949         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
18950           Add VP8 Encoder to core libgstvaapi.
18951
18952 2015-02-13 13:40:19 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18953
18954         * configure.ac:
18955           configure: Add Check for VP8 Encoding API
18956
18957 2015-02-10 11:40:16 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
18958
18959         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
18960           decoder: vc1: Rounding control handling for VC1 simple and Main profile
18961           Added rounding control handling for VC1 simple and Main profile
18962           based on VC1 standard spec: section 8.3.7
18963           https://bugzilla.gnome.org/show_bug.cgi?id=743958
18964           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
18965           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18966
18967 2015-02-06 12:10:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18968
18969         * gst/vaapi/Makefile.am:
18970           build: fix make dist when certain conditionals not met.
18971           Fix typo which was preventing the inclusion of jpeg encoder
18972           source files from make dist (when there is no jpeg encoder
18973           API support in libva).
18974
18975 2015-02-05 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18976
18977         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
18978           encoder: jpeg: Fix the sampling factor calculation for ENCODED format.
18979           If the incoming raw video format is GST_VIDEO_FORMAT_ENCODED,
18980           use native YUV420 format (which is i420) as default.
18981
18982 2015-02-05 12:13:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18983
18984         * gst-libs/gst/vaapi/gstvaapiencoder.c:
18985           encoder: Only support YUV420 native format as input for now
18986           Practically we should be able to support more formats, for eg:
18987           JPEG Encoder can support YUV422, RGBA and all.
18988           But this is causing more issues which need proper fix here and there.
18989
18990 2015-02-04 18:34:59 +0200  Olivier Crete <olivier.crete@collabora.com>
18991
18992         * gst-libs/gst/vaapi/gstvaapidecoder.h:
18993         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
18994         * gst/vaapi/gstvaapidecode.c:
18995           vaapidecode: Check the condition after taking the lock
18996           Otherwise the condition could become true before the lock
18997           is taken and the g_cond_signal() could be called
18998           before the g_cond_wait(), so the g_cond_wait() is never
18999           awoken.
19000           https://bugzilla.gnome.org/show_bug.cgi?id=740645
19001
19002 2015-02-04 11:18:29 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19003
19004         * gst/vaapi/Makefile.am:
19005         * gst/vaapi/gstvaapi.c:
19006         * gst/vaapi/gstvaapiencode_jpeg.c:
19007         * gst/vaapi/gstvaapiencode_jpeg.h:
19008           plugins: Add JPEG encoder element
19009
19010 2015-02-04 11:17:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19011
19012         * gst-libs/gst/vaapi/gstvaapicontext.c:
19013           gstvaapicontext: Add VAConfigAttribValEncJPEG to the attribute list using for VAConfig creation.
19014
19015 2015-02-04 11:17:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19016
19017         * gst-libs/gst/vaapi/gstvaapicontext.c:
19018           gstvaapicontext: Don't use the unsupported Ratecontrol attributes for vaCreateConfig
19019           Don't add the VAConfigAttribRateControl to the attribute list using
19020           for the vaCreateConfig if it is not supported by the driver.
19021
19022 2015-02-04 11:17:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19023
19024         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19025           gstvaapiencoder: Use hardcoded packed_raw_data flag for JPEG Encoding
19026
19027 2015-02-04 11:16:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19028
19029         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19030           gstvaapiencoder: Fix crash when handling rate control mask
19031           Having a ratecontrol_mask equal to zero is not a bug, but the driver
19032           might not be supporting any kind of rate control mechanisms.
19033           Eg: JPEG Encoding
19034
19035 2015-02-04 11:16:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19036
19037         * gst-libs/gst/vaapi/Makefile.am:
19038         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
19039         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
19040           encoder: Add JPEG Encoder
19041
19042 2015-02-04 11:15:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19043
19044         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
19045         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
19046           encoder_objects: Add QuantizationMatrix and JPEGHuffmanTable
19047
19048 2015-02-04 11:15:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19049
19050         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19051         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19052         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19053         * gst-libs/gst/vaapi/gstvaapiprofile.h:
19054           Encode: Add support for Picture level Entrypoint
19055           This is useful for JPEG encoding which is utilizing picture level
19056           entrypoint instead of slice level entrypoint like h264,mpeg2 etc.
19057
19058 2015-02-04 11:14:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19059
19060         * configure.ac:
19061           configure: Add Check for JPEG encoding API
19062
19063 2015-02-03 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19064
19065         * AUTHORS:
19066           AUTHORS: Updates
19067
19068 2015-02-03 13:08:01 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19069
19070         * configure.ac:
19071           Bump version for development.
19072
19073 === release 0.5.10 ===
19074
19075 2015-02-03 10:00:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19076
19077         * configure.ac:
19078           0.5.10
19079
19080 2015-02-03 10:00:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19081
19082         * NEWS:
19083           NEWS: Updates
19084
19085 2015-02-02 11:43:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19086
19087         * gst/vaapi/gstvaapivideometa_texture.c:
19088           Fix compilation error if there is no GL/gl.h header file installed
19089
19090 2015-01-28 18:09:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19091
19092         * gst/vaapi/gstvaapivideomemory.h:
19093           plugins: drop leftover declaration.
19094           GstVaapiVideoMemory quark is not needed any more, and the actual
19095           implementation was already removed bfore the merge. i.e. this is
19096           an oversight for a hunk that was not meant to be pushed.
19097
19098 2015-01-26 18:30:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19099
19100         * gst/vaapi/gstvaapipluginbase.c:
19101         * gst/vaapi/gstvaapivideobufferpool.c:
19102         * gst/vaapi/gstvaapivideobufferpool.h:
19103         * gst/vaapi/gstvaapivideomemory.c:
19104         * gst/vaapi/gstvaapivideomemory.h:
19105           plugins: add support for dma_buf exports (v4l2src).
19106           Allow v4l2src element to connected to vaapipostproc or vaapisink when
19107           "io-mode" is set to "dmabuf-import". In practice, this is a more likely
19108           operational mode with uvcvideo. Supporting v4lsrc with "io-mode" set
19109           to "dmabuf" could work, but with more demanding driver or kernel reqs.
19110           Note: with GStreamer 1.4, v4l2src (gst-plugins-good) needs to be built
19111           with --without-libv4l2.
19112           https://bugzilla.gnome.org/show_bug.cgi?id=743635
19113
19114 2014-01-23 05:00:09 -0500  Wind Yuan <feng.yuan@intel.com>
19115
19116         * configure.ac:
19117         * gst/vaapi/Makefile.am:
19118         * gst/vaapi/gstvaapipluginbase.c:
19119           plugins: add support for dma_buf imports.
19120           Allow imports of v4l2 buffers into VA surfaces for further operation
19121           with vaapi plugins, e.g. vaapipostproc or vaapiencode_* elements.
19122           https://bugzilla.gnome.org/show_bug.cgi?id=735362
19123           [fixed memory leaks, ported to new dma_buf infrastructure, cleanups]
19124           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19125
19126 2014-09-15 15:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19127
19128         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19129         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19130           surface: add support for GEM buffer imports.
19131           Add support for GEM buffer imports. This is useful for VA/EGL interop
19132           with legacy Mesa implementations, or when it is desired or required to
19133           support outbound textures for instance.
19134           https://bugzilla.gnome.org/show_bug.cgi?id=736718
19135
19136 2014-09-15 15:25:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19137
19138         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19139         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19140           surface: add support for dma_buf imports.
19141           Add new gst_vaapi_surface_new_with_dma_buf_handle() helper function
19142           to allow for creating VA surfaces from a foreign DRM PRIME fd. The
19143           resulting VA surface owns the supplied buffer handle.
19144           https://bugzilla.gnome.org/show_bug.cgi?id=735362
19145
19146 2015-01-27 11:19:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19147
19148         * gst-libs/gst/vaapi/gstvaapisurface.c:
19149         * gst-libs/gst/vaapi/gstvaapisurface.h:
19150         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
19151           surface: add initial support for foreign buffer imports.
19152           Add gst_vaapi_surface_new_from_buffer_proxy() helper function to
19153           create a VA surface from an external buffer provided throug the
19154           new GstVaapiBufferProxy object.
19155
19156 2014-09-15 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19157
19158         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
19159         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
19160         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19161         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19162           surface: add support for GEM buffer exports.
19163           Add support for GEM buffer exports. This will only work with VA drivers
19164           based off libdrm, e.g. the Intel HD Graphics VA driver. This is needed
19165           to support interop with EGL and the "Desktop" GL specification. Indeed,
19166           the EXT_image_dma_buf_import extension is not going to be supported in
19167           Desktop GL, due to the lack of support for GL_TEXTURE_EXTERNAL_OES targets
19168           there.
19169           This is useful for implementing VA/EGL interop with legacy Mesa stacks,
19170           in Desktop OpenGL context.
19171           https://bugzilla.gnome.org/show_bug.cgi?id=736717
19172
19173 2014-09-15 11:48:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19174
19175         * gst-libs/gst/vaapi/Makefile.am:
19176         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
19177         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
19178         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19179         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19180           surface: add support for dma_buf exports.
19181           Use the new VA buffer export APIs to allow for a VA surface to be
19182           exposed as a plain PRIME fd. This is in view to simplifying interop
19183           with EGL or OpenCL for instance.
19184           https://bugzilla.gnome.org/show_bug.cgi?id=735364
19185
19186 2014-09-15 10:58:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19187
19188         * gst-libs/gst/vaapi/Makefile.am:
19189         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
19190         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
19191         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
19192           Add abstraction for exported VA buffers.
19193           The VA buffer export APIs work for a particular lifetime starting from
19194           vaAcquireBufferHandle() and ending with vaReleaseBufferHandle(). As such,
19195           it could be much more convenient to support implicit releases by simply
19196           having a refcount reaching zero.
19197           https://bugzilla.gnome.org/show_bug.cgi?id=736721
19198
19199 2015-01-28 18:25:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19200
19201         * gst-libs/gst/vaapi/Makefile.am:
19202           Add missing header file to Makefile
19203           Add gstvaapitexture_glx.h to Makefile.am
19204
19205 2015-01-27 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19206
19207         * gst-libs/gst/vaapi/gstvaapicontext.c:
19208         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19209         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19210         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19211         * gst/vaapi/gstvaapipostproc.c:
19212         * gst/vaapi/gstvaapiuploader.c:
19213         * gst/vaapi/gstvaapivideobufferpool.c:
19214         * gst/vaapi/gstvaapivideomemory.c:
19215         * gst/vaapi/gstvaapivideomemory.h:
19216         * tests/test-surfaces.c:
19217           videopool: add optional flags for surface pool allocation.
19218           Reword surface pool allocation helpers so that to allow for a simple
19219           form, e.g. gst_vaapi_surface_pool_new(format, width, height); and a
19220           somewhat more elaborated/flexible form with optional allocation flags
19221           and precise GstVideoInfo specification.
19222           This is an API/ABI change, and SONAME version needs to be bumped.
19223
19224 2015-01-26 23:21:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19225
19226         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19227         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
19228         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19229         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19230         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19231         * gst-libs/gst/vaapi/gstvaapivideopool.h:
19232         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
19233           videopool: re-indent all GstVaapiVideoPool related source code.
19234
19235 2014-12-10 20:13:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19236
19237         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19238         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19239           window: add toplevel display indirection for visualid and colormap.
19240           Add GstVaapiDisplay::get_{visual_id,colormap}() helpers to help determine
19241           the best suitable window visual id and colormap. This is an indirection in
19242           view to supporting EGL and custom/generic replacements.
19243
19244 2014-12-10 19:58:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19245
19246         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19247         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19248         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19249         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
19250           window: add toplevel API to determine the colormap.
19251           Add GstVaapiWindowClass::get_colormap() hook to help determine the
19252           currently active colormap bound to the supplied window, or actually
19253           create it if it does not already exist yet.
19254
19255 2014-12-10 19:36:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19256
19257         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
19258         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
19259         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19260         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19261         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19262         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
19263           window: add toplevel API to determine a visual id.
19264           Add GstVaapiWindowClass::get_visual_id() function hook to help find
19265           the best suitable visual id for the supplied window. While doing so,
19266           also simplify the process by which an X11 window is created with a
19267           desired Visual, i.e. now use a visual id instead of a Visual object.
19268
19269 2014-12-10 18:12:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19270
19271         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19272         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19273         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19274         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19275         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19276         * gst-libs/gst/vaapi/gstvaapiwindow.c:
19277         * gst-libs/gst/vaapi/gstvaapiwindow.h:
19278         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
19279         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19280         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19281         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19282         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19283           window: add generic helper to create windows.
19284           Add a new generic helper function gst_vaapi_window_new() to create
19285           a window without having the caller to check for the display type
19286           himself. i.e. internally, there is now a GstVaapiDisplayClass hook
19287           to create windows, and the actual backend implementation fills it in.
19288           Add new generic helper functions gst_vaapi_texture_new_wrapped()
19289           This is a simplification in view to supporting EGL.
19290
19291 2014-12-03 11:39:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19292
19293         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19294         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19295         * gst-libs/gst/vaapi/gstvaapitexture.c:
19296         * gst/vaapi/gstvaapivideometa_texture.c:
19297           display: add utility function to check for OpenGL rendering.
19298           Add gst_vaapi_display_has_opengl() helper function to help determining
19299           whether the display can support OpenGL context to be bound to it, i.e.
19300           if the class is of type GST_VAAPI_DISPLAY_TYPE_GLX.
19301
19302 2014-12-10 18:02:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19303
19304         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19305         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19306         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19307         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
19308         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19309         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
19310         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19311         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19312         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
19313         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19314         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
19315         * gst/vaapi/gstvaapipluginutil.c:
19316         * gst/vaapi/gstvaapivideobuffer.c:
19317         * gst/vaapi/gstvaapivideometa_texture.c:
19318           display: refine the meaning of display type.
19319           Make gst_vaapi_display_get_display_type() return the actual VA display
19320           type. Conversely, add a gst_vaapi_display_get_class_type() function to
19321           return the type of the GstVaapiDisplay instance. The former is used to
19322           identify the display server onto which the application is running, and
19323           the latter to identify the original object class.
19324
19325 2014-12-02 11:23:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19326
19327         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19328         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19329         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19330         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19331         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19332         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19333           display: cosmetics (helper macros, new internal API names).
19334           Add more helper macros to the top-level GstVaapiDisplay interfaces.
19335           Rename a few others used internally for improved consistency.
19336
19337 2014-12-01 17:08:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19338
19339         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19340         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19341         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
19342         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
19343         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
19344         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19345         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19346         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19347           display: record native display object.
19348           Record the underlying native display instance into the toplevel
19349           GstVaapiDisplay object. This is useful for fast lookups to the
19350           underlying native display, e.g. for creating an EGL display.
19351
19352 2014-12-01 16:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19353
19354         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19355         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
19356         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
19357           display: use a recursive mutex for the display cache.
19358           Use a recursive mutex for the display cache so that a 3rdparty display
19359           object could be initialized during the initialization of the parent
19360           display.
19361
19362 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19363
19364         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19365         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19366         * gst-libs/gst/vaapi/gstvaapitexture.c:
19367         * gst-libs/gst/vaapi/gstvaapitexture.h:
19368         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
19369         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
19370           texture: add generic helper to create textures.
19371           Add new generic helper functions gst_vaapi_texture_new_wrapped()
19372           and gst_vaapi_texture_new() to create a texture without having
19373           the caller to uselessly check for the display type himself. i.e.
19374           internally, there is now a GstVaapiDisplayClass hook to create
19375           textures, and the actual backend implementation fills it in.
19376           This is a simplification in view to supporting EGL.
19377
19378 2014-10-23 17:44:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19379
19380         * gst-libs/gst/vaapi/Makefile.am:
19381         * gst-libs/gst/vaapi/gstvaapitexture.c:
19382         * gst-libs/gst/vaapi/gstvaapitexture.h:
19383         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
19384         * gst-libs/gst/vaapi/gstvaapitexture_glx.h:
19385         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
19386         * gst/vaapi/gstvaapivideoconverter_glx.c:
19387         * gst/vaapi/gstvaapivideometa_texture.c:
19388         * tests/test-textures.c:
19389           texture: move to core libgstvaapi base library.
19390           GstVaapiTexture is a generic abstraction that could be moved to the
19391           core libgstvaapi library. While doing this, no extra dependency needs
19392           to be added. This means that a GstVaapitextureClass is now available
19393           for any specific code that needs to be added, e.g. creation of the
19394           underlying GL texture objects, or backend dependent ways to upload
19395           a surface to the texture object.
19396           Generic OpenGL data types (GLuint, GLenum) are also replaced with a
19397           plain guint.
19398           https://bugzilla.gnome.org/show_bug.cgi?id=736715
19399
19400 2014-10-23 13:11:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19401
19402         * configure.ac:
19403         * gst-libs/gst/vaapi/Makefile.am:
19404         * gst-libs/gst/vaapi/gstvaapicompat.h:
19405         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19406         * gst-libs/gst/vaapi/gstvaapitexture.c:
19407           texture: drop support for VA/GLX interfaces.
19408           The VA/GLX interfaces are obsolete. They used to exist for XvBA, and
19409           ease of use, but they had other caveats to deal with. It's now better
19410           to move on to legacy mode, whereby VA/GLX interop is two be provided
19411           through (i) X11 Pixmap, and (ii) other modern means of buffer sharing.
19412           https://bugzilla.gnome.org/show_bug.cgi?id=736711
19413
19414 2014-10-23 11:56:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19415
19416         * gst-libs/gst/vaapi/gstvaapitexture.c:
19417         * gst-libs/gst/vaapi/gstvaapitexture.h:
19418         * gst/vaapi/gstvaapivideoconverter_glx.c:
19419         * gst/vaapi/gstvaapivideometa_texture.c:
19420         * tests/test-textures.c:
19421           texture: add support for cropping rectangle during transfer.
19422           The gst_vaapi_texture_put_surface() function is missing a crop_rect
19423           argument that would be used during transfer for cropping the source
19424           surface to the desired dimensions.
19425           Note: from a user point-of-view, he should create the GstVaapiTexture
19426           object with the cropped size. That's the default behaviour in software
19427           decoding pipelines that we need to cope with.
19428           This is an API/ABI change, and SONAME version needs to be bumped.
19429           https://bugzilla.gnome.org/show_bug.cgi?id=736712
19430
19431 2014-10-23 11:22:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19432
19433         * gst-libs/gst/vaapi/gstvaapitexture.c:
19434         * gst-libs/gst/vaapi/gstvaapitexture.h:
19435           texture: re-indent all GstVaapiTexture related source code.
19436
19437 2015-01-27 11:16:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19438
19439         * gst-libs/gst/vaapi/gstvaapisurface.c:
19440         * gst-libs/gst/vaapi/gstvaapisurface.h:
19441           surface: add more fine-grained allocation helper.
19442           Add new gst_vaapi_surface_new_full() helper function that allocates
19443           VA surface from a GstVideoInfo template in argument. Additional flags
19444           may include ways to
19445           - allocate linear storage (GST_VAAPI_SURFACE_ALLOC_FLAG_LINEAR_STORAGE) ;
19446           - allocate with fixed strides (GST_VAPI_SURFACE_ALLOC_FLAG_FIXED_STRIDES) ;
19447           - allocate with fixed offsets (GST_VAAPI_SURFACE_ALLOC_FLAG_FIXED_OFFSETS).
19448
19449 2014-09-15 14:57:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19450
19451         * gst-libs/gst/vaapi/gstvaapisurface.c:
19452         * gst-libs/gst/vaapi/gstvaapisurface.h:
19453         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
19454           surface: re-indent all GstVaapiSurface related source code.
19455
19456 2015-01-23 16:44:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19457
19458         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19459         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19460           surfaceproxy: add helper to create a wrapped surface object.
19461           Add new gst_vaapi_surface_proxy_new() helper to wrap a surface into
19462           a proxy. The main use case for that is to convey additional information
19463           at the proxy level that would not be suitable to the plain surface.
19464
19465 2015-01-23 16:37:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19466
19467         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19468         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19469         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
19470           surfaceproxy: re-indent all GstVaapiSurfaceProxy related source code.
19471
19472 2015-01-27 18:02:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19473
19474         * configure.ac:
19475           libs: bump library major version.
19476
19477 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19478
19479         * gst-libs/gst/vaapi/gstvaapitypes.h:
19480           libs: re-introduce a GST_VAAPI_ID_INVALID value.
19481           Re-introduce a GST_VAAPI_ID_INVALID value that represents
19482           a non-zero and invalid id. This is useful to have a value
19483           that is still invalid for cases where zero could actually
19484           be a valid value.
19485
19486 2014-12-02 16:51:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19487
19488         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
19489         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
19490           libs: expose GstVaapiMiniObject APIs to all backends.
19491           Make it possible to have all libgstvaapi backends (libs) access to a
19492           common GstVaapiMiniObject API and implementation. This is a minor step
19493           towards full exposure when needed, but restrict it to libgstvaapi at
19494           this time.
19495
19496 2014-12-02 14:15:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19497
19498         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
19499         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
19500         * gst-libs/gst/vaapi/gstvaapiobject.c:
19501         * gst-libs/gst/vaapi/gstvaapiobject.h:
19502         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
19503           libs: re-indent all GstVaapiObject related source code.
19504           Re-indent and provide additional minor cosmetical changes to the
19505           GstVaapiMiniObject and GstVaapiObject source files.
19506
19507 2015-01-27 16:25:21 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19508
19509         * gst/vaapi/gstvaapipluginutil.c:
19510           pluginutil: Fix clearing of subtitle overlay
19511           dvbsuboverlay signals no subtitles present by not setting
19512           GstVideoOverlayCompositionMeta on a buffer.
19513           Detect this, and remove subtitles whenever we have no overlay composition to
19514           hand.
19515           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19516
19517 2015-01-27 16:06:02 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
19518
19519         * gst/vaapi/gstvaapipostproc.c:
19520           vaapipostproc: clear state on stop
19521           Otherwise restarting may fail because the state of vaapipluginbase and
19522           vaapipostproc don't match. e.g. gst_vaapipostproc_set_caps() will skip
19523           initailization and not call gst_vaapi_plugin_base_set_caps()
19524
19525 2015-01-27 14:50:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
19526
19527         * gst/vaapi/gstvaapidecode.c:
19528           vaapidecode: don't print an error message for GST_FLOW_FLUSHING
19529
19530 2015-01-27 12:38:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19531
19532         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19533           gstvaapiencoder: Fix the negotiation issue with _ENCODED format handling
19534           Don't error out for the video format GST_VIDEO_FORMAT_ENCODED with in gstvaapiencoder,
19535           since the vaaapi context creation (gstvaapicontext.c) can still use the
19536           default chroma type which is YUV420.
19537           https://bugzilla.gnome.org/show_bug.cgi?id=743567
19538           https://bugzilla.gnome.org/show_bug.cgi?id=743035
19539
19540 2015-01-21 18:31:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19541
19542         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
19543         * patches/videoparsers/series.frag:
19544           h264parse: drop patches merged upstream.
19545           0003-h264parse-add-initial-support-for-MVC-NAL-units.patch
19546
19547 2015-01-21 18:26:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19548
19549         * ext/codecparsers:
19550           codecparsers: update to gst-vaapi-branch commit d3b5c1b
19551           8194cac: h264parse: parse SPS subset
19552           64b7f52: h264parse: expose stereo-high profile
19553           774360a: h264parse: add initial support for MVC NAL units
19554           258478f: h264parser: fix stack smashing
19555
19556 2015-01-19 11:30:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19557
19558         * gst/vaapi/gstvaapivideometa_texture.c:
19559           Fix compilation error if there is no GL/gl.h header file installed
19560
19561 2015-01-15 16:23:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19562
19563         * gst/vaapi/gstvaapidecode.c:
19564           vaapidecode: commit updated srcpad caps to base plugin.
19565           Make sure that the GstVaapiPluginBase instance receives the new src
19566           pad caps whenever they get updated from within the GstVaapiDecoder
19567           decode routines.
19568           This also ensures that downstream elements receive correctly sized
19569           SW decoded buffers if needed.
19570           https://bugs.tizen.org/jira/browse/TC-114
19571
19572 2015-01-15 16:19:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19573
19574         * gst/vaapi/gstvaapidecode.c:
19575           vaapidecode: always reset decoder on ::set_format().
19576           Split GstVideoDecoder::set_format() handler to first update the sink
19577           pad caps and reset the active VA decoder instance based on those, and
19578           then update the src pad caps whenever possible, e.g. when the caps
19579           specify a valid video resolution.
19580
19581 2015-01-15 16:14:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19582
19583         * gst/vaapi/gstvaapivideomemory.c:
19584           vaapivideomemory: don't crash when trying to allocate 0x0 images.
19585           In some occasions, a buffer pool is created for pre-initialization
19586           purposes regardless of whether a valid image size is available or
19587           not. However, during actual decode stage, the vaapidecode element
19588           is expected to update the srcpad caps with the new dimensions, thus
19589           also triggering a reset of the underlying bufferpool.
19590
19591 2015-01-15 00:00:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19592
19593         * ext/codecparsers:
19594           codecparsers: update to gst-vaapi-branch commit 191cb2f
19595           347605a: h264parse: expose compatible profiles to downstream
19596           d1ea97e: h264parse: Fix periodic SPS/PPS sending work after a seek
19597           24a3126: Revert "h264parse: expose compatible profiles to downstream"
19598           8661740: h264parse: expose compatible profiles to downstream
19599           8b7ef3f: codecparsers: fix some compiler warnings
19600
19601 2014-11-27 12:11:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19602
19603         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19604           encoder: h264: Fix the period between I/P frames
19605           If the key-frame period is set as one, then ip_period shuld be zero
19606           https://bugzilla.gnome.org/show_bug.cgi?id=734992
19607
19608 2014-11-27 11:21:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19609
19610         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19611           encoder: h264: Provide intra_idr_period value for VAEncSequenceParameterBufferH264
19612           https://bugzilla.gnome.org/show_bug.cgi?id=734993
19613
19614 2014-11-27 11:14:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19615
19616         * gst/vaapi/gstvaapisink.c:
19617           vaapisink: Protect the X11 API invokations with proper locking
19618           https://bugzilla.gnome.org/show_bug.cgi?id=739808
19619
19620 2014-11-27 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19621
19622         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19623           encoder: h264: fix pixel-aspect-ratio in encoded stream.
19624           Really report sample aspect ratio (SAR) as present, and make it match
19625           what we have obtained from the user as pixel-aspect-ratio (PAR). i.e.
19626           really make sure VUI parameter aspect_ratio_info_present_flag is set
19627           to TRUE and that the indication from aspect_ratio_idc is Extended_SAR.
19628           This is a leftover from git commit a12662f.
19629           https://bugzilla.gnome.org/show_bug.cgi?id=740360
19630
19631 2014-11-25 11:46:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19632
19633         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19634           decoder: mpeg4: fix uninitialized variables.
19635           Fix gst_vaapi_decoder_mpeg4_parse() to initialize the packet type to
19636           GST_MPEG4_USER_DATA so that a parse error would result in skipping
19637           that packet. Also fix gst_vaapi_decoder_mpeg4_decode_codec_data() to
19638           initialize status to GST_VAAPI_DECODER_STATUS_SUCCESS.
19639
19640 2014-11-25 11:41:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19641
19642         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19643           encoder: h264: fix profile limits.
19644           Fix ensure_profile_limits() to lower profile to the desired limits,
19645           only if the latter are actually known and the profile needed to be
19646           changed to fit.
19647
19648 2014-11-24 15:14:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19649
19650         * gst/vaapi/gstvaapipostproc.c:
19651           vaapipostproc: fix out caps for GLMemory.
19652           If the best downstream capsfeature turns out to be GLMemory, then make
19653           sure to propagate RGBA video format in caps to that element. This fixes
19654           the following pipeline: ... ! vaapipostproc ! glimagesink.
19655
19656 2014-11-24 14:25:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19657
19658         * gst/vaapi/gstvaapipostproc.c:
19659           vaapipostproc: fix check for compatible src pad capsfilters.
19660           When an explicit output video format is selected, from an src pad
19661           capsfilter, make sure that the downstream element actually supports
19662           that format. In particular, fix crash with the following pipelines:
19663           ... ! vaapipostproc ! video/x-raw,format=XXX ! xvimagesink ; where
19664           XXX is a format not supported by xvimagesink.
19665           While doing so, also reduce the set of src pad filter caps to the
19666           actual set of allowed src pad caps.
19667
19668 2014-11-24 14:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19669
19670         * gst/vaapi/gstvaapipostproc.c:
19671         * gst/vaapi/gstvaapipostproc.h:
19672         * gst/vaapi/gstvaapiuploader.c:
19673         * gst/vaapi/gstvaapiuploader.h:
19674           plugins: re-indent all video processing related source code.
19675
19676 2014-11-24 13:20:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19677
19678         * gst/vaapi/gstvaapivideomemory.c:
19679           plugins: further fixes to the new "current" storage tracker.
19680           The ensure_surface() and ensure_image() functions shall only relate
19681           to the underlying backing store. The actual current flags are to be
19682           updated only through ensure_{surface,image}_is_current() or very other
19683           particular cases in GstMemory hooks.
19684
19685 2014-11-21 15:43:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19686
19687         * gst/vaapi/gstvaapivideomemory.c:
19688           plugins: fix "current" video memory flags.
19689           If the surface proxy is updated into the GstVaapiVideoMemory, then
19690           it is assumed it is the most current representation of the current
19691           video frame. Likewise, make a few more arrangements to have the
19692           "current " flags set more consistently.
19693
19694 2014-11-21 15:23:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19695
19696         * gst/vaapi/gstvaapivideomemory.c:
19697         * gst/vaapi/gstvaapivideomemory.h:
19698         * gst/vaapi/gstvaapivideometa.c:
19699           plugins: ensure VA surface is current prior to using it.
19700           When interacting with SW elements, the buffers and underlying video
19701           memory could be mapped as read/write. However, we need to use those
19702           buffers again as plain VA surfaces, we have to make sure the VA image
19703           is thus committed back to VA surface memory.
19704           This fixes pipelines involving avdec_* and vaapi{postproc,sink}.
19705
19706 2013-07-12 06:34:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19707
19708         * gst/vaapi/gstvaapivideomemory.c:
19709           plugins: enable memory maps for read & write.
19710           Hence vaapisink can display buffers decoded by gst-libav, or HW decoded
19711           buffers can be further processed in-place, e.g. with a textoverlay.
19712           https://bugzilla.gnome.org/show_bug.cgi?id=704078
19713           [ported to current git master branch, amended commit message]
19714           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19715
19716 2014-11-18 14:57:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19717
19718         * gst/vaapi/gstvaapidecode.c:
19719         * gst/vaapi/gstvaapipluginutil.c:
19720         * gst/vaapi/gstvaapipluginutil.h:
19721         * gst/vaapi/gstvaapipostproc.c:
19722           plugins: preserve framerate when updating src caps video format.
19723           In the current implementation, gst_video_info_set_format() would reset
19724           the whole GstVideoInfo structure first, prior to setting video format
19725           and size. So, coleteral information like framerate or pixel-aspect-
19726           ratio are lost.
19727           Provide and use a unique gst_video_info_change_format() for overcome
19728           this issue, i.e. only have it change the format and video size, and
19729           copy over the rest of the fields.
19730           https://bugzilla.gnome.org/show_bug.cgi?id=734665
19731
19732 2014-11-18 14:07:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19733
19734         * gst/vaapi/gstvaapi.c:
19735           vaapidecode: increase the rank to GST_RANK_PRIMARY + 1
19736           This is for helping decodebin to autoplug the vaapidecode element.
19737           Decodebin is selecting decoder elements only based on rank and caps.
19738           Without overriding the autoplug-* signals there is no way to autoplug
19739           HW decoders inside decodebin. An easier soulution is to raise the
19740           rank of vaapidecode, so that it gets selected first.
19741           https://bugzilla.gnome.org/show_bug.cgi?id=739332
19742
19743 2014-11-12 07:46:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19744
19745         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19746         * gst/vaapi/gstvaapidecode.c:
19747           vaapidecode: only expose supported profiles when needed.
19748           JPEG and VP8 codecs do not really support the concept of "profile". So,
19749           don't try to expose any set that wouldn't be supported by jpegparse, or
19750           ivfparse for instance.
19751           https://bugzilla.gnome.org/show_bug.cgi?id=739713
19752           https://bugzilla.gnome.org/show_bug.cgi?id=739714
19753
19754 2014-11-13 15:13:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19755
19756         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19757         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19758         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
19759         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19760           decoder: h264: add initial support for repeat-first-field (RFF) flag.
19761           Use the SEI pic_timing() message to track and propagate down the repeat
19762           first field (RFF) flag. This is only initial support as there is one
19763           other condition that could induce the RFF flag, which is not handled
19764           yet.
19765
19766 2014-11-13 15:05:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19767
19768         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19769           decoder: h264: fix picture ordering count type 0 with previous MMCO5.
19770           Fix the decoding process for picture order count type 0 when the previous
19771           picture had a memory_management_control_operation = 5. In particular, fix
19772           the actual variable type for prev_pic_structure to hold the full bits of
19773           the picture structure.
19774           In practice, this used to work though, due to the underlying type used to
19775           express a gboolean.
19776
19777 2014-11-13 15:00:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19778
19779         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19780           decoder: h264: fix detection of top-field-first (TFF) flag.
19781           Use the SEI pic_timing() message to track the pic_struct variable when
19782           present, or infer it from the regular slice header flags field_pic_flag
19783           and bottom_field_flag. This fixes temporal sequence ordering when the
19784           output pictures are to be displayed.
19785           https://bugzilla.gnome.org/show_bug.cgi?id=739291
19786
19787 2014-11-14 09:54:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19788
19789         * ext/codecparsers:
19790           codecparsers: update to gst-vaapi-branch commit 3d05d9f.
19791           1241840 h264: fix derivation of MaxPicNum variable
19792           3bd718e h264: fix GstH264ParserResult documentation typo
19793           b021609 h264parse: set the HEADER flag on buffers containing SPS or PPS
19794           b08e4be h264parse: don't unnecesarily set src_caps
19795
19796 2014-11-03 19:20:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19797
19798         * gst/vaapi/gstvaapipostproc.c:
19799           vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass
19800           Added the same Klass specifications used in other upstream
19801           video postprocessing elements like videoconvert, videoscale,
19802           videobalance and deinterlace.
19803           An example use case is for this is to help the playsink
19804           to autoplug the hardware accelerated deinterlacer.
19805
19806 2014-11-03 19:19:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19807
19808         * gst/vaapi/gstvaapipostproc.c:
19809           vaapipostproc: Tweak the output video format setting to enable the autoplugging
19810           This is a workaround until auto-plugging is fixed when
19811           format=ENCODED + memory:VASurface caps feature are provided.
19812           Use the downstream negotiated video format as the output video format
19813           if the user didn't ask for the colorspace conversion explicitly.
19814           Usecase: This will help to connect elements like videoscale, videorate etc
19815           to vaapipostproc.
19816           https://bugzilla.gnome.org/show_bug.cgi?id=739443
19817
19818 2014-10-29 17:30:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19819
19820         * gst/vaapi/gstvaapipostproc.c:
19821         * gst/vaapi/gstvaapipostproc.h:
19822           vaapipostproc: allow user defined scaling mode.
19823           Add new "scale-method" property to expose the scaling mode to use during
19824           video processing. Note that this is only a hint, and the actual behaviour
19825           may differ from implementation (VA driver) to implementation.
19826
19827 2014-10-29 16:57:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19828
19829         * gst-libs/gst/vaapi/gstvaapifilter.c:
19830         * gst-libs/gst/vaapi/gstvaapifilter.h:
19831         * gst-libs/gst/vaapi/gstvaapiutils.c:
19832         * gst-libs/gst/vaapi/gstvaapiutils.h:
19833           filter: add initial support for high quality scaling.
19834           Add support for video scaling options in VPP pipelines. Only the
19835           DEFAULT mode is bound to exist. Others might be folded into that
19836           mode.
19837
19838 2014-10-29 16:35:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19839
19840         * gst-libs/gst/vaapi/gstvaapifilter.c:
19841         * gst-libs/gst/vaapi/gstvaapifilter.h:
19842           filter: re-indent all GstVaapiFilter related source code.
19843
19844 2014-10-29 15:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19845
19846         * ext/codecparsers:
19847           codecparsers: update to gst-vaapi-branch commit f9d3bde.
19848           2218b02 h264parse: expose parsed profile and level to downstream
19849           3dbfab4 h264parse: return flushing if we get chained while being set to READY
19850           d40fa8b h264: fix frame packing SEI parsing
19851           32d40be h264: Use proper bit_reader api while parsing buffering_period SEI
19852           b3e022e h264: initialize some fields of pic_timing structure
19853           a70661d vc1: fix expected level in sequence-layer parsing unit test
19854           6cee88d vc1: fix level values for simple/main profile
19855           356c189 vc1: add unit test for sequence-layer parsing
19856           ab9f641 vc1: take care of endianness when parsing sequence-layer
19857           8dc8e35 mpeg4: fix vlc table used for sprite trajectory
19858
19859 2014-10-29 15:46:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19860
19861         * gst/vaapi/gstvaapidecode.c:
19862           vaapidecode: Expose the supported profiles as caps to upstream
19863           This will allows the playbin to fallback to Software Decoder
19864           if the Hardware Decoder does not support a particular profile.
19865           https://bugzilla.gnome.org/show_bug.cgi?id=730997
19866
19867 2014-10-29 15:46:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19868
19869         * gst/vaapi/gstvaapiencode.c:
19870         * gst/vaapi/gstvaapiencode.h:
19871         * gst/vaapi/gstvaapiencode_h264.c:
19872           encode: Attach the codec-data to out caps only based on negotiated caps
19873           Attach the codec_data to out_caps only if downstream needed.
19874           For eg: h264 encoder doesn't need to stuff codec_data to the
19875           src caps if the negotiated caps has a stream format of byte-stream.
19876           https://bugzilla.gnome.org/show_bug.cgi?id=734902
19877
19878 2014-10-29 15:45:44 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19879
19880         * configure.ac:
19881           configure: echoing installation prefix path
19882
19883 2014-09-24 10:14:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19884
19885         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19886           display: add support for DRM Render-Nodes.
19887           Add support for DRM Render-Nodes. This is a new feature that appeared
19888           in kernel 3.12 for experimentation purposes, but was later declared
19889           stable enough in kernel 3.15 for getting enabled by default.
19890           This allows headless usages without authentication at all, i.e. usages
19891           through plain ssh connections is possible.
19892
19893 2014-09-24 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19894
19895         * gst/vaapi/gstvaapisink.c:
19896           vaapisink: clean-ups (indentation, drop unused variables).
19897
19898 2014-09-24 13:39:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19899
19900         * configure.ac:
19901         * gst/vaapi/gstvaapisink.c:
19902           vaapisink: fix GstNavigation "key-press" / "key-release" events.
19903           Fix arguments to XkbKeycodeToKeysym() for converting an X11 keycode
19904           to a KeySym. In particular, there is no such Window argument. Also
19905           make sure to check for, and use, the correct <X11/XKBlib.h> header
19906           where that new function is defined. Otherwise, default to the older
19907           XKeycodeToKeysym() function.
19908
19909 2014-09-24 13:23:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19910
19911         * gst/vaapi/gstvaapisink.c:
19912           vaapisink: fix GstNavigation "mouse-move" event.
19913           Really use the motion event coordinates to propagate the "mouse-move"
19914           event to upper layer, instead of those from a button event. Those are
19915           technically the same though.
19916
19917 2014-09-16 14:25:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19918
19919         * gst/vaapi/gstvaapisink.c:
19920           vaapisink: implement the GstNavigation interface
19921           This is useful for things like DVD menus, where key/mouse events
19922           would need to be forwarded from the upstream sink element.
19923           https://bugzilla.gnome.org/show_bug.cgi?id=711479
19924
19925 2014-03-13 18:38:33 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19926
19927         * gst/vaapi/gstvaapipluginbase.c:
19928           vaapipostproc: fix deinterlacing from non VA memory buffers.
19929           When we copy a buffer because we're moving it into VA-API memory, we
19930           need to copy flags. Otherwise, interlaced YUV buffers from a capture
19931           source (e.g. V4L2) don't get flagged as interlaced.
19932           https://bugzilla.gnome.org/show_bug.cgi?id=726270
19933           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19934           [reversed order of gst_buffer_copy_into() flags to match <1.0 code]
19935           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19936
19937 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19938
19939         * gst/vaapi/gstvaapipostproc.c:
19940           vaapipostproc: add support for GLTextureUploadMeta output.
19941           This allows for vaapipostproc to be chained to the glimagesink element
19942           for instance.
19943           https://bugzilla.gnome.org/show_bug.cgi?id=735231
19944
19945 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19946
19947         * gst/vaapi/gstvaapipluginutil.c:
19948         * gst/vaapi/gstvaapipluginutil.h:
19949         * gst/vaapi/gstvaapipostproc.c:
19950           vaapipostproc: add support for "download" capability.
19951           Allow implicit conversions to raw video formats, while still keeping
19952           VA surfaces underneath. This allows for chaining the vaapipostproc
19953           element to a software-only element that takes care of maps/unmaps.
19954           e.g. xvimagesink.
19955           https://bugzilla.gnome.org/show_bug.cgi?id=720174
19956
19957 2014-08-22 18:10:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19958
19959         * gst/vaapi/gstvaapipostproc.c:
19960         * gst/vaapi/gstvaapipostproc.h:
19961           vaapipostproc: use pooled vaapi video meta.
19962           Use pooled GstVaapiVideoMeta information, i.e. always allocate that on
19963           video buffer allocation. Also optimize copy of additional metadata info
19964           into the resulting video buffer: only copy the video cropping info and
19965           the source surface proxy.
19966           https://bugzilla.gnome.org/show_bug.cgi?id=720311
19967           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19968           [fixed proxy leak, fixed double free on error, optimized meta copy]
19969           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19970
19971 2014-08-22 15:17:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19972
19973         * gst/vaapi/gstvaapipostproc.c:
19974           vaapipostproc: fix passthrough mode.
19975           If no explicit output surface format is supplied try to keep the one
19976           supplied through the sink pad caps. This avoids a useless copy, even
19977           if things are kept in GPU memory.
19978           This is a performance regression from git commit dfa70b9.
19979
19980 2014-07-05 21:00:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19981
19982         * gst/vaapi/gstvaapipostproc.c:
19983         * gst/vaapi/gstvaapipostproc.h:
19984           vaapipostproc: fix output buffer to have a GstVaapiVideoMemory.
19985           https://bugzilla.gnome.org/show_bug.cgi?id=720311
19986           [used new infrastructure through base decide_allocation() impl]
19987           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19988
19989 2014-08-22 11:13:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19990
19991         * gst/vaapi/gstvaapipostproc.c:
19992           vaapipostproc: enable advanced deinterlacing with same format.
19993           If only advanced deinterlacing is requested, i.e. deinterlacing is
19994           the only active algorithm to apply with source and output surface
19995           formats being the same, then make sure to enable VPP processing.
19996           Otherwise, allow fallback to bob-deinterlacing with simple rendering
19997           flags alteration.
19998
19999 2014-08-21 15:04:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20000
20001         * gst/vaapi/gstvaapivideomemory.c:
20002           vaapivideomemory: avoid NULL pointer unref if GstVaapiImage creation failed.
20003           https://bugzilla.gnome.org/show_bug.cgi?id=735156
20004
20005 2014-08-22 13:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20006
20007         * gst/vaapi/gstvaapipluginbase.c:
20008         * gst/vaapi/gstvaapipluginutil.c:
20009           plugins: fix memory leaks.
20010
20011 2014-08-21 14:10:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20012
20013         * gst/vaapi/gstvaapidecode.c:
20014         * gst/vaapi/gstvaapipluginbase.c:
20015         * gst/vaapi/gstvaapipluginbase.h:
20016           plugins: factor out decide_allocation() hook.
20017           Add a default decide_allocation() hook to GstVaapiPluginBase. The caps
20018           feature argument can be used to force a bufferpool with a specific kind
20019           of memory.
20020
20021 2014-08-21 11:12:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20022
20023         * gst/vaapi/gstvaapivideobufferpool.c:
20024         * gst/vaapi/gstvaapivideobufferpool.h:
20025         * gst/vaapi/gstvaapivideomemory.c:
20026           plugins: allow bufferpool to not allocate vaapi video meta.
20027           Add GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC params flag that
20028           can be used to disable early allocations of vaapi video metas on buffers,
20029           thus delagating that to the bufferpool user.
20030
20031 2014-08-21 10:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20032
20033         * gst/vaapi/gstvaapivideobuffer.c:
20034         * gst/vaapi/gstvaapivideobuffer.h:
20035         * gst/vaapi/gstvaapivideobufferpool.c:
20036         * gst/vaapi/gstvaapivideobufferpool.h:
20037         * gst/vaapi/gstvaapivideocontext.c:
20038         * gst/vaapi/gstvaapivideocontext.h:
20039         * gst/vaapi/gstvaapivideoconverter_glx.c:
20040         * gst/vaapi/gstvaapivideoconverter_glx.h:
20041         * gst/vaapi/gstvaapivideoconverter_x11.c:
20042         * gst/vaapi/gstvaapivideoconverter_x11.h:
20043         * gst/vaapi/gstvaapivideomemory.c:
20044         * gst/vaapi/gstvaapivideomemory.h:
20045         * gst/vaapi/gstvaapivideometa.c:
20046         * gst/vaapi/gstvaapivideometa.h:
20047         * gst/vaapi/gstvaapivideometa_texture.c:
20048         * gst/vaapi/gstvaapivideometa_texture.h:
20049           plugins: re-indent all GstVaapiVideo* related source code.
20050
20051 2014-08-22 15:12:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20052
20053         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20054           surfaceproxy: fix copy to propagate view_id.
20055           Fix gst_vaapi_surface_proxy_copy() to copy the view-id element, thus
20056           fixing random frames skipped when vaapipostproc element is used in
20057           passthrough mode. In that mode, GstMemory is copied, thus including
20058           the underlying GstVaapiVideoMeta and associated GstVaapiSurfaceProxy.
20059
20060 2014-08-20 16:38:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20061
20062         * gst/vaapi/gstvaapipostproc.c:
20063           vaapipostproc: fix detection of output surface format changes.
20064           Default to I420 format for output surfaces so that to match the usual
20065           GStreamer pipelines. Though, internally, we could still opt for NV12
20066           surface formats, i.e. default format=ENCODED is a hint for that, thus
20067           delegating the decision to the VA driver.
20068
20069 2014-08-20 10:59:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20070
20071         * gst/vaapi/gstvaapipostproc.c:
20072           vaapipostproc: fix construction of allowed sink pad caps.
20073           Fix construction of the set of caps allowed on the sink pad to filter
20074           out unsupported raw video caps with GStreamer >= 1.2.
20075
20076 2014-08-20 10:37:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20077
20078         * gst/vaapi/gstvaapipostproc.c:
20079         * gst/vaapi/gstvaapipostproc.h:
20080           vaapipostproc: improve heuristics for detecting native VA surfaces.
20081           Use the new gst_caps_has_vaapi_surface() helper function to detect
20082           whether the sink pad caps contain native VA surfaces, or not, i.e.
20083           no raw video caps.
20084           Also rename is_raw_yuv to get_va_surfaces to make the variable more
20085           explicit as we just want a way to differentiate raw video caps from
20086           VA surfaces actually.
20087
20088 2014-08-12 18:33:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20089
20090         * gst/vaapi/gstvaapipostproc.c:
20091           vaapipostproc: disable discontinuity detection code.
20092           The "discontinuity" tracking code, whereby lost frames are tentatively
20093           detected, is inoperant if the sink pad buffer timestamps are not right
20094           to begin with.
20095           This is a temporary workaround until the following bug is fixed:
20096           https://bugzilla.gnome.org/show_bug.cgi?id=734386
20097
20098 2014-08-07 14:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20099
20100         * gst/vaapi/gstvaapipostproc.c:
20101           vaapipostproc: fix heuristic for detecting discontinuity.
20102           In order to make the discontinuity detection code useful, we need to
20103           detect the lost frames in the history as early as the previous frame.
20104           This is because some VA implementations only support one reference
20105           frame for advanced deinterlacing.
20106           In practice, turn the condition for detecting new frame that is beyond
20107           the previous frame from field_duration*2 to field_duration*3, i.e.
20108           nothing received for the past frame and a half because of possible
20109           rounding errors when calculating the field-duration either in this
20110           element (vaapipostproc), or from the upstream element (parser element).
20111           This is a regression introduced with commit faefd62.
20112           https://bugzilla.gnome.org/show_bug.cgi?id=734135
20113
20114 2014-08-20 11:43:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20115
20116         * gst/vaapi/gstvaapipluginbase.c:
20117         * gst/vaapi/gstvaapipluginbase.h:
20118           plugins: fix detection of raw video caps.
20119           Use the new gst_caps_has_vaapi_surface() helper function to better
20120           detect raw video caps, and in particular those from RGB colorspace.
20121           https://bugzilla.gnome.org/show_bug.cgi?id=734665
20122
20123 2014-08-20 11:30:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20124
20125         * gst/vaapi/gstvaapipluginutil.c:
20126         * gst/vaapi/gstvaapipluginutil.h:
20127           plugins: add helper for detecting VA surfaces in caps.
20128           Introduce new gst_caps_has_vaapi_surface() helper function to detect
20129           whether the supplied caps has VA surfaces. With GStreamer >= 1.2, this
20130           implies a check for memory:VASurface caps features, and format=ENCODED
20131           for earlier versions of GStreamer.
20132
20133 2014-08-12 13:01:57 +0300  Sebastian Dröge <sebastian@centricular.com>
20134
20135         * gst/vaapi/gstvaapidecode.c:
20136           vaapidecode: start the decoder task again after finishing
20137           This allows the element to accept data again after draining without
20138           a hard reset or caps change happening in between.
20139           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20140
20141 2014-08-12 13:00:03 +0300  Sebastian Dröge <sebastian@centricular.com>
20142
20143         * gst/vaapi/gstvaapidecode.c:
20144           vaapidecode: unlock condition variables before shutting down the element
20145           Otherwise threads might wait for them, causing the shutdown of the element
20146           to deadlock on the streaming thread.
20147           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20148
20149 2014-08-11 17:15:24 +0300  Sebastian Dröge <sebastian@centricular.com>
20150
20151         * gst/vaapi/gstvaapidecode.c:
20152           vaapidecode: reset decoder_finish variable after stopping the decoder thread
20153           Otherwise the element is not usable again after draining/EOS.
20154           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20155
20156 2014-08-11 17:14:53 +0300  Sebastian Dröge <sebastian@centricular.com>
20157
20158         * gst/vaapi/gstvaapidecode.c:
20159           vaapidecode: don't try flushing the decoder instance if we didn't create one yet
20160           This otherwise results in unnecessary error messages.
20161           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20162
20163 2014-08-01 06:32:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20164
20165         * gst-libs/gst/vaapi/Makefile.am:
20166         * gst/vaapi/Makefile.am:
20167           build: fix with --no-undefined linker flags.
20168           https://bugzilla.gnome.org/show_bug.cgi?id=729352
20169
20170 2014-01-23 15:44:09 +0000  Changzhi Wei <changzhix.wei@intel.com>
20171
20172         * gst/vaapi/gstvaapisink.c:
20173         * gst/vaapi/gstvaapisink.h:
20174           vaapisink: add support for GstColorBalance interface.
20175           https://bugzilla.gnome.org/show_bug.cgi?id=722390
20176           [fixed channel names, simplified range factor, fixed memory leak]
20177           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20178
20179 2014-01-23 15:23:00 +0000  Changzhi Wei <changzhix.wei@intel.com>
20180
20181         * gst/vaapi/gstvaapisink.c:
20182         * gst/vaapi/gstvaapisink.h:
20183           vaapisink: add support for colorbalance adjustment.
20184           https://bugzilla.gnome.org/show_bug.cgi?id=722390
20185           [fixed and simplified tracking of colorbalance value changes]
20186           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20187
20188 2014-07-31 13:18:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20189
20190         * gst/vaapi/gstvaapisink.c:
20191           vaapisink: improve installation of properties.
20192           Simplify the creation and installation process of properties, by first
20193           accumulating them into a g_properties[] array, and next calling into
20194           g_object_class_install_properties().
20195           Also add missing docs and flags to some properties.
20196
20197 2014-07-31 10:48:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20198
20199         * gst/vaapi/gstvaapisink.c:
20200         * gst/vaapi/gstvaapisink.h:
20201           vaapisink: code clean-ups.
20202           Move code around in a more logical way. Introduce GST_VAAPISINK_CAST()
20203           helper macro and use it wherever we know the object is a GstBaseSink or
20204           any base class. Drop explicit initializers for values that have defaults
20205           set to zero.
20206
20207 2014-07-31 10:37:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20208
20209         * gst/vaapi/gstvaapisink.c:
20210         * gst/vaapi/gstvaapisink.h:
20211           vaapisink: re-indent all GstVaapiSink related source code.
20212
20213 2014-07-30 17:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20214
20215         * gst/vaapi/gstvaapisink.c:
20216         * gst/vaapi/gstvaapisink.h:
20217           vaapisink: introduce separate backends.
20218           Introduce new backends vtable so that to have clean separation between
20219           display dependent code and common base code. That's a "soft" separation,
20220           we don't really need dedicated objects.
20221           https://bugzilla.gnome.org/show_bug.cgi?id=722248
20222
20223 2014-07-30 16:47:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20224
20225         * gst/vaapi/gstvaapisink.c:
20226         * gst/vaapi/gstvaapisink.h:
20227           vaapisink: drop unused "synchronous" mode.
20228           Support for X11 "synchronous" mode was never implemented, and was only
20229           to be useful for debugging. Drop that altogether, that's not going to
20230           be useful in practice.
20231           https://bugzilla.gnome.org/show_bug.cgi?id=733985
20232
20233 2014-07-30 17:32:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20234
20235         * gst/vaapi/gstvaapisink.c:
20236         * gst/vaapi/gstvaapisink.h:
20237           vaapisink: drop unused variables.
20238           Drop obsolete, and now unused, video_buffer_pool and video_buffer_size
20239           variables. They got merged into the GstVaapiPluginBase object.
20240
20241 2014-07-30 16:35:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20242
20243         * gst/vaapi/gstvaapisink.c:
20244         * gst/vaapi/gstvaapisink.h:
20245           vaapisink: drop GLX rendering and fancy effects.
20246           Rendering with GLX in vaapisink is kind of useless nowadays, including
20247           OpenGL related fancy effects. Plain VA/GLX interfaces are also getting
20248           deprecated in favor of EGL, or more direct buffer sharing with actual
20249           GL textures.
20250           Should testing of interop with GLX be needed, one could still be using
20251           the modern cluttersink or glimagesink elements.
20252           https://bugzilla.gnome.org/show_bug.cgi?id=733984
20253
20254 2013-11-05 14:01:11 +0100  Holger Kaelberer <hk@getslash.de>
20255
20256         * gst/vaapi/gstvaapisink.c:
20257         * gst/vaapi/gstvaapisink.h:
20258           vaapisink: listen to window size changes on X11.
20259           Allow dynamic changes to the window, e.g. performed by the user, and
20260           make sure to refresh its contents, while preserving aspect ratio.
20261           In practice, Expose and ConfigureNotify events are tracked in X11
20262           display mode by default. This occurs in a separte event thread, and
20263           this is similar to what xvimagesink does. Any of those events will
20264           trigger a reconfiguration of the window "soft" size, subsequently
20265           the render-rect when necessary, and finally _expose() the result.
20266           The default of handle_events=true can be changed programatically via
20267           gst_x_overlay_handle_events().
20268           Thanks to Fabrice Bellet for rebasing the patch.
20269           https://bugzilla.gnome.org/show_bug.cgi?id=711478
20270           [dropped XInitThreads(), cleaned up the code a little]
20271           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20272
20273 2014-07-29 15:47:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20274
20275         * gst/vaapi/gstvaapidecode.c:
20276           vaapidecode: decode and output all pending frames on normal EOS.
20277           The gst_vaapidecode_decode_loop() function is called within a separate
20278           task to fetch and output all frames that were decoded so far. So, if
20279           the decoder_loop_status is forcibly set to EOS when _finish() is called,
20280           then we are bound to exist the task without submitting the pending
20281           frames.
20282           If the downstream element error'ed out, then the gst_pad_push() would
20283           propagate up an error and so we will get it right for cutting off
20284           _finish() early in that case.
20285           This is a regression from 6003596.
20286           https://bugzilla.gnome.org/show_bug.cgi?id=733897
20287
20288 2014-07-29 13:24:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20289
20290         * configure.ac:
20291           Bump version for development.
20292
20293 2014-07-29 10:31:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20294
20295         * AUTHORS:
20296           AUTHORS: updates.
20297
20298 2014-07-29 10:31:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20299
20300         * NEWS:
20301           NEWS: updates.
20302
20303 2014-07-29 16:22:01 +1000  Matthew Waters <ystreet00@gmail.com>
20304
20305         * gst/vaapi/gstvaapidecode.c:
20306           vaapidecode: properly return from decode loop on downstream errors.
20307           Fixes a hang/race on shutdown where _decode_loop() had already completed
20308           its execution and _finish() was waiting on a GCond for decode_loop()
20309           to complete.  Also fixes the possible race where _finish() is called
20310           but _decode_loop() endlessly returns before signalling completion
20311           iff the decoder instance returns GST_FLOW_OK.
20312           Found with: ... ! vaapidecode ! {glimagesink,cluttersink}
20313           https://bugzilla.gnome.org/show_bug.cgi?id=733897
20314           [factored out GST_VIDEO_DECODER_STREAM_UNLOCK() call]
20315           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20316
20317 2014-07-28 18:45:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20318
20319         * NEWS:
20320         * configure.ac:
20321           0.5.9.
20322
20323 2014-07-28 18:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20324
20325         * gst/vaapi/gstvaapisink.c:
20326           vaapisink: fix GstVideoOverlay::expose() implementation.
20327           Now that we always track the currently active video buffer, it is
20328           not necessary to automatically increase its reference since this is
20329           implicitly performed in ::show_frame() through the get_input_buffer()
20330           helper from GstVaapiPluginBase class.
20331           This is a regression from a26df80.
20332
20333 2014-07-28 18:00:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20334
20335         * gst/vaapi/gstvaapidecode.c:
20336         * gst/vaapi/gstvaapipluginutil.c:
20337           vaapidecode: simplify bufferpool configuration.
20338           Rework the logics behind the configuration of an adequate bufferpool,
20339           especially when OpenGL meta or additional capsfeatures are needed.
20340           Besides, for GStreamer >= 1.4, the first capsfeatures that gets matched,
20341           and that is not system memory, is now selected by default.
20342
20343 2014-07-28 16:43:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20344
20345         * gst/vaapi/gstvaapidecode.c:
20346           vaapidecode: fix auto-plugging of vaapisink element.
20347           Make sure to propagate memory:VASurface capsfeature to srcpad caps
20348           only for GStreamer >= 1.5 as the plug-in elements in GStreamer 1.4
20349           core currently miss additional patches available in 1.5-git (1.6).
20350           This is a temporary workaround.
20351
20352 2014-07-28 15:54:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20353
20354         * configure.ac:
20355           configure: allow builds against GStreamer git (1.5.x).
20356           https://bugzilla.gnome.org/show_bug.cgi?id=733688
20357
20358 2014-07-28 14:20:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20359
20360         * configure.ac:
20361           configure: fix build with GStreamer 1.4.0 release.
20362
20363 2014-03-04 19:40:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20364
20365         * configure.ac:
20366         * debian.upstream/Makefile.am:
20367         * debian.upstream/control.in:
20368           debian: fix packaging for new naming scheme.
20369
20370 2014-07-28 11:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20371
20372         * NEWS:
20373           NEWS: updates.
20374
20375 2014-07-28 11:39:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20376
20377         * configure.ac:
20378           configure: mark support for GStreamer < 1.2 as deprecated.
20379           Supporting anything thing below GStreamer 1.2 is asking for trouble
20380           for keeping up with the required facilities to make efficient pipelines.
20381           Users are invited to upgrade to the very latest GStreamer 1.2.x release,
20382           at the minimum.
20383
20384 2014-07-28 11:35:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20385
20386         * configure.ac:
20387           configure: mark support for GStreamer 0.10 as obsolete.
20388           Support for GStreamer 0.10 is obsolete. i.e. it is no longer supported
20389           and may actually be removed altogether for a future release. There is
20390           no real point to maintain a build for such an ancient GStreamer version
20391           that is not even supported upstream.
20392
20393 2014-07-28 10:25:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20394
20395         * gst/vaapi/gstvaapisink.c:
20396         * gst/vaapi/gstvaapisink.h:
20397           vaapisink: allow a specific view component to be displayed.
20398           If a multiview stream is decoded, multiple view components are submitted
20399           as is downstream. It is the responsibility of the sink element to display
20400           the required view components. By default, always select the frame buffer
20401           that matches the view-id of the very first frame to be displayed.
20402           However, introduce a "view-id" property to allow the selection of a
20403           specific view component of interest to display.
20404
20405 2014-07-28 10:09:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20406
20407         * gst/vaapi/gstvaapisink.c:
20408           vaapisink: always keep the last displayed buffer around.
20409           Always record the VA surface that is currently being rendered, no matter
20410           the fact we are using texturedblit or overlay. That's because in some
20411           occasions, we need to refresh or resize the displayed contents based on
20412           new events. e.g. user-resized window.
20413           Besides, it's simpler to track the last video buffer in GstVaapiSink than
20414           through the base sink "last-sample".
20415
20416 2014-07-25 11:13:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20417
20418         * gst/vaapi/gstvaapipluginbase.c:
20419         * gst/vaapi/gstvaapipluginbase.h:
20420         * gst/vaapi/gstvaapipluginutil.c:
20421         * gst/vaapi/gstvaapisink.c:
20422           vaapisink: add support for "display-name" property.
20423           Add a "display-name" property to vaapisink so that the end user could
20424           select the desired output. Keep "display-name" in-line with the existing
20425           "display" (GstVaapiDisplayXXX type).
20426           So, for X11 or GLX, the "display-name" is the usual display name as we
20427           know for XOpenDisplay(); for Wayland, the "display-name" is the name used
20428           for wl_display_connect(); and for DRM, the "display-name" is actually the
20429           DRI device name.
20430           https://bugzilla.gnome.org/show_bug.cgi?id=722247
20431
20432 2014-07-25 17:29:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20433
20434         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20435           window: make gst_vaapi_window_reconfigure() thread-safe.
20436           Ensure the X11 implementation for GstVaapiWindow::get_geometry() is
20437           thread-safe by default, so that upper layer users don't need to handle
20438           that explicitly.
20439
20440 2013-07-29 09:28:28 +0200  Holger Kaelberer <hk@getslash.de>
20441
20442         * gst-libs/gst/vaapi/gstvaapiwindow.c:
20443         * gst-libs/gst/vaapi/gstvaapiwindow.h:
20444           window: allow for updating size from current geometry.
20445           Add gst_vaapi_window_reconfigure() interface to force an update of
20446           the GstVaapiWindow "soft" size, based on the current geometry of the
20447           underlying native window.
20448           This can be useful for instance to synchronize the window size when
20449           the user changed it.
20450           Thanks to Fabrice Bellet for rebasing the patch.
20451           [changed interface to gst_vaapi_window_reconfigure()]
20452           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20453
20454 2014-07-25 16:53:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20455
20456         * gst-libs/gst/vaapi/gstvaapiwindow.c:
20457         * gst-libs/gst/vaapi/gstvaapiwindow.h:
20458         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
20459         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
20460         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
20461         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
20462         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
20463         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20464         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
20465         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20466         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
20467         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
20468           window: re-indent all GstVaapiWindow related source code.
20469
20470 2014-07-25 11:24:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20471
20472         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20473         * gst-libs/gst/vaapi/gstvaapidisplay.h:
20474         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
20475           display: add interface to retrieve the display name.
20476           Add gst_vaapi_display_get_display_name() helper function to determine
20477           the name associated with the underlying native display. Note that for
20478           raw DRM backends, the display name is actually the device path.
20479
20480 2014-07-25 10:55:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20481
20482         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20483           display: fix comparison of X11 display names.
20484           Make sure to not only compare display host names, but also the actual
20485           display number. The screen number does not need to be checked at this
20486           time.
20487
20488 2014-07-25 15:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20489
20490         * gst/vaapi/gstvaapidecode.c:
20491         * gst/vaapi/gstvaapivideobufferpool.c:
20492           vaapidecode: add support for VideoAlignment bufferpool option.
20493           Always add VideoAlignment bufferpool option if the downstream element
20494           expects its own pool to be used but does not offer it through a proper
20495           propose_allocation() implementation for instance, and that the ALLOCATION
20496           query does not expose the availability of the Video Meta API.
20497           This fixes propagation of video buffer stride information to Firefox.
20498
20499 2014-07-25 15:44:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20500
20501         * gst/vaapi/gstvaapivideomemory.c:
20502           vaapivideomemory: always prefer native VA surface formats.
20503           Make sure to always prefer native internal formats for the VA surfaces
20504           that get allocated. Also disable "direct-rendering" mode in this case.
20505           This is needed so that to make sure that anything that gets out of the
20506           decoder, or anything that gets into the encoder, is in native format
20507           for the hardware, and thus the driver doesn't need to perform implicit
20508           conversions in there. Interop with SW elements is still available with
20509           fast implementations of VA imaging APIs.
20510
20511 2014-07-24 11:58:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20512
20513         * gst/vaapi/gstvaapivideomemory.c:
20514           vaapivideomemory: disallow memory shares across buffers, use a copy.
20515           Forbid shares of GstMemory instances, and rather make copy of it. This
20516           effectively copies the GstMemory structure and enclosed metadata, but
20517           this does not copy the VA surface contents itself. It should though.
20518           This fixes preroll and makes sure to not download garbage for the first
20519           frame when a SW rendering sink is used.
20520
20521 2014-07-24 06:46:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20522
20523         * gst/vaapi/gstvaapivideomemory.c:
20524         * gst/vaapi/gstvaapivideomemory.h:
20525           vaapivideomemory: use an image pool to cache objects.
20526           Use an image pool to hold VA images to be used for downloads/uploads
20527           of contents for the associated surface.
20528           This is an optmization for size. So, instead of creating as many VA
20529           images as there are buffers (then VA surfaces) allocated, we only
20530           maintain a minimal set of live VA images, thus preserving memory
20531           resources.
20532
20533 2014-07-24 00:14:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20534
20535         * gst/vaapi/gstvaapivideomemory.c:
20536           vaapivideomemory: forbid R/W mappings if non direct-rendering mode.
20537           Disable read-write mappings if "direct-rendering" is not supported.
20538           Since the ordering of read and write operations is not specified,
20539           this would require to always download the VA surface on _map(), then
20540           commit the temporary VA image back to the VA surface on _unmap().
20541           Some SW decoding plug-in elements still use R/W mappings though.
20542           https://bugzilla.gnome.org/show_bug.cgi?id=733242
20543
20544 2014-07-23 23:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20545
20546         * gst/vaapi/gstvaapivideomemory.c:
20547           vaapivideomemory: minor code clean-ups.
20548           Fix error messages introduced in the previous commit for the _map()
20549           imaplementation. Also use the new get_image_data() helper function
20550           to determine the base pixels data buffer from a GstVaapiImage when
20551           updating the video info structure from it.
20552
20553 2014-07-23 18:54:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20554
20555         * gst/vaapi/gstvaapivideomemory.c:
20556         * gst/vaapi/gstvaapivideomemory.h:
20557           vaapivideomemory: add support for raw pixels mappings.
20558           Allow raw pixels of the whole frame to be mapped read-only. i.e. in
20559           cases where the buffer pool is allocated without VideoMeta API, thus
20560           individual planes cannot be mapped.
20561           This is initial support for Firefox >= 30.
20562           https://bugzilla.gnome.org/show_bug.cgi?id=731886
20563
20564 2014-07-03 18:41:11 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20565
20566         * gst/vaapi/gstvaapivideomemory.c:
20567           vaapivideomemory: fix determination of the surface pool format.
20568           While creating the vaapi video allocator, make sure the associated
20569           surface pool has correct format instead of defaulting to NV12 video
20570           format even though there is no direct rendering support.
20571           https://bugzilla.gnome.org/show_bug.cgi?id=732691
20572
20573 2014-07-23 18:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20574
20575         * gst/vaapi/gstvaapivideomemory.c:
20576           vaapivideomemory: fix association of surface to proxy.
20577           Make sure to always update the VA surface pointer whenever the proxy
20578           changes. This used to only work when the VA surface is written to, in
20579           interop with SW element ("upload" feature), and this now fixes cases
20580           when the VA surface is needed for reading, in interop with SW element
20581           ("download" feature).
20582
20583 2014-07-23 10:23:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20584
20585         * gst/vaapi/gstvaapidecode.c:
20586         * gst/vaapi/gstvaapipluginutil.c:
20587         * gst/vaapi/gstvaapivideomemory.c:
20588           plugins: expose I420 format for interop with SW elements.
20589           Always expose I420 format by default when the VA surface could be
20590           mapped for interoperability with non harware accelerated elements.
20591           However, the default behaviour remains the auto-plugging of vaapi
20592           elements, down to the sink.
20593           Side effect: "direct-rendering" mode is also disabled most of the
20594           times as plain memcpy() from uncached speculative write combining
20595           memory is not going to be efficient enough.
20596
20597 2014-07-22 18:54:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20598
20599         * gst/vaapi/gstvaapidecode.c:
20600         * gst/vaapi/gstvaapivideomemory.c:
20601           plugins: allow download capability to vaapidecode element.
20602           Fix support for VA surface download capability in vaapidecode element
20603           for GStreamer >= 1.2. This is a fix to supporting libva-vdpau-driver,
20604           but also the libva-intel-driver while performing hardware accelerated
20605           conversions from the native VA surface format (NV12) to the desired
20606           output VA image format.
20607           For instance, this fixes pipelines involving vaapidecode ! xvimagesink.
20608           https://bugzilla.gnome.org/show_bug.cgi?id=733243
20609
20610 2014-07-17 01:51:36 +0200  Fabrice Bellet <fabrice@bellet.info>
20611
20612         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20613           decoder: mpeg4: fix picture decoder return value for skipped frames.
20614           The picture decoder should return GST_VAAPI_DECODER_STATUS_DROP_FRAME
20615           when a frame should be skipped, so the stream processing is not stalled.
20616           https://bugzilla.gnome.org/show_bug.cgi?id=733324
20617
20618 2014-07-04 15:13:32 +1000  Jan Schmidt <jan@centricular.com>
20619
20620         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20621           decoder: mpeg2: respect any input PTS provided for a frame.
20622           The timestamp generator in gstvaapidecoder_mpeg2.c always interpolated
20623           frame timestamps within a GOP, even when it's been fed input PTS for
20624           every frame.
20625           That leads to incorrect output timestamps in some situations - for example
20626           live playback where input timestamps have been scaled based on arrival time
20627           from the network and don't exactly match the framerate.
20628           https://bugzilla.gnome.org/show_bug.cgi?id=732719
20629
20630 2014-01-22 08:20:59 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20631
20632         * gst-libs/gst/vaapi/gstvaapiobject.c:
20633           GstVaapiObject: make gst_vaapi_object_new() more robust.
20634           Forbid GstVaapiObject to be created without an associated klass spec.
20635           It is mandatory that the subclass implements an adequate .finalize()
20636           hook, so it shall provide a valid GstVaapiObjectClass.
20637           https://bugzilla.gnome.org/show_bug.cgi?id=722757
20638           [made non-NULL klass argument to gst_vaapi_object_new() a requirement]
20639           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20640
20641 2014-01-21 15:43:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20642
20643         * gst-libs/gst/vaapi/gstvaapiobject.c:
20644           GstVaapiObject: initialize the derived object data with init() hook.
20645           Call the subclass .init() function in gst_vaapi_object_new(), if
20646           needed. The default behaviour is to zero initialize the subclass
20647           object data, then the .init() function can be used to initialize
20648           fields to non-default values, e.g. VA object ids to VA_INVALID_ID.
20649           Also fix the gst_vaapi_object_new() description, which was merely
20650           copied from GstVaapiMiniObject.
20651           https://bugzilla.gnome.org/show_bug.cgi?id=722757
20652           [changed to always zero initialize the subclass]
20653           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20654
20655 2014-06-13 21:45:04 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
20656
20657         * gst/vaapi/gstvaapidecode.c:
20658           vaapidecode: make decoder work with playbin
20659           When playbin/decodebin builds the pipeline, it puts decoders and sinks
20660           into different bins and forwards the queries from bins to bins. So in
20661           the initials steps the pipeline is built iteratively by playbin and
20662           looks like this :
20663           [filesrc]
20664           [filesrc] -> [typefind]
20665           [filesrc] -> [typefind] -> [demuxer]
20666           [filesrc] -> [typefind] -> [demuxer] -> [decoder]
20667           At this point the decoder is asked for its SRC caps and it will make a
20668           choice based on what gst_pad_peer_query_caps() returns. The problem is
20669           that the caps returns at that point includes caps features like ANY,
20670           essentially because playbin can plug in additional elements like
20671           videoscale, videoconv or deinterlace.
20672           This patch adds a another call to
20673           gst_vaapi_find_preferred_caps_feature() when the decoder decides its
20674           allocation, to make sure we asks the downstream elements when the
20675           entire pipeline has been built.
20676           https://bugzilla.gnome.org/show_bug.cgi?id=731645
20677
20678 2014-06-27 11:57:11 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
20679
20680         * gst/vaapi/gstvaapipostproc.c:
20681           vaapipostproc: don't let tmp_rect go out of scope.
20682           A compiler change showed me that tmp_rect went out of scope before
20683           it was used. Move it to the beginning of the function instead.
20684           https://bugzilla.gnome.org/show_bug.cgi?id=726363
20685           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
20686           [added guards for GStreamer 0.10 builds]
20687           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20688
20689 2014-07-03 22:44:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20690
20691         * AUTHORS:
20692           AUTHORS: updates.
20693
20694 2014-07-03 22:34:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20695
20696         * README:
20697           README: updates.
20698           Drop references to deprecated plugins (vaapiupload, vaapidownload),
20699           mention that support for GStreamer 0.10 is deprecated, make overview
20700           more descriptive in certain aspects.
20701
20702 2014-07-03 22:21:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20703
20704         * NEWS:
20705           NEWS: updates.
20706
20707 2014-07-03 19:42:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20708
20709         * README:
20710         * configure.ac:
20711           build: mention that support for GStreamer 0.10 is deprecated.
20712
20713 2014-07-03 17:17:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20714
20715         * configure.ac:
20716         * gst/vaapi/gstvaapidecode.c:
20717           build: fix for GStreamer 0.10.
20718
20719 2014-07-03 18:01:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20720
20721         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
20722         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
20723         * patches/videoparsers/series.frag:
20724           build: fix for GStreamer 1.0.x.
20725
20726 2014-07-03 13:48:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20727
20728         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20729           decoder: h264: detect incorrectly paired fields in frames.
20730           When a DPB flush is required, e.g. at a natural and of stream or issued
20731           explicitly through an IDR, try to detect any frame left in the DPB that
20732           is interlaced but does not contain two decoded fields. In that case, mark
20733           the picture as having a single field only.
20734           This avoids a hang while decoding tv_cut.mkv.
20735
20736 2014-07-03 11:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20737
20738         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20739           decoder: h264: simplify the DPB output process.
20740           Simplify the dpb_output() function to exclusively rely on the frame store
20741           buffer to output, since this is now always provided. Besides, also fix
20742           cases where split fields would not be displayed.
20743           This is a regression from f48b1e0.
20744
20745 2014-07-01 17:20:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20746
20747         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
20748         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
20749         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
20750         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
20751         * patches/videoparsers/series.frag:
20752           h264parse: drop patches merged upstream.
20753           0003-h264parse-fix-and-optimize-NAL-collection-function.patch
20754           0005-h264parse-introduce-new-state-tracking-variables.patch
20755           0006-h264parse-improve-conditions-for-skipping-NAL-units.patch
20756           0007-h264parse-fix-collection-of-access-units-to-preserve.patch
20757
20758 2014-07-01 17:18:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20759
20760         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20761           decoder: h264: fix memory leak in PPS.
20762           Cope with latest changes from codecparsers/h264. It is now required
20763           to explicitly clear the GstH264PPS structure as it could contain
20764           additional allocations (slice_group_ids).
20765
20766 2014-07-01 17:13:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20767
20768         * ext/codecparsers:
20769           codecparsers: update to gst-vaapi-branch commit 2d53b69.
20770           c4ace00 h264parse: fix collection of access units to preserve config headers
20771           0f9f7c9 h264parse: improve conditions for skipping NAL units
20772           9ffb25c h264parse: introduce new state tracking variables
20773           64955d3 h264parse: fix and optimize NAL collection function
20774           13cd2a3 h264: clarifications and documentation fixes
20775           53e7dd1 h264: fix identification of EOSEQ and EOS NALs
20776           18f0de0 h264: fix memory leak in GstH264PPS
20777           fdcb54c h264: fix typo in GstH264VUIParams description
20778           fd4dae9 vp8: move up built-in range decoder private data
20779
20780 2014-06-30 19:01:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20781
20782         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20783         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20784         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
20785         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
20786           decoder: propagate MVC metadata ("view-id", head of multiview set).
20787           Add new GstVaapiSurfaceProxy flag FFB, which means "first frame in
20788           bundle", and really expresses the first view component of a multi
20789           view coded frame. e.g. in H.264 MVC, the surface proxy has flag FFB
20790           set if VOIdx = 0.
20791           Likewise, new API is exposed to retrieve the associated "view-id".
20792
20793 2014-06-30 18:46:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20794
20795         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20796         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20797           decoder: propagate "one-field" flags.
20798           Allow decoders to set the "one-field" attribute when the decoded frame
20799           genuinely has a single field, or if the second field was mis-decoded but
20800           we still want to display the first field.
20801
20802 2014-06-30 18:34:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20803
20804         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20805           decoder: output decoded frames only once.
20806           Make sure to output the decoded picture, and push the associated
20807           GstVideoCodecFrame, only once. The frame fully represents what needs
20808           to be output, included for interlaced streams. Otherwise, the base
20809           GstVideoDecoder class would release the frame twice.
20810           Anyway, the general process is to output decoded frames only when
20811           they are complete. By complete, we mean a full frame was decoded or
20812           both fields of a frame were decoded.
20813
20814 2014-06-30 16:12:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20815
20816         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20817           decoder: h264: decode current picture earlier.
20818           Slightly optimize decoding process by submitting the current VA surface
20819           for decoding earlier to the hardware, and perform the reference picture
20820           marking process and DPB update process afterwards.
20821           This is a minor optimization to let the video decode engine kick in work
20822           earlier, thus improving parallel resources utilization.
20823
20824 2014-06-30 16:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20825
20826         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20827           decoder: h264: fix output of second field when first field is not in DPB.
20828           Fix decoding of interlaced streams where a first field (e.g. B-slice)
20829           was immediately output and the current decoded field is to be paired
20830           with that former frame, which is no longer in DPB.
20831           https://bugzilla.gnome.org/show_bug.cgi?id=701340
20832
20833 2014-06-30 11:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20834
20835         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20836           decoder: h264: slightly optimize the process to detect new pictures.
20837           Optimize the process to detect new pictures or start of new access
20838           units by checking if the previous NAL unit was the end of a picture,
20839           or the end of the previous access unit.
20840
20841 2014-06-13 15:42:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20842
20843         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20844           decoder: h264: handle access unit ("au") optimization.
20845           Optimize parsing when buffers are supplied with access unit alignment.
20846           This helps determining faster when the end of an access unit is reached.
20847
20848 2014-06-28 07:25:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20849
20850         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20851           decoder: h264: fix tracking of DPB size changes.
20852           Add support for MVC streams with multiple SPS and subset SPS headers
20853           emitted regularly, e.g. at around every I-frame. Track the maximum
20854           number of views in ensure_context() and really reset the DPB size to
20855           the expected value, always. i.e. even if it decreased. dpb_reset()
20856           only cares of ensuring the DPB allocation.
20857
20858 2014-06-27 20:44:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20859
20860         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20861           decoder: h264: fix the DPB compaction process.
20862           Fix the compaction process when the DPB is cleared for a specific
20863           view, i.e. fix the process of filling in the holes resulting from
20864           removing frame buffers matching the current picture.
20865
20866 2014-06-27 16:38:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20867
20868         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20869           encoder: h264: generate new SPS only when codec config changed.
20870           It is not necessary to periodically send SPS or subset SPS headers.
20871           This is up to the upper layer (e.g. transport layer) to decide on
20872           if/how to periodically submit those. For now, only generate new SPS
20873           or subset SPS headers when the codec config changed.
20874           Note: the upper layer could readily determine the config headers
20875           (SPS/PPS) through the gst_vaapi_encoder_h264_get_codec_data() function.
20876           https://bugzilla.gnome.org/show_bug.cgi?id=732083
20877           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20878
20879 2014-06-27 18:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20880
20881         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20882           encoder: h264: track encoder config changes.
20883           Track and report when encoder configuration changed. For now, this covers
20884           resolution, profile/level and bitrate changes.
20885
20886 2014-06-27 13:15:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20887
20888         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20889           encoder: h264: add pixel-aspect-ratio to VUI parameters.
20890           Report sample aspect ratio (SAR) as present, and make it match what
20891           we have obtained from the user as pixel-aspect-ratio (PAR). i.e. the
20892           VUI parameter aspect_ratio_info_present_flag now defaults to TRUE.
20893
20894 2014-06-27 00:49:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20895
20896         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20897           encoder: h264: fix number of anchor and non-anchor reference pictures.
20898           Set the value of num_anchor_refs_l0, num_anchor_refs_l1, num_non_anchor_refs_l0,
20899           and num_non_anchor_refs_l1 to zero since the inter-view prediction is not yet
20900           supported.
20901
20902 2014-06-27 10:37:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20903
20904         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20905           encoder: h264: fix timing_info_present_flag value in subset SPS.
20906           When the seq_parameter_set_data() syntax structure is present in a subset
20907           sequence parameter set and vui_parameters_present_flag is equal to 1, then
20908           timing_info_present_flag shall be equal to 0 (H.7.4.2.1.1).
20909
20910 2014-06-26 14:39:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20911
20912         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20913           encoder: h264: add cpbBrNalFactor values for MVC profiles.
20914
20915 2014-06-26 14:51:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20916
20917         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
20918           h264parse: fix detection of access unit boundaries for MVC.
20919           The gst_h264_parse_collect_nal() function is a misnomer. In reality,
20920           this function is used to determine access unit boundaries, i.e. that
20921           is the key function for alignment=au output format generation.
20922
20923 2014-06-26 14:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20924
20925         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
20926         * patches/videoparsers/series.frag:
20927           h264parse: fix collection of access units to preserve config headers.
20928           Always use a GstAdapter when collecting access units (alignment="au")
20929           in either byte-stream or avcC format. This is required to properly
20930           preserve config headers like SPS and PPS when invalid or broken NAL
20931           units are subsequently parsed.
20932           More precisely, this fixes scenario like:
20933           <SPS> <PPS> <invalid-NAL> <slice>
20934           where we used to reset the output frame buffer when an invalid or
20935           broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
20936           preventing the next slice unit to be decoded, should this also
20937           represent any valid data.
20938           https://bugzilla.gnome.org/show_bug.cgi?id=732203
20939
20940 2014-06-26 14:48:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20941
20942         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
20943         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
20944         * patches/videoparsers/series.frag:
20945           h264parse: improve conditions for skipping NAL units.
20946           Carefully track cases when skipping broken or invalid NAL units is
20947           necessary. In particular, always allow NAL units to be processed
20948           and let that gst_h264_parse_process_nal() function decide on whether
20949           the current NAL needs to be dropped or not.
20950           This fixes parsing of streams with SEI NAL buffering_period() message
20951           inserted between SPS and PPS, or SPS-Ext NAL following a traditional
20952           SPS NAL unit, among other cases too.
20953           Practical examples from the H.264 AVC conformance suite include
20954           alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
20955           when parsing in stream-format=byte-stream,alignment=au mode.
20956           https://bugzilla.gnome.org/show_bug.cgi?id=732203
20957
20958 2014-06-26 14:45:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20959
20960         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
20961         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
20962         * patches/videoparsers/series.frag:
20963           h264parse: introduce new state tracking variables.
20964           Improve parser state tracking by introducing new flags reflecting
20965           it: "got-sps", "got-pps" and "got-slice". This is an addition for
20966           robustness purposes.
20967           Older have_sps and have_pps variables are kept because they have
20968           a different meaning. i.e. they are used for deciding on when to
20969           submit updated caps or not, and rather mean "have new SPS/PPS to
20970           be submitted?"
20971
20972 2014-06-26 14:39:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20973
20974         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
20975         * patches/videoparsers/series.frag:
20976           h264parse: default to byte-stream/nalu format (Annex B).
20977           Always default to stream-format=byte-stream,alignment=nalu if avcC
20978           format was not detected. This is the natural stream format specified
20979           in the standard (Annex.B): a series of NAL units prefixed with the
20980           usual start code.
20981           https://bugzilla.gnome.org/show_bug.cgi?id=732167
20982
20983 2014-06-26 14:37:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20984
20985         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
20986         * patches/videoparsers/series.frag:
20987           h264parse: fix and optimize NAL collection function.
20988           Use gst_h264_parser_identify_nalu_unchecked() to identify the next
20989           NAL unit. We don't want to parse the full NAL unit, but only the
20990           header bytes and possibly the first RBSP byte for identifying the
20991           first_mb_in_slice syntax element.
20992           Also fix check for failure when returning from that function. The
20993           only success condition for that is GST_H264_PARSER_OK, so use it.
20994           https://bugzilla.gnome.org/show_bug.cgi?id=732154
20995
20996 2014-06-26 11:39:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20997
20998         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20999           encoder: h264: fix NAL unit types in packed headers.
21000           Submit Prefix NAL headers (nal_unit_type = 14) before every packed
21001           slice header (nal_unit_type = 1 or 5) only for the base view. In non
21002           base views, a Coded Slice Extension NAL header (nal_unit_type = 20)
21003           is required, with an appropriate nal_unit_header_mvc_extension() in
21004           the NAL header bytes.
21005           https://bugzilla.gnome.org/show_bug.cgi?id=732083
21006
21007 2014-06-25 22:05:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21008
21009         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21010           encoder: h264: add missing field in packed Subset SPS header.
21011           Write the missing num_level_values_signalled_minus1 syntax element
21012           into the packed header for subset sequence parameter set.
21013           https://bugzilla.gnome.org/show_bug.cgi?id=732083
21014
21015 2014-06-25 22:26:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21016
21017         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21018           decoder: h264: fix marking of non-reference picture into DPB.
21019           Fix search for a picture in the DPB that has a lower POC value than
21020           the current picture. The dpb_find_lowest_poc() function will return
21021           a picture with the lowest POC in DPB and that is marked as "needed
21022           for output", but an additional check against the actual POC value
21023           of the current picture is needed.
21024           This is a regression from 1c46990.
21025           https://bugzilla.gnome.org/show_bug.cgi?id=732130
21026
21027 2014-06-19 17:08:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21028
21029         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21030           decoder: h264: fix DPB clear when no decoding actually started.
21031           Fix dpb_clear() to clear previous frame buffers only if they actually
21032           exist to begin with. If the decoder bailed out early, e.g. when it
21033           does not support a specific profile, that array of previous frames
21034           might not be allocated beforehand.
21035
21036 2014-02-06 08:30:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21037
21038         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21039         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
21040         * gst/vaapi/gstvaapidecode.c:
21041           decoder: h264: add support for NALU "alignment" optimization.
21042           We can avoid scanning for start codes again if the bitstream is fed
21043           in NALU chunks. Currently, we always scan for start codes, and keep
21044           track of remaining bits in a GstAdapter, even if, in practice, we
21045           are likely receiving one GstBuffer per NAL unit. i.e. h264parse with
21046           "nal" alignment.
21047           https://bugzilla.gnome.org/show_bug.cgi?id=723284
21048           [use gst_adapter_available_fast() to determine the top buffer size]
21049           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21050
21051 2014-06-18 18:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21052
21053         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21054           decoder: h264: fix caps to report interlace-mode accordingly.
21055           The `vaapipostproc' element could never determine if the H.264 stream
21056           was interlaced, and thus always assumed it to be progressive. Fix the
21057           H.264 decoder to report interlace-mode accordingly, thus allowing the
21058           vaapipostproc element to automatically enable deinterlacing.
21059
21060 2014-06-19 13:35:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21061
21062         * gst/vaapi/gstvaapipostproc.c:
21063           vaapipostproc: don't crash with dynamic framerate (0/1).
21064           Avoid reaching an assert if dynamic framerates (0/1) are used. One
21065           way to solve this problem is to just stick field_duration to zero.
21066           However, this means that, in presence of interlaced streams, the
21067           very first field will never be displayed if precise presentation
21068           timestamps are honoured.
21069           https://bugzilla.gnome.org/show_bug.cgi?id=729604
21070
21071 2014-02-07 12:27:50 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21072
21073         * gst/vaapi/gstvaapipostproc.c:
21074           vaapipostproc: create filter surface pool if it does not exist yet.
21075           ensure_srcpad_buffer_pool() tries to avoid unnecessarily deleting and
21076           recreating filter_pool. Unfortunately, this also meant it didn't create
21077           it if it did not exist.
21078           Fix it to always create the buffer pool if it does not exist.
21079           https://bugzilla.gnome.org/show_bug.cgi?id=723834
21080           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21081
21082 2013-12-12 10:01:13 +0800  Zhao, Halley <halley.zhao@intel.com>
21083
21084         * gst/vaapi/gstvaapipostproc.c:
21085           vaapipostproc: reset deinterlacer state when there is a discontinuity.
21086           Reset deinterlacer state, i.e. past reference frames used for advanced
21087           deinterlacing, when there is some discontinuity detected in the course
21088           of processing source buffers.
21089           This fixes support for advanced deinterlacing when a seek occurred.
21090           https://bugzilla.gnome.org/show_bug.cgi?id=720375
21091           [fixed type of pts_diff variable, fetch previous buffer PTS from the
21092           history buffer, reduce heuristic for detecting discontinuity]
21093           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21094
21095 2014-06-18 16:16:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21096
21097         * gst/vaapi/gstvaapipostproc.c:
21098           vaapipostproc: add support for crop regions in VPP mode.
21099           Apply video cropping regions stored in GstVideoCropMeta, or in older
21100           GstVaapiSurfaceProxy representation, to VPP pipelines. In non-VPP modes,
21101           the crop meta are already propagated to the output buffers.
21102           https://bugzilla.gnome.org/show_bug.cgi?id=720730
21103
21104 2014-03-14 17:49:40 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21105
21106         * gst/vaapi/gstvaapipostproc.c:
21107           vaapipostproc: make deinterlace-mode behave as expected.
21108           deinterlace-mode didn't behave in the way you'd expect if you have
21109           past experience of the deinterlace element. There were two bugs:
21110           1. "auto" mode wouldn't deinterlace "interleaved" buffers, only "mixed".
21111           2. "force" mode wouldn't deinterlace "mixed" buffers flagged as progressive.
21112           Fix these up, and add assertions and error messages to detect cases that
21113           aren't handled.
21114           https://bugzilla.gnome.org/show_bug.cgi?id=726361
21115           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21116           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21117
21118 2014-01-15 16:36:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
21119
21120         * gst/vaapi/gstvaapidecode.c:
21121           vaapidecode: do not discard video info props when the format changed.
21122           gst_video_info_set_format() does not preserve video info properties. In
21123           order to keep important information in the caps such as interlace mode,
21124           framerate, pixel aspect ratio, ... we need to manually copy back those
21125           properties after setting the new video format.
21126           https://bugzilla.gnome.org/show_bug.cgi?id=722276
21127
21128 2014-02-23 01:43:39 +1100  Matthew Waters <ystreet00@gmail.com>
21129
21130         * gst/vaapi/gstvaapidecode.c:
21131           vaapidecode: plug a memory leak.
21132           It can happen that there is a pool provided that does not advertise
21133           the vappivideometa. We should unref that pool before using our own.
21134           Discovered with vaapidecode ! {glimagesink,cluttersink}
21135           https://bugzilla.gnome.org/show_bug.cgi?id=724957
21136           [fixed compilation by adding the missing semi-colon]
21137           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21138
21139 2014-06-18 13:47:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21140
21141         * gst/vaapi/gstvaapidecode.c:
21142           vaapidecode: parse source data until a frame is obtained.
21143           Parse any pending data until a complete frame is obtained. This is a
21144           memory optimization to avoid expansion of video packets stuffed into
21145           the GstAdapter, and a fix to EOS condition to detect there is actually
21146           pending data that needs to be decoded, and subsequently output.
21147           https://bugzilla.gnome.org/show_bug.cgi?id=731831
21148
21149 2014-06-05 15:32:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21150
21151         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21152           encoder: h264: fix multiple slices support in packed headers mode.
21153           Handle packedi slice headers and packed raw data on a per-slice basis,
21154           which is necessary for multi slice encoding.
21155
21156 2014-06-05 15:30:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21157
21158         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
21159         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
21160           encoder: add infrastructure for per-slice handling of packed headers.
21161           The packed slice header and packed raw data need to be paired with
21162           the submission of VAEncSliceHeaderParameterBuffer. So handle them
21163           on a per-slice basis insted of a per-picture basis.
21164           [removed useless initializer]
21165           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21166
21167 2014-03-07 17:40:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21168
21169         * gst/vaapi/gstvaapisink.c:
21170           vaapisink: fix initialization with "drm" display type.
21171           Force early initializatin of the GstVaapiDisplay so that to make sure
21172           that the sink element display object is presented first to upstream
21173           elements, as it will be correctly featuring the requested display type
21174           by the user.
21175           Otherwise, we might end up in situations where a VA/X11 display is
21176           initialized in vaapidecode, then we try VA/DRM display in vaapisink
21177           (as requested by the "display" property), but this would cause a failure
21178           because we cannot acquire a DRM display that was previously acquired
21179           through another backend (e.g. VA/X11).
21180
21181 2014-03-07 17:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21182
21183         * gst/vaapi/gstvaapipluginbase.c:
21184           plugins: fix initialization with foreign context.
21185           When a new display is settled through GstElement::set_context() (>= 1.2),
21186           or GstVideoContext::set_context() (<= 1.0), then we shall also update the
21187           associated display type.
21188
21189 2014-04-28 17:44:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21190
21191         * Makefile.am:
21192         * configure.ac:
21193         * ext/Makefile.am:
21194         * gst/vaapi/Makefile.am:
21195         * gst/vaapi/gstvaapiparse.c:
21196         * gst/vaapi/gstvaapiparse.h:
21197         * patches/Makefile.am:
21198         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
21199         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
21200         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
21201         * patches/videoparsers/Makefile.am:
21202         * patches/videoparsers/series.frag:
21203           plugins: add built-in video parsers as "vaapiparse" element.
21204           The built-in video parsers elements are built into a single DSO named
21205           libgstvaapi_parse.so. The various video parsers could be accessed as
21206           vaapiparse_CODEC.
21207           For now, this only includes a modified version of h264parse so that to
21208           support H.264 MVC encoded streams.
21209
21210 2014-06-13 11:36:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21211
21212         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21213           decoder: h264: cope with new gst_h264_quant_matrix_*() interfaces.
21214           New gst_h264_quant_matrix_*_get_raster_from_zigzag() were renamed
21215           from gst_h264_video_quant_matrix_*_get_raster_from_zigzag().
21216
21217 2014-06-13 11:34:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21218
21219         * ext/codecparsers:
21220           codecparsers: update to gst-vaapi-branch commit d6325ac.
21221           7d8d045 h264parse: use new gst_h264_video_calculate_framerate()
21222           d2f965a h264parse: set field_pic_flag when parsing a slice header
21223           24c15b8 Import h264parse
21224           a9283e5 bytereader: Use concistant derefence method
21225           a8252c6 bytereader: Use pointer instead of index access
21226           b1bebfc Import GstBitReader and GstByteReader
21227           2f58788 h264: recognize SVC NAL units
21228           4335da5 h264: fix SPS copy code for MVC
21229           cf9b6dc h264: fix quantization matrix conversion routine names
21230           b11ce2a h264: add gst_h264_video_calculate_framerate()
21231           126dc6f add C++ guards for MPEG-4 and VP8 parsers
21232
21233 2014-06-10 18:30:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21234
21235         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21236           decoder: h264: factor out DPB pruning for MVC.
21237           Factor out the removal process of unused inter-view only reference
21238           pictures from the DPB, prior to the possible insertion of the current
21239           picture.
21240           Ideally, the compiler could still opt for generating two loops. But
21241           at least, the code is now clearer for maintenance.
21242
21243 2014-06-10 17:42:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21244
21245         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21246           decoder: h264: clean-ups.
21247           Fix GST_VAAPI_PICTURE_IS_{INTER_VIEW,ANCHOR}() definitions to use
21248           the base GST_VAAPI_PICTURE_FLAG_IS_SET() macro.
21249
21250 2014-06-10 16:07:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21251
21252         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21253           decoder: h264: improve pruning of unused MVC inter-view frames.
21254           Improve process for the removal of pictures from DPB before possible
21255           insertion of the current picture (C.4.4) for H.264 MVC inter-view only
21256           reference components. In particular, handle cases where picture to be
21257           inserted is not the last one of the access unit and if it was already
21258           output and is no longer marked as used for reference, including for
21259           decoding next view components within the same access unit.
21260
21261 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21262
21263         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21264           decoder: h264: improve DPB bumping process for MVC.
21265           While invoking the DPB bumping process in presence of many views,
21266           it could be necessary to output previous pictures that are ready,
21267           in a whole. i.e. emitting all view components from the very first
21268           view order index zero to the very last one in its original access
21269           unit; and not starting from the view order index of the picture
21270           that caused the DPB bumping process to be invoked.
21271           As a reminder, the maximum number of frames in DPB for MultiView
21272           High profile with more than 2 views is not necessarily a multiple
21273           of the number of views.
21274           This fixes decoding of MVCNV-4.264.
21275
21276 2014-06-06 17:56:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21277
21278         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21279           decoder: h264: fix inter-view references array growth.
21280           Let the utility layer handle dynamic growth of the inter-view pictures
21281           array. By definition, setting a new size to the array will effectively
21282           grow the array, but would also fill in the newly created elements with
21283           empty entries (NULL), thus also increasing the reported length, which
21284           is not correct.
21285
21286 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21287
21288         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21289           decoder: h264: reduce ReferenceFrames entries to the essential set.
21290           When decoding Multiview High profile streams with a large number of
21291           views, it is not possible to make the VAPictureParameterBufferH264.
21292           ReferenceFrames[] array hold the complete DPB, with all possibly
21293           active pictures to be used for inter-view prediction in the current
21294           access unit.
21295           So reduce the scope of the ReferenceFrames[] array to only include
21296           the set of reference pictures that are going to be used for decoding
21297           the current picture. Basically, this is a union of all RefPicListX[]
21298           array, for all slices constituting the decoded picture.
21299
21300 2014-06-04 19:10:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21301
21302         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21303           decoder: h264: fix MVC inter-view prediction process.
21304           The inter-view reference components and inter-view only reference
21305           components that are included in the reference picture lists shall
21306           be considered as not being marked as "used for short-term reference"
21307           or "used for long-term reference". This means that reference flags
21308           should all be removed from VAPictureH264.flags.
21309           This fixes decoding of MVCNV-2.264.
21310
21311 2014-06-04 19:03:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21312
21313         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21314           decoder: h264: fix detection of profile changes for MVC.
21315           If the VA driver exposes ad-hoc H.264 MVC profiles, then we have to
21316           be careful to detect profiles changes and not reset the underlying
21317           VA context erroneously. In MVC situations, we could indeed get a
21318           profile_idc change for every SPS that gets activated, alternatively
21319           (base-view -> non-base view -> base-view, etc.).
21320           An improved fix would be to characterize the exact profile to use
21321           once and for all when SPS NAL units are parsed. This would also
21322           allow for fallbacks to a base-view decoding only mode.
21323
21324 2014-06-03 14:30:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21325
21326         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21327           encoder: h264: drop extraneous definitions.
21328           Re-use definitions from the codecparser headers instead of duplicating
21329           them here again. That covers NALU definitions and slice types.
21330
21331 2014-04-01 11:26:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21332
21333         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21334           encoder: h264: remove unnecessary calcualtion of max_pic_order_cnt.
21335           https://bugzilla.gnome.org/show_bug.cgi?id=727418
21336
21337 2014-04-01 14:23:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21338
21339         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21340           encoder: h264: don't allow CABAC with Extended profile.
21341           The H.264 specification does not support CABAC entropy coding for the
21342           Extended profile.
21343           https://bugzilla.gnome.org/show_bug.cgi?id=727418
21344
21345 2014-05-07 00:12:39 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21346
21347         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21348           encoder: h264: use packed headers mode for MVC encoding.
21349           Exclusively use VA drivers that support raw packed headers for encoding.
21350           i.e. simply submit packed headers Subset SPS and Prefix NAL units. This
21351           provides for better compatibility accross the various VA drivers and HW
21352           generations since no particular API is needed beyond what readily exists.
21353
21354 2014-05-07 00:09:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21355
21356         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21357           encoder: h264: add support for packed slice headers.
21358           https://bugzilla.gnome.org/show_bug.cgi?id=722905
21359
21360 2014-05-07 00:09:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21361
21362         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21363           encoder: h264: store subset sps to generate the codec-data
21364           Store the SubsetSPS nal unit which we need for MVC specific
21365           codec_data generation.
21366
21367 2014-05-07 00:08:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21368
21369         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21370           encoder: h264: fix MVC pipeline hang while encoding with B-frames.
21371           Since we are encoding each view independently from each other, we
21372           need a higher number of pre-allocated surfaces to be used as the
21373           reconstructed frames. For Stereo High profile encoding, this means
21374           to effectively double the number of frames to be stored in the DPB.
21375
21376 2014-02-17 15:51:43 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21377
21378         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21379         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21380         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
21381         * gst/vaapi/gstvaapiencode_h264.c:
21382           encoder: h264: add initial support for H.264 Stereo High profile.
21383           Add initial support for Subset SPS, Prefix NAL and Slice Extension NAL
21384           for non-base-view streams encoding, and the usual SPS, PPS and Slice
21385           NALs for base-view encoding.
21386           The H.264 Stereo High profile encoding mode will be turned on when the
21387           "num-views" parameter is set to 2. The source (raw) YUV frames will be
21388           considered as Left/Right view, alternatively.
21389           Each of the two views has its own frames reordering pool and reference
21390           frames list management system. Inter-view references are not supported
21391           yet, so the views are encoded independently from each other.
21392           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21393           [limited to Stereo High profile per the definition of MAX_NUM_VIEWS]
21394           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21395
21396 2014-02-17 11:10:26 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21397
21398         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21399           encoder: h264: wrap pools for refs and frames reordering.
21400           Create structures to maintain the reference frames list (RefPool) and
21401           frames reordering (ReorderPool) logic.
21402           This is a prerequisite for H.264 MVC support.
21403           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21404
21405 2014-02-14 15:33:15 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21406
21407         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21408           encoder: h264: add provisional support for subset SPS headers.
21409           Add provisions to write subset SPS headers to the bitstream in view
21410           to supporting the H.264 MVC specification.
21411           This assumes the libva "staging" branch is in use.
21412           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21413
21414 2013-12-18 13:47:32 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21415
21416         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21417         * gst-libs/gst/vaapi/gstvaapiutils.c:
21418           utils: add H.264 MVC profiles.
21419           Add "MultiView High" and "Stereo High" definitions.
21420           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21421           [require VA-API >= 0.35.2 for MVC profiles]
21422           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21423
21424 2014-06-02 16:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21425
21426         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21427         * gst-libs/gst/vaapi/gstvaapiutils.c:
21428           utils: only enable VP8 profiles for newer VA-API versions.
21429           VP8 decoding API appeared in VA-API >= 0.35.0. So, disable mappings
21430           involving VP8 codec on earlier versions of the API.
21431
21432 2014-05-22 10:04:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21433
21434         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21435           decoder: h264: compute view ids only once per slice.
21436           Optimize lookups of view ids / view order indices by caching the result
21437           of the calculatiosn right into the GstVaapiParserInfoH264 struct. This
21438           terribly simplifies is_new_access_unit() and find_first_field() functions.
21439
21440 2014-05-21 17:57:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21441
21442         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21443           decoder: h264: add support for MVC interlaced streams.
21444           Fix support for MVC Stereo High profile streams with interlaced frames.
21445           Also improve the detection logic of the first field.
21446
21447 2014-05-20 18:08:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21448
21449         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21450           decoder: h264: add MVC profiles compatibility logic.
21451           Add safe fallbacks for MVC profiles:
21452           - all MultiView High profile streams with 2 views at most can be decoded
21453           with a Stereo High profile compliant decoder ;
21454           - all Stereo High profile streams with only progressive views can be
21455           decoded with a MultiView High profile compliant decoder ;
21456           - all drivers that support slice-level decoding could normally support
21457           MVC profiles when the DPB holds at most 16 frames.
21458
21459 2014-05-02 14:58:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21460
21461         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21462         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21463         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21464           decoder: h264: add initial support for MVC.
21465           https://bugzilla.gnome.org/show_bug.cgi?id=721772
21466
21467 2014-05-01 19:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21468
21469         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21470           decoder: h264: dynamically allocate the DPB.
21471           Dynamically allocate the Decoded Picture Buffer (DPB) and add provisions
21472           for supporting the MVC allocation requirements.
21473
21474 2014-05-01 19:33:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21475
21476         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21477           decoder: h264: fix detection of access unit boundaries.
21478           In order to have a stricter conforming implementation, we need to carefully
21479           detect access unit boundaries. Additional operations could be necessary to
21480           perform at those boundaries.
21481
21482 2013-03-13 11:44:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21483
21484         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21485           decoder: h264: detect the first VCL NAL unit of a picture for MVC.
21486           Detect the first VCL NAL unit of a picture for MVC, based on the
21487           view_id as per H.7.4.1.2.4. Note that we only need to detect new
21488           view components.
21489           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21490
21491 2013-10-31 19:32:55 +0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21492
21493         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21494           decoder: h264: properly handle Prefix NAL units.
21495           Always cache the previous NAL unit so that we could check whether
21496           there is a Prefix NAL unit immediately preceding the current slice
21497           or IDR NAL unit. In that case, the NAL unit metadata is copied into
21498           the current NAL unit. Otherwise, some default values are inferred,
21499           tentatively. e.g. view_id shall be set to 0 and inter_view_flag to 1.
21500           [infer default values for slice if previous NAL was not a Prefix]
21501           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21502
21503 2013-02-28 15:59:55 +0800  Xiaowei Li <xiaowei.a.li@intel.com>
21504
21505         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21506           decoder: h264: add support for MVC base views.
21507           Allow decoding for base views of MVC encoded streams. For now, just skip
21508           the slice extension and prefix NAL units, and skip non-base view frames.
21509           Signed-off-by: Xiaowei Li <xiaowei.a.li@intel.com>
21510           [fixed memory leak, improved check for MVC NAL units]
21511           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21512
21513 2014-05-04 14:49:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21514
21515         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21516           decoder: h264: simplify storage of decoded picture into DPB.
21517           Factor out process by which the decoded picture with the lowest POC
21518           is found, and possibly output. Likewise, the storage and marking of
21519           a reference decoded, or non-reference decoded picture, into the DPB
21520           could also be simplified as they mostly share the same operations.
21521
21522 2014-05-02 22:40:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21523
21524         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21525           decoder: h264: minor clean-ups.
21526           Make init_picture_ref_lists() more consistent with other functions
21527           related to the reference marking process by supplying the current
21528           picture as argument.
21529
21530 2014-05-20 11:36:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21531
21532         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21533         * gst-libs/gst/vaapi/gstvaapidisplay.h:
21534         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21535           display: add utility function to query VA driver name.
21536           Add gst_vaapi_display_get_vendor_string() helper function to query
21537           the underlying VA driver name. The display object owns the resulting
21538           string, so it shall not be deallocated.
21539           That function is thread-safe. It could be used for debugging purposes,
21540           for instance.
21541
21542 2014-03-07 14:50:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21543
21544         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21545         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
21546         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21547         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21548         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21549         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
21550         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
21551           display: make cache maintenance really MT-safe.
21552           Make sure to initialize one GstVaapiDisplay at a time, even in threaded
21553           environments. This makes sure the display cache is also consistent
21554           during the whole display creation process. In the former implementation,
21555           there were risks that display cache got updated in another thread.
21556
21557 2014-05-03 15:56:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21558
21559         * gst-libs/gst/vaapi/gstvaapicontext.c:
21560           context: allow dynamic growth of VA surfaces pool.
21561           Add support for dynamic growth of the VA surfaces pool. For decoding,
21562           this implies the recreation of the underlying VA context, as per the
21563           requirement from VA-API. Besides, only increases are supported, not
21564           shrinks.
21565
21566 2014-05-03 15:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21567
21568         * gst-libs/gst/vaapi/gstvaapicontext.c:
21569           context: reset VA context if VA surfaces set changed.
21570           It is a requirement from VA-API specification that the VA context got
21571           from vaCreateContext(), for decoding purposes, binds the supplied set
21572           of VA surfaces. This means that if the set of VA surfaces is to be
21573           changed for the current decode session, then the VA context needs to
21574           be recreated with the new set of VA surfaces.
21575
21576 2014-05-12 19:23:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21577
21578         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21579           decoder: h264: fix assignment of LongTermFrameIdx.
21580           Complement fix committed as e95a42e.
21581           The H.264 AVC standard has to say: if the field is part of a reference
21582           frame or a complementary reference field pair, and the other field of
21583           the same reference frame or complementary reference field pair is also
21584           marked as "used for long-term reference", the reference frame or
21585           complementary reference field pair is also marked as "used for long-term
21586           reference" and assigned LongTermFrameIdx equal to long_term_frame_idx.
21587           This fixes decoding of MR9_BT_B in strict mode.
21588           https://bugs.freedesktop.org/show_bug.cgi?id=64624
21589           https://bugzilla.gnome.org/show_bug.cgi?id=724518
21590
21591 2014-05-10 06:23:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21592
21593         * gst-libs/gst/vaapi/gstvaapicontext.c:
21594         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21595         * gst-libs/gst/vaapi/gstvaapiutils.c:
21596         * gst-libs/gst/vaapi/gstvaapiutils.h:
21597           decoder: h264: properly support grayscale formats.
21598           Request the correct chroma format for decoding grayscale streams.
21599           i.e. make lookups of the VA chroma format more generic, thus possibly
21600           supporting more formats in the future.
21601           This means that, if a VA driver doesn't support grayscale formats,
21602           it is now going to fail. We cannot safely assume that maybe grayscale
21603           was implemented on top of some YUV 4:2:0 with the chroma components
21604           all set to 0x80.
21605
21606 2014-02-06 11:14:09 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21607
21608         * gst-libs/gst/vaapi/gstvaapifilter.c:
21609         * gst-libs/gst/vaapi/gstvaapifilter.h:
21610         * tests/test-filter.c:
21611           build: fix source file modes.
21612           A few source files are marked executable in error - fix them
21613           https://bugzilla.gnome.org/show_bug.cgi?id=723748
21614           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21615
21616 2014-04-29 13:22:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21617
21618         * configure.ac:
21619         * gst-libs/gst/vaapi/Makefile.am:
21620         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21621         * gst/vaapi/gstvaapidecode.c:
21622           build: fix conditional compilation of VP8 decoder.
21623           https://bugzilla.gnome.org/show_bug.cgi?id=729170
21624           [added check for VASliceParameterBufferBase fields]
21625           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21626
21627 2014-04-27 08:55:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21628
21629         * gst-libs/gst/codecparsers/Makefile.am:
21630           build: fix make dist for codecparsers.
21631
21632 2014-04-28 09:42:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21633
21634         * ext/codecparsers:
21635           codecparsers: update to gst-vaapi-branch commit eaa3f7e.
21636           h264: fix parsing of slice groups for map type = 2
21637
21638 2014-04-26 22:35:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21639
21640         * ext/codecparsers:
21641           codecparsers: update to gst-vaapi branch commit f44edfc.
21642           h264: fix derivation of default scaling lists
21643
21644 2013-05-24 19:00:54 +0800  Cong Zhong <congx.zhong@intel.com>
21645
21646         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21647           decoder: h264: fix long-term reference picture marking process.
21648           Fix reference picture marking process with memory_management_control_op
21649           set to 3 and 6, i.e. assign LongTermFrameIdx to a short-term reference
21650           picture, or the current picture.
21651           This fixes decoding of FRExt_MMCO4_Sony_B.
21652           https://bugs.freedesktop.org/show_bug.cgi?id=64624
21653           https://bugzilla.gnome.org/show_bug.cgi?id=724518
21654           [squashed, edited to use GST_VAAPI_PICTURE_IS_COMPLETE() macro]
21655           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21656
21657 2014-04-26 20:21:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21658
21659         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21660           decoder: h264: fix initialization of RefPicLists for multiple slices.
21661           The initialization of reference picture lists (8.2.4.2) applies to all
21662           slices. So, the RefPicList0/1 lists need to be constructed prior to
21663           each slice submission to the HW decoder.
21664           This fixes decoding of video sequences where frames are encoded with
21665           multiple slices of different types, e.g. 4 slices in this order I, P,
21666           I, and P. More precisely, CABAST3_Sony_E and CABASTBR3_Sony_B.
21667           https://bugzilla.gnome.org/show_bug.cgi?id=724518
21668
21669 2013-06-04 15:01:46 +0800  Zhong Cong <congx.zhong@intel.com>
21670
21671         * ext/codecparsers:
21672         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21673           decoder: h264: skip SPS extension and auxiliary slice NALs.
21674           When NAL units of type 13 (SPS extension) or type 19 (auxiliary slice)
21675           are present in a video, decoders shall perform the (optional) decoding
21676           process specified for these NAL units or shall ignore them (7.4.1).
21677           Implement option 2 (skip) for now, as alpha composition is not
21678           supported yet during the decoding process.
21679           This fixes decoding of the primary coded video in alphaconformanceG.
21680           https://bugzilla.gnome.org/show_bug.cgi?id=703928
21681           https://bugzilla.gnome.org/show_bug.cgi?id=728869
21682           https://bugzilla.gnome.org/show_bug.cgi?id=724518
21683           [skip NAL units earlier, i.e. at parsing time]
21684           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21685
21686 2013-03-07 11:32:20 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21687
21688         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21689           decoder: h264: fix slice data bit offset with MVC NAL units.
21690           When MVC slice NAL units (coded slice extension and prefix NAL) are
21691           present, the number of NAL header bytes is 3, not 1 as usual.
21692           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21693           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21694
21695 2014-04-25 19:11:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21696
21697         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21698           decoder: h264: fix activation of picture and sequence parameters.
21699           At the time the first VCL NAL unit of a primary coded picture is found,
21700           and if that NAL unit was parsed to be an SPS or PPS, then the entries
21701           in the parser may have been overriden. This means that, when the picture
21702           is to be decoded, slice_hdr->pps could point to an invalid (the next)
21703           PPS entry.
21704           So, one way to solve this problem is to not use the parser PPS and
21705           SPS info but rather maintain our own activation chain in the decoder.
21706           https://bugzilla.gnome.org/show_bug.cgi?id=724519
21707           https://bugzilla.gnome.org/show_bug.cgi?id=724518
21708
21709 2014-04-25 16:24:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21710
21711         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21712           decoder: h264: retain SEI messages until the end of frame.
21713           Retain the SEI messages that were parsed from the access unit until we
21714           have completely decoded the current frame. This is done so that we can
21715           peek at that data whenever necessary during decoding. e.g. for exposing
21716           3D stereoscopic information at a later stage.
21717
21718 2014-04-25 14:23:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21719
21720         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21721           decoder: h264: add support for grayscale encoded clips.
21722           Fix support for grayscale encoded video clips, and possibly others if
21723           the underlying driver supports the non-YUV 4:2:0 formats. i.e. defer
21724           the decision that a surface with the desired chroma format is not
21725           supported to the actual VA driver implementation.
21726           https://bugzilla.gnome.org/show_bug.cgi?id=728144
21727
21728 2014-04-25 14:16:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21729
21730         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21731         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21732         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21733         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21734         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21735         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21736           decoder: default to YUV 4:2:0 VA surfaces.
21737           Cope with context changes to support non-YUV 4:2:0 VA surfaces. Still,
21738           make sure all codecs use YUV 4:2:0 output format for now, by default.
21739
21740 2014-04-25 13:57:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21741
21742         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21743         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21744         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21745           decoder: re-indent GstVaapiDecoder base object.
21746
21747 2014-04-25 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21748
21749         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21750           encoder: derive chroma type from video format.
21751           Cope with previous VA context change to derive the correct surface chroma
21752           type from the input video format.
21753
21754 2014-04-25 13:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21755
21756         * gst-libs/gst/vaapi/gstvaapicontext.c:
21757         * gst-libs/gst/vaapi/gstvaapicontext.h:
21758           context: add support for non-YUV 4:2:0 formats.
21759           Don't force allocation of VA surfaces in YUV 4:2:0 format. Rather, allow
21760           for the upper layer to specify the desired chroma type. If the chroma
21761           type field is not set (or yields zero), then YUV 4:2:0 format is used
21762           by default.
21763
21764 2014-04-22 19:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21765
21766         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21767           vp8: fix per-segment deblocking filter level in relative mode.
21768           Fix possible bug when a per-segment deblocking filter level value
21769           needs to be set in non-absolute mode, i.e. when the loop filter update
21770           value is negative in delta mode.
21771           Also clamp the resulting filter level value to 0..63 range.
21772
21773 2014-04-22 17:25:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21774
21775         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21776           vp8: fix check for disabling the loop filter (again).
21777           Improve condition to disable the loop filter. The previous heuristic
21778           used to check all filter levels, for all segments. It turns out that
21779           only the base filter_level value defined in the frame header needs
21780           to be checked.
21781           This fixes 00-comprehensive-013.
21782
21783 2014-04-21 18:02:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21784
21785         * gst-libs/gst/codecparsers/Makefile.am:
21786         * gst/vaapi/Makefile.am:
21787           build: fix make dist with certain conditionals not met.
21788           Fix generation of source tarballs when certain conditionals are not
21789           met. e.g. always include all buildable codecparsers sources in the
21790           distribution tarball, fix plug-in element sources set to include X11
21791           and encoder bits.
21792
21793 2014-04-21 17:34:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21794
21795         * ext/Makefile.am:
21796           build: add missing files for GStreamer 0.10.
21797           Add missing GstVideoEncoder implementation files to fix build with ancient
21798           GStreamer 0.10 stack.
21799           https://bugzilla.gnome.org/show_bug.cgi?id=723964
21800
21801 2014-04-19 10:17:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21802
21803         * ext/Makefile.am:
21804           build: add missing files for VP8 bitstream parser.
21805           Fix make dist for building the VP8 bitstream parser.
21806
21807 2014-04-21 17:49:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21808
21809         * configure.ac:
21810         * ext/libvpx/Makefile.am:
21811         * gst-libs/gst/codecparsers/Makefile.am:
21812           vp8: allow compilation without the built-in libvpx.
21813           The built-in libvpx serves multiple purposes, among which the most
21814           important ones could be: track the most up-to-date, and optimized,
21815           range decoder; allow for future hybrid implementations (non-VLD);
21816           and have a completely independent range decoder implementation.
21817
21818 2014-04-21 17:28:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21819
21820         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21821           vp8: propagate PTS from demux frame.
21822           gst_adapter_prev_pts() is forbidden within libgstvaapi. Besides, the demuxer
21823           or parser would already have determined the PTS from a previous stage.
21824
21825 2014-04-19 07:49:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21826
21827         * Makefile.am:
21828         * debian.upstream/libgstvaapi.install.in:
21829         * ext/libvpx/Makefile.am:
21830         * ext/libvpx/sources.frag:
21831         * gst-libs/gst/codecparsers/Makefile.am:
21832           vp8: fix compilation with built-in libvpx.
21833           Apply correct patch from fd.o #722760 to fix several issues: update the
21834           license terms to LGPLv2.1+, fix dependencies to built-in libvpx and fix
21835           make dist.
21836
21837 2014-02-13 21:17:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21838
21839         * .gitmodules:
21840         * autogen.sh:
21841         * configure.ac:
21842         * ext/Makefile.am:
21843         * ext/libvpx/Makefile.am:
21844         * ext/libvpx/gstlibvpx.c:
21845         * ext/libvpx/gstlibvpx.h:
21846         * ext/libvpx/libgstcodecparsers_vpx.vers:
21847         * ext/libvpx/sources.frag:
21848         * ext/libvpx/upstream:
21849         * gst-libs/gst/codecparsers/Makefile.am:
21850         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
21851           vp8: use range decoder from libvpx.
21852           Add libvpx submodule that tracks the upstream version 1.3.0. This is
21853           needed to build a libgstcodecparsers_vpx.so library with all symbols
21854           placed into the GSTREAMER namespace.
21855
21856 2014-04-04 19:17:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21857
21858         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21859           vp8: fix check for disabling the loop filter.
21860
21861 2013-12-27 07:18:24 +0800  Zhao, Halley <halley.zhao@intel.com>
21862
21863         * configure.ac:
21864         * ext/Makefile.am:
21865         * gst-libs/gst/codecparsers/Makefile.am:
21866         * gst-libs/gst/vaapi/Makefile.am:
21867         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21868         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
21869         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21870         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21871         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
21872         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
21873         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21874         * gst-libs/gst/vaapi/gstvaapiprofile.h:
21875         * gst/vaapi/gstvaapidecode.c:
21876           Add initial VP8 decoder.
21877           https://bugzilla.gnome.org/show_bug.cgi?id=722761
21878           [complete overhaul, fixed support for resolution changes]
21879           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21880
21881 2014-03-21 15:15:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21882
21883         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21884           decoder: h264: cope with new gst_h264_parser_parse_sei() interface.
21885           The gst_h264_parse_parse_sei() function now returns an array of SEI
21886           messages, instead of a single SEI message. Reason: it is allowed to
21887           have several SEI messages packed into a single SEI NAL unit, instead
21888           of multiple NAL units.
21889
21890 2014-04-18 19:36:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21891
21892         * ext/codecparsers:
21893           codecparsers: update to gst-vaapi-branch commit a454f86.
21894           b2eb5f6 vp8: rename dboolhuff symbols
21895           b74a881 vp8: add GStreamer native utilities
21896           2940ac6 add VP8 bitstream parser
21897
21898 2014-04-18 19:16:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21899
21900         * ext/codecparsers:
21901           codecparsers: update to gst-vaapi-branch commit d459bc5.
21902           d459bc5 h264: set framerate even for interlaced videos
21903           c78b82c h264: add support for Recovery Point SEI message
21904           7693bac h264: add support for Frame Packing Arrangement SEI message
21905           31fafa7 h264: add support for Stereo Video Information SEI message
21906           8b113a6 h264: parse seq_parameter_set_mvc_extension()
21907           040f9b8 h264: parse MVC syntax elements
21908           cc18ef3 h264: add nal_reader_skip_long() helper
21909           7e76a48 h264: fix slice_header() parsing for MVC
21910           caf46d8 h264: add gst_h264_parse_nalu_header() helper
21911           f75074e h264: add gst_h264_parse_sps_data() helper
21912           798c397 h264: clean-up gst_h264_parser_parse_sei_message()
21913           4e36737 h264: fix skipping of unsupported SEI messages
21914           5300766 h264: fix SEI buffering_period() parsing
21915
21916 2014-03-21 15:09:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21917
21918         * ext/codecparsers:
21919         * gst-libs/gst/codecparsers/Makefile.am:
21920           codecparsers: update to gst-vaapi-branch commit 8fadf40.
21921           8fadf40 h264: Fix multiple SEI messages in one SEI RBSP parsing.
21922           644825f h265: remove trailling 0x00 bytes as the spec doesn't allow them
21923           95f9f0f h264: remove trailling 0x00 bytes as the spec doesn't allow them
21924           766007b h265: Initialize pointer correctly that is never assigned but freed in error cases
21925           8ec5816 h265: Fix segfault when parsing HRD parameter
21926           5b1730f h265: Fix segfault when parsing VPS
21927           983b7f7 h265: prevent to overrun chroma_weight_l0_flag
21928           7ba641d h265: Fix debug output
21929           d9f9f9b h264: not all startcodes should have 3-byte 0 prefix
21930
21931 2014-02-04 18:35:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21932
21933         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21934           decoder: h264: fix robustness patch for bytestream format.
21935           Fix parser and decoder state to sync at the right locations. This is
21936           because we could reset the parser state, while the decoder state was
21937           not copied yet, e.g. when parsing several NAL units from multiple frames
21938           whereas the current frame was not decoded yet.
21939           This is a regression brought in by commit 6fe5496.
21940
21941 2014-02-18 06:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21942
21943         * configure.ac:
21944         * pkgconfig/Makefile.am:
21945         * pkgconfig/gstreamer-vaapi-drm.pc.in:
21946         * pkgconfig/gstreamer-vaapi-glx.pc.in:
21947         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
21948         * pkgconfig/gstreamer-vaapi-x11.pc.in:
21949           build: fix pkgconfig file names (again).
21950           It turns out it is more convenient to have only pkgconfig files named
21951           after the installed GStreamer API version (1.0) instead of using all
21952           possible subsequent names from that (1.0, 1.2, 1.4). i.e. they conflict
21953           altogether anyway, so align pkgconfig file names to that.
21954
21955 2014-02-07 09:43:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21956
21957         * debian.upstream/libgstvaapi-dev.install.in:
21958         * gst-libs/gst/vaapi/Makefile.am:
21959         * pkgconfig/gstreamer-vaapi.pc.in:
21960           build: fix packaging for GStreamer 1.2.
21961           Fix gstreamer-vaapi includedir for GStreamer 1.2 setups. i.e. use
21962           the pkgconfig version (1.0) instead of the intended API version (1.2).
21963           libgstvaapi1.0-dev and libgstvaapi1.2-dev packages will now conflict,
21964           as would core GStreamer 1.0 and GStreamer 1.2 dev packages anyway.
21965
21966 2014-01-24 11:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21967
21968         * configure.ac:
21969           Bump version for development.
21970
21971 2014-01-24 10:55:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21972
21973         * debian.upstream/control.in:
21974           debian: fix trailing whitespace in description.
21975
21976 2014-01-23 23:24:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21977
21978         * debian.upstream/control.in:
21979         * debian.upstream/copyright:
21980           debian: fix package description.
21981           Try to improve package description for the compiled plug-in elements
21982           available in there. e.g. only display vaapidownload and vaapiupload
21983           for GStreamer 0.10 builds, display vaapiencode_* elements when VA
21984           encoding is enabled, etc.
21985           Also increase the copyright notice date.
21986
21987 2014-01-23 22:47:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21988
21989         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21990           build: fix warnings on 64-bit platforms.
21991
21992 2014-01-23 22:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21993
21994         * gst-libs/gst/vaapi/gstvaapicontext.c:
21995         * gst-libs/gst/vaapi/gstvaapiutils.c:
21996           build: fix for older versions of VA-API (< 0.34.0).
21997           Fix build with older versions of VA-API (< 0.34.0), or versions without
21998           good enough headers for encoding support for instance.
21999
22000 2014-01-23 19:36:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22001
22002         * NEWS:
22003         * configure.ac:
22004           0.5.8.
22005
22006 2014-01-23 19:32:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22007
22008         * README:
22009           README: updates.
22010           VA-API up to 0.34.0 is actually supported. Mention new video encoding
22011           support. Update copyright years, list of supported Intel HD Graphics
22012           hardware.
22013
22014 2014-01-23 19:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22015
22016         * NEWS:
22017           NEWS: updates.
22018
22019 2014-01-20 14:16:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22020
22021         * tests/test-filter.c:
22022           tests: test-filter: fix "deinterlace" option parse.
22023           Default to GST_VAAPI_DEINTERLACE_METHOD_NONE if no "deinterlace" option
22024           string was provided, i.e. if it remained set to NULL.
22025
22026 2014-01-23 18:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22027
22028         * gst-libs/gst/vaapi/Makefile.am:
22029         * gst-libs/gst/vaapi/gstvaapicontext.c:
22030         * gst-libs/gst/vaapi/gstvaapicontext.h:
22031         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22032         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
22033         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
22034           libs: factor out usages of vaGetConfigAttributes().
22035           Add gst_vaapi_get_config_attribute() helper function that takes a
22036           GstVaapiDisplay and the rest of the arguments with VA types. The aim
22037           is to have thread-safe VA helpers by default.
22038
22039 2014-01-23 17:41:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22040
22041         * gst-libs/gst/vaapi/gstvaapiutils.c:
22042         * gst-libs/gst/vaapi/gstvaapiutils.h:
22043         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
22044         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22045         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22046         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
22047         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22048         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
22049         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
22050         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
22051         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
22052           libs: re-indent all source code related to VA utilities.
22053
22054 2014-01-23 17:06:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22055
22056         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
22057           libs: add missing file (libgstvaapi_priv_check.h).
22058
22059 2014-01-23 15:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22060
22061         * gst-libs/gst/vaapi/gstvaapicontext.c:
22062         * gst-libs/gst/vaapi/gstvaapicontext.h:
22063         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22064         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22065         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22066         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22067           encoder: notify the encoder of the submitted packed headers.
22068           Make sure to configure the encoder with the set of packed headers we
22069           intend to generate and submit. i.e. make selection of packed headers
22070           to submit more robust.
22071
22072 2014-01-23 15:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22073
22074         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22075         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22076         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22077         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22078           encoder: fix and factor out check for supported rate-control modes.
22079           Cache the first compatible GstVaapiProfile found if the encoder is not
22080           configured yet. Next, factor out the code to check for the supported
22081           rate-control modes by moving out vaGetConfigAttributes() to a separate
22082           function, while also making sure that the attribute type is actually
22083           supported by the encoder.
22084           Also fix the default set of supported rate control modes to not the
22085           "none" variant. It's totally useless to expose it at this point.
22086
22087 2014-01-23 14:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22088
22089         * gst-libs/gst/vaapi/gstvaapicontext.c:
22090         * gst-libs/gst/vaapi/gstvaapicontext.h:
22091         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22092           context: move rate-control mode to encoder specific config.
22093           Move usage-specific config out of the common GstVaapiContextInfo.
22094           Create a specialized config for encoding and move rate-control mode
22095           to there.
22096
22097 2014-01-23 13:30:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22098
22099         * gst-libs/gst/vaapi/gstvaapicontext.c:
22100         * gst-libs/gst/vaapi/gstvaapicontext.h:
22101         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22102         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22103           context: introduce concept of usage.
22104           Introduce GstVaapiContextUsage so that to explicitly determine the
22105           usage of a VA context. This is useful in view to simplifying the
22106           creation of VA context for VPP too.
22107
22108 2014-01-23 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22109
22110         * gst-libs/gst/vaapi/gstvaapicontext.c:
22111           context: fix get_attribute() value result.
22112           Unknown attributes, or attributes that are not supported for the given
22113           profile/entrypoint pair have a return value of VA_ATTRIB_NOT_SUPPORTED.
22114           So, return failure in this case.
22115
22116 2014-01-23 10:59:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22117
22118         * gst-libs/gst/vaapi/Makefile.am:
22119         * gst-libs/gst/vaapi/gstvaapicontext.c:
22120         * gst-libs/gst/vaapi/gstvaapicontext.h:
22121         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
22122         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
22123         * gst-libs/gst/vaapi/gstvaapisurface.c:
22124           context: move overlay composition to separate files.
22125           Move GstVideoOverlayComposition handling to separate source files.
22126           This helps keeing GstVaapiContext core implementation to the bare
22127           minimal, i.e. simpy helpers to create a VA context and handle pool
22128           of associated VA surfaces.
22129
22130 2014-01-23 09:41:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22131
22132         * gst-libs/gst/vaapi/gstvaapicontext.c:
22133         * gst-libs/gst/vaapi/gstvaapicontext.h:
22134         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22135         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22136           context: clean-ups. Strip down APIs.
22137           Improve documentation and debug messages. Clean-up APIs, i.e. strip
22138           them down to the minimal set of interfaces. They are private, so no
22139           need expose getters for instance.
22140
22141 2014-01-23 09:27:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22142
22143         * gst-libs/gst/vaapi/gstvaapicontext.c:
22144         * gst-libs/gst/vaapi/gstvaapicontext.h:
22145           context: re-indent all GstVaapiContext related source code.
22146
22147 2014-01-23 10:20:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22148
22149         * gst-libs/gst/vaapi/Makefile.am:
22150         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
22151         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
22152         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
22153         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
22154         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
22155         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
22156         * gst-libs/gst/vaapi/gstvaapiutils.h:
22157         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22158         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22159         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
22160         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
22161         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
22162           libs: check that private headers remain private.
22163           Make sure that libgstvaapi private headers remain internally used to
22164           build libgstvaapi libraries only. All header dependencies were reviewed
22165           and checks for IN_LIBGSTVAAPI definition were added accordingly.
22166           Also rename GST_VAAPI_CORE definition to IN_LIBGSTVAAPI_CORE to keep
22167           consistency.
22168
22169 2014-01-22 19:04:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22170
22171         * configure.ac:
22172           Bump library major version.
22173           Bump the library major version due to API/ABI changes that occurred in
22174           the imaging API. In particular, GstVaapiDisplay interfaces no longer
22175           expose any GstCaps but provide GArray based ones e.g. to determine the
22176           set of supported decode/encode profiles.
22177
22178 2014-01-22 18:54:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22179
22180         * gst-libs/gst/vaapi/glibcompat.h:
22181         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
22182         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
22183         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
22184         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
22185         * gst-libs/gst/vaapi/gstvaapicontext.c:
22186         * gst-libs/gst/vaapi/gstvaapicontext.h:
22187         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22188         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22189         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
22190         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22191         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22192         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22193         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22194         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22195         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22196         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22197         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22198         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22199         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22200         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
22201         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22202         * gst-libs/gst/vaapi/gstvaapifilter.c:
22203         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
22204         * gst-libs/gst/vaapi/gstvaapisurface.c:
22205         * gst-libs/gst/vaapi/gstvaapisurface.h:
22206         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22207         * gst-libs/gst/vaapi/gstvaapitypes.h:
22208         * gst-libs/gst/vaapi/gstvaapiutils.c:
22209         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22210         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
22211         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22212         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
22213         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
22214         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
22215         * gst-libs/gst/vaapi/gstvaapivalue.c:
22216         * gst-libs/gst/vaapi/gstvaapivalue.h:
22217         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
22218         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
22219         * gst/vaapi/gstvaapidecode.c:
22220         * gst/vaapi/gstvaapiencode.c:
22221         * gst/vaapi/gstvaapiencode.h:
22222         * gst/vaapi/gstvaapiencode_h264.c:
22223         * gst/vaapi/gstvaapiencode_h264.h:
22224         * gst/vaapi/gstvaapiencode_mpeg2.c:
22225         * gst/vaapi/gstvaapiencode_mpeg2.h:
22226         * gst/vaapi/gstvaapipluginbase.c:
22227         * gst/vaapi/gstvaapipluginutil.c:
22228         * gst/vaapi/gstvaapipluginutil.h:
22229         * gst/vaapi/gstvaapipostproc.c:
22230         * gst/vaapi/gstvaapipostproc.h:
22231         * gst/vaapi/gstvaapisink.c:
22232         * gst/vaapi/gstvaapisink.h:
22233         * gst/vaapi/gstvaapivideometa_texture.c:
22234         * tests/simple-decoder.c:
22235           legal: update copyright notice dates.
22236
22237 2014-01-22 18:49:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22238
22239         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22240         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22241         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22242         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22243         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22244         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22245         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22246         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22247         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
22248         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22249         * gst/vaapi/gstvaapiencode.c:
22250         * gst/vaapi/gstvaapiencode.h:
22251         * gst/vaapi/gstvaapiencode_h264.c:
22252         * gst/vaapi/gstvaapiencode_h264.h:
22253         * gst/vaapi/gstvaapiencode_mpeg2.c:
22254         * gst/vaapi/gstvaapiencode_mpeg2.h:
22255           legal: add per-file authorship information.
22256
22257 2014-01-22 18:11:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22258
22259         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22260         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22261           decoder: fix video codec frame number in standalone mode.
22262           Set a valid GstVideoCodecFrame.system_frame_number when decoding a
22263           stream in standalone mode. While we are at it, improve the debugging
22264           messages to also include that frame number.
22265
22266 2014-01-17 16:56:53 +0800  Wind Yuan <feng.yuan@intel.com>
22267
22268         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22269         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22270           decoder: fix crash on invalid pointer for GST_DEBUG().
22271           When decoding failed, or that the frame was dropped, the associated
22272           surface proxy is not guaranteed to be present. Thus, the GST_DEBUG()
22273           message needs to check whether the proxy is actually present or not.
22274           https://bugzilla.gnome.org/show_bug.cgi?id=722403
22275           [fixed gst_vaapi_surface_proxy_get_surface_id() to return VA_INVALID_ID]
22276           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22277
22278 2014-01-22 17:07:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22279
22280         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22281           encoder: h264: disable NAL HRD parameters for now.
22282           Don't emit NAL HRD parameters for now in the SPS headers because the
22283           SEI buffering_period() and picture_timing() messages are not handled
22284           yet. Some additional changes are necessary to get it right.
22285           https://bugzilla.gnome.org/show_bug.cgi?id=722734
22286
22287 2014-01-21 19:04:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22288
22289         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22290         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22291         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22292         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22293           encoder: h264: fix default CPB buffer size.
22294           Fix default CPB buffer size to something more reasonable (1500 ms)
22295           and that still fits the level limits. This is a non configurable
22296           property for now. The initial CPB removal delay is also fixed to
22297           750 ms.
22298           https://bugzilla.gnome.org/show_bug.cgi?id=722087
22299
22300 2014-01-22 14:43:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22301
22302         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22303           encoder: h264: fix bitrate encoding for HRD conformance.
22304           Round down the calculated, or supplied, bitrate (kbps) into a multiple
22305           of the HRD bitrate scale factor. Use a bitrate scale factor of 64 so
22306           that to have less losses in precision. Likewise, don't round up because
22307           that could be a strict constraint imposed by the user.
22308
22309 2014-01-22 11:25:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22310
22311         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22312           encoder: h264: fix level lookup constraints wrt. bitrate.
22313           Fix the level calculation involving bitrate limits. Since we are
22314           targetting NAL HRD conformance, the check against MaxBR from the
22315           Table A-1 limits shall involve cpbBrNalFactor depending on the
22316           active profile.
22317
22318 2014-01-21 18:01:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22319
22320         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22321           encoder: h264: submit sequence parameter only once.
22322           Submit sequence parameter buffers only once, or when the bitstream
22323           was reconfigured in a way that requires such. Always submit packed
22324           sequence parameter buffers at I-frame period, if the VA driver needs
22325           those.
22326           https://bugzilla.gnome.org/show_bug.cgi?id=722737
22327
22328 2014-01-21 18:35:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22329
22330         * gst-libs/gst/vaapi/gstvaapicontext.c:
22331         * gst-libs/gst/vaapi/gstvaapicontext.h:
22332         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22333         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22334         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22335           encoder: h264: only submit packed headers when required.
22336           Make sure to submit the packed headers only if the underlying VA driver
22337           requires those. Currently, only handle packed sequence and picture
22338           headers.
22339           https://bugzilla.gnome.org/show_bug.cgi?id=722737
22340
22341 2014-01-21 17:35:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22342
22343         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22344           encoder: h264: fix ip_period value in sequence parameter.
22345           The VAEncSequenceParameterBuffer.ip_period value reprents the distance
22346           between the I-frame and the next P-frame. So, this also accounts for
22347           any additional B-frame in the middle of it.
22348           This fixes rate control heuristics for certain VA drivers.
22349           https://bugzilla.gnome.org/show_bug.cgi?id=722735
22350
22351 2014-01-21 17:04:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22352
22353         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22354           encoder: h264: fix level when bitrate is automatically computed.
22355           Fix level characterisation when the bitrate is automatically computed
22356           from the active coding tools. i.e. ensure the bitrate once the profile
22357           is completely characterized but before the level calculation process.
22358
22359 2014-01-21 16:05:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22360
22361         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22362           encoder: h264: clean-ups.
22363           Document and rename a few functions here and there. Drop code that
22364           caps num_bframes variable in reset_properties() since they shall
22365           have been checked beforehand, during properties initialization.
22366
22367 2014-01-21 15:28:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22368
22369         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22370           encoder: h264: clean-up bitwriter related utilities.
22371           Clean-up GstBitWriter related utility functions and simplify notations.
22372           While we are at it, also make bitstream writing more robust should an
22373           overflow occur. We could later optimize for writing headers capped to
22374           their maximum possible size by using the _unchecked() helper variants.
22375
22376 2014-01-21 15:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22377
22378         * gst-libs/gst/vaapi/Makefile.am:
22379         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22380         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22381           encoder: h264: completely remove private headers.
22382           Drop private header since it was originally used to expose internals
22383           to the plugin element. The proper interface is now the properties API,
22384           thus rendering private headers totally obsolete.
22385
22386 2014-01-15 15:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22387
22388         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22389           encoder: h264: fix PPS header packing with profile < high.
22390           Fix PPS header packing when profile is below High since 8x8 transform
22391           mode and scaling lists are High Profile features.
22392
22393 2014-01-15 15:46:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22394
22395         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22396           encoder: h264: always emit VUI parameters for framerate.
22397           Always emit VUI parameters for timing_info, which includes framerate
22398           information.
22399
22400 2014-01-15 15:10:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22401
22402         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22403           encoder: h264: really fix frame cropping rectangle calculation.
22404           Make frame cropping rectangle calculation future proof, i.e. exactly
22405           follow the specification (7-18) to (7-21), and subsampling definitions
22406           from Table 6-1.
22407           https://bugzilla.gnome.org/show_bug.cgi?id=722089
22408           https://bugzilla.gnome.org/show_bug.cgi?id=722238
22409
22410 2014-01-15 12:09:14 +0100  Holger Kaelberer <hk@getslash.de>
22411
22412         * gst/vaapi/gstvaapisink.c:
22413         * gst/vaapi/gstvaapisink.h:
22414           vaapisink: set csc render flags from sinkpad caps.
22415           This maps GstVideoColorimetry information in vaapisink's sinkpad caps
22416           to GST_VAAPI_COLOR_STANDARD_* flags, if per-buffer information was not
22417           available.
22418           https://bugzilla.gnome.org/show_bug.cgi?id=722255
22419           [factored out code, added SMPTE240M, handle per-buffer flags]
22420           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22421
22422 2012-03-28 15:05:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22423
22424         * gst-libs/gst/vaapi/gstvaapisurface.h:
22425         * gst-libs/gst/vaapi/gstvaapiutils.c:
22426         * gst/vaapi/gstvaapipostproc.c:
22427           surface: rework render flags.
22428           Pack render flags per category and provide more flags into the color
22429           standard category. In particular, cover for SMPTE-240M.
22430
22431 2013-12-13 04:14:41 +0800  Zhao, Halley <halley.zhao@intel.com>
22432
22433         * gst-libs/gst/vaapi/gstvaapifilter.c:
22434         * gst/vaapi/gstvaapipostproc.c:
22435         * gst/vaapi/gstvaapipostproc.h:
22436           vaapipostproc: add support for colorbalance filters.
22437           Add support for hue, saturation, brightness and constrat adjustments.
22438           Also fix cap info local copy to match the really expected cap subtype
22439           of interest.
22440           https://bugzilla.gnome.org/show_bug.cgi?id=720376
22441           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22442
22443 2013-12-12 08:38:12 +0800  Zhao, Halley <halley.zhao@intel.com>
22444
22445         * gst/vaapi/gstvaapipostproc.c:
22446           vaapipostproc: fix support for "sharpen" filter.
22447           Fix copy/paste error when submitting the "sharpen" value to the
22448           GstVaapiFilter instance.
22449           https://bugzilla.gnome.org/show_bug.cgi?id=720375
22450           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22451
22452 2013-12-20 12:05:42 +0000  Lionel Landwerlin <llandwerlin@gmail.com>
22453
22454         * configure.ac:
22455         * pkgconfig/gstreamer-vaapi-drm.pc.in:
22456         * pkgconfig/gstreamer-vaapi-glx.pc.in:
22457         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
22458         * pkgconfig/gstreamer-vaapi-x11.pc.in:
22459         * pkgconfig/gstreamer-vaapi.pc.in:
22460           pkgconfig: plugin dir should use PKG version not API version.
22461           Fix the pluginsdir and includedir variables in the generated pkgconfig
22462           (.pc) files. The location needs to be built with the PKG version in
22463           mind instead of the API version.
22464           While we are at it, also fix the PKG version for GStreamer >= 1.3.
22465           https://bugzilla.gnome.org/show_bug.cgi?id=720820
22466           [additional fixes for includedir and pkg requirements]
22467           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22468
22469 2014-01-15 10:05:45 +0100  Holger Kaelberer <hk@getslash.de>
22470
22471         * gst/vaapi/gstvaapisink.c:
22472           vaapisink: fix display initialization in GstVideoOverlay implementation.
22473           When gst_vaapisink_video_overlay_set_window_handle() is called early,
22474           before the pipeline has been set to PLAYING, the display has not yet
22475           been initialized and _PLUGIN_BASE_DISPLAY_TYPE() is not yet
22476           up-to-date. For this reason the foreign XID is not attached.
22477           Now _ensure_display() is called earlier.
22478           https://bugzilla.gnome.org/show_bug.cgi?id=722244
22479           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22480
22481 2013-10-09 13:47:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22482
22483         * gst/vaapi/gstvaapisink.c:
22484           vaapisink: expose the raw video formats in static caps template.
22485           Expose all raw video formats in the static caps template since the
22486           vaapisink is supporting raw data. We will get the exact set of formats
22487           supported by the driver dynamically through the _get_caps() routine.
22488           https://bugzilla.gnome.org/show_bug.cgi?id=703271
22489           https://bugzilla.gnome.org/show_bug.cgi?id=720737
22490           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22491
22492 2013-12-11 18:08:26 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
22493
22494         * gst/vaapi/gstvaapidecode.c:
22495           vaapidecode: query downstream caps features like GLTextureUploadMeta.
22496           Fix vaapidecode to correctly report caps features downstream, when
22497           a custom pipeline is built manually.
22498           https://bugzilla.gnome.org/show_bug.cgi?id=719372
22499           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22500
22501 2013-12-17 15:27:10 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
22502
22503         * gst/vaapi/gstvaapidecode.c:
22504           vaapidecode: add system memory caps to template caps.
22505           Since vaapidecode provides buffer that can be mapped as regular memory,
22506           those caps should be added to the template caps. That only applies to
22507           GStreamer >= 1.2.
22508           https://bugzilla.gnome.org/show_bug.cgi?id=720608
22509           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22510
22511 2013-12-17 10:26:03 +0800  Wind Yuan <feng.yuan@intel.com>
22512
22513         * gst/vaapi/gstvaapidecode.c:
22514           vaapidecode: fix hang on SIGINT.
22515           vaapidecode hangs when pipeline is stopped without any EOS, e.g. when
22516           <Ctrl>+C is pressed, thus causing the srcpad task to keep running and
22517           locked. This fixes a deadlock on state change from PAUSED to READY.
22518           https://bugzilla.gnome.org/show_bug.cgi?id=720584
22519           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22520
22521 2013-12-17 04:23:42 -0500  Wind Yuan <feng.yuan@intel.com>
22522
22523         * gst/vaapi/gstvaapiencode.c:
22524           vaapiencode: fix possible hang on SIGINT.
22525           vaapiencode might hang when the pipeline is stopped without any EOS,
22526           e.g. when <Ctrl>+C is pressed, thus causing the srcpad task to keep
22527           running and locked. This fixes a possible deadlock on state change
22528           from PAUSED to READY.
22529           https://bugzilla.gnome.org/show_bug.cgi?id=720584
22530           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22531
22532 2014-01-14 16:33:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22533
22534         * gst/vaapi/gstvaapiencode.c:
22535           vaapiencode: fix typo in error message.
22536           Fix incomplete error message in gst_vaapiencode_push_frame().
22537
22538 2014-01-14 19:08:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22539
22540         * gst/vaapi/gstvaapipluginutil.c:
22541         * gst/vaapi/gstvaapipluginutil.h:
22542           plugins: add helpers to create video caps with features.
22543           Add gst_vaapi_video_format_new_template_caps_with_features() helper
22544           function to add the supplied caps feature string on GStreamer >= 1.2.
22545           Add gst_vaapi_find_preferred_caps_feature() helper function to discover
22546           the "best" caps feature to use for the supplied pad. In practice, we
22547           will always favor memory:VASurface first, then meta:GLTextureUploadMeta,
22548           and finally the system memory caps.
22549           https://bugzilla.gnome.org/show_bug.cgi?id=719372
22550
22551 2014-01-09 11:54:11 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
22552
22553         * gst/vaapi/gstvaapivideometa_texture.c:
22554           plugins: don't apply overlay composition in GLTextureUpload function.
22555           The GLTextureUpload function is not in charge of doing the overlay
22556           composition if any.
22557           https://bugzilla.gnome.org/show_bug.cgi?id=721859
22558           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22559
22560 2014-01-14 13:47:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22561
22562         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22563           encoder: re-order submission of VA objects.
22564           Change the submission order of VA objects so that to make that process
22565           more logical. i.e. submit sequence parameter first, if any; next the
22566           packed headers associated to sequece, picture or slices; and finally
22567           the actual picture and associated slices.
22568
22569 2014-01-14 12:01:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22570
22571         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22572         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22573         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22574         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22575         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
22576           encoder: clean-up objects.
22577           Various clean-ups to improve consistency and readability: rename some
22578           variables, drop unused macro definitions, drop initialization of vars
22579           that are zero-initialized from the base class, drop un-necessary casts,
22580           allocate GPtrArrays with a destroy function.
22581
22582 2014-01-13 13:41:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22583
22584         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22585           encoder: h264: fix frame cropping rectangle calculation.
22586           Fix frame cropping rectangle calculation to handle horizontal resolutions
22587           that don't match a multiple of 16 pixels, but also the vertical resolution
22588           that was incorrectly computed for progressive sequences too.
22589           https://bugzilla.gnome.org/show_bug.cgi?id=722089
22590
22591 2014-01-13 11:49:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22592
22593         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22594           encoder: h264: improve automatic bitrate calculation.
22595           For non "Constant-QP" modes, we could provide more reasonable heuristics
22596           for the target bitrate. In general, 48 bits per macroblock with all the
22597           useful coding tools enable looks safe enough. Then, this rate is raised
22598           by +10% to +15% for each coding tool that is disabled.
22599           https://bugzilla.gnome.org/show_bug.cgi?id=719699
22600
22601 2014-01-13 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22602
22603         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22604           encoder: h264: support "high-compression" tuning option.
22605           Add support for "high-compression" tuning option. First, determine the
22606           largest supported profile by the hardware. Next, check any target limit
22607           set by the user. Then, enable each individual coding tool based on the
22608           resulting profile_idc value to use.
22609           https://bugzilla.gnome.org/show_bug.cgi?id=719696
22610
22611 2014-01-12 22:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22612
22613         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22614         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22615         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22616         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22617         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
22618         * gst/vaapi/gstvaapiencode_h264.c:
22619           encoder: h264: allow target decoder constraints.
22620           Allow user to precise the largest profile to use for encoding due
22621           to target decoder constraints. For instance, if CABAC entropy coding
22622           mode is requested by "constrained-baseline" profile only is desired,
22623           then an error is returned during codec configuration.
22624           Also make sure that the suitable profile we derived actually matches
22625           what the HW can cope with.
22626           https://bugzilla.gnome.org/show_bug.cgi?id=719694
22627
22628 2014-01-12 22:14:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22629
22630         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22631           encoder: h264: refine size of coded buffer.
22632           Refine the heuristic to determine the maximum size of a coded buffer
22633           to account for the exact number of slices. set_context_info() is the
22634           last step during codec reconfiguration, no additional change is done
22635           afterwards, so re-using the num_slices field here is fine.
22636           https://bugzilla.gnome.org/show_bug.cgi?id=719953
22637
22638 2013-12-13 17:36:08 +0800  Wind Yuan <feng.yuan@intel.com>
22639
22640         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22641         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22642         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22643           encoder: h264: expose more coding tools.
22644           Add new H.264 coding tools to improve compression:
22645           - "cabac": enable CABAC entropy coding (default: FALSE);
22646           - "dct8x8": enable spatial transform 8x8 (default: FALSE).
22647           https://bugzilla.gnome.org/show_bug.cgi?id=719693
22648           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22649
22650 2014-01-10 18:18:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22651
22652         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22653         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22654         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22655           encoder: h264: derive profile and level from active coding tools.
22656           Automatically derive the minimum profile and level to be used for
22657           encoding, based on the activated coding tools. The encoder will
22658           be trying to generate a bitstream that has the best chances to be
22659           decoded on most platforms by default.
22660           Also change the default profile to "constrained-baseline" so that
22661           to ensure maximum compatibility when the stream is decoded.
22662           https://bugzilla.gnome.org/show_bug.cgi?id=719691
22663
22664 2014-01-10 17:02:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22665
22666         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22667         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22668         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22669           encoder: h264: fix hardware profile lookup.
22670           Fix lookup for a suitable HW profile, as to be used by the underlying
22671           hardware, based on heuristics that lead to characterize the SW profile,
22672           i.e. the one used by the SW level encoding logic.
22673           Also fix constraint_set0_flag (A.2.1) and constraint_set1_flag (A.2.2)
22674           as they should respectively match the baseline and main profile.
22675           https://bugzilla.gnome.org/show_bug.cgi?id=719827
22676
22677 2014-01-10 14:46:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22678
22679         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22680         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22681         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22682           encoder: h264: support only the byte-stream format.
22683           The libgstvaapi core encoders are meant to support raw bitstreams only.
22684           Henceforth, we are always producing a stream in "byte-stream" format.
22685           However, the "codec-data" buffer which holds SPS and PPS headers is
22686           always available. The "lengthSizeMinusOne" field is always set to 3
22687           so that in-place "byte-stream" format to "avc" format conversion could
22688           be performed.
22689
22690 2014-01-10 14:05:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22691
22692         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22693         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22694         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22695         * gst/vaapi/gstvaapiencode_h264.c:
22696           encoder: h264: clean-ups.
22697           Various clean-ups to improve consistency and readability: rename some
22698           variables, drop unused macro definitions, drop initialization of vars
22699           that are zero-initialized from the base class, drop un-necessary casts.
22700
22701 2014-01-13 17:11:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22702
22703         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22704           encoder: mpeg2: fix hardware profile lookup.
22705           Fix lookup for a suitable HW profile, as to be used by the underlying
22706           hardware, based on heuristics that lead to characterize the SW profile,
22707           i.e. the one used by the SW level encoding logic.
22708
22709 2014-01-13 16:56:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22710
22711         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22712         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22713           encoder: mpeg2: derive profile and level from active coding tools.
22714           Automatically derive the minimum profile and level to be used for
22715           encoding, based on the activated coding tools. Improve lookup for
22716           the best suitable level with the new MPEG-2 helper functions.
22717           Also change the default profile to "simple" so that to ensure maximum
22718           compatibility when the stream is decoded.
22719           https://bugzilla.gnome.org/show_bug.cgi?id=719703
22720
22721 2014-01-13 14:41:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22722
22723         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22724         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22725         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22726           encoder: mpeg2: clean-ups.
22727           Various clean-ups to improve consistency and readability: drop unused
22728           macro definitions, drop initialization of vars that are zero-initialized
22729           from the base class, drop un-necessary casts.
22730
22731 2014-01-13 10:48:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22732
22733         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22734         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22735         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22736         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22737         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22738           encoder: add tuning options API.
22739           Add encoder "tune" option to override the default behaviour that is to
22740           favor maximum decoder compatibility at the expense of lower compression
22741           ratios.
22742           Expected tuning options to be developed are:
22743           - "high-compression": improve compression, target best-in-class decoders;
22744           - "low-latency": tune for low-latency decoding;
22745           - "low-power": tune for encoding in low power / resources conditions.
22746
22747 2014-01-12 23:17:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22748
22749         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22750         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22751           encoder: fix bitrate units to match kbps.
22752           Bitrate is expressed in kilobits per second (kbps). So, this exactly
22753           means in multiple of 1000 bits, not 1024 bits.
22754           https://bugzilla.gnome.org/show_bug.cgi?id=722086
22755
22756 2014-01-12 21:57:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22757
22758         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22759         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22760         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22761           encoder: clean-ups.
22762           Drop obsolete and unused macros. Add a few doc comments. Slightly
22763           improve indentation of a few leftovers.
22764
22765 2014-01-12 18:52:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22766
22767         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22768         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22769         * gst-libs/gst/vaapi/gstvaapivalue.c:
22770         * gst-libs/gst/vaapi/gstvaapivalue.h:
22771           encoder: filter out the supported set of rate-control properties.
22772           Only expose the exact static set of supported rate-control properties
22773           to the upper layer. For instance, if the GstVaapiEncoderXXX class does
22774           only support CQP rate control, then only add it the the exposed enum
22775           type.
22776           Add helper macros and functions to build a GType for an enum subset.
22777
22778 2014-01-10 13:23:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22779
22780         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22781         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22782         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22783         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22784         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22785         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22786         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22787         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22788         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22789           encoder: add keyframe period API.
22790           Add gst_vaapi_encoder_set_keyframe_period() interface to allow the
22791           user control the maximum distance between two keyframes. This new
22792           property can only be set prior to gst_vaapi_encoder_set_codec_state().
22793           A value of zero for "keyframe-period" gets it re-evaluated to the
22794           actual framerate during encoder reconfiguration.
22795
22796 2014-01-10 12:01:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22797
22798         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22799         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22800         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22801         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22802           encoder: improve codec reconfiguration.
22803           Improve codec reconfiguration to be performed only through a single
22804           function. That is, remove the _set_context_info() hook as subclass
22805           should not alter the parent GstVaapiContextInfo itself. Besides, the
22806           VA context is constructed only at the final stages of reconfigure().
22807
22808 2014-01-10 11:30:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22809
22810         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
22811         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
22812         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22813           encoder: fix possible memory leak of coded buffer pools.
22814           Fix gst_vaapi_encoder_reconfigure_internal() to re-/allocate the coded
22815           buffer pool only if the coded buffer size actually changed.
22816
22817 2014-01-10 10:54:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22818
22819         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22820         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22821         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22822         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22823         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22824         * gst/vaapi/gstvaapiencode.c:
22825         * gst/vaapi/gstvaapiencode.h:
22826           encoder: add video codec-state API.
22827           Add interface to communicate the encoder resolution and related info
22828           like framerate, interlaced vs. progressive, etc. This new interface
22829           supersedes gst_vaapi_encoder_set_format() and doesn't use any GstCaps
22830           but rather use GstVideoCodecState.
22831           Note that gst_vaapi_encoder_set_codec_state() is also a synchronization
22832           point for codec config. This means that the encoder is reconfigured
22833           there to match the latest properties.
22834
22835 2014-01-13 17:18:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22836
22837         * gst/vaapi/gstvaapiencode.c:
22838           vaapiencode: don't crash on NULL encoder on _finish().
22839           Don't try to destroy an encoder, in GstVideoEncoder::finish() handler,
22840           if it was not created in the first place. Return "not-negotiated" error
22841           since this means we did not even reach GstVideoEncoder::set_format(),
22842           where the encoder could have been created.
22843           This fixes a crash when the vaapiencode_* plug-in elements get deallocated
22844           and that we failed to negotiate either pad.
22845           https://bugzilla.gnome.org/show_bug.cgi?id=719704
22846
22847 2014-01-09 18:20:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22848
22849         * gst/vaapi/gstvaapiencode.c:
22850         * gst/vaapi/gstvaapiencode.h:
22851         * gst/vaapi/gstvaapiencode_h264.c:
22852           vaapiencode: use more GstVaapiPluginBase facilities.
22853           Avoid duplication of pad references or query functions since they are
22854           provided through the GstVaapiPluginBase object.
22855
22856 2014-01-09 18:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22857
22858         * gst/vaapi/gstvaapiencode.c:
22859         * gst/vaapi/gstvaapiencode.h:
22860         * gst/vaapi/gstvaapiencode_h264.c:
22861         * gst/vaapi/gstvaapiencode_h264.h:
22862         * gst/vaapi/gstvaapiencode_mpeg2.c:
22863           vaapiencode: fix negotiation process of output caps.
22864           The specified caps in gst_video_encoder_set_output_state() function
22865           arguments should not contain any resolution, pixel-aspect-ratio,
22866           framerate, codec-data et al. Those rather should be set through the
22867           returned GstVideoCodecState. This means that output caps creation
22868           could be delayed until before gst_video_encoder_finish_frame() is
22869           called.
22870           This greatly simplifies the GstVideoEncoder::set_format() callback
22871           by the way.
22872
22873 2014-01-08 18:56:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22874
22875         * gst/vaapi/gstvaapiencode.c:
22876           vaapiencode: make GstVaapiEncode an abstract type.
22877           Make base GstVaapiEncode class an abstract type so that we cannot
22878           create an instance from it without going through any of the codec
22879           specific derived class.
22880
22881 2014-01-09 10:09:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22882
22883         * gst/vaapi/gstvaapiencode.c:
22884         * gst/vaapi/gstvaapiencode.h:
22885         * gst/vaapi/gstvaapiencode_h264.c:
22886         * gst/vaapi/gstvaapiencode_mpeg2.c:
22887           vaapiencode: rename a few member functions.
22888           Rename a few member functions to make them more consistent:
22889           - alloc_encoder(): now reduced to allocate the encoder object only;
22890           - alloc_buffer(): allocate buffer from srcpad, and copy bitstream.
22891
22892 2014-01-08 18:36:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22893
22894         * gst/vaapi/gstvaapiencode.c:
22895         * gst/vaapi/gstvaapiencode.h:
22896         * gst/vaapi/gstvaapiencode_h264.c:
22897         * gst/vaapi/gstvaapiencode_h264.h:
22898         * gst/vaapi/gstvaapiencode_mpeg2.c:
22899           vaapiencode: update for new properties API.
22900           Update MPEG-2 and H.264 encode elements to cope with the new core
22901           libgstvaapi properties API. i.e. all configurable properties are now
22902           directly handled at the GstVaapiEncoder level.
22903           Besides, this also makes sure to not use or modify the GstVaapiEncoder
22904           private definitions directly. Private data need to remain private.
22905           https://bugzilla.gnome.org/show_bug.cgi?id=719529
22906
22907 2014-01-06 17:46:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22908
22909         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22910         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22911         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22912         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22913         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22914         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22915         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22916           encoder: add properties API.
22917           Add interface to communicate configurable properties to the encoder.
22918           This covers both the common ones (rate-control, bitrate), and the
22919           codec specific properties.
22920           https://bugzilla.gnome.org/show_bug.cgi?id=719529
22921
22922 2014-01-06 18:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22923
22924         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22925         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22926         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22927         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22928         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22929         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22930         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22931         * gst/vaapi/gstvaapiencode.c:
22932         * gst/vaapi/gstvaapiencode_h264.c:
22933         * gst/vaapi/gstvaapiencode_mpeg2.c:
22934           encoder: add bitrate API.
22935           Add gst_vaapi_encoder_set_bitrate() interface to allow the user control
22936           the bitrate for encoding. Currently, changing this parameter is only
22937           valid before the first frame is encoded. Should the value be modified
22938           afterwards, then GST_VAAPI_ENCODER_STATUS_ERROR_OPERATION_FAILED is
22939           returned.
22940           https://bugzilla.gnome.org/show_bug.cgi?id=719529
22941
22942 2014-01-06 15:10:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22943
22944         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22945         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22946         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22947         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22948         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22949         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22950         * gst-libs/gst/vaapi/gstvaapitypes.h:
22951         * gst/vaapi/gstvaapiencode.c:
22952         * gst/vaapi/gstvaapiencode.h:
22953         * gst/vaapi/gstvaapiencode_h264.c:
22954         * gst/vaapi/gstvaapiencode_mpeg2.c:
22955           encoder: add rate control API.
22956           Add gst_vaapi_encoder_set_rate_control() interface to request a new
22957           rate control mode for encoding. Changing the rate control mode is
22958           only valid prior to encoding the very first frame. Afterwards, an
22959           error ("operation-failed") is issued.
22960           https://bugzilla.gnome.org/show_bug.cgi?id=719529
22961
22962 2014-01-03 16:57:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22963
22964         * gst/vaapi/gstvaapiencode.c:
22965         * gst/vaapi/gstvaapiencode_h264.c:
22966         * gst/vaapi/gstvaapiencode_mpeg2.c:
22967           vaapiencode: fix indentation.
22968
22969 2014-01-03 16:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22970
22971         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22972         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22973         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22974         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22975         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22976         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22977         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22978         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22979         * gst/vaapi/gstvaapiencode.h:
22980           encoder: fix indentation.
22981
22982 2014-01-13 16:20:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22983
22984         * gst-libs/gst/vaapi/Makefile.am:
22985         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
22986         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
22987         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
22988           utils: add new MPEG-2 helper functions.
22989           Add various helper functions to convert profile, level, chroma formats
22990           from gstreamer-vaapi world and the MPEG-2 specification world.
22991
22992 2014-01-10 19:49:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22993
22994         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22995           utils: h264: don't use fatal asserts.
22996           Replace g_assert() with a g_debug() so that to not make the program
22997           abort when an unsupported value is supplied.
22998
22999 2014-01-10 19:37:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23000
23001         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23002         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
23003           utils: h264: add helpers for profile and level string mappings.
23004           Add profile and level helper functions to convert to/from strings.
23005
23006 2014-01-10 18:27:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23007
23008         * gst-libs/gst/vaapi/Makefile.am:
23009         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23010         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23011         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
23012         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
23013           utils: h264: expose levels in public header.
23014           Instal <gst/vaapi/gstvaapiutils_h264.h> header but only expose the
23015           H.264 levels in there. The additional helper functions are meant
23016           to be private for now.
23017
23018 2014-01-09 09:27:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23019
23020         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23021         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23022         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23023         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23024           codec: add helper macros to maintain object refcount.
23025           Add gst_vaapi_mini_object_{ref,unref,replace}() helper macros so that
23026           to avoid explicit casts to GstVaapiMiniObject in all caller sites.
23027
23028 2014-01-09 09:30:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23029
23030         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23031         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23032           codec: re-indent decoder objects.
23033
23034 2014-01-09 09:10:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23035
23036         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23037         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23038           codec: re-indent base codec objects.
23039
23040 2014-01-03 12:49:05 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23041
23042         * gst/vaapi/gstvaapipluginbase.c:
23043           plugins: do not free debug category in finalize method.
23044           Fixes a crash when multiple vaapidecode elements are finalized since
23045           the debug category is created once in the class init method.
23046           This is a regression from git commit 7e58d60.
23047           https://bugzilla.gnome.org/show_bug.cgi?id=721390
23048           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23049
23050 2014-01-02 11:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23051
23052         * gst-libs/gst/vaapi/glibcompat.h:
23053         * tests/simple-decoder.c:
23054           tests: simple-decoder: don't use deprecated g_thread_create().
23055           Use g_thread_try_new() instead of the deprecated g_thread_create()
23056           function. Provide compatibility glue for any GLib version < 2.31.2.
23057
23058 2014-01-02 11:17:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23059
23060         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23061         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
23062         * gst-libs/gst/vaapi/gstvaapisurface.c:
23063         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
23064         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
23065         * gst/vaapi/gstvaapiencode.c:
23066           Fix printf()-like formats.
23067           Fix formts for various GST_DEBUG et al. invocations. More precisely,
23068           make size_t arguments use the %zu format specifier accordingly; force
23069           XID formats to be a 32-bit unsigned integer; and fix the format used
23070           for gst_vaapi_create_surface_with_format() error cases since we have
23071           been using strings nowadays.
23072
23073 2013-12-21 07:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23074
23075         * gst-libs/gst/vaapi/video-format.c:
23076         * gst-libs/gst/vaapi/video-format.h:
23077           utils: format: drop unused helper functions.
23078           The following helper functions are no longer used, thus are removed:
23079           - gst_vaapi_video_format_from_structure()
23080           - gst_vaapi_video_format_from_caps()
23081           - gst_vaapi_video_format_to_caps()
23082
23083 2013-12-21 07:29:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23084
23085         * gst-libs/gst/vaapi/video-format.c:
23086         * gst-libs/gst/vaapi/video-format.h:
23087           utils: re-indent GstVideoFormat related helpers.
23088
23089 2013-12-21 08:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23090
23091         * gst/vaapi/gstvaapidownload.c:
23092           download: use GstVideoInfo facilities to build output caps.
23093           Use standard GstVideoInfo related functions to build the output caps,
23094           thus directly preserving additional fields as needed, instead of
23095           manually copying them over through gst_vaapi_append_surface_caps().
23096           Also ensure that the input caps are fixated first.
23097
23098 2013-12-21 10:41:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23099
23100         * gst/vaapi/gstvaapidownload.c:
23101         * gst/vaapi/gstvaapipluginutil.c:
23102         * gst/vaapi/gstvaapipluginutil.h:
23103         * gst/vaapi/gstvaapiuploader.c:
23104           plugins: factor out construction of template caps.
23105           Add new helper functions to build video template caps.
23106           - gst_vaapi_video_format_new_template_caps():
23107           create GstCaps with size, frame rate and PAR to full range
23108           - gst_vaapi_video_format_new_template_caps_from_list():
23109           try to create a "simplified" list from the supplied formats
23110
23111 2013-12-21 06:41:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23112
23113         * gst/vaapi/gstvaapipluginutil.c:
23114         * gst/vaapi/gstvaapipluginutil.h:
23115         * gst/vaapi/gstvaapipostproc.c:
23116           plugins: factor out construction of GValue from GstVideoFormat.
23117           Add new helper functions to build GValues from GstVideoFormat:
23118           - gst_vaapi_value_set_format():
23119           build a GValue from the supplied video format
23120           - gst_vaapi_value_set_format_list():
23121           build a GValue list from the supplied array of video formats
23122
23123 2013-12-21 06:22:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23124
23125         * gst/vaapi/gstvaapipluginutil.c:
23126         * gst/vaapi/gstvaapipluginutil.h:
23127         * gst/vaapi/gstvaapivideocontext.c:
23128         * gst/vaapi/gstvaapivideocontext.h:
23129           plugins: re-indent common and video context creation utils.
23130
23131 2013-12-20 15:31:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23132
23133         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23134         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23135         * gst/vaapi/gstvaapidecode.c:
23136         * tests/test-display.c:
23137           display: don't use GstCaps for decode or encode profiles list.
23138           Replace gst_vaapi_display_get_{decode,encode}_caps() APIs with more
23139           more convenient APIs that return an array of GstVaapiProfile instead
23140           of GstCaps: gst_vaapi_display_get_{decode,encode}_profiles().
23141
23142 2013-12-20 15:15:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23143
23144         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23145         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23146         * gst/vaapi/gstvaapidownload.c:
23147         * gst/vaapi/gstvaapiuploader.c:
23148         * tests/test-display.c:
23149           display: don't use GstCaps for image or subpicture formats list.
23150           Replace gst_vaapi_display_get_{image,subpicture}_caps() APIs, that
23151           returned GstCaps, with more convenient APIs that return an array of
23152           GstVideoFormat: gst_vaapi_display_get_{image,subpicture}_formats().
23153
23154 2013-12-20 14:01:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23155
23156         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23157         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23158         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23159           display: allocate queried resources on-demand.
23160           Allocate the set of decoders or encoders on-demand, when they are
23161           queried. Likewise for VA display attributes, image and subpicture
23162           formats.
23163
23164 2013-12-20 13:27:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23165
23166         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23167         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23168         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
23169         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
23170         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
23171         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
23172         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
23173         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
23174         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23175         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23176         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
23177         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
23178         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
23179         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
23180         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
23181         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
23182         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
23183           display: re-indent all GstVaapiDisplay related source code.
23184
23185 2013-12-20 16:04:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23186
23187         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23188         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23189           utils: add helper functions to get codec or profile name.
23190
23191 2013-12-20 17:08:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23192
23193         * gst/vaapi/gstvaapipostproc.c:
23194         * gst/vaapi/gstvaapipostproc.h:
23195         * gst/vaapi/gstvaapiuploader.c:
23196           plugins: fix permissions for certain files.
23197           Drop the execute bit for gstvaapiuploader.c and gstvaapipostproc.[ch]
23198           files.
23199
23200 2013-12-12 17:01:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23201
23202         * gst/vaapi/gstvaapivideometa_texture.c:
23203           plugins: implement GLTextureUploadMeta user data copy.
23204           Makes the copies of a buffer reference their own GLTextureUploadMeta
23205           user data and prevent the original buffer accessing already freed
23206           memory if its copies has been released and freed.
23207           https://bugzilla.gnome.org/show_bug.cgi?id=720336
23208           [Propagate the original meta texture to the copy too]
23209           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23210
23211 2013-12-17 18:52:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23212
23213         * gst/vaapi/gstvaapiencode.c:
23214         * gst/vaapi/gstvaapiencode.h:
23215         * gst/vaapi/gstvaapipluginbase.c:
23216         * gst/vaapi/gstvaapipluginbase.h:
23217         * gst/vaapi/gstvaapipostproc.c:
23218         * gst/vaapi/gstvaapipostproc.h:
23219         * gst/vaapi/gstvaapisink.c:
23220         * gst/vaapi/gstvaapisink.h:
23221           plugins: factor out support for raw YUV buffers on sink pads.
23222           Factor out propose_allocation() hooks, creation of video buffer pool
23223           for the sink pad, conversion from raw YUV buffers to VA surface backed
23224           buffers. Update vaapidecode, vaapiencode and vaapipostproc to cope
23225           with the new GstVaapiPluginBase abilities.
23226
23227 2013-12-17 18:46:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23228
23229         * gst-libs/gst/vaapi/gstcompat.h:
23230         * gst/vaapi/gstvaapidecode.c:
23231         * gst/vaapi/gstvaapidecode.h:
23232         * gst/vaapi/gstvaapidownload.c:
23233         * gst/vaapi/gstvaapipluginbase.c:
23234         * gst/vaapi/gstvaapipluginbase.h:
23235         * gst/vaapi/gstvaapipostproc.c:
23236         * gst/vaapi/gstvaapipostproc.h:
23237         * gst/vaapi/gstvaapisink.c:
23238         * gst/vaapi/gstvaapiupload.c:
23239           plugins: factor out pad caps.
23240
23241 2013-12-13 16:03:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23242
23243         * gst/vaapi/gstvaapidecode.c:
23244         * gst/vaapi/gstvaapidownload.c:
23245         * gst/vaapi/gstvaapiencode.c:
23246         * gst/vaapi/gstvaapipluginbase.c:
23247         * gst/vaapi/gstvaapipostproc.c:
23248         * gst/vaapi/gstvaapisink.c:
23249         * gst/vaapi/gstvaapiupload.c:
23250           plugins: factor out video context sharing code.
23251
23252 2013-12-13 13:24:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23253
23254         * gst/vaapi/gstvaapidecode.c:
23255         * gst/vaapi/gstvaapidownload.c:
23256         * gst/vaapi/gstvaapiencode.c:
23257         * gst/vaapi/gstvaapipluginbase.c:
23258         * gst/vaapi/gstvaapipluginbase.h:
23259         * gst/vaapi/gstvaapipostproc.c:
23260         * gst/vaapi/gstvaapisink.c:
23261         * gst/vaapi/gstvaapiupload.c:
23262           plugins: factor out GstImplementsInterface.
23263
23264 2013-12-13 12:00:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23265
23266         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23267         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23268         * gst/vaapi/gstvaapipluginbase.c:
23269         * gst/vaapi/gstvaapipluginutil.c:
23270           plugins: check type of display obtained from neighbours.
23271           Fix display creation code to check that any display obtained from a
23272           neighbour actually has the type we expect. Note: if display type is
23273           set to "any", we can then accept any VA display type.
23274
23275 2013-12-13 11:52:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23276
23277         * gst/vaapi/gstvaapidecode.c:
23278         * gst/vaapi/gstvaapidownload.c:
23279         * gst/vaapi/gstvaapiencode.c:
23280         * gst/vaapi/gstvaapipluginbase.c:
23281         * gst/vaapi/gstvaapipluginbase.h:
23282         * gst/vaapi/gstvaapipluginutil.c:
23283         * gst/vaapi/gstvaapipluginutil.h:
23284         * gst/vaapi/gstvaapipostproc.c:
23285         * gst/vaapi/gstvaapisink.c:
23286         * gst/vaapi/gstvaapisink.h:
23287         * gst/vaapi/gstvaapiupload.c:
23288           plugins: factor out display creation process.
23289           Move common VA display creation code to GstVaapiPluginBase, with the
23290           default display type remaining "any". Also add a "display-changed"
23291           hook so that subclasses could perform additional tasks when/if the
23292           VA display changed, due to a new display type request for instance.
23293           All plug-ins are updated to cope with the new internal APIs.
23294
23295 2013-12-13 10:24:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23296
23297         * gst/vaapi/Makefile.am:
23298         * gst/vaapi/gstvaapidecode.c:
23299         * gst/vaapi/gstvaapidecode.h:
23300         * gst/vaapi/gstvaapidownload.c:
23301         * gst/vaapi/gstvaapidownload.h:
23302         * gst/vaapi/gstvaapiencode.c:
23303         * gst/vaapi/gstvaapiencode.h:
23304         * gst/vaapi/gstvaapipluginbase.c:
23305         * gst/vaapi/gstvaapipluginbase.h:
23306         * gst/vaapi/gstvaapipostproc.c:
23307         * gst/vaapi/gstvaapipostproc.h:
23308         * gst/vaapi/gstvaapisink.c:
23309         * gst/vaapi/gstvaapisink.h:
23310         * gst/vaapi/gstvaapiupload.c:
23311         * gst/vaapi/gstvaapiupload.h:
23312           plugins: add new base object, store display in there.
23313           Introduce a new GstVaapiPluginBase object that will contain all common
23314           data structures and perform all common tasks. First step is to have a
23315           single place to hold VA displays.
23316           While we are at it, also make sure to store and subsequently release
23317           the appropriate debug category for the subclasses.
23318
23319 2013-12-11 14:04:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23320
23321         * gst-libs/gst/vaapi/gstvaapiobject.h:
23322         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
23323         * gst/vaapi/gstvaapivideometa_texture.c:
23324         * gst/vaapi/gstvaapivideometa_texture.h:
23325           plugins: fix GLTextureUploadMeta to work with different texture ids.
23326           The GLTextureUploadMeta implementation assumed that for each upload()
23327           sequence, the supplied texture id is always the same as the one that
23328           was previously cached into the underlying GstVaapiTexture. Cope with
23329           any texture id change the expense to recreate the underlying VA/GLX
23330           resources.
23331           https://bugzilla.gnome.org/show_bug.cgi?id=719643
23332
23333 2013-12-11 13:25:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23334
23335         * gst/vaapi/gstvaapidecode.c:
23336         * gst/vaapi/gstvaapivideobufferpool.c:
23337         * gst/vaapi/gstvaapivideometa_texture.c:
23338           plugins: allow builds without GLX enabled for GStreamer 1.2.
23339           Don't try to build GLTextureUploadMeta related code if GLX is not
23340           enabled during GStreamer >= 1.2 builds.
23341
23342 2013-11-20 17:20:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23343
23344         * gst/vaapi/gstvaapidecode.c:
23345         * gst/vaapi/gstvaapivideobufferpool.c:
23346         * gst/vaapi/gstvaapivideobufferpool.h:
23347         * gst/vaapi/gstvaapivideometa_texture.c:
23348         * gst/vaapi/gstvaapivideometa_texture.h:
23349           plugins: request GLTextureUpload meta on buffers in the buffer pool.
23350           Requesting the GLTextureUpload meta on buffers in the bufferpool
23351           prevents such metas from being de-allocated when buffers are released
23352           in the sink.
23353           This is particulary useful in terms of performance when using the
23354           GLTextureUploadMeta API since the GstVaapiTexture associated with
23355           the target texture is stored in the meta.
23356           https://bugzilla.gnome.org/show_bug.cgi?id=712558
23357           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23358
23359 2013-12-11 10:51:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23360
23361         * gst/vaapi/gstvaapivideometa_texture.c:
23362           plugins: robustify GstVideoGLTextureUploadMeta implementation.
23363           Make GstVideoGLTextureUploadMeta::upload() implementation more robust
23364           when the GstVaapiTexture associated with the supplied texture id could
23365           not be created.
23366
23367 2013-12-10 16:14:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23368
23369         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23370           h264: improve robustness when packets are missing.
23371           Improve robustness when some expected packets where not received yet
23372           or that were not correctly decoded. For example, don't try to decode
23373           a picture if there was no valid frame headers parsed so far.
23374           https://bugs.freedesktop.org/show_bug.cgi?id=57902
23375
23376 2013-12-10 14:20:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23377
23378         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23379           decoder: h264: fix decoding of BA3_SVA_C.264.
23380           Conformance test Base_Ext_Main_profiles/BA3_SVA_C.264 complys with
23381           extended profile specifications. However, the SPS header has the
23382           constraint_set1_flag syntax element set to 1. This means that, if
23383           a Main profile compliant decoder is available, then it should be
23384           able to decode this stream.
23385           This changes makes it possible to fall-back from Extended profile
23386           to Main profile if constraint_set1_flag is set to 1.
23387           https://bugzilla.gnome.org/show_bug.cgi?id=720190
23388
23389 2013-12-10 11:13:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23390
23391         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23392         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23393           utils: h264: add more profiles.
23394           Add extended profile (A.2.3), high 4:2:2 profile (A.2.6), high 4:2:2
23395           profiles (A.2.7, A.2.10), scalable profiles (G.10.1.1, G.10.1.2) and
23396           multiview profiles (H.10.1.1, H.10.1.2).
23397           Document "Constrained Baseline" and "High 10" profiles.
23398
23399 2013-12-10 15:21:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23400
23401         * ext/codecparsers:
23402           codecparsers: update to gst-vaapi-branch commit e7d0e18.
23403           e7d0e18 h264: complete set of NAL unit types
23404
23405 2013-12-06 15:08:26 +0800  Wind Yuan <feng.yuan@intel.com>
23406
23407         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23408         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23409           decoder: h264: add support for constrained baseline profile.
23410           Recognize streams marked as conforming to the "Constrained Baseline
23411           Profile". If VA driver supports that as is, fine. Otherwise, fallback
23412           to baseline, main or high profile.
23413           Constrained Baseline Profile conveys coding tools that are common
23414           to baseline profile and main profile.
23415           https://bugzilla.gnome.org/show_bug.cgi?id=719947
23416           [Added fallbacks to main and high profiles]
23417           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23418
23419 2013-12-09 12:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23420
23421         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23422           decoder: h264: fix decoding of scaling lists.
23423           The GStreamer codecparser layer now parses the scaling lists in zigzag
23424           scan order, as expected, so that to match the original bitstream layout
23425           and specification. However, further convert the scaling lists into
23426           raster scan order to fit the existing practice in most VA drivers.
23427           https://bugzilla.gnome.org/show_bug.cgi?id=706406
23428
23429 2013-12-09 12:07:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23430
23431         * ext/codecparsers:
23432           codecparsers: update to gst-vaapi-branch commit 177c73b.
23433           a7e3255 add H.265 (HEVC) bitstream parser
23434           177c73b h264: fix picture level scaling lists derivation (rule B)
23435           14733f1 h264: fix parsing of VCL HRD parameters
23436           59a0b47 h264: store quantization matrices in zig-zag order
23437           ffb6e26 h264: add helpers to convert quantization matrices
23438           c78a504 mpeg2: also initialize debug category in parse_sequence_header()
23439           719d1b0 mpeg2: turn internal consistency check into a g_assert()
23440           5241d8e all: remove some unused functions
23441           18eb312 all: fix for GST_DISABLE_GST_DEBUG
23442           963c04a all: make warnings more meaningful
23443
23444 2013-12-06 19:05:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23445
23446         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23447         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23448         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
23449           utils: add helpers for H.264 levels.
23450           - gst_vaapi_utils_h264_get_level():
23451           Returns GstVaapiLevelH264 from H.264 level_idc value
23452           - gst_vaapi_utils_h264_get_level_idc():
23453           Returns H.264 level_idc value from GstVaapiLevelH264
23454           - gst_vaapi_utils_h264_get_level_limits():
23455           Returns level limits as specified in Table A-1 of the H.264 standard
23456           - gst_vaapi_utils_h264_get_level_limits_table():
23457           Returns the Table A-1 specification
23458
23459 2013-12-06 17:34:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23460
23461         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23462         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23463         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23464           utils: add new H.264 profiles.
23465           Add "Constrained Baseline Profile" and "High 10 Profile" definitions
23466           and helper functiions.
23467
23468 2013-12-06 17:21:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23469
23470           utils: add new H.264 helper functions.
23471           * Profiles:
23472           - gst_vaapi_utils_h264_get_profile():
23473           Returns GstVaapiProfile from H.264 profile_idc value
23474           - gst_vaapi_utils_h264_get_profile_idc():
23475           Returns H.264 profile_idc value from GstVaapiProfile
23476           * Chroma formats:
23477           - gst_vaapi_utils_h264_get_chroma_type():
23478           Returns GstVaapiChromaType from H.264 chroma_format_idc value
23479           - gst_vaapi_utils_h264_get_chroma_format_idc():
23480           Returns H.264 chroma_format_idc value from GstVaapiChromaType
23481
23482 2013-12-03 11:05:17 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23483
23484         * gst-libs/gst/base/Makefile.am:
23485         * gst-libs/gst/vaapi/Makefile.am:
23486           Fix missing files in distribution tarball.
23487           https://bugzilla.gnome.org/show_bug.cgi?id=719776
23488           [Additional fixes and clean-ups]
23489           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23490
23491 2013-12-05 18:13:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23492
23493         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23494         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23495           encoder: fix computation of max coded buffer size (again).
23496           The previous fix was only valid to express the maximum size of the
23497           macroblock layer, i.e. without any headers. Now, also account for
23498           the slice headers and top picture header, but also any other header
23499           we might stuff into the VA coded buffer, e.g. sequence headers.
23500
23501 2013-12-04 19:10:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23502
23503         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23504         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23505         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23506           encoder: fix computation of max coded buffer size.
23507           Fix coded buffer size for each codec. A generic issue was that the
23508           number of macroblocks was incorrectly computed. The second issue was
23509           specific to MPEG-2 were the max number of bits per macroblock, and
23510           as defined by the standard, was incorrectly mapped to the (lower)
23511           H.264 requirement. i.e. 4608 bits vs. 3200 bits limit.
23512
23513 2013-12-04 18:48:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23514
23515         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23516         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23517         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23518         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23519           encoder: simplify VA context initialization process.
23520           Change get_context_info() into a set_context_info() function that
23521           initializes common defaults into the base class, thus allowing the
23522           subclasses to specialize the context info further on.
23523           The set_context_info() hook is also the location where additional
23524           context specific data could be initialized. At this point, we are
23525           guaranteed to have valid video resolution size and framerate. i.e.
23526           gst_vaapi_encoder_set_format() was called beforehand.
23527
23528 2013-11-26 14:38:23 +0800  Wind Yuan <feng.yuan@intel.com>
23529
23530         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23531           encoder: fix mpeg2 compilation error.
23532           https://bugzilla.gnome.org/show_bug.cgi?id=719746
23533           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23534
23535 2013-12-04 17:55:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23536
23537         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23538         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23539         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23540         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23541         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23542         * gst/vaapi/gstvaapiencode.c:
23543           encoder: clean-ups and document public APIs.
23544           Clean public APIs up so that to better align with the decoder APIs.
23545           Most importantly, gst_vaapi_encoder_get_buffer() is changed to only
23546           return the VA coded buffer proxy. Also provide useful documentation
23547           for the public APIs.
23548
23549 2013-12-04 17:05:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23550
23551         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23552         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23553         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23554           encoder: avoid extra allocations of GstVaapiEncoderSyncPic objects.
23555           Kill GstVaapiEncoderSyncPic objects that are internally and temporarily
23556           allocated. Rather, associate a GstVaapiEncPicture to a coded buffer
23557           through GstVaapiCodedBufferProxy user-data facility.
23558           Besides, use a GAsyncQueue to maintain a thread-safe queue object of
23559           coded buffers.
23560           Partial fix for the following report:
23561           https://bugzilla.gnome.org/show_bug.cgi?id=719530
23562
23563 2013-12-03 17:04:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23564
23565         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23566         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23567         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23568         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23569         * gst/vaapi/gstvaapiencode.c:
23570           encoder: refactor status codes.
23571           Drop obsolete or unused status codes. Align some status codes with the
23572           decoder counterparts.
23573
23574 2013-12-04 11:54:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23575
23576         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23577         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23578         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23579         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23580         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
23581         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23582           encoder: fix subclassing process.
23583           Fix the GstVaapiEncoderClass parent class type. Make sure to validate
23584           subclass hooks as early as possible, i.e. in gst_vaapi_encoder_init(),
23585           thus avoiding useless run-time checks. Also simplify the subclass
23586           initialization process to be less error prone.
23587
23588 2013-12-03 16:11:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23589
23590           encoder: rework GstVaapiCodedBuffer and related proxy.
23591           Refactor the GstVaapiCodedBuffer APIs so that to more clearly separate
23592           public and private interfaces. Besides, the map/unmap APIs should not
23593           be exposed as is but appropriate accessors should be provided instead.
23594           * GstVaapiCodedBuffer: VA coded buffer abstraction
23595           - gst_vaapi_coded_buffer_get_size(): get coded buffer size.
23596           - gst_vaapi_coded_buffer_copy_into(): copy coded buffer into GstBuffer
23597           * GstVaapiCodedBufferPool: pool of VA coded buffer objects
23598           - gst_vaapi_coded_buffer_pool_new(): create a pool of coded buffers of
23599           the specified max size, and bound to the supplied encoder
23600           * GstVaapiCodedBufferProxy: pool-allocated VA coded buffer object proxy
23601           - gst_vaapi_coded_buffer_proxy_new_from_pool(): create coded buf from pool
23602           - gst_vaapi_coded_buffer_proxy_get_buffer(): get underlying coded buffer
23603           - gst_vaapi_coded_buffer_proxy_get_buffer_size(): get coded buffer size
23604           Rationale: more optimized transfer functions might be provided in the
23605           future, thus rendering the map/unmap mechanism obsolete or sub-optimal.
23606           https://bugzilla.gnome.org/show_bug.cgi?id=719775
23607
23608 2013-11-29 14:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23609
23610         * gst/vaapi/gstvaapidecode.c:
23611         * gst/vaapi/gstvaapiencode.c:
23612         * gst/vaapi/gstvaapipostproc.c:
23613         * gst/vaapi/gstvaapisink.c:
23614           plugins: fix reference leaks of VA display objects.
23615           Fix GstElement::set_context() implementation for all plug-in elements
23616           to avoid leaking an extra reference to the VA display, thus preventing
23617           correct cleanup of VA resources in GStreamer 1.2 builds.
23618
23619 2013-11-29 13:56:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23620
23621         * gst/vaapi/gstvaapipluginutil.c:
23622         * gst/vaapi/gstvaapivideocontext.c:
23623           plugins: simplify gst_vaapi_ensure_display().
23624           Return earlier if the creation of a VA display failed. Likewise, simplify
23625           gst_vaapi_video_context_propagate() now that we are guaranteed to have a
23626           valid VA display.
23627
23628 2013-11-28 19:08:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23629
23630         * gst/vaapi/gstvaapivideomemory.c:
23631           plugins: fix memory leaks through GstVideoMeta maps.
23632           When GstVideoMeta maps were used, the supporting functions incorrectly
23633           used gst_buffer_get_memory() instead of gst_buffer_peek_memory(), thus
23634           always increasing the associated GstMemory reference count and giving
23635           zero chance to actually release that, and subsequently the VA display.
23636
23637 2013-11-28 14:15:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23638
23639         * gst-libs/gst/vaapi/gstvaapifilter.c:
23640         * gst/vaapi/gstvaapiencode_h264.c:
23641         * gst/vaapi/gstvaapiencode_mpeg2.c:
23642         * gst/vaapi/gstvaapipostproc.c:
23643         * gst/vaapi/gstvaapisink.c:
23644         * gst/vaapi/gstvaapiuploader.c:
23645           plugins: use G_PARAM_STATIC_STRINGS.
23646           This avoids a few string copies during initialization.
23647
23648 2013-11-28 17:28:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23649
23650         * gst/vaapi/gstvaapivideometa.c:
23651           plugins: simplify VA video meta to only reference surface proxies.
23652           Simplify GstVaapiVideoMeta to only hold a surface proxy, which is
23653           now allocated from a surface pool. This also means that the local
23654           reference to the VA surface is also gone, as it could be extracted
23655           from the associated surface proxy.
23656
23657 2013-11-28 16:51:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23658
23659         * gst/vaapi/gstvaapivideobuffer.c:
23660         * gst/vaapi/gstvaapivideobuffer.h:
23661         * gst/vaapi/gstvaapivideometa.c:
23662         * gst/vaapi/gstvaapivideometa.h:
23663           plugins: drop obsolete functions.
23664           Drop the following functions that are not longer used:
23665           - gst_vaapi_video_buffer_new_with_surface()
23666           - gst_vaapi_video_meta_new_with_surface()
23667           - gst_vaapi_video_meta_set_surface()
23668           - gst_vaapi_video_meta_set_surface_from_pool()
23669
23670 2013-11-28 16:37:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23671
23672         * gst/vaapi/gstvaapivideometa.c:
23673           plugins: allow VA video meta to be allocated from surface proxy pools.
23674           Fix gst_vaapi_video_meta_new_from_pool() to allocate VA surface proxies
23675           from surface pools instead of plain VA surfaces. This is to simplify
23676           allocations now that surface proxies are created from a surface pool.
23677
23678 2013-11-28 17:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23679
23680         * docs/reference/libs/libs-sections.txt:
23681         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
23682         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
23683         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
23684           surfaceproxy: add copy function.
23685           Add gst_vaapi_surface_proxy_copy() function that creates a new surface
23686           proxy with the same information from the parent proxy, except that the
23687           user-defined destroy notify function is not copied over.
23688           The underlying VA surface is pushed back to the video pool only when
23689           the last reference to the parent surface proxy is released.
23690
23691 2013-11-28 15:56:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23692
23693         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
23694         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
23695         * gst/vaapi/gstvaapiencode.c:
23696           vaapiencode: optimize _handle_frame() to avoid extra allocation.
23697           Optimize gst_vaapiencode_handle_frame() to avoid extra memory allocation,
23698           and in particular the GstVaapiEncObjUserData object. i.e. directly use
23699           the VA surface proxy from the source buffer. This also makes the user
23700           data attached to the GstVideoCodecFrame more consistent between both
23701           the decoder and encoder plug-in elements.
23702
23703 2013-11-28 15:14:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23704
23705         * gst/vaapi/gstvaapiencode.c:
23706           vaapiencode: fix memory leaks in _push_frame() on error.
23707           Simplify gst_vaapiencode_push_frame(), while also removing the call
23708           to gst_video_encoder_negotiate() since this is implicit in _finish()
23709           if caps changed. Also fixed memory leaks that occured on error.
23710
23711 2013-11-28 13:57:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23712
23713         * gst/vaapi/gstvaapiencode.c:
23714         * gst/vaapi/gstvaapiencode.h:
23715         * gst/vaapi/gstvaapiencode_h264.c:
23716         * gst/vaapi/gstvaapiencode_h264.h:
23717         * gst/vaapi/gstvaapiencode_mpeg2.c:
23718           vaapiencode: additional clean-ups.
23719           Constify pointers wherever possible. Drop unused variables, and use
23720           consistent variable names. Fix gst_vaapiencode_h264_allocate_buffer()
23721           to correctly report errors, especially when in-place conversion from
23722           bytestream to avcC format failed.
23723
23724 2013-11-28 13:26:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23725
23726         * gst/vaapi/gstvaapiencode.c:
23727         * gst/vaapi/gstvaapiencode.h:
23728         * gst/vaapi/gstvaapiencode_h264.c:
23729         * gst/vaapi/gstvaapiencode_h264.h:
23730         * gst/vaapi/gstvaapiencode_mpeg2.c:
23731         * gst/vaapi/gstvaapiencode_mpeg2.h:
23732           vaapiencode: move common properties to base class.
23733           Move "rate-control" mode and "bitrate" properties to the GstVaapiEncode
23734           base class. The actual range of supported rate control modes is currently
23735           implemented as a plug-in element hook. This ought to be determined from
23736           the GstVaapiEncoder object instead, i.e. from libgstvaapi.
23737
23738 2013-11-28 10:54:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23739
23740         * gst/vaapi/gstvaapiencode_h264.c:
23741         * gst/vaapi/gstvaapiencode_mpeg2.c:
23742           vaapiencode: fix plugin description and debug name.
23743           Align the plug-in debug category to its actual name. i.e. enable debug
23744           logs through vaapiencode_<CODEC> where <CODEC> is mpeg2, h264, etc. Fix
23745           the plug-in element description to make it more consistent with other
23746           VA-API plug-ins.
23747
23748 2013-11-27 16:27:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23749
23750         * configure.ac:
23751         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23752         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23753         * gst-libs/gst/video/Makefile.am:
23754         * gst/vaapi/gstvaapiencode.c:
23755         * gst/vaapi/gstvaapiencode.h:
23756         * gst/vaapi/gstvaapiencode_h264.c:
23757         * gst/vaapi/gstvaapiencode_mpeg2.c:
23758           vaapiencode: add initial support for GStreamer 0.10.
23759
23760 2013-11-27 16:25:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23761
23762         * gst-libs/gst/vaapi/gstcompat.h:
23763           libs: add more GstBuffer compat glue for GStreamer 0.10.
23764           Add gst_buffer_new_allocate() and gst_buffer_fill() implementations.
23765           Fix gst_buffer_new_wrapped_full() implementation to handle the destroy
23766           notify function.
23767
23768 2013-11-27 15:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23769
23770         * configure.ac:
23771         * gst-libs/gst/video/Makefile.am:
23772           libs: always use built-in videoutils for GStreamer 0.10.
23773           GStreamer 0.10.36 is the latest and ultimate version to be released
23774           from the GStreamer 0.10 branch. i.e. no further releases are to be
23775           made. So, we can safely enable the built-in videoutils replacement
23776           now that they are in sync with the 0.10 branch.
23777
23778 2013-11-27 15:47:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23779
23780         * ext/videoutils:
23781           videoutils: update to master commit d4a15a5.
23782           d4a15a5 video: fix compiler warning in header with C++11 / clang-3.1
23783           86096cc videodecoder: minor cosmetic changes to align a bit more with master
23784           b4b8b52 videodecoder: allow parse function to not use all data on adapter
23785           2145495 videodecoder: warn if frame list gets long
23786           36c3753 videodecoder: Also use the object lock to protect the output_state
23787           518c93d videodecoder: fix seeking again
23788           185fb63 video: Correct usage of the base class stream lock
23789           170e944 videodecoder: Expose _negotiate function
23790
23791 2013-11-26 12:06:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23792
23793         * configure.ac:
23794         * gst-libs/gst/vaapi/Makefile.am:
23795         * tests/Makefile.am:
23796           Fix build with GStreamer >= 1.3.
23797           http://bugzilla.gnome.org/show_bug.cgi?id=715183
23798           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23799
23800 2013-11-26 17:56:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23801
23802         * configure.ac:
23803           configure: disable encoders with GStreamer 0.10.
23804           Don't try to build video encoders for GStreamer 0.10. Support code is
23805           not there yet, and probably will never for such an ancient version.
23806
23807 2013-11-26 17:26:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23808
23809         * gst/vaapi/gstvaapiencode.c:
23810           vaapiencode: fix error handling while allocating output buffers.
23811           Fix default GstVideoEncoder::allocate_buffer() implementation to properly
23812           unmap the coded buffer prior to returning an error.
23813
23814 2013-11-26 17:11:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23815
23816         * gst/vaapi/gstvaapiencode.c:
23817           vaapiencode: fix error handling in _finish() hook.
23818           Fix GstVideoEncoder::finish() implementation to really return possible
23819           errors instead of GST_FLOW_OK. That is, fix check for timeout status.
23820
23821 2013-11-26 16:34:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23822
23823         * gst/vaapi/gstvaapiencode.c:
23824         * gst/vaapi/gstvaapiencode.h:
23825         * gst/vaapi/gstvaapiencode_h264.c:
23826         * gst/vaapi/gstvaapiencode_h264.h:
23827         * gst/vaapi/gstvaapiencode_mpeg2.c:
23828         * gst/vaapi/gstvaapiencode_mpeg2.h:
23829           vaapiencode: minor clean-ups.
23830           Add a GST_VAAPIENCODE_CAST() helper to avoid run-time checks against
23831           the GObject type system. We are guaranteed to only deal with the same
23832           plug-in element object.
23833
23834 2013-11-26 15:31:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23835
23836         * gst/vaapi/gstvaapiencode.c:
23837         * gst/vaapi/gstvaapiencode_h264.c:
23838         * gst/vaapi/gstvaapiencode_mpeg2.c:
23839           vaapiencode: fix support for raw YUV sink buffers.
23840           Allow vaapiencode plug-in elements to encode from raw YUV buffers.
23841           The most efficient way to do so is to let the vaapiencode elements
23842           allocate a buffer pool, and subsequently buffers from it. This means
23843           that upstream elements are expected to honour downstream pools.
23844           If upstream elements insist on providing their own allocated buffers
23845           to the vaapiencode elements, then it possibly would be more efficient
23846           to insert a vaapipostproc element before the vaapiencode element.
23847           This is because vaapipostproc currently has better support than other
23848           elements for "foreign" raw YUV buffers.
23849
23850 2013-11-26 15:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23851
23852         * gst/vaapi/gstvaapiencode.c:
23853           vaapiencode: fix support for GStreamer 1.2.
23854
23855 2013-11-07 17:42:21 +0800  Wind Yuan <feng.yuan@intel.com>
23856
23857         * gst/vaapi/gstvaapiencode.c:
23858         * gst/vaapi/gstvaapiencode_h264.c:
23859         * gst/vaapi/gstvaapiencode_mpeg2.c:
23860           vaapiencode: initial port to GStreamer 1.2.
23861           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23862
23863 2013-11-20 16:21:32 +0800  XuGuangxin <guangxin.xu@intel.com>
23864
23865         * gst/vaapi/Makefile.am:
23866         * gst/vaapi/gstvaapi.c:
23867         * gst/vaapi/gstvaapiencode_mpeg2.c:
23868         * gst/vaapi/gstvaapiencode_mpeg2.h:
23869           plugins: add mpeg2 encoder element.
23870           Add GstVaapiEncodeMPEG2 element object. The actual plug-in element
23871           is called "vaapiencode_mpeg2".
23872           Valid properties:
23873           - rate-control: rate control mode (default: cqp - constant QP)
23874           - bitrate: desired bitrate in kbps (default: auto-calculated)
23875           - key-period: maximal distance between two key frames (default: 30)
23876           - max-bframes: number of B-frames between I and P (default: 2)
23877           - quantizer: constant quantizer (default: 8)
23878           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23879
23880 2013-07-29 16:02:56 +0800  Wind Yuan <feng.yuan@intel.com>
23881
23882         * gst/vaapi/Makefile.am:
23883         * gst/vaapi/gstvaapi.c:
23884         * gst/vaapi/gstvaapiencode_h264.c:
23885         * gst/vaapi/gstvaapiencode_h264.h:
23886           plugins: add h264 encoder element.
23887           Add GstVaapiEncodeH264 element object. The actual plug-in element
23888           is called "vaapiencode_h264".
23889           Valid properties:
23890           - rate-control: rate control mode (default: none)
23891           - bitrate: desired bitrate in kbps (default: auto-calculated)
23892           - key-period: maximal distance between two key frames (default: 30)
23893           - num-slices: number of slices per frame (default: 1)
23894           - max-bframes: number of B-frames between I and P (default: 0)
23895           - min-qp: minimal quantizer (default: 1)
23896           - init-qp: initial quantizer (default: 26)
23897           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23898
23899 2013-07-29 13:44:48 +0800  Wind Yuan <feng.yuan@intel.com>
23900
23901         * gst/vaapi/Makefile.am:
23902         * gst/vaapi/gstvaapiencode.c:
23903         * gst/vaapi/gstvaapiencode.h:
23904           plugins: add base encoder element.
23905           vaapiencode element is based on GstVideoEncoder APIs.
23906           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23907
23908 2013-11-20 16:20:15 +0800  XuGuangxin <guangxin.xu@intel.com>
23909
23910         * gst-libs/gst/vaapi/Makefile.am:
23911         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23912         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
23913         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
23914           encoder: add mpeg2 encoder.
23915           Add initial support for MPEG-2 encoding. I/P/B frames are supported.
23916           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23917
23918 2013-07-29 15:46:11 +0800  Wind Yuan <feng.yuan@intel.com>
23919
23920         * gst-libs/gst/vaapi/Makefile.am:
23921         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23922         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23923         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23924           encoder: add h264 encoder.
23925           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23926
23927 2013-07-29 13:34:06 +0800  Wind Yuan <feng.yuan@intel.com>
23928
23929         * configure.ac:
23930         * gst-libs/gst/vaapi/Makefile.am:
23931         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23932         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23933         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
23934         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
23935         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23936           Add initial infrastructure for video encoding.
23937           Add initial API for video encoding: only basic interfaces and small
23938           encoder objects are implemented so far.
23939           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23940
23941 2013-07-29 15:41:23 +0800  Wind Yuan <feng.yuan@intel.com>
23942
23943         * configure.ac:
23944         * gst-libs/gst/Makefile.am:
23945         * gst-libs/gst/base/Makefile.am:
23946         * gst-libs/gst/base/gstbitwriter.c:
23947         * gst-libs/gst/base/gstbitwriter.h:
23948         * gst-libs/gst/vaapi/Makefile.am:
23949           libs: add generic bitstream writer.
23950           GstBitWriter provides a bit writer that can write any number of bits
23951           to a pre-allocated memory buffer. Helper functions are also provided
23952           to write any number of bits from 8, 16, 32 and 64 bit variables.
23953           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23954
23955 2013-07-12 22:07:59 +0800  Wind Yuan <feng.yuan@intel.com>
23956
23957         * gst-libs/gst/vaapi/gstvaapicontext.c:
23958         * gst-libs/gst/vaapi/gstvaapicontext.h:
23959           libs: add support for rate-control to GstVaapiContext.
23960           Extend GstVaapiContextInfo structure to hold the desired rate control
23961           mode for encoding purposes. For decoding purposes, this field is not
23962           used and it is initialized to GST_VAAPI_RATECONTROL_NONE.
23963           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23964
23965 2013-07-12 21:33:32 +0800  Wind Yuan <feng.yuan@intel.com>
23966
23967         * gst-libs/gst/vaapi/gstvaapitypes.h:
23968         * gst-libs/gst/vaapi/gstvaapiutils.c:
23969         * gst-libs/gst/vaapi/gstvaapiutils.h:
23970         * gst-libs/gst/vaapi/gstvaapivalue.c:
23971         * gst-libs/gst/vaapi/gstvaapivalue.h:
23972           libs: add rate-control attributes.
23973           Add GstVaapiRateControl types and GType values in view to supporting
23974           rate controls for encoding. This is meant to be used for instance in
23975           GstVaapiContext.
23976           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23977
23978 2013-11-22 11:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23979
23980         * configure.ac:
23981           Bump version for development.
23982
23983 2013-11-22 11:28:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23984
23985         * gst/vaapi/Makefile.am:
23986           build: fix for Wayland headers not in standard include dirs.
23987           Fix build when Wayland headers don't live in plain system include dirs
23988           like /usr/include but rather in /usr/include/wayland for instance.
23989           Original patch written by Dominique Leuenberger <dimstar@opensuse.org>
23990           https://bugzilla.gnome.org/show_bug.cgi?id=712282
23991
23992 2013-11-14 10:58:37 +0000  Ross Burton <ross.burton@intel.com>
23993
23994         * gst-libs/gst/vaapi/Makefile.am:
23995           build: link libgstvaapi-wayland against videoutils.
23996           This library is using symbols that don't exist in GStreamer 0.10 so
23997           it needs to link to built-in implementation (libgstvaapi-videoutils).
23998           https://bugzilla.gnome.org/show_bug.cgi?id=712282
23999           Signed-off-by: Ross Burton <ross.burton@intel.com>
24000           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24001
24002 2013-11-22 11:15:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24003
24004         * gst-libs/gst/vaapi/gstvaapifilter.c:
24005         * gst/vaapi/gstvaapipostproc.c:
24006           vaapostproc: fix memory leaks.
24007           Destroy VPP output surface pool on exit. Also avoid a possible crash
24008           in double-free situation caused by insufficiently reference counted
24009           array of formats returned during initialization.
24010
24011 2013-11-22 10:19:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24012
24013         * gst/vaapi/gstvaapipostproc.c:
24014         * gst/vaapi/gstvaapipostproc.h:
24015           vaapipostproc: fix and optimize advanced deinterlacing mode.
24016           Fix advanced deinterlacing modes with VPP to track only up to 2 past
24017           reference buffers. This used to be 3 past reference buffers but this
24018           doesn't fit with the existing decode pipeline that only has 4 extra
24019           scratch surfaces.
24020           Also optimize references tracking to be only enabled when needed, i.e.
24021           when advanced deinterlacing mode is used. This means that we don't
24022           need to track past references for basic bob or weave deinterlacing.
24023
24024 2013-11-22 10:04:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24025
24026         * gst/vaapi/gstvaapipostproc.c:
24027           vaapipostproc: fix "mixed" mode deinterlacing.
24028           In "mixed" interlaced streams, the buffer contains additional flags that
24029           specify whether the frame contained herein is interlaced or not. This means
24030           that we can alternatively get progressive or interlaced frames. Make sure
24031           to disable deinterlacing at the VPP level when the source buffer is no longer
24032           interlaced.
24033
24034 2013-11-22 09:49:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24035
24036         * gst/vaapi/gstvaapipostproc.c:
24037           vaapipostproc: fix memory leaks with advanced deinterlacing.
24038           Fix memory leaks with advanced deinterlacing, i.e. when we keep track
24039           of past buffers. Completely reset the deinterlace state, thus destroying
24040           any buffer currently held, on _start(), _stop() and _destroy().
24041
24042 2013-11-22 06:59:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24043
24044         * README:
24045           README: updates.
24046           - GStreamer 1.2 APIs are supported ;
24047           - Video Processing (VA/VPP) features.
24048
24049 2013-11-22 06:45:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24050
24051         * README:
24052           README: update for GStreamer >= 1.0.x and VPP features.
24053
24054 2013-11-22 06:37:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24055
24056         * gst-libs/gst/vaapi/glibcompat.h:
24057         * gst-libs/gst/vaapi/gstvaapicontext.h:
24058         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
24059         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
24060         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24061         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24062         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24063         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24064         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
24065         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
24066         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24067         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
24068         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24069         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
24070         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24071         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24072         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
24073         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24074         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24075         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
24076         * gst-libs/gst/vaapi/gstvaapiimage.c:
24077         * gst-libs/gst/vaapi/gstvaapiimage.h:
24078         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24079         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24080         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
24081         * gst-libs/gst/vaapi/gstvaapiobject.c:
24082         * gst-libs/gst/vaapi/gstvaapiobject.h:
24083         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
24084         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24085         * gst-libs/gst/vaapi/gstvaapisurface.h:
24086         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
24087         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24088         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24089         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24090         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24091         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24092         * gst-libs/gst/vaapi/gstvaapitexture.c:
24093         * gst-libs/gst/vaapi/gstvaapitexture.h:
24094         * gst-libs/gst/vaapi/gstvaapitypes.h:
24095         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24096         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
24097         * gst-libs/gst/vaapi/gstvaapivalue.c:
24098         * gst-libs/gst/vaapi/gstvaapivalue.h:
24099         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24100         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24101         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24102         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24103         * gst-libs/gst/vaapi/gstvaapiwindow.h:
24104         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24105         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
24106         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24107         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
24108         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
24109         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
24110         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24111         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
24112         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
24113         * gst/vaapi/gstvaapi.c:
24114         * gst/vaapi/gstvaapidecode.h:
24115         * gst/vaapi/gstvaapidownload.h:
24116         * gst/vaapi/gstvaapipluginutil.c:
24117         * gst/vaapi/gstvaapipluginutil.h:
24118         * gst/vaapi/gstvaapipostproc.h:
24119         * gst/vaapi/gstvaapisink.h:
24120         * gst/vaapi/gstvaapivideoconverter_glx.h:
24121         * tests/image.c:
24122         * tests/image.h:
24123         * tests/output.h:
24124         * tests/test-display.c:
24125         * tests/test-jpeg.c:
24126         * tests/test-jpeg.h:
24127         * tests/test-mpeg4.c:
24128         * tests/test-mpeg4.h:
24129         * tests/test-surfaces.c:
24130         * tests/test-windows.c:
24131           legal: update copyright notice dates.
24132
24133 2013-11-22 05:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24134
24135         * gst-libs/gst/vaapi/glibcompat.h:
24136         * gst-libs/gst/vaapi/gstcompat.h:
24137         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24138         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
24139         * gst-libs/gst/vaapi/gstvaapicompat.h:
24140         * gst-libs/gst/vaapi/gstvaapicontext.c:
24141         * gst-libs/gst/vaapi/gstvaapicontext.h:
24142         * gst-libs/gst/vaapi/gstvaapidebug.h:
24143         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24144         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24145         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
24146         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
24147         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24148         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
24149         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24150         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
24151         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24152         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24153         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24154         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24155         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24156         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24157         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24158         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
24159         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
24160         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24161         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24162         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24163         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24164         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24165         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
24166         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
24167         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24168         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
24169         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
24170         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24171         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24172         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
24173         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24174         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24175         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
24176         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24177         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24178         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
24179         * gst-libs/gst/vaapi/gstvaapifilter.c:
24180         * gst-libs/gst/vaapi/gstvaapifilter.h:
24181         * gst-libs/gst/vaapi/gstvaapiimage.c:
24182         * gst-libs/gst/vaapi/gstvaapiimage.h:
24183         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
24184         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24185         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24186         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
24187         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
24188         * gst-libs/gst/vaapi/gstvaapiobject.c:
24189         * gst-libs/gst/vaapi/gstvaapiobject.h:
24190         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
24191         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
24192         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
24193         * gst-libs/gst/vaapi/gstvaapipixmap.c:
24194         * gst-libs/gst/vaapi/gstvaapipixmap.h:
24195         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
24196         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
24197         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
24198         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24199         * gst-libs/gst/vaapi/gstvaapiprofile.h:
24200         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24201         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
24202         * gst-libs/gst/vaapi/gstvaapisurface.c:
24203         * gst-libs/gst/vaapi/gstvaapisurface.h:
24204         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
24205         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24206         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24207         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24208         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24209         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24210         * gst-libs/gst/vaapi/gstvaapitexture.c:
24211         * gst-libs/gst/vaapi/gstvaapitexture.h:
24212         * gst-libs/gst/vaapi/gstvaapitypes.h:
24213         * gst-libs/gst/vaapi/gstvaapiutils.c:
24214         * gst-libs/gst/vaapi/gstvaapiutils.h:
24215         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24216         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24217         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24218         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
24219         * gst-libs/gst/vaapi/gstvaapivalue.c:
24220         * gst-libs/gst/vaapi/gstvaapivalue.h:
24221         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24222         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24223         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24224         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24225         * gst-libs/gst/vaapi/gstvaapiwindow.h:
24226         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24227         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
24228         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24229         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
24230         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
24231         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24232         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
24233         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24234         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
24235         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
24236         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
24237         * gst-libs/gst/vaapi/sysdeps.h:
24238         * gst-libs/gst/vaapi/video-format.c:
24239         * gst-libs/gst/vaapi/video-format.h:
24240         * gst/vaapi/gstvaapi.c:
24241         * gst/vaapi/gstvaapidecode.c:
24242         * gst/vaapi/gstvaapidecode.h:
24243         * gst/vaapi/gstvaapidownload.c:
24244         * gst/vaapi/gstvaapidownload.h:
24245         * gst/vaapi/gstvaapipluginutil.c:
24246         * gst/vaapi/gstvaapipluginutil.h:
24247         * gst/vaapi/gstvaapipostproc.c:
24248         * gst/vaapi/gstvaapipostproc.h:
24249         * gst/vaapi/gstvaapisink.c:
24250         * gst/vaapi/gstvaapisink.h:
24251         * gst/vaapi/gstvaapiupload.c:
24252         * gst/vaapi/gstvaapiupload.h:
24253         * gst/vaapi/gstvaapiuploader.c:
24254         * gst/vaapi/gstvaapiuploader.h:
24255         * gst/vaapi/gstvaapivideobuffer.c:
24256         * gst/vaapi/gstvaapivideobuffer.h:
24257         * gst/vaapi/gstvaapivideobufferpool.c:
24258         * gst/vaapi/gstvaapivideobufferpool.h:
24259         * gst/vaapi/gstvaapivideocontext.c:
24260         * gst/vaapi/gstvaapivideocontext.h:
24261         * gst/vaapi/gstvaapivideoconverter_glx.c:
24262         * gst/vaapi/gstvaapivideoconverter_glx.h:
24263         * gst/vaapi/gstvaapivideoconverter_x11.c:
24264         * gst/vaapi/gstvaapivideoconverter_x11.h:
24265         * gst/vaapi/gstvaapivideomemory.c:
24266         * gst/vaapi/gstvaapivideomemory.h:
24267         * gst/vaapi/gstvaapivideometa.c:
24268         * gst/vaapi/gstvaapivideometa.h:
24269         * gst/vaapi/gstvaapivideometa_texture.c:
24270         * gst/vaapi/gstvaapivideometa_texture.h:
24271         * tests/codec.c:
24272         * tests/codec.h:
24273         * tests/decoder.c:
24274         * tests/decoder.h:
24275         * tests/image.c:
24276         * tests/image.h:
24277         * tests/output.c:
24278         * tests/output.h:
24279         * tests/simple-decoder.c:
24280         * tests/test-decode.c:
24281         * tests/test-decode.h:
24282         * tests/test-display.c:
24283         * tests/test-filter.c:
24284         * tests/test-h264.c:
24285         * tests/test-h264.h:
24286         * tests/test-jpeg.c:
24287         * tests/test-jpeg.h:
24288         * tests/test-mpeg2.c:
24289         * tests/test-mpeg2.h:
24290         * tests/test-mpeg4.c:
24291         * tests/test-mpeg4.h:
24292         * tests/test-surfaces.c:
24293         * tests/test-textures.c:
24294         * tests/test-vc1.c:
24295         * tests/test-vc1.h:
24296         * tests/test-windows.c:
24297           legal: add per-file authorship information.
24298           Credit original authors on a per-file basis as we cannot expect people
24299           to know all country-specific rules, or bother browsing through the git
24300           history.
24301
24302 2013-11-21 23:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24303
24304         * NEWS:
24305         * configure.ac:
24306           0.5.7.
24307
24308 2013-11-21 23:51:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24309
24310         * NEWS:
24311           NEWS: updates.
24312
24313 2013-11-21 23:17:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24314
24315         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24316           decoder: don't include obsolete headers.
24317           The <gst/vaapi/gstvaapicontext.h> header was removed from the public
24318           set of APIs. So, don't make public headers (gstvaapidecoder.h) depend
24319           on private files.
24320
24321 2013-11-18 16:20:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24322
24323         * gst/vaapi/Makefile.am:
24324         * gst/vaapi/gstvaapi.c:
24325         * gst/vaapi/gstvaapipostproc.c:
24326           vaapipostproc: add initial support for GStreamer 1.2.
24327           Port vaapipostproc element to GStreamer 1.2. Support is quite minimal
24328           right now so that to cope with auto-plugging issues/regressions. e.g.
24329           this happens when the correct set of expected caps are being exposed.
24330           This means that, currently, the proposed caps are not fully accurate.
24331
24332 2013-11-01 10:22:17 +0800  Halley Zhao <halley.zhao@intel.com>
24333
24334         * gst/vaapi/gstvaapipostproc.c:
24335         * gst/vaapi/gstvaapipostproc.h:
24336           vaapipostproc: add support for denoise and sharpen filters.
24337           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24338
24339 2013-11-21 19:52:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24340
24341         * gst/vaapi/gstvaapipostproc.c:
24342         * gst/vaapi/gstvaapipostproc.h:
24343           vaapipostproc: add support for advanced deinterlacing.
24344           Add initial support for advanced deinterlacing. The history buffer
24345           size is arbitrarily set to 3 references for now.
24346
24347 2013-11-21 22:32:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24348
24349         * gst/vaapi/gstvaapipostproc.c:
24350           vaapipostproc: fix deinterlacing with VPP.
24351           Fix basic deinterlacing flags provided to gst_vaapi_set_deinterlacing()
24352           for the first field. Render flags were supplied instead of the actual
24353           deinterlacing flags (deint_flags).
24354
24355 2013-11-21 15:08:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24356
24357         * gst/vaapi/gstvaapipostproc.c:
24358           vaapipostproc: fix transform caps.
24359           Fix GstBaseTransform::transform_caps() implementation to always return
24360           the complete set of allowed sink pad caps (unfixated) even if the src
24361           pad caps we are getting are fixated. Rationale: there are just so many
24362           possible combinations, and it was wrong to provide a unique set anyway.
24363           As a side effect, this greatly simplifies the ability to derive src pad
24364           caps from fixated sink pad caps.
24365
24366 2013-11-01 10:31:13 +0800  Halley Zhao <halley.zhao@intel.com>
24367
24368         * docs/reference/libs/libs-sections.txt:
24369         * gst-libs/gst/vaapi/gstvaapifilter.c:
24370         * gst-libs/gst/vaapi/gstvaapifilter.h:
24371           filter: add helper to specify references for deinterlacing.
24372           Add gst_vaapi_fitler_set_deinterlacing_references() API to submit the
24373           list of surfaces used for forward or backward reference in advanced
24374           deinterlacing mode, e.g. Motion-Adaptive, Motion-Compensated.
24375           The list of surfaces used as deinterlacing references shall be live
24376           until the next call to gst_vaapi_filter_process().
24377           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24378
24379 2013-11-21 18:44:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24380
24381         * gst-libs/gst/vaapi/gstvaapifilter.c:
24382         * gst-libs/gst/vaapi/gstvaapifilter.h:
24383         * gst-libs/gst/vaapi/gstvaapiutils.c:
24384         * gst/vaapi/gstvaapipostproc.c:
24385         * tests/test-filter.c:
24386           filter: fix semantics of deinterlacing flags.
24387           Fix deinterlacing flags to make more sense. The TFF (top-field-first)
24388           flag is meant to specify the organization of reference frames used in
24389           advanced deinterlacing modes. Introduce the more explicit flag TOPFIELD
24390           to specify that the top-field of the supplied input surface is to be
24391           used for deinterlacing. Conversely, if not set, this means that the
24392           bottom field of the supplied input surface will be used instead.
24393
24394 2013-11-21 17:20:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24395
24396         * docs/reference/libs/libs-sections.txt:
24397         * gst-libs/gst/vaapi/gstvaapifilter.c:
24398         * gst-libs/gst/vaapi/gstvaapifilter.h:
24399           filter: add helpers to check for supported/active operation.
24400           Add a couple of helper functions:
24401           - gst_vaapi_filter_has_operation(): checks whether the VA driver
24402           advertises support for the supplied operation ;
24403           - gst_vaapi_filter_use_operation(): checks whether the supplied
24404           operation was already enabled to its non-default value.
24405
24406 2013-11-20 15:10:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24407
24408         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24409           libs: fix GstVaapiSurfaceProxy destroy notify call site.
24410           The user-defined destroy notify function is meant to be called only when
24411           the surface proxy was fully released, i.e. once it actually released the
24412           VA surface back to the underlying pool.
24413
24414 2013-08-29 13:44:22 +0800  XuGuangxin <guangxin.xu@intel.com>
24415
24416         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24417         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24418           libs: make GstVaapiVideoPool thread-safe.
24419           https://bugzilla.gnome.org/show_bug.cgi?id=707108
24420           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24421
24422 2013-08-29 14:04:06 +0800  XuGuangxin <guangxin.xu@intel.com>
24423
24424         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24425         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24426           libs: robustify decoder objects and surface proxy initialization.
24427           Fix GstVaapiPicture, GstVaapiSlice and GstVaapiSurfaceProxy initialization
24428           sequences to have the expected default values set beforehand in case of an
24429           error raising up further during creation. i.e. make it possible to cleanly
24430           destroy those partially initialized objects.
24431           https://bugzilla.gnome.org/show_bug.cgi?id=707108
24432           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24433
24434 2013-11-21 11:01:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24435
24436         * gst/vaapi/gstvaapidecode.c:
24437           vaapidecode: fix decoder flush.
24438           There are situations where gst_video_decoder_flush() is called, and
24439           this subsequently produces a gst_video_decoder_reset() that kills the
24440           currently active GstVideoCodecFrame. This means that it no longer
24441           exists by the time we reach GstVideoDecoder::finish() callback, thus
24442           possibly resulting in a crash if we assumed spare data was still
24443           available for decode (current_frame_size > 0).
24444           Try to honour GstVideoDecoder::reset() behaviour from GStreamer 1.0
24445           that means a flush, thus performing the actual operations there like
24446           calling gst_video_decoder_have_frame() if pending data is available.
24447
24448 2013-11-20 19:21:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24449
24450         * gst/vaapi/gstvaapidecode.c:
24451         * gst/vaapi/gstvaapidecode.h:
24452           vaapidecode: fix dead-locks with decoder task.
24453           Review all interactions between the main video decoder stream thread
24454           and the decode task to derive a correct sequence of operations for
24455           decoding. Also avoid extra atomic operations that become implicit under
24456           the GstVideoDecoder stream lock.
24457
24458 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
24459
24460         * gst/vaapi/gstvaapidecode.c:
24461           vaapidecode: fix hard reset for seek cases.
24462           Fix hard reset for seek cases by flushing the GstVaapiDecoder queue
24463           and completely purge any decoded output frame that may come out from
24464           it. At this stage, the GstVaapiDecoder shall be in a complete clean
24465           state to start decoding over new buffers.
24466           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24467
24468 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
24469
24470         * gst/vaapi/gstvaapidecode.c:
24471         * gst/vaapi/gstvaapidecode.h:
24472           vaapidecode: drop decode timeout, always wait for a free surface.
24473           vaapidecode used to wait up to one second past the expected time of
24474           presentation for the last decoded frame. This is not realistic in
24475           practice when it comes to video pause/resume. Changed behaviour to
24476           unconditionnally wait for a free VA surface prior to continuing the
24477           decoding. The decode task will continue pushing the output frames to
24478           the downstream element while also reporting errors at the same time
24479           to the main thread.
24480           https://bugzilla.gnome.org/show_bug.cgi?id=707108
24481           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24482
24483 2013-11-20 10:56:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24484
24485         * gst/vaapi/gstvaapidecode.c:
24486           vaapidecode: fix srcpad caps for GStreamer 1.2.
24487           The srcpad caps exposed for GStreamer 1.2 were missing any useful info
24488           like framerate, pixel-aspect-ratio, interlace-mode et al. Not to mention
24489           that it relied on possibly un-initialized data. Fix srcpad caps to be
24490           initialized from a sanitized copy of GstVideoDecoder output state caps.
24491           Note: the correct way to expose the srcpad caps triggers an additional
24492           issue in core GStreamer auto-plugging capabilities as the correct caps
24493           to be exposed should be format=ENCODED with memory:VASurface caps feature
24494           at the minimum. In some situations, we could determine the underlying
24495           VA surface format, but this is not always possible. e.g. cases where it
24496           is not allowed to expose the underlying VA surface data, or when the
24497           VA driver implementation cannot actually provide such information.
24498
24499 2013-11-20 10:45:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24500
24501         * gst/vaapi/gstvaapidecode.c:
24502         * gst/vaapi/gstvaapisink.c:
24503           plugins: streamline VA formats exposed in caps to a realistic set.
24504           Currently, the decoder only supports YUV 4:2:0 output. So, expose the
24505           output formats for GStreamer 1.2 in caps to a realistic subset. This
24506           means NV12, I420 or YV12 but also ENCODED if we cannot determine the
24507           underlying VA surface format, or if it is actually not allowed to get
24508           access to the surface contents.
24509
24510 2013-11-20 10:37:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24511
24512         * gst/vaapi/gstvaapidecode.c:
24513         * gst/vaapi/gstvaapisink.c:
24514           plugins: expose the expected format for GstVideoGLTextureUploadMeta.
24515           Fix vaapidecode srcpad caps to only expose RGBA video format for the
24516           meta:GstVideoGLTextureUploadMeta feature. That's only what is supported
24517           so far. Besides, drop this meta from the vaapisink sinkpad caps since
24518           we really don't support that for rendering.
24519           https://bugzilla.gnome.org/show_bug.cgi?id=711828
24520
24521 2013-11-18 18:25:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24522
24523         * configure.ac:
24524           configure: automatically detect GStreamer API version.
24525           Automatically detect GStreamer API version. The --with-gstreamer-api
24526           configure option now defaults to "autodetect" and configure then tries
24527           to derive the GStreamer API version from the highest version based on
24528           what pkg-config --modversion would report.
24529           https://bugzilla.gnome.org/show_bug.cgi?id=711657
24530
24531 2013-11-01 13:43:11 +0800  Wind Yuan <feng.yuan@intel.com>
24532
24533         * gst/vaapi/gstvaapipostproc.c:
24534           vaapipostproc: fix support for raw YUV data upload on GStreamer 1.0.
24535           Fix raw YUV data uploaded as in the following pipeline:
24536           $ gst-launch-1.0 filesrc video.yuv ! videoparse ! vaapipostproc ! vaapisink
24537           The main reason why it failed was that the videoparse element simply
24538           allocates GstBuffer with raw data chunk'ed off the sink pad without
24539           any prior knowledge of the actual frame info. i.e. it basically just
24540           calls gst_adapter_take_buffer().
24541           We could avoid the extra copy performed in vaapipostproc if the videoparse
24542           element was aware of the downstream pool and bothers copying line by
24543           line, for each plane. This means that, for a single frame per buffer,
24544           the optimizatin will be to allocate the video buffer downstream, map
24545           it, and copy each line that is coming through until we need to fills
24546           in the successive planes.
24547           Still, optimized raw YUV uploads already worked with the following:
24548           $ gst-launch-1.0 videotestsrc ! vaapipostproc ! vaapisink
24549           https://bugzilla.gnome.org/show_bug.cgi?id=711250
24550           [clean-ups, fixed error cases to unmap and unref outbuf]
24551           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24552
24553 2013-11-16 07:02:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24554
24555         * gst/vaapi/gstvaapipostproc.c:
24556           vaapipostproc: try to downgrade deinterlace-method when needed.
24557           If the currently selected deinterlacing method is not supported by the
24558           underlying hardware, then try to downgrade the method to a supported one.
24559           At the minimum, basic bob-deinterlacing shall always be supported.
24560
24561 2013-11-15 19:04:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24562
24563         * gst/vaapi/gstvaapipostproc.c:
24564           vaapipostproc: add initial support for deinterlacing with VPP.
24565           Allow basic bob-deinterlacing to work when VPP is enabled. Currently,
24566           this only covers bob-deinterlacing when the output pixel format is
24567           explicitly set.
24568
24569 2013-11-15 17:14:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24570
24571         * gst/vaapi/gstvaapipostproc.c:
24572           vaapipostproc: fix build on 64-bit platforms with GStreamer 0.10.
24573           The size argument for GstBaseTransform::transform_size() hook is a
24574           guint in GStreamer 0.10 APIs but a gsize in GStreamer >= 1.0.X APIs.
24575
24576 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24577
24578         * gst/vaapi/gstvaapipostproc.c:
24579         * gst/vaapi/gstvaapipostproc.h:
24580           vaapipostproc: add initial support for scaling.
24581           Add initial support for basic scaling with size specified through the
24582           "width" and "height" properties. If either user-provided dimension is
24583           zero and "force-aspect-ratio" is set to true (the default), then the
24584           other dimension is scaled to preserve the aspect ratio.
24585
24586 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24587
24588         * gst/vaapi/gstvaapipostproc.c:
24589         * gst/vaapi/gstvaapipostproc.h:
24590           vaapipostproc: add initial support for color conversion.
24591           If VPP is available, we always try to implicitly convert the source
24592           buffer to the "native" surface format for the underlying accelerator.
24593           This means that no optimization is performed yet to propagate raw YUV
24594           buffers to the downstream element as is, if VPP is available. i.e. it
24595           will always cause a color conversion.
24596
24597 2013-10-16 11:23:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24598
24599         * gst/vaapi/gstvaapipostproc.c:
24600           vaapipostproc: fix bug when user disabled deinterlacing.
24601           Fix pipeline error / hang when the user disabled deinterlacing through
24602           the deinterlace-mode=disabled property setting.
24603
24604 2013-10-16 11:20:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24605
24606         * gst/vaapi/gstvaapipostproc.c:
24607         * gst/vaapi/gstvaapipostproc.h:
24608           vaapipostproc: factor out operations to be applied into flags.
24609           Even if we only support deinterlacing for now, use flags to specify
24610           which filters are to be applied to each frame we receive in transform().
24611           This is preparatory work for integrating new filters.
24612
24613 2013-10-04 15:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24614
24615         * gst/vaapi/gstvaapipostproc.c:
24616         * gst/vaapi/gstvaapipostproc.h:
24617           vaapipostproc: add support for raw YUV video source buffers.
24618           Allow video processing from raw YUV buffers coming from the sink pad,
24619           while still producing a VA surface for the downstream elements.
24620
24621 2013-10-04 16:00:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24622
24623         * gst/vaapi/gstvaapipluginutil.c:
24624         * gst/vaapi/gstvaapipluginutil.h:
24625         * gst/vaapi/gstvaapipostproc.c:
24626           vaapipostproc: add support for "mixed" interlace mode.
24627           Add support for "mixed" interlace-mode, whereby the video frame buffer
24628           shall be deinterlaced only if its flags mention that's actually an
24629           interlaced frame buffer.
24630
24631 2013-10-03 19:04:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24632
24633         * gst-libs/gst/vaapi/gstcompat.h:
24634         * gst/vaapi/gstvaapipostproc.c:
24635         * gst/vaapi/gstvaapipostproc.h:
24636         * gst/vaapi/gstvaapivideobuffer.c:
24637         * gst/vaapi/gstvaapivideobuffer.h:
24638           vaapipostproc: rework plug-in element.
24639           Rewrite the vaapipostproc plug-in element so that it derives from
24640           GstBaseTransform, thus simplifying the caps negotiation process.
24641
24642 2013-10-09 17:25:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24643
24644         * gst/vaapi/gstvaapivideobufferpool.c:
24645         * gst/vaapi/gstvaapivideomemory.c:
24646         * gst/vaapi/gstvaapivideomemory.h:
24647           plugins: fix and optimize check for buffer pool allocator params.
24648           Reset the buffer pool allocator only if the config caps changed in a
24649           sensible way: format or resolution change. i.e. don't bother with
24650           other caps like colorimetry et al. as this doesn't affect the way to
24651           allocate VA surfaces or images.
24652
24653 2013-10-09 10:33:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24654
24655         * gst/vaapi/gstvaapivideomemory.c:
24656           plugins: enable memory maps for read & write with direct-rendering.
24657           Enable read and write mappings only if direct-rendering is supported.
24658           Otherwise, this means that we may need to download data from the VA
24659           surface first for correctness, even if the VA surface doesn't need to
24660           be read at all. i.e. sometimes, READWRITE mappings are meant for
24661           surfaces that are written to first, and read afterwards for further
24662           processing.
24663           https://bugzilla.gnome.org/show_bug.cgi?id=704078
24664
24665 2013-10-09 10:06:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24666
24667         * gst/vaapi/gstvaapivideomemory.c:
24668           plugins: fix check for direct-rendering support.
24669           Fix check for direct-rendering if the creation of VA surfaces with
24670           an explicit pixel format is not support, e.g. VA-API < 0.34.0, and
24671           that we tried to allocate a VA surface based on the corresponding
24672           chroma type. i.e. in that particular case, we have to make sure that
24673           the derived image has actually the expected format.
24674
24675 2013-10-09 09:47:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24676
24677         * gst/vaapi/gstvaapivideobufferpool.c:
24678         * gst/vaapi/gstvaapivideomemory.c:
24679         * gst/vaapi/gstvaapivideomemory.h:
24680           plugins: fix buffer pool reset_buffer() to reset memory resources.
24681           Fix GstVaapiVideoBufferPool::reset_buffer() to reset the underlying
24682           memory resources, and more particularly the VA surface proxy. Most
24683           importantly, the GstVaapiVideoMeta is retained. Cached surface in
24684           memory are released, thus triggering a new allocation the next time
24685           we need to map the buffer.
24686
24687 2013-10-09 09:33:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24688
24689         * gst/vaapi/gstvaapivideomemory.c:
24690         * gst/vaapi/gstvaapivideomemory.h:
24691           plugins: fix GstVaapiVideoMemory to allocate VA surface proxies.
24692           Make sure GstVaapiVideoMemory allocates VA surface proxies from a
24693           pool stored in the parent VA memory allocator.
24694           This fixes the following scenario:
24695           - VA video buffer 1 is allocated from a buffer pool
24696           - Another video buffer is created, and inherits info from buffer 1
24697           - Buffer 1 is released, thus pushing it back to the buffer pool
24698           - New buffer alloc request comes it, this yields buffer 1 back
24699           - At this stage, buffers 1 and 2 still share the same underlying VA
24700           surface, but buffer 2 was already submitted downstream for further
24701           processing, thus conflicting with additional processing we were
24702           about to perform on buffer 1.
24703           Maybe the core GstBufferPool implementation should have been fixed
24704           instead to actually make sure that the returned GstBuffer memory we
24705           found from the pool is writable?
24706
24707 2013-10-04 19:34:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24708
24709         * gst/vaapi/gstvaapiuploader.c:
24710           plugins: create a proxy for GstVaapiUploader allocated buffers.
24711           Always make sure to allocate a VA surface proxy for GstVaapiUploader
24712           allocated buffers, i.e. make gst_vaapi_uploader_get_buffer() allocate
24713           a proxy surface.
24714           This fixes cases where we want to retain the underlying surface longer,
24715           instead of releasing it back to the surface pool right away.
24716
24717 2013-10-04 19:30:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24718
24719         * gst/vaapi/gstvaapidecode.c:
24720         * gst/vaapi/gstvaapipluginutil.c:
24721         * gst/vaapi/gstvaapipluginutil.h:
24722         * gst/vaapi/gstvaapipostproc.c:
24723           plugins: add helper function to disable deinterlacing in caps.
24724           Add gst_caps_set_interlaced() helper function that would reset the
24725           interlace-mode field to "progressive" for GStreamer >= 1.0, or the
24726           interlaced field to "false" for GStreamer 0.10.
24727
24728 2013-10-01 18:26:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24729
24730         * gst-libs/gst/vaapi/gstvaapifilter.c:
24731           filter: fix memory leak of VPP operations.
24732           Fix ensure_operations() to release the VPP operations array if non
24733           NULL, prior to returning to the caller. The former function was also
24734           renamed to a more meaningful get_operations() since the caller owns
24735           the returned array that needs to be released.
24736
24737 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
24738
24739         * gst-libs/gst/vaapi/gstvaapifilter.c:
24740           filter: fix first-time operation lookup.
24741           Fix first-time operation lookup through find_operation() if the set
24742           of supported operations was not initially determined through the
24743           gst_vaapi_filter_get_operations() helper function.
24744           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24745
24746 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
24747
24748         * gst-libs/gst/vaapi/gstvaapifilter.c:
24749           filter: fix colorbalance related subtypes.
24750           Fix intiialization of GstVaapiFilterOpData for colorbalance related
24751           operations. In particular, fill in the va_subtype field accordingly.
24752           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24753
24754 2013-09-30 17:08:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24755
24756         * gst-libs/gst/vaapi/gstvaapifilter.c:
24757           filter: fix VA-API 0.34.0 symbol guards.
24758           VASurfaceAttrib and VAProcFilterParameterBufferType are symbols
24759           that need to be guarded for libva 0.34 and 0.33, respectively.
24760           https://bugzilla.gnome.org/show_bug.cgi?id=709102
24761           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24762
24763 2013-10-01 17:57:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24764
24765         * gst/vaapi/gstvaapidecode.c:
24766         * gst/vaapi/gstvaapipluginutil.c:
24767         * gst/vaapi/gstvaapisink.c:
24768           plugins: hanle the context query in any pad.
24769           Also this patch simplifies the code, since now the query is common for the
24770           decoder and the sink.
24771           https://bugzilla.gnome.org/show_bug.cgi?id=709200
24772
24773 2013-10-01 12:09:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24774
24775         * gst/vaapi/gstvaapivideocontext.c:
24776           plugins: query upstream element for a GstContext.
24777           Fix gst_vaapi_video_context_prepare() to also query upstream elements
24778           for a valid GstContext. Improve comments regarding the steps used to
24779           lookup or build that context, thus conforming to the GstContext API
24780           recommendations.
24781           https://bugzilla.gnome.org/show_bug.cgi?id=709112
24782           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24783
24784 2013-09-26 15:21:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24785
24786         * configure.ac:
24787         * debian.upstream/control.in:
24788           Fix detection and packaging of GStreamer 1.2.x builds.
24789           The GStreamer 1.2.x packages sticked to the naming convention for 1.0.x
24790           packages, i.e. -1.0 suffix. However, for gstreamer-vaapi packaging
24791           purposes, update the versioning to -1.2 suffix instead.
24792
24793 2013-07-15 13:41:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24794
24795         * gst/vaapi/Makefile.am:
24796         * gst/vaapi/gstvaapidecode.c:
24797         * gst/vaapi/gstvaapidecode.h:
24798         * gst/vaapi/gstvaapisink.c:
24799         * gst/vaapi/gstvaapivideometa_texture.c:
24800         * gst/vaapi/gstvaapivideometa_texture.h:
24801           plugins: add support for GstVideoGLTextureUploadMeta.
24802           If the allocation meta GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE is
24803           requested, and more specifically under a GLX configuration, then add
24804           the GstVideoGLTextureUploadMeta to the output buffer.
24805           https://bugzilla.gnome.org/show_bug.cgi?id=703236
24806           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24807
24808 2013-07-04 11:03:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24809
24810         * gst/vaapi/gstvaapidecode.c:
24811         * gst/vaapi/gstvaapisink.c:
24812         * gst/vaapi/gstvaapivideomemory.h:
24813           plugins: add support for GstCaps features.
24814           Move VA video buffer memory from "video/x-surface,type=vaapi" format,
24815           as expressed in caps, to the more standard use of caps features. i.e.
24816           add "memory:VASurface" feature attribute to the associated caps.
24817           https://bugzilla.gnome.org/show_bug.cgi?id=703271
24818           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24819
24820 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24821
24822         * gst/vaapi/gstvaapidecode.c:
24823         * gst/vaapi/gstvaapisink.c:
24824           plugins: improve ::query() debugging messages.
24825           Fix gst_vaapidecode_query() to correctly display the query type name,
24826           instead of randomly displaying that we shared the underlying display.
24827           Also add debug info for the GstVaapiSink::query() handler, i.e. the
24828           supplied query type name actually.
24829           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24830
24831 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24832
24833         * gst/vaapi/gstvaapidecode.c:
24834         * gst/vaapi/gstvaapisink.c:
24835           plugins: add support for GstContext API.
24836           Add support for the new GstContext API from GStreamer 1.2.x.
24837           - implement the GstElement::set_context() hook ;
24838           - reply to the `context' query from downstream elements.
24839           https://bugzilla.gnome.org/show_bug.cgi?id=703235
24840           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24841
24842 2013-05-22 12:07:52 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24843
24844         * gst/vaapi/Makefile.am:
24845         * gst/vaapi/gstvaapipluginutil.c:
24846         * gst/vaapi/gstvaapivideocontext.c:
24847         * gst/vaapi/gstvaapivideocontext.h:
24848           plugins: add compat layer for GstVideoContext.
24849           Add thin compatibility layer for the deprecated GstVideoContext API.
24850           For GStreamer API >= 1.2, this involves the following two functions:
24851           - gst_vaapi_video_context_prepare(): queries if a context is already
24852           set in the pipeline ;
24853           - gst_vaapi_video_context_propagate(): propagates the newly-created
24854           context to the rest of the pipeline.
24855           https://bugzilla.gnome.org/show_bug.cgi?id=703235
24856           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24857
24858 2013-05-21 12:42:39 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24859
24860         * configure.ac:
24861         * gst/vaapi/Makefile.am:
24862         * gst/vaapi/gstvaapi.c:
24863         * gst/vaapi/gstvaapidecode.c:
24864         * gst/vaapi/gstvaapipluginutil.c:
24865         * gst/vaapi/gstvaapisink.c:
24866         * gst/vaapi/gstvaapivideobuffer.c:
24867           plugins: initial port to GStreamer 1.2.
24868           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.2. This
24869           is rather minimalistic so that to test the basic functionality.
24870           Disable vaapipostproc plugin for now as further polishing is needed.
24871           Also disable GstVideoContext interface support since this API is now
24872           gone in 1.2.x. This is preparatory work for GstContext support.
24873           https://bugzilla.gnome.org/show_bug.cgi?id=703235
24874           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24875
24876 2013-09-24 16:21:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24877
24878         * tests/simple-decoder.c:
24879           tests: simple-decoder: fix for non-X11 backends.
24880           Don't try to create pixmaps if we have not requested that feature. This
24881           fixes execution for non-X11 backends, and most specifically DRM video
24882           output mode.
24883
24884 2013-09-24 16:22:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24885
24886         * ext/codecparsers:
24887           codecparsers: update to gst-vaapi-branch commit b33bd32.
24888           b33bd32 jpeg: fix and optimize scan for next marker code
24889
24890 2013-09-23 19:14:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24891
24892         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24893           jpeg: fix calculation of MCU count.
24894           Fix calculation of MCU count for image sizes that are not a multiple
24895           of 8 pixels in either dimension, but also for non-common sampling
24896           factors like 4:2:2 in non-interleaved mode.
24897
24898 2013-09-23 16:49:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24899
24900         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24901         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24902         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24903           jpeg: add support for multiscan images.
24904           Add support for images with multiple scans per frame. The Huffman table
24905           can be updated before SOS, and thus possibly requiring multiple uploads
24906           of Huffman tables to the VA driver. So, the latter must be able to cope
24907           with multiple VA buffers of type 'huffman-table' and with the correct
24908           sequential order.
24909
24910 2013-09-23 11:41:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24911
24912         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24913           jpeg: improve robustness when packets are missing.
24914           Improve robustness when some expected packets where not received yet
24915           or that were not correctly decoded. For example, don't try to decode
24916           a picture if there was no valid frame headers.
24917
24918 2013-09-20 16:46:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24919
24920         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24921           jpeg: minor clean-ups.
24922           Improve debugging and error messages. Rename a few variables to fit the
24923           existing naming conventions. Change some fatal asserts to non-fatal
24924           error codes.
24925
24926 2013-09-20 10:12:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24927
24928         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24929         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24930         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24931           jpeg: rework and optimize parser.
24932           Split the input buffer data into decoder units that represent a JPEG
24933           segment. Handle scan decoder unit specifically so that it can include
24934           both the scan header (SOS) but also any other ECS or RSTi segment.
24935           That way, we parse the input buffer stream only once at the gst-vaapi
24936           level instead of (i) in gst_vaapi_decoder_jpeg_parse() to split the
24937           stream into frames SOI .. EOI and (ii) in decode_buffer() to further
24938           determine segment boundaries and decode them.
24939           In practice, this is a +15 to +25% performance improvement.
24940
24941 2013-09-17 14:29:54 +0800  Junfeng Xu <jun.feng.xu@intel.com>
24942
24943         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24944           jpeg: handle comment segments.
24945           Fix decode_buffer() function to gracefully skip comment (COM) segments.
24946           This fixes decoding of streams generated by certain cameras, e.g. like
24947           the Logitech Pro C920.
24948           https://bugzilla.gnome.org/show_bug.cgi?id=708208
24949           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
24950
24951 2013-09-18 17:59:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24952
24953         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24954           jpeg: fix determination of image bounds.
24955           Look for the exact image bounds characterised by the <SOI> and <EOI>
24956           markers. Use the gst_jpeg_parse() codec parser utility function to
24957           optimize the lookup for the next marker segment.
24958           https://bugzilla.gnome.org/show_bug.cgi?id=707447
24959
24960 2013-09-10 15:46:09 +0800  Junfeng Xu <jun.feng.xu@intel.com>
24961
24962         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24963           jpeg: fix calculation of offset to next marker segment.
24964           Fix calculation of the offset to the next marker segment since the
24965           correction of the codecparser part to match the API specification.
24966           i.e. the GstJpegMarkerSegment.size field represents the size in bytes
24967           of the segment minus any marker prefix.
24968           https://bugzilla.gnome.org/show_bug.cgi?id=707447
24969           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
24970
24971 2013-09-20 18:30:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24972
24973         * ext/codecparsers:
24974           codecparsers: update to gst-vaapi-branch commit 23c7dde.
24975           23c7dde jpeg: fix calculation of segment size
24976
24977 2013-08-31 16:00:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24978
24979         * configure.ac:
24980           Bump version for development.
24981
24982 2013-08-31 15:47:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24983
24984         * NEWS:
24985         * configure.ac:
24986           0.5.6.
24987
24988 2013-08-31 15:46:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24989
24990         * NEWS:
24991           NEWS: updates.
24992
24993 2013-08-15 17:59:37 +0800  Wind Yuan <feng.yuan@intel.com>
24994
24995         * configure.ac:
24996         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24997           configure: fix detection of VA/JPEG decoding API.
24998           Fix detection of VA/JPEG decoding API with non-standard libva packages.
24999           More precisely, some packages were shipping with a <va/va.h> header that
25000           did not include <va/va_dec_jpeg.h>.
25001           https://bugzilla.gnome.org/show_bug.cgi?id=706055
25002           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25003
25004 2013-04-18 19:49:42 +0800  Zhao Halley <halley.zhao@intel.com>
25005
25006         * gst/vaapi/gstvaapisink.c:
25007           vaapisink: ensure the uploader is setup for upstream allocated buffers.
25008           In GStreamer 0.10 builds, make sure that the GstVaapiUploader helper
25009           is setup in case upstream elements allocate buffers themselves without
25010           honouring our GstVaapiSink::bufer_alloc() hook.
25011           In particular, this fixes support for OGG video streams with WebKit.
25012           https://bugzilla.gnome.org/show_bug.cgi?id=703934
25013           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25014
25015 2013-08-29 19:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25016
25017         * gst/vaapi/gstvaapisink.c:
25018           vaapisink: simplify get_render_buffer() for GStreamer 0.10 builds.
25019           Implement and use gst_vaapisink_get_render_buffer() for GStreamer 0.10
25020           builds as well.
25021
25022 2013-08-29 18:34:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25023
25024         * gst/vaapi/gstvaapisink.c:
25025         * gst/vaapi/gstvaapisink.h:
25026           vaapisink: handle raw buffers not created from VA video buffer pool.
25027           Handle raw video buffers that were not created from a VA video buffer
25028           pool. Use the generic GstVideo API to copy buffers in GStreamer 1.0.x
25029           builds instead of the GstVaapiUploader.
25030           https://bugs.freedesktop.org/show_bug.cgi?id=55818
25031
25032 2013-08-29 19:33:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25033
25034         * gst/vaapi/gstvaapidecode.c:
25035           vaapidecode: remove extraneous size information from allowed caps.
25036           Fix _getcaps() implementation to not report codecs with size information
25037           filled in the returned caps. That's totally useless nowadays. Ideally,
25038           this is a hint to insert a video parser element, thus allowing future
25039           optimizations, but this is not a strict requirement for gstreamer-vaapi,
25040           which is able to parse the elementary bitstreams itself.
25041           https://bugzilla.gnome.org/show_bug.cgi?id=704734
25042
25043 2013-07-30 14:05:39 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
25044
25045         * gst/vaapi/gstvaapidecode.c:
25046         * gst/vaapi/gstvaapidecode.h:
25047           vaapidecode: submit the last frame from output adapter to decoder.
25048           If there is no frame delimiter at the end of the stream, e.g. no
25049           end-of-stream or end-of-sequence marker, and that the current frame
25050           was fully parsed correctly, then assume that last frame is complete
25051           and submit it to the decoder.
25052           https://bugzilla.gnome.org/show_bug.cgi?id=705123
25053           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
25054           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25055
25056 2013-08-29 11:55:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25057
25058         * gst/vaapi/gstvaapidecode.c:
25059         * gst/vaapi/gstvaapidecode.h:
25060           vaapidecode: push all decoded frames from within the task.
25061           Make sure to push all decoded frames from the task so that the unlying
25062           VA surfaces could all be rendered from the same thread.
25063
25064 2013-08-27 18:24:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25065
25066         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25067           wayland: render the raw surface if VPP failed.
25068           As a last resort, if video processing capabilities (VPP) are not available,
25069           or they did not produce anything conclusive enough, then try to fallback to
25070           the original rendering code path whereby the whole VA surface is rendered
25071           as is, no matter of video cropping or deinterlacing requests.
25072           Note: under those conditions, the visual outcome won't be correct but at
25073           least, something gets displayed instead of bailing out.
25074
25075 2013-08-27 18:20:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25076
25077         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25078           wayland: add supporting for video processing.
25079           Try to use VA/VPP processing capabilities to handle video cropping and
25080           additional rendering flags that may not be directly supported by the
25081           underlying hardware when exposing a suitable Wayland buffer for the
25082           supplied VA surface. e.g. deinterlacing, different color primaries than
25083           BT.601, etc.
25084
25085 2013-08-27 16:26:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25086
25087         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25088           wayland: add new frame redraw infrastructure.
25089           Update the frame redraw infrastructure with a new FrameState stucture
25090           holds all the necessary information used to display the next pending
25091           surface.
25092           While we are at it, delay the sync operation down to when it is actually
25093           needed. That way, we keep performing additional tasks meanwhile.
25094
25095 2013-08-27 18:06:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25096
25097         * docs/reference/libs/libs-sections.txt:
25098         * gst-libs/gst/vaapi/gstvaapifilter.c:
25099         * gst-libs/gst/vaapi/gstvaapifilter.h:
25100           filter: allow specification of render target regions.
25101           Add support for rendering the source surface to a particular region within
25102           the supplied target surface. The default background color is black.
25103
25104 2013-08-26 17:14:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25105
25106         * gst/vaapi/gstvaapivideobuffer.c:
25107           decode: fix creation of GLX video buffers for GStreamer 0.10.
25108           Fix creation of GstVaapiVideoBuffer objects (i) to have that type for real;
25109           and (ii) to correctly extract the GstSurfaceConverter from the video buffer
25110           object meta.
25111           This fixes support for cluttersink with GStreamer 0.10 builds.
25112
25113 2013-08-26 16:15:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25114
25115         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25116           mpeg2: disable video cropping as picture_display_extension() is missing.
25117           Disable video cropping in MPEG-2 codec because it is partially implemented
25118           and actually because nobody implements it that way, and the standard spec
25119           does not specify the display process either anyway.
25120           Most notably, there are two possible use cases for sequence_display_extension()
25121           horizontal_display_size & vertical_display_size: (i) guesstimating the
25122           pixel-aspect-ratio, or (ii) implement some kind of span & scan process
25123           in conjunction with picture_display_extension() information.
25124           https://bugzilla.gnome.org/show_bug.cgi?id=704848
25125
25126 2013-08-16 16:58:58 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
25127
25128         * gst/vaapi/gstvaapisink.c:
25129         * gst/vaapi/gstvaapisink.h:
25130           vaapisink: allow scaling to ignore aspect ratio.
25131           Other GStreamer sinks, like xvimagesink, have a force-aspect-ratio property,
25132           which allows you to say that you don't want the sink to respect aspect
25133           ratio. Add the same property to vaapisink.
25134           http://lists.freedesktop.org/archives/libva/2012-September/001298.html
25135           Signed-off-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
25136
25137 2013-05-14 15:19:04 +0800  Wind Yuan <feng.yuan@intel.com>
25138
25139         * gst/vaapi/gstvaapisink.c:
25140           vaapisink: fix memory leak of GstVaapiUploader instance.
25141           Make sure gst_vaapisink_ensure_uploader() checks for the existence
25142           of a former GstVaapiUploader instance prior to forcibly creating a
25143           new one.
25144           https://bugzilla.gnome.org/show_bug.cgi?id=703980
25145
25146 2013-07-31 16:49:20 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
25147
25148         * gst/vaapi/gstvaapisink.c:
25149           vaapisink: fix get_caps() implementation for GStreamer 1.0.
25150           Fix GstBaseSink::get_caps() implementation for GStreamer 1.0.X builds
25151           by honouring the filter caps argument. More precisely, this fixes the
25152           following pipeline: gst-launch-1.0 videotestsrc ! vaapisink
25153           https://bugzilla.gnome.org/show_bug.cgi?id=705192
25154           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
25155           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25156
25157 2013-08-26 11:31:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25158
25159         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25160           mpeg4: fix double definition of GstVaapiDecoderMpeg4Class.
25161           This fixes the following issue:
25162           CC     libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo
25163           gstvaapidecoder_mpeg4.c:113: error: redefinition of typedef
25164           'GstVaapiDecoderMpeg4Class'
25165           gstvaapidecoder_mpeg4.c:44: note: previous declaration of
25166           'GstVaapiDecoderMpeg4Class' was here
25167           make[5]: *** [libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo] Error 1
25168           make[5]: Leaving directory
25169           `/builddir/build/BUILD/gstreamer-vaapi-0.5.5.1/gst-libs/gst/vaapi'
25170           https://bugzilla.gnome.org/show_bug.cgi?id=705148
25171
25172 2013-07-30 15:59:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25173
25174         * tests/test-filter.c:
25175           tests: filter: add support for deinterlacing.
25176           Add --deinterlace option to enable deinterlacing through explicit VA/VPP
25177           deinterlacing filter. However, if --deinterlace option is not set but the
25178           --deinterlace-flags option is set with "top-field-first", then the very
25179           basic bob deinterlacing filter is set through VA/VPP proc pipeline flags.
25180
25181 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
25182
25183         * tests/test-filter.c:
25184           tests: filter: add support for denoising and sharpening.
25185           Add --denoise option to enable noise reduction with the level specified
25186           as the option value (float). Likewise, add --sharpen option to enable
25187           sharpening.
25188           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25189
25190 2013-07-24 14:31:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25191
25192         * tests/test-filter.c:
25193           tests: filter: add support for frame cropping.
25194           Add support for frame cropping through the --crop-rect|-c argument.
25195           The format used is either <WIDTH> 'x' <HEIGHT>, with origin at (0,0) ;
25196           or full specification with '('? <X> ',' <Y> ')'? <WIDTH> 'x' <HEIGHT>.
25197
25198 2013-07-23 18:00:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25199
25200         * tests/test-filter.c:
25201           tests: filter: dump supported operations and formats.
25202
25203 2013-07-08 16:54:55 +0800  Zhao Halley <halley.zhao@intel.com>
25204
25205         * tests/Makefile.am:
25206         * tests/test-filter.c:
25207           tests: add initial test for video processing.
25208           Add minimal test case for video processing: scaling and color format
25209           conversion.
25210           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25211
25212 2013-07-29 09:23:50 +0800  Zhao Halley <halley.zhao@intel.com>
25213
25214         * docs/reference/libs/libs-sections.txt:
25215         * gst-libs/gst/vaapi/gstvaapifilter.c:
25216         * gst-libs/gst/vaapi/gstvaapifilter.h:
25217         * gst-libs/gst/vaapi/gstvaapiutils.c:
25218         * gst-libs/gst/vaapi/gstvaapiutils.h:
25219         * gst/vaapi/gstvaapipostproc.c:
25220         * gst/vaapi/gstvaapipostproc.h:
25221           filter: add initial support for deinterlacing.
25222           Add basic deinterlacing support, i.e. bob-deinterlacing whereby only
25223           the selected field from the input surface is kept for the target surface.
25224           Setting gst_vaapi_filter_set_deinterlacing() method argument to
25225           GST_VAAPI_DEINTERLACE_METHOD_NONE means to disable deinterlacing.
25226           Also move GstVaapiDeinterlaceMethod definition from vaapipostproc plug-in
25227           to libgstvaapi core library.
25228           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25229
25230 2013-07-17 17:40:41 +0800  Zhao Halley <halley.zhao@intel.com>
25231
25232         * docs/reference/libs/libs-sections.txt:
25233         * gst-libs/gst/vaapi/gstvaapifilter.c:
25234         * gst-libs/gst/vaapi/gstvaapifilter.h:
25235           filter: add support for color balance adjustment.
25236           Add ProcAmp (color balance) adjustments for hue, saturation, brightness
25237           and contrast. The respective range for each filter shall be the same as
25238           for the VA display attributes.
25239           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25240
25241 2013-07-17 17:37:16 +0800  Zhao Halley <halley.zhao@intel.com>
25242
25243         * docs/reference/libs/libs-sections.txt:
25244         * gst-libs/gst/vaapi/gstvaapifilter.c:
25245         * gst-libs/gst/vaapi/gstvaapifilter.h:
25246           filter: add support for sharpening.
25247           Sharpening is configured with a float value. The supported range is
25248           -1.0 .. 1.0 with 0.0 being the default, and that means no sharpening
25249           operation at all.
25250           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25251
25252 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
25253
25254         * docs/reference/libs/libs-sections.txt:
25255         * gst-libs/gst/vaapi/gstvaapifilter.c:
25256         * gst-libs/gst/vaapi/gstvaapifilter.h:
25257           filter: add support for denoising.
25258           Noise reduction is configured with a float value. The supported range
25259           is 0.0 .. 1.0 with 0.0 being the default, and that means no denoise
25260           operation at all.
25261           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25262
25263 2013-07-24 14:22:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25264
25265         * docs/reference/libs/libs-sections.txt:
25266         * gst-libs/gst/vaapi/gstvaapifilter.c:
25267         * gst-libs/gst/vaapi/gstvaapifilter.h:
25268           filter: add support for frame cropping.
25269           Frame cropping is defined with a GstVaapiRectangle value. The default
25270           behaviour is to treat the source surface as a whole
25271
25272 2013-07-25 13:55:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25273
25274         * gst-libs/gst/vaapi/gstvaapifilter.c:
25275           filter: add helper functions.
25276           Add helper functions to ensure an operation VA buffer is allocated to
25277           the right size; that filter caps get parsed and assigned to the right
25278           operation too; and that float parameters are correctly scaled to fit
25279           the reported range from the VA driver.
25280
25281 2013-07-23 15:52:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25282
25283         * configure.ac:
25284         * docs/reference/libs/libs-docs.xml.in:
25285         * docs/reference/libs/libs-sections.txt:
25286         * gst-libs/gst/vaapi/Makefile.am:
25287         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25288         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
25289         * gst-libs/gst/vaapi/gstvaapifilter.c:
25290         * gst-libs/gst/vaapi/gstvaapifilter.h:
25291           Add initial infrastructure for video processing.
25292           Add initial API for video processing: only scaling and color format
25293           conversion operations are supported.
25294
25295 2013-07-24 11:53:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25296
25297         * gst-libs/gst/vaapi/video-format.c:
25298         * gst-libs/gst/vaapi/video-format.h:
25299           libs: add gst_vaapi_video_format_from_string() helper.
25300           Add gst_vaapi_video_format_from_string() helper function to convert from
25301           a video format string representation to a suitable GstVideoFormat. This
25302           is just an alias to gst_video_format_from_string() for GStreamer 1.0.x
25303           builds, and a proper iteration over all GstVideoFormat string representations
25304           otherwise for earlier GStreamer 0.10.x builds.
25305
25306 2013-07-24 11:37:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25307
25308         * gst-libs/gst/vaapi/video-format.c:
25309         * gst-libs/gst/vaapi/video-format.h:
25310           libs: add gst_vaapi_video_format_from_va_fourcc() helper.
25311           Add gst_vaapi_video_format_from_va_fourcc() helper that converts from a
25312           VA fourcc value to a suitable GstVideoFormat.
25313
25314 2013-07-24 11:41:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25315
25316         * gst-libs/gst/vaapi/gstvaapivalue.c:
25317         * gst-libs/gst/vaapi/gstvaapivalue.h:
25318           libs: add type definitions for GstVaapiPoint and GstVaapiRectangle.
25319           Add helper functions to describe GstVaapiPoint and GstVaapiRectangle
25320           structures as a standard GType. This could be useful to have them
25321           described as a GValue later on.
25322
25323 2013-07-26 13:57:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25324
25325         * docs/reference/libs/libs-docs.xml.in:
25326         * docs/reference/libs/libs-sections.txt:
25327         * gst-libs/gst/vaapi/Makefile.am:
25328         * gst-libs/gst/vaapi/gstvaapicontext.h:
25329         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
25330           libs: drop some public APIs.
25331           Don't expose GstVaapiContext APIs and make them totally private to
25332           libgstvaapi core library. That API would also tend to disappear in
25333           a future revision. Likewise, don't expose GstVaapiDisplayCache API
25334           but keep symbols visible so that the various render backends could
25335           share a common display cache implementation in libgstvaapi.
25336           Try to clean-up the documentation from any stale entry too.
25337
25338 2013-08-23 18:35:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25339
25340         * tests/image.c:
25341         * tests/image.h:
25342           tests: image: allow creation of images with interleaved patterns.
25343           Add image_generate_full() function to create interleaved color rectangles.
25344           If flags is zero, the whole frame is generated with a unique pattern. If
25345           flags is non-zero, then each field is handled individually.
25346
25347 2013-08-23 16:25:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25348
25349         * tests/image.c:
25350           tests: image: fix conversion from RGB to YUV.
25351           Fix RGB to YUV conversion to preserve full data range.
25352
25353 2013-07-26 13:12:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25354
25355         * tests/image.c:
25356           tests: image: try to upload images through vaDeriveImage() too.
25357           On some platforms, vaPutImage() would fail even if it does not involve
25358           color format conversion or scaling, whereas copying raw pixels through
25359           vaDeriveImage() could work instead.
25360
25361 2013-07-26 10:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25362
25363         * tests/image.c:
25364           tests: image: add support for packed YUV formats.
25365           Add support for packed YUV 4:2:2 formats, i.e. YUY2 and UYVY.
25366
25367 2013-07-25 18:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25368
25369         * tests/image.c:
25370           tests: image: fix generation of I420/YV12 images.
25371           U/V planes were reversed, thus producing invalid images.
25372
25373 2013-07-24 13:55:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25374
25375         * tests/image.c:
25376           tests: image: fix string representation for GstVideoFormat.
25377
25378 2013-07-26 12:57:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25379
25380         * docs/reference/libs/libs-sections.txt:
25381         * gst-libs/gst/vaapi/Makefile.am:
25382         * gst-libs/gst/vaapi/gstvaapiimage.c:
25383         * gst-libs/gst/vaapi/gstvaapiimage.h:
25384         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
25385         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25386         * gst-libs/gst/vaapi/gstvaapisurface.c:
25387           image: clean image API up.
25388           Don't expose functions that reference a GstVaapiImageRaw, those are
25389           meant to be internal only for implementing subpictures sync. Also add
25390           a few private definitions to avoid functions calls for retrieving
25391           image size and format information.
25392
25393 2013-07-26 11:43:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25394
25395         * docs/reference/libs/libs-sections.txt:
25396         * gst-libs/gst/vaapi/gstvaapiimage.c:
25397         * gst-libs/gst/vaapi/gstvaapiimage.h:
25398           image: add gst_vaapi_image_copy() helper.
25399           Add gst_vaapi_image_copy() helper function to copy images of same format
25400           and size.
25401
25402 2013-07-22 14:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25403
25404         * gst/vaapi/gstvaapivideoconverter_x11.c:
25405           plugins: handle video cropping in X11 pixmap converter.
25406           Use GstVideoCropMeta in GStreamer 1.0 or any other render rectangle
25407           we could decode from the stream.
25408
25409 2013-07-22 11:58:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25410
25411         * gst/vaapi/Makefile.am:
25412         * gst/vaapi/gstvaapivideobuffer.c:
25413         * gst/vaapi/gstvaapivideoconverter_glx.c:
25414         * gst/vaapi/gstvaapivideoconverter_x11.c:
25415         * gst/vaapi/gstvaapivideoconverter_x11.h:
25416           plugins: add support for "x11-pixmap" video converter type.
25417           Install a new video converter that supports X11 pixmap targets for X11
25418           backends only, or make the GLX converter creation function chain up to
25419           the X11 converter whenever requested.
25420
25421 2013-07-22 09:36:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25422
25423         * tests/simple-decoder.c:
25424           tests: simple-decoder: add support for pixmap API.
25425           Add support for the new render-to-pixmap API. Avoid flickering on
25426           platforms supporting video overlay by keeping up to 2 intermediate
25427           pixmaps.
25428
25429 2013-07-22 09:12:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25430
25431         * tests/simple-decoder.c:
25432           tests: simple-decoder: add support for video cropping.
25433           Handle video cropping information attached to a VA surface proxy.
25434
25435 2013-07-22 09:03:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25436
25437         * tests/output.c:
25438         * tests/output.h:
25439         * tests/test-decode.c:
25440           tests: add support for render-to-pixmap.
25441           Add --pixmap option to test-decode so that to allow copies of VA
25442           surface to an intermediate pixmap and rendering from that pixmap.
25443           Only X11 backends are supported for now.
25444
25445 2013-07-22 09:00:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25446
25447         * configure.ac:
25448         * gst-libs/gst/vaapi/Makefile.am:
25449         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25450         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
25451         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
25452         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
25453           x11: implement pixmap rendering with RENDER extension.
25454           Use hardware accelerated XRenderComposite() function, from the RENDER
25455           extension, to blit a pixmap to screen. Besides, this can also support
25456           cropping and scaling.
25457
25458 2013-07-19 15:05:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25459
25460         * docs/reference/libs/libs-docs.xml.in:
25461         * docs/reference/libs/libs-sections.txt:
25462         * gst-libs/gst/vaapi/Makefile.am:
25463         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25464         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
25465         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
25466         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
25467           x11: implement pixmap API.
25468           Implement the new render-to-pixmap API. The only supported pixmap format
25469           that will work is xRGB, with native byte ordering. Others might work but
25470           they were not tested.
25471
25472 2013-07-22 10:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25473
25474         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
25475         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
25476         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
25477           x11: update x11_get_geometry() helper function with depth output.
25478           Allow x11_get_geometry() utility function to also return the depth
25479           assigned to the X drawable.
25480
25481 2013-07-22 10:00:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25482
25483         * docs/reference/libs/libs-docs.xml.in:
25484         * docs/reference/libs/libs-sections.txt:
25485         * gst-libs/gst/vaapi/Makefile.am:
25486         * gst-libs/gst/vaapi/gstvaapipixmap.c:
25487         * gst-libs/gst/vaapi/gstvaapipixmap.h:
25488         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
25489         * gst-libs/gst/vaapi/gstvaapiwindow.c:
25490         * gst-libs/gst/vaapi/gstvaapiwindow.h:
25491         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
25492           Add initial Pixmap API.
25493           Add API to transfer VA urfaces to native pixmaps. Also add an API to
25494           render a native pixmap, for completeness. In general, rendering to
25495           pixmap would only be useful to certain VA drivers and use cases on
25496           X11 display servers. e.g. GLX_EXT_texture_from_pixmap (TFP) handled
25497           in an upper layer.
25498
25499 2013-07-22 15:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25500
25501         * docs/reference/libs/libs-sections.txt:
25502         * gst-libs/gst/vaapi/gstvaapiimage.c:
25503         * gst-libs/gst/vaapi/gstvaapisurface.c:
25504         * gst-libs/gst/vaapi/video-format.c:
25505         * gst-libs/gst/vaapi/video-format.h:
25506           libs: add and expose gst_vaapi_video_format_to_string() helper.
25507           This is just a wrapper over gst_video_format_to_string() for older
25508           GStreamer 0.10 builds.
25509
25510 2013-07-18 02:54:54 -0300  Emilio López <emilio@elopez.com.ar>
25511
25512         * gst/vaapi/gstvaapipluginutil.c:
25513           plugins: fix display type comparison in gst_vaapi_create_display().
25514           After the code got moved to create the gst_vaapi_create_display() helper,
25515           this comparison was not updated to dereference the newly-created
25516           pointer, so the code was comparing the pointer itself to the type, and
25517           therefore failing to retrieve the VA display.
25518           This fixes the following error (and gets gst-vaapi decoding again):
25519           ERROR vaapidecode gstvaapidecode.c:807:gst_vaapidecode_ensure_allowed_caps: failed to retrieve VA display
25520           https://bugzilla.gnome.org/show_bug.cgi?id=704410
25521           Signed-off-by: Emilio López <emilio@elopez.com.ar>
25522
25523 2013-07-17 11:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25524
25525         * configure.ac:
25526           Bump version for development.
25527
25528 2013-07-15 17:49:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25529
25530         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25531           mpeg2: don't output dummy pictures.
25532           Mark dummy pictures as output already so that we don't try to submit
25533           them to the upper layer since this is purely internal / temporary
25534           picture for helping the decoder.
25535
25536 2013-07-15 17:43:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25537
25538         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25539           decoder: dispose GstVideoCodecFrame earlier.
25540           Once the picture was output, it is no longer necessary to keep an extra
25541           reference to the underlying GstVideoCodecFrame. So, we can release it
25542           earlier, and maybe subsequently release the associate surface proxy
25543           earlier.
25544
25545 2013-07-15 14:47:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25546
25547         * NEWS:
25548         * configure.ac:
25549           0.5.5.
25550
25551 2013-07-15 14:42:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25552
25553         * docs/reference/libs/libs-sections.txt:
25554         * gst-libs/gst/vaapi/Makefile.am:
25555         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25556         * gst-libs/gst/vaapi/gstvaapiimage.c:
25557         * gst-libs/gst/vaapi/gstvaapisurface.c:
25558         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
25559         * gst-libs/gst/vaapi/video-format.c:
25560         * gst-libs/gst/vaapi/video-format.h:
25561         * gst/vaapi/gstvaapidownload.c:
25562         * gst/vaapi/gstvaapiuploader.c:
25563         * tests/image.c:
25564         * tests/test-display.c:
25565           Fix new video format API.
25566           Fix new internal video format API, based on GstVideoFormat, to not
25567           clobber with system symbols. So replace the gst_video_format_* prefix
25568           with gst_vaapi_video_format_ prefix, even if the format type remains
25569           GstVideoFormat.
25570
25571 2013-07-15 14:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25572
25573         * configure.ac:
25574           Bump library major version.
25575           Bump the library major version due to API/ABI changes that occurred in
25576           the imaging API. In particular, GstVaapiImageFormat type was replaced
25577           with the standard GstVideoFormat type. All dependent APIs were updated
25578           to match this change.
25579
25580 2013-07-15 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25581
25582         * NEWS:
25583           NEWS: updates.
25584
25585 2013-06-11 15:11:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25586
25587         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25588         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25589           decoder: fix memory leak when processing interlaced pictures.
25590           Fix memory leak when processing interlaced pictures and that occurs
25591           because the first field, represented as a GstVideoCodecFrame, never
25592           gets released. i.e. when the picture is completed, this is generally
25593           the case when the second field is successfully decoded, we need to
25594           propagate the GstVideoCodecFrame of the first field to the original
25595           GstVideoDecoder so that it could reclaim memory.
25596           Otherwise, we keep accumulating the first fields into GstVideoDecoder
25597           private frames list until the end-of-stream is reached. The frames
25598           are eventually released there, but too late, i.e. too much memory
25599           may have been consumed.
25600           https://bugzilla.gnome.org/show_bug.cgi?id=701257
25601
25602 2013-07-15 11:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25603
25604         * gst/vaapi/gstvaapipluginutil.c:
25605           plugins: simlpify gst_vaapi_create_display() helper.
25606           Simplify gst_vaapi_create_display() helper as gst_vaapi_display_XXX_new()
25607           performs the necessary validation checks for the underlying VA display
25608           prior to returning to the caller. So, if an error occurred, then NULL is
25609           really returned in that case.
25610
25611 2013-05-24 05:04:01 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25612
25613         * gst/vaapi/gstvaapipluginutil.c:
25614           plugins: add gst_vaapi_create_display() helper.
25615           https://bugzilla.gnome.org/show_bug.cgi?id=703235
25616           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25617
25618 2013-07-12 17:47:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25619
25620         * gst/vaapi/gstvaapivideobufferpool.c:
25621           plugins: don't reallocate pool allocator for the same caps.
25622           If the video buffer pool config doesn't have new caps, then it's not
25623           necessary to reinstantiate the allocator. That could be a costly
25624           operation as we could do some extra heavy checking in there.
25625
25626 2013-07-12 17:14:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25627
25628         * gst/vaapi/gstvaapivideomemory.c:
25629           plugins: fix ref counting of GstVaapiVideoMemory allocator.
25630           Fix reference counting issue whereby gst_memory_init() does not hold
25631           an extra reference to the GstAllocator. So, there could be situations
25632           where the last instance of GstVaapiVideoAllocator gets released before
25633           a dangling GstVaapiVideoMemory object, thus possibly leading to a crash.
25634
25635 2013-07-12 15:15:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25636
25637         * gst/vaapi/gstvaapiuploader.c:
25638           vaapiupload: use implicit color conversion to NV12.
25639           Always perform conversion of sources buffers to NV12 since this is
25640           the way we tested for this capability in ensure_allowed_caps(). This
25641           also saves memory bandwidth for further rendering. However, this may
25642           not preserve quality since the YUV buffers are down-sampled to 4:2:0.
25643
25644 2013-07-12 15:01:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25645
25646         * gst-libs/gst/vaapi/gstvaapivideopool.c:
25647           pool: fix deallocation of video pools.
25648           The queue of free objects to used was deallocated with g_queue_free_full().
25649           However, this convenience function shall only be used if the original queue
25650           was allocated with g_queue_new(). This caused memory corruption, eventually
25651           leading to a crash.
25652           The correct solution is to pair the g_queue_init() with the corresponding
25653           g_queue_clear(), while iterating over all free objects to deallocate them.
25654
25655 2013-03-13 17:44:52 +0800  Wind Yuan <feng.yuan@intel.com>
25656
25657         * gst/vaapi/gstvaapidownload.c:
25658           vaapidownload: fix src caps format error.
25659           This fixes direct linking of vaapidownload element to xvimagesink with
25660           VA drivers supporting vaGetImage() from the native VA surface format to
25661           a different VA image format. i.e. color conversion during download.
25662           http://bugzilla.gnome.org/show_bug.cgi?id=703937
25663           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25664
25665 2013-07-11 18:26:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25666
25667         * gst/vaapi/gstvaapidownload.c:
25668           vaapidownload: fix debug string for image formats.
25669           The image is now expressed as a standard GstVideoFormat, which is not
25670           a FOURCC but rather a regular enum value.
25671           This is a regression introduced in commit 09397fa.
25672
25673 2013-04-24 10:39:03 +0800  Wind Yuan <feng.yuan@intel.com>
25674
25675         * gst-libs/gst/vaapi/gstvaapiimage.c:
25676           image: add support for raw YUY2/UYVY image copies.
25677           Implement raw image copies for YUY2 format. Add support for UYVY format
25678           too, with the same copy function as for YUY2. Even though components
25679           ordering differs, copying line strides is essentially the same.
25680           https://bugzilla.gnome.org/show_bug.cgi?id=703939
25681           https://bugzilla.gnome.org/show_bug.cgi?id=703940
25682           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25683
25684 2013-07-10 15:15:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25685
25686         * gst/vaapi/gstvaapiuploader.c:
25687           plugins: clean-up video uploader helper.
25688           Fix gst_vaapi_uploader_get_buffer() to not assign caps since they
25689           were already negotiated beforehand, and they are not used from the
25690           buffer in upstream elements.
25691           Clean-up gst_vaapi_uploader_ensure_caps() to use the new image caps
25692           represented as a GstVideoInfo.
25693
25694 2013-07-10 15:03:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25695
25696         * gst/vaapi/gstvaapiuploader.c:
25697           plugins: use GstVideoInfo in video uploader helper.
25698
25699 2013-07-10 10:34:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25700
25701         * gst/vaapi/gstvaapivideomemory.c:
25702           plugins: allow creation of VA surfaces with explicit pixel format.
25703           Adapt GstVaapiVideoMemory allocator to support creation of VA surfaces
25704           with an explicit pixel format. This allows for direct rendering to
25705           VA surface memory from a software decoder.
25706
25707 2013-07-10 14:20:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25708
25709         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
25710           surface: fix surface pool creation with an explicit pixel format.
25711           Fix creation of surface pool objects to honour explicit pixel format
25712           specification. If this operation is not supported, then fallback to
25713           the older interface with chroma format.
25714
25715 2013-07-10 13:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25716
25717         * gst-libs/gst/vaapi/gstvaapisurface.c:
25718           surface: try to determine the underlying VA surface format.
25719           If a VA surface was allocated with the chroma-format interface, try to
25720           determine the underlying pixel format on gst_vaapi_surface_get_format(),
25721           or return GST_VIDEO_FORMAT_ENCODED if this is not a supported operation.
25722
25723 2013-07-09 19:08:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25724
25725         * docs/reference/libs/libs-sections.txt:
25726         * gst-libs/gst/vaapi/gstvaapisurface.c:
25727         * gst-libs/gst/vaapi/gstvaapisurface.h:
25728         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
25729           surface: allow creation with explicit pixel format.
25730           Make it possible to create VA surfaces with a specific pixel format.
25731           This is a new capability brought in by VA-API >= 0.34.0. If that
25732           capability is not built-in (e.g. using VA-API < 0.34.0), then
25733           gst_vaapi_surface_new_with_format() will return NULL.
25734
25735 2013-07-10 09:48:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25736
25737         * docs/reference/libs/libs-sections.txt:
25738         * gst-libs/gst/vaapi/video-format.c:
25739         * gst-libs/gst/vaapi/video-format.h:
25740           surface: add helper function to get chroma type from GstVideoFormat.
25741           Add gst_video_format_get_chroma_type() helper function to determine
25742           the GstVaapiChromaType from a standard GStreamer video format. It is
25743           possible to reconstruct that from GstVideoFormatInfo but it is much
25744           simpler (and faster?) to use the local GstVideoFormatMap table.
25745
25746 2013-07-09 19:13:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25747
25748         * gst-libs/gst/vaapi/gstvaapisurface.c:
25749         * gst-libs/gst/vaapi/gstvaapisurface.h:
25750         * gst-libs/gst/vaapi/gstvaapiutils.c:
25751         * gst-libs/gst/vaapi/gstvaapiutils.h:
25752           surface: add new chroma formats.
25753           Add new chroma formats available with VA-API >= 0.34.0. In particular,
25754           this includes "RGB" chroma formats, and more YUV subsampled formats.
25755           Also add a new from_GstVaapiChromaType() helper function to convert
25756           libgstvaapi chroma type to VA chroma format.
25757
25758 2013-07-10 13:32:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25759
25760         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
25761           pool: fix image pool to check for the video format to use.
25762           Make gst_vaapi_image_pool_new() succeed, and thus returning a valid
25763           image pool object, only if the underlying VA display does support the
25764           requested VA image format.
25765
25766 2013-07-10 13:07:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25767
25768         * gst-libs/gst/vaapi/gstvaapicontext.c:
25769         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
25770         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
25771         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
25772         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
25773         * gst-libs/gst/vaapi/gstvaapivideopool.h:
25774         * gst/vaapi/gstvaapidownload.c:
25775         * gst/vaapi/gstvaapiuploader.c:
25776         * tests/Makefile.am:
25777         * tests/test-surfaces.c:
25778           Use GstVideoInfo for video pools.
25779           Get rid of GstCaps to create surface/image pool, and use GstVideoInfo
25780           structures instead. Those are smaller, and allows for streamlining
25781           libgstvaapi more.
25782
25783 2013-07-09 18:03:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25784
25785         * gst-libs/gst/vaapi/gstvaapiimage.c:
25786         * gst-libs/gst/vaapi/video-format.c:
25787           Add more video formats.
25788           Add new video format mappings to VA image formats:
25789           - YUV: packed YUV (YUY2, UYVY), grayscale (Y800) ;
25790           - RGB: 32-bit RGB without alpha channel (XRGB, XBGR, RGBX, BGRX).
25791
25792 2013-07-10 15:52:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25793
25794         * gst-libs/gst/vaapi/gstvaapiimage.c:
25795           image: fix debug message with video format.
25796           Fix debug message string with image format expressed with GstVideoFormat
25797           instead of the obsolete format that turned out to be a fourcc.
25798           This is a regression from git commit e61c5fc.
25799
25800 2013-07-09 15:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25801
25802         * tests/image.c:
25803         * tests/image.h:
25804         * tests/test-display.c:
25805         * tests/test-textures.c:
25806         * tests/test-windows.c:
25807           tests: port to new video format API.
25808
25809 2013-07-09 15:44:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25810
25811         * gst/vaapi/gstvaapidownload.c:
25812         * gst/vaapi/gstvaapiuploader.c:
25813         * gst/vaapi/gstvaapivideomemory.c:
25814           plugins: port to new video format API.
25815
25816 2013-07-09 16:26:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25817
25818         * gst-libs/gst/vaapi/gstvaapiimage.c:
25819           libs: use GstVideoInfo wherever possible.
25820           In particular, use gst_video_info_from_caps() helper function in VA image
25821           for implementating gst_vaapi_image_get_buffer() [vaapidownload] and
25822           gst_vaapi_image_update_from_buffer() [subpictures] in GStreamer 0.10 builds.
25823
25824 2013-07-09 16:38:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25825
25826         * docs/reference/libs/libs-docs.xml.in:
25827         * docs/reference/libs/libs-sections.txt:
25828         * gst-libs/gst/vaapi/Makefile.am:
25829         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
25830         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
25831           libs: drop GstVaapiImageFormat helpers.
25832           Drop GstVaapiImageFormat helpers since everything was moved to the new
25833           GstVideoFormat based API. Don't bother with backwards compatibility and
25834           just bump the library major version afterwards.
25835
25836 2013-07-09 14:03:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25837
25838         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25839         * gst-libs/gst/vaapi/gstvaapidisplay.h:
25840         * gst-libs/gst/vaapi/gstvaapiimage.c:
25841         * gst-libs/gst/vaapi/gstvaapiimage.h:
25842         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
25843         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25844           libs: port to new video format API.
25845
25846 2013-07-09 15:29:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25847
25848         * docs/reference/libs/libs-docs.xml.in:
25849         * docs/reference/libs/libs-sections.txt:
25850         * gst-libs/gst/vaapi/Makefile.am:
25851         * gst-libs/gst/vaapi/video-format.c:
25852         * gst-libs/gst/vaapi/video-format.h:
25853           Add new video format API.
25854           Leverage GstVideoFormat utilities from core GStreamer to provide an
25855           adaptation layer to VA image formats.
25856
25857 2013-07-09 11:13:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25858
25859         * NEWS:
25860           NEWS: updates.
25861
25862 2013-07-08 18:32:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25863
25864         * gst/vaapi/gstvaapisink.c:
25865           vaapisink: fix creation of GLX texture.
25866           Fix creation of GLX texture, to not depend on the GstCaps video size that
25867           could be wrong, especially in presence of frame cropping. So, use the size
25868           from the source VA surfaces.
25869           An optimization could be to reduce the texture size to the actual visible
25870           size on screen. i.e. scale down the texture size to match the screen dimensions,
25871           while preserving the VA surface aspect ratio. However, some VA drivers don't
25872           honour that.
25873
25874 2013-02-18 16:28:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25875
25876         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25877           mpeg2: add support for video cropping.
25878           If the stream has a sequence_display_extenion, then attach the
25879           display_horizontal/display_vertical dimension as the cropping
25880           rectangle width/height to the GstVaapiPicture.
25881           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25882
25883 2013-02-18 15:05:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25884
25885         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
25886           vc1: add support for video cropping.
25887           If the Advanced profile has display_extension fields, then set the display
25888           width/height dimension as cropping rectangle to the GstVaapiPicture.
25889           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25890
25891 2013-02-15 18:50:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25892
25893         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
25894           h264: add support for video cropping.
25895           If the encoded stream has the frame_cropping_flag set, then associate
25896           the cropping rectangle to GstVaapiPicture.
25897           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25898
25899 2013-07-08 17:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25900
25901         * tests/decoder.c:
25902         * tests/decoder.h:
25903         * tests/test-decode.c:
25904         * tests/test-subpicture.c:
25905           tests: add basic support for video cropping.
25906           Change generic decoder of sample I-frame to return a GstVaapiSurfaceProxy
25907           instead of a plain GstVaapiSurface. This means that we can now retrieve
25908           the frame cropping rectangle from the surface proxy, along with additional
25909           information if ever needed.
25910
25911 2013-07-08 14:50:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25912
25913         * gst/vaapi/gstvaapidecode.c:
25914         * gst/vaapi/gstvaapisink.c:
25915         * gst/vaapi/gstvaapivideometa.c:
25916           plugins: add support for video cropping.
25917           Add support for GstVideoCropMeta in GStreamer >= 1.0.x builds and gst-vaapi
25918           specific meta information to hold video cropping details. Make the sink
25919           support video cropping in X11 and GLX modes.
25920
25921 2013-02-15 18:24:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25922
25923         * gst/vaapi/gstvaapivideometa.c:
25924         * gst/vaapi/gstvaapivideometa.h:
25925           plugins: add helper functions to set the render rectangle.
25926           Some video clips may have a clipping region that needs to propogate to
25927           the renderer. These helper functions make it possible to attach that
25928           clipping region, as a GstVaapiRectangle, the the video meta associated
25929           with the buffer.
25930           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25931           signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25932
25933 2013-07-08 14:47:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25934
25935         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25936         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
25937           surfaceproxy: allow for NULL cropping rectangle.
25938           Make it possible associate an empty cropping rectangle to the surface
25939           proxy, thus resetting any cropping rectangle that was previously set.
25940           This allows for returning plain NULL when no cropping rectangle was
25941           initially set up to the surface proxy, or if it was reset to defaults.
25942
25943 2013-07-08 11:41:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25944
25945         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
25946           surfaceproxy: clean-up helper macros.
25947           Always use the GST_VAAPI_SURFACE_PROXY() helper macro to cast from a
25948           proxy macro argument to a GstVaapiSurfaceProxy pointer.
25949
25950 2013-07-08 11:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25951
25952         * gst-libs/gst/vaapi/gstvaapisurface.c:
25953         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
25954         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25955         * gst-libs/gst/vaapi/gstvaapiwindow.c:
25956           surface: add simple surface info accessors as helper macros.
25957           Add helper macros to retrieve the VA surface information like size
25958           (width, height) or chroma type. This is a micro-optimization to avoid
25959           useless function calls and NULL pointer re-checks in internal routines.
25960
25961 2013-02-15 18:42:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25962
25963         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25964         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25965         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25966         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25967         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
25968           decoder: add support for video cropping.
25969           Add gst_vaapi_picture_set_crop_rect() helper function to copy the video
25970           cropping information from raw bitstreams to each picture being decoded.
25971           Also add helper function to surface proxy to propagate that information
25972           outside of libgstvaapi. e.g. plug-in elements or standalone applications.
25973           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25974           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25975
25976 2013-07-08 17:30:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25977
25978         * ext/codecparsers:
25979           codecparsers: update to gst-vaapi-branch commit f90de0a.
25980           f90de0a h264: fix calculation of the frame cropping rectangle
25981           535515c h264: parse the cropping rectangle separately
25982
25983 2013-07-05 19:03:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25984
25985         * ext/codecparsers:
25986           codecparsers: update to gst-vaapi-branch commit 0f68a71.
25987           0f68a71 mpeg2: fix video packet header size checks
25988
25989 2013-06-07 20:08:43 +0800  Zhong Cong <congx.zhong@intel.com>
25990
25991         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25992           mpeg2: reset quantization matrices on new sequence headers.
25993           The MPEG-2 standard specifies (6.3.7) that all quantisation matrices
25994           shall be reset to their default values when a Sequence_Header() is
25995           decoded.
25996           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25997
25998 2013-07-05 15:49:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25999
26000         * configure.ac:
26001         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26002           mpeg2: cope with latest codecparser changes.
26003           Fix build with newer MPEG-2 codecparser where GstMpegVideoPacket are
26004           used in individual header parsers. Also use the new slice parsing API.
26005
26006 2013-07-05 17:51:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26007
26008         * ext/codecparsers:
26009           codecparsers: update to gst-vaapi-branch commit dddd182.
26010           dddd182 mpeg2: add slice header parsing API
26011           94e6228 mpeg2: add sequence scalable extension parsing API
26012           531134f mpeg2: add new API that takes GstMpegVideoPacket arguments
26013           4b135d3 h264: fix the return value type for the SEI palyload parsing methods
26014
26015 2013-06-27 12:25:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26016
26017         * gst/vaapi/gstvaapisink.c:
26018           vaapisink: expose the raw video formats in static caps template.
26019           Expose all raw video formats in the static caps template since the
26020           vaapisink is supporting raw data. We will get the exact set of formats
26021           supported by the driver dynamically through the _get_caps() routine.
26022           This also fixes an inconsistency wrt. GStreamer 0.10 builds.
26023           https://bugzilla.gnome.org/show_bug.cgi?id=702178
26024           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26025
26026 2013-06-27 13:53:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26027
26028         * gst/vaapi/gstvaapisink.c:
26029         * gst/vaapi/gstvaapisink.h:
26030           vaapisink: add "use-glx" property for OpenGL rendering.
26031           Now that VA/GLX capable buffers are generated by default on X11, thus
26032           depending on a VA/GLX display, we stil want to use vaPutSurface() for
26033           rendering since it is faster.
26034           Anyway, OpenGL rendering in vaapisink was only meant for testing and
26035           enabling "fancy" effects to play with. This has no real value. So,
26036           disable OpenGL rendering by default.
26037
26038 2013-06-06 05:36:03 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
26039
26040         * gst/vaapi/gstvaapipluginutil.c:
26041           plugins: try to allocate a GLX display first over an X11 one.
26042           If the gstreamer-vaapi plug-in elements are built with GLX support, then
26043           try to allocate a GstVaapiDisplayGLX first before resorting to a VA/X11
26044           display next.
26045           https://bugzilla.gnome.org/show_bug.cgi?id=701742
26046
26047 2013-04-25 17:07:13 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
26048
26049         * configure.ac:
26050           configure: use GST_PLUGIN_PATH_1_0 instead of GST_PLUGIN_PATH for Gst 1.0.
26051           jhbuild sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH.
26052           https://bugzilla.gnome.org/show_bug.cgi?id=698858
26053           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26054
26055 2013-04-27 15:15:49 +0800  Wind Yuan <feng.yuan@intel.com>
26056
26057         * gst-libs/gst/vaapi/gstvaapiimage.c:
26058           image: fix wrong check for rect bounds in copy_image().
26059
26060 2013-06-14 13:41:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26061
26062         * configure.ac:
26063           Bump version for development.
26064
26065 2013-06-14 11:47:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26066
26067         * NEWS:
26068         * configure.ac:
26069           0.5.4.
26070
26071 2013-06-14 11:43:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26072
26073         * NEWS:
26074           NEWS: updates.
26075
26076 2013-06-14 11:39:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26077
26078         * configure.ac:
26079         * gst-libs/gst/codecparsers/Makefile.am:
26080           configure: always build the MPEG-4 parser.
26081           Always build the MPEG-4 parser for now as there are also core fixes
26082           included in the parser that cannot be tested for with API checks.
26083
26084 2013-06-14 11:32:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26085
26086         * configure.ac:
26087           configure: add --enable-builtin-codecparsers [default="yes"] option.
26088           Add flag to have all codecparsers built-in, thus ensuring that the
26089           resulting binaries have all the necessary bug fixes and this is what
26090           the QA has been testing anyway.
26091           Of course, for a completely up-to-date Linux distribution, you could
26092           also opt for --disable-builtin-codecparsers and use the system ones.
26093           Though, some core fixes could be missing, and those cannot be tested
26094           for with API checks.
26095
26096 2013-06-14 11:14:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26097
26098         * ext/codecparsers:
26099           codecparsers: update to gst-vaapi-branch commit 843ce3e.
26100           843ce3e jpeg: fix default Huffman tables generation.
26101           8655187 mpeg2: fix the pixel-aspect-ratio calculation
26102           21099dc mpeg2: actually store video bitrate values
26103           dd02087 mpeg2: fix picture packet extension size check
26104           25948e9 mpeg2: increase min size for picture coding ext
26105           f1f5a40 ensure the debug category is properly initialized
26106
26107 2013-06-12 14:16:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26108
26109         * debian.upstream/Makefile.am:
26110           debian: fix list of generated files for .deb packaging.
26111
26112 2013-06-12 13:48:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26113
26114         * configure.ac:
26115         * debian.upstream/Makefile.am:
26116         * debian.upstream/control.in:
26117           debian: fix libgstvaapi -dev package name.
26118           Fix libgstvaapi -dev package name so that to allow installation of both
26119           GStreamer 0.10 and 1.0.x based packages.
26120
26121 2013-06-05 17:42:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26122
26123         * NEWS:
26124           NEWS: updates.
26125
26126 2013-05-31 11:09:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26127
26128         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26129           wayland: fix memory leak of display resources.
26130
26131 2013-06-04 07:14:22 +0800  Zhao Halley <halley.zhao@intel.com>
26132
26133         * gst/vaapi/gstvaapisink.c:
26134           vaapisink: fix build without VA/GLX support.
26135
26136 2013-06-05 11:01:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26137
26138         * gst/vaapi/gstvaapivideomemory.c:
26139         * gst/vaapi/gstvaapivideomemory.h:
26140           plugins: allow buffer mappings to GstVaapiSurfaceProxy.
26141           Allow plain gst_buffer_map() interface to work with gstreamer-vaapi
26142           video buffers, i.e. expose the underlying GstVaapiSurfaceProxy to the
26143           caller. This is the only sensible enough thing to do in this mode as
26144           the underlying surface pixels need to be extracted through an explicit
26145           call to the gst_video_frame_map() function instead.
26146           A possible use-case of this is to implement a "handoff" signal handler
26147           to fakesink or identity element for further processing.
26148
26149 2013-06-03 10:22:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26150
26151         * gst/vaapi/gstvaapivideomemory.c:
26152           plugins: silence check for direct-rendering mode in video memory.
26153           Fix gst_vaapi_video_allocator_new() to silently check for direct-rendering
26154           mode support, and not trigger fatal-criticals if either test surface or
26155           image could not be created. Typical case: pixel format mismatch, e.g. NV12
26156           supported by most hardware vs. I420 supported by most software decoders.
26157
26158 2013-06-03 10:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26159
26160         * gst/vaapi/gstvaapivideomemory.c:
26161           plugins: improve video memory flags safety checks.
26162           On map, ensure we have GST_MAP_WRITE flags since this is only what we
26163           support for now. Likewise, on unmap, make sure that the VA image is
26164           unmapped for either read or write, while still committing it to the
26165           VA surface if write was requested.
26166
26167 2013-05-30 18:17:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26168
26169         * gst-libs/gst/vaapi/gstvaapisurface.c:
26170           surface: fix memory leak through unreleased parent context.
26171           Break the circular references between GstVaapiContext and its children
26172           GstVaapiSurfaces. Since the VA surfaces held an extra reference to the
26173           context, which holds a reference to its VA surfaces, then none of those
26174           were released.
26175           How does this impact support for subpictures?
26176           The only situation when the parent context needs to disappear is when
26177           it is replaced with another one because of a resolution change in the
26178           video stream for instance, or a normal destroy. In this case, it does
26179           not really matter to apply subpictures to the peer surfaces since they
26180           are either gone, or those that are left in the pipe can probably bear
26181           a reinstantiation of the subpictures for it.
26182           So, parent_context is set to NULL when the parent context is destroyed,
26183           other VA surfaces can still get subpictures attached to them, individually
26184           not as a whole. i.e. subpictures for surface S1 will be created from
26185           active composition buffers and associated to S1, subpictures for S2 will
26186           be created from the next active composition buffers, etc. We don't try
26187           to cache the subpictures in those cases (pending surfaces until EOS
26188           is reached, or pending surfaces until new surfaces matching new VA context
26189           get to be used instead).
26190
26191 2013-05-27 14:01:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26192
26193         * gst/vaapi/gstvaapisink.c:
26194           vaapisink: fix one-time initialization when display property is set.
26195           Fix gst_vaapisink_ensure_display() to perform one-time initialization
26196           tasks even if the `display' property was explicitly set.
26197
26198 2013-05-27 15:59:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26199
26200         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26201           window: fix GLX window initialization.
26202           Make sure to create the GLX context once the window object has completed
26203           its creation. Since gl_resize() relies on the newly created window size,
26204           then we cannot simply overload the GstVaapiWindowClass::create() hook.
26205           So, we just call into gst_vaapi_window_glx_ensure_context() once the
26206           window object is created in the gst_vaapi_window_glx_new*() functions.
26207
26208 2013-05-27 17:18:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26209
26210         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26211         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
26212         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
26213         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26214         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26215         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
26216         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26217         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26218         * gst-libs/gst/vaapi/gstvaapitexture.c:
26219         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
26220         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26221         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
26222         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26223           display: validate display types.
26224
26225 2013-05-27 16:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26226
26227         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26228         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26229         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26230           display: drop internal NAME_PREFIX, store the real display name.
26231           Always store a valid display name/device path, instead of adding a
26232           particular prefix. i.e. make it simply a strdup(), or "" if it was
26233           initially NULL.
26234
26235 2013-05-27 13:17:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26236
26237         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26238         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26239         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26240         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26241         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26242         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26243         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
26244           display: make it possible to lookup the display cache by type.
26245           Make it possible to add extra an extra filter to most of display cache
26246           lookup functions so that the GstVaapiDisplay instance can really match
26247           a compatible and existing display by type, instead of relying on extra
26248           string tags (e.g. "X11:" prefix, etc.).
26249
26250 2013-05-24 16:19:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26251
26252         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26253         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26254         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26255           display: cope with new display cache API.
26256
26257 2013-05-24 16:12:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26258
26259         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26260         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
26261           display: rework display cache API.
26262           Simplify display cache API, while making it more flexible. We can now create
26263           custom lookup functions with gst_vaapi_display_cache_lookup_custom().
26264
26265 2013-05-24 15:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26266
26267         * tests/test-display.c:
26268           tests: improve check for display cache.
26269           Improve check for display cache infrastructure. In particular, for X11 and
26270           GLX backends, we need to make sure that we can create a GstVaapiDisplayX11
26271           from another GstVaapiDisplayGLX, i.e. underlying X11 and VA displays can be
26272           shared. Besides, allocating a GstVaapiDisplayGLX while a GstVaapiDisplayX11
26273           already exists will have to generate different VA displays.
26274
26275 2013-05-15 10:33:16 +0800  Zhao Halley <halley.zhao@intel.com>
26276
26277         * gst/vaapi/gstvaapiuploader.c:
26278           uploader: fix memory leak in GStreamer 0.10 builds.
26279           In GStreamer 0.10 builds, gst_vaapi_uploader_get_buffer() was used
26280           but it exhibited a memory leak because the surface generated for the
26281           GstVaapiVideoMeta totally lost its parent video pool. So, it was not
26282           possible to release that surface back to the parent pool when the meta
26283           gets released, and the memory consumption kept growing.
26284           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26285
26286 2013-05-23 18:56:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26287
26288         * gst/vaapi/gstvaapivideometa.c:
26289           plugins: fix gst_vaapi_video_meta_new_from_pool().
26290           Since GST_VAAPI_IS_xxx_VIDEO_POOL() was only testing for NULL and not
26291           the underlying object type, the gst_vaapi_video_meta_new_from_pool()
26292           was hereby totally broken. Fixed this regression by using the newly
26293           provided gst_vaapi_video_pool_get_object_type() function.
26294
26295 2013-05-23 18:22:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26296
26297         * gst/vaapi/gstvaapiuploader.c:
26298         * gst/vaapi/gstvaapivideomemory.c:
26299         * gst/vaapi/gstvaapivideometa.c:
26300           plugins: cope with GST_VAAPI_IS_xxx() macros removal.
26301
26302 2013-05-23 18:19:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26303
26304         * tests/decoder.c:
26305           tests: cope with GST_VAAPI_IS_xxx() macros removal.
26306
26307 2013-05-23 18:45:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26308
26309         * docs/reference/libs/libs-sections.txt:
26310         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26311         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26312         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26313         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26314         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
26315           libs: add query for GstVaapiVideoPool object types.
26316           Add API to identify the underlying GstVaapiVideoPool object type.
26317
26318 2013-05-23 18:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26319
26320         * docs/reference/libs/libs-sections.txt:
26321         * gst-libs/gst/vaapi/gstvaapicontext.c:
26322         * gst-libs/gst/vaapi/gstvaapicontext.h:
26323         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26324         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26325         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26326         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26327         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26328         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
26329         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26330         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26331         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
26332         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26333         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26334         * gst-libs/gst/vaapi/gstvaapiimage.c:
26335         * gst-libs/gst/vaapi/gstvaapiimage.h:
26336         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26337         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26338         * gst-libs/gst/vaapi/gstvaapiobject.c:
26339         * gst-libs/gst/vaapi/gstvaapiobject.h:
26340         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26341         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26342         * gst-libs/gst/vaapi/gstvaapisurface.c:
26343         * gst-libs/gst/vaapi/gstvaapisurface.h:
26344         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26345         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26346         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26347         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
26348         * gst-libs/gst/vaapi/gstvaapitexture.c:
26349         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26350         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26351         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26352         * gst-libs/gst/vaapi/gstvaapiwindow.h:
26353         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
26354         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26355         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26356         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
26357           libs: drop GST_VAAPI_IS_xxx() helper macros.
26358           Drop obsolete GST_VAAPI_IS_xxx() helper macros since we are no longer
26359           deriving from GObject and so those were only checking for whether the
26360           argument was NULL or not. This is now irrelevant, and even confusing
26361           to some extent, because we no longer have type checking.
26362           Note: this incurs more type checking (review) but the libgstvaapi is
26363           rather small, so this is manageable.
26364
26365 2013-05-07 18:52:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26366
26367         * configure.ac:
26368           Bump library major version.
26369           The whole libgstvaapi libraries got a major refresh to get rid of GObject.
26370           This is a fundamental change that requires a new SONAME. More changes are
26371           underway to streamline the core libraries.
26372           So far, the net result is a reduction of .text size (code) by 32KB, i.e. -10%.
26373           On one particular test (sintel HD trailer), the total number of executed
26374           instruction was reduced by 8%.
26375
26376 2013-05-07 18:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26377
26378         * docs/reference/libs/Makefile.am:
26379         * docs/reference/libs/libs-docs.xml.in:
26380         * docs/reference/libs/libs-sections.txt:
26381         * docs/reference/libs/libs.core.types:
26382         * docs/reference/libs/libs.glx.types:
26383         * docs/reference/libs/libs.x11.types:
26384           docs: cope with removed APIs.
26385           Some APIs are dead because they are no longer based on GObject.
26386
26387 2013-05-06 14:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26388
26389         * gst/vaapi/gstvaapidecode.c:
26390         * gst/vaapi/gstvaapidownload.c:
26391         * gst/vaapi/gstvaapipluginutil.c:
26392         * gst/vaapi/gstvaapipostproc.c:
26393         * gst/vaapi/gstvaapisink.c:
26394         * gst/vaapi/gstvaapiupload.c:
26395         * gst/vaapi/gstvaapiuploader.c:
26396         * gst/vaapi/gstvaapivideobufferpool.c:
26397         * gst/vaapi/gstvaapivideoconverter_glx.c:
26398         * gst/vaapi/gstvaapivideomemory.c:
26399         * gst/vaapi/gstvaapivideometa.c:
26400           plugins: cope with new GstVaapiMiniObject objects.
26401
26402 2013-05-07 11:45:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26403
26404         * tests/decoder.c:
26405         * tests/image.c:
26406         * tests/output.c:
26407         * tests/simple-decoder.c:
26408         * tests/test-decode.c:
26409         * tests/test-display.c:
26410         * tests/test-subpicture.c:
26411         * tests/test-surfaces.c:
26412         * tests/test-textures.c:
26413         * tests/test-windows.c:
26414           tests: cope with new GstVaapiMiniObject objects.
26415
26416 2013-05-07 15:38:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26417
26418         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26419           display: fix set_synchronous() to lock display.
26420
26421 2013-05-03 19:02:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26422
26423         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26424         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26425           videopool: simplify creation of video objects pool.
26426
26427 2013-05-07 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26428
26429         * gst-libs/gst/vaapi/gstvaapiobject.c:
26430         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26431         * gst-libs/gst/vaapi/gstvaapitypes.h:
26432           libs: simplify GstVaapiID definitions.
26433           Make GstVaapiID a gsize instead of guessing an underlying integer large
26434           enough to hold all bits of a pointer. Also drop GST_VAAPI_ID_NONE since
26435           this is plain zero and that it is no longer passed as varargs.
26436
26437 2013-05-02 16:11:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26438
26439         * gst-libs/gst/vaapi/Makefile.am:
26440         * gst-libs/gst/vaapi/gstvaapi_priv.h:
26441         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
26442         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
26443         * gst-libs/gst/vaapi/gstvaapivalue.c:
26444         * gst-libs/gst/vaapi/gstvaapivalue.h:
26445           libs: drop obsolete function helpers and objects.
26446           Drop obsolete GstVaapiID related function helpers for passing them as
26447           GValues.
26448
26449 2013-05-07 11:39:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26450
26451         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26452         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26453         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26454         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26455         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
26456         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
26457         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26458         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26459         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
26460         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26461         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26462         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
26463         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
26464         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26465         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26466         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26467         * gst-libs/gst/vaapi/gstvaapiobject.c:
26468         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26469           libs: use GstVaapiMiniObject for display objects.
26470
26471 2013-05-06 14:07:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26472
26473         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26474         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26475         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26476         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26477         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
26478         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
26479         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
26480         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26481         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
26482         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26483         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
26484         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26485         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26486         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26487         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
26488           libs: use GstVaapiMiniObject for video decoders.
26489           Port GstVaapiDecoder and GstVaapiDecoder{MPEG2,MPEG4,JPEG,H264,VC1} to
26490           GstVaapiMiniObject. Add gst_vaapi_decoder_set_codec_state_changed_func()
26491           helper function to let the user add a callback to a function triggered
26492           whenever the codec state (e.g. caps) changes.
26493
26494 2013-05-03 11:01:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26495
26496         * docs/reference/libs/libs-sections.txt:
26497         * gst-libs/gst/vaapi/Makefile.am:
26498         * gst-libs/gst/vaapi/gstvaapicontext.c:
26499         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26500         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26501         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26502         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26503         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26504         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26505         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26506         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
26507           libs: use GstVaapiMiniObject for video object pools.
26508           Port GstVaapiVideoPool, GstVaapiSurfacePool and GstVaapiImagePool to
26509           GstVaapiMiniObject. Drop gst_vaapi_video_pool_get_caps() since it was
26510           no longer used for a long time. Make object allocators static, i.e.
26511           local to the shared library.
26512
26513 2013-04-30 17:22:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26514
26515         * gst-libs/gst/vaapi/gstvaapitexture.c:
26516         * gst-libs/gst/vaapi/gstvaapitexture.h:
26517           libs: use GstVaapiObject for texture objects.
26518
26519 2013-04-30 17:20:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26520
26521         * gst-libs/gst/vaapi/Makefile.am:
26522         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26523         * gst-libs/gst/vaapi/gstvaapiwindow.h:
26524         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
26525         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
26526         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26527         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
26528         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
26529         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
26530         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
26531         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26532         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
26533         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
26534           libs: use GstVaapiObject for window objects.
26535
26536 2013-04-30 17:22:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26537
26538         * gst-libs/gst/vaapi/gstvaapicontext.c:
26539         * gst-libs/gst/vaapi/gstvaapicontext.h:
26540         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26541         * gst-libs/gst/vaapi/gstvaapiimage.c:
26542         * gst-libs/gst/vaapi/gstvaapiimage.h:
26543         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26544         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26545         * gst-libs/gst/vaapi/gstvaapisurface.c:
26546         * gst-libs/gst/vaapi/gstvaapisurface.h:
26547         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26548         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26549           libs: use GstVaapiObject for VA objects.
26550
26551 2013-04-30 17:20:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26552
26553         * gst-libs/gst/vaapi/Makefile.am:
26554         * gst-libs/gst/vaapi/gstvaapiobject.c:
26555         * gst-libs/gst/vaapi/gstvaapiobject.h:
26556         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
26557           Port GstVaapiObject to GstVaapiMiniObject.
26558
26559 2013-04-30 10:28:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26560
26561         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26562         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
26563         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26564         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26565         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
26566         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
26567           libs: refine GstVaapiMiniObject.
26568           Drop support for user-defined data since this capability was not used
26569           so far and GstVaapiMiniObject represents the smallest reference counted
26570           object type. Add missing GST_VAAPI_MINI_OBJECT_CLASS() helper macro.
26571           Besides, since GstVaapiMiniObject is a libgstvaapi internal object, it
26572           is also possible to further simplify the layout of the object. i.e. merge
26573           GstVaapiMiniObjectBase into GstVaapiMiniObject.
26574
26575 2013-05-07 16:43:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26576
26577         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26578           decoder: update picture size from the bitstream.
26579           Propagate the picture size from the bitstream to the GstVaapiDecoder,
26580           and subsequent user who installed a signal on notify::caps. This fixes
26581           decoding of TS streams when the demuxer failed to extract the required
26582           information.
26583
26584 2013-04-25 14:16:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26585
26586         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26587           decoder: fix raw decoding mode.
26588           Fix gst_vaapi_decoder_get_surface() to actually transfer ownership of the
26589           surface proxy to the caller.
26590
26591 2013-04-25 13:56:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26592
26593         * docs/reference/libs/libs-sections.txt:
26594         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26595         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26596         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26597         * gst/vaapi/gstvaapidecode.c:
26598           decoder: add gst_vaapi_decoder_get_frame_with_timeout().
26599           Add gst_vaapi_decoder_get_frame_with_timeout() helper function that will
26600           wait for a frame to be decoded, until the specified timeout in microseconds,
26601           prior to returning to the caller.
26602           This is a fix to performance regression from 851cc0, whereby the vaapidecode
26603           loop executed on the srcpad task was called to often, thus starving all CPU
26604           resources.
26605
26606 2013-04-19 14:38:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26607
26608         * configure.ac:
26609           Bump version for development.
26610
26611 2013-04-18 19:09:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26612
26613         * NEWS:
26614         * configure.ac:
26615           0.5.3.
26616
26617 2013-04-18 19:08:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26618
26619         * NEWS:
26620           NEWS: updates.
26621
26622 2013-04-18 15:55:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26623
26624         * gst/vaapi/gstvaapidecode.c:
26625           vaapidecode: rework heuristics to detect decode timeout.
26626           Rework heuristics to detect when downstream element ran into errors,
26627           and thus failing to release any VA surface in due time for the current
26628           frame to get decoded. In particular, recalibrate the render time base
26629           when the first frame gets submitted downstream, or when there is no
26630           timestamp that could be inferred.
26631
26632 2013-04-18 15:50:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26633
26634         * gst-libs/gst/vaapi/gstcompat.h:
26635         * gst/vaapi/gstvaapidecode.c:
26636           vaapidecode: rework GstVideoDecoder::handle_frame() with a task.
26637           Rework GstVideoDecoder::handle_frame() to decode the current frame,
26638           while possibly waiting for a free surface, and separately submit all
26639           decoded frames from a task. This makes it possible to pop and render
26640           decoded frames as soon as possible.
26641
26642 2013-04-18 10:06:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26643
26644         * gst/vaapi/gstvaapidecode.c:
26645         * gst/vaapi/gstvaapidownload.c:
26646         * gst/vaapi/gstvaapisink.c:
26647         * gst/vaapi/gstvaapiupload.c:
26648           plugins: use gst_object_unref() wherever applicable.
26649           Use gst_object_unref() wherever applicable, e.g. objects derived from
26650           GstElement, GstVideoPool, etc.
26651
26652 2013-04-17 14:21:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26653
26654         * docs/reference/plugins/plugins-docs.xml.in:
26655         * docs/reference/plugins/plugins-sections.txt:
26656         * docs/reference/plugins/plugins.types:
26657           docs: drop obsolete plug-ins.
26658           Drop documentation for obsolete plug-ins, even for GStreamer 0.10.
26659           i.e. vaapiupload and vaapidownload are no longer the recommended
26660           plug-ins to use.
26661
26662 2013-04-17 13:17:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26663
26664         * debian.upstream/rules:
26665           debian: fix build of GStreamer 0.10 packages.
26666           Fix build of Debian packages to scan the actual GStreamer API version
26667           from the generated changelog file.
26668
26669 2013-04-17 10:58:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26670
26671         * gst/vaapi/gstvaapipostproc.c:
26672           vaapipostproc: minor clean-ups.
26673           Use g_clear_object() wherever appropriate and remove dead-code.
26674
26675 2013-04-17 10:53:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26676
26677         * gst/vaapi/gstvaapipostproc.c:
26678           vaapipostproc: fix reference counting buf for passthrough mode.
26679           Fix reference counting bug for passthrough mode, whereby the input buffer
26680           was propagated as is downstream through gst_pad_push() without increasing
26681           its reference count before. The was a problem when gst_pad_push() returns
26682           an error and we further decrease the reference count of the input buffer.
26683
26684 2013-04-17 10:18:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26685
26686         * gst-libs/gst/vaapi/gstcompat.h:
26687         * gst/vaapi/Makefile.am:
26688         * gst/vaapi/gstvaapi.c:
26689         * gst/vaapi/gstvaapidecode.c:
26690         * gst/vaapi/gstvaapipluginutil.h:
26691         * gst/vaapi/gstvaapipostproc.c:
26692           vaapipostproc: port to GStreamer 1.0.
26693           Add support for interlaced streams with GStreamer 1.0 too. Basically,
26694           this enables vaapipostproc, though it is not auto-plugged yet. We also
26695           make sure to reply to CAPS queries, and happily handle CAPS events.
26696
26697 2013-04-17 10:14:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26698
26699         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26700           decoder: fix GstVideoCodecFrame flags for interlaced contents.
26701           Fix support for interlaced contents with GStreamer 0.10. In particular,
26702           propagate GstVaapiSurfaceProxy frame flags to GstVideoCodecFrame flags
26703           correctly.
26704           This is a regression from commit 87e5717.
26705
26706 2013-04-16 13:23:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26707
26708         * gst-libs/gst/vaapi/Makefile.am:
26709         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26710         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26711         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
26712         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
26713           decoder: rename GstVaapiDecoderFrame to GstVaapiParserFrame.
26714           Rename GstVaapiDecoderFrame to GstVaapiParserFrame because this data
26715           structure was only useful to parsing and a proper GstvaapiDecoderFrame
26716           instance will be created instead.
26717
26718 2013-04-16 19:09:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26719
26720         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26721           decoder: export presentation timestamp for raw decoding mode.
26722           Fix regression from 0.4-branch whereby GstVaapiSurfaceProxy no longer
26723           held any information about the expected presentation timestamp, frame
26724           duration or additional flags like interlaced or top-field-first.
26725
26726 2013-04-16 18:56:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26727
26728         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26729         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26730           decoder: use new GstVaapiSurfaceProxy utility functions.
26731           Use new GstVaapiSurfaceProxy internal helper functions to propagate the
26732           necessary GstVideoCodecFrame flags to vaapidecode (GStreamer 0.10).
26733           Also make GstVaapiDecoder push_frame() operate similarly to drop_frame().
26734           i.e. increase the GstVideoCodecFrame reference count in push_frame rather
26735           than gst_vaapi_picture_output().
26736
26737 2013-04-16 18:35:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26738
26739         * docs/reference/libs/libs-sections.txt:
26740         * gst-libs/gst/vaapi/Makefile.am:
26741         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26742         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26743         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
26744           surfaceproxy: add more attributes for raw decoding modes.
26745           Add more attributes for raw decoding modes, i.e. directly through the
26746           libgstvaapi helper library. In particular, add presentation timestamp,
26747           duration and a couple of flags (interlaced, TFF, RFF, one-field).
26748
26749 2013-04-16 13:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26750
26751         * docs/reference/libs/libs-sections.txt:
26752         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26753         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26754         * gst/vaapi/gstvaapidecode.c:
26755         * tests/simple-decoder.c:
26756           surfaceproxy: drop user-data support from GstVaapiSurfaceProxy.
26757           Drop user-data support from GstVaapiSurfaceProxy. Rather make it explicit
26758           to call some user-provided function when the surface proxy is released.
26759
26760 2013-04-15 12:52:51 +0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
26761
26762         * configure.ac:
26763         * gst-libs/gst/vaapi/Makefile.am:
26764           build: link libgstvaapi-glx-1.0.so against libdl.
26765           Ensure libgstvaapi-glx*.so builds against libdl since dlsym() is used
26766           to resolve glXGetProcAddress() from GLX libraries. This fix builds on
26767           Fedora 17.
26768           https://bugzilla.gnome.org/show_bug.cgi?id=698046
26769           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26770
26771 2013-04-15 14:22:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26772
26773         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26774           decoder: fix gst_vaapi_decoder_get_codec_state().
26775           Fix previous commit whereby gst_vaapi_decoder_get_codec_state() was
26776           supposed to make GstVaapiDecoder own the return GstVideoCodecState
26777           object. Only comment was updated, not the actual code.
26778
26779 2013-04-15 13:58:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26780
26781         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26782         * gst/vaapi/gstvaapidecode.c:
26783           decoder: make gst_vaapi_decoder_get_codec_state() return the original state.
26784           Make gst_vaapi_decoder_get_codec_state() return the original codec state,
26785           i.e. make the GstVaapiDecoder object own the return state so that callers
26786           that want an extra reference to it would just gst_video_codec_state_ref()
26787           it before usage. This aligns the behaviour with what we had before with
26788           gst_vaapi_decoder_get_caps().
26789           This is an ABI incompatible change, library major version was bumped from
26790           previous release (0.5.2).
26791
26792 2013-04-15 13:52:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26793
26794         * gst/vaapi/gstvaapivideobufferpool.h:
26795         * gst/vaapi/gstvaapivideoconverter_glx.h:
26796           plugins: mark a few more functions as internal.
26797           Mark the following functions are internal, i.e. private to the vaapi plug-in:
26798           - gst_vaapi_video_buffer_pool_get_type()
26799           - gst_vaapi_video_converter_glx_get_type()
26800           - gst_vaapi_video_converter_glx_new()
26801
26802 2013-04-15 13:48:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26803
26804         * gst/vaapi/gstvaapivideobuffer.c:
26805           plugins: implement GstSurfaceMeta API.
26806           Implement GstSurfaceMeta API for GStreamer 1.0.x. Even though this is
26807           an unstable/deprecated API, this makes it possible to support Clutter
26808           sink with minimal changes. Tested against clutter-gst 1.9.92.
26809
26810 2013-04-12 17:12:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26811
26812         * gst/vaapi/gstvaapisink.c:
26813           vaapisink: optimize GstVideoOverlayInterface::expose().
26814           When render-mode is "overlay", then it is not really useful to peek into
26815           the GstBaseSink::last_buffer, since we have our own video_buffer already
26816           recorded and maintained into GstVaapiSink.
26817
26818 2013-04-12 17:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26819
26820         * gst/vaapi/gstvaapisink.c:
26821           vaapisink: fix memory leak of GstSample objects.
26822           Fix memory leak of GstSample objects in GstVideoOverlayInterface::expose().
26823           This also fixes extra unreferencing of the underlying GstBuffer in the common
26824           path afterwards (for both 0.10 or 1.0).
26825
26826 2013-04-12 13:44:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26827
26828         * gst-libs/gst/vaapi/gstcompat.h:
26829         * gst/vaapi/gstvaapi.c:
26830           plugins: fix description for gst-inspect.
26831           Fix the name of the plug-in element reported to gst-inspect-1.0. i.e. we
26832           need an explicit definition for GStreamer >= 1.0 because the GST_PLUGIN_DEFINE
26833           incorrectly uses #name for creating the plug-in name, instead of using macro
26834           expansion (and let further expansion of macros) through e.g. G_STRINGIFY().
26835
26836 2013-04-11 09:24:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26837
26838         * README:
26839           README: updates.
26840           Update build requirements for GStreamer 1.0.x support. Add section for
26841           ways to report bugs.
26842
26843 2013-04-10 16:54:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26844
26845         * NEWS:
26846           NEWS: updates.
26847
26848 2013-04-10 15:31:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26849
26850         * gst-libs/gst/vaapi/Makefile.am:
26851         * gst/vaapi/Makefile.am:
26852           Fix make dist to include all source files, in any case.
26853           Fix make dist to allow build for either GStreamer 0.10 or 1.0. i.e. make
26854           sure to include all source files in either case while generating source
26855           tarballs.
26856
26857 2013-04-10 15:21:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26858
26859         * configure.ac:
26860           Bump library major version.
26861           Bump library major version, while preserving a major version of 0 for
26862           GStreamer 1.0 based libraries, and a major version of 2 for GStreamer
26863           0.10 based librarieS.
26864
26865 2013-04-10 14:37:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26866
26867         * gst/vaapi/gstvaapivideomemory.c:
26868         * gst/vaapi/gstvaapivideomemory.h:
26869           plugins: implement direct-rendering mode for raw YUV buffer uploads.
26870           Allow direct-rendering (writes) into target VA surfaces.
26871
26872 2013-04-09 16:02:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26873
26874         * gst/vaapi/gstvaapivideobufferpool.c:
26875         * gst/vaapi/gstvaapivideomemory.c:
26876         * gst/vaapi/gstvaapivideomemory.h:
26877           plugins: implement uploads from raw YUV buffers for GStreamer 1.0.
26878           Implement GstVideoMeta::{,un}map() to support raw YUV buffer upload when
26879           the last component is unmapped. Downloads are not supported yet. The aim
26880           was to first support SW decoding + HW accelerated rendering (vaapisink).
26881           e.g. for Wayland.
26882
26883 2013-04-03 11:10:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26884
26885         * gst/vaapi/gstvaapidecode.c:
26886           vaapidecode: submit all decoded frames before decoding a new one.
26887           Make sure to purge all pending frames that were already decoded prior
26888           to decoding a new one. This helps release VA surfaces as early as
26889           possible.
26890
26891 2013-04-02 16:12:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26892
26893         * gst/vaapi/gstvaapidecode.c:
26894           vaapidecode: reply to CAPS queries.
26895           Handle GST_QUERY_CAPS, which is the GStreamer 1.0 mechanism to retrieve
26896           the set of allowed caps, i.e. it works similar to GstPad::get_caps().
26897           This fixes fallback to SW decoding if no HW decoder is available.
26898
26899 2013-03-20 11:26:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26900
26901         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26902         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26903         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
26904         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26905         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26906         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26907           decoder: fix unpaired GstBuffer map/unmaps.
26908           This possibly fixes a few memory leaks along the way.
26909
26910 2013-03-20 14:40:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26911
26912         * configure.ac:
26913         * gst-libs/gst/vaapi/gstcompat.h:
26914         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
26915         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26916         * gst/vaapi/Makefile.am:
26917         * gst/vaapi/gstvaapi.c:
26918         * gst/vaapi/gstvaapidecode.c:
26919         * gst/vaapi/gstvaapisink.c:
26920         * gst/vaapi/gstvaapisink.h:
26921         * gst/vaapi/gstvaapiuploader.c:
26922         * tests/codec.c:
26923           Allow build against either GStreamer API (0.10 or 1.0).
26924           Introduce a new configure option --with-gstreamer-api that determines
26925           the desired GStreamer API to use. By default, GStreamer 1.0 is selected.
26926           Also integrate more compatibility glue into gstcompat.h and plugins.
26927
26928 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26929
26930         * gst/vaapi/gstvaapidecode.c:
26931         * gst/vaapi/gstvaapisink.c:
26932         * gst/vaapi/gstvaapisink.h:
26933           plugins: use new video buffer pools.
26934           Use new GstVaapiVideoBufferPool to maintain video buffers. Implement
26935           GstBaseSink::propose_allocation() to expose that pool to upstream
26936           elements; and also implement GstVideoDecoder::decide_allocation() to
26937           actually use that pool (from downstream), if any, or create one.
26938           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26939
26940 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26941
26942         * gst/vaapi/Makefile.am:
26943         * gst/vaapi/gstvaapivideobufferpool.c:
26944         * gst/vaapi/gstvaapivideobufferpool.h:
26945         * gst/vaapi/gstvaapivideomemory.c:
26946         * gst/vaapi/gstvaapivideomemory.h:
26947           plugins: add GstVaapiVideoMemory and GstVaapiVideoBufferPool objects.
26948           Add initial support for GstVaapiVideoMemory backed buffer pool. The memory
26949           object currently holds a reference to GstVaapiVideoMeta.
26950           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26951
26952 2013-04-04 17:36:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26953
26954         * gst/vaapi/gstvaapivideometa.c:
26955         * gst/vaapi/gstvaapivideometa.h:
26956           plugins: allow copies of GstVaapiVideoMeta objects.
26957           Make it possible to copy GstVaapiVideoMeta objects, unless they contain VA
26958           objects created from GstVaapiVideoPool. This is mostly useful to clone a
26959           GstVaapiVideoMeta object containing a VA surface proxy so that to alter its
26960           rendering flags.
26961
26962 2013-04-04 16:16:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26963
26964         * gst/vaapi/gstvaapivideometa.c:
26965           plugins: make it possible to clear VA objects from GstVaapiVideoMeta.
26966           Fix GstVaapiVideoMeta to allow VA objects to be destroyed when they are
26967           reset to NULL. i.e. make gst_vaapi_video_meta_set_{image,surface}() and
26968           gst_vaapi_video_meta_set_surface_proxy() actually clear VA objects when
26969           argument is NULL.
26970
26971 2012-09-03 14:00:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26972
26973         * gst/vaapi/Makefile.am:
26974         * gst/vaapi/gstvaapi.c:
26975         * gst/vaapi/gstvaapidecode.c:
26976         * gst/vaapi/gstvaapidownload.c:
26977         * gst/vaapi/gstvaapipluginutil.c:
26978         * gst/vaapi/gstvaapipostproc.c:
26979         * gst/vaapi/gstvaapisink.c:
26980         * gst/vaapi/gstvaapiupload.c:
26981         * gst/vaapi/gstvaapiuploader.c:
26982         * gst/vaapi/gstvaapivideobuffer.c:
26983         * gst/vaapi/gstvaapivideoconverter_glx.c:
26984         * gst/vaapi/gstvaapivideometa.c:
26985         * gst/vaapi/gstvaapivideometa.h:
26986           plugins: initial port to GStreamer 1.0.
26987           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.0. This
26988           is rather minimalistic so that to test the basic functionality.
26989           Disable vaapiupload, vaapidownload and vaapipostproc plugins. The latter
26990           needs polishing wrt. to GStreamer 1.x functionality and the former are
26991           totally phased out in favor of GstVaapiVideoMemory map/unmap facilities,
26992           which are yet to be implemented.
26993           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26994
26995 2013-03-21 10:12:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26996
26997         * gst-libs/gst/vaapi/gstcompat.h:
26998         * tests/codec.c:
26999         * tests/decoder.c:
27000         * tests/simple-decoder.c:
27001         * tests/test-subpicture.c:
27002           tests: add support for GStreamer 1.0.
27003
27004 2012-09-04 15:12:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27005
27006         * configure.ac:
27007         * gst-libs/gst/vaapi/gstcompat.h:
27008         * gst-libs/gst/vaapi/gstvaapicontext.c:
27009         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27010         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27011         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27012         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27013         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27014         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27015         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27016         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27017         * gst-libs/gst/vaapi/gstvaapiimage.c:
27018         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27019         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27020         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27021         * gst-libs/gst/vaapi/gstvaapisurface.h:
27022           Add initial support for GStreamer 1.0.
27023           This integrates support for GStreamer API >= 1.0 only in the libgstvaapi
27024           core decoding library. The changes are kept rather minimal here so that
27025           the library retains as little dependency as possible on core GStreamer
27026           functionality.
27027           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27028
27029 2013-04-03 15:58:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27030
27031         * gst/vaapi/gstvaapisink.c:
27032           vaapisink: improve check for raw YUV format mode.
27033           Improve check for raw YUV format modes by avoiding checks against strings
27034           ("video/x-raw-yuv") for each new GstBuffer allocation. In the usual case,
27035           GstBaseSink::set_caps() is called first and if VA surface format mode is
27036           used, then GstBaseSink::buffer_alloc() is not called. If the latter is
27037           called before set_caps(), then we just make a full check. This one is
27038           pretty rare though, e.g. it usually happens once for custom pipelines.
27039
27040 2013-04-03 15:06:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27041
27042         * gst/vaapi/gstvaapipluginutil.c:
27043           plugins: don't fail if there is no overlay composition to apply.
27044           Fix gst_vaapi_apply_composition() to not fail if no overlay composition
27045           was found. i.e. return success (TRUE). This was harmless though extra
27046           debug messages are not nice.
27047           This is a regression introduced by commit 95b8659.
27048
27049 2013-04-03 14:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27050
27051         * gst/vaapi/gstvaapidecode.c:
27052         * gst/vaapi/gstvaapidecode.h:
27053           vaapidecode: expose the exact set of supported HW decoders.
27054           Don't return static caps that don't mean anything for the underlying codecs
27055           that are actually supported for decoding. i.e. always allocate a VA display
27056           and retrieve the exact set of HW decoders available. That VA display may be
27057           re-used later on during negotiation through GstVideoContext "prepare-context".
27058           This fixes fallback to SW decoding if no HW decoder is available.
27059
27060 2013-04-03 13:08:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27061
27062         * docs/reference/libs/libs-sections.txt:
27063         * gst-libs/gst/vaapi/gstvaapicontext.c:
27064         * gst-libs/gst/vaapi/gstvaapicontext.h:
27065         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27066         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27067           decoder: drop obsolete functions.
27068           Drop the following functions that are now obsolete:
27069           - gst_vaapi_context_get_surface()
27070           - gst_vaapi_context_put_surface()
27071           - gst_vaapi_context_find_surface_by_id()
27072           - gst_vaapi_surface_proxy_new()
27073           - gst_vaapi_surface_proxy_get_context()
27074           - gst_vaapi_surface_proxy_set_context()
27075           - gst_vaapi_surface_proxy_set_surface()
27076           This is an API change.
27077
27078 2013-04-03 13:14:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27079
27080         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27081           decoder: delegate surface size check to VA context reset.
27082           Now that the surface pool is reference counted in the surface proxy wrapper,
27083           we can safely ignore surface size checks in gst_vaapi_decoder_ensure_context().
27084           Besides, this check is already performed in gst_vaapi_context_reset_full().
27085
27086 2013-04-03 11:37:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27087
27088         * docs/reference/libs/libs-sections.txt:
27089         * gst-libs/gst/vaapi/gstvaapicontext.c:
27090         * gst-libs/gst/vaapi/gstvaapicontext.h:
27091         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27092         * gst-libs/gst/vaapi/gstvaapisurface.h:
27093         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27094         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27095           decoder: simplify acquisition/release of spare surface.
27096           Introduce gst_vaapi_surface_proxy_new_from_pool() to allocate a new surface
27097           proxy from the context surface pool. This change also makes sure to retain
27098           the parent surface pool in the proxy.
27099           Besides, it was also totally useless to attach/detach parent context to
27100           VA surface each time we acquire/release it. Since the whole context owns
27101           all associated VA surfaces, we can mark this as such only once and for all.
27102
27103 2013-03-29 10:39:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27104
27105         * configure.ac:
27106           Bump version for development.
27107
27108 2013-03-28 10:18:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27109
27110         * NEWS:
27111         * configure.ac:
27112           0.5.2.
27113
27114 2013-03-28 10:15:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27115
27116         * NEWS:
27117           NEWS: updates.
27118
27119 2013-03-26 18:57:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27120
27121         * gst/vaapi/gstvaapipluginutil.c:
27122         * gst/vaapi/gstvaapisink.c:
27123           plugins: fix usage of gst_vaapi_reply_to_query().
27124           Make gst_vaapi_reply_to_query() first check whether the query argument
27125           is actually a video-context query, i.e. with type GST_QUERY_TYPE_CUSTOM.
27126           Then, make sure vaapisink propagates the query to the parent class if
27127           it is not a video-context query.
27128
27129 2013-03-26 18:45:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27130
27131         * gst/vaapi/gstvaapivideobuffer.c:
27132         * gst/vaapi/gstvaapivideobuffer.h:
27133           plugins: streamline video buffers.
27134           Add new gst_vaapi_video_buffer_new() helper function that allocates a video
27135           buffer from a GstVaapiVideoMeta. Also remove obsolete and useless function
27136           gst_vaapi_video_buffer_get_meta().
27137
27138 2013-03-26 10:31:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27139
27140         * docs/reference/libs/libs-sections.txt:
27141         * gst-libs/gst/vaapi/Makefile.am:
27142         * gst/vaapi/Makefile.am:
27143         * gst/vaapi/gstvaapidecode.c:
27144         * gst/vaapi/gstvaapidownload.c:
27145         * gst/vaapi/gstvaapipostproc.c:
27146         * gst/vaapi/gstvaapisink.c:
27147         * gst/vaapi/gstvaapiupload.c:
27148         * gst/vaapi/gstvaapiuploader.c:
27149         * gst/vaapi/gstvaapivideobuffer.h:
27150         * gst/vaapi/gstvaapivideoconverter_glx.c:
27151         * gst/vaapi/gstvaapivideometa.c:
27152         * gst/vaapi/gstvaapivideometa.h:
27153           plugins: integrate GstVaapiVideoMeta from libgstvaapi.
27154           Move GstVaapiVideoMeta from core libgstvaapi decoding library to the
27155           actual plugin elements. That's only useful there. Also inline reference
27156           counting code from GstVaapiMiniObject.
27157
27158 2013-03-21 17:17:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27159
27160         * gst/vaapi/Makefile.am:
27161         * gst/vaapi/gstvaapidecode.c:
27162         * gst/vaapi/gstvaapidownload.c:
27163         * gst/vaapi/gstvaapipluginbuffer.c:
27164         * gst/vaapi/gstvaapipluginbuffer.h:
27165         * gst/vaapi/gstvaapipostproc.c:
27166         * gst/vaapi/gstvaapiupload.c:
27167         * gst/vaapi/gstvaapiuploader.c:
27168         * gst/vaapi/gstvaapivideobuffer.c:
27169         * gst/vaapi/gstvaapivideobuffer.h:
27170           plugins: drop gstvaapipluginbuffer.[ch] helper files.
27171           Move all gst_vaapi_video_buffer_new*() helpers from gstvaapipluginbuffer.[ch]
27172           to gstvaapivideobuffer.[ch], and drop the obsolete files.
27173
27174 2013-03-21 17:06:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27175
27176         * docs/reference/libs/libs-sections.txt:
27177         * docs/reference/libs/libs.core.types:
27178         * gst-libs/gst/vaapi/Makefile.am:
27179         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27180         * gst/vaapi/Makefile.am:
27181         * gst/vaapi/gstvaapidownload.h:
27182         * gst/vaapi/gstvaapipluginbuffer.c:
27183         * gst/vaapi/gstvaapipostproc.h:
27184         * gst/vaapi/gstvaapivideobuffer.c:
27185         * gst/vaapi/gstvaapivideobuffer.h:
27186         * gst/vaapi/gstvaapivideoconverter_glx.h:
27187           plugins: integrate GstVaapiVideoBuffer from libgstvaapi.
27188           Move GstVaapiVideoBuffer from core libgstvaapi decoding library to the
27189           actual plugin elements. That's only useful there.
27190
27191 2013-03-21 16:32:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27192
27193         * gst/vaapi/gstvaapipluginutil.c:
27194         * gst/vaapi/gstvaapipluginutil.h:
27195         * gst/vaapi/gstvaapisink.c:
27196         * gst/vaapi/gstvaapivideoconverter_glx.c:
27197           plugins: use common helper function to apply compositions.
27198           Use common gst_vaapi_apply_composition() helper function to apply compositions
27199           attached to a buffer in vaapisink or GstVaapiVideoConverterGLX.
27200
27201 2013-03-21 16:09:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27202
27203         * gst-libs/gst/vaapi/Makefile.am:
27204         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27205         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
27206         * gst/vaapi/Makefile.am:
27207         * gst/vaapi/gstvaapipluginbuffer.c:
27208         * gst/vaapi/gstvaapivideoconverter_glx.c:
27209         * gst/vaapi/gstvaapivideoconverter_glx.h:
27210           plugins: integrate GstVaapiVideoConverterGLX from libgstvaapi.
27211           Make sure libgstvaapi core decoding library doesn't include un-needed
27212           dependencies. So, move out GstVaapiVideoConverterGLX to plugins instead.
27213           Besides, even if the vaapisink element is not used, we are bound to have
27214           a correctly populated GstSurfaceBuffer from vaapidecode.
27215           Also clean-up the file along the way.
27216
27217 2013-03-21 13:32:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27218
27219         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27220           vc1: fix use of possibly uninitialized variable.
27221           In decode_codec_data(), force initialization of format to zero so that
27222           we can catch up cases where codec-data has neither "format" nor "wmvversion"
27223           fields, thus making it possible to gracefully fail in this case.
27224
27225 2013-03-21 13:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27226
27227         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27228           jpeg: propagate buffer data as a const guchar * pointer (cosmetics).
27229
27230 2013-03-21 14:36:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27231
27232         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27233         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27234         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27235         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27236         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27237         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27238           decoder: sanitize codec-data decoding.
27239           Add a new GstVaapiDecoder::decode_codec_data() hook to actually decode
27240           codec-data in the decoder sub-class. Provide a common shared helper
27241           function to do the actual work and delegating further to the sub-class.
27242
27243 2013-03-21 13:41:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27244
27245         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27246         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27247         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
27248         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
27249           decoder: get rid of GstVaapiDecoderUnit::buffer field.
27250           Drop GstVaapiDecoderUnit buffer field (GstBuffer) since it's totally
27251           useless nowadays as creating sub-buffers doesn't bring any value. It
27252           actually means more memory allocations. We can't do without that in
27253           JPEG and MPEG-4:2 decoders.
27254
27255 2013-03-21 13:28:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27256
27257         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27258         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27259         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27260         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27261         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27262           decoder: sanitize uses of codec frame input buffer (cosmetics).
27263           Alias GST_VAAPI_DECODER_CODEC_FRAME(decoder)->input_buffer to a simple
27264           "buffer" variable.
27265
27266 2013-03-20 17:34:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27267
27268         * gst/vaapi/gstvaapisink.c:
27269           vaapisink: add helper function to apply a composition buffer.
27270           Simplify application of a composition buffer to a GstVaapiSurface, and
27271           all its peers, until that function is eventually promoted to libgstvaapi.
27272
27273 2013-03-20 13:42:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27274
27275         * gst/vaapi/gstvaapisink.c:
27276           vaapisink: fix support for raw YUV buffers.
27277           If the raw YUV buffer was created from vaapisink, through the buffer_alloc()
27278           hook, then it will have a valid GstVaapiVideoMeta object attached to it.
27279           However, we previously assumed in that case that it was a "native" VA buffer,
27280           thus not calling into GstVaapiUploader::process().
27281
27282 2013-03-20 18:41:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27283
27284         * gst-libs/gst/vaapi/gstcompat.h:
27285         * gst/vaapi/gstvaapidecode.c:
27286         * gst/vaapi/gstvaapidownload.c:
27287         * gst/vaapi/gstvaapipostproc.c:
27288         * gst/vaapi/gstvaapisink.c:
27289         * gst/vaapi/gstvaapiupload.c:
27290           plugins: use modern GstElement metadata information.
27291           Use gst_element_class_set_static_metadata() from GStreamer 1.0, which
27292           basically is the same as gst_element_class_set_details_simple() in
27293           GStreamer 0.10 context.
27294
27295 2013-03-20 18:04:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27296
27297         * gst/vaapi/gstvaapidecode.c:
27298         * gst/vaapi/gstvaapidownload.c:
27299         * gst/vaapi/gstvaapipostproc.c:
27300         * gst/vaapi/gstvaapisink.c:
27301         * gst/vaapi/gstvaapiupload.c:
27302           plugins: move up interfaces (cosmetics).
27303           Move GstImplementsInterface and GstVideoContext support functions up
27304           so that to keep a clear separation between the plugin element and its
27305           interface hooks.
27306
27307 2013-03-20 12:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27308
27309         * gst/vaapi/gstvaapisink.c:
27310         * gst/vaapi/gstvaapiuploader.c:
27311           plugins: upgrade to newer APIs (GstVideoInfo based helpers).
27312           Use GstVideoInfo and gst_video_info_from_caps() helper wherever possible.
27313           Also use the newly added gst_vaapi_image_format_from_structure() helper
27314           in GstVaapiUploader::ensure_allowed_caps().
27315
27316 2013-03-20 14:02:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27317
27318         * gst/vaapi/gstvaapipluginbuffer.c:
27319           plugins: fix creation of video buffer from another source buffer.
27320           gst_vaapi_video_buffer_new_from_buffer() needs to reference the source
27321           buffer video meta since it would be unreference'd from the get_buffer()
27322           helper function. For other cases, we still use (steal) the newly created
27323           video meta.
27324
27325 2013-03-20 11:57:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27326
27327         * gst/vaapi/gstvaapipluginbuffer.c:
27328         * gst/vaapi/gstvaapipluginutil.c:
27329           plugins: include "sysdeps.h" header instead of "config.h".
27330
27331 2013-03-20 18:33:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27332
27333         * gst-libs/gst/vaapi/gstcompat.h:
27334         * tests/codec.c:
27335           tests: modernize GstTypeFind functions.
27336           Use the GstTypeFind hooks from GStreamer 1.0. They look safer and
27337           exactly correspond to the expected behaviour.
27338
27339 2013-03-20 11:57:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27340
27341         * tests/image.c:
27342         * tests/image.h:
27343         * tests/test-decode.c:
27344         * tests/test-display.c:
27345         * tests/test-h264.c:
27346         * tests/test-h264.h:
27347         * tests/test-jpeg.c:
27348         * tests/test-jpeg.h:
27349         * tests/test-mpeg2.c:
27350         * tests/test-mpeg2.h:
27351         * tests/test-mpeg4.c:
27352         * tests/test-mpeg4.h:
27353         * tests/test-textures.c:
27354         * tests/test-vc1.c:
27355         * tests/test-vc1.h:
27356         * tests/test-windows.c:
27357           tests: fix license templates.
27358
27359 2013-03-20 11:53:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27360
27361         * tests/test-display.c:
27362           tests: use gst_vaapi_image_format_from_structure() in test-display.
27363           Use gst_vaapi_image_format_from_structure() helper in test-display and
27364           then extract a VAImageFormat from it instead of relying on GstCaps for
27365           YUV and RGB formats.
27366
27367 2013-03-20 11:50:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27368
27369         * tests/codec.c:
27370         * tests/decoder.c:
27371         * tests/output.c:
27372         * tests/test-decode.c:
27373         * tests/test-display.c:
27374         * tests/test-subpicture.c:
27375         * tests/test-textures.c:
27376         * tests/test-windows.c:
27377           tests: include "sysdeps.h" header instead of "config.h".
27378
27379 2013-03-20 18:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27380
27381         * gst-libs/gst/vaapi/gstcompat.h:
27382         * gst-libs/gst/vaapi/gstvaapicontext.c:
27383         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27384           subpicture: use gst_video_overlay_rectangle_get_pixels_unscaled_raw().
27385           Use newer gst_video_overlay_rectangle_get_pixels_unscaled_raw() helper
27386           function with GStreamer 0.10 compatible semantics, or that tries to
27387           approach the current meaning. Basically, this is also just about moving
27388           the helper to gstcompat.h.
27389
27390 2013-03-20 11:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27391
27392         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27393         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27394           image: add gst_vaapi_image_format_from_structure() helper.
27395           Add helper function to convert video formats from a GstStructure to a
27396           plain GstVaapiImageFormat.
27397
27398 2013-03-20 18:12:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27399
27400         * gst-libs/gst/vaapi/Makefile.am:
27401         * gst-libs/gst/vaapi/gstcompat.h:
27402         * gst-libs/gst/vaapi/sysdeps.h:
27403           sysdeps: split out GStreamer API compatibility glue to "gstcompat.h".
27404
27405 2013-03-20 11:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27406
27407         * gst-libs/gst/vaapi/sysdeps.h:
27408           sysdeps: add more standard includes by default.
27409
27410 2013-03-20 14:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27411
27412         * configure.ac:
27413           configure: improve GStreamer API version checks.
27414
27415 2013-03-20 11:44:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27416
27417         * configure.ac:
27418         * debian.upstream/Makefile.am:
27419         * debian.upstream/changelog.in:
27420         * debian.upstream/control.in:
27421         * debian.upstream/gstreamer-vaapi-doc.install.in:
27422         * debian.upstream/libgstvaapi-dev.install.in:
27423         * debian.upstream/libgstvaapi-drm.install.in:
27424         * debian.upstream/libgstvaapi-glx.install.in:
27425         * debian.upstream/libgstvaapi-wayland.install.in:
27426         * debian.upstream/libgstvaapi-x11.install.in:
27427         * debian.upstream/libgstvaapi.install.in:
27428         * docs/reference/libs/Makefile.am:
27429         * docs/reference/libs/libs-docs.xml.in:
27430         * docs/reference/plugins/Makefile.am:
27431         * docs/reference/plugins/plugins-docs.xml.in:
27432         * gst-libs/gst/vaapi/Makefile.am:
27433         * gst/vaapi/Makefile.am:
27434         * pkgconfig/Makefile.am:
27435         * pkgconfig/gstreamer-vaapi-drm.pc.in:
27436         * pkgconfig/gstreamer-vaapi-glx.pc.in:
27437         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
27438         * pkgconfig/gstreamer-vaapi-x11.pc.in:
27439         * pkgconfig/gstreamer-vaapi.pc.in:
27440         * tests/Makefile.am:
27441           configure: rename GST_MAJORMINOR to GST_API_VERSION.
27442
27443 2013-03-20 11:28:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27444
27445         * configure.ac:
27446           configure: improve check for H.264 codecparser.
27447
27448 2013-02-26 00:38:24 +0100  Holger Kaelberer <hk@getslash.de>
27449
27450         * gst/vaapi/gstvaapiuploader.c:
27451           vaapiupload: fix illegal write in ensure_image().
27452           Fix ensure_image() to only zero-initialize the first line of each plane.
27453           Properly initializing each plane to their full vertical resolution would
27454           require to actually compute it based on the image format.
27455           In particular, for NV12 images, the UV plane has half vertical resolution
27456           vs. the Y plane. So using the full image height to initialize the UV plane
27457           will obviously lead to a buffer overflow. Likewise for other YUV format.
27458           Since ensure_image() is only a helper function to initialize something,
27459           and not necessarily the whole thing, it is fine to initializ the first
27460           line only. Besides, the target surface is not rendered either.
27461           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27462
27463 2013-02-17 16:28:47 +0800  Xiang, Haihao <haihao.xiang@intel.com>
27464
27465         * gst-libs/gst/codecparsers/Makefile.am:
27466         * gst-libs/gst/video/Makefile.am:
27467           build: fix compiling of local GstVideoDecoder and codecparsers.
27468           Generated source files were missing a dependency on the complete set of
27469           generated header files. e.g. gstvideodecoder.c requires gstvideoutils.h
27470           to build and almost every codec parser source depends on parserutils.h.
27471           https://bugs.freedesktop.org/show_bug.cgi?id=59575
27472           Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
27473           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27474
27475 2013-02-08 11:56:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27476
27477         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27478           h264: set {luma,chroma}_log2_weight_denom to 0 if no pred_weight_table().
27479           Force luma_log2_weight_denom and chroma_log2_weight_denom to zero if
27480           there is no pred_weight_table() that was parsed.
27481           This is a workaround for the VA intel-driver on Ivy Bridge.
27482
27483 2013-02-07 15:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27484
27485         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27486           h264: use new profile definitions from codecparsers.
27487
27488 2013-02-07 15:29:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27489
27490         * ext/codecparsers:
27491           codecparsers: update to gst-vaapi-branch commit 500bc02.
27492           500bc02 h264: add profile enums
27493
27494 2013-02-06 15:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27495
27496         * NEWS:
27497           NEWS: updates.
27498
27499 2013-02-06 15:21:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27500
27501         * ext/codecparsers:
27502           codecparsers: update to gst-vaapi-branch commit 31b1c57.
27503           8957fb7 mpeg2: add helpers to convert quantization matrices
27504           07c4034 mpeg2: store quantization matrices in zigzag scan order
27505
27506 2013-01-31 11:32:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27507
27508         * tests/simple-decoder.c:
27509           tests: simple-decoder: fix build on older platforms.
27510           Make simple-decoder build and execute correctly on older platforms,
27511           and more precisely older versions of glib.
27512
27513 2013-01-31 11:30:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27514
27515         * gst-libs/gst/vaapi/glibcompat.h:
27516           glibcompat: add replacement for g_async_queue_timeout_pop().
27517           g_async_queue_timeout_pop() appeared in glib 2.31.18. Implement it as
27518           g_async_queue_timed_pop() with a GTimeVal as the final time to wait for
27519           new data to arrive in the queue.
27520
27521 2013-01-31 11:25:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27522
27523         * gst-libs/gst/vaapi/glibcompat.h:
27524           glibcompat: add replacement for g_cond_wait().
27525
27526 2013-01-30 18:38:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27527
27528         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27529           mpeg2: fix decoding of 4K videos.
27530           Account for slice_vertical_position_extension when vertical_size > 2800.
27531
27532 2013-01-30 18:54:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27533
27534         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27535           mpeg2: fix decoding of sequence_end().
27536           There shall be only one place to call decode_current_picture(), and this
27537           is in the end_frame() hook. The EOS unit is processed after end_frame()
27538           so this means we cannot have a valid picture to decode/output at this
27539           point.
27540
27541 2013-01-30 15:10:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27542
27543         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27544           mpeg2: improve robustness when packets are missing.
27545           Improve robustness when some expected packets where not received yet
27546           or that were not correctly decoded. For example, don't try to decode
27547           a picture if there was no valid sequence or picture headers.
27548
27549 2013-01-30 18:58:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27550
27551         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27552           decoder: handle decode-only frames in raw API mode.
27553           Fix gst_vaapi_decoder_get_surface() to only return frames with a valid
27554           surface proxy, i.e. with a valid VA surface. This means that any frame
27555           marked as decode-only is simply skipped.
27556
27557 2013-01-30 16:33:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27558
27559         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27560         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27561           decoder: allow frames to be dropped.
27562           If the decoder was not able to decode a frame because insufficient
27563           information was available, e.g. missing sequence or picture header,
27564           then allow the frame to be gracefully dropped without generating
27565           any error.
27566           It is also possible that a frame is not meant to be displayed but
27567           only used as a reference, so dropping that frame is also a valid
27568           operation since GstVideoDecoder base class has extra references to
27569           that GstVideoCodecFrame that needs to be released.
27570
27571 2013-01-30 16:26:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27572
27573         * gst/vaapi/gstvaapidecode.c:
27574           vaapidecode: handle decode-only frames.
27575           Decode-only frames may not have a valid surface proxy. So, simply discard
27576           them gracefully, i.e. don't create meta data information. GstVideoDecoder
27577           base class will properly handle this case and won't try to push any buffer
27578           to downstream elements.
27579
27580 2013-01-24 00:49:17 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27581
27582         * gst/vaapi/gstvaapidecode.c:
27583           vaapidecode: add support for post-seek semantics reset.
27584           Implement GstVideoDecoder::reset() as a destruction of the VA decoder
27585           and the creation of a new VA decoder.
27586           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27587
27588 2013-01-30 09:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27589
27590         * configure.ac:
27591           Bump version for development.
27592
27593 2013-01-30 09:37:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27594
27595         * NEWS:
27596         * configure.ac:
27597           0.5.1.
27598
27599 2013-01-24 00:48:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27600
27601         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27602           mpeg2: implement GstVaapiDecoder::flush() as a DPB flush.
27603
27604 2013-01-24 17:34:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27605
27606         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
27607           decoder: fix documentation for GstVaapiDecoderFrame.
27608           Drop superfluous reference to prev_slice member.
27609
27610 2013-01-29 16:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27611
27612         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27613           decoder: assume current frame is complete at end-of-stream.
27614           Assume we got a complete frame when the end-of-stream is reached and that
27615           the current codec frame contains at least one slice data unit.
27616
27617 2013-01-29 14:14:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27618
27619         * NEWS:
27620         * README:
27621         * debian.upstream/copyright:
27622         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
27623         * gst-libs/gst/vaapi/gstvaapicontext.c:
27624         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27625         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27626         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
27627         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
27628         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
27629         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
27630         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27631         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27632         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27633         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27634         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27635         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
27636         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27637         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
27638         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
27639         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27640         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27641         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27642         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
27643         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
27644         * gst-libs/gst/vaapi/gstvaapiprofile.h:
27645         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27646         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27647         * gst-libs/gst/vaapi/gstvaapisurface.c:
27648         * gst-libs/gst/vaapi/gstvaapiutils.c:
27649         * gst-libs/gst/vaapi/gstvaapiutils.h:
27650         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27651         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27652         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27653         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27654         * gst-libs/gst/vaapi/sysdeps.h:
27655         * gst/vaapi/gstvaapidecode.c:
27656         * gst/vaapi/gstvaapidownload.c:
27657         * gst/vaapi/gstvaapipluginbuffer.c:
27658         * gst/vaapi/gstvaapipluginbuffer.h:
27659         * gst/vaapi/gstvaapipostproc.c:
27660         * gst/vaapi/gstvaapisink.c:
27661         * gst/vaapi/gstvaapiupload.c:
27662         * gst/vaapi/gstvaapiuploader.c:
27663         * tests/output.c:
27664         * tests/test-decode.c:
27665         * tests/test-subpicture.c:
27666           legal: fix year for some copyright notices (2013).
27667
27668 2013-01-29 14:03:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27669
27670         * gst-libs/gst/vaapi/gstvaapicontext.h:
27671         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27672         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27673         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
27674         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27675         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
27676         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27677         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
27678         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27679         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27680         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27681         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27682         * gst-libs/gst/vaapi/gstvaapisurface.c:
27683         * gst-libs/gst/vaapi/gstvaapisurface.h:
27684         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
27685         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27686         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27687         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27688         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27689         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
27690         * gst/vaapi/gstvaapidecode.h:
27691         * gst/vaapi/gstvaapisink.h:
27692         * tests/test-subpicture.c:
27693           legal: fix year for some copyright notices (2012).
27694
27695 2013-01-29 14:00:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27696
27697         * gst-libs/gst/vaapi/gstvaapicompat.h:
27698         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
27699         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
27700         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
27701         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
27702         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
27703         * gst-libs/gst/vaapi/gstvaapiobject.c:
27704         * gst-libs/gst/vaapi/gstvaapiobject.h:
27705         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27706         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27707         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
27708         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27709         * gst-libs/gst/vaapi/gstvaapiprofile.h:
27710         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
27711         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
27712         * gst-libs/gst/vaapi/gstvaapitexture.c:
27713         * gst-libs/gst/vaapi/gstvaapitexture.h:
27714         * gst-libs/gst/vaapi/gstvaapitypes.h:
27715         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27716         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
27717         * gst-libs/gst/vaapi/gstvaapivalue.c:
27718         * gst-libs/gst/vaapi/gstvaapivalue.h:
27719         * gst-libs/gst/vaapi/gstvaapivideopool.c:
27720         * gst-libs/gst/vaapi/gstvaapivideopool.h:
27721         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27722         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27723         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27724         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27725         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27726         * tests/test-display.c:
27727         * tests/test-surfaces.c:
27728         * tests/test-windows.c:
27729           legal: add Intel copyright on modified files.
27730
27731 2013-01-29 13:37:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27732
27733         * NEWS:
27734           NEWS: updates.
27735
27736 2013-01-28 18:09:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27737
27738         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27739           wayland: use a local event queue to avoid lock contention.
27740           This improves performance when rendering several surfaces from within
27741           the same process. e.g. a tee of vaapidecode'd buffers to vaapisink.
27742
27743 2013-01-28 17:28:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27744
27745         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27746           wayland: fix thread-safe issues.
27747           The Wayland API is not fully thread-safe and client applications shall
27748           perform locking themselves on key functions. Besides, make sure to
27749           release the lock if the _render() function fails.
27750
27751 2013-01-28 16:37:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27752
27753         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27754           wayland: really wait until the pending redraw completed.
27755           Introduce gst_vaapi_window_wayland_sync() helper function to wait for
27756           the completion of the redraw request. Use it in _render() function to
27757           actually block until the previous draw request is completed.
27758
27759 2013-01-23 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27760
27761         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27762           wayland: fix frame_redraw callback.
27763           The redraw callback needs to be attached to the surface prior to the
27764           commit. Otherwise, the callback notifies the next surface repaint,
27765           which is not the desired behaviour. i.e. we want to be notified for
27766           the surface we have just filled.
27767           Another isse was the redraw_pending was reset before the actual completion
27768           of the frame redraw callback function, thus causing concurrency issues.
27769           e.g. the callback could have been called again, but with a NULL buffer.
27770
27771 2013-01-28 14:45:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27772
27773         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
27774           wayland: fix display sharing.
27775           When the Wayland display is shared, we still have to create our own local
27776           shell and compositor objects, since they are not propagated from the cache.
27777           Likewise, we also need to determine the display size or vaapisink would
27778           fail to account for the display aspect ratio, and will try to create a 0x0
27779           window.
27780
27781 2013-01-24 17:38:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27782
27783         * ext/codecparsers:
27784           codecparsers: update to gst-vaapi-branch commit 21a098e.
27785           21a098e vc1: fix bitplanes decoding (DIFF6 or NORM6) [residual]
27786           f8c836a vc1: fix bitplanes decoding (DIFF6 or NORM6)
27787
27788 2013-01-23 16:38:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27789
27790         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27791           vc1: handle frames with multiple slices.
27792
27793 2013-01-23 17:01:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27794
27795         * ext/codecparsers:
27796           codecparsers: update to gst-vaapi-branch commit 3fba492.
27797           3fba492 vc1: add API to parse slice headers
27798
27799 2013-01-23 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27800
27801         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27802           vc1: handle CLOSED_ENTRY.
27803           When CLOSED_ENTRY == 0, and if the B pictures that follow an entry-point
27804           lack a reference anchor picture, these B pictures shall be discarded.
27805           https://bugs.freedesktop.org/show_bug.cgi?id=59505
27806
27807 2013-01-23 10:25:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27808
27809         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27810           vc1: cope with latest codecparser changes.
27811           Fix build with newer VC-1 codecparser where dqsbedge was renamed to
27812           dqbedge, and now represents either DQSBEDGE or DQDBEDGE depending on
27813           the actual value of DQPROFILE.
27814
27815 2013-01-23 10:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27816
27817         * ext/codecparsers:
27818           codecparsers: update to gst-vaapi-branch commit 3d2c67c.
27819           3d2c67c vc1: simplify GstVC1VopDquant structure
27820
27821 2013-01-22 10:51:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27822
27823         * ext/codecparsers:
27824           codecparsers: update to gst-vaapi-branch commit 5d33da8.
27825           5d33da8 vc1: fix bitplanes decoding
27826           562bdc4 vc1: fix VOPDQUANT parser for DQUANT == 2
27827           0b13d2b vc1: fix calculation of ALTPQUANT
27828           ba88e63 vc1: fix parser for DQPROFILE in VOPDQUANT
27829
27830 2013-01-22 15:47:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27831
27832         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27833           vc1: fix size of encapsulated BDU.
27834           Fix size of encapsulated BDUs since GstVC1BDU.size actually represents
27835           the size of the BDU data, starting from offset, i.e. after any start
27836           code is parsed.
27837           This fixes a buffer overflow during the unescaping process.
27838
27839 2013-01-11 17:08:00 +0800  Wind Yuan <feng.yuan@intel.com>
27840
27841         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27842           vc1: fix decoding of WMV3 videos in AVI format.
27843           The AVI demuxer (avidemux) does not set a proper "format" attribute
27844           to the generated caps. So, try to recover the video codec format from
27845           the "wmvversion" property instead.
27846           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27847
27848 2013-01-22 13:28:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27849
27850         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27851           vc1: review and report errors accordingly.
27852           Use GST_ERROR() to report real errors instead of hiding them into
27853           GST_DEBUG().
27854
27855 2013-01-22 13:50:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27856
27857         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27858           vc1: don't create GstBuffers for all decoder units.
27859           Don't create temporary GstBuffers for all decoder units, even if they
27860           are lightweight "sub-buffers", since it is not really necessary to keep
27861           the buffer data around.
27862
27863 2013-01-22 16:03:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27864
27865         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27866           vc1: implement flush() hook.
27867           Make it a simple DPB flush.
27868
27869 2013-01-22 13:44:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27870
27871         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27872           vc1: implement {start,end}_frame() hooks.
27873           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
27874           that to create new VA context earlier and submit VA pictures to the
27875           HW for decoding as soon as possible. i.e. don't wait for the next
27876           frame to start decoding the previous one.
27877
27878 2013-01-22 09:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27879
27880         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27881           vc1: fix next POC for new sequence layers.
27882           Fix next POC when a new sequence layer is reached. At this point, we
27883           need to reset any previous reference picture, i.e. non B-frame.
27884
27885 2012-08-02 17:15:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27886
27887         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27888           vc1: port to common GstVaapiDpb interface.
27889           Use GstVaapiDpb interface instead of maintaining our own prev and next
27890           picture pointers. While doing so, try to derive a sensible POC value.
27891           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27892
27893 2013-01-15 17:10:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27894
27895         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27896           vc1: fix decode_sequence_end() to return success, not EOS.
27897
27898 2013-01-18 17:00:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27899
27900         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27901           decoder: simplify gst_vaapi_decoder_get_surface().
27902           Avoid extraenous branches, i.e. immediately return with success once we
27903           have a decoded frame available.
27904
27905 2013-01-18 16:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27906
27907         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27908           decoder: optimize and clean decode_step() up.
27909           Avoid usage of goto. Simplify decode_step() process to first accumulate all
27910           pending buffers into the GstAdapter, and then parse and decode units from
27911           that input adapter. Stop the process once a frame is fully decoded or an
27912           error occurred.
27913
27914 2013-01-18 14:46:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27915
27916         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27917           display: move "vaapi" debug init to libgstvaapi_init_once().
27918
27919 2013-01-18 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27920
27921         * configure.ac:
27922         * gst-libs/gst/vaapi/Makefile.am:
27923         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27924         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
27925           display: dump gstreamer-vaapi version for debugging purposes.
27926
27927 2013-01-18 14:30:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27928
27929         * tests/Makefile.am:
27930           tests: simple-decoder: fix build with built-in videoutils.
27931           Fix build with built-in videoutils, i.e. when system GStreamer installation
27932           does not know about GstVideoDecoder API.
27933
27934 2013-01-18 10:35:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27935
27936         * tests/simple-decoder.c:
27937           tests: simple-decoder: flush decoded frames at EOS.
27938           Flush the remaining decoded frames when an end-of-stream is reached.
27939
27940 2013-01-18 10:25:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27941
27942         * tests/simple-decoder.c:
27943           tests: simple-decoder: drop use of GstVaapiVideoMeta.
27944           Don't use GstVaapiVideoMeta since that object is not guaranteed to live
27945           in libgstvaapi forever. Rather, that'd move to plugin elements at some
27946           point.
27947
27948 2013-01-16 13:53:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27949
27950         * tests/simple-decoder.c:
27951           tests: simple-decoder: add benchmark mode.
27952           Add --benchmark option to enable benchmark mode where rendering is not
27953           synchronized with presentation timestamps of the decoded surfaces.
27954
27955 2013-01-16 13:29:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27956
27957         * tests/Makefile.am:
27958         * tests/simple-decoder.c:
27959           tests: simple-decoder: honour framerate from the bitstream.
27960           Try to honour the framerate from the bitstream, or cap the playback to
27961           60 fps by default.
27962
27963 2013-01-15 18:49:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27964
27965         * tests/simple-decoder.c:
27966           tests: simple-decoder: set window size to the surface dimensions.
27967           Set the window size to the decoded surface dimensions, if the user has
27968           not requested the application to run in full-screen mode. Besides, no
27969           effort is made to preserve aspect ratio or to center the video within
27970           the mapped window.
27971
27972 2013-01-15 17:33:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27973
27974         * tests/Makefile.am:
27975         * tests/simple-decoder.c:
27976           tests: add simple decoder application.
27977           Add simple decoder application to show off decoding capabilities from
27978           raw bitstreams, for debugging or performance evaluation purposes.
27979
27980 2013-01-15 17:30:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27981
27982         * tests/Makefile.am:
27983         * tests/codec.c:
27984         * tests/codec.h:
27985           tests: add codec helper utils.
27986           Add helper functions to determine the codec type from a specific file
27987           or utility functions to convert from codec type to GstCaps or from
27988           codec name to codec type.
27989
27990 2013-01-15 17:47:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27991
27992         * tests/output.c:
27993           tests: allow fullscreen mode.
27994           Add new --fullscreen|-f option to create new windows in fullscreen mode.
27995
27996 2013-01-17 18:35:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27997
27998         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27999           h264: implement GstVaapiDecoder::flush() as a DPB flush.
28000
28001 2013-01-17 18:07:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28002
28003         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28004           h264: handle end-of-stream NALU.
28005           Handle <end-of-stream> NAL unit to actually flush any pending picture
28006           from the DPB.
28007
28008 2013-01-17 18:22:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28009
28010         * gst/vaapi/gstvaapidecode.c:
28011           vaapidecode: handle EOS events.
28012           Flush all decoded frames to downstream when EOS is received. This is
28013           performed by implementing GstVideoDecoder::finish() hook.
28014
28015 2013-01-17 18:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28016
28017         * gst/vaapi/gstvaapidecode.c:
28018           vaapidecode: split gvd_handle_frame() into decode/push frames.
28019           Split GstVideoDecoder::handle_frame() implementation into two functions:
28020           (i) one for decoding the provided GstVideoCodecFrame and (ii) another one
28021           for purging all decoded frames and submit them downstream.
28022
28023 2013-01-17 18:33:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28024
28025         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28026         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28027           decoder: add GstVaapiDecoder::flush() hook.
28028
28029 2013-01-15 17:21:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28030
28031         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28032         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28033           decoder: fix check for end-of-stream in raw API mode.
28034           Make sure to immediately return GST_VAAPI_DECODER_STATUS_END_OF_STREAM
28035           if the end-of-stream was already reached at the previous iteration.
28036
28037 2013-01-15 16:55:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28038
28039         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28040           decoder: make decode_step() return once the frame is decoded.
28041           Make sure we always have a free surface left to use for decoding the
28042           current frame. This means that decode_step() has to return once a frame
28043           gets decoded. If the current adapter contains more buffers with valid
28044           frames, they will get parsed and decoded on subsequent iterations.
28045
28046 2013-01-17 15:47:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28047
28048         * ext/codecparsers:
28049           codecparsers: update to gst-vaapi-branch commit b47983a.
28050           8840c2d h264: zero-initialize SPS VUI parameters
28051
28052 2013-01-15 09:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28053
28054         * configure.ac:
28055           Bump version for development.
28056
28057 2013-01-15 09:21:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28058
28059         * NEWS:
28060         * configure.ac:
28061           0.5.0.
28062
28063 2013-01-14 11:48:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28064
28065         * docs/reference/libs/libs-docs.xml.in:
28066         * docs/reference/libs/libs-sections.txt:
28067         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
28068         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28069         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28070           docs: expose new interfaces.
28071
28072 2013-01-14 12:58:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28073
28074         * NEWS:
28075           NEWS: updates.
28076
28077 2013-01-14 10:58:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28078
28079         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28080           dpb: cosmetics (clean-ups).
28081
28082 2013-01-14 10:46:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28083
28084         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28085         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
28086         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28087           dpb: port to GstVaapiMiniObject.
28088
28089 2013-01-14 10:21:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28090
28091         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28092         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
28093         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28094           dpb: drop GstVaapiDpb2 interface, keep only one class.
28095           Keep only one DPB interface and rename gst_vaapi_dpb2_get_references()
28096           to gst_vaapi_dpb_get_neighbours() so that to retrieve pictures in DPB
28097           around the specified picture POC.
28098
28099 2012-08-02 15:56:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28100
28101         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28102         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
28103         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28104           dpb: rename GstVaapiDpbMpeg2 to GstVaapiDpb2.
28105           Move GstVaapiDpbMpeg2 API to a more generic version that could also be
28106           useful to other decoders that require 2 reference pictures, e.g. VC-1.
28107           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28108
28109 2013-01-11 16:04:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28110
28111         * configure.ac:
28112           Bump version for pre-release.
28113
28114 2013-01-11 15:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28115
28116         * NEWS:
28117           NEWS: updates.
28118
28119 2012-07-20 12:36:33 +0200  Holger Kaelberer <holger.k@elberer.de>
28120
28121         * configure.ac:
28122         * gst-libs/gst/vaapi/gstvaapicontext.c:
28123         * gst-libs/gst/vaapi/gstvaapiutils.c:
28124         * gst-libs/gst/vaapi/sysdeps.h:
28125         * tests/test-subpicture.c:
28126           overlay: fix build without advanced GstVideoOverlayFormatFlags.
28127           Check for global-alpha support in GstVideoOverlayComposition API.
28128           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28129
28130 2013-01-04 10:19:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28131
28132         * tests/test-subpicture.c:
28133           tests: add support for global-alpha subpictures.
28134           Add --global-alpha option to test-subpicture.
28135
28136 2013-01-10 13:09:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28137
28138         * tests/Makefile.am:
28139         * tests/test-subpicture.c:
28140           tests: use GstVideoOverlayComposition API for subpicture test.
28141
28142 2013-01-10 11:26:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28143
28144         * tests/Makefile.am:
28145         * tests/test-subpicture.c:
28146           tests: use common decoder helpers for subpicture test.
28147           Use common decoder helpers for subpicture test, thus allowing to decode
28148           sample images in an alternate format.
28149
28150 2013-01-10 11:22:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28151
28152         * tests/Makefile.am:
28153         * tests/decoder.c:
28154         * tests/decoder.h:
28155         * tests/test-decode.c:
28156           tests: add decoder helpers.
28157
28158 2013-01-11 15:19:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28159
28160         * gst-libs/gst/vaapi/gstvaapicontext.c:
28161           overlay: fix ordering of composition layers.
28162           Make sure to maintain the association order of composition layers when
28163           GstVideoOverlayRectangle objects are kept around (cached).
28164
28165 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
28166
28167         * gst-libs/gst/vaapi/gstvaapicontext.c:
28168           overlay: fix support for global-alpha.
28169           Fix support for global-alpha subpictures. The previous changes brought
28170           the ability to check for GstVideoOverlayRectangle changes by comparing
28171           the underlying pixel buffer pointers. If sequence number and pixel data
28172           did not change, then this is an indication that only the global-alpha
28173           value changed. Now, try to update the underlying VA subpicture global-alpha
28174           value.
28175           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28176
28177 2013-01-11 11:53:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28178
28179         * gst-libs/gst/vaapi/gstvaapicontext.c:
28180           overlay: detect render-rect changes.
28181           Don't re-upload VA subpicture if only the render rectangle changed.
28182           Rather deassociate the subpicture and re-associate it with the new
28183           render rectangle.
28184
28185 2013-01-11 11:12:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28186
28187         * gst-libs/gst/vaapi/gstvaapicontext.c:
28188           overlay: fix check for pixels buffer change.
28189           A GstVideoOverlayRectangle is created whenever the underlying pixels data
28190           change. However, when global-alpha is supported, it is possible to re-use
28191           the same GstVideoOverlayRectangle but with a change to the global-alpha
28192           value. This process causes a change of sequence number, so we can no longer
28193           check for that.
28194           Still, if sequence numbers did not change, then there was no change in
28195           global-alpha either. So, we need a way to compare the underlying GstBuffer
28196           pointers. There is no API to retrieve the original pixels buffer from
28197           a GstVideoOverlayRectangle. So, we use the following heuristics:
28198           1. Use gst_video_overlay_rectangle_get_pixels_unscaled_argb() with the same
28199           format flags from which the GstVideoOverlayRectangle was created. This
28200           will work if there was no prior consumer of the GstVideoOverlayRectangle
28201           with alternate (non-"native") format flags.
28202           2. In overlay_rectangle_has_changed_pixels(), we have to use the same
28203           gst_video_overlay_rectangle_get_pixels_unscaled_argb() function but
28204           with flags that match the subpicture. This is needed to cope with
28205           platforms that don't support global-alpha in HW, so the gst-video
28206           layer takes care of that and fixes this up with a possibly new
28207           GstBuffer, and hence pixels data (or) in-place by caching the current
28208           global-alpha value applied. So we have to determine the rectangle
28209           was previously used, based on what previous flags were used to
28210           retrieve the ARGB pixels buffer.
28211
28212 2013-01-10 18:42:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28213
28214         * gst-libs/gst/vaapi/gstvaapicontext.c:
28215           overlay: optimize cache at the GstVideoOverlayRectangle level.
28216           We previously assumed that an overlay composition changed if the number
28217           of overlay rectangles in there actually changed, or that the rectangle
28218           was updated, and thus its seqnum was also updated.
28219           Now, we can cope with cases where the GstVideoOverlayComposition grew
28220           by one or a few more overlay rectangles, and the initial overlay rectangles
28221           are kept as is.
28222
28223 2013-01-10 13:41:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28224
28225         * gst-libs/gst/vaapi/gstvaapicontext.c:
28226           overlay: simplify caching of GstVideoOverlayComposition objects.
28227           Create the GPtrArray once in the _init() function and destroy it only
28228           in the _finalize() function. Then use overlay_clear() to remove all
28229           subpicture associations for intermediate updates, don't recreate the
28230           GPtrArray.
28231           Make GstVaapiOverlayRectangle a reference counted object. Also make
28232           sure that overlay_rectangle_new() actually creates and associates the
28233           VA subpicture.
28234
28235 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
28236
28237         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28238         * gst-libs/gst/vaapi/gstvaapiutils.c:
28239         * gst-libs/gst/vaapi/gstvaapiutils.h:
28240           overlay: add support for global-alpha.
28241           Handle global-alpha from GstVideoOverlayComposition API. Likewise,
28242           the same code path could also work for premultiplied-alpha but this
28243           was not tested.
28244           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28245
28246 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
28247
28248         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28249         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28250         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28251         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28252         * gst-libs/gst/vaapi/gstvaapisurface.c:
28253         * tests/image.c:
28254         * tests/test-subpicture.c:
28255           subpicture: add support for global-alpha.
28256           Add the necessary helpers in GstVaapiDisplay to determine whether subpictures
28257           with global alpha are supported or not. Also add accessors in GstVaapiSubpicture
28258           to address this feature.
28259           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28260
28261 2013-01-04 09:41:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28262
28263         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28264         * gst-libs/gst/vaapi/gstvaapiutils.c:
28265         * gst-libs/gst/vaapi/gstvaapiutils.h:
28266           subpicture: add premultiplied-alpha and global-alpha feature flags.
28267           Add premultiplied-alpha and global-alpha feature flags, along with converters
28268           between VA-API and gstreamer-vaapi definitions. Another round of helpers is
28269           also necessary for GstVideoOverlayComposition API.
28270
28271 2013-01-03 18:02:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28272
28273         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28274           display: allow image/subpicture formats with additional flags.
28275           Introduce new GstVaapiFormatInfo to store the actual GstVaapiImageFormat
28276           and any additional flags needed. Currently, all flags are set to zero.
28277
28278 2013-01-11 13:34:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28279
28280         * gst-libs/gst/codecparsers/Makefile.am:
28281         * gst-libs/gst/video/Makefile.am:
28282         * tests/Makefile.am:
28283           libs: fix build of submodule wrappers.
28284           Make sure to build codecparsers/ and videoutils/ sources against the
28285           newly generated headers when out-of-source builds are used.
28286
28287 2013-01-11 14:11:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28288
28289         * configure.ac:
28290           configure: fix checks for packages installed in non-standard roots.
28291
28292 2013-01-10 10:12:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28293
28294         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
28295           decoder: fix mini object implementation on 64-bit systems.
28296           Use GPOINTER_TO_SIZE() instead of GPOINTER_TO_UINT() while manipulating
28297           pointers. The latter is meant to be 32-bit only, not uintptr_t like size.
28298           Only a gsize can hold all bits of a pointer.
28299           Thanks to Ouping Zhang for spotting this error.
28300
28301 2013-01-09 16:05:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28302
28303         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28304           mpeg2: optimize scan for the end of the frame.
28305           Heuristic: if the second start-code is available, check whether that
28306           one marks the start of a new frame because e.g. this is a sequence
28307           or picture header. This doesn't save much, since we already cache the
28308           results.
28309
28310 2013-01-09 13:44:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28311
28312         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28313           mpeg2: optimize scan for start codes.
28314           Accelerate scan for start codes by skipping up to 3 bytes per iteration.
28315           A start code prefix is defined by the following bytes: 00 00 01. Thus,
28316           for any group of 3 bytes (xx yy zz), we have the following possible cases:
28317           1. If zz != 1, this cannot be a start code, then skip 3 bytes;
28318           2. If yy != 0, this cannot be a start code, then skip 2 bytes;
28319           3. If xx != 0 or zz != 1, this cannot be a start code, then skip 1 byte;
28320           4. xx == 00, yy == 00, zz == 1, we have match!
28321           This algorithm requires to peek bytes from the adapter. This increases the
28322           amount of bytes copied to a temporary buffer, but this process is much faster
28323           than scanning for all the bytes and using shift/masks. So, overall, this is
28324           a win.
28325
28326 2013-01-08 16:41:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28327
28328         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28329           mpeg2: drop useless gst_adapter_peek().
28330           Drop useless gst_adapter_peek() since the returned buffer was not used
28331           and this could incur superfluous memcpy().
28332
28333 2013-01-07 16:07:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28334
28335         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28336           mpeg2: cosmetics: move parse_slice() down.
28337
28338 2013-01-07 15:24:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28339
28340         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28341           mpeg2: avoid too many allocations of parser info objects.
28342           Move parsing back to decoding step, but keep functions separate for now.
28343           This is needed for future optimizations that may introduce some meta data
28344           for parsed info attached to codec frames.
28345
28346 2013-01-07 14:04:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28347
28348         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28349         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28350           decoder: decoder units are no longer dynamically allocated objects.
28351
28352 2013-01-07 13:59:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28353
28354         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28355         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28356         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28357           decoder: optimize pre-allocation of decoder units.
28358           Optimize pre-allocation of decoder units, thus avoiding un-necessary
28359           memory reallocations. The heuristic used is that we could have around
28360           one slice unit per macroblock line.
28361
28362 2013-01-07 13:41:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28363
28364         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28365         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28366         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28367         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28368         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28369           decoder: use an array of units instead of a single-linked list.
28370           Use a GArray to hold decoder units in a frame, instead of a single-linked
28371           list. This makes 'append' calls faster, but not that much. At least, this
28372           makes things clearer.
28373
28374 2013-01-07 11:13:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28375
28376         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28377         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28378         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28379         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
28380         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28381         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
28382         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28383         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28384         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28385           decoder: refactor decoder unit API.
28386           Allocate decoder unit earlier in the main parse() function and don't
28387           delegate this task to derived classes. The ultimate purpose is to get
28388           rid of dynamic allocation of decoder units.
28389
28390 2013-01-07 10:48:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28391
28392         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28393           mpeg2: introduce parser info instead of MPEG-2 specific decoder unit.
28394           Use a new GstVaapiParserInfoMpeg2 data structure instead of deriving
28395           from GstVaapiDecoderUnit for MPEG-2 specific parser information.
28396
28397 2013-01-07 10:22:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28398
28399         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28400           h264: introduce parser info instead of H.264 specific decoder unit.
28401           Use a new GstVaapiParserInfoH264 data structure instead of deriving
28402           from GstVaapiDecoderUnit for H.264 specific parser information.
28403
28404 2013-01-05 12:33:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28405
28406         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28407           h264: set default values for some header fields.
28408           The SPS, PPS and slice headers are not fully zero-initialized in the
28409           codecparsers/ library. Rather, the standard upstream behaviour is to
28410           initialize only certain syntax elements with some inferred values if
28411           they are not present in the bitstream.
28412           At the gstreamer-vaapi decoder level, we need to further initialize
28413           certain syntax elements with some sensible default values so that to
28414           not complicate VA drivers that just pass those verbatim to the HW,
28415           and also avoid an memset() of the whole decoder unit.
28416           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28417           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28418
28419 2013-01-06 19:05:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28420
28421         * ext/codecparsers:
28422           codecparsers: update to gst-vaapi-rebased commit b47983a.
28423           b47983a h264: add inferred value for slice_beta_offset_div2
28424
28425 2013-01-05 17:55:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28426
28427         * gst/vaapi/gstvaapidecode.c:
28428         * gst/vaapi/gstvaapidownload.c:
28429         * gst/vaapi/gstvaapipluginbuffer.c:
28430         * gst/vaapi/gstvaapipluginbuffer.h:
28431         * gst/vaapi/gstvaapipostproc.c:
28432         * gst/vaapi/gstvaapisink.c:
28433         * gst/vaapi/gstvaapiupload.c:
28434         * gst/vaapi/gstvaapiuploader.c:
28435           plugins: cope with new GstVaapiVideoMeta API.
28436           Update plugin elements with the new GstVaapiVideoMeta API.
28437           This also fixes support for subpictures/overlay because GstVideoDecoder
28438           generates a sub-buffer from the GstVaapiVideoBuffer. So, that sub-buffer
28439           is marked as read-only. However, when comes in the textoverlay element
28440           for example, it checks whether the input buffer is writable. Since that
28441           buffer read-only, then a new GstBuffer is created. Since gst_buffer_copy()
28442           does not preserve the parent field, the generated buffer in textoverlay
28443           is not exploitable because we lost all VA specific information.
28444           Now, with GstVaapiVideoMeta information attached to a standard GstBuffer,
28445           all information are preserved through gst_buffer_copy() since the latter
28446           does copy metadata (qdata in this case).
28447
28448 2013-01-05 17:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28449
28450         * gst-libs/gst/vaapi/Makefile.am:
28451         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28452         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28453         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
28454         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
28455         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
28456         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
28457           videobuffer: wrap video meta into a surface buffer.
28458           Make GstVaapiVideoBuffer a simple wrapper for video meta. This buffer is
28459           no longer necessary but for compatibility with GStreamer 0.10 APIs or users
28460           expecting a GstSurfaceBuffer like Clutter.
28461
28462 2013-01-05 08:31:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28463
28464         * gst-libs/gst/vaapi/Makefile.am:
28465         * gst-libs/gst/vaapi/gstvaapivideometa.c:
28466         * gst-libs/gst/vaapi/gstvaapivideometa.h:
28467           videobuffer: add video meta information.
28468           Add new GstVaapiVideoMeta object that holds all information needed to
28469           convey gst-vaapi specific data as a GstBuffer.
28470
28471 2013-01-03 13:10:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28472
28473         * gst/vaapi/gstvaapidecode.c:
28474           vaapidecode: fix calculation of the time-out value.
28475           Fix calculation of the time-out value for cases where no VA surface is
28476           available for decoding. In this case, we need to wait until downstream
28477           sink consumed at least one surface. The time-out was miscalculated as
28478           it was always set to <current-time> + one second, which is not suitable
28479           for streams with larger gaps.
28480
28481 2013-01-03 13:05:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28482
28483         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28484           decoder: always use the calculated presentation timestamp.
28485           Use PTS value computed by the decoder, which could also be derived from
28486           the GstVideoCodecFrame PTS. This makes it possible to fix up the PTS if
28487           the original one was miscomputed or only represented a DTS instead.
28488
28489 2013-01-02 17:33:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28490
28491         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28492           h264: don't create sub-buffer for slice data.
28493
28494 2013-01-03 11:16:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28495
28496         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28497           decoder: create new context when encoded resolution changes.
28498           Create a new VA context if the encoded surface size changes because we
28499           need to keep the underlying surface pool until the last one was released.
28500           Otherwise, either of the following cases could have happened: (i) release
28501           a VA surface to an inexistent pool, or (ii) release VA surface to an
28502           existing surface pool, but with different size.
28503
28504 2013-01-02 17:23:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28505
28506         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28507           mpeg2: don't create sub-buffer for slice data.
28508           Avoid creating a GstBuffer for slice data. Rather, directly use the codec
28509           frame input buffer data. This is possible because the codec frame is valid
28510           until end_frame() where we submit the VA buffers for decoding. Anyway, the
28511           slice data buffer is copied into the VA buffer when it is created.
28512
28513 2013-01-02 14:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28514
28515         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28516           mpeg2: minor clean-ups.
28517           Drop explicit initialization of most fields that are implicitly set to
28518           zero. Remove some useless checks for NULL pointers.
28519
28520 2013-01-02 14:18:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28521
28522         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28523           mpeg2: optimize scan for the second start code.
28524           Optimize scan for the second start code, on the next parse() call so that
28525           to avoid scanning again earlier bytes where we didn't find any start code.
28526
28527 2013-01-02 14:10:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28528
28529         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28530           mpeg2: use sequence_display_extension() to compute PAR.
28531           Also compute pixel-aspect-ratio from sequence_display_extension(),
28532           should it exist in the bitstream.
28533
28534 2013-01-02 14:02:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28535
28536         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28537           mpeg2: handle sequence_display_extension().
28538
28539 2012-12-27 15:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28540
28541         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28542           mpeg2: implement {start,end}_frame() hooks.
28543           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
28544           that to create new VA context earlier and submit VA pictures to the
28545           HW for decoding as soon as possible. i.e. don't wait for the next
28546           frame to start decoding the previous one.
28547
28548 2012-12-27 14:54:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28549
28550         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28551           mpeg2: parse slice() header earlier.
28552           Parse slice() header and first macroblock position earlier in _parse()
28553           function instead of waiting for the _decode() stage. This doesn't change
28554           anything but readability.
28555
28556 2012-12-27 14:41:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28557
28558         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28559           mpeg2: add codec specific decoder unit.
28560           Introduce new GstVaapiDecoderUnitMpeg2 object, which holds the standard
28561           GstMpegVideoPacket and additional parsed header info. Besides, we now
28562           parse as early as in the _parse() function so that to avoid un-necessary
28563           creation of sub-buffers in _decode() for video packets that are not slices.
28564
28565 2012-12-27 18:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28566
28567         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28568         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28569         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28570         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28571           decoder: introduce lists of units to decode before/after frame.
28572           Theory of operations: all units marked as "slice" are moved to the "units"
28573           list. Since this list only contains slice data units, the prev_slice pointer
28574           was removed. Besides, we now maintain two extra lists of units to be decoded
28575           before or after slice data units.
28576           In particular, all units in the "pre_units" list will be decoded before
28577           GstVaapiDecoder::start_frame() is called and units in the "post_units"
28578           list will be decoded after GstVaapiDecoder::end_frame() is called.
28579
28580 2013-01-02 16:06:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28581
28582         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
28583         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28584           decoder: drop useless checks for codec objects.
28585           Codec objects are used internally only and they are bound to be created
28586           with a valid GstVaapiDecoder object.
28587
28588 2012-12-27 10:35:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28589
28590         * gst/vaapi/gstvaapidecode.c:
28591           vaapidecode: use GST_ERROR to print error messages.
28592
28593 2012-12-27 09:55:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28594
28595         * gst/vaapi/gstvaapidecode.c:
28596           vaapidecode: avoid double release of frame on error.
28597           Don't call gst_video_decoder_drop_frame() if gst_video_decoder_finish_frame()
28598           was already called before and it returned an error. In that case, we were
28599           releasing the frame again, thus leading to a "double-free" condition.
28600
28601 2012-12-21 14:29:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28602
28603         * .gitmodules:
28604         * autogen.sh:
28605         * configure.ac:
28606         * ext/Makefile.am:
28607         * ext/videoutils:
28608         * gst-libs/gst/Makefile.am:
28609         * gst-libs/gst/vaapi/Makefile.am:
28610         * gst-libs/gst/video/Makefile.am:
28611         * gst/vaapi/Makefile.am:
28612           Add videoutils submodule for GstVideoDecoder APIs.
28613
28614 2012-12-18 16:36:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28615
28616         * configure.ac:
28617           configure: check for GstVideoDecoder API.
28618           GstVideoDecoder API is part of an unreleased GStreamer 0.10 stack. In particular,
28619           this is only available in git 0.10 branch or GStreamer >= 1.0 stack. Interested
28620           parties may either use upstream git 0.10 branch or backport the necessary support
28621           for GstVideoDecoder API, thus including helper tools like GstVideoCodecFrame et al.
28622
28623 2012-12-18 16:21:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28624
28625         * docs/reference/libs/libs.core.types:
28626           docs: remove obsolete gst_vaapi_surface_proxy_get_type().
28627           GstVaapiSurfaceProxy is no longer based on the GType system.
28628
28629 2012-12-18 16:17:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28630
28631         * docs/reference/libs/libs-sections.txt:
28632           docs: fix entries for GstVaapiSurfaceProxy.
28633
28634 2012-12-18 15:29:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28635
28636         * NEWS:
28637           NEWS: updates.
28638
28639 2012-12-18 15:15:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28640
28641         * configure.ac:
28642         * gst-libs/gst/vaapi/Makefile.am:
28643           Bump library major version.
28644           Increase library major so that to cope with API/ABI incompatible changes
28645           since 0.4.x series and avoid user issues.
28646
28647 2012-12-13 16:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28648
28649         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28650           surfaceproxy: minor clean-ups.
28651
28652 2012-12-13 15:51:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28653
28654         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28655         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28656         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28657           surfaceproxy: drop accessors to obsolete attributes.
28658           Make GstVaapiSurfaceProxy only a thin wrapper around a VA context and a
28659           VA surface. i.e. drop any other attribute like timestamp, duration,
28660           interlaced or top-field-first.
28661
28662 2012-12-13 15:34:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28663
28664         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28665         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28666         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
28667         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28668         * gst/vaapi/gstvaapidecode.c:
28669           decoder: maintain decoded frames as GstVideoCodecFrame objects.
28670           Maintain decoded surfaces as GstVideoCodecFrame objects instead of
28671           GstVaapiSurfaceProxy objects. The latter will tend to be reduced to
28672           the strict minimum: a context and a surface.
28673
28674 2012-12-13 14:30:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28675
28676         * gst/vaapi/gstvaapidecode.c:
28677           vaapidecode: output all decoded frames as soon as possible.
28678           Make sure to push all decoded frames downstream as soon as possible.
28679           This makes sure we don't need to wait for a new frame to be ready to
28680           be decoded before receiving new decoded frames.
28681           This also separates the decode process and the output process. The latter
28682           could be moved to a specific GstTask later on.
28683
28684 2012-12-13 14:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28685
28686         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28687         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28688           decoder: add gst_vaapi_decoder_get_frame() API.
28689           Add new gst_vaapi_decoder_get_frame() function meant to be used with
28690           gst_vaapi_decoder_decode(). The purpose is to return the next decoded
28691           frame as a GstVideoCodecFrame and the associated GstVaapiSurfaceProxy
28692           as the user-data object.
28693
28694 2012-12-13 15:47:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28695
28696         * gst/vaapi/gstvaapipostproc.c:
28697           vaapipostproc: use GstBuffer flags for TFF.
28698           Determine whether the buffer represents the top-field only by checking for
28699           the GST_VIDEO_BUFFER_TFF flag instead of relying on the GstVaapiSurfaceProxy
28700           flag. Also trust "interlaced" caps to determine whether the input frame
28701           is interleaved or not.
28702
28703 2012-12-13 13:27:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28704
28705         * gst/vaapi/gstvaapipostproc.c:
28706           vaapipostproc: handle video sub-buffers.
28707           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
28708           for non raw YUV cases. Make sure vaapipostproc now understands those buffers.
28709
28710 2012-12-18 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28711
28712         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28713           h264: optimize initialization process of decoder units.
28714           Decoder units were zero-initialized, including the SPS/PPS/slice headers.
28715           The latter don't require zero-initialization since the codecparsers/ lib
28716           will do so for key variables already. This is not a great value per se but
28717           at least it makes it possible to check whether the default initialization
28718           decisions made in the codecparsers/ lib were right or not.
28719           This can be reverted if this exposes too many issues.
28720
28721 2012-12-13 11:48:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28722
28723         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28724           h264: minor clean-ups.
28725           Drop explicit initialization of most fields that are implicitly set to
28726           zero. Drop helper macros for casting to GstVaapiPictureH264 or
28727           GstVaapiFrameStore. Also remove some useless checks for NULL pointers.
28728
28729 2012-12-07 17:45:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28730
28731         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28732           h264: drop GstVaapiSliceH264 object.
28733           Use standard GstVaapiSlice object from now on since we already have
28734           parsed and recorded the slice headers (GstH264SliceHdr decode units).
28735
28736 2012-12-13 10:47:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28737
28738         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28739           h264: detect new pictures from decode-units.
28740           Update is_new_picture() to cope with GstVaapiDecoderUnitH264, instead
28741           of assuming frame boundaries when first_mb_in_slice is zero.
28742
28743 2012-12-13 10:21:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28744
28745         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28746           h264: implement {start,end}_frame() hooks.
28747           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
28748           that to create new VA context earlier and submit VA pictures to the
28749           HW for decoding as soon as possible. i.e. don't wait for the next
28750           frame to start decoding the previous one.
28751
28752 2012-12-12 18:33:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28753
28754         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28755           h264: optimize scan for the second start code.
28756           Optimize scan for the second start code, on the next parse() call so that
28757           to avoid scanning again earlier bytes where we didn't find any start code.
28758
28759 2012-12-06 17:25:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28760
28761         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28762           h264: add codec specific decoder unit.
28763           Introduce new GstVaapiDecoderUnitH264 object, which holds the standard
28764           NAL unit header (GstH264NalUnit) and additional parsed header info.
28765           Besides, we now parse headers as early as in the _parse() function so
28766           that to avoid un-necessary creation of sub-buffers in _decode() for
28767           NAL units that are not slices.
28768           This is a performance win by ~+1.1% only.
28769
28770 2012-12-04 11:01:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28771
28772         * gst/vaapi/gstvaapisink.c:
28773           vaapisink: handle sub video-buffers.
28774           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
28775           for non raw YUV cases. Make sure vaapisink now understands those buffers.
28776
28777 2012-12-12 15:22:32 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28778
28779         * gst/vaapi/gstvaapidecode.c:
28780           vaapidecode: use gst_vaapi_decoder_get_codec_state().
28781           Directly use the GstVideoCodecState associated with the VA decoder
28782           instead of parsing caps again.
28783           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28784           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28785
28786 2012-12-04 14:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28787
28788         * gst/vaapi/gstvaapidecode.c:
28789           vaapidecode: use more standard helpers.
28790           Use g_clear_object() [glib >= 2.28] and gst_caps_replace() helper functions
28791           in more places.
28792
28793 2012-12-04 14:45:29 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28794
28795         * gst/vaapi/gstvaapidecode.c:
28796         * gst/vaapi/gstvaapidecode.h:
28797           vaapidecode: move to GstVideoDecoder base class.
28798           Make vaapidecode derive from the standard GstVideoDecoder base element
28799           class. This simplifies the code to the strict minimum for the decoder
28800           element and makes it easier to port to GStreamer 1.x API.
28801           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28802           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28803
28804 2012-12-06 14:02:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28805
28806         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
28807           jpeg: initial port to new GstVaapiDecoder API
28808
28809 2012-12-06 14:02:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28810
28811         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28812           vc1: initial port to new GstVaapiDecoder API
28813
28814 2012-12-06 14:02:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28815
28816         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28817           h264: initial port to new GstVaapiDecoder API
28818
28819 2012-12-17 09:47:20 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28820
28821         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
28822           mpeg4: initial port to new GstVaapiDecoder API
28823
28824 2012-12-06 14:01:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28825
28826         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28827           mpeg2: initial port to new GstVaapiDecoder API.
28828
28829 2012-12-12 15:09:21 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28830
28831         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28832         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28833         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28834         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28835         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28836         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28837           decoder: use GstVideoCodecState.
28838           Use standard GstVideoCodecState throughout GstVaapiDecoder and expose
28839           it with a new gst_vaapi_decoder_get_codec_state() function. This makes
28840           it possible to drop picture size (width, height) information, framerate
28841           (fps_n, fps_d) information, pixel aspect ratio (par_n, par_d) information,
28842           and interlace mode (is_interlaced field).
28843           This is a new API with backwards compatibility maintained. In particular,
28844           gst_vaapi_decoder_get_caps() is still available.
28845           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28846           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28847
28848 2012-12-12 13:44:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28849
28850         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28851         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28852         * tests/test-decode.c:
28853         * tests/test-subpicture.c:
28854           decoder: update gst_vaapi_decoder_get_surface() semantics.
28855           Align gst_vaapi_decoder_get_surface() semantics with the rest of the
28856           API. That is, return a GstVaapiDecoderStatus and the decoded surface
28857           as a handle to GstVaapiSurfaceProxy in parameter.
28858           This is an API/ABI change.
28859
28860 2012-12-07 16:40:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28861
28862         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28863           decoder: use standard helper functions.
28864           Use g_clear_object(), gst_buffer_replace() and gst_caps_replace()
28865           whenever necessary.
28866
28867 2012-11-29 15:06:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28868
28869         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28870         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28871         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28872           decoder: expose new parse/decode API.
28873           Introduce new decoding process whereby a GstVideoCodecFrame is created
28874           first. Next, input stream buffers are accumulated into a GstAdapter,
28875           that is then passed to the _parse() function. The GstVaapiDecoder object
28876           accumulates all parsed units and when a complete frame or field is
28877           detected, that GstVideoCodecFrame is passed to the _decode() function.
28878           Ultimately, the caller receives a GstVaapiSurfaceProxy if decoding
28879           process was successful.
28880
28881 2012-12-13 10:20:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28882
28883         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28884         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28885           decoder: add {start,end}_frame() hooks.
28886           The start_frame() hook is called prior to traversing all decode-units
28887           for decoding. The unit argument represents the first slice in the frame.
28888           Some codecs (e.g. H.264) need to wait for the first slice in order to
28889           determine the actual VA context parameters.
28890
28891 2012-12-06 13:57:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28892
28893         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28894         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28895         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28896           decoder: add new GstVaapiDecoder API.
28897           Split decoding process into two steps: (i) parse incoming bitstreams
28898           into simple decoder-units until the frame or field is complete; and
28899           (ii) decode the whole frame or field at once.
28900           This is an ABI change.
28901
28902 2012-12-05 10:51:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28903
28904         * gst-libs/gst/vaapi/Makefile.am:
28905         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28906         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28907           decoder: add new "decoder-frame" object.
28908           Introduce a new GstVaapiDecoderFrame that is just a list of decoder units
28909           (GstVaapiDecoderUnit objects) that constitute a frame. This object is just
28910           an extension to GstVideoCodecFrame for VA decoder purposes. It is available
28911           as the user-data member element.
28912           This is a libgstvaapi internal object.
28913
28914 2012-12-06 09:44:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28915
28916         * gst-libs/gst/vaapi/Makefile.am:
28917         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28918         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28919           decoder: add new "decoder-unit" object.
28920           Introduce GstVaapiDecoderUnit which represents a fragment of the source
28921           stream to be decoded. For instance, a decode-unit will be a NAL unit for
28922           H.264 streams, an EBDU for VC-1 streams, and a video packet for MPEG-2
28923           streams.
28924           This is a libgstvaapi internal object.
28925
28926 2012-12-03 14:09:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28927
28928         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28929           Port GstVaapiFrameStore to GstVaapiMiniObject.
28930
28931 2012-12-03 11:19:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28932
28933         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
28934         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
28935         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28936         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28937         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
28938           Port codec objects to GstVaapiMiniObject.
28939
28940 2012-12-03 13:46:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28941
28942         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28943         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28944         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28945         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28946         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28947         * gst/vaapi/gstvaapidecode.c:
28948         * gst/vaapi/gstvaapipluginbuffer.c:
28949         * tests/test-decode.c:
28950         * tests/test-subpicture.c:
28951           surfaceproxy: port to GstVaapiMiniObject.
28952           GstVaapiSurfaceProxy does not use any particular functionality from
28953           GObject. Actually, it only needs a basic object type with reference
28954           counting.
28955           This is an API and ABI change.
28956
28957 2012-11-30 17:25:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28958
28959         * gst-libs/gst/vaapi/Makefile.am:
28960         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
28961         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
28962           Add GstVaapiMiniObject.
28963           Introduce a new reference counted object that is very lightweight and
28964           also provides flags and user-data functionalities. Initialization and
28965           finalization times are reduced by up to a factor 5x vs GstMiniObject
28966           from GStreamer 0.10 stack.
28967           This is a libgstvaapi internal object.
28968
28969 2012-12-17 02:51:17 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28970
28971         * tests/Makefile.am:
28972         * tests/test-decode.c:
28973         * tests/test-mpeg4.c:
28974         * tests/test-mpeg4.h:
28975           tests: add test for MPEG-4:2 decoding.
28976
28977 2012-12-17 04:42:29 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28978
28979         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28980           h264: initialize VA context before allocating the first slice.
28981           Fix decode_slice() to ensure a VA context exists prior to creating a
28982           new GstVaapiSliceH264, which invokes vaCreateBuffer() with some VA
28983           context ID. i.e. the latter was not initialized, thus causing failures
28984           on Cedar Trail for example.
28985
28986 2012-12-05 09:15:32 +0800  Zhao Halley <halley.zhao@intel.com>
28987
28988         * configure.ac:
28989           configure: install plugin elements in GST_PLUGIN_PATH, if set.
28990           If GST_PLUGIN_PATH environment variable exists and points to a valid
28991           directory, then use it as the system installation path for gst-vaapi
28992           plugin elements.
28993           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28994
28995 2012-12-17 14:27:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28996
28997         * configure.ac:
28998           configure: downgrade glib required version to 2.28.
28999
29000 2012-12-17 09:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29001
29002         * gst-libs/gst/vaapi/glibcompat.h:
29003         * gst/vaapi/gstvaapi.c:
29004           libs: fix compatibility with glib 2.28.
29005           Always prefer non deprecated APIs by default and provide compatibility
29006           glue for older glib versions when necessary.
29007
29008 2012-12-17 10:10:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29009
29010         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29011         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
29012         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
29013         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29014           libs: use glib >= 2.32 semantics for mutexes.
29015           Use glib >= 2.32 semantics for GMutex and GRecMutex wrt. initialization
29016           and termination. Basically, the new mutex objects can be used as static
29017           mutex objects from the deprecated APIs, e.g. GStaticMutex and GStaticRecMutex.
29018
29019 2012-12-17 04:15:53 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29020
29021         * gst-libs/gst/vaapi/Makefile.am:
29022           libs: only export gst_vaapi_*() symbols.
29023           This fixes symbol clashes between the gst-vaapi built-in codecparsers/
29024           library and the system-provided one, mainly used by videoparses/. Now,
29025           only symbols with the gst_vaapi_* prefix will be exported, if they are
29026           not marked as "hidden" to libgstvaapi.
29027
29028 2012-11-20 18:21:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29029
29030         * gst/vaapi/gstvaapiuploader.c:
29031           vaapiupload: reset direct-rendering to zero when changing caps.
29032           Make sure to reset direct-rendering flag to zero when caps are changed,
29033           and only derive it to one when the next checks succeed.
29034
29035 2012-11-20 14:42:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29036
29037         * gst/vaapi/gstvaapiupload.c:
29038           vaapiupload: fix sink caps to report the supported set of YUV caps.
29039           Try to allocate the GstVaapiUploader helper object prior to listing the
29040           supported image formats. Otherwise, only a single generic caps is output
29041           with no particular pixel format referenced in there.
29042
29043 2012-11-20 14:32:40 +0100  Zhao Halley <halley.zhao@intel.com>
29044
29045         * gst/vaapi/gstvaapiupload.c:
29046         * gst/vaapi/gstvaapiupload.h:
29047           vaapiupload: use new GstVaapiUploader helper.
29048           Use GstVaapiUploader helper that automatically handles direct rendering
29049           mode, thus making the "direct-rendering" property obsolete and hence it
29050           is now removed.
29051           The "direct-rendering" level 2, i.e. exposing VA surface buffers, was never
29052           really well supported and it could actually trigger degraded performance.
29053           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29054
29055 2012-11-20 15:50:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29056
29057         * gst/vaapi/gstvaapisink.c:
29058         * gst/vaapi/gstvaapiuploader.c:
29059         * gst/vaapi/gstvaapiuploader.h:
29060           vaapisink: compute and expose the supported set of YUV caps.
29061           Make vaapisink expose only the set of supported caps for raw YUV buffers.
29062           Add gst_vaapi_uploader_get_caps() helper function to determine the set
29063           of supported YUV caps as source (for images). This function actually
29064           tries to zero and upload each image to a 64x64 test surface. Of course,
29065           this relies on VA drivers to not claim success if vaPutImage() is not
29066           correctly supported.
29067
29068 2012-11-20 14:28:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29069
29070         * NEWS:
29071         * gst/vaapi/Makefile.am:
29072         * gst/vaapi/gstvaapisink.c:
29073         * gst/vaapi/gstvaapisink.h:
29074         * gst/vaapi/gstvaapiuploader.c:
29075         * gst/vaapi/gstvaapiuploader.h:
29076           vaapisink: add support for raw YUV buffers.
29077           Add new GstVaapiUploader helper to upload raw YUV buffers to VA surfaces.
29078           It is up to the caller to negotiate source caps (for images) and output
29079           caps (for surfaces). gst_vaapi_uploader_has_direct_rendering() is available
29080           to help decide between the creation of a GstVaapiVideoBuffer or a regular
29081           GstBuffer on sink pads.
29082           Signed-off-by: Zhao Halley <halley.zhao@intel.com>
29083           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29084
29085 2012-11-20 14:36:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29086
29087         * gst-libs/gst/vaapi/gstvaapiimage.c:
29088           image: fix GstVaapiImage map and unmap.
29089           Fix gst_vaapi_image_map() to return TRUE and the GstVaapiImageRaw
29090           structure correctly filled in if the image was already mapped.
29091           Likewise, make gst_vaapi_image_unmap() return TRUE if the image
29092           was already unmapped.
29093
29094 2012-10-30 13:15:45 +0800  Wind Yuan <feng.yuan@intel.com>
29095
29096         * NEWS:
29097         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29098           videobuffer: fix memory leak for surface and image.
29099           Fix reference leak of surface and image in GstVaapiVideoBuffer wrapper,
29100           thus resulting on actual memory leak of GstVaapiImage when using them
29101           for downloads/uploads from VA surfaces and more specifically surfaces
29102           when the pipeline is shutdown. i.e. vaTerminate() was never called
29103           because the resources were not unreferenced, and thus not deallocated
29104           in the end.
29105           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29106
29107 2012-11-19 10:04:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29108
29109         * NEWS:
29110           NEWS: updates.
29111
29112 2012-11-16 18:00:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29113
29114         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29115           h264: fix picture size in macroblocks.
29116           The picture size signalled by sps->{width,height} is the actual size with
29117           cropping applied, not the original size derived from pic_width_in_mbs_minus1
29118           and pic_height_in_map_units_minus1. VA driver expects that original size,
29119           uncropped.
29120           There is another issue pending: frame cropping information needs to be
29121           taken care of.
29122
29123 2012-11-16 16:18:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29124
29125         * gst-libs/gst/codecparsers/Makefile.am:
29126           codecparsers: always build parserutils first.
29127           Fix commit 18245b4 so that to link and build parserutils.[ch] first.
29128           This is needed since that's the common dependency for actual codec
29129           parsers (gstvc1parser.c for instance).
29130
29131 2012-11-15 17:50:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29132
29133         * gst-libs/gst/codecparsers/Makefile.am:
29134           codecparsers: always build the VC-1 parser library.
29135           ... this is useful to make sure pixel-aspect-ratio and framerate
29136           information are correctly parsed since we have no means to detect
29137           that at configure time.
29138
29139 2012-11-08 11:40:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29140
29141         * configure.ac:
29142         * gst-libs/gst/codecparsers/Makefile.am:
29143         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29144           mpeg2: fix PAR calculation from commit bd11bae.
29145           Invoke gst_mpeg_video_finalise_mpeg2_sequence_header() to get the
29146           correct PAR values. While doing so, require a newer version of the
29147           bitstream parser library.
29148           Note: it may be necessary to also parse the Sequence_Display_Extension()
29149           header.
29150           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29151           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29152
29153 2012-11-15 15:00:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29154
29155         * gst-libs/gst/vaapi/Makefile.am:
29156           Fix build with the GNU gold linker.
29157           In particular, fix libgstvaapi-glx DSO dependencies to include libgstbase
29158           and libgstvideo libs, e.g. for gst_video_buffer_get_overlay_composition().
29159
29160 2012-11-02 18:18:37 +0000  Rob Bradford <rob@linux.intel.com>
29161
29162         * configure.ac:
29163         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
29164         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
29165         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29166           wayland: port to 1.0 version of the protocol.
29167           This patch updates to relect the 1.0 version of the protocol. The main
29168           changes are the switch to wl_registry for global object notifications
29169           and the way that the event queue and file descriptor is processed.
29170           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29171
29172 2012-11-14 19:22:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29173
29174         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29175           h264: fix incorrect integration of previous commit (4d31e1e).
29176           git am got confused somehow, though the end result doesn't change at
29177           all since we require both SPS and PPS to be parsed prior to decoding
29178           the first slice.
29179
29180 2012-11-14 18:40:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29181
29182         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29183           h264: start decoding slices after first SPS/PPS activation.
29184           Only start decoding slices when at least one SPS and PPS got activated.
29185           This fixes cases when a source represents a substream of another stream
29186           and no SPS and PPS was inserted before the first slice of the generated
29187           substream.
29188
29189 2012-11-14 14:25:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29190
29191         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29192           h264: fix VAPictureParameterBufferH264.ReferenceFrames[] construction.
29193           ... for interlaced streams. The short_ref[] and long_ref[] arrays may
29194           contain up to 32 fields but VA ReferenceFrames[] array expects up to
29195           16 reference frames, thus including both fields.
29196
29197 2012-11-14 10:27:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29198
29199         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29200           h264: fix interlaced stream decoding with MMCO.
29201           Fix decoding of interlaced streams when adaptive_ref_pic_marking_mode_flag
29202           is equal to 1, i.e. when memory management control operations are used. In
29203           particular, when field_pic_flag is set to 0, the new reference flags shall
29204           be applied to both fields.
29205
29206 2012-11-13 17:14:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29207
29208         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29209           h264: add initial support for interlaced streams.
29210           Decoded frames are only output when they are complete, i.e. when both
29211           fields are decoded. This also means that the "interlaced" caps is not
29212           propagated to vaapipostproc or vaapisink elements. Another limitation
29213           is that interlaced bitstreams with MMCO are unlikely to work.
29214
29215 2012-11-13 16:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29216
29217         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29218           h264: split remove_reference_at() into finer units.
29219           Split remove_reference_at() into a function that actually removes the
29220           specified entry from the short-term or long-term reference picture array,
29221           and a function that sets reference flags to the desired value, possibly
29222           zero. The latters marks the picture as "unused for reference".
29223
29224 2012-10-23 14:04:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29225
29226         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29227           decoder: fix gst_vaapi_picture_new_field() object type.
29228           Fix gst_vaapi_picture_new_field() to preserve the original picture type.
29229           e.g. gst_vaapi_picture_new_field() with a GstVaapiPictureH264 argument
29230           shall generate a GstVaapiPictureH264 object.
29231
29232 2012-11-13 14:04:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29233
29234         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29235           h264: add picture structure for reference picture marking process.
29236           Introduce new `structure' field to the H.264 specific picture structure
29237           so that to simplify the reference picture marking process. That local
29238           picture structure is derived from the original picture structure, as
29239           defined by the syntax elements field_pic_flag and bottom_field_flag.
29240
29241 2012-11-02 15:14:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29242
29243         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29244           h264: introduce new frame store structure.
29245           The frame store represents a Decoded Picture Buffer entry, which can
29246           hold up to two fields. So far, the frame store is only used to hold
29247           full frames.
29248
29249 2012-11-13 10:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29250
29251         * ext/codecparsers:
29252           codecparsers: update to gst-vaapi-rebased commit 73d6aab.
29253           73d6aab h264: fix rbsp_more_data() implementation
29254           25d04cf h264: fix error code for invalid size parsed in SPS
29255           84798e5 fix FSF address
29256
29257 2012-10-31 16:37:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29258
29259         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29260           h264: minor clean-ups.
29261           Move DPB flush up if the current picture to decode is an IDR. Besides,
29262           don't bother to check for IDR pictures in dpb_add() function since an
29263           explicit DPB flush was already performed in this case.
29264
29265 2012-10-31 14:24:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29266
29267         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29268           h264: simplify reference picture marking process.
29269           ... to build the short_ref[] and long_ref[] lists from the DPB, instead
29270           of maintaining them separately. This avoids refs/unrefs while making it
29271           possible to generate the list based on the actual picture structure.
29272           This also ensures that the list of generated ReferenceFrames[] actually
29273           matches what reference frames are available in the DPB. i.e. short_ref[]
29274           and long_ref[] entries are implied from the DPB, so there is no risk of
29275           having "dangling" references.
29276
29277 2012-10-31 11:52:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29278
29279         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29280           h264: introduce per-field POC in GstVaapiPictureH264.
29281           Use the POC member available in the GstVaapiPicture base class and
29282           get rid of the dependency on the local VAPictureH264 TopFieldOrderCnt
29283           and BottomFieldOrderCnt. Rather, use a simple field_poc[] array
29284           initialized to INT_MAX, so that to simplify picture POC calculation
29285           for non frame pictures.
29286
29287 2012-10-31 11:45:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29288
29289         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29290           h264: introduce GST_VAAPI_PICTURE_{SHORT,LONG}_TERM_REFERENCE flags.
29291           Further get rid of GstVaapiPictureH264-local VAPictureH264.flags for
29292           reference bits, thus simplifying the reference picture marking process
29293           to only track a single set of reference flags. Also introduce a new
29294           long_term_frame_idx member.
29295
29296 2012-10-31 11:33:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29297
29298         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29299           h264: introduce GST_VAAPI_PICTURE_FLAG_IDR flag.
29300
29301 2012-10-31 10:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29302
29303         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29304           h264: fill in GstVaapiPicture structure.
29305           ... and get rid of local VAPictureH264.flags fields in GstVaapiPictureH264.
29306
29307 2012-10-31 11:07:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29308
29309         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29310           h264: add vaapi_fill_picture() helper.
29311           Add vaapi_fill_picture() helper function to convert GstVaapiPictureH264
29312           to VAPictureH264 structure. This is preparatory work to get rid of the
29313           local VAPictureH264 member in GstVaapiPictureH264.
29314
29315 2012-10-26 16:12:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29316
29317         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29318           h264: fix activation order of picture and sequence parameters.
29319           Delay ensure_context() until we actually need a VA context for allocating
29320           new VA surfaces, and then GstVaapiPictures, but also when a real activation
29321           of a new picture parameter set occurs, thus also implying an activation
29322           of the related sequence parameter set.
29323           The most important thing was to drop the global pps and sps pointers since
29324           they may not have matched the currently activated picture parameter or
29325           sequence parameter sets at the specified decode point.
29326           Anoter positive side-effect is that this cleans up all occurrences of
29327           decode_current_picture() to only keep those useful in decode_picture(),
29328           before a new picture is allocated, or in decode_sequence_end() when
29329           an end-of-stream or end-of-sequence condition occurred.
29330
29331 2012-10-26 13:17:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29332
29333         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29334           h264: fix scaling list generation.
29335           ... aka fix regression from efaab79. In particular, ScalingList8x8[]
29336           array was partially copied to the VAIQMatrixBufferH264. While we are
29337           at it, also improve bounds checking and avoid copying 8x8 scaling
29338           lists if transform_8x8_mode_flag is set to 0.
29339
29340 2012-10-24 18:23:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29341
29342         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29343           h264: fix detection of picture boundaries.
29344           Strictly follow the standard (7.4.1.2.4) to detect the first VCL NAL
29345           unit of a primary coded picture.
29346
29347 2012-10-23 14:50:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29348
29349         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29350           h264: optimize handling of scaling lists.
29351           Don't copy scaling lists twice to an intermediate state. Rather, directly
29352           use the scaling lists from GstH264PPS since they would match those provided
29353           by SPS header, if necessary. i.e. if PPS-specific scaling lists are not
29354           available in the bitstream.
29355
29356 2012-10-23 10:33:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29357
29358         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29359           h264: simplify code when MMCO is 5.
29360           Remove exit_picture() and exit_picture_poc() since PicOrderCnt(CurrPic)
29361           is now updated accordingly to the standard. Besides, MMCO = 5 specific
29362           operations are moved up to exec_ref_pic_marking_adaptive_mmco_5().
29363
29364 2012-10-22 11:52:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29365
29366         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29367           h264: fix MMCO-based reference picture marking process.
29368           Fix adaptive memory control decoded reference picture marking process
29369           implementation for operations 2 to 6, thus also fixing support for
29370           long-term reference pictures.
29371
29372 2012-10-22 10:50:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29373
29374         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29375           h264: move MMCO handlers out of the loop (cosmetics).
29376           This change only splits each individual MMCO handler into several functions
29377           dedicated for each operation. This is needed to perform further work later
29378           on.
29379
29380 2012-10-17 15:49:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29381
29382         * Makefile.am:
29383           debian: fix make dist for packaging.
29384           bzip2 tarballs are now used, so update the deb.upstream dependencies
29385           to include dist-bzip2 instead of plain old dist, and use the correct
29386           tar extract options to handle that format.
29387
29388 2012-10-17 15:42:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29389
29390         * configure.ac:
29391           configure: generate bzip2 tarballs in ustar format by default.
29392
29393 2012-10-17 15:38:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29394
29395         * configure.ac:
29396           configure: bump glib required version to 2.31.2.
29397           Use new Thread API. In particular, g_mutex_init() and g_cond_init()
29398           rather than g_mutex_new() and g_cond_new() respectively.
29399
29400 2012-10-04 17:39:53 +0100  Rob Bradford <rob@linux.intel.com>
29401
29402         * gst/vaapi/gstvaapidecode.c:
29403         * gst/vaapi/gstvaapidecode.h:
29404           vaapidecode: adopt non-deprecrated glib locking primitive pattern.
29405           The use of heap allocated GMutex/GCond is deprecated. Instead place them
29406           inside the structure they are locking.
29407           These changes switch to use g_mutex_init/g_cond_init rather than the heap
29408           allocation functions.
29409           Because we cannot test for a NULL pointer for the GMutex/GCond we must
29410           initialise inside the GObject _init function and clear inside the _finalize
29411           which is guaranteed to only be called once and after the object is no longer
29412           in use.
29413
29414 2012-10-17 14:52:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29415
29416         * gst/vaapi/gstvaapidecode.c:
29417           vaapidecode: fix compiler warnings.
29418           Don't care of the return value for gst_vaapi_decoder_put_buffer()
29419           during destruction of the element. Don't print out (uninitialised)
29420           error code when allocation of video buffer failed.
29421
29422 2012-10-16 16:52:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29423
29424         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29425           h264: add flag to compile with strict DPB ordering mode.
29426           Allow build with strict DPB ordering mode whereby evicted entries
29427           are replaced by the next entries, in order instead of optimizing
29428           it away with the last entry in the DPB.
29429           This is only useful for debugging purpose, against a reference SW
29430           decoder for example.
29431
29432 2012-10-16 16:46:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29433
29434         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29435           h264: drop extra code covered by built-in codecparsers.
29436           GstH264SliceHdr.n_emulation_prevention_bytes is bound to exist now that
29437           a newer version of codecparsers/ are used if the system provided one is
29438           now recent enough to have those required extensions.
29439
29440 2012-10-16 16:43:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29441
29442         * gst-libs/gst/codecparsers/Makefile.am:
29443           codecparsers: fix generation of symlinks.
29444           Try to improve dependencies while generating symlinks to externally
29445           maintained copy of codecparsers (derived from upstream git master
29446           tree).
29447
29448 2012-10-11 15:04:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29449
29450         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29451           vc1: use framerate information from bitstream parser.
29452
29453 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29454
29455         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29456           vc1: use pixel-aspect-ratio from bitstream parser.
29457           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29458           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29459
29460 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29461
29462         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29463           mpeg2: use pixel-aspec-ratio information from bitstream parser.
29464           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29465           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29466
29467 2012-10-11 13:49:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29468
29469         * configure.ac:
29470         * gst-libs/gst/codecparsers/Makefile.am:
29471           codecparsers: h264: use submodule sources.
29472           Use newer sources from the codecparsers/ submodule for
29473           - GstH264SliceHdr.n_emulation_prevention_bytes: EPBs;
29474           - GstH264VUIParams.{par_n,par_d}: pixel-aspect-ratio.
29475
29476 2012-10-11 13:23:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29477
29478         * .gitignore:
29479         * configure.ac:
29480         * gst-libs/gst/codecparsers/Makefile.am:
29481         * gst-libs/gst/codecparsers/gstjpegparser.c:
29482         * gst-libs/gst/codecparsers/gstjpegparser.h:
29483         * gst-libs/gst/vaapi/Makefile.am:
29484           codecparsers: jpeg: use submodule sources.
29485
29486 2012-10-11 10:03:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29487
29488         * .gitmodules:
29489         * Makefile.am:
29490         * autogen.sh:
29491         * configure.ac:
29492         * ext/Makefile.am:
29493         * ext/codecparsers:
29494           Add codecparsers submodule.
29495
29496 2012-10-11 14:17:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29497
29498         * .gitignore:
29499           .gitignore: updates.
29500
29501 2012-10-11 13:40:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29502
29503         * autogen.sh:
29504           autogen: fix check for gtkdocize and autoreconf.
29505           If gtkdocize or autoreconf programs were not found, then the autogen.sh
29506           script would fail to report that correctly because test -z was not passed
29507           any argument (empty string "" in this case).
29508
29509 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29510
29511         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29512           h264: use pixel-aspect-ratio from SPS header.
29513           Propagate pixel-aspect-ratio determined by the GStreamer codecparser
29514           from the sequence headers.
29515           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29516           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29517
29518 2012-10-10 10:35:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29519
29520         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29521           h264: add decode_nalu() helper function.
29522           Split decode_buffer() into the core infrastructure that determines
29523           the NAL units contained in the adapter and the actual function that
29524           decodes the NAL unit.
29525
29526 2012-10-10 10:31:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29527
29528         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29529           h264: fix end-of-stream conditions (flush).
29530           Decode pending data in the adapter prior to processing the actual
29531           code for end-of-stream.
29532
29533 2012-10-10 09:45:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29534
29535         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29536           mpeg2: add decode_packet() helper function.
29537           Split decode_buffer() into the core infrastructure that determines
29538           the packets contained in the adapter and the actual function that
29539           decodes the packet data.
29540
29541 2012-10-09 15:34:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29542
29543         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29544           mpeg2: fix end-of-stream conditions (flush).
29545           Decode pending data in the adapter prior to processing the actual
29546           code for end-of-stream. Initial code from Feng Yuan.
29547
29548 2012-10-09 15:40:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29549
29550         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29551           mpeg2: fix memory leak of empty packets.
29552           Fix memory leakage of empty packets, i.e. packets that only contain
29553           the start code prefix. In particular, free empty user-data packets.
29554           Besides, the codec parser will already fail gracefully if the packet
29555           to parse does not have the minimum required size. So, we can also
29556           completely drop the block of code that used to handle packets of size 4
29557           (including the start code).
29558
29559 2012-10-09 15:01:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29560
29561         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29562           mpeg2: fix return value for "no-data" conditions.
29563           Fix return value when the second scan for start code fails. This means
29564           there is not enough data to determine the full extents of the current
29565           packet and the function shall return GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA
29566           in this case, instead of GST_VAAPI_DECODER_STATUS_SUCCESS.
29567
29568 2012-10-09 14:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29569
29570         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29571           decoder: refine semantics of gst_vaapi_decoder_put_buffer().
29572           Improve the semantics for gst_vaapi_decoder_put_buffer() when an empty
29573           buffer is passed on. An empty buffer is a buffer with a NULL data pointer
29574           or with a size equals to zero. In this case, that buffer is simply
29575           skipped and the function returns TRUE. A NULL buffer argument still
29576           marks the end-of-stream.
29577
29578 2012-10-09 14:40:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29579
29580         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29581         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
29582           decoder: drop unused functions.
29583
29584 2012-08-26 22:29:04 -0400  Wind Yuan <feng.yuan@intel.com>
29585
29586         * gst/vaapi/gstvaapidecode.c:
29587           vaapidecode: flush buffers when receiving EOS.
29588           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29589
29590 2012-10-05 13:36:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29591
29592         * debian.upstream/Makefile.am:
29593           debian: fix make dist for packaging.
29594
29595 2012-10-05 12:06:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29596
29597         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
29598         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29599           wayland: cosmetics (remove tabs).
29600
29601 2012-10-04 17:39:52 +0100  Rob Bradford <rob@linux.intel.com>
29602
29603         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29604           wayland: add support for windowed mode.
29605           Rather than always making the surface fullscreen instead implement the
29606           set_fullscreen vfunc on GstVaapiWindow and then set the shell surface
29607           fullscreen on not depending on that.
29608           Reviewed-by: Joe Konno <joe.konno@intel.com>
29609           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29610
29611 2012-10-01 09:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29612
29613         * configure.ac:
29614           Bump version for development.
29615
29616 2012-09-28 17:54:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29617
29618         * README:
29619         * configure.ac:
29620           Fix and document build dependencies better.
29621
29622 2012-09-28 17:41:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29623
29624         * debian.upstream/control.in:
29625           debian: fix GStreamer build dependencies.
29626
29627 2012-09-28 17:39:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29628
29629         * configure.ac:
29630         * debian.upstream/control.in:
29631           debian: fix Wayland build dependencies.
29632
29633 2012-09-28 17:38:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29634
29635         * debian.upstream/control.in:
29636           debian: fix conditional build of packages.
29637           Make it still possible to build package even if one of the build dependencies
29638           for a specific video backend is not available.
29639
29640 2012-09-27 11:08:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29641
29642         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29643         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29644           utils: drop unused GLX helpers.
29645           Remove helpers for GL_ARB_fragment_program and GL_ARB_multitexture
29646           extensions since they are not used throughout gstreamer-vaapi.
29647
29648 2012-09-27 11:04:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29649
29650         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29651           utils: fix build with <GL/glext.h> version >= 85.
29652           Mesa recently updated the <GL/glext.h> header version to Khronos version 85.
29653           This caused the PFNGLMULTITEXCOORD2FPROC definition to be moved out of the
29654           GL_VERSION_1_3_DEPRECATED block. However, since <GL/gl.h> also defines
29655           GL_VERSION_1_3 to 1, the definitions in <GL/glext.h> are then not enabled,
29656           thus leaving PFNGLMULTITEXCOORD2FPROC undefined as well.
29657           Provide a PFNGLMULTITEXCOORD2FPROC replacement as an interim solution for
29658           newer versions of the <GL/glext.h> header.
29659
29660 2012-09-26 16:33:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29661
29662         * configure.ac:
29663           configure: update VA-API version requirements.
29664           VA/DRM and VA/Wayland API are now promoted to VA-API 0.33.0 (libva 1.1.0).
29665
29666 2012-09-21 16:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29667
29668         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29669           h264: review and report errors accordingly.
29670           Use GST_ERROR() to report real errors instead of hiding them into
29671           GST_DEBUG().
29672
29673 2012-09-20 17:58:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29674
29675         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29676           h264: exclusively use GstAdapter, drop sub-buffer hack.
29677           Maintaining the sub-buffer is rather suboptimal especially since we
29678           were also maintaining a GstAdapter. Now, we only use the GstAdapter
29679           thus requiring minor extra parsing when receiving avcC buffers.
29680
29681 2012-09-20 16:18:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29682
29683         * README:
29684           README: updates.
29685
29686 2012-09-20 16:02:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29687
29688         * NEWS:
29689           NEWS: updates.
29690
29691 2012-09-20 14:38:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29692
29693         * debian.upstream/gstreamer-vaapi.install.in:
29694           debian: fix packaging on recent Ubuntu platforms.
29695           Use explicit GStreamer plugins path.
29696
29697 2012-09-17 17:55:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29698
29699         * docs/reference/libs/libs-docs.xml.in:
29700         * docs/reference/libs/libs.core.types:
29701           docs: fix build for make dist.
29702
29703 2012-09-14 10:30:35 -0400  Kristian Høgsberg <krh@bitplanet.net>
29704
29705         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29706           wayland: set opaque region for YUV surface.
29707           This allows the compositor to optimize redraws and cull away changes
29708           obscured by the video surface.
29709           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29710
29711 2012-09-14 17:30:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29712
29713         * configure.ac:
29714           configure: fix check for libva-glx and libva-drm.
29715
29716 2012-09-12 13:42:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29717
29718         * gst-libs/gst/vaapi/glibcompat.h:
29719           glibcompat: add replacement for g_cond_wait_until().
29720
29721 2012-09-12 13:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29722
29723         * gst/vaapi/gstvaapidecode.c:
29724         * gst/vaapi/gstvaapidownload.c:
29725         * gst/vaapi/gstvaapipostproc.c:
29726         * gst/vaapi/gstvaapisink.c:
29727         * gst/vaapi/gstvaapiupload.c:
29728           plugins: include "sysdeps.h" instead of "config.h".
29729
29730 2012-09-12 10:40:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29731
29732         * gst-libs/gst/codecparsers/gstjpegparser.c:
29733           codecparsers: jpeg: add missing includes.
29734
29735 2012-09-11 17:03:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29736
29737         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29738         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29739         * gst/vaapi/gstvaapidecode.c:
29740           vaapidecode: don't reset decoder if codec type is the same.
29741           Reset, i.e. destroy then create, the decoder in _setcaps() handler only
29742           if the underlying codec type actually changed. This makes it possible
29743           to be more tolerant with certain MPEG-2 streams that get parsed to
29744           form caps that are compatible with the previous state but minor changes
29745           to "codec-data".
29746
29747 2012-09-11 16:41:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29748
29749         * gst/vaapi/gstvaapidecode.c:
29750           vaapidecode: simplify codec lookup from caps.
29751           Add new gst_vaapi_codec_from_caps() helper to determine codec type from
29752           the specified caps. Don't globally expose this function since this is
29753           really trivial and only used in the vaapidecode element.
29754
29755 2012-09-11 15:54:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29756
29757         * gst/vaapi/gstvaapidecode.c:
29758         * gst/vaapi/gstvaapidecode.h:
29759           vaapidecode: improve "no free surface" conditions.
29760           Previously, vaapidecode would wait up to one second until a free surface
29761           is available, or it aborts decoding. Now, vaapidecode waits until the
29762           last decoded surface was to be presented, plus one second. Besides, end
29763           times are now expressed relative to the monotonic clock.
29764
29765 2012-09-11 10:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29766
29767         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29768         * gst/vaapi/gstvaapidecode.c:
29769           decoder: propagate buffer duration downstream.
29770
29771 2012-09-11 10:59:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29772
29773         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
29774         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
29775           surfaceproxy: add "duration" property.
29776
29777 2012-09-10 18:26:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29778
29779         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29780         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29781         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29782         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29783         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29784         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
29785         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29786           decoder: cope with new GstVaapiContextInfo based API.
29787           Update decoders to report the maximum number of reference frames to use.
29788
29789 2012-09-10 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29790
29791         * gst-libs/gst/vaapi/gstvaapicontext.c:
29792           context: JPEG codec does not need any reference frame.
29793
29794 2012-09-10 18:15:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29795
29796         * gst-libs/gst/vaapi/gstvaapicontext.c:
29797         * gst-libs/gst/vaapi/gstvaapicontext.h:
29798           context: allow number of reference frames to be set.
29799           Make it possible to specify the maximum number of references to use within
29800           a single VA context. This helps reducing GPU memory allocations to the useful
29801           number of references to be used.
29802
29803 2012-09-07 16:41:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29804
29805         * gst/vaapi/gstvaapipostproc.c:
29806           vaapipostproc: fix deinterlace-{mode,method} types definition.
29807
29808 2012-09-07 16:15:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29809
29810         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29811           mpeg4: fix debug info for unsupported profile.
29812
29813 2012-09-07 16:14:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29814
29815         * gst-libs/gst/vaapi/gstvaapicontext.c:
29816         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29817         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29818         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29819         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29820         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29821         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29822         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29823         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
29824         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
29825         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
29826         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29827         * gst-libs/gst/vaapi/gstvaapiimage.c:
29828         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
29829         * gst-libs/gst/vaapi/gstvaapiobject.c:
29830         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29831         * gst-libs/gst/vaapi/gstvaapisurface.c:
29832         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
29833         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
29834         * gst-libs/gst/vaapi/gstvaapitexture.c:
29835         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29836         * gst-libs/gst/vaapi/gstvaapivalue.c:
29837         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29838         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
29839         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
29840         * gst-libs/gst/vaapi/gstvaapivideopool.c:
29841         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29842         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
29843         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29844         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29845         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29846           libs: fix build in strict ISO C mode.
29847
29848 2012-09-07 16:11:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29849
29850         * gst/vaapi/gstvaapi.c:
29851         * gst/vaapi/gstvaapidecode.c:
29852         * gst/vaapi/gstvaapidownload.c:
29853         * gst/vaapi/gstvaapipostproc.c:
29854         * gst/vaapi/gstvaapisink.c:
29855         * gst/vaapi/gstvaapiupload.c:
29856           plugins: fix build in strict ISO C mode.
29857
29858 2012-09-07 15:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29859
29860         * pkgconfig/gstreamer-vaapi-glx.pc.in:
29861         * pkgconfig/gstreamer-vaapi-x11.pc.in:
29862         * pkgconfig/gstreamer-vaapi.pc.in:
29863           pkgconfig: fix dependencies and slightly improve description.
29864           Drop @LIBVA_EXTRA_{CFLAGS,LIBS}@ substitutions and slightly improve
29865           descriptions with clearer renderer names.
29866
29867 2012-09-04 13:54:19 +0200  Philip Lorenz <philip@bithub.de>
29868
29869         * gst/vaapi/gstvaapidecode.c:
29870           vaapidecode: acquire lock only if the mutex exists.
29871           When playback stops the GstVaapiDecode object is reset into a clean
29872           state. However, surfaces may still be referenced by library users and
29873           unreferencing them after the reset triggers an access to an unset mutex.
29874           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29875
29876 2012-09-07 11:58:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29877
29878         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29879           decoder: drop extraneous return for void function.
29880
29881 2012-09-07 11:57:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29882
29883         * gst-libs/gst/vaapi/gstvaapiimage.c:
29884           image: don't use (void *) pointer arithmetic.
29885
29886 2012-09-04 13:40:04 +0200  Philip Lorenz <philip@bithub.de>
29887
29888         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29889         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29890         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29891         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
29892         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
29893         * gst-libs/gst/vaapi/gstvaapiprofile.h:
29894         * gst-libs/gst/vaapi/gstvaapisurface.h:
29895         * gst-libs/gst/vaapi/gstvaapitypes.h:
29896         * gst/vaapi/gstvaapipostproc.h:
29897           Do not forward declare enums.
29898           Forward declaring enums is not allowed by the C standard and aborts
29899           compilation if the header file is included in a C++ project.
29900           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29901
29902 2012-09-07 11:44:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29903
29904         * configure.ac:
29905           configure: fix check for VA/DRM API.
29906
29907 2012-09-04 11:53:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29908
29909         * gst/vaapi/gstvaapisink.c:
29910           vaapisink: fix calculation of window size.
29911           If either dimension is out-of-bounds, then scale window to fit the
29912           display size, even if the output is to be rotated. Use the standard
29913           gst_video_sink_center_rect() function to center and scale the window
29914           wrt. the outer (display) bounds.
29915
29916 2012-08-28 02:45:22 -0400  Wind Yuan <feng.yuan@intel.com>
29917
29918         * gst/vaapi/gstvaapisink.c:
29919         * gst/vaapi/gstvaapisink.h:
29920           vaapisink: add video rotation support.
29921           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29922
29923 2012-09-06 11:47:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29924
29925         * gst/vaapi/gstvaapipluginutil.h:
29926           pluginutils: add G_PRIMITIVE_SWAP() helper macro.
29927           This macro helps swapping variables while maintaining the correct underlying
29928           and primitive type.
29929
29930 2012-09-06 11:51:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29931
29932         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29933           display: fix display aspect ratio when display is rotated.
29934
29935 2012-09-06 11:50:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29936
29937         * configure.ac:
29938         * gst-libs/gst/vaapi/Makefile.am:
29939         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29940         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
29941           display: fix physical display size when display is rotated.
29942
29943 2012-08-30 16:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29944
29945         * gst-libs/gst/vaapi/gstvaapivalue.c:
29946           display: fix GstVaapiRotation enumeration of values.
29947
29948 2012-08-29 13:18:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29949
29950         * docs/reference/libs/libs-docs.xml.in:
29951         * docs/reference/libs/libs-sections.txt:
29952         * gst-libs/gst/vaapi/Makefile.am:
29953         * gst-libs/gst/vaapi/gstvaapivideosink.c:
29954         * gst-libs/gst/vaapi/gstvaapivideosink.h:
29955         * gst/vaapi/gstvaapidecode.c:
29956         * gst/vaapi/gstvaapidownload.c:
29957         * gst/vaapi/gstvaapipostproc.c:
29958         * gst/vaapi/gstvaapisink.c:
29959         * gst/vaapi/gstvaapiupload.c:
29960           vaapisink: drop obsolete GstVaapiVideoSink interface.
29961           This interface was deprecated since 0.3.x series when the GstVideoContext
29962           interface was added to the main GStreamer APIs.
29963
29964 2012-08-27 18:34:27 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29965
29966         * gst/vaapi/gstvaapisink.c:
29967         * gst/vaapi/gstvaapisink.h:
29968           vaapisink: automatically detect overlay rendering mode.
29969           Retain the VA surface until another surface is to be displayed only
29970           if VA display rendering mode is determined to be "overlay" mode.
29971
29972 2012-08-24 16:30:33 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29973
29974         * gst/vaapi/gstvaapisink.c:
29975         * gst/vaapi/gstvaapisink.h:
29976           vaapisink: retain VA surface until another one is displayed.
29977           Keep VA surface proxy associated with the surface that is currently
29978           being displayed. This makes sure that surface is not released back
29979           to the pool of surfaces free to use for decoding. This is necessary
29980           with VA driver implementations that support rendering to an overlay
29981           pipe. Otherwise, there could be cases where we are decoding into a
29982           surface that is being displayed, hence some flickering.
29983
29984 2012-08-24 14:54:16 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29985
29986         * gst/vaapi/gstvaapisink.h:
29987           vaapisink: fix build with older toolchains.
29988           Don't re-declare GstVaapiTexture if USE_GLX mode is set.
29989
29990 2012-08-29 10:13:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29991
29992         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29993           display: partially revert 8ebe4d6.
29994           Don't try to fix up the initial values, this could make things worse.
29995           Simply assume the driver does not support the capability in this case.
29996
29997 2012-08-28 16:08:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29998
29999         * tests/test-display.c:
30000           tests: dump VA display properties.
30001
30002 2012-08-28 18:11:32 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30003
30004         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30005           display: fix validation process of properties during discovery.
30006           Some VA drivers (e.g. EMGD) can have completely random values for initial
30007           display attributes. So, try to improve the discovery process to check the
30008           initial display attribute values actually fall within valid bounds. If not,
30009           try to reset those to some sensible values like the default value reported
30010           through vaQueryDisplayAttributes().
30011
30012 2012-08-28 13:59:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30013
30014         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30015         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30016           display: add color balance properties.
30017           Add support for hue, saturation, brightness and contrast attributes.
30018
30019 2012-08-28 14:05:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30020
30021         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30022           display: initialize default attribute values.
30023           Ensure the display attribute is actually supported by trying to retrieve
30024           its current value during GstVaapiDisplay creation.
30025
30026 2012-08-28 11:09:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30027
30028         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30029           display: raise "notify" for property changes.
30030
30031 2012-08-28 10:55:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30032
30033         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30034         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30035           display: expose display attributes as GObject properties.
30036           Expose VA display "render-mode" and "rotation" attributes as standard
30037           GObject properties.
30038
30039 2012-08-28 16:24:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30040
30041         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30042           display: install properties in batch.
30043           Use g_object_class_install_properties() to install GstVaapiDisplay properties.
30044           It is useful to maintain properties as GParamSpec so that to be able to raise
30045           "notify" signals by id instead of by name in the future.
30046
30047 2012-08-27 19:00:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30048
30049         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30050           display: fix gst_vaapi_display_has_property().
30051           Append the "render-mode" and "rotation" properties, should they be supported
30052           by the underlying VA driver.
30053
30054 2012-08-22 02:18:11 -0400  Wind Yuan <feng.yuan@intel.com>
30055
30056         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30057         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30058         * gst-libs/gst/vaapi/gstvaapitypes.h:
30059         * gst-libs/gst/vaapi/gstvaapiutils.c:
30060         * gst-libs/gst/vaapi/gstvaapiutils.h:
30061         * gst-libs/gst/vaapi/gstvaapivalue.c:
30062         * gst-libs/gst/vaapi/gstvaapivalue.h:
30063           display: add support for rotation modes.
30064           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30065
30066 2012-08-27 18:11:37 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30067
30068         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30069         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30070         * gst-libs/gst/vaapi/gstvaapitypes.h:
30071         * gst-libs/gst/vaapi/gstvaapivalue.c:
30072         * gst-libs/gst/vaapi/gstvaapivalue.h:
30073           display: add support for rendering modes.
30074           A rendering mode can be "overlay" or "texture"'ed blit.
30075           The former mode implies that a VA surface used for rendering can't be
30076           re-used right away for decoding, so the sink shall make provisions to
30077           retain the associated surface proxy until the next surface is to be
30078           displayed.
30079           The latter mode implies that the VA surface is implicitly copied to an
30080           intermediate backing store, or back buffer of a frame buffer, so the
30081           associated surface proxy can be disposed right away.
30082
30083 2012-08-27 17:02:49 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30084
30085         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30086         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30087         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
30088           display: add initial support for display attributes.
30089           The VA display attributes are mapped to properties so that to maintain the
30090           GStreamer terminology. Properties are to be identified by name, but internal
30091           functions are available to lookup the property by the actual VA display
30092           attribute type.
30093
30094 2012-08-24 11:36:16 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
30095
30096         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30097           jpeg: fix end-of-image (EOI) handler.
30098           decode_current_picture() was converted to return a gboolean instead
30099           of a GstVaapiDecoderStatus, so we were not getting out of the decode
30100           loop as expected, or could cause an error instead.
30101           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30102
30103 2012-08-24 18:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30104
30105         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30106           mpeg2: include start code into VA slice data buffer.
30107           Integrate the start code prefix in the slice data buffer that is submitted
30108           to the hardware. VA-API specifies that slice_data_offset is the offset to
30109           the first byte of slice data. And, for MPEG-2, slice() data begins with
30110           the slice_start_code. Some VA driver implementations (EMGD) expect this.
30111
30112 2012-06-28 01:08:03 +0900  Javier Jardón <jjardon@gnome.org>
30113
30114         * autogen.sh:
30115           autogen: fix configure script generation when srcdir != builddir.
30116           This patch allows for regenerating the configure script from a build
30117           directory that is not the actual source directory.
30118           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30119
30120 2012-06-28 00:22:03 +0900  Javier Jardón <jjardon@gnome.org>
30121
30122         * configure.ac:
30123           configure: use new libtool syntax.
30124           This now requires libtool >= 2.2 to regenerate the configure script.
30125           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30126
30127 2012-08-08 12:50:41 +0900  Javier Jardón <jjardon@gnome.org>
30128
30129         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30130           decoder: use g_object_notify_by_pspec().
30131           Use g_object_notify_by_pspec() instead of g_object_notify() so that to
30132           avoid a property name lookup. i.e. this makes notifications faster to
30133           the `vaapidecode' element.
30134           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30135
30136 2012-08-06 19:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30137
30138         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30139           wayland: handle de-interlacing flags.
30140           VA/Wayland API was updated to allow flags for bob deinterlacing.
30141           More elaborated filters will require a complete VA/VPP pipeline.
30142
30143 2012-08-02 18:27:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30144
30145         * gst-libs/gst/codecparsers/gstjpegparser.c:
30146           jpeg: fix default quantization tables.
30147           Two elements in the luminance quantization table were wrong. So,
30148           gst_jpeg_get_default_quantization_tables() now reconstructs tables
30149           in zig-zag order from the standard ones (Tables K.1 and K.2).
30150
30151 2012-08-02 15:17:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30152
30153         * gst-libs/gst/codecparsers/gstjpegparser.c:
30154           jpeg: compute default Huffman tables.
30155           ... instead of having them pre-calculated. This saves around 1.5 KB
30156           of data in the DSO but requires gst_jpeg_get_default_huffman_tables()
30157           to do more work. Though, the client application may have to call that
30158           function at most once, only.
30159
30160 2012-08-01 18:30:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30161
30162         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30163           display: drop VAProfileNone entries from debug messages.
30164
30165 2012-07-31 18:24:14 +0800  Yan Yin <yan.yin@intel.com>
30166
30167         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30168           display: query for supported display attributes.
30169           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30170
30171 2012-07-31 18:22:48 +0800  Yan Yin <yan.yin@intel.com>
30172
30173         * gst-libs/gst/vaapi/gstvaapiutils.c:
30174         * gst-libs/gst/vaapi/gstvaapiutils.h:
30175           utils: add string_of_VADisplayAttributeType() helper.
30176           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30177
30178 2012-08-01 15:46:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30179
30180         * gst/vaapi/gstvaapisink.c:
30181           vaapisink: handle VA/DRM API.
30182           This is not useful in practice but for raw performance evaluation when
30183           the sink is invoked with display=drm sync=false. fakesink could also be
30184           used though.
30185
30186 2012-08-01 15:46:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30187
30188         * gst/vaapi/Makefile.am:
30189         * gst/vaapi/gstvaapipluginutil.c:
30190           plugins: add support for headless pipelines.
30191
30192 2012-08-01 15:44:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30193
30194         * tests/Makefile.am:
30195         * tests/output.c:
30196         * tests/test-display.c:
30197         * tests/test-windows.c:
30198           tests: add support for headless decoding.
30199
30200 2012-08-01 15:44:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30201
30202         * NEWS:
30203         * configure.ac:
30204         * debian.upstream/Makefile.am:
30205         * debian.upstream/control.in:
30206         * debian.upstream/libgstvaapi-drm.install.in:
30207         * gst-libs/gst/vaapi/Makefile.am:
30208         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30209         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30210         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
30211         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
30212         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
30213         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
30214         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
30215         * pkgconfig/Makefile.am:
30216         * pkgconfig/gstreamer-vaapi-drm.pc.in:
30217           Add initial support for VA/DRM.
30218
30219 2012-07-31 17:58:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30220
30221         * configure.ac:
30222         * gst-libs/gst/vaapi/Makefile.am:
30223           Fix build without X11 (again).
30224           Don't try to build libgstvaapi-x11.so.* if X11 was disabled. Also shuffle
30225           files list wrt. x11, glx and wayland backends.
30226
30227 2012-07-31 11:51:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30228
30229         * configure.ac:
30230         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
30231         * gst-libs/gst/vaapi/gstvaapicompat.h:
30232         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30233           jpeg: update to the latest VA-API changes (0.32.1+).
30234
30235 2012-07-27 14:27:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30236
30237         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30238         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
30239         * gst/vaapi/gstvaapisink.c:
30240           wayland: implement display ::get_size*() hooks.
30241
30242 2012-07-27 10:45:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30243
30244         * gst/vaapi/gstvaapipluginutil.c:
30245           plugins: prefer X11 rendering over GLX.
30246           Prefer X11 display over GLX so that "vaapisink" uses X11, i.e. vaPutSurface(),
30247           for rendering instead of texturing.
30248
30249 2012-07-26 09:28:51 -0400  Kristian Høgsberg <krh@bitplanet.net>
30250
30251         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30252           wayland: use scale fullscreen method.
30253           This makes the compositor scale the surface to fit and preserves aspect
30254           ratio.
30255           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30256
30257 2012-07-26 09:27:47 -0400  Kristian Høgsberg <krh@bitplanet.net>
30258
30259         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30260           wayland: respond to ping/pong protocol so we're not deemed unresponsive.
30261           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30262
30263 2012-07-25 10:39:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30264
30265         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30266           wayland: fix double disconnect of display.
30267
30268 2012-07-24 19:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30269
30270         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30271           wayland: mangle display name for cache lookups.
30272
30273 2012-07-24 15:43:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30274
30275         * configure.ac:
30276         * debian.upstream/Makefile.am:
30277         * debian.upstream/control.in:
30278         * debian.upstream/libgstvaapi-wayland.install.in:
30279         * pkgconfig/Makefile.am:
30280         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
30281           wayland: add packaging files.
30282
30283 2012-07-24 15:07:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30284
30285         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30286         * gst/vaapi/gstvaapipluginutil.c:
30287         * gst/vaapi/gstvaapisink.c:
30288         * pkgconfig/Makefile.am:
30289           Fix build without X11.
30290
30291 2012-07-24 09:45:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30292
30293         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30294         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30295         * gst/vaapi/Makefile.am:
30296         * gst/vaapi/gstvaapipluginutil.c:
30297         * gst/vaapi/gstvaapisink.c:
30298           plugins: add support for Wayland.
30299
30300 2012-07-23 12:56:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30301
30302         * tests/Makefile.am:
30303         * tests/output.c:
30304         * tests/test-display.c:
30305         * tests/test-windows.c:
30306           tests: add support for Wayland.
30307
30308 2012-07-19 10:27:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
30309
30310         * NEWS:
30311         * configure.ac:
30312         * gst-libs/gst/vaapi/Makefile.am:
30313         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30314         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
30315         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
30316         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
30317         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30318         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
30319           Add initial support for VA/Wayland.
30320           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30321
30322 2012-07-25 15:11:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30323
30324         * gst/vaapi/gstvaapipluginbuffer.c:
30325           plugins: fix creation of video buffer from surface proxy.
30326           Fix a regression introduced with commit 8ef490a.
30327
30328 2012-07-25 14:51:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30329
30330         * gst/vaapi/gstvaapipluginbuffer.c:
30331         * gst/vaapi/gstvaapipluginutil.c:
30332           plugins: use new display types more.
30333           In particular, simplify gst_vaapi_reply_to_query() with display types.
30334           Likewise for creating new video buffers.
30335
30336 2012-07-25 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30337
30338         * gst/vaapi/gstvaapidecode.c:
30339         * gst/vaapi/gstvaapidownload.c:
30340         * gst/vaapi/gstvaapipluginutil.c:
30341         * gst/vaapi/gstvaapipluginutil.h:
30342         * gst/vaapi/gstvaapipostproc.c:
30343         * gst/vaapi/gstvaapisink.c:
30344         * gst/vaapi/gstvaapiupload.c:
30345           plugins: fix display type selection and propagation.
30346           If vaapisink is in the GStreamer pipeline, then we shall allocate a
30347           unique GstVaapiDisplay and propagate it upstream. i.e. subsequent
30348           queries from vaapidecode shall get a valid answer from vaapisink.
30349
30350 2012-07-25 11:37:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30351
30352         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30353           display: fix destruction of mutex.
30354
30355 2012-07-25 09:16:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30356
30357         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30358         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30359         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
30360         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
30361         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30362         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
30363         * gst/vaapi/gstvaapipluginutil.c:
30364         * gst/vaapi/gstvaapipluginutil.h:
30365         * gst/vaapi/gstvaapisink.c:
30366           display: add display types.
30367           Move display types from gstvaapipluginutil.* to gstvaapidisplay.* so that
30368           we could simplify characterization of a GstVaapiDisplay. Also rename "auto"
30369           type to "any", and add a "display-type" attribute.
30370
30371 2012-07-24 19:43:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30372
30373         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30374           display: use prefixed display names for cache lookups.
30375           This improves display name comparisons by always allocating a valid display
30376           name. This also helps to disambiguate lookups by name in the global display
30377           cache, should a new backend be implemented.
30378
30379 2012-07-24 16:14:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30380
30381         * gst/vaapi/gstvaapipluginutil.h:
30382           plugins: declare helper functions as internal.
30383
30384 2012-07-24 14:31:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30385
30386         * docs/reference/libs/libs-sections.txt:
30387         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30388         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30389         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
30390         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
30391         * gst/vaapi/Makefile.am:
30392         * gst/vaapi/gstvaapidecode.c:
30393         * gst/vaapi/gstvaapidownload.c:
30394         * gst/vaapi/gstvaapipluginbuffer.c:
30395         * gst/vaapi/gstvaapipluginbuffer.h:
30396         * gst/vaapi/gstvaapipostproc.c:
30397         * gst/vaapi/gstvaapiupload.c:
30398           videobuffer: drop deprecated functions.
30399           Move video buffer creation routines to plugin elements. That exclusively
30400           uses *_typed_new*() variants.
30401
30402 2012-07-24 14:09:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30403
30404         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30405         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
30406           videobuffer: mark video buffer creation routines as deprecated.
30407           The vdeo buffer creation routines shall actually be internal to gstreamer-vaapi
30408           plugin elements. So deprecate any explicit creation routines that are not the
30409           new *_typed_new*() variants.
30410
30411 2012-07-24 13:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30412
30413         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30414         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
30415         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
30416           videobuffer: factor out base and GLX implementations.
30417           Introduce new typed constructors internal to gstreamer-vaapi plugin elements.
30418           This avoids duplication of code, and makes it possible to further implement
30419           generic video buffer creation routines that automatically map to base or GLX
30420           variants.
30421
30422 2012-07-24 10:58:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30423
30424         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30425           utils: fix gl_create_context() with parent context set.
30426           If GLX window was created from a foreign Display, then that same Display shall
30427           be used for subsequent glXMakeCurrent(). This means that gl_create_context()
30428           will now use the same Display that the parent, if available.
30429           This fixes cluttersink with the Intel GenX VA driver.
30430
30431 2012-07-23 18:37:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30432
30433         * gst/vaapi/gstvaapidecode.c:
30434         * gst/vaapi/gstvaapidownload.c:
30435         * gst/vaapi/gstvaapipluginutil.c:
30436         * gst/vaapi/gstvaapipluginutil.h:
30437         * gst/vaapi/gstvaapipostproc.c:
30438         * gst/vaapi/gstvaapisink.c:
30439         * gst/vaapi/gstvaapiupload.c:
30440           pluginutils: improve automatic display type selection.
30441
30442 2012-07-23 18:01:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30443
30444         * gst/vaapi/gstvaapipluginutil.c:
30445         * gst/vaapi/gstvaapipluginutil.h:
30446           pluginutils: cosmetics (indentation fixes).
30447
30448 2012-07-23 17:54:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30449
30450         * configure.ac:
30451           configure: simplify video outputs summary.
30452
30453 2012-07-23 17:49:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30454
30455         * configure.ac:
30456         * gst/vaapi/gstvaapipluginutil.c:
30457         * gst/vaapi/gstvaapipluginutil.h:
30458         * gst/vaapi/gstvaapisink.c:
30459         * gst/vaapi/gstvaapisink.h:
30460           configure: drop check for --enable-vaapisink-glx.
30461           vaapisink is now built with support for multiple display types, whenever
30462           they are enabled. The new "display" attribute is used to select a particular
30463           renderer.
30464
30465 2012-07-23 16:15:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30466
30467         * configure.ac:
30468         * gst-libs/gst/vaapi/gstvaapicompat.h:
30469         * gst/vaapi/Makefile.am:
30470         * gst/vaapi/gstvaapidecode.c:
30471         * gst/vaapi/gstvaapidownload.c:
30472         * gst/vaapi/gstvaapipluginutil.c:
30473         * gst/vaapi/gstvaapipostproc.c:
30474         * gst/vaapi/gstvaapiupload.c:
30475         * tests/test-display.c:
30476           configure: drop check for --enable-vaapi-glx.
30477           This flag is obsolete. It was meant to explicitly enable/disable VA/GLX API
30478           support, or fallback to TFP+FBO if this API is not found. Now, we check for
30479           the VA/GLX API by default if --enable-glx is set. If this API is not found,
30480           we now default to use TFP+FBO.
30481           Note: TFP+FBO, i.e. using vaPutSurface() is now also a deprecated usage and
30482           will be removed in the future. If GLX rendering is requested, then the VA/GLX
30483           API shall be used as it covers most usages. e.g. AMD driver can't render to
30484           an X pixmap yet.
30485
30486 2012-07-23 15:20:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30487
30488         * tests/output.c:
30489           tests: allow GLX output, if available and selected.
30490
30491 2012-07-23 15:17:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30492
30493         * tests/Makefile.am:
30494         * tests/output.c:
30495         * tests/output.h:
30496         * tests/test-decode.c:
30497         * tests/test-subpicture.c:
30498         * tests/test-surfaces.c:
30499           tests: use common display and window creation routines.
30500           Add new --output option to select the renderer. Use --list-outputs to
30501           print a list of supported renderers.
30502
30503 2012-07-23 14:15:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30504
30505         * tests/Makefile.am:
30506           tests: move encoded bitstreams to libutils.la.
30507
30508 2012-07-23 14:11:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30509
30510         * tests/Makefile.am:
30511           tests: build convenience library for common utilities.
30512
30513 2012-07-20 16:37:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30514
30515         * tests/Makefile.am:
30516         * tests/test-display.c:
30517           tests: simplify build with various display options.
30518
30519 2012-07-23 13:28:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30520
30521         * configure.ac:
30522           configure: improve checks for X11.
30523
30524 2012-07-20 15:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30525
30526         * tests/Makefile.am:
30527           configure: fix previous commit for GLX deps.
30528
30529 2012-07-20 14:44:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30530
30531         * configure.ac:
30532         * gst-libs/gst/vaapi/Makefile.am:
30533           configure: improve checks for GLX.
30534
30535 2012-07-20 11:45:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30536
30537         * configure.ac:
30538         * gst-libs/gst/vaapi/gstvaapicompat.h:
30539         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30540         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30541         * gst-libs/gst/vaapi/gstvaapiutils.h:
30542           Drop support for obsolete VA-API versions < 0.30.4.
30543
30544 2012-07-20 11:16:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30545
30546         * configure.ac:
30547         * gst-libs/gst/Makefile.am:
30548         * gst-libs/gst/gstutils_version.h.in:
30549         * gst/vaapi/gstvaapisink.c:
30550           vaapisink: drop checks for new APIs used by default.
30551           GStreamer -base plugins >= 0.10.31 are now required, so the checks for
30552           new APIs like GstXOverlay::set_window_handle() and ::set_render_rectangle()
30553           are no longer necessary.
30554
30555 2012-07-20 14:05:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30556
30557         * configure.ac:
30558           configure: cosmetics and some minor changes.
30559           - Better grouping of feature checks
30560           - Sort list of config files to generate
30561
30562 2012-07-19 17:55:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30563
30564         * configure.ac:
30565         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
30566         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
30567         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
30568         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30569         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
30570         * gst-libs/gst/vaapi/gstvaapiutils.h:
30571         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
30572         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
30573           Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden.
30574
30575 2012-07-19 17:41:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30576
30577         * gst-libs/gst/vaapi/Makefile.am:
30578         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
30579         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
30580           Drop obsolete GstVaapiTSB.
30581           It has been replaced with a GstAdapter and gst_adapter_prev_pts().
30582
30583 2012-07-19 17:27:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30584
30585         * docs/reference/libs/libs-sections.txt:
30586           docs: add missing entries for the JPEG decoder.
30587
30588 2012-07-19 17:16:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30589
30590         * configure.ac:
30591         * gst-libs/gst/vaapi/Makefile.am:
30592         * gst/vaapi/gstvaapidecode.c:
30593         * tests/test-decode.c:
30594         * tests/test-subpicture.c:
30595           Drop all references to USE_CODEC_PARSERS.
30596
30597 2012-07-19 17:00:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30598
30599         * NEWS:
30600         * configure.ac:
30601         * docs/reference/libs/libs-sections.txt:
30602         * docs/reference/libs/libs.core.types:
30603         * gst-libs/gst/vaapi/Makefile.am:
30604         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
30605         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
30606         * gst/vaapi/gstvaapidecode.c:
30607         * gst/vaapi/gstvaapidecode.h:
30608         * tests/test-decode.c:
30609         * tests/test-subpicture.c:
30610           Drop FFmpeg-based decoders.
30611           GStreamer codecparsers-based decoders are the only supported decoders now.
30612           Though, FFmpeg decoders are still available in gstreamer-vaapi 0.3.x series.
30613
30614 2012-07-01 05:55:05 +0900  Javier Jardón <jjardon@gnome.org>
30615
30616         * configure.ac:
30617         * debian.upstream/control.in:
30618           configure: bump glib required version to 2.28.
30619           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30620
30621 2012-06-29 08:45:47 +0900  Javier Jardón <jjardon@gnome.org>
30622
30623         * gst/vaapi/gstvaapidecode.h:
30624         * gst/vaapi/gstvaapidownload.h:
30625         * gst/vaapi/gstvaapipostproc.h:
30626         * gst/vaapi/gstvaapisink.h:
30627         * gst/vaapi/gstvaapiupload.h:
30628           plugins: declare _get_type() functions as const.
30629           Declaring a function as const enables better optimization of calls to
30630           the function.
30631           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30632
30633 2012-07-01 05:50:17 +0900  Javier Jardón <jjardon@gnome.org>
30634
30635         * gst/vaapi/gstvaapidecode.c:
30636         * gst/vaapi/gstvaapidownload.c:
30637         * gst/vaapi/gstvaapipostproc.c:
30638         * gst/vaapi/gstvaapisink.c:
30639         * gst/vaapi/gstvaapiupload.c:
30640           plugins: use g_clear_object() wherever applicable.
30641           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30642
30643 2012-06-29 15:19:51 +0900  Javier Jardón <jjardon@gnome.org>
30644
30645         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
30646         * gst-libs/gst/vaapi/gstvaapicontext.h:
30647         * gst-libs/gst/vaapi/gstvaapidecoder.h:
30648         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
30649         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
30650         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
30651         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
30652         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
30653         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
30654         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
30655         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
30656         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30657         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
30658         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30659         * gst-libs/gst/vaapi/gstvaapiimage.h:
30660         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
30661         * gst-libs/gst/vaapi/gstvaapiobject.h:
30662         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
30663         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
30664         * gst-libs/gst/vaapi/gstvaapisurface.h:
30665         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
30666         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
30667         * gst-libs/gst/vaapi/gstvaapitexture.h:
30668         * gst-libs/gst/vaapi/gstvaapivalue.h:
30669         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30670         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
30671         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
30672         * gst-libs/gst/vaapi/gstvaapivideopool.h:
30673         * gst-libs/gst/vaapi/gstvaapivideosink.h:
30674         * gst-libs/gst/vaapi/gstvaapiwindow.h:
30675         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
30676         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
30677           libs: declare _get_type() functions as const.
30678           Declaring a function as const enables better optimization of calls
30679           to the function.
30680           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30681
30682 2012-07-01 05:34:15 +0900  Javier Jardón <jjardon@gnome.org>
30683
30684         * gst-libs/gst/vaapi/glibcompat.h:
30685         * gst-libs/gst/vaapi/gstvaapicontext.c:
30686         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30687         * gst-libs/gst/vaapi/gstvaapiobject.c:
30688         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30689         * gst-libs/gst/vaapi/gstvaapisurface.c:
30690         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
30691         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30692         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
30693         * gst-libs/gst/vaapi/gstvaapivideopool.c:
30694           libs: use g_clear_object() wherever applicable.
30695           This is a preferred thread-safe version. Also add an inline version of
30696           g_clear_object() if compiling with glib < 2.28.
30697           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30698
30699 2012-07-01 06:02:22 +0900  Javier Jardón <jjardon@gnome.org>
30700
30701         * .gitignore:
30702         * configure.ac:
30703         * docs/reference/libs/Makefile.am:
30704         * gst-libs/gst/vaapi/Makefile.am:
30705         * gst-libs/gst/vaapi/gstvaapimarshal.list:
30706         * gst-libs/gst/vaapi/gstvaapiobject.c:
30707           libs: use generic g_cclosure_marshal_VOID__VOID().
30708           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30709
30710 2012-07-19 14:29:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30711
30712         * configure.ac:
30713         * gst-libs/gst/vaapi/glibcompat.h:
30714           glibcompat: drop explicit check for g_list_free_full().
30715
30716 2012-07-19 13:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30717
30718         * configure.ac:
30719           Bump version for development.
30720
30721 2012-07-19 13:57:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30722
30723         * gst-libs/gst/codecparsers/Makefile.am:
30724           jpeg: fix make dist.
30725
30726 2012-06-28 00:39:10 +0900  Javier Jardón <jjardon@gnome.org>
30727
30728         * autogen.sh:
30729         * configure.ac:
30730         * docs/Makefile.am:
30731           configure: fix build without gtk-doc support.
30732           Also do not generate tamplate files as all the documentation is inline.
30733           Drop un-needed code in autogen.sh as well.
30734           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30735
30736 2012-06-28 00:27:31 +0900  Javier Jardón <jjardon@gnome.org>
30737
30738         * Makefile.am:
30739         * autogen.sh:
30740         * configure.ac:
30741           configure: put m4 macros and autogenerated files into m4/ directory.
30742           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30743
30744 2012-06-28 00:20:12 +0900  Javier Jardón <jjardon@gnome.org>
30745
30746         * configure.ac:
30747           configure: drop deprecated autoconf macros.
30748           Bump autoconf required version to 2.58, needed for AS_HELP_STRING macro.
30749           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30750
30751 2012-06-28 00:04:19 +0900  Javier Jardón <jjardon@gnome.org>
30752
30753         * configure.ac:
30754           configure: don't use AC_SUBST for some variables.
30755           PKG_CHECK_MODULES already does this for us.
30756           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30757
30758 2012-07-19 11:43:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30759
30760         * gst/vaapi/gstvaapidecode.c:
30761         * gst/vaapi/gstvaapidownload.c:
30762         * gst/vaapi/gstvaapipostproc.c:
30763         * gst/vaapi/gstvaapiupload.c:
30764           plugins: add support for GstImplementsInterface.
30765
30766 2012-07-01 02:58:36 +0900  Javier Jardón <jjardon@gnome.org>
30767
30768         * configure.ac:
30769         * gst/vaapi/gstvaapidecode.c:
30770         * gst/vaapi/gstvaapidownload.c:
30771         * gst/vaapi/gstvaapipostproc.c:
30772         * gst/vaapi/gstvaapisink.c:
30773         * gst/vaapi/gstvaapiupload.c:
30774           plugins: use G_DEFINE_TYPE_* instead of deprecated GST_BOILERPLATE_*.
30775           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30776
30777 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
30778
30779         * configure.ac:
30780         * gst/vaapi/gstvaapisink.c:
30781           plugins: do not use deprecated GStreamer -base symbols.
30782           Bump GStreamer plugins -base required version to 0.10.31, needed for
30783           gst_x_overlay_got_window_handle().
30784           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30785
30786 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
30787
30788         * configure.ac:
30789         * gst/vaapi/gstvaapidecode.c:
30790         * gst/vaapi/gstvaapidownload.c:
30791         * gst/vaapi/gstvaapipostproc.c:
30792         * gst/vaapi/gstvaapisink.c:
30793         * gst/vaapi/gstvaapiupload.c:
30794           plugins: do not use deprecated core GStreamer symbols.
30795           Bump GStreamer required version to 0.10.14, needed for
30796           gst_element_class_set_details_simple().
30797           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30798
30799 2012-07-19 10:54:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30800
30801         * tests/test-decode.c:
30802           tests: fix build without JPEG decoder support.
30803
30804 2012-07-17 13:44:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30805
30806         * tests/Makefile.am:
30807         * tests/test-decode.c:
30808         * tests/test-jpeg.c:
30809         * tests/test-jpeg.h:
30810           tests: add test for JPEG decoding.
30811
30812 2012-07-17 13:43:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30813
30814         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30815           jpeg: update to match latest parser API.
30816
30817 2012-07-16 17:35:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30818
30819         * gst-libs/gst/codecparsers/gstjpegparser.c:
30820         * gst-libs/gst/codecparsers/gstjpegparser.h:
30821           codecparsers: jpeg: tweak parser API.
30822           ... to allow for more consistent parsing API among various codec parsers.
30823           In particular, drop use of GList.
30824
30825 2012-07-16 16:24:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30826
30827         * configure.ac:
30828           jpeg: fix configure check for VA/JPEG decoding API.
30829
30830 2012-06-26 15:18:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30831
30832         * gst-libs/gst/vaapi/gstvaapiprofile.c:
30833           jpeg: fix build with VA-API < 0.32.0.
30834
30835 2012-06-26 15:04:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30836
30837         * NEWS:
30838           NEWS: updates.
30839
30840 2012-06-26 15:02:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30841
30842         * configure.ac:
30843           Bump version for development.
30844
30845 2012-06-26 14:46:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30846
30847         * NEWS:
30848         * configure.ac:
30849           0.3.7.
30850
30851 2012-06-26 13:34:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30852
30853         * NEWS:
30854           NEWS: updates.
30855
30856 2012-06-25 16:07:55 +0800  Yan Yin <yan.yin@intel.com>
30857
30858         * gst/vaapi/gstvaapipluginutil.c:
30859           vaapiplugin: fix build when compiling without GLX.
30860           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30861
30862 2012-06-26 11:03:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30863
30864         * configure.ac:
30865           configure: disable FFmpeg-based decoders.
30866           FFmpeg decoders are still available through the --enable-ffmpeg option
30867           but are no longer maintained.
30868
30869 2012-06-25 17:25:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30870
30871         * gst-libs/gst/vaapi/Makefile.am:
30872           Fix build with recent GStreamer stack.
30873
30874 2012-06-25 17:10:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30875
30876         * configure.ac:
30877         * gst-libs/gst/vaapi/gstvaapicompat.h:
30878         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30879           jpeg: update to current VA/JPEG decoding API.
30880
30881 2012-06-21 16:06:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30882
30883         * gst-libs/gst/codecparsers/gstjpegparser.c:
30884         * gst-libs/gst/codecparsers/gstjpegparser.h:
30885         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30886           codecparsers: jpeg: track valid quantization and Huffman tables.
30887           Add valid flag to GstJpegQuantTable and GstJpegHuffmanTable so that
30888           to determine whether a table actually changed since the last user
30889           synchronization point. That way, this makes it possible for some
30890           hardware accelerated decoding solution to upload only those tables
30891           that changed.
30892
30893 2012-06-05 10:10:22 +0800  Wind Yuan <feng.yuan@intel.com>
30894
30895         * gst-libs/gst/codecparsers/gstjpegparser.c:
30896           codecparsers: jpeg: use U_READ_UINT*() wherever possible.
30897           Use GstByteReader *_unchecked() variants as much as possible.
30898           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30899
30900 2012-06-04 16:20:13 +0800  Wind Yuan <feng.yuan@intel.com>
30901
30902         * gst-libs/gst/codecparsers/gstjpegparser.c:
30903         * gst-libs/gst/codecparsers/gstjpegparser.h:
30904         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30905           jpeg: add new GstJpegHuffmanTables structure.
30906           Add new GstJpegHuffmanTables helper structure to hold all possible
30907           AC/DC Huffman tables available to all components.
30908           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30909
30910 2012-06-04 15:52:19 +0800  Wind Yuan <feng.yuan@intel.com>
30911
30912         * gst-libs/gst/codecparsers/gstjpegparser.c:
30913         * gst-libs/gst/codecparsers/gstjpegparser.h:
30914         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30915           jpeg: make gst_jpeg_parse() support multiple scans.
30916           gst_jpeg_parse() now gathers all scans available in the supplied
30917           buffer. A scan comprises of the scan header and any entropy-coded
30918           segments or restart marker following it. The size and offset to
30919           the associated data (ECS + RST segments) are append to a new
30920           GstJpegScanOffsetSize structure.
30921           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30922
30923 2012-04-19 23:50:14 +0800  Wind Yuan <feng.yuan@intel.com>
30924
30925         * gst-libs/gst/codecparsers/gstjpegparser.c:
30926         * gst-libs/gst/codecparsers/gstjpegparser.h:
30927         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30928           jpeg: update to match latest parser API.
30929           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30930
30931 2012-04-13 01:58:39 -0400  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30932
30933         * gst-libs/gst/codecparsers/gstjpegparser.h:
30934           jpeg: simplify and optimize parser API.
30935
30936 2012-04-18 22:30:45 -0400  Wind Yuan <feng.yuan@intel.com>
30937
30938         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30939           mpeg: fix picture used to determine backward_reference_vop_coding_type.
30940           Complete fix brought by bf9f77b1afb0829b97e2d502057aec973c5fd7f5
30941           but Gwenole did not apply all the bits.
30942           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30943
30944 2012-04-27 04:13:00 -0400  Wind Yuan <feng.yuan@intel.com>
30945
30946         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30947           mpeg4: map Simple_Scalable profile to Advanced_Simple profile.
30948           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30949
30950 2012-04-27 04:10:17 -0400  Wind Yuan <feng.yuan@intel.com>
30951
30952         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30953           mpeg4: handle skipped frames (vop_hdr->coded = 0).
30954           Gracefully skip non VOP coded frames.
30955           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30956
30957 2012-04-26 04:00:41 -0400  Wind Yuan <feng.yuan@intel.com>
30958
30959         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30960           mpeg4: fix timestamp issues on too fast playback.
30961           Improve generation of presentation timestamps to be less sensitive
30962           to input stream errors. In practise, GOP is also a synchronization
30963           point for PTS calculation.
30964           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30965
30966 2012-04-16 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30967
30968         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
30969           Fix build without JPEG decoder.
30970
30971 2012-04-12 11:48:24 +0200  Wind Yuan <feng.yuan@intel.com>
30972
30973         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30974           mpeg4: fix VOP coding type of backward reference pictures.
30975           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30976
30977 2012-04-11 23:02:45 -0400  Wind Yuan <feng.yuan@intel.com>
30978
30979         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30980           mpeg4: fix handling of temporal reference distances.
30981           TRD and TRB fields are not large enough to hold the difference of PTS
30982           expressed with nanosecond resolution. So, compute them from the original
30983           VOP info.
30984           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30985
30986 2012-04-12 11:00:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30987
30988         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
30989           dpb: mpeg2: cosmetics.
30990           Define MAX_MPEG2_REFERENCES to 2 and avoid magic numbers all around.
30991
30992 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
30993
30994         * configure.ac:
30995         * gst-libs/gst/vaapi/Makefile.am:
30996         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
30997         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
30998         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30999         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
31000         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31001         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31002         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31003         * gst-libs/gst/vaapi/gstvaapiprofile.h:
31004         * gst/vaapi/gstvaapidecode.c:
31005           Add initial JPEG decoder.
31006           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31007
31008 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
31009
31010         * configure.ac:
31011         * gst-libs/gst/Makefile.am:
31012         * gst-libs/gst/codecparsers/Makefile.am:
31013         * gst-libs/gst/codecparsers/gstjpegparser.c:
31014         * gst-libs/gst/codecparsers/gstjpegparser.h:
31015         * gst-libs/gst/vaapi/Makefile.am:
31016           codecparsers: add JPEG parser.
31017           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31018
31019 2012-04-10 13:29:10 +0200  Wind Yuan <feng.yuan@intel.com>
31020
31021         * gst/vaapi/gstvaapidecode.c:
31022           vaapidecode: fix VA display type.
31023           Fix typo whereby plain VADisplay type was used instead of the GstVaapiDisplay
31024           wrapper.
31025           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31026
31027 2012-04-10 14:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31028
31029         * gst/vaapi/gstvaapidecode.c:
31030           vaapidecode: fix includes when compiling for a single API.
31031
31032 2012-04-02 18:42:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31033
31034         * NEWS:
31035         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31036           mpeg2: fix calculation of macroblock_offset.
31037           Fix decoding of streams with extra slice() information before the first
31038           macroblock(). e.g. this fixes sony-ct3.bs from conformance test.
31039
31040 2012-04-02 18:09:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31041
31042         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31043           mpeg2: fix interpolation of GOP TSN from new PTS.
31044           New GOP TSN base could be mis-calculated. In particular, this fixes
31045           decoding of uruseiyatsura.vob from <http://samples.mplayerhq.hu/>.
31046
31047 2012-04-02 16:07:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31048
31049         * NEWS:
31050         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31051         * gst-libs/gst/vaapi/gstvaapiprofile.h:
31052           mpeg2: fix decoding of high profile streams.
31053           Allow MPEG-2 High profile streams only if the HW supports that profile
31054           or no High profile specific bits are used, and thus Main profile could
31055           be used instead. i.e. chroma_format is 4:2:0, intra_dc_precision is not
31056           set to 11 and no sequence_scalable_extension() was parsed.
31057
31058 2012-04-02 14:51:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31059
31060         * NEWS:
31061         * gst/vaapi/gstvaapidecode.c:
31062           vaapidecode: report unsupported codec profiles.
31063           Try to gracefully abort when the HW does not support the requested
31064           profile. There is no fallback unless profiles are correctly parsed
31065           and matched through caps beforehand.
31066
31067 2012-02-07 15:23:22 +0100  Holger Kaelberer <holger.k@elberer.de>
31068
31069         * NEWS:
31070         * gst/vaapi/gstvaapisink.c:
31071           vaapisink: don't resize a 'foreign' X-window.
31072           Don't forcibly resize foreign X windows. The user is responsible for
31073           their size and vaapisink shall not change this.
31074           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31075
31076 2012-02-07 15:21:05 +0100  Holger Kaelberer <holger.k@elberer.de>
31077
31078         * NEWS:
31079         * gst/vaapi/gstvaapisink.c:
31080         * gst/vaapi/gstvaapisink.h:
31081           vaapisink: recalculate render rect only if caps are negotiated.
31082           Fix gst_vaapisink_xoverlay_set_window_handle() when it is called before
31083           caps got negotiated. Besides, when a foreign window is provided by the
31084           user, so should the render rect.
31085           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31086
31087 2012-04-02 13:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31088
31089         * configure.ac:
31090           Bump version for development.
31091
31092 2012-04-02 10:07:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31093
31094         * configure.ac:
31095           0.3.6.
31096
31097 2012-04-02 12:52:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31098
31099         * docs/reference/libs/libs-docs.xml.in:
31100         * docs/reference/libs/libs-sections.txt:
31101         * docs/reference/plugins/plugins-docs.xml.in:
31102         * docs/reference/plugins/plugins-sections.txt:
31103         * docs/reference/plugins/plugins.types:
31104         * gst-libs/gst/vaapi/gstvaapiimage.c:
31105         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
31106         * gst/vaapi/gstvaapipostproc.c:
31107           Fix a few documentation issues.
31108
31109 2012-04-02 10:05:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31110
31111         * NEWS:
31112         * README:
31113           Update introduction and changelog.
31114
31115 2012-04-02 11:29:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31116
31117         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31118         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
31119         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31120           mpeg2: allocate dummy picture for first field based I-frame.
31121           In P-pictures, prediction shall be made from the two most recently
31122           decoded reference fields. However, when the first I-frame is a field,
31123           the next field of the current picture could be a P-picture but only a
31124           single field was decoded so far. In this case, create a dummy picture
31125           with POC = -1 that will be used as reference.
31126           Some VA drivers would error out if P-pictures don't have a forward
31127           reference picture. This is true in general but not in this very specific
31128           initial case.
31129
31130 2012-04-02 10:43:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31131
31132         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31133           mpeg2: fix simple to main profile fallback.
31134           Allow fallback from simple to main profile when the HW decoder does
31135           not support the former profile and that no sequence_header_extension()
31136           is available to point out this.
31137
31138 2012-03-30 03:04:40 -0400  Wind Yuan <feng.yuan@intel.com>
31139
31140         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31141           mpeg4: improve error checking while decoding packets.
31142           decode_picture() could return an error when an MPEG-4 profile is not
31143           supported for example. In this case, the underlying VA context is not
31144           allocated and no other proper action can be taken. Likewise on exit
31145           from decode_slice().
31146           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31147
31148 2012-03-30 17:03:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31149
31150         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31151         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31152         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31153         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31154           decoder: use POC to maintain the DPB.
31155           Introduce a POC field in GstVaapiPicture so that to store simpler sequential
31156           numbers. A signed 32-bit integer should be enough for 1 year of continuous
31157           video streaming at 60 Hz.
31158           Use this new POC value to maintain the DPB, instead of 64-bit timestamps.
31159           This also aligns with H.264 that will be migrated to GstVaapiDpb infrastructure.
31160
31161 2012-03-30 16:23:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31162
31163         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31164           mpeg2: rework generation of presentation timestamps.
31165           Always prefer PTS from the demuxer layer for GOP times. If this is invalid,
31166           i.e. demuxer could not determine the PTS or the generated PTS is lower than
31167           max PTS from past pictures, then try to fix it up based on the duration of
31168           a frame.
31169           For picture PTS, simply use the GOP PTS formerly computed then use TSN to
31170           reconstruct a current time. Also now handle wrapped TSN correctly.
31171
31172 2012-03-30 17:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31173
31174         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31175           mpeg2: ignore empty user-data packets.
31176           Fix tcela-8.bits conformance test.
31177
31178 2012-03-29 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31179
31180         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31181           mpeg2: review and report errors accordingly.
31182           Use GST_ERROR() to report real errors instead of hiding them into
31183           GST_DEBUG().
31184
31185 2012-03-28 19:15:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31186
31187         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31188           mpeg2: fix invalid interlaced frame in progressive sequence.
31189           Some streams, badly constructed, could have signaled an interlaced
31190           frame while the sequence was meant to be progressive. Warn and force
31191           frame to be progressive in this case.
31192
31193 2012-03-28 16:08:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31194
31195         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31196         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31197           mpeg2: add support for interlaced streams.
31198           Pictures are submitted to the HW for rendering only when both fields
31199           are decoded or current picture is a full frame.
31200
31201 2012-03-28 14:36:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31202
31203         * gst-libs/gst/vaapi/Makefile.am:
31204         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31205         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
31206         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31207           mpeg2: add new decoded picture buffer infrastructure.
31208           Decoded pictures are now maintained into DPB, similarly to H.264.
31209           The same mechanism could be re-used for VC-1 and MPEG-4:2 codecs.
31210
31211 2012-03-28 17:50:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31212
31213         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31214         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31215         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31216           decoder: add first-field flag to picture.
31217           Add first-field (FF) flag to GstVaapiPicture, thus not requiring is_first_field
31218           member in each decoder. Rather, when a GstVaapiPicture is created, it is considered
31219           as the first field. Any subsequent allocated field will become the second field.
31220
31221 2012-03-28 16:05:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31222
31223         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31224         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
31225         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31226         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31227           decoder: allow pictures to be cloned for field decoding.
31228           Add gst_vaapi_picture_new_field() function that clones a picture, while
31229           preserving the parent picture surface. i.e. the surface proxy reference
31230           count is increased and other fields copied as is. Besides, the picture
31231           is reset into a "non-output" mode.
31232
31233 2012-03-28 16:07:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31234
31235         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31236         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31237         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31238           decoder: rework picture field flags.
31239           Add top-field-first (TFF) and interlaced flags to GstVaapiPicture so they
31240           could be propagated to the surface proxy when it is pushed for rendering.
31241           Besides, top and bottom fields are now expressed with picture structure flags
31242           from GstVaapiSurfaceRenderFlags.
31243
31244 2012-03-28 14:28:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31245
31246         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31247         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31248           decoder: add OUTPUT flag to pictures.
31249           Allow pictures to be marked as output gst_vaapi_picture_output().
31250
31251 2012-03-28 14:24:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31252
31253         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31254         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31255         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
31256           decoder: fix semantics of SKIPPED pictures.
31257           If GstVaapiPicture has flag SKIPPED set, this means gst_vaapi_picture_output()
31258           will not push the underlying surface for rendering. Besides, VC-1 skipped P-frame
31259           has nothing to do with rendering. This only means that the currently decoded
31260           picture is just a copy of its reference picture.
31261
31262 2012-03-28 15:16:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31263
31264         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31265         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31266         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31267         * gst/vaapi/gstvaapipostproc.c:
31268           vaapipostproc: get "interlaced" attribute from surface proxy.
31269           Add new "interlaced" attribute to GstVaapiSurfaceProxy. Use this in
31270           vaapipostproc so that to handles cases where bitstream is interlaced
31271           but almost only frame pictures are generated. In this case, we should
31272           not be alternating between top/bottom fields.
31273
31274 2012-03-26 14:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31275
31276         * README:
31277         * debian.upstream/control.in:
31278         * gst/vaapi/Makefile.am:
31279         * gst/vaapi/gstvaapi.c:
31280         * gst/vaapi/gstvaapipostproc.c:
31281         * gst/vaapi/gstvaapipostproc.h:
31282           vaapipostproc: add new element for video postprocessing.
31283           Add vaapipostproc element for video postprocessing. So far, only basic
31284           bob deinterlacing is implemented. Interlaced mode is automatically
31285           detected based on sink caps ("interlaced" field).
31286
31287 2012-03-26 12:01:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31288
31289         * docs/reference/libs/libs-sections.txt:
31290         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31291         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31292         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
31293         * gst/vaapi/gstvaapisink.c:
31294           videobuffer: add surface render flags.
31295           Allow rendering flags, as a combination of GstVaapiSurfaceRenderFlags,
31296           to be set to the video buffer. In particular, this is mostly useful for
31297           basic deinterlacing.
31298
31299 2012-03-23 17:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31300
31301         * gst-libs/gst/vaapi/gstvaapicompat.h:
31302           compat: add compatibility glue with VA-API 0.34+ (WIP).
31303
31304 2012-03-23 17:11:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31305
31306         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31307           h264: skip all Filler Data NALs.
31308
31309 2012-03-22 03:28:22 -0400  Wind Yuan <feng.yuan@intel.com>
31310
31311         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31312           mpeg4: check for decoder status prior to decoding packet.
31313           Make sure there is a VA surface free prior to decoding the current frame.
31314           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31315
31316 2012-03-15 04:58:04 -0400  Wind Yuan <feng.yuan@intel.com>
31317
31318         * gst/vaapi/gstvaapidecode.c:
31319         * gst/vaapi/gstvaapidecode.h:
31320           decode: delay NEWSEGMENT event if vaapidecode element was not linked.
31321           Rationale: playbin2 links all elements at run-time. Once vaapidecode
31322           is created and a NEWSEGMENT event arrives, downstream element may not
31323           be ready yet. So, delay this event until next element is chained in,
31324           otherwise basesink could output "Received buffer without a new-segment.
31325           Assuming timestamps start from 0".
31326           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31327
31328 2012-03-13 20:33:41 -0400  Wind Yuan <feng.yuan@intel.com>
31329
31330         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31331           mpeg2: fix GOP timestamps when incorrect data is received.
31332           Some streams have incorrect GOP timestamps, or nothing set at all.
31333           i.e. GOP time is 00:00:00 for all GOPs. Try to recover in this case
31334           from demuxer timestamps, which are monotonic.
31335           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31336
31337 2012-03-13 02:03:31 -0400  Wind Yuan <feng.yuan@intel.com>
31338
31339         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31340           mpeg2: don't decode anything before the first sequence_header().
31341           Skip all pictures prior to the first sequence_header(). Besides,
31342           skip all picture_data() if there was no prior picture_header().
31343           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31344
31345 2012-02-07 15:57:14 +0100  Holger Kaelberer <holger.k@elberer.de>
31346
31347         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31348           ffmpeg: add support for interlaced streams.
31349           Evaluate interlaced stream properties.
31350           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31351
31352 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
31353
31354         * gst/vaapi/gstvaapidecode.c:
31355           vaapidecode: propagate interlaced and TFF properties downstream.
31356           Propagate "interlaced" caps downstream and set "tff" buffer flag
31357           appropriately to output buffers for interlaced pictures.
31358           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31359
31360 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
31361
31362         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31363         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31364           decoder: maintain caps for interlaced streams.
31365           Extend GstVaapiDecoder base object to maintain caps with "interlaced"
31366           property.
31367           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31368
31369 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
31370
31371         * docs/reference/libs/libs-sections.txt:
31372         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31373         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31374           surfaceproxy: add TFF property.
31375           Add TFF (top-field-first) property to GstVaapiSurfaceProxy.
31376           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31377
31378 2012-03-16 14:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31379
31380         * AUTHORS:
31381           AUTHORS: update to match current authors.
31382
31383 2012-02-28 11:58:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31384
31385         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31386           mpeg2: fix is_first_field calculation.
31387           Reset is_first_field for frame pictures. Factor out locations where
31388           the flag is updated.
31389
31390 2012-02-24 12:56:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31391
31392         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31393           mpeg2: catch incorrect picture_structure from bitstreams.
31394           Assume "frame" picture structure if the syntax element was zero or if
31395           progressive_frame is set.
31396
31397 2012-02-24 12:53:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31398
31399         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31400           mpeg2: fix slice_vertical_position calculation (again).
31401           VA-API expects slice_vertical_position as the initial position from the
31402           bitstream. i.e. the direct slice() information. VA drivers will be fixed
31403           accordingly.
31404
31405 2012-03-02 15:03:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31406
31407         * gst/vaapi/gstvaapidecode.c:
31408           Revert "vaapidecode: fix another pad template ref leak" (Holger Kaelberer)
31409           This reverts commit 2f127d6af473afd647a2c88f75faafd1cd718437.
31410           For gst_element_class_get_pad_template(), no unreferencing is necessary
31411           according to the GStreamer documentation.
31412
31413 2012-03-02 13:41:16 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31414
31415         * configure.ac:
31416         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31417           h264: fix slice_data_bit_offset calculation.
31418           Unlike what VA-API documentation defines, the slice_data_bit_offset
31419           represents the offset to the first macroblock in the slice data, minus
31420           any emulation prevention bytes in the slice_header().
31421           This fix copes with binary-only VA drivers that won't be fixed any
31422           time soon. Besides, this aligns with the current FFmpeg behaviour
31423           that was based on those proprietary drivers implementing the API
31424           incorrectly.
31425
31426 2012-02-21 02:11:20 -0500  Wind Yuan <feng.yuan@intel.com>
31427
31428         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31429           h264: skip all Access Unit (AU) NALs.
31430           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31431
31432 2012-02-29 03:08:46 -0500  Wind Yuan <feng.yuan@intel.com>
31433
31434         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31435           h264: fix modification process of reference picture lists.
31436           Construction of RefPicList0/1 could be off by one element.
31437           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31438
31439 2012-02-12 11:21:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
31440
31441         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31442           mpeg2: fix size calculation from sequence_extension().
31443           Original values from sequence_header() are 12-bit and the remaining
31444           2 most significant bits are coming from sequence_extension().
31445           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31446
31447 2012-02-23 16:39:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31448
31449         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31450           mpeg2: fix slice_vertical_position calculation.
31451           Make sure to adjust slice_vertical_position if picture structure
31452           is a top or bottom field.
31453
31454 2012-02-23 16:23:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31455
31456         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31457           decoder: add picture structure flags.
31458
31459 2012-02-23 14:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31460
31461         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31462           mpeg2: fix decoding at end-of-sequence.
31463
31464 2012-02-23 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31465
31466         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31467           mpeg2: fix slice_horizontal_position calculation.
31468
31469 2012-02-23 16:14:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31470
31471         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31472           mpeg2: drop useless mb_y and mb_height members.
31473
31474 2012-02-23 11:19:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31475
31476         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31477           mpeg2: fix decoding of multiple slices with same slice_vertical_position.
31478           6.3.15 says that "some slices may have the same slice_vertical_position,
31479           since slices may start and finish anywhere". So, we can't submit the current
31480           picture to the HW right away since subsequent slices would be missing.
31481
31482 2012-02-15 14:08:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31483
31484         * gst-libs/gst/vaapi/gstvaapiimage.c:
31485           image: fix source stride in picture copy.
31486
31487 2012-02-13 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31488
31489         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31490           decoder: fix double buffer free with some VA drivers.
31491           vaRenderPicture() implicitly disposes VA buffers. Some VA drivers would
31492           push the VA buffer object into a list of free buffers to be re-used. However,
31493           reference pictures (and data) that was kept would explicitly release the VA
31494           buffer object later on, thus possibly destroying a valid (re-used) object.
31495           Besides, some other VA drivers don't support correctly the vaRenderPicture()
31496           semantics for VA buffers disposal and would leak memory if there is no explicit
31497           vaDestroyBuffer(). The temporary workaround is to explcitily destroy VA buffers
31498           right after vaRenderPicture(). All VA drivers need to be aligned.
31499
31500 2012-02-08 18:08:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31501
31502         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31503           h264: complete any current picture decoder before SPS / PPS change.
31504           This ensures the VA context is clear when the encoded resolution
31505           changes. i.e. make sure older picture is decoded with the older
31506           VA context before it changes.
31507
31508 2012-02-08 18:07:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31509
31510         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31511           h264: create VA context earlier when SPS is parsed.
31512
31513 2012-02-08 17:57:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31514
31515         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31516           h264: don't allocate too big data structures on stack.
31517
31518 2012-02-07 11:07:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31519
31520         * gst-libs/gst/vaapi/glibcompat.h:
31521         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31522         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
31523           glib: map deprecated API to glib >= 2.32 equivalents.
31524           GStaticMutex and GStaticRecMutex are now replaced with GMutex and
31525           GRecMutex, which no longer require any prior call to g_thread_init().
31526
31527 2012-02-07 10:01:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31528
31529         * gst-libs/gst/vaapi/gstvaapiutils.h:
31530         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
31531         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
31532           glib: fix includes.
31533
31534 2012-02-07 10:05:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31535
31536         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31537         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31538         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31539         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31540           cosmetics: fix warnings (drop unused variables).
31541
31542 2012-02-06 16:11:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31543
31544         * gst/vaapi/gstvaapidecode.c:
31545           vaapidecode: fix another pad template ref leak.
31546
31547 2012-02-06 15:54:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31548
31549         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31550         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31551         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31552           mpeg2: fix crash when there is no free surface to decode into.
31553
31554 2012-01-31 16:38:58 +0800  Zhao Halley <halley.zhao@intel.com>
31555
31556         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31557           display: skip profiles which have no entrypoints.
31558           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31559
31560 2012-02-05 18:28:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31561
31562         * gst/vaapi/gstvaapiupload.c:
31563           vaapiupload: use g_object_unref() for GstVaapiImage.
31564
31565 2012-02-05 18:24:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31566
31567         * gst/vaapi/gstvaapidecode.c:
31568         * gst/vaapi/gstvaapidownload.c:
31569         * gst/vaapi/gstvaapisink.c:
31570         * gst/vaapi/gstvaapiupload.c:
31571           plugins: fix pad template ref leaks.
31572
31573 2012-02-02 09:23:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31574
31575         * configure.ac:
31576           Bump version for development.
31577
31578 2012-02-01 23:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31579
31580         * NEWS:
31581         * configure.ac:
31582           0.3.4.
31583
31584 2012-02-01 23:32:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31585
31586         * README:
31587           README: updates.
31588           Mention codecparsers-based decoders, FFmpeg is now optional. Update
31589           list of support HW.
31590
31591 2012-02-01 23:28:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31592
31593         * NEWS:
31594           NEWS: updates.
31595
31596 2012-01-31 11:34:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31597
31598         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31599           decoder: allocate proxy surface earlier.
31600           This simplifies gst_vaapi_picture_output() to only update the presentation
31601           timestamp and submit the proxy to the decoder for output.
31602
31603 2012-01-31 11:26:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31604
31605         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31606           decoder: fix memory leak of VA objects on exit.
31607           On sequence end, if the last decoded picture is not output for rendering,
31608           then the proxy surface is not created. In this case, the original surface
31609           must be released explicitly to the context.
31610
31611 2012-01-31 10:47:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31612
31613         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31614           mpeg2: use GstAdapter to track input sequence.
31615           This fixes possible memory leaks and improves performance by removing
31616           some extra copies.
31617
31618 2012-01-30 18:25:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31619
31620         * configure.ac:
31621         * gst-libs/gst/vaapi/Makefile.am:
31622         * gst-libs/gst/vaapi/glibcompat.h:
31623         * gst-libs/gst/vaapi/sysdeps.h:
31624           Add glib compatibility glue for older versions.
31625
31626 2012-01-30 18:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31627
31628         * gst-libs/gst/vaapi/Makefile.am:
31629         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31630         * gst-libs/gst/vaapi/gstvaapicontext.c:
31631         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31632         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31633         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31634         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31635         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31636         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31637         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
31638         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31639         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
31640         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
31641         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
31642         * gst-libs/gst/vaapi/gstvaapiimage.c:
31643         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
31644         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
31645         * gst-libs/gst/vaapi/gstvaapiobject.c:
31646         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
31647         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31648         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
31649         * gst-libs/gst/vaapi/gstvaapisurface.c:
31650         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
31651         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31652         * gst-libs/gst/vaapi/gstvaapitexture.c:
31653         * gst-libs/gst/vaapi/gstvaapiutils.c:
31654         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31655         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
31656         * gst-libs/gst/vaapi/gstvaapivalue.c:
31657         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31658         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
31659         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
31660         * gst-libs/gst/vaapi/gstvaapivideopool.c:
31661         * gst-libs/gst/vaapi/gstvaapivideosink.c:
31662         * gst-libs/gst/vaapi/gstvaapiwindow.c:
31663         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
31664         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
31665         * gst-libs/gst/vaapi/sysdeps.h:
31666           Add header for system-dependent definitions.
31667
31668 2012-01-30 10:15:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31669
31670         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31671         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31672         * gst-libs/gst/vaapi/gstvaapiutils.c:
31673         * gst-libs/gst/vaapi/gstvaapiutils.h:
31674           decoder: optimize slice data buffers initialization.
31675           VA drivers may have a faster means to transfer user buffers to GPU
31676           buffers than using memcpy(). In particular, on Intel Gen graphics, we
31677           can use pwrite(). This provides for faster upload of bitstream and can
31678           help higher bitrates.
31679           vaapi_create_buffer() helper function was also updated to allow for
31680           un-mapped buffers and pre-initialized data for buffers.
31681
31682 2012-01-27 17:28:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31683
31684         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31685           h264: simplify RefPicList reconstruction.
31686
31687 2012-01-27 16:08:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31688
31689         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31690           h264: flush DPB when the end of the sequence is reached.
31691
31692 2012-01-24 15:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31693
31694         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31695           h264: handle Decoded Picture Buffer (DPB).
31696
31697 2012-01-24 09:20:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31698
31699         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31700           h264: fix pred_weight_table() reconstruction.
31701           Only the explicit pred_weight_table(), possibly with the inferred default
31702           values, shall be required. e.g. don't fill in the table if weighted_pred_flag
31703           is not set for P/SP slices.
31704
31705 2012-01-23 15:03:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31706
31707         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31708           h264: execute reference picture marking process (MMCO).
31709
31710 2012-01-23 15:20:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31711
31712         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31713           h264: fix presentation timestamps.
31714
31715 2012-01-18 13:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31716
31717         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31718           h264: execute reference picture marking process (sliding window).
31719
31720 2012-01-17 10:42:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31721
31722         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31723           h264: handle avcC format for decoding buffers.
31724
31725 2011-11-25 14:37:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
31726
31727         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31728           h264: handle codec-data.
31729           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31730
31731 2011-08-12 17:43:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31732
31733         * gst-libs/gst/vaapi/Makefile.am:
31734         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31735         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
31736         * gst/vaapi/gstvaapidecode.c:
31737         * tests/test-decode.c:
31738           Add initial H.264 decoder.
31739
31740 2012-01-26 15:28:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31741
31742         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31743         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31744           decoder: retain proxy surface until the GstVaapiPicture is destroyed.
31745           Keep a valid reference to the proxy in GstVaapiPicture so that frames
31746           marked as "used for reference" could be kept during the lifetime of the
31747           picture. i.e. don't release them too soon as they could be re-used right
31748           away.
31749
31750 2012-01-26 15:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31751
31752         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31753         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31754         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
31755           decoder: properly reference count pictures.
31756           This fixes cases where a GstVaapiPicture would be destroyed whereas
31757           there is still a valid instance of it in either prev, current or
31758           next picture.
31759
31760 2012-01-26 14:54:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31761
31762         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31763         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31764         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31765         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31766           decoder: simplify output of decoded frames.
31767           Drop obsolete gst_vaapi_decoder_push_surface() that was no longer used.
31768           Change gst_vaapi_decoder_push_surface_proxy() semantics to assume PTS
31769           is already set correctly and reference count increased, if necessary.
31770
31771 2012-01-26 09:48:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31772
31773         * gst-libs/gst/vaapi/Makefile.am:
31774         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31775         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
31776         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31777         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31778         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31779         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31780         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31781         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31782         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
31783           decoder: rework the internal VA objects API.
31784           The new API simplifies a lot reference counting and makes it more
31785           flexible for future additions/changes. The GstVaapiCodecInfo is
31786           also gone. Rather, new helper macros are provided to allocate
31787           picture, slice and quantization matrix parameter buffers.
31788
31789 2012-01-24 10:21:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31790
31791         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31792         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31793           decoder: allow slices to be attached to pictures later.
31794
31795 2011-11-21 18:39:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31796
31797         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31798         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31799           decoder: add ref_count to GstVaapiPicture.
31800
31801 2012-01-23 11:48:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31802
31803         * gst/vaapi/gstvaapisink.c:
31804           vaapisink: cap window size to the maximum display size.
31805
31806 2012-01-18 10:23:41 +0100  Zhao Halley <halley.zhao@intel.com>
31807
31808         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31809         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
31810           profile: match video/x-h263 as H.263 Baseline profile.
31811           HACK: qtdemux does not report profiles for H.263. So, assume plain
31812           "video/x-h263" is H.263 Baseline profile.
31813           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31814
31815 2012-01-18 10:22:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31816
31817         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31818         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
31819           display: report H.263 Baseline profile.
31820           HACK: expose GST_VAAPI_PROFILE_H263_BASELINE for decoding if MPEG-4:2 Simple
31821           profile (VAProfileMPEG4Simple) is supported.
31822
31823 2012-01-24 10:06:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31824
31825         * gst-libs/gst/vaapi/Makefile.am:
31826         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
31827           Add template for workarounds.
31828
31829 2012-01-18 10:47:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31830
31831         * tests/test-decode.c:
31832           tests: error out if FFmpeg|codecparsers are not supported.
31833
31834 2012-01-18 10:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31835
31836         * docs/reference/libs/libs-sections.txt:
31837         * gst-libs/gst/vaapi/gstvaapisurface.h:
31838         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
31839           surface: don't expose gst_vaapi_surface_get_parent_context().
31840           gst_vaapi_surface_get_parent_context() was not meant to be exposed globally.
31841           It's just an internal helper function. However, it's still possible to get
31842           the parent context through the "parent-context" property.
31843
31844 2012-01-16 14:19:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31845
31846         * tests/Makefile.am:
31847         * tests/test-subpicture.c:
31848           tests: fix build without FFmpeg.
31849
31850 2012-01-16 14:09:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31851
31852         * configure.ac:
31853           Bump version for development.
31854
31855 2012-01-16 11:05:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31856
31857         * NEWS:
31858         * configure.ac:
31859           0.3.3.
31860
31861 2012-01-16 11:03:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31862
31863         * README:
31864         * debian.upstream/copyright:
31865         * gst-libs/gst/vaapi/gstvaapicontext.c:
31866         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31867         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31868         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31869         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31870         * gst-libs/gst/vaapi/gstvaapidisplay.h:
31871         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
31872         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
31873         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
31874         * gst-libs/gst/vaapi/gstvaapiimage.c:
31875         * gst-libs/gst/vaapi/gstvaapiimage.h:
31876         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31877         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31878         * gst-libs/gst/vaapi/gstvaapiutils.c:
31879         * gst-libs/gst/vaapi/gstvaapiutils.h:
31880         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31881         * gst-libs/gst/vaapi/gstvaapiwindow.c:
31882         * gst/vaapi/gstvaapi.c:
31883         * gst/vaapi/gstvaapidecode.c:
31884         * gst/vaapi/gstvaapidownload.c:
31885         * gst/vaapi/gstvaapidownload.h:
31886         * gst/vaapi/gstvaapipluginutil.c:
31887         * gst/vaapi/gstvaapipluginutil.h:
31888         * gst/vaapi/gstvaapisink.c:
31889         * gst/vaapi/gstvaapiupload.c:
31890         * gst/vaapi/gstvaapiupload.h:
31891         * tests/test-decode.c:
31892           legal: fix year for some copyright notices.
31893
31894 2012-01-16 10:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31895
31896         * gst-libs/gst/vaapi/gstvaapicontext.c:
31897         * gst-libs/gst/vaapi/gstvaapicontext.h:
31898         * gst-libs/gst/vaapi/gstvaapidecoder.h:
31899         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31900         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31901         * gst-libs/gst/vaapi/gstvaapidisplay.h:
31902         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
31903         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
31904         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
31905         * gst-libs/gst/vaapi/gstvaapiimage.c:
31906         * gst-libs/gst/vaapi/gstvaapiimage.h:
31907         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
31908         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
31909         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
31910         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
31911         * gst-libs/gst/vaapi/gstvaapisurface.c:
31912         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31913         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31914         * gst-libs/gst/vaapi/gstvaapiutils.c:
31915         * gst-libs/gst/vaapi/gstvaapiutils.h:
31916         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31917         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
31918         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31919         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31920         * gst-libs/gst/vaapi/gstvaapiwindow.c:
31921         * gst/vaapi/gstvaapidownload.h:
31922         * gst/vaapi/gstvaapisink.h:
31923         * gst/vaapi/gstvaapiupload.h:
31924         * tests/test-decode.c:
31925           legal: add Intel copyright on modified files.
31926
31927 2012-01-16 10:41:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31928
31929         * gst-libs/gst/vaapi/gstvaapi_priv.h:
31930         * gst-libs/gst/vaapi/gstvaapicompat.h:
31931         * gst-libs/gst/vaapi/gstvaapicontext.c:
31932         * gst-libs/gst/vaapi/gstvaapicontext.h:
31933         * gst-libs/gst/vaapi/gstvaapidebug.h:
31934         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31935         * gst-libs/gst/vaapi/gstvaapidecoder.h:
31936         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31937         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
31938         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31939         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31940         * gst-libs/gst/vaapi/gstvaapidisplay.h:
31941         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
31942         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
31943         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
31944         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
31945         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
31946         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
31947         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
31948         * gst-libs/gst/vaapi/gstvaapiimage.c:
31949         * gst-libs/gst/vaapi/gstvaapiimage.h:
31950         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
31951         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
31952         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
31953         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
31954         * gst-libs/gst/vaapi/gstvaapiobject.c:
31955         * gst-libs/gst/vaapi/gstvaapiobject.h:
31956         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
31957         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
31958         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
31959         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31960         * gst-libs/gst/vaapi/gstvaapiprofile.h:
31961         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
31962         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
31963         * gst-libs/gst/vaapi/gstvaapisurface.c:
31964         * gst-libs/gst/vaapi/gstvaapisurface.h:
31965         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
31966         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
31967         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31968         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31969         * gst-libs/gst/vaapi/gstvaapitexture.c:
31970         * gst-libs/gst/vaapi/gstvaapitexture.h:
31971         * gst-libs/gst/vaapi/gstvaapitypes.h:
31972         * gst-libs/gst/vaapi/gstvaapiutils.c:
31973         * gst-libs/gst/vaapi/gstvaapiutils.h:
31974         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31975         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
31976         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
31977         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
31978         * gst-libs/gst/vaapi/gstvaapivalue.c:
31979         * gst-libs/gst/vaapi/gstvaapivalue.h:
31980         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31981         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31982         * gst-libs/gst/vaapi/gstvaapivideopool.c:
31983         * gst-libs/gst/vaapi/gstvaapivideopool.h:
31984         * gst-libs/gst/vaapi/gstvaapivideosink.c:
31985         * gst-libs/gst/vaapi/gstvaapivideosink.h:
31986         * gst-libs/gst/vaapi/gstvaapiwindow.c:
31987         * gst-libs/gst/vaapi/gstvaapiwindow.h:
31988         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
31989         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
31990         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
31991         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
31992         * gst/vaapi/gstvaapidecode.c:
31993         * gst/vaapi/gstvaapidecode.h:
31994         * gst/vaapi/gstvaapidownload.c:
31995         * gst/vaapi/gstvaapidownload.h:
31996         * gst/vaapi/gstvaapisink.c:
31997         * gst/vaapi/gstvaapisink.h:
31998         * gst/vaapi/gstvaapiupload.c:
31999         * gst/vaapi/gstvaapiupload.h:
32000         * tests/image.c:
32001         * tests/image.h:
32002         * tests/test-decode.c:
32003         * tests/test-decode.h:
32004         * tests/test-display.c:
32005         * tests/test-h264.c:
32006         * tests/test-h264.h:
32007         * tests/test-mpeg2.c:
32008         * tests/test-mpeg2.h:
32009         * tests/test-surfaces.c:
32010         * tests/test-textures.c:
32011         * tests/test-vc1.c:
32012         * tests/test-vc1.h:
32013         * tests/test-windows.c:
32014           legal: fix copyright notices to include "Copyright" term.
32015
32016 2011-12-09 16:44:03 +0800  Zhao Halley <halley.zhao@intel.com>
32017
32018         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
32019         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
32020           mpeg4: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
32021           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32022
32023 2011-12-09 16:28:11 +0800  Zhao Halley <halley.zhao@intel.com>
32024
32025         * gst-libs/gst/vaapi/Makefile.am:
32026         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
32027         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
32028         * gst/vaapi/gstvaapidecode.c:
32029           Add initial MPEG-4 decoder.
32030           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32031
32032 2011-11-18 15:41:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32033
32034         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32035         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
32036           vc1: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
32037           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32038
32039 2011-10-07 11:50:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32040
32041         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32042           vc1: fix codec-data decoding for WMV3 format.
32043
32044 2011-10-07 11:12:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32045
32046         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32047           vc1: fix presentation timestamps.
32048
32049 2011-10-06 15:59:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32050
32051         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32052           vc1: fix MV mode packing.
32053
32054 2011-10-05 16:41:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32055
32056         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32057           vc1: handle codec-data.
32058
32059 2011-10-05 15:56:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32060
32061         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32062           vc1: handle encapsulated bitstreams.
32063
32064 2011-10-04 17:51:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32065
32066         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32067         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32068         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32069           vc1: fix bitplanes decoding.
32070
32071 2011-10-04 14:15:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32072
32073         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32074           vc1: fix BFRACTION reconstruction.
32075
32076 2011-09-30 17:16:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32077
32078         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32079           vc1: fix framerate calculation.
32080
32081 2011-09-30 13:40:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32082
32083         * gst-libs/gst/vaapi/Makefile.am:
32084         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32085         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
32086         * gst/vaapi/gstvaapidecode.c:
32087         * tests/test-decode.c:
32088           Add initial VC-1 decoder.
32089
32090 2012-01-09 17:37:34 +0100  Zhao Halley <halley.zhao@intel.com>
32091
32092         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32093           mpeg2: fix first field detection.
32094           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32095
32096 2012-01-06 16:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32097
32098         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32099           mpeg2: fix quantisation matrix construction.
32100
32101 2011-11-18 15:06:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32102
32103         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32104         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
32105           mpeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).
32106           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32107
32108 2011-09-14 18:11:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32109
32110         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32111           mpeg2: fix packets spanning over two buffers.
32112
32113 2011-09-12 18:20:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32114
32115         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32116           mpeg2: ignore system start codes (PES headers).
32117
32118 2011-09-12 18:02:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32119
32120         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32121           mpeg2: handle closed_gop.
32122
32123 2011-08-05 11:55:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32124
32125         * gst-libs/gst/vaapi/Makefile.am:
32126         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32127         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
32128         * gst/vaapi/gstvaapidecode.c:
32129         * tests/test-decode.c:
32130           Add initial MPEG-2 decoder.
32131
32132 2011-08-12 10:21:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32133
32134         * configure.ac:
32135         * gst-libs/gst/vaapi/Makefile.am:
32136         * gst/vaapi/gstvaapidecode.c:
32137         * tests/test-decode.c:
32138           Allow conditional build of GStreamer/FFmpeg bitstream parsers.
32139
32140 2011-08-05 11:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32141
32142         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32143         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32144           Add VA decoder helpers.
32145
32146 2011-08-05 11:52:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32147
32148         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32149           decoder: add new error codes.
32150           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: for unsupported profile
32151           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: for unsupported chroma format
32152
32153 2011-09-12 13:00:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32154
32155         * gst-libs/gst/vaapi/Makefile.am:
32156         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
32157         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
32158           Add timestamp buffer store helper utils.
32159
32160 2011-08-04 17:29:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32161
32162         * gst-libs/gst/vaapi/gstvaapiutils.c:
32163         * gst-libs/gst/vaapi/gstvaapiutils.h:
32164           Add VA buffer helpers.
32165
32166 2012-01-13 15:03:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32167
32168         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32169           utils: slight improvements to gl_bind_texture().
32170
32171 2012-01-13 14:13:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32172
32173         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32174           utils: pretty-print output of gl_get_error_string().
32175
32176 2012-01-13 14:03:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32177
32178         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32179           utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
32180
32181 2012-01-13 12:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32182
32183         * gst-libs/gst/vaapi/gstvaapiutils.c:
32184           utils: simplify string of VAProfile/VAEntrypoint.
32185
32186 2012-01-13 11:46:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32187
32188         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32189         * gst-libs/gst/vaapi/gstvaapiutils.c:
32190         * gst-libs/gst/vaapi/gstvaapiutils.h:
32191           utils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.
32192
32193 2012-01-12 17:18:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32194
32195         * NEWS:
32196           NEWS: updates.
32197
32198 2012-01-12 15:34:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32199
32200         * tests/test-decode.c:
32201           tests: check for shared VA displays (display cache).
32202
32203 2012-01-12 15:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32204
32205         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32206           display: always free VA display cache if it is empty.
32207
32208 2012-01-12 15:03:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32209
32210         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32211         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32212         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32213         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32214         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32215           display: use VA display cache for X11 and GLX winsys.
32216
32217 2012-01-12 12:46:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32218
32219         * gst-libs/gst/vaapi/Makefile.am:
32220         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32221         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
32222         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
32223           display: implement a VA display cache.
32224
32225 2012-01-11 14:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32226
32227         * gst/vaapi/gstvaapipluginutil.c:
32228           vaapiplugin: fix gst_vaapi_ensure_display() to use system defaults.
32229           This ensures the display name provided to gst_vaapi_display_*_new()
32230           maps to the system defaults, instead of forcing "" that could be different
32231           from the current DISPLAY name.
32232
32233 2011-08-26 15:44:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32234
32235         * gst/vaapi/gstvaapiupload.c:
32236           vaapiupload: only set caps on newly created buffers.
32237           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32238
32239 2012-01-11 14:11:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32240
32241         * gst/vaapi/gstvaapisink.c:
32242           vaapisink: ensure VA display in GstBaseSink::start() hook.
32243           This ensures a VA display is ready by the time upstream elements request
32244           for it.
32245
32246 2011-08-26 15:44:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32247
32248         * gst/vaapi/gstvaapisink.c:
32249           vaapisink: don't leak GL texture.
32250           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32251
32252 2012-01-09 16:51:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32253
32254         * gst/vaapi/gstvaapisink.c:
32255           vaapisink: fix calculation of render region.
32256
32257 2012-01-09 11:23:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32258
32259         * gst/vaapi/gstvaapisink.c:
32260           vaapisink: automatically fit video to window.
32261
32262 2012-01-09 10:37:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32263
32264         * gst/vaapi/gstvaapisink.c:
32265           vaapisink: implement GstXOverlay::set_render_rectangle().
32266
32267 2012-01-09 11:04:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32268
32269         * gst-libs/gst/vaapi/gstvaapiwindow.c:
32270           window: always check geometry when the window is mapped.
32271
32272 2012-01-06 17:51:59 +0100  Zhao Halley <halley.zhao@intel.com>
32273
32274         * gst-libs/gst/vaapi/gstvaapiutils.c:
32275           Add missing profiles from VA-API 0.32.0.
32276           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32277
32278 2012-01-06 16:48:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32279
32280         * .gitignore:
32281           .gitignore: add test-subpicture.
32282
32283 2012-01-06 11:23:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32284
32285         * configure.ac:
32286           Bump version for development.
32287
32288 2012-01-06 11:20:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32289
32290         * NEWS:
32291         * configure.ac:
32292           0.3.2.
32293
32294 2012-01-06 11:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32295
32296         * tests/Makefile.am:
32297           tests: fix make dist (ship with test-subpicture-data.h).
32298
32299 2012-01-05 17:35:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32300
32301         * NEWS:
32302           NEWS: updates.
32303
32304 2012-01-05 17:09:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32305
32306         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32307         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32308         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32309           decoder: fix possible leak of VA surfaces.
32310           Under some circumstances, we could have leaked a surface, thus not
32311           releasing it to the pool of available surfaces in the VA context.
32312           The strategy is now to use a proxy earlier and automatically ref/unref
32313           whenever necessary. In particular, during the lifetime needed for FFmpeg.
32314
32315 2012-01-05 16:59:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32316
32317         * docs/reference/libs/libs-sections.txt:
32318         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32319         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32320           surfaceproxy: add helper to retrieve the VA surface ID.
32321
32322 2012-01-05 16:44:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32323
32324         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32325           surfaceproxy: simplify destruction.
32326           Also make sure to always make sure to release the surface back to the
32327           pool of surfaces in the associated VA context, if any.
32328
32329 2012-01-05 16:26:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32330
32331         * gst/vaapi/gstvaapidecode.c:
32332           vaapidecode: fix deinitialization order.
32333
32334 2012-01-05 14:50:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32335
32336         * gst-libs/gst/vaapi/gstvaapicontext.c:
32337           context: avoid self reference loops with surfaces.
32338
32339 2012-01-05 11:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32340
32341         * debian.upstream/control.in:
32342           debian: update control.in description for new plugins.
32343
32344 2012-01-05 11:01:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32345
32346         * gst/vaapi/gstvaapiupload.c:
32347           vaapiupload: use new gst_vaapi_append_surface_caps() helper.
32348           This also fixes extra structures, beyond the one at index 0, to hold
32349           the right additional values.
32350
32351 2012-01-05 10:55:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32352
32353         * gst/vaapi/gstvaapiupload.c:
32354           vaapiupload: fix sink (YUV) caps to not report type and opengl fields.
32355
32356 2012-01-05 10:50:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32357
32358         * README:
32359         * docs/reference/plugins/plugins-docs.xml.in:
32360         * docs/reference/plugins/plugins-sections.txt:
32361         * docs/reference/plugins/plugins.types:
32362         * gst/vaapi/Makefile.am:
32363         * gst/vaapi/gstvaapi.c:
32364         * gst/vaapi/gstvaapidownload.c:
32365         * gst/vaapi/gstvaapidownload.h:
32366           vaapidownload: add new plugin to download pixels from VA surfaces.
32367
32368 2012-01-05 11:00:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32369
32370         * gst/vaapi/gstvaapipluginutil.c:
32371         * gst/vaapi/gstvaapipluginutil.h:
32372           vaapipluingutils: add helper to append surface caps to YUV caps.
32373
32374 2012-01-05 10:29:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32375
32376         * docs/reference/libs/libs-sections.txt:
32377         * gst-libs/gst/vaapi/gstvaapiimage.c:
32378         * gst-libs/gst/vaapi/gstvaapiimage.h:
32379           image: add helpers to extract pixels to user buffers.
32380
32381 2012-01-04 11:34:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32382
32383         * gst-libs/gst/vaapi/gstvaapiimage.c:
32384           image: simplify initialization of raw images from video buffers.
32385
32386 2012-01-04 11:29:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32387
32388         * gst-libs/gst/vaapi/gstvaapiimage.c:
32389           image: fix update from NV12 buffers.
32390
32391 2012-01-03 18:16:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32392
32393         * gst/vaapi/gstvaapiupload.c:
32394           vaapiupload: fix memory leak in _init() function.
32395
32396 2012-01-03 14:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32397
32398         * NEWS:
32399         * README:
32400         * debian.upstream/control.in:
32401         * docs/reference/plugins/plugins-docs.xml.in:
32402         * docs/reference/plugins/plugins-sections.txt:
32403         * docs/reference/plugins/plugins.types:
32404         * gst/vaapi/Makefile.am:
32405         * gst/vaapi/gstvaapi.c:
32406         * gst/vaapi/gstvaapiupload.c:
32407         * gst/vaapi/gstvaapiupload.h:
32408           Rename vaapiconvert element to vaapiupload.
32409
32410 2012-01-03 13:54:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32411
32412         * configure.ac:
32413           Bump version for development.
32414
32415 2012-01-03 13:42:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32416
32417         * NEWS:
32418         * configure.ac:
32419           0.3.1.
32420
32421 2011-12-14 15:22:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32422
32423         * NEWS:
32424           NEWS: updates.
32425
32426 2011-12-14 14:40:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32427
32428         * gst-libs/gst/vaapi/gstvaapisurface.c:
32429         * gst-libs/gst/vaapi/gstvaapisurface.h:
32430         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32431         * gst/vaapi/gstvaapisink.c:
32432           surface: apply composition to the parent context, if requested.
32433
32434 2011-12-14 14:35:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32435
32436         * docs/reference/libs/libs-sections.txt:
32437         * gst-libs/gst/vaapi/gstvaapicontext.c:
32438         * gst-libs/gst/vaapi/gstvaapicontext.h:
32439           context: make it possible to apply composition globally.
32440
32441 2011-12-14 14:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32442
32443         * gst-libs/gst/vaapi/gstvaapisurface.c:
32444           surface: fix associate subpicture to not report deassociation errors.
32445
32446 2011-12-14 13:46:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32447
32448         * gst-libs/gst/vaapi/gstvaapisurface.c:
32449           surface: fix typo in debug message.
32450
32451 2011-12-14 13:16:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32452
32453         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32454         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
32455         * gst-libs/gst/vaapi/gstvaapisurface.c:
32456           subpicture: add helper to create subpicture from GstVideoOverlayRectangle.
32457
32458 2011-12-13 16:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32459
32460         * docs/reference/libs/libs-sections.txt:
32461         * gst-libs/gst/vaapi/Makefile.am:
32462         * gst-libs/gst/vaapi/gstvaapicontext.c:
32463         * gst-libs/gst/vaapi/gstvaapisurface.c:
32464         * gst-libs/gst/vaapi/gstvaapisurface.h:
32465         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
32466           surface: record parent context.
32467
32468 2011-12-13 15:59:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32469
32470         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
32471         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32472         * gst/vaapi/gstvaapidecode.c:
32473         * gst/vaapi/gstvaapisink.c:
32474           Fix warnings.
32475
32476 2011-12-13 15:51:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32477
32478         * gst-libs/gst/vaapi/gstvaapisurface.c:
32479         * gst-libs/gst/vaapi/gstvaapisurface.h:
32480         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32481         * gst/vaapi/gstvaapisink.c:
32482           Rename gst_vaapi_surface_update_composition() to gst_vaapi_surface_set_subpictures_from_composition().
32483
32484 2011-12-13 13:40:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32485
32486         * configure.ac:
32487           configure: check for GstVideoOverlayComposition.
32488
32489 2011-12-12 18:42:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32490
32491         * NEWS:
32492           NEWS: updates.
32493
32494 2011-11-25 15:00:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32495
32496         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32497           converter: add support for GstVideoOverlayComposition planes.
32498           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32499
32500 2011-11-23 16:45:46 -0300  Thibault Saunier <thibault.saunier@collabora.com>
32501
32502         * gst/vaapi/gstvaapisink.c:
32503           vaapisink: handle GstVideoOverlayComposition planes.
32504           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32505
32506 2011-12-12 18:27:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32507
32508         * gst-libs/gst/vaapi/gstvaapisurface.c:
32509           surface: use unscaled overlay rectangle for blending.
32510
32511 2011-12-12 18:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32512
32513         * gst-libs/gst/vaapi/gstvaapisurface.c:
32514           surface: fix VA image leak when an error occurred.
32515
32516 2011-11-25 14:59:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32517
32518         * gst-libs/gst/vaapi/gstvaapisurface.c:
32519         * gst-libs/gst/vaapi/gstvaapisurface.h:
32520           surface: add helper to handle GstVideoOverlayComposition.
32521           This helper resets the subpictures to reflect the current composition
32522           layers provided with the buffers.
32523           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32524
32525 2011-12-12 18:13:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32526
32527         * docs/reference/libs/libs-sections.txt:
32528         * gst-libs/gst/vaapi/Makefile.am:
32529         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
32530         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
32531         * gst/vaapi/gstvaapiconvert.c:
32532           image: add gst_vaapi_image_format_from_video() helper.
32533
32534 2011-12-12 16:34:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32535
32536         * gst-libs/gst/vaapi/gstvaapiimage.c:
32537         * gst-libs/gst/vaapi/gstvaapiimage.h:
32538           image: allow updates from GstVaapiImageRaw.
32539
32540 2011-12-12 14:34:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32541
32542         * gst-libs/gst/vaapi/gstvaapiimage.c:
32543         * gst-libs/gst/vaapi/gstvaapiimage.h:
32544         * gst/vaapi/gstvaapiconvert.c:
32545         * tests/test-subpicture.c:
32546           image: allow partial updates.
32547
32548 2011-12-12 15:31:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32549
32550         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32551           subpicture: fix doc for gst_vaapi_subpicture_set_image().
32552
32553 2011-12-12 13:39:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32554
32555         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32556           display: fix has_image_format() to check against subpicture formats.
32557
32558 2011-10-17 18:43:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32559
32560         * tests/test-subpicture.c:
32561           tests: fix subpicture test.
32562
32563 2011-10-14 13:00:12 -0300  Thibault Saunier <thibault.saunier@collabora.com>
32564
32565         * tests/Makefile.am:
32566         * tests/test-subpicture-data.c:
32567         * tests/test-subpicture-data.h:
32568         * tests/test-subpicture.c:
32569           tests: add test for subpictures.
32570           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32571
32572 2011-11-25 12:28:04 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32573
32574         * gst/vaapi/gstvaapiconvert.c:
32575         * gst/vaapi/gstvaapidecode.c:
32576           Add missing video context queries.
32577           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32578
32579 2011-12-12 13:22:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32580
32581         * configure.ac:
32582           Bump version for development.
32583
32584 2011-12-12 10:04:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32585
32586         * gst-libs/gst/video/Makefile.am:
32587         * gst-libs/gst/video/gstbasevideocodec.c:
32588         * gst-libs/gst/video/gstbasevideocodec.h:
32589         * gst-libs/gst/video/gstbasevideodecoder.c:
32590         * gst-libs/gst/video/gstbasevideodecoder.h:
32591         * gst-libs/gst/video/gstbasevideoutils.c:
32592         * gst-libs/gst/video/gstbasevideoutils.h:
32593           Drop unused copy of GstBaseVideoDecoder.
32594
32595 2011-12-09 11:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32596
32597         * NEWS:
32598         * configure.ac:
32599           0.3.0.
32600
32601 2011-12-09 11:38:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32602
32603         * README:
32604           README: update dependencies.
32605
32606 2011-12-09 11:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32607
32608         * NEWS:
32609           NEWS: updates.
32610
32611 2011-12-09 11:20:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32612
32613         * configure.ac:
32614           configure: check for GstBaseSink 'query' vfunc.
32615
32616 2011-12-09 10:45:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32617
32618         * gst/vaapi/Makefile.am:
32619           vaapiplugin: include local build dir to CFLAGS for generated files.
32620
32621 2011-12-09 10:44:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32622
32623         * autogen.sh:
32624           autogen: don't configure if NO_CONFIGURE variable is set.
32625
32626 2011-12-08 11:54:59 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32627
32628         * gst/vaapi/gstvaapidecode.c:
32629         * gst/vaapi/gstvaapidecode.h:
32630           vaapidecode: return sink caps template if decoder is in NULL state.
32631           Otherwise, the decoder would always create its own X display instead
32632           of probing it from the downstream element, which is not reliable.
32633           e.g. DISPLAY is not :0 or when running on Wayland.
32634           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32635
32636 2011-12-08 15:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32637
32638         * gst/vaapi/gstvaapiconvert.c:
32639         * gst/vaapi/gstvaapidecode.c:
32640           vaapiplugin: properly set surface type to "vaapi" in caps.
32641
32642 2011-12-08 15:16:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32643
32644         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32645           decoder: drop unused headers.
32646
32647 2011-11-04 19:47:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32648
32649         * gst/vaapi/gstvaapiconvert.c:
32650         * gst/vaapi/gstvaapidecode.c:
32651           vaapiplugin: properly set opengl support in caps.
32652           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32653
32654 2011-11-04 20:07:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32655
32656         * gst/vaapi/gstvaapiconvert.c:
32657         * gst/vaapi/gstvaapidecode.c:
32658           vaapiplugin: allocate GLX buffers when supported.
32659           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32660
32661 2011-11-04 19:47:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32662
32663         * gst-libs/gst/vaapi/Makefile.am:
32664         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32665         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
32666         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
32667         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
32668         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32669         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
32670           videobuffer: add GLX buffer support.
32671           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32672
32673 2011-10-06 16:06:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32674
32675         * gst-libs/gst/vaapi/Makefile.am:
32676         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32677         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
32678           Port to GstSurfaceBuffer interface.
32679           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32680
32681 2011-10-06 16:04:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32682
32683         * gst/vaapi/gstvaapidecode.c:
32684         * gst/vaapi/gstvaapisink.c:
32685           Don't use downstream buffer allocation.
32686           With the new video/x-surface abstraction, we can't rely on having a VA
32687           specific sink downstream. Also, there was no particular reason to do that.
32688           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32689
32690 2011-11-04 17:16:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32691
32692         * gst-libs/gst/vaapi/Makefile.am:
32693         * gst-libs/gst/vaapi/gstvaapicontext.c:
32694         * gst-libs/gst/vaapi/gstvaapisurface.h:
32695         * gst/vaapi/gstvaapiconvert.c:
32696         * gst/vaapi/gstvaapisink.c:
32697         * tests/Makefile.am:
32698         * tests/test-surfaces.c:
32699           Change caps to use new video/x-surface generic type.
32700           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32701
32702 2011-11-04 16:50:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32703
32704         * configure.ac:
32705         * gst-libs/gst/vaapi/Makefile.am:
32706         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
32707         * gst/vaapi/Makefile.am:
32708         * gst/vaapi/gstvaapiconvert.c:
32709         * gst/vaapi/gstvaapidecode.c:
32710         * gst/vaapi/gstvaapipluginutil.c:
32711         * gst/vaapi/gstvaapipluginutil.h:
32712         * gst/vaapi/gstvaapisink.c:
32713         * gst/vaapi/gstvaapisink.h:
32714           Port to GstVideoContext interface.
32715           This new interface allows for upstream and downstream display sharing
32716           that works in both static and dynamic pipelines.
32717           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32718
32719 2011-12-08 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32720
32721         * gst/vaapi/gstvaapisink.c:
32722           vaapisink: use GST_ERROR to print error messages.
32723
32724 2011-12-08 13:30:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32725
32726         * gst/vaapi/Makefile.am:
32727           vaapiplugin: link against VA/GLX when enabled.
32728
32729 2011-12-07 19:09:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32730
32731         * gst/vaapi/gstvaapiconvert.c:
32732         * gst/vaapi/gstvaapisink.c:
32733           Add Intel copyright information.
32734
32735 2011-12-07 19:04:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32736
32737         * gst/vaapi/gstvaapisink.c:
32738           vaapisink: allow compatibility with gst-plugins-base < 0.10.31.
32739
32740 2011-12-07 18:40:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32741
32742         * .gitignore:
32743         * configure.ac:
32744         * gst-libs/gst/Makefile.am:
32745         * gst-libs/gst/gstutils_version.h.in:
32746           Add new GStreamer version check utilities.
32747
32748 2011-07-28 11:14:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32749
32750         * gst/vaapi/gstvaapisink.c:
32751           vaapisink: replace the deprecated xoverlay API with the new one.
32752           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32753
32754 2011-12-07 17:31:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32755
32756         * configure.ac:
32757           configure: allow for pre-releases.
32758
32759 2011-10-13 17:08:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32760
32761         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32762           display: destroy display on creation failure.
32763           This allows element to detect that the display creation has actually
32764           failed.
32765           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32766
32767 2011-10-13 17:07:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32768
32769         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32770           display: don't crash when config is empty.
32771           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32772
32773 2011-12-07 14:42:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32774
32775         * README:
32776         * debian.upstream/copyright:
32777           doc: mention Collabora copyrights.
32778
32779 2011-12-07 14:40:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32780
32781         * .gitignore:
32782           .gitignore: refine for generated docs.
32783
32784 2011-09-14 15:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32785
32786         * configure.ac:
32787         * docs/reference/plugins/Makefile.am:
32788         * gst/Makefile.am:
32789         * gst/vaapi/Makefile.am:
32790         * gst/vaapi/gstvaapi.c:
32791         * gst/vaapi/gstvaapiconvert.c:
32792         * gst/vaapi/gstvaapiconvert.h:
32793         * gst/vaapi/gstvaapidecode.c:
32794         * gst/vaapi/gstvaapidecode.h:
32795         * gst/vaapi/gstvaapisink.c:
32796         * gst/vaapi/gstvaapisink.h:
32797         * gst/vaapiconvert/Makefile.am:
32798         * gst/vaapidecode/Makefile.am:
32799           Group all plugins into the same bundle
32800           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32801
32802 2011-07-21 14:31:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32803
32804         * configure.ac:
32805           Bump version for development.
32806
32807 2011-12-07 14:17:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32808
32809         * configure.ac:
32810         * debian.upstream/control.in:
32811           debian: build against upstream libva packages.
32812
32813 2011-12-07 13:52:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32814
32815         * docs/reference/libs/Makefile.am:
32816         * docs/reference/plugins/Makefile.am:
32817         * tests/Makefile.am:
32818           Fix build on Ubuntu 11.10 (Oneric).
32819
32820 2011-12-07 13:14:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32821
32822         * NEWS:
32823           0.2.7.
32824
32825 2011-09-12 16:20:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32826
32827         * .gitignore:
32828           Adding ignore file
32829           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32830
32831 2011-10-24 16:18:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32832
32833         * gst/vaapiconvert/gstvaapiconvert.c:
32834         * gst/vaapidecode/gstvaapidecode.c:
32835         * gst/vaapisink/gstvaapisink.c:
32836           Update license in plugin definition
32837           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32838
32839 2011-10-12 14:00:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32840
32841         * NEWS:
32842         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32843           decoder: fix use of invalid data at the end-of-stream.
32844
32845 2011-10-19 14:47:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32846
32847         * gst/vaapiconvert/gstvaapiconvert.c:
32848           vaapiconvert: fix some warnings.
32849
32850 2011-10-19 14:43:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32851
32852         * configure.ac:
32853         * debian.upstream/changelog.in:
32854         * debian.upstream/control.in:
32855         * debian.upstream/copyright:
32856         * gst/vaapiconvert/gstvaapiconvert.c:
32857         * gst/vaapidecode/gstvaapidecode.c:
32858         * gst/vaapisink/gstvaapisink.c:
32859           Update with my current e-mail address.
32860
32861 2011-10-19 14:39:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32862
32863         * NEWS:
32864         * README:
32865           Splitted-Desktop systems relicensed plugins and tests to LGPL v2.1+.
32866
32867 2011-10-18 09:18:20 +0200  warly <warly@warly.org>
32868
32869         * tests/image.c:
32870         * tests/image.h:
32871         * tests/test-decode.c:
32872         * tests/test-decode.h:
32873         * tests/test-display.c:
32874         * tests/test-h264.c:
32875         * tests/test-h264.h:
32876         * tests/test-mpeg2.c:
32877         * tests/test-mpeg2.h:
32878         * tests/test-surfaces.c:
32879         * tests/test-textures.c:
32880         * tests/test-vc1.c:
32881         * tests/test-vc1.h:
32882         * tests/test-windows.c:
32883           switch tests licence to LGPL v2.1+
32884
32885 2011-10-18 09:06:52 +0200  warly <warly@warly.org>
32886
32887         * COPYING:
32888         * README:
32889         * debian.upstream/copyright:
32890         * gst/vaapiconvert/gstvaapiconvert.c:
32891         * gst/vaapiconvert/gstvaapiconvert.h:
32892         * gst/vaapidecode/gstvaapidecode.c:
32893         * gst/vaapidecode/gstvaapidecode.h:
32894         * gst/vaapisink/gstvaapisink.c:
32895         * gst/vaapisink/gstvaapisink.h:
32896           move plugins to LGPL v2.1+
32897
32898 2011-09-14 13:07:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32899
32900         * gst/vaapidecode/gstvaapidecode.c:
32901           vaapidecode: fix sink caps to not expose size information.
32902           This fixes this particular issue:
32903           GStreamer-WARNING **: pad vaapidecode0:sink returned caps which are not
32904           a real subset of its template caps
32905
32906 2011-09-14 11:34:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32907
32908         * NEWS:
32909         * gst/vaapidecode/gstvaapidecode.c:
32910           vaapidecode: fix decoding of MPEG-2 PS files.
32911
32912 2011-09-12 13:00:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32913
32914         * gst-libs/gst/vaapi/Makefile.am:
32915           Cosmetics (sort source files).
32916
32917 2011-09-08 14:50:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32918
32919         * gst/vaapiconvert/gstvaapiconvert.c:
32920         * gst/vaapiconvert/gstvaapiconvert.h:
32921           vaapiconvert: fix direct-rendering caps detection.
32922
32923 2011-09-08 14:40:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32924
32925         * gst-libs/gst/vaapi/gstvaapiimage.c:
32926           Fix gst_vaapi_image_new_with_image().
32927
32928 2011-09-08 13:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32929
32930         * gst/vaapiconvert/gstvaapiconvert.c:
32931           vaapiconvert: warn when surface failed to be updated with image.
32932
32933 2011-09-06 18:34:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32934
32935         * gst/vaapiconvert/gstvaapiconvert.c:
32936           vaapiconvert: fix autodetection for vaDeriveImage() support.
32937
32938 2011-09-06 17:47:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32939
32940         * gst/vaapiconvert/gstvaapiconvert.c:
32941           vaapiconvert: fix memory leak (VA surface image).
32942
32943 2011-09-05 16:20:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32944
32945         * NEWS:
32946         * gst/vaapiconvert/gstvaapiconvert.c:
32947           vaapiconvert: fix direct-rendering mode.
32948
32949 2011-09-06 16:49:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32950
32951         * docs/reference/libs/libs-sections.txt:
32952         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32953         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
32954           Add gst_vaapi_video_buffer_new_from_buffer().
32955           Add helper function to bind a foreign buffer into a GstVaapiVideoBuffer.
32956           Any image, surface or surface proxy will be inherited from the source buffer
32957           if it is a GstVaapiVideoBuffer.
32958
32959 2011-09-05 17:23:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32960
32961         * gst/vaapiconvert/gstvaapiconvert.c:
32962           vaapiconvert: protect access to direct_rendering.
32963
32964 2011-09-05 16:18:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32965
32966         * gst/vaapiconvert/gstvaapiconvert.c:
32967           vaapiconvert: use gst_vaapi_display_lookup_downstream() helper to get a VA display.
32968
32969 2011-08-01 14:15:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32970
32971         * NEWS:
32972         * README:
32973         * debian.upstream/copyright:
32974         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32975         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32976         * gst-libs/gst/vaapi/gstvaapisurface.h:
32977         * gst/vaapidecode/gstvaapidecode.c:
32978         * gst/vaapidecode/gstvaapidecode.h:
32979           Add Intel copyright information.
32980
32981 2011-07-22 15:59:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32982
32983         * NEWS:
32984           Updates.
32985
32986 2011-07-22 15:55:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32987
32988         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32989           Fix build with newer FFmpeg versions.
32990
32991 2011-07-22 15:39:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32992
32993         * gst/vaapidecode/gstvaapidecode.c:
32994         * gst/vaapidecode/gstvaapidecode.h:
32995           Fix decoding of MPEG-2 TS files.
32996
32997 2011-07-22 15:34:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32998
32999         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33000           Report caps update only once per video resolution change.
33001
33002 2011-07-22 15:33:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33003
33004         * gst-libs/gst/vaapi/gstvaapisurface.h:
33005           Add canonical form (type name) of VA surface caps.
33006
33007 2011-07-22 15:42:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33008
33009         * configure.ac:
33010           Bump version for development.
33011
33012 2011-07-19 17:38:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33013
33014         * configure.ac:
33015           Use pretty build output with automake >= 1.11.
33016
33017 2011-07-15 16:08:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33018
33019         * gst/vaapiconvert/Makefile.am:
33020         * gst/vaapidecode/Makefile.am:
33021         * gst/vaapisink/Makefile.am:
33022         * tests/Makefile.am:
33023           Fix build with libva headers not in a standard include dir.
33024
33025 2011-06-14 15:59:08 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
33026
33027         * configure.ac:
33028           0.2.6.
33029
33030 2011-06-14 13:52:56 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
33031
33032         * gst-libs/gst/vaapi/gstvaapi_priv.h:
33033         * gst-libs/gst/vaapi/gstvaapicompat.h:
33034         * gst-libs/gst/vaapi/gstvaapicontext.c:
33035         * gst-libs/gst/vaapi/gstvaapicontext.h:
33036         * gst-libs/gst/vaapi/gstvaapidebug.h:
33037         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33038         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33039         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33040         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
33041         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33042         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33043         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33044         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
33045         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
33046         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
33047         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
33048         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33049         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
33050         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
33051         * gst-libs/gst/vaapi/gstvaapiimage.c:
33052         * gst-libs/gst/vaapi/gstvaapiimage.h:
33053         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
33054         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
33055         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
33056         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
33057         * gst-libs/gst/vaapi/gstvaapiobject.c:
33058         * gst-libs/gst/vaapi/gstvaapiobject.h:
33059         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
33060         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
33061         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
33062         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33063         * gst-libs/gst/vaapi/gstvaapiprofile.h:
33064         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33065         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
33066         * gst-libs/gst/vaapi/gstvaapisurface.c:
33067         * gst-libs/gst/vaapi/gstvaapisurface.h:
33068         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
33069         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
33070         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
33071         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
33072         * gst-libs/gst/vaapi/gstvaapitexture.c:
33073         * gst-libs/gst/vaapi/gstvaapitexture.h:
33074         * gst-libs/gst/vaapi/gstvaapitypes.h:
33075         * gst-libs/gst/vaapi/gstvaapiutils.c:
33076         * gst-libs/gst/vaapi/gstvaapiutils.h:
33077         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33078         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
33079         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
33080         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
33081         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33082         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
33083         * gst-libs/gst/vaapi/gstvaapivalue.c:
33084         * gst-libs/gst/vaapi/gstvaapivalue.h:
33085         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33086         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33087         * gst-libs/gst/vaapi/gstvaapivideopool.c:
33088         * gst-libs/gst/vaapi/gstvaapivideopool.h:
33089         * gst-libs/gst/vaapi/gstvaapivideosink.c:
33090         * gst-libs/gst/vaapi/gstvaapivideosink.h:
33091         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33092         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33093         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
33094         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
33095         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33096         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
33097         * gst/vaapiconvert/gstvaapiconvert.c:
33098         * gst/vaapiconvert/gstvaapiconvert.h:
33099         * gst/vaapidecode/gstvaapidecode.c:
33100         * gst/vaapidecode/gstvaapidecode.h:
33101         * gst/vaapisink/gstvaapisink.c:
33102         * gst/vaapisink/gstvaapisink.h:
33103         * tests/image.c:
33104         * tests/image.h:
33105         * tests/test-decode.c:
33106         * tests/test-decode.h:
33107         * tests/test-display.c:
33108         * tests/test-h264.c:
33109         * tests/test-h264.h:
33110         * tests/test-mpeg2.c:
33111         * tests/test-mpeg2.h:
33112         * tests/test-surfaces.c:
33113         * tests/test-textures.c:
33114         * tests/test-vc1.c:
33115         * tests/test-vc1.h:
33116         * tests/test-windows.c:
33117           Update copyright notice.
33118
33119 2011-06-14 13:51:41 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
33120
33121         * NEWS:
33122         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33123         * gst-libs/gst/vaapi/gstvaapisurface.c:
33124         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
33125         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
33126         * gst-libs/gst/vaapi/gstvaapitexture.c:
33127         * gst-libs/gst/vaapi/gstvaapiutils.c:
33128         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33129         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33130         * gst-libs/gst/vaapi/gstvaapivalue.c:
33131         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33132         * gst-libs/gst/vaapi/gstvaapivideopool.c:
33133         * gst-libs/gst/vaapi/gstvaapivideosink.c:
33134         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33135         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
33136         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33137           Fix licensing terms.
33138
33139 2010-07-20 11:23:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33140
33141         * NEWS:
33142           0.2.5.
33143
33144 2010-07-20 11:21:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33145
33146         * debian.upstream/copyright:
33147           Fix license terms...
33148
33149 2010-07-01 13:19:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33150
33151         * gst/vaapisink/gstvaapisink.c:
33152           Render pretty background only in use-reflection=true mode.
33153
33154 2010-07-01 11:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33155
33156         * NEWS:
33157           Updates.
33158
33159 2010-07-01 11:41:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33160
33161         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33162           Drop the GLX 1.3 requirement.
33163
33164 2010-07-01 11:38:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33165
33166         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33167         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
33168           Call the GLX/Pixmap related functions through the vtable.
33169
33170 2010-07-01 11:11:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33171
33172         * NEWS:
33173         * configure.ac:
33174         * gst-libs/gst/vaapi/Makefile.am:
33175         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33176           Drop dependency on libavformat.
33177
33178 2010-06-22 15:15:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33179
33180         * gst-libs/gst/video/gstbasevideodecoder.c:
33181         * gst-libs/gst/video/gstbasevideodecoder.h:
33182           Add gst_base_video_decoder_update_src_caps(). Don't forcibly set "interlaced" field if upstream elements did not have any.
33183
33184 2010-06-22 14:06:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33185
33186         * gst-libs/gst/video/gstbasevideodecoder.c:
33187         * gst-libs/gst/video/gstbasevideoutils.c:
33188         * gst-libs/gst/video/gstbasevideoutils.h:
33189           Drop superfluous functions.
33190
33191 2010-06-22 13:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33192
33193         * gst-libs/gst/video/gstbasevideodecoder.c:
33194           Really drop any dependency on libgstvideo. i.e. inline the helpers.
33195
33196 2010-06-22 13:48:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33197
33198         * gst-libs/gst/video/gstbasevideodecoder.c:
33199           Further drop dependency on libgstvideo.
33200
33201 2010-06-22 12:57:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33202
33203         * gst-libs/gst/video/Makefile.am:
33204         * gst-libs/gst/video/gstbasevideocodec.c:
33205         * gst-libs/gst/video/gstbasevideocodec.h:
33206         * gst-libs/gst/video/gstbasevideodecoder.c:
33207         * gst-libs/gst/video/gstbasevideodecoder.h:
33208         * gst-libs/gst/video/gstbasevideoutils.c:
33209         * gst-libs/gst/video/gstbasevideoutils.h:
33210           Add GstBaseVideoDecoder from gst-plugins-bad git.
33211
33212 2010-06-15 12:36:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33213
33214         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33215           Fix GLX version check.
33216
33217 2010-06-14 14:46:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33218
33219         * NEWS:
33220         * configure.ac:
33221           Bump version for development.
33222
33223 2010-06-14 14:14:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33224
33225         * NEWS:
33226         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33227           Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer.
33228
33229 2010-06-14 12:58:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33230
33231         * NEWS:
33232           Update changelog.
33233
33234 2010-06-14 09:20:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33235
33236         * gst-libs/gst/vaapi/gstvaapicompat.h:
33237           Fix build with older VA-API 0.29-sds.
33238
33239 2010-05-18 11:22:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33240
33241         * gst/vaapisink/gstvaapisink.c:
33242         * gst/vaapisink/gstvaapisink.h:
33243           Fix upscaling in foreign window (Totem).
33244
33245 2010-05-17 12:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33246
33247         * gst/vaapisink/gstvaapisink.c:
33248           Soft validate caps since we only care about video/x-vaapi-surface as input. _setcaps() will check for other fields.
33249
33250 2010-05-17 08:55:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33251
33252         * NEWS:
33253         * gst/vaapisink/gstvaapisink.c:
33254           Fix video rendering rect within an embedder window (Totem).
33255
33256 2010-05-17 08:28:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33257
33258         * NEWS:
33259         * gst/vaapisink/gstvaapisink.c:
33260           Disable GLX rendering when vaapisink uses a foreign X window.
33261
33262 2010-05-17 08:24:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33263
33264         * gst/vaapisink/gstvaapisink.c:
33265           Simplify GLX rendering code.
33266
33267 2010-05-17 07:32:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33268
33269         * configure.ac:
33270           Bump version for development.
33271
33272 2010-05-16 21:44:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33273
33274         * NEWS:
33275           0.2.3.
33276
33277 2010-05-16 21:35:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33278
33279         * gst/vaapidecode/gstvaapidecode.c:
33280           Wait for at most one second for a VA surface to become available.
33281
33282 2010-05-16 21:18:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33283
33284         * README:
33285         * configure.ac:
33286           Build-Requires: gstreamer0.10 >= 0.10.10 for gst_caps_merge().
33287
33288 2010-05-16 21:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33289
33290         * NEWS:
33291         * README:
33292         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33293           Fix decoder caps to report codec aliases.
33294
33295 2010-05-16 21:04:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33296
33297         * NEWS:
33298         * gst/vaapidecode/gstvaapidecode.c:
33299         * gst/vaapidecode/gstvaapidecode.h:
33300           Fix VC-1 decoding through the playbin2 pipeline.
33301
33302 2010-05-15 15:33:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33303
33304         * docs/reference/libs/libs-sections.txt:
33305         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33306         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33307         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33308         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33309           Regularly update and expose decoder caps.
33310
33311 2010-05-15 09:43:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33312
33313         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33314         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33315         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33316           Add mechanism to reinsert buffer leftovers into the queue.
33317
33318 2010-05-15 06:59:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33319
33320         * NEWS:
33321         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33322           Fix memory leak of encoded buffers.
33323
33324 2010-05-15 05:36:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33325
33326         * docs/reference/libs/libs-sections.txt:
33327         * gst-libs/gst/vaapi/gstvaapicontext.c:
33328         * gst-libs/gst/vaapi/gstvaapicontext.h:
33329         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33330         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33331           Check for out-of-free-surfaces condition.
33332
33333 2010-05-15 04:35:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33334
33335         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33336           Change GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN value to something more generic (-1).
33337
33338 2010-05-15 04:25:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33339
33340         * gst/vaapisink/gstvaapisink.c:
33341           Improve debug info for gst_vaapisink_ensure_render_rect().
33342
33343 2010-05-14 05:02:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33344
33345         * configure.ac:
33346           Bump version for development.
33347
33348 2010-05-13 21:52:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33349
33350         * NEWS:
33351           0.2.2.
33352
33353 2010-05-13 21:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33354
33355         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33356           Improve previous fix.
33357
33358 2010-05-13 21:27:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33359
33360         * NEWS:
33361         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33362           Fix a crash in the FFmpeg decoder on close.
33363
33364 2010-05-13 16:41:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33365
33366         * README:
33367           Sort platforms by name.
33368
33369 2010-05-13 09:40:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33370
33371         * NEWS:
33372         * configure.ac:
33373           Bump version for development.
33374
33375 2010-05-13 09:38:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33376
33377         * gst/vaapisink/gstvaapisink.c:
33378           Add debug info for _show_frame().
33379
33380 2010-05-13 07:19:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33381
33382         * Makefile.am:
33383           Nuke older build dir.
33384
33385 2010-05-13 07:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33386
33387         * debian.upstream/control.in:
33388           Fix packaging deps.
33389
33390 2010-05-13 06:12:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33391
33392         * NEWS:
33393           Cosmetics.
33394
33395 2010-05-13 06:11:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33396
33397         * NEWS:
33398         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33399           Fix OpenGL texture internal format (Clutter).
33400
33401 2010-05-13 04:40:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33402
33403         * NEWS:
33404           Respin release.
33405
33406 2010-05-13 04:27:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33407
33408         * gst/vaapisink/gstvaapisink.c:
33409           Debug video & display PARs.
33410
33411 2010-05-13 04:22:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33412
33413         * gst/vaapisink/gstvaapisink.c:
33414           Use XGetGeometry() to retrieve the window size.
33415
33416 2010-05-12 19:40:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33417
33418         * gst/vaapisink/gstvaapisink.c:
33419           Move code around.
33420
33421 2010-05-12 19:35:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33422
33423         * gst/vaapisink/gstvaapisink.c:
33424           Ensure VA display is created prior to initializing the window from a specific XID. Also move code down.
33425
33426 2010-05-12 19:18:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33427
33428         * README:
33429           Drop obsolete comment.
33430
33431 2010-05-12 19:14:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33432
33433         * NEWS:
33434           0.2.1.
33435
33436 2010-05-12 19:14:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33437
33438         * gst/vaapidecode/gstvaapidecode.c:
33439           Fix GstVaapiDisplay refcounting in vaapidecode.
33440
33441 2010-05-12 14:10:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33442
33443         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
33444           Fix comment.
33445
33446 2010-05-12 12:58:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33447
33448         * gst/vaapisink/gstvaapisink.c:
33449         * gst/vaapisink/gstvaapisink.h:
33450           Fix render rect when the foreign window size changes.
33451
33452 2010-05-12 11:43:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33453
33454         * NEWS:
33455         * configure.ac:
33456         * gst/vaapisink/Makefile.am:
33457         * gst/vaapisink/gstvaapisink.c:
33458           Add GstXOverlay interface to vaapisink (e.g. for Totem).
33459
33460 2010-05-12 10:51:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33461
33462         * README:
33463           Update deps to match configure.ac versions.
33464
33465 2010-05-12 09:34:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33466
33467         * gst/vaapiconvert/gstvaapiconvert.c:
33468         * gst/vaapidecode/gstvaapidecode.c:
33469         * gst/vaapisink/gstvaapisink.c:
33470           Cosmetics.
33471
33472 2010-05-12 09:22:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33473
33474         * NEWS:
33475         * gst/vaapidecode/Makefile.am:
33476         * gst/vaapidecode/gstvaapidecode.c:
33477         * gst/vaapidecode/gstvaapidecode.h:
33478           Fix vaapidecode to expose the HW supported caps only.
33479
33480 2010-05-12 08:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33481
33482         * gst/vaapidecode/gstvaapidecode.c:
33483           Initialize decoder earlier.
33484
33485 2010-05-12 08:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33486
33487         * NEWS:
33488         * README:
33489         * gst/vaapidecode/gstvaapidecode.c:
33490           Fix integration within the playbin2 pipeline.
33491
33492 2010-05-12 08:02:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33493
33494         * docs/reference/libs/Makefile.am:
33495           Exclude gstvaapiutils_gst.h from docs for now.
33496
33497 2010-05-12 08:00:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33498
33499         * gst/vaapiconvert/gstvaapiconvert.c:
33500         * gst/vaapidecode/gstvaapidecode.c:
33501         * gst/vaapisink/gstvaapisink.c:
33502           Raise VA-API plugins ranks.
33503
33504 2010-05-12 07:57:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33505
33506         * gst-libs/gst/vaapi/Makefile.am:
33507         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
33508         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
33509           Add gst_vaapi_display_lookup_downstream() helper.
33510
33511 2010-05-11 16:23:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33512
33513         * gst/vaapidecode/gstvaapidecode.c:
33514           Use fixed caps on the src pad, they are not meant to change from video/x-vaapi-surface.
33515
33516 2010-05-11 16:19:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33517
33518         * docs/reference/libs/libs-sections.txt:
33519         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33520         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33521         * gst/vaapisink/gstvaapisink.c:
33522           Expose VA display through GstVaapiVideoBuffer.
33523
33524 2010-05-11 16:09:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33525
33526         * gst/vaapidecode/gstvaapidecode.c:
33527           Simplify gst_vaapidecode_set_caps() and fix memory leak.
33528
33529 2010-05-11 12:06:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33530
33531         * docs/reference/libs/libs-sections.txt:
33532         * gst-libs/gst/vaapi/gstvaapivideopool.c:
33533         * gst-libs/gst/vaapi/gstvaapivideopool.h:
33534           Expose video pool display.
33535
33536 2010-05-11 12:03:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33537
33538         * gst-libs/gst/vaapi/gstvaapivideosink.c:
33539           Stop iteration if there is no more element to examine.
33540
33541 2010-05-10 09:32:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33542
33543         * gst/vaapiconvert/gstvaapiconvert.c:
33544         * gst/vaapidecode/gstvaapidecode.c:
33545         * gst/vaapisink/gstvaapisink.c:
33546           Improve plugin details.
33547
33548 2010-05-07 06:35:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33549
33550         * gst-libs/gst/vaapi/gstvaapisurface.h:
33551         * gst/vaapiconvert/gstvaapiconvert.c:
33552         * gst/vaapidecode/gstvaapidecode.c:
33553         * gst/vaapisink/gstvaapisink.c:
33554           Factor out VA surface caps.
33555
33556 2010-05-05 15:36:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33557
33558         * gst/vaapidecode/gstvaapidecode.c:
33559           Add gst_vaapidecode_ensure_display() helper for set-caps.
33560
33561 2010-05-05 12:57:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33562
33563         * configure.ac:
33564           Bump version for development.
33565
33566 2010-05-05 12:29:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33567
33568         * NEWS:
33569           Really make it 0.2.0.
33570
33571 2010-05-05 12:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33572
33573         * README:
33574           More docs.
33575
33576 2010-05-05 11:48:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33577
33578         * docs/reference/libs/Makefile.am:
33579           Don't exclude GstVaapiParamSpecs.
33580
33581 2010-05-05 11:44:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33582
33583         * docs/reference/libs/Makefile.am:
33584         * docs/reference/libs/libs-sections.txt:
33585         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33586         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
33587           Fix docs.
33588
33589 2010-05-05 06:06:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33590
33591         * gst/vaapiconvert/gstvaapiconvert.c:
33592         * gst/vaapidecode/gstvaapidecode.c:
33593         * gst/vaapisink/gstvaapisink.c:
33594           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.
33595
33596 2010-05-04 15:03:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33597
33598         * gst-libs/gst/vaapi/Makefile.am:
33599           Really link all helper libraries with libtool -no-undefined.
33600
33601 2010-05-04 15:02:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33602
33603         * gst-libs/gst/vaapi/Makefile.am:
33604           Link helper libraries with libtool -no-undefined.
33605
33606 2010-05-04 14:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33607
33608         * configure.ac:
33609         * debian.upstream/gstreamer-vaapi.install.in:
33610         * gst/vaapiconvert/Makefile.am:
33611         * gst/vaapidecode/Makefile.am:
33612         * gst/vaapisink/Makefile.am:
33613           Don't build plugins with SONAME. Make them plain *.so.
33614
33615 2010-05-04 08:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33616
33617         * README:
33618           Improve documentation for release.
33619
33620 2010-05-03 22:50:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33621
33622         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33623           Fix build with older VA-API 0.29.
33624
33625 2010-05-03 22:43:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33626
33627         * NEWS:
33628           0.2.0.
33629
33630 2010-05-03 22:42:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33631
33632         * tests/Makefile.am:
33633           Fix make dist.
33634
33635 2010-05-03 22:36:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33636
33637         * docs/reference/libs/Makefile.am:
33638         * docs/reference/libs/libs-docs.xml.in:
33639         * docs/reference/libs/libs-sections.txt:
33640         * docs/reference/libs/libs.core.types:
33641         * docs/reference/plugins/Makefile.am:
33642         * docs/reference/plugins/plugins-docs.xml.in:
33643         * docs/reference/plugins/plugins-sections.txt:
33644         * docs/reference/plugins/plugins.types:
33645           Add missing docs.
33646
33647 2010-05-03 22:34:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33648
33649         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33650           Fix doc.
33651
33652 2010-05-03 22:28:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33653
33654         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33655         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
33656         * gst/vaapidecode/gstvaapidecode.c:
33657         * tests/test-decode.c:
33658           Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new().
33659
33660 2010-05-03 22:02:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33661
33662         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33663         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33664           Extract framerate information from caps.
33665
33666 2010-05-03 21:49:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33667
33668         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33669         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33670         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33671           Move caps initialization to parent class.
33672
33673 2010-05-03 21:25:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33674
33675         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33676           Simplify.
33677
33678 2010-05-03 21:25:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33679
33680         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33681           Fix doc.
33682
33683 2010-05-03 21:14:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33684
33685         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33686         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33687           More simplifications.
33688
33689 2010-05-03 20:55:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33690
33691         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33692         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33693         * tests/test-decode.c:
33694           Simplify GstVaapiDecoder API.
33695
33696 2010-05-03 20:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33697
33698         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33699           Drop obsolete defs.
33700
33701 2010-05-03 20:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33702
33703         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33704           Drop obsolete decls.
33705
33706 2010-05-03 17:36:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33707
33708         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33709         * gst/vaapidecode/gstvaapidecode.c:
33710           Add more aliases for MPEG-4 decoding.
33711
33712 2010-05-03 17:04:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33713
33714         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33715           Use avctx->coded_{width,height} info to create the VA context.
33716
33717 2010-05-03 16:54:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33718
33719         * tests/test-decode.c:
33720         * tests/test-decode.h:
33721           Use gst_vaapi_decoder_ffmpeg_new_from_caps().
33722
33723 2010-05-03 16:41:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33724
33725         * tests/test-decode.c:
33726         * tests/test-decode.h:
33727         * tests/test-h264.c:
33728         * tests/test-h264.h:
33729         * tests/test-mpeg2.c:
33730         * tests/test-mpeg2.h:
33731         * tests/test-vc1.c:
33732         * tests/test-vc1.h:
33733           Simplify tests info.
33734
33735 2010-05-03 16:17:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33736
33737         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33738           Try to improve heuristics to use an AVCodecContextParser.
33739
33740 2010-05-03 15:35:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33741
33742         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33743           Fix VC-1 decoding, it does not require any specific parser.
33744
33745 2010-05-03 15:34:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33746
33747         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33748           Fix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one).
33749
33750 2010-05-03 15:29:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33751
33752         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33753         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33754           Use size information from the demuxer, whenever available. i.e. fix WMV3 decoding.
33755
33756 2010-05-03 15:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33757
33758         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33759         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33760         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
33761         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33762         * gst/vaapidecode/gstvaapidecode.c:
33763         * gst/vaapidecode/gstvaapidecode.h:
33764           Add gst_vaapi_decoder_ffmpeg_new_from_caps() helper.
33765
33766 2010-05-03 14:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33767
33768         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33769         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33770         * gst-libs/gst/vaapi/gstvaapiprofile.h:
33771           Improve WMV3 detection yet further.
33772
33773 2010-05-03 13:44:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33774
33775         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33776           Fix detection of plain old WMV3 contents.
33777
33778 2010-05-03 12:25:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33779
33780         * tests/test-vc1.c:
33781           Add End-of-Sequence start code.
33782
33783 2010-05-03 11:44:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33784
33785         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33786         * gst/vaapidecode/gstvaapidecode.c:
33787           Fix VC-1 detection.
33788
33789 2010-05-03 08:51:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33790
33791         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33792           Fix build with older gstreamer libs where gst_buffer_unref() is not a plain function.
33793
33794 2010-05-03 08:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33795
33796         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33797         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33798           Drop obsolete (and wrong) code.
33799
33800 2010-05-03 08:33:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33801
33802         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33803           Cosmetics (spelling).
33804
33805 2010-05-03 08:32:46 +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_priv.h:
33810           Try to fix timestamps (step 1). Looks OK on H55.
33811
33812 2010-05-03 07:10:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33813
33814         * debian.upstream/Makefile.am:
33815           Ship with COPYING.LIB.
33816
33817 2010-05-03 07:07:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33818
33819         * COPYING.LIB:
33820         * NEWS:
33821         * README:
33822         * gst-libs/gst/vaapi/gstvaapi_priv.h:
33823         * gst-libs/gst/vaapi/gstvaapicompat.h:
33824         * gst-libs/gst/vaapi/gstvaapicontext.c:
33825         * gst-libs/gst/vaapi/gstvaapicontext.h:
33826         * gst-libs/gst/vaapi/gstvaapidebug.h:
33827         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33828         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33829         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33830         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
33831         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33832         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33833         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33834         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
33835         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
33836         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
33837         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
33838         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33839         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
33840         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
33841         * gst-libs/gst/vaapi/gstvaapiimage.c:
33842         * gst-libs/gst/vaapi/gstvaapiimage.h:
33843         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
33844         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
33845         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
33846         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
33847         * gst-libs/gst/vaapi/gstvaapiobject.c:
33848         * gst-libs/gst/vaapi/gstvaapiobject.h:
33849         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
33850         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
33851         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
33852         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33853         * gst-libs/gst/vaapi/gstvaapiprofile.h:
33854         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
33855         * gst-libs/gst/vaapi/gstvaapisurface.h:
33856         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
33857         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
33858         * gst-libs/gst/vaapi/gstvaapitexture.h:
33859         * gst-libs/gst/vaapi/gstvaapitypes.h:
33860         * gst-libs/gst/vaapi/gstvaapiutils.h:
33861         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
33862         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
33863         * gst-libs/gst/vaapi/gstvaapivalue.h:
33864         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33865         * gst-libs/gst/vaapi/gstvaapivideopool.h:
33866         * gst-libs/gst/vaapi/gstvaapivideosink.h:
33867         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33868         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
33869         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
33870           Relicense gst-libs/ code to LGPL v2.1+.
33871
33872 2010-05-03 06:49:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33873
33874         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33875           Drop extraneous comma.
33876
33877 2010-05-03 06:49:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33878
33879         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33880           Drop variant=itu field to help codec detection.
33881
33882 2010-04-30 15:50:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33883
33884         * gst/vaapidecode/gstvaapidecode.c:
33885           Decode as many surfaces as possible in gst_vaapidecode_step().
33886
33887 2010-04-30 15:37:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33888
33889         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33890         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33891         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33892         * gst/vaapidecode/gstvaapidecode.c:
33893         * gst/vaapidecode/gstvaapidecode.h:
33894         * tests/test-decode.c:
33895           Drop excessive threading that over-complicates synchronisation. MPEG-2 & H.264 videos now play but there are other problems (timestamps).
33896
33897 2010-04-30 13:13:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33898
33899         * configure.ac:
33900           0.2.0.
33901
33902 2010-04-30 12:04:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33903
33904         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33905           Move VA context reset to AVCodecContext.get_context() as the surface sizes can change.
33906
33907 2010-04-30 09:52:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33908
33909         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33910         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33911           Fix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too.
33912
33913 2010-04-30 09:48:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33914
33915         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33916         * gst-libs/gst/vaapi/gstvaapiprofile.h:
33917           Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.
33918
33919 2010-04-30 08:18:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33920
33921         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33922           Document H.264 / AVC1 format case better.
33923
33924 2010-04-29 23:09:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33925
33926         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33927           Fix H.264 decoding with AVC1 format bitstreams.
33928
33929 2010-04-29 22:00:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33930
33931         * gst/vaapidecode/gstvaapidecode.c:
33932           Complete initialization of the GstVaapiVideoBuffer. Some frames start to show up.
33933
33934 2010-04-29 21:59:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33935
33936         * gst/vaapisink/gstvaapisink.c:
33937           Add missing GstBaseSink::buffer_alloc() override. i.e. make sure to allocate a GstVaapiVideoBuffer instead of a plain GstBuffer from the peer pad.
33938
33939 2010-04-29 21:56:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33940
33941         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33942         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33943           Export gst_vaapi_video_buffer_new().
33944
33945 2010-04-29 21:12:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33946
33947         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33948           Fix gst_vaapi_profile_get_caps() to include the "profile" field.
33949
33950 2010-04-29 17:56:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33951
33952         * configure.ac:
33953           Fix comment.
33954
33955 2010-04-29 17:55:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33956
33957         * NEWS:
33958         * configure.ac:
33959         * gst/Makefile.am:
33960         * gst/vaapidecode/Makefile.am:
33961         * gst/vaapidecode/gstvaapidecode.c:
33962         * gst/vaapidecode/gstvaapidecode.h:
33963           Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.
33964
33965 2010-04-29 17:51:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33966
33967         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33968         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33969           Add gst_vaapi_decoder_pause().
33970
33971 2010-04-29 17:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33972
33973         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33974         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33975         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33976           Use a GstTask with start/stop semantics for the decoder thread.
33977
33978 2010-04-29 16:08:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33979
33980         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33981           Drop extraneous var.
33982
33983 2010-04-29 15:45:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33984
33985         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33986         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33987           Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.
33988
33989 2010-04-29 14:58:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33990
33991         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33992           Fix gst_vaapi_decoder_get_surface() status.
33993
33994 2010-04-29 14:28:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33995
33996         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33997         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33998           Try to set correct timestamps to the decoded surface proxy.
33999
34000 2010-04-29 12:52:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34001
34002         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
34003         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
34004         * tests/test-decode.c:
34005           Add timestamps to GstVaapiSurfaceProxy.
34006
34007 2010-04-29 09:43:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34008
34009         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34010           Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.
34011
34012 2010-04-29 09:40:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34013
34014         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34015           Fix destructor, av_parser_close() does destroy the struct already, unliker avcodec_close()...
34016
34017 2010-04-29 09:35:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34018
34019         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34020           Prefer profile from codec-data if any was found there.
34021
34022 2010-04-29 09:34:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34023
34024         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34025           Improve heuristics to find the best profile. Use the highest one if no explicit match on "profile" field.
34026
34027 2010-04-28 23:09:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34028
34029         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34030           Make sure gst_vaapi_decoder_get_surface() gets unblocked on error.
34031
34032 2010-04-28 22:30:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34033
34034         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34035           Fix VC-1 codec initialization, it really needs an extradata buffer.
34036
34037 2010-04-28 22:16:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34038
34039         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34040         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34041           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.
34042
34043 2010-04-28 21:58:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34044
34045         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34046           Move gst_vaapi_decoder_ffmpeg_create() call to object constructor.
34047
34048 2010-04-28 21:50:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34049
34050         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34051         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34052         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
34053         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34054         * tests/test-decode.c:
34055           Add "codec-data" property for additional codec data. e.g. VC-1 sequence headers for elementary streams.
34056
34057 2010-04-28 21:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34058
34059         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34060           Cosmetics (weird indentation).
34061
34062 2010-04-28 21:15:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34063
34064         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34065           Cosmetics (extraneous variable, debug message).
34066
34067 2010-04-28 09:07:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34068
34069         * configure.ac:
34070           Fix check for VA-API enabled FFmpeg.
34071
34072 2010-04-27 15:26:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34073
34074         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34075         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34076         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34077         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34078           - Add PTS and framerate information. - Simplify parsing with an AVCodeParserContext.
34079
34080 2010-04-27 11:59:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34081
34082         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34083         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34084           Add more error codes. Fix documentation.
34085
34086 2010-04-26 13:30:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34087
34088         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34089           Fix gst_vaapi_profile_get_codec(). Improve gst_vaapi_profile_from_caps() for H.264 & caps with "codec-data".
34090
34091 2010-04-26 11:44:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34092
34093         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34094         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34095         * tests/test-decode.c:
34096           Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.
34097
34098 2010-04-26 11:36:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34099
34100         * tests/test-vc1.c:
34101           Drop useless End-of-Sequence marker.
34102
34103 2010-04-26 08:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34104
34105         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34106           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.
34107
34108 2010-04-26 08:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34109
34110         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34111         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34112           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.
34113
34114 2010-04-26 08:15:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34115
34116         * tests/test-h264.c:
34117         * tests/test-vc1.c:
34118           Regenerate correct clips.
34119
34120 2010-04-23 16:11:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34121
34122         * tests/Makefile.am:
34123         * tests/test-decode.c:
34124         * tests/test-h264.c:
34125         * tests/test-h264.h:
34126         * tests/test-mpeg2.c:
34127         * tests/test-mpeg2.h:
34128         * tests/test-vc1.c:
34129         * tests/test-vc1.h:
34130           Add decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
34131           XXX: only VC-1 decoding works at this time because of awful
34132           bugs left in GstVaapiDecoderFfmpeg et al.
34133
34134 2010-04-23 16:05:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34135
34136         * configure.ac:
34137         * gst-libs/gst/vaapi/Makefile.am:
34138         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34139         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34140         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34141         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
34142         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34143           Add initial (multithreaded) decoder based on FFmpeg.
34144           There are tons of bugs left:
34145           - Decoder API not nice enough with error conditions
34146           - FFmpeg parser is sometimes broken
34147           - Packets queue can be lost
34148
34149 2010-04-23 16:00:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34150
34151         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
34152         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
34153           Add surface proxy that holds a reference to the parent surface and that returns the surface to that context on destruction.
34154
34155 2010-04-23 15:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34156
34157         * gst-libs/gst/vaapi/gstvaapicontext.c:
34158         * gst-libs/gst/vaapi/gstvaapicontext.h:
34159           Add VA context abstraction.
34160
34161 2010-04-23 10:58:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34162
34163         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34164           Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
34165
34166 2010-04-21 15:03:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34167
34168         * gst-libs/gst/vaapi/gstvaapivideopool.c:
34169         * gst-libs/gst/vaapi/gstvaapivideopool.h:
34170           Add a means to cap the number of objects allocated in the pool.
34171
34172 2010-04-21 15:02:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34173
34174         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34175         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34176           Add VA entrypoint abstraction.
34177
34178 2010-04-20 13:36:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34179
34180         * docs/reference/libs/libs-docs.xml.in:
34181         * docs/reference/libs/libs-sections.txt:
34182         * gst-libs/gst/vaapi/Makefile.am:
34183         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34184         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34185         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34186         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34187         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34188         * tests/test-display.c:
34189           Add VA profile abstraction.
34190
34191 2010-04-20 07:51:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34192
34193         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34194           Fix OpenGL rendering on G45 systems.
34195
34196 2010-04-16 13:47:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34197
34198         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34199           Fix gl_create_context() to find a GLXFBConfig compatible with the parent GL context.
34200
34201 2010-04-02 11:27:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34202
34203         * gst-libs/gst/vaapi/gstvaapitexture.c:
34204         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34205         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34206           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.
34207
34208 2010-04-01 16:11:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34209
34210         * gst-libs/gst/vaapi/gstvaapitexture.c:
34211           Fix get-out conditions.
34212
34213 2010-04-01 15:38:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34214
34215         * gst-libs/gst/vaapi/gstvaapitexture.c:
34216         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34217           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.
34218
34219 2010-04-01 13:55:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34220
34221         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34222           Shorter structs.
34223
34224 2010-04-01 13:41:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34225
34226         * docs/reference/libs/libs-sections.txt:
34227         * gst-libs/gst/vaapi/Makefile.am:
34228         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34229         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
34230         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34231         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34232         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34233         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
34234         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34235         * gst-libs/gst/vaapi/gstvaapitexture.c:
34236         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34237         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34238         * tests/test-windows.c:
34239           Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way.
34240
34241 2010-04-01 09:47:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34242
34243         * gst-libs/gst/vaapi/Makefile.am:
34244         * gst-libs/gst/vaapi/gstvaapi_priv.h:
34245         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34246         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34247         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34248         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34249         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34250         * gst-libs/gst/vaapi/gstvaapiimage.c:
34251         * gst-libs/gst/vaapi/gstvaapiobject.c:
34252         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34253         * gst-libs/gst/vaapi/gstvaapisurface.c:
34254         * gst-libs/gst/vaapi/gstvaapitexture.c:
34255         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34256         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34257         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34258           Move GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapidisplay_priv.h.
34259
34260 2010-03-31 15:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34261
34262         * gst-libs/gst/vaapi/gstvaapitexture.c:
34263         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34264         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34265         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34266           Improve handling of GL contexts.
34267
34268 2010-03-30 16:41:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34269
34270         * configure.ac:
34271           Simplify summary.
34272
34273 2010-03-30 13:33:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34274
34275         * configure.ac:
34276           Bump version for development.
34277
34278 2010-03-30 13:29:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34279
34280         * configure.ac:
34281         * debian.upstream/Makefile.am:
34282         * debian.upstream/control.in:
34283           Rename -dev package to libgstvaapi-dev.
34284
34285 2010-03-30 13:17:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34286
34287         * NEWS:
34288         * README:
34289           Updates.
34290
34291 2010-03-30 13:05:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34292
34293         * gst-libs/gst/vaapi/gstvaapiutils.c:
34294           Fix build with VA-API < 0.30.
34295
34296 2010-03-30 13:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34297
34298         * configure.ac:
34299         * gst-libs/gst/vaapi/gstvaapicompat.h:
34300         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34301         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
34302         * gst-libs/gst/vaapi/gstvaapitexture.c:
34303         * tests/test-display.c:
34304           Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO.
34305
34306 2010-03-30 12:59:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34307
34308         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34309         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34310           Add TFP and FBO helpers.
34311
34312 2010-03-30 12:55:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34313
34314         * gst-libs/gst/vaapi/gstvaapiutils.c:
34315         * gst-libs/gst/vaapi/gstvaapiutils.h:
34316           Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.
34317
34318 2010-03-30 08:13:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34319
34320         * gst-libs/gst/vaapi/gstvaapitexture.c:
34321         * gst-libs/gst/vaapi/gstvaapiutils.c:
34322         * gst-libs/gst/vaapi/gstvaapiutils.h:
34323         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34324           Use a shorter function name.
34325
34326 2010-03-30 08:11:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34327
34328         * docs/reference/libs/libs-sections.txt:
34329         * gst-libs/gst/vaapi/gstvaapisurface.c:
34330         * gst-libs/gst/vaapi/gstvaapisurface.h:
34331         * gst-libs/gst/vaapi/gstvaapiutils.c:
34332         * gst-libs/gst/vaapi/gstvaapiutils.h:
34333           Add gst_vaapi_surface_query_status() wrapper.
34334
34335 2010-03-30 07:50:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34336
34337         * docs/reference/plugins/Makefile.am:
34338           Fix leftover during migration.
34339
34340 2010-03-30 07:46:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34341
34342         * Makefile.am:
34343         * configure.ac:
34344         * docs/reference/plugins/Makefile.am:
34345         * gst/Makefile.am:
34346         * gst/vaapiconvert/Makefile.am:
34347         * gst/vaapiconvert/gstvaapiconvert.c:
34348         * gst/vaapiconvert/gstvaapiconvert.h:
34349         * gst/vaapisink/Makefile.am:
34350         * gst/vaapisink/gstvaapisink.c:
34351         * gst/vaapisink/gstvaapisink.h:
34352           Rename to gst/ as sys/ was too vague.
34353
34354 2010-03-30 07:39:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34355
34356         * gst-libs/gst/vaapi/gstvaapiimage.c:
34357         * gst-libs/gst/vaapi/gstvaapiimage.h:
34358         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34359         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34360         * gst-libs/gst/vaapi/gstvaapisurface.c:
34361         * gst-libs/gst/vaapi/gstvaapisurface.h:
34362           Try to not reference VA-API types directly.
34363
34364 2010-03-29 16:24:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34365
34366         * sys/vaapisink/gstvaapisink.c:
34367           Fix reflection code to preserve aspect ratio.
34368
34369 2010-03-29 16:17:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34370
34371         * sys/vaapisink/gstvaapisink.c:
34372         * sys/vaapisink/gstvaapisink.h:
34373           Fix fullscreen mode.
34374
34375 2010-03-29 15:59:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34376
34377         * sys/vaapisink/gstvaapisink.c:
34378         * sys/vaapisink/gstvaapisink.h:
34379           Add OpenGL reflection effect ("use-reflection").
34380
34381 2010-03-29 15:51:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34382
34383         * configure.ac:
34384         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34385           Use a projection suitable for rotation around the Y axis.
34386
34387 2010-03-29 15:03:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34388
34389         * configure.ac:
34390         * sys/vaapisink/Makefile.am:
34391         * sys/vaapisink/gstvaapisink.c:
34392         * sys/vaapisink/gstvaapisink.h:
34393           Don't build vaapisink/gl by default. However, if this is enabled, use the GL renderer by default.
34394
34395 2010-03-29 14:50:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34396
34397         * configure.ac:
34398         * debian.upstream/Makefile.am:
34399         * debian.upstream/control.in:
34400         * debian.upstream/libgstvaapi-glx.install.in:
34401           Add libgstvaapi-glx-0 package.
34402
34403 2010-03-29 14:47:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34404
34405         * pkgconfig/Makefile.am:
34406           Really fix make distclean.
34407
34408 2010-03-29 14:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34409
34410         * docs/reference/libs/Makefile.am:
34411           Fix make dist.
34412
34413 2010-03-29 14:42:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34414
34415         * pkgconfig/Makefile.am:
34416           Fix make distclean.
34417
34418 2010-03-29 14:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34419
34420         * tests/Makefile.am:
34421           Fix make dist.
34422
34423 2010-03-29 14:31:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34424
34425         * docs/reference/libs/Makefile.am:
34426         * docs/reference/libs/libs.core.types:
34427         * docs/reference/libs/libs.glx.types:
34428         * docs/reference/libs/libs.x11.types:
34429           Fix doc build.
34430
34431 2010-03-29 14:21:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34432
34433         * sys/vaapisink/gstvaapisink.h:
34434           Fix build without GLX.
34435
34436 2010-03-29 14:13:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34437
34438         * NEWS:
34439           0.1.2.
34440
34441 2010-03-29 14:13:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34442
34443         * sys/vaapisink/Makefile.am:
34444         * sys/vaapisink/gstvaapisink.c:
34445         * sys/vaapisink/gstvaapisink.h:
34446           Add VA/GLX support to vaapisink.
34447
34448 2010-03-29 13:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34449
34450         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34451         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34452         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34453           Add glXSwapBuffers() workaround for NVIDIA.
34454
34455 2010-03-29 13:27:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34456
34457         * tests/Makefile.am:
34458         * tests/test-textures.c:
34459           Improve VA/GLX textures test.
34460
34461 2010-03-29 12:51:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34462
34463         * gst-libs/gst/vaapi/gstvaapitexture.c:
34464         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34465         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34466           Fix texture rendering.
34467
34468 2010-03-29 11:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34469
34470         * docs/reference/libs/libs-docs.xml.in:
34471         * docs/reference/libs/libs-sections.txt:
34472         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34473         * gst-libs/gst/vaapi/gstvaapitexture.c:
34474           Fix documentation.
34475
34476 2010-03-29 10:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34477
34478         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34479         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
34480           Add gst_vaapi_window_glx_put_texture() helper.
34481
34482 2010-03-29 09:09:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34483
34484         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34485           Fix typos.
34486
34487 2010-03-26 17:00:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34488
34489         * tests/image.c:
34490         * tests/image.h:
34491         * tests/test-windows.c:
34492           Move code around.
34493
34494 2010-03-26 16:52:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34495
34496         * gst-libs/gst/vaapi/Makefile.am:
34497         * gst-libs/gst/vaapi/gstvaapitexture.c:
34498         * gst-libs/gst/vaapi/gstvaapitexture.h:
34499         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34500         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34501           Add initial VA/GLX texture abstraction though the API is not good enough yet.
34502
34503 2010-03-26 15:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34504
34505         * docs/reference/libs/libs-sections.txt:
34506         * gst-libs/gst/vaapi/gstvaapiobject.c:
34507         * gst-libs/gst/vaapi/gstvaapiobject.h:
34508           Add gst_vaapi_object_{,un}lock_display() helpers.
34509
34510 2010-03-26 15:16:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34511
34512         * tests/Makefile.am:
34513         * tests/image.c:
34514         * tests/image.h:
34515         * tests/test-windows.c:
34516           Factor out image utilities.
34517
34518 2010-03-26 11:54:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34519
34520         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34521           MT-Safe: lock display.
34522
34523 2010-03-26 11:50:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34524
34525         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34526           Make sure window resize completed prior to resizing the GL viewport.
34527
34528 2010-03-26 11:39:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34529
34530         * gst-libs/gst/vaapi/Makefile.am:
34531           gstvaapicompat.h is a private header, don't install it.
34532
34533 2010-03-26 11:35:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34534
34535         * docs/reference/libs/libs-sections.txt:
34536         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34537         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34538         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34539           Add gst_vaapi_display_{sync,flush}() helpers.
34540
34541 2010-03-26 11:30:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34542
34543         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34544         * sys/vaapisink/gstvaapisink.c:
34545         * sys/vaapisink/gstvaapisink.h:
34546           Add "synchronous" mode.
34547
34548 2010-03-26 11:02:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34549
34550         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34551         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34552           Only add _display suffix to open & close members because they could be #define to some arbitrary value. lock/unlock are safe names.
34553
34554 2010-03-26 10:09:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34555
34556         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34557           Restore GLX context only if there is one.
34558
34559 2010-03-26 09:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34560
34561         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34562         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34563         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34564         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
34565           Add gst_vaapi_window_glx_make_current(). Handle X11 window size changes and reset the GL viewport.
34566
34567 2010-03-26 08:35:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34568
34569         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34570           Check GstVaapiWindow::render() is available prior to calling it.
34571
34572 2010-03-26 08:10:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34573
34574         * tests/Makefile.am:
34575         * tests/test-display.c:
34576         * tests/test-textures.c:
34577           Add VA/GLX display tests.
34578
34579 2010-03-26 08:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34580
34581         * configure.ac:
34582         * gst-libs/gst/vaapi/Makefile.am:
34583           Fix compile flags.
34584
34585 2010-03-25 17:39:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34586
34587         * docs/reference/libs/Makefile.am:
34588         * docs/reference/libs/libs-docs.xml.in:
34589         * docs/reference/libs/libs-sections.txt:
34590         * docs/reference/libs/libs.types:
34591           Add missing API documentation.
34592
34593 2010-03-25 17:28:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34594
34595         * configure.ac:
34596         * gst-libs/gst/vaapi/Makefile.am:
34597         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34598         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
34599         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34600         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34601         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34602         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
34603         * pkgconfig/Makefile.am:
34604         * pkgconfig/gstreamer-vaapi-glx.pc.in:
34605         * tests/Makefile.am:
34606         * tests/test-textures.c:
34607           Add initial VA/GLX support.
34608
34609 2010-03-25 17:21:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34610
34611         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34612           Add missing includes (for vaapi_check_status()).
34613
34614 2010-03-25 17:21:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34615
34616         * gst-libs/gst/vaapi/gstvaapidebug.h:
34617           Only enable GST_DEBUG() if DEBUG is defined. Drop old D(bug()) stuff.
34618
34619 2010-03-25 17:18:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34620
34621         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34622         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
34623           Add gst_vaapi_window_x11_is_foreign_xid() helper.
34624
34625 2010-03-25 17:18:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34626
34627         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
34628         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
34629         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34630         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
34631           Allow derived classes to specify custom Visual and Colormap.
34632
34633 2010-03-25 13:54:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34634
34635         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
34636         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
34637         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34638           Allow window creation with a specific visual (e.g. for GLX support).
34639
34640 2010-03-25 13:21:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34641
34642         * gst-libs/gst/vaapi/gstvaapiimage.c:
34643           Fix return value on error (though it's the same in the end).
34644
34645 2010-03-25 12:39:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34646
34647         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34648         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34649           Simplify initialization of VADisplay.
34650
34651 2010-03-25 10:04:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34652
34653         * configure.ac:
34654           Move __attribute__((visibility("hidden"))) check down.
34655
34656 2010-03-25 09:49:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34657
34658         * docs/reference/libs/libs-sections.txt:
34659         * gst-libs/gst/vaapi/gstvaapiimage.c:
34660         * gst-libs/gst/vaapi/gstvaapiimage.h:
34661         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34662         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34663         * gst-libs/gst/vaapi/gstvaapisurface.c:
34664         * gst-libs/gst/vaapi/gstvaapisurface.h:
34665         * tests/test-surfaces.c:
34666           Restore the gst_vaapi_{surface,image,subpicture}_get_id() interfaces.
34667
34668 2010-03-25 09:39:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34669
34670         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34671           Use the parent display object, no need to maintain another one.
34672           In the end, libgstvaapi-x11 reduced by 1 KB in .text vs. 0.1.1.
34673
34674 2010-03-25 09:37:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34675
34676         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34677           Add more internal helpers.
34678
34679 2010-03-24 17:40:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34680
34681         * gst-libs/gst/vaapi/gstvaapiimage.c:
34682         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34683         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34684         * gst-libs/gst/vaapi/gstvaapisurface.c:
34685         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34686         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34687           Rename to GST_VAAPI_OBJECT_DISPLAY().
34688
34689 2010-03-24 17:38:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34690
34691         * docs/reference/libs/libs-sections.txt:
34692         * gst-libs/gst/vaapi/gstvaapiimage.c:
34693         * gst-libs/gst/vaapi/gstvaapiobject.c:
34694         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34695         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34696         * gst-libs/gst/vaapi/gstvaapisurface.c:
34697         * gst-libs/gst/vaapi/gstvaapitypes.h:
34698         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34699           All GstVaapiID are initialized to GST_VAAPI_ID_NONE by default. Besides, all GstVaapiObject derived class shall initialize "id" to a valid value.
34700
34701 2010-03-24 17:22:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34702
34703         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34704         * gst-libs/gst/vaapi/gstvaapiwindow.h:
34705         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34706           Make GstVaapiWindow* derive from GstVaapiObject.
34707
34708 2010-03-24 16:37:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34709
34710         * configure.ac:
34711           Factor out use gstreamer-vaapi (PACKAGE name).
34712
34713 2010-03-24 16:35:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34714
34715         * configure.ac:
34716           Improve versioning summary.
34717
34718 2010-03-24 16:27:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34719
34720         * gst-libs/gst/vaapi/Makefile.am:
34721           gstvaapicompat.h is now a private header (not installed).
34722
34723 2010-03-24 16:25:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34724
34725         * gst-libs/gst/vaapi/gstvaapiimage.c:
34726         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34727         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34728         * gst-libs/gst/vaapi/gstvaapiobject.c:
34729         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34730         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34731           Include gstvaapicompat.h in source files only, not headers.
34732
34733 2010-03-24 16:21:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34734
34735         * configure.ac:
34736         * gst-libs/gst/vaapi/Makefile.am:
34737         * sys/vaapiconvert/Makefile.am:
34738         * sys/vaapisink/Makefile.am:
34739         * tests/Makefile.am:
34740           Drop tedious LIBVA_EXTRA_{CFLAGS,LIBS} definitions in Makefile.am. Override CFLAGS & LIBS instead.
34741
34742 2010-03-24 16:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34743
34744         * NEWS:
34745         * configure.ac:
34746         * gst-libs/gst/vaapi/Makefile.am:
34747         * gst-libs/gst/vaapi/gstvaapicompat.h:
34748         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34749         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34750         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34751         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34752         * gst-libs/gst/vaapi/gstvaapisurface.c:
34753         * gst-libs/gst/vaapi/gstvaapiutils.c:
34754         * gst-libs/gst/vaapi/gstvaapiutils.h:
34755         * pkgconfig/gstreamer-vaapi-x11.pc.in:
34756         * pkgconfig/gstreamer-vaapi.pc.in:
34757         * sys/vaapiconvert/Makefile.am:
34758         * sys/vaapisink/Makefile.am:
34759         * tests/Makefile.am:
34760           Add compatibility with the original VA-API 0.29.
34761
34762 2010-03-24 15:18:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34763
34764         * gst-libs/gst/vaapi/gstvaapivalue.h:
34765           Add missing file (gstvaapivalue.h).
34766
34767 2010-03-24 15:12:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34768
34769         * gst-libs/gst/vaapi/gstvaapiimage.c:
34770         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34771         * gst-libs/gst/vaapi/gstvaapisurface.c:
34772           Fix g_warning() invocation.
34773
34774 2010-03-24 15:11:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34775
34776         * gst-libs/gst/vaapi/gstvaapisurface.c:
34777           Deassociate subpictures while destroying the surface.
34778
34779 2010-03-24 14:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34780
34781         * gst-libs/gst/vaapi/gstvaapisurface.c:
34782           Fix destruction order of subpictures. They should be destroyed first.
34783
34784 2010-03-24 14:46:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34785
34786         * NEWS:
34787         * gst-libs/gst/vaapi/gstvaapiimage.c:
34788         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34789         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34790         * tests/test-windows.c:
34791           Add support for AYUV format.
34792
34793 2010-03-24 14:36:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34794
34795         * tests/test-windows.c:
34796           Simplify upload process and fallback to subpictures.
34797
34798 2010-03-24 13:44:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34799
34800         * docs/reference/libs/libs-docs.xml.in:
34801         * docs/reference/libs/libs-sections.txt:
34802         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34803           Fix documentation.
34804
34805 2010-03-24 13:37:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34806
34807         * gst-libs/gst/vaapi/Makefile.am:
34808         * gst-libs/gst/vaapi/gstvaapiobject.c:
34809         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34810         * gst-libs/gst/vaapi/gstvaapitypes.h:
34811         * gst-libs/gst/vaapi/gstvaapivalue.c:
34812           Move GValue specific stuff to a dedicated file.
34813
34814 2010-03-24 13:22:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34815
34816         * tests/test-surfaces.c:
34817           Cosmetics (lowercase for consistency).
34818
34819 2010-03-24 13:21:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34820
34821         * gst-libs/gst/vaapi/gstvaapiobject.c:
34822           Cosmetics (vertical alignment).
34823
34824 2010-03-24 13:20:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34825
34826         * gst-libs/gst/vaapi/gstvaapiobject.c:
34827           Fix return value on error.
34828
34829 2010-03-24 13:19:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34830
34831         * docs/reference/libs/libs-sections.txt:
34832         * gst-libs/gst/vaapi/gstvaapiimage.c:
34833         * gst-libs/gst/vaapi/gstvaapiimage.h:
34834         * gst-libs/gst/vaapi/gstvaapiobject.c:
34835         * gst-libs/gst/vaapi/gstvaapiobject.h:
34836         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34837         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34838         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34839         * gst-libs/gst/vaapi/gstvaapisurface.c:
34840         * gst-libs/gst/vaapi/gstvaapisurface.h:
34841         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34842         * tests/test-surfaces.c:
34843           Move "id" down to the GstVaapiObject base.
34844
34845 2010-03-24 12:59:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34846
34847         * gst-libs/gst/vaapi/gstvaapitypes.c:
34848           Cosmetics (drop extraneous empty line).
34849
34850 2010-03-24 12:57:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34851
34852         * gst-libs/gst/vaapi/Makefile.am:
34853         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34854         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
34855           Add GParamSpecs for GstVaapiID.
34856
34857 2010-03-24 12:54:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34858
34859         * docs/reference/libs/libs.types:
34860           Drop gst_vaapi_id_get_type().
34861
34862 2010-03-24 12:38:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34863
34864         * docs/reference/libs/libs-sections.txt:
34865         * gst-libs/gst/vaapi/gstvaapitypes.h:
34866           Add GST_VAAPI_ID_FORMAT() and GST_VAAPI_ID_ARGS() helpers.
34867
34868 2010-03-24 09:52:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34869
34870         * docs/reference/libs/libs-sections.txt:
34871         * docs/reference/libs/libs.types:
34872         * gst-libs/gst/vaapi/Makefile.am:
34873         * gst-libs/gst/vaapi/gstvaapitypes.c:
34874         * gst-libs/gst/vaapi/gstvaapitypes.h:
34875           Add GstVaapiID abstraction.
34876
34877 2010-03-24 09:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34878
34879         * docs/reference/libs/libs.types:
34880           Sort types.
34881
34882 2010-03-24 08:35:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34883
34884         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34885         * gst-libs/gst/vaapi/gstvaapiimage.c:
34886         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34887         * gst-libs/gst/vaapi/gstvaapisurface.c:
34888           Drop useless include (<va/va_backend.h>).
34889
34890 2010-03-24 08:34:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34891
34892         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34893           Optimize GST_VAAPI_OBJECT_GET_DISPLAY to avoid a run-time check.
34894
34895 2010-03-24 08:32:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34896
34897         * gst-libs/gst/vaapi/Makefile.am:
34898         * gst-libs/gst/vaapi/gstvaapiimage.c:
34899         * gst-libs/gst/vaapi/gstvaapiobject.c:
34900         * gst-libs/gst/vaapi/gstvaapiobject.h:
34901         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34902         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34903         * gst-libs/gst/vaapi/gstvaapisurface.c:
34904         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34905           Move private definitions and accessors to gstvaapiobject_priv.h.
34906
34907 2010-03-24 08:16:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34908
34909         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34910         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34911         * gst-libs/gst/vaapi/gstvaapiimage.c:
34912         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34913         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
34914         * gst-libs/gst/vaapi/gstvaapiobject.c:
34915         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34916         * gst-libs/gst/vaapi/gstvaapisurface.c:
34917         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
34918         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
34919         * gst-libs/gst/vaapi/gstvaapivideopool.c:
34920         * gst-libs/gst/vaapi/gstvaapivideosink.c:
34921         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34922         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34923           Fix short descriptions.
34924
34925 2010-03-23 18:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34926
34927         * Makefile.am:
34928         * configure.ac:
34929         * debian.upstream/Makefile.am:
34930         * debian.upstream/changelog.in:
34931         * debian.upstream/compat:
34932         * debian.upstream/control.in:
34933         * debian.upstream/copyright:
34934         * debian.upstream/gstreamer-vaapi-doc.install.in:
34935         * debian.upstream/gstreamer-vaapi.install.in:
34936         * debian.upstream/libgstvaapi-dev.install.in:
34937         * debian.upstream/libgstvaapi-x11.install.in:
34938         * debian.upstream/libgstvaapi.install.in:
34939         * debian.upstream/rules:
34940           Generate upstream packages through make deb.upstream.
34941
34942 2010-03-23 17:40:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34943
34944         * configure.ac:
34945           Bump version for development.
34946
34947 2010-03-23 17:29:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34948
34949         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
34950           Use a black background for new windows.
34951
34952 2010-03-23 17:18:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34953
34954         * NEWS:
34955           0.1.1.
34956
34957 2010-03-23 17:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34958
34959         * configure.ac:
34960         * docs/reference/libs/libs.types:
34961         * gst-libs/gst/vaapi/Makefile.am:
34962         * gst-libs/gst/vaapi/gstvaapimarshal.list:
34963         * gst-libs/gst/vaapi/gstvaapiobject.c:
34964         * gst-libs/gst/vaapi/gstvaapiobject.h:
34965         * tests/test-surfaces.c:
34966           Add "destroy" signal.
34967
34968 2010-03-23 16:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34969
34970         * docs/reference/libs/libs-docs.xml.in:
34971           Improve gst-plugins-vaapi Library reference template.
34972
34973 2010-03-23 16:21:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34974
34975         * docs/reference/libs/libs-docs.xml.in:
34976         * docs/reference/libs/libs-sections.txt:
34977         * gst-libs/gst/vaapi/Makefile.am:
34978         * gst-libs/gst/vaapi/gstvaapiimage.c:
34979         * gst-libs/gst/vaapi/gstvaapiimage.h:
34980         * gst-libs/gst/vaapi/gstvaapiobject.c:
34981         * gst-libs/gst/vaapi/gstvaapiobject.h:
34982         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34983         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34984         * gst-libs/gst/vaapi/gstvaapisurface.c:
34985         * gst-libs/gst/vaapi/gstvaapisurface.h:
34986         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34987           Make GstVaapi{Surface,Image,Subpicture} derive from a GstVaapiObject.
34988
34989 2010-03-23 16:11:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34990
34991         * sys/vaapisink/gstvaapisink.c:
34992           Fix return value.
34993
34994 2010-03-23 15:34:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34995
34996         * sys/vaapisink/gstvaapisink.c:
34997           Make sure VA display is valid when created with an explicit "display" name.
34998
34999 2010-03-23 15:28:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35000
35001         * sys/vaapisink/gstvaapisink.c:
35002           Use plain "display" property for the X11 display name.
35003
35004 2010-03-23 15:22:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35005
35006         * sys/vaapiconvert/gstvaapiconvert.c:
35007         * sys/vaapisink/gstvaapisink.c:
35008           Document vaapiconvert & vaapisink plugins.
35009
35010 2010-03-23 14:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35011
35012         * configure.ac:
35013         * docs/reference/Makefile.am:
35014         * docs/reference/plugins/Makefile.am:
35015         * docs/reference/plugins/plugins-docs.xml.in:
35016         * docs/reference/plugins/plugins-overrides.txt:
35017         * docs/reference/plugins/plugins-sections.txt:
35018         * docs/reference/plugins/plugins.types:
35019           Add plugins documentation template.
35020
35021 2010-03-23 14:06:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35022
35023         * sys/vaapisink/gstvaapisink.c:
35024         * sys/vaapisink/gstvaapisink.h:
35025           Don't export gst_vaapisink_get_display().
35026
35027 2010-03-23 13:32:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35028
35029         * configure.ac:
35030         * docs/reference/libs/libs-docs.xml.in:
35031         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35032         * gst-libs/gst/vaapi/gstvaapiimage.c:
35033         * gst-libs/gst/vaapi/gstvaapisurface.c:
35034         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35035           Drop introspection annotations since they require gtk-doc >= 1.12.
35036
35037 2010-03-23 10:51:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35038
35039         * gst-libs/gst/vaapi/gstvaapisurface.c:
35040           Add note about the fact that the surface holds an extra reference to the subpicture.
35041
35042 2010-03-23 10:49:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35043
35044         * gst-libs/gst/vaapi/gstvaapiimage.c:
35045         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35046         * gst-libs/gst/vaapi/gstvaapisurface.c:
35047           Improve debugging messages.
35048
35049 2010-03-23 10:48:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35050
35051         * tests/test-windows.c:
35052           Unref subpicture earlier as the surface is supposed to hold a reference to it.
35053
35054 2010-03-23 10:36:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35055
35056         * docs/reference/libs/libs-sections.txt:
35057         * gst-libs/gst/vaapi/gstvaapisurface.c:
35058         * gst-libs/gst/vaapi/gstvaapisurface.h:
35059         * tests/test-windows.c:
35060           Add gst_vaapi_surface_{,de}associate_subpicture() API.
35061
35062 2010-03-23 08:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35063
35064         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35065           Wait for MapNotify or UnmapNotify events on foreign windows too.
35066
35067 2010-03-23 07:42:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35068
35069         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35070           Check whether the foreign XID is mapped at binding time.
35071
35072 2010-03-23 07:34:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35073
35074         * sys/vaapisink/gstvaapisink.c:
35075           Add missing includes.
35076
35077 2010-03-23 07:31:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35078
35079         * configure.ac:
35080         * debian/Makefile.am:
35081         * debian/control.in:
35082         * debian/gstreamer-vaapi-doc.install.in:
35083         * debian/rules:
35084           Add -doc package.
35085
35086 2010-03-23 06:41:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35087
35088         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35089           Fix warnings (drop extraneous var).
35090
35091 2010-03-23 06:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35092
35093         * docs/reference/libs/libs-sections.txt:
35094         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35095           Add GST_VAAPI_WINDOW_XWINDOW() helper macro.
35096
35097 2010-03-22 16:59:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35098
35099         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35100           Shorten condition.
35101
35102 2010-03-22 16:57:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35103
35104         * gst-libs/gst/vaapi/Makefile.am:
35105         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35106         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35107         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
35108         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35109           Try to improve switch to fullscreen mode.
35110
35111 2010-03-22 16:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35112
35113         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35114         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35115         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35116           Improve display locking and rework X event wait functions.
35117
35118 2010-03-22 13:06:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35119
35120         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35121         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
35122           Move _GstVaapiWindowPrivate declaration to gstvaapiwindow_priv.h.
35123
35124 2010-03-22 13:05:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35125
35126         * gst-libs/gst/vaapi/Makefile.am:
35127         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35128         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
35129           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.
35130
35131 2010-03-22 12:47:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35132
35133         * docs/reference/libs/libs-sections.txt:
35134         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35135         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35136           Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property.
35137
35138 2010-03-22 12:39:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35139
35140         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35141         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35142         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35143           Add gst_vaapi_window_get_display() to base.
35144
35145 2010-03-22 12:16:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35146
35147         * docs/reference/libs/libs-docs.xml.in:
35148         * docs/reference/libs/libs-sections.txt:
35149         * gst-libs/gst/vaapi/Makefile.am:
35150         * gst-libs/gst/vaapi/gstvaapitypes.h:
35151         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35152         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35153         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35154         * sys/vaapisink/gstvaapisink.c:
35155         * sys/vaapisink/gstvaapisink.h:
35156           Add GstVaapiPoint & GstVaapiRectangle data structures.
35157
35158 2010-03-22 12:05:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35159
35160         * NEWS:
35161           0.1.1.
35162
35163 2010-03-22 12:03:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35164
35165         * NEWS:
35166         * sys/vaapisink/gstvaapisink.c:
35167         * sys/vaapisink/gstvaapisink.h:
35168           Allow `vaapisink` to render videos in fullscreen mode.
35169
35170 2010-03-22 10:51:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35171
35172         * docs/reference/libs/libs-sections.txt:
35173         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35174         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35175         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35176           Add gst_vaapi_window_set_fullscreen() API.
35177
35178 2010-03-22 10:03:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35179
35180         * sys/vaapisink/gstvaapisink.c:
35181           Size window so that to respect the video and pixel aspect ratio.
35182
35183 2010-03-22 09:32:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35184
35185         * docs/reference/libs/libs-sections.txt:
35186         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35187         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35188         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35189         * tests/test-display.c:
35190           Add gst_vaapi_display_get_pixel_aspect_ratio().
35191
35192 2010-03-22 08:45:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35193
35194         * docs/reference/libs/libs-sections.txt:
35195           Updates.
35196
35197 2010-03-22 08:44:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35198
35199         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35200         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35201         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35202         * tests/test-display.c:
35203           Add display size accessors.
35204
35205 2010-03-22 08:03:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35206
35207         * configure.ac:
35208         * debian/control.in:
35209           Build-Requires: gstreamer-plugins-base >= 0.10.16.
35210
35211 2010-03-21 08:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35212
35213         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35214         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35215         * gst-libs/gst/vaapi/gstvaapiimage.h:
35216         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
35217         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35218         * gst-libs/gst/vaapi/gstvaapisurface.h:
35219         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
35220         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35221         * gst-libs/gst/vaapi/gstvaapivideopool.h:
35222         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35223         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35224           Fix documentation of *Class'es.
35225
35226 2010-03-21 08:38:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35227
35228         * gst-libs/gst/vaapi/gstvaapiutils.c:
35229         * gst-libs/gst/vaapi/gstvaapiutils.h:
35230         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35231           Move GstVaapiSurfaceRenderFlags conversion to get_PutSurface_flags_from_GstVaapiSurfaceRenderFlags().
35232
35233 2010-03-21 08:22:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35234
35235         * docs/reference/libs/libs-sections.txt:
35236         * gst-libs/gst/vaapi/gstvaapisurface.h:
35237         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35238           Move GstVaapiSurfaceRenderFlags to gstvaapisurface.h since this will also be useful for e.g. a gstvaapitexture.h.
35239
35240 2010-03-21 08:12:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35241
35242         * docs/reference/libs/libs-sections.txt:
35243         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35244         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35245         * sys/vaapisink/gstvaapisink.c:
35246         * tests/test-windows.c:
35247           Rename gst_vaapi_window_put_surface_full() to plain gst_vaapi_window_put_surface().
35248
35249 2010-03-19 17:15:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35250
35251         * docs/reference/libs/Makefile.am:
35252           Fix make dist for --enable-gtk-doc builds.
35253
35254 2010-03-19 17:13:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35255
35256         * autogen.sh:
35257           Improve autogen.sh.
35258
35259 2010-03-19 17:11:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35260
35261         * Makefile.am:
35262         * autogen.sh:
35263           Generate gtk-doc.make from gtkdocize.
35264
35265 2010-03-19 17:04:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35266
35267         * Makefile.am:
35268         * NEWS:
35269         * configure.ac:
35270         * docs/Makefile.am:
35271         * docs/reference/Makefile.am:
35272         * docs/reference/libs/Makefile.am:
35273         * docs/reference/libs/libs-docs.xml.in:
35274         * docs/reference/libs/libs-overrides.txt:
35275         * docs/reference/libs/libs-sections.txt:
35276         * docs/reference/libs/libs.types:
35277           Document public API for libgstvaapi-*.so.*.
35278
35279 2010-03-19 16:41:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35280
35281         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35282         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35283           Document GstVaapiVideoBuffer.
35284
35285 2010-03-19 16:08:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35286
35287         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
35288         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
35289         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
35290         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
35291         * gst-libs/gst/vaapi/gstvaapivideopool.c:
35292         * gst-libs/gst/vaapi/gstvaapivideopool.h:
35293           Document surface & image pools. Drop obsolete gst_vaapi_video_pool_new() function.
35294
35295 2010-03-19 15:45:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35296
35297         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35298         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35299         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35300         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35301         * gst-libs/gst/vaapi/gstvaapiimage.c:
35302         * gst-libs/gst/vaapi/gstvaapiimage.h:
35303         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35304         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35305         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35306         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35307         * gst-libs/gst/vaapi/gstvaapisurface.c:
35308         * gst-libs/gst/vaapi/gstvaapisurface.h:
35309         * gst-libs/gst/vaapi/gstvaapivideosink.c:
35310         * gst-libs/gst/vaapi/gstvaapivideosink.h:
35311         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35312         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35313         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35314         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35315           Add tedious documentation.
35316
35317 2010-03-19 10:42:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35318
35319         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35320           Beautify append_formats().
35321
35322 2010-03-19 10:38:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35323
35324         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35325           Simplify GstVaapiDisplay (use GArray).
35326
35327 2010-03-19 08:42:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35328
35329         * NEWS:
35330         * sys/vaapiconvert/gstvaapiconvert.c:
35331         * sys/vaapiconvert/gstvaapiconvert.h:
35332           Factor out direct-rendering infrastructure.
35333
35334 2010-03-18 16:18:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35335
35336         * sys/vaapiconvert/gstvaapiconvert.c:
35337         * sys/vaapiconvert/gstvaapiconvert.h:
35338           Allow user to specify inout-buffers & derive-image optimizations.
35339
35340 2010-03-18 15:58:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35341
35342         * sys/vaapiconvert/gstvaapiconvert.c:
35343           Reduce number of debug messaged printed out.
35344
35345 2010-03-18 15:53:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35346
35347         * sys/vaapiconvert/gstvaapiconvert.c:
35348         * sys/vaapiconvert/gstvaapiconvert.h:
35349           Add vaDeriveImage() optimization.
35350
35351 2010-03-18 15:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35352
35353         * gst-libs/gst/vaapi/gstvaapiimage.c:
35354           Fix gst_vaapi_image_create() from a foreign VA image.
35355
35356 2010-03-18 15:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35357
35358         * gst-libs/gst/vaapi/gstvaapiimage.c:
35359         * gst-libs/gst/vaapi/gstvaapiimage.h:
35360         * gst-libs/gst/vaapi/gstvaapisurface.c:
35361         * gst-libs/gst/vaapi/gstvaapisurface.h:
35362           Add gst_vaapi_surface_derive_image() API.
35363
35364 2010-03-18 13:49:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35365
35366         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35367         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35368         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35369           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().
35370
35371 2010-03-18 13:08:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35372
35373         * tests/test-windows.c:
35374           Try YV12 & I420 image formats too.
35375
35376 2010-03-18 12:59:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35377
35378         * gst-libs/gst/vaapi/gstvaapiimage.c:
35379           Split map/unmap functions into internal functions that don't check preconditions.
35380
35381 2010-03-18 12:56:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35382
35383         * gst-libs/gst/vaapi/gstvaapiimage.c:
35384           Improve gst_vaapi_image_new() sanity checks.
35385
35386 2010-03-18 12:52:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35387
35388         * tests/test-windows.c:
35389           Fix typo.
35390
35391 2010-03-18 08:45:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35392
35393         * sys/vaapiconvert/gstvaapiconvert.c:
35394           Check if our inout buffer is still alive or default to a separate output buffer.
35395
35396 2010-03-18 08:16:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35397
35398         * sys/vaapiconvert/gstvaapiconvert.c:
35399         * sys/vaapiconvert/gstvaapiconvert.h:
35400           Factor out buffers negotiation and optimization checks.
35401
35402 2010-03-18 08:02:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35403
35404         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35405         * gst-libs/gst/vaapi/gstvaapiimage.c:
35406         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35407         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35408         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35409         * sys/vaapiconvert/gstvaapiconvert.h:
35410           Use gtypes.
35411
35412 2010-03-17 10:43:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35413
35414         * gst-libs/gst/vaapi/gstvaapiimage.c:
35415           Optimize gst_vaapi_image_is_linear() and simplify gst_vaapi_image_update_from_buffer().
35416
35417 2010-03-17 07:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35418
35419         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35420         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35421         * gst-libs/gst/vaapi/gstvaapiimage.c:
35422         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35423         * gst-libs/gst/vaapi/gstvaapisurface.c:
35424         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35425           Add VA display locking utilities.
35426
35427 2010-03-17 07:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35428
35429         * sys/vaapisink/gstvaapisink.c:
35430           Initialize the X window in a ::set_caps() handler. Also fix build with GStreamer < 0.10.25. i.e. use preroll/render hooks.
35431
35432 2010-03-17 07:17:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35433
35434         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35435         * tests/test-windows.c:
35436           Don't show window by default during creation.
35437
35438 2010-03-17 06:49:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35439
35440         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35441           Fix gst_vaapi_window_x11_destroy().
35442
35443 2010-03-16 17:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35444
35445         * sys/vaapiconvert/gstvaapiconvert.c:
35446         * sys/vaapiconvert/gstvaapiconvert.h:
35447           Alias sink & src pad buffers whenever possible.
35448
35449 2010-03-16 17:57:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35450
35451         * gst-libs/gst/vaapi/gstvaapiimage.c:
35452         * gst-libs/gst/vaapi/gstvaapiimage.h:
35453           Extend GstVaapiImage API with *_get_image(), *_is_linear(), *_get_data_size().
35454
35455 2010-03-16 17:10:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35456
35457         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35458         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35459           Make GstVaapiVideoBuffer handle two pools. i.e. both image & surface at the same time.
35460
35461 2010-03-16 14:37:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35462
35463         * sys/vaapiconvert/gstvaapiconvert.c:
35464           Fix image & surface size cache.
35465
35466 2010-03-16 14:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35467
35468         * configure.ac:
35469           Move gstreamer-vaapi package versioning to the top.
35470
35471 2010-03-16 14:11:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35472
35473         * configure.ac:
35474           Bump version for development.
35475
35476 2010-03-16 14:07:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35477
35478         * configure.ac:
35479           Cosmetics (shorten lines).
35480
35481 2010-03-16 13:58:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35482
35483         * NEWS:
35484         * README:
35485           Update docs.
35486
35487 2010-03-16 13:53:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35488
35489         * debian/Makefile.am:
35490         * debian/changelog.in:
35491         * debian/compat:
35492         * debian/control.in:
35493         * debian/copyright:
35494         * debian/gstreamer-vaapi.install.in:
35495         * debian/libgstvaapi-dev.install.in:
35496         * debian/libgstvaapi-x11.install.in:
35497         * debian/libgstvaapi.install.in:
35498         * debian/rules:
35499           Add debian packaging.
35500
35501 2010-03-16 13:53:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35502
35503         * Makefile.am:
35504         * configure.ac:
35505           Add debian packaging.
35506
35507 2010-03-16 10:13:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35508
35509         * pkgconfig/Makefile.am:
35510           Silence GNU make extensions warning.
35511
35512 2010-03-16 09:59:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35513
35514         * configure.ac:
35515           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'
35516
35517 2010-03-16 09:57:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35518
35519         * Makefile.am:
35520         * configure.ac:
35521         * pkgconfig/Makefile.am:
35522         * pkgconfig/gstreamer-vaapi-x11.pc.in:
35523         * pkgconfig/gstreamer-vaapi.pc.in:
35524           Add pkgconfig files.
35525
35526 2010-03-16 09:39:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35527
35528         * configure.ac:
35529         * gst-libs/gst/vaapi/Makefile.am:
35530         * sys/vaapisink/Makefile.am:
35531         * tests/Makefile.am:
35532           Split X11 support to libgstvaapi-x11-*.so.*
35533
35534 2010-03-16 09:21:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35535
35536         * gst-libs/gst/vaapi/Makefile.am:
35537           Don't install private headers.
35538
35539 2010-03-16 09:18:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35540
35541         * gst-libs/gst/vaapi/gstvaapidebug.h:
35542         * gst-libs/gst/vaapi/gstvaapiutils.c:
35543         * gst-libs/gst/vaapi/gstvaapiutils.h:
35544           Fix header guards.
35545
35546 2010-03-16 09:17:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35547
35548         * gst-libs/gst/vaapi/Makefile.am:
35549         * gst-libs/gst/vaapi/gstvaapidebug.h:
35550         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35551         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35552         * gst-libs/gst/vaapi/gstvaapiimage.c:
35553         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
35554         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35555         * gst-libs/gst/vaapi/gstvaapisurface.c:
35556         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
35557         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35558         * gst-libs/gst/vaapi/gstvaapivideopool.c:
35559         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35560         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35561           Rename vaapi_debug.h to gstvaapidebug.h.
35562
35563 2010-03-16 09:15:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35564
35565         * gst-libs/gst/vaapi/Makefile.am:
35566         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35567         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35568         * gst-libs/gst/vaapi/gstvaapiimage.c:
35569         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35570         * gst-libs/gst/vaapi/gstvaapisurface.c:
35571         * gst-libs/gst/vaapi/gstvaapiutils.c:
35572         * gst-libs/gst/vaapi/gstvaapiutils.h:
35573         * gst-libs/gst/vaapi/vaapi_debug.h:
35574           Move vaapi_utils.* to gstvaapiutils.*
35575
35576 2010-03-16 09:13:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35577
35578         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35579           Cosmetics (remove an extra line).
35580
35581 2010-03-16 09:12:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35582
35583         * gst-libs/gst/vaapi/Makefile.am:
35584         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35585         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35586         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35587           Move X11 utilties to gstvaapiutils_x11.[ch].
35588
35589 2010-03-16 09:03:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35590
35591         * gst-libs/gst/vaapi/Makefile.am:
35592         * gst-libs/gst/vaapi/gstvaapivideosink.c:
35593         * gst-libs/gst/vaapi/gstvaapivideosink.h:
35594         * sys/vaapiconvert/gstvaapiconvert.c:
35595         * sys/vaapisink/gstvaapisink.c:
35596           Rename GstVaapiSinkBase to GstVaapiVideoSink.
35597
35598 2010-03-16 08:49:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35599
35600         * configure.ac:
35601         * tests/Makefile.am:
35602         * tests/examples/Makefile.am:
35603         * tests/examples/generic/Makefile.am:
35604         * tests/test-display.c:
35605         * tests/test-surfaces.c:
35606         * tests/test-windows.c:
35607           Move tests to top-level tests/ directory.
35608
35609 2010-03-16 08:43:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35610
35611         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35612         * gst-libs/gst/vaapi/gstvaapiimage.c:
35613         * sys/vaapiconvert/gstvaapiconvert.c:
35614         * sys/vaapiconvert/gstvaapiconvert.h:
35615           Handle I420 formats internally in GstVaapiImage.
35616
35617 2010-03-15 17:44:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35618
35619         * sys/vaapiconvert/gstvaapiconvert.c:
35620         * sys/vaapiconvert/gstvaapiconvert.h:
35621           Implement I420 (resp. YV12) with YV12 (resp. I420) if the driver does not.
35622
35623 2010-03-15 17:43:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35624
35625         * gst-libs/gst/vaapi/gstvaapiimage.c:
35626           Implement I420 and YV12 if the underlying implementation does not.
35627
35628 2010-03-15 17:10:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35629
35630         * sys/vaapiconvert/Makefile.am:
35631         * sys/vaapiconvert/gstvaapiconvert.c:
35632         * sys/vaapiconvert/gstvaapiconvert.h:
35633           Add initial vaapiconvert plugin.
35634
35635 2010-03-15 17:09:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35636
35637         * sys/vaapisink/gstvaapisink.c:
35638         * sys/vaapisink/gstvaapisink.h:
35639           Display frames.
35640
35641 2010-03-15 16:57:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35642
35643         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35644           Factor out.
35645
35646 2010-03-15 16:57:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35647
35648         * tests/examples/generic/test-windows.c:
35649           Generate R/G/B rects.
35650
35651 2010-03-15 16:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35652
35653         * gst-libs/gst/vaapi/gstvaapisurface.c:
35654         * gst-libs/gst/vaapi/gstvaapisurface.h:
35655           Add gst_vaapi_surface_sync().
35656
35657 2010-03-15 16:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35658
35659         * gst-libs/gst/vaapi/gstvaapiimage.c:
35660           Cosmetics (reverse args order).
35661
35662 2010-03-15 15:55:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35663
35664         * gst-libs/gst/vaapi/gstvaapiimage.c:
35665         * gst-libs/gst/vaapi/gstvaapiimage.h:
35666         * gst-libs/gst/vaapi/gstvaapisurface.c:
35667           Cosmetics.
35668
35669 2010-03-15 15:12:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35670
35671         * gst-libs/gst/vaapi/Makefile.am:
35672         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35673         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35674         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35675         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35676         * tests/examples/generic/Makefile.am:
35677         * tests/examples/generic/test-windows.c:
35678           Add VA/X11 window abstraction.
35679
35680 2010-03-15 14:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35681
35682         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35683         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35684           Add VA and X11 display accessors.
35685
35686 2010-03-15 14:57:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35687
35688         * gst-libs/gst/vaapi/gstvaapiimage.c:
35689           Fix preconditions.
35690
35691 2010-03-15 13:32:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35692
35693         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35694           Cosmetics.
35695
35696 2010-03-15 11:49:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35697
35698         * gst-libs/gst/vaapi/gstvaapiimage.c:
35699         * gst-libs/gst/vaapi/gstvaapiimage.h:
35700         * gst-libs/gst/vaapi/gstvaapisurface.c:
35701         * gst-libs/gst/vaapi/gstvaapisurface.h:
35702           Add gst_vaapi_{get,put}_image() API.
35703
35704 2010-03-15 10:27:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35705
35706         * gst-libs/gst/vaapi/gstvaapiimage.c:
35707         * gst-libs/gst/vaapi/gstvaapiimage.h:
35708           Add gst_vaapi_image_update_from_buffer() helper.
35709
35710 2010-03-12 23:53:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35711
35712         * sys/vaapisink/Makefile.am:
35713         * sys/vaapisink/gstvaapisink.c:
35714         * sys/vaapisink/gstvaapisink.h:
35715           Implement GstVaapiSinkBase interface and integrate with GST_DEBUG better.
35716
35717 2010-03-12 23:50:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35718
35719         * tests/examples/generic/Makefile.am:
35720         * tests/examples/generic/test-surfaces.c:
35721           Add surface tests.
35722
35723 2010-03-12 23:48:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35724
35725         * gst-libs/gst/vaapi/Makefile.am:
35726         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35727         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35728           Add basic GstVaapiVideoBuffer.
35729
35730 2010-03-12 23:47:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35731
35732         * gst-libs/gst/vaapi/Makefile.am:
35733         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
35734         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
35735         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
35736         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
35737         * gst-libs/gst/vaapi/gstvaapivideopool.c:
35738         * gst-libs/gst/vaapi/gstvaapivideopool.h:
35739           Add GstVaapiImagePool and factor out GstVaapiSurfacePool from a base GstVaapiVideoPool.
35740
35741 2010-03-12 22:32:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35742
35743         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35744           Simplify format conversion code.
35745
35746 2010-03-12 22:28:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35747
35748         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35749         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35750           Add gst_vaapi_image_format_from_caps() helper.
35751
35752 2010-03-12 17:45:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35753
35754         * gst-libs/gst/vaapi/Makefile.am:
35755         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
35756         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
35757           Add VA surface pool (lazy allocator).
35758
35759 2010-03-12 17:39:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35760
35761         * gst-libs/gst/vaapi/gstvaapisurface.c:
35762         * gst-libs/gst/vaapi/gstvaapisurface.h:
35763           Add gst_vaapi_surface_get_size() helper.
35764
35765 2010-03-12 10:52:08 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35766
35767         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35768           Avoid use of GstStaticCaps since older gstreamer versions (0.10.22) write to it.
35769
35770 2010-03-11 15:35:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35771
35772         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35773           Reset display-name if the user provided his own X11 display.
35774
35775 2010-03-11 15:21:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35776
35777         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35778         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35779         * tests/examples/generic/test-display.c:
35780           Add gst_vaapi_display_x11_new_with_display() API.
35781
35782 2010-03-11 15:04:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35783
35784         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35785         * gst-libs/gst/vaapi/gstvaapiimage.h:
35786         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35787         * gst-libs/gst/vaapi/gstvaapisurface.h:
35788           Fix *_GET_CLASS() definitions...
35789
35790 2010-03-11 15:01:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35791
35792         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35793         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35794         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35795         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35796         * tests/examples/generic/test-display.c:
35797           API change: gst_vaapi_display_x11_new() now takes an X11 display name.
35798
35799 2010-03-11 13:58:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35800
35801         * gst-libs/gst/vaapi/gstvaapisurface.c:
35802         * gst-libs/gst/vaapi/gstvaapisurface.h:
35803           Use GstVaapiChromaType abstraction.
35804
35805 2010-03-11 12:30:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35806
35807         * gst-libs/gst/vaapi/gstvaapiimage.c:
35808         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35809         * gst-libs/gst/vaapi/gstvaapisurface.c:
35810           New refcounting policy. All getters return a reference, not a copy. So the user shall reference the object itself, should he wish so.
35811
35812 2010-03-11 12:14:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35813
35814         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35815           Don't warn on failure, just return an appropriate error or value.
35816
35817 2010-03-11 12:11:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35818
35819         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35820         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35821         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35822           Filter out any format that is not supported by the library (libgstvaapi). Also sort the formats by HW preference.
35823
35824 2010-03-11 10:50:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35825
35826         * gst-libs/gst/vaapi/Makefile.am:
35827         * gst-libs/gst/vaapi/gstvaapisinkbase.c:
35828         * gst-libs/gst/vaapi/gstvaapisinkbase.h:
35829           Add helper interface that all VA-API sinks must implement. e.g. vaapisink.
35830
35831 2010-03-10 13:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35832
35833         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35834         * gst-libs/gst/vaapi/gstvaapiimage.c:
35835         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35836         * gst-libs/gst/vaapi/gstvaapisurface.c:
35837         * gst-libs/gst/vaapi/vaapi_debug.h:
35838           Use GST_DEBUG.
35839
35840 2010-03-10 13:10:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35841
35842         * gst-libs/gst/vaapi/gstvaapiimage.c:
35843         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35844           Fix GstVaapiImage and GstVaapiSubpicture initialization.
35845
35846 2010-03-10 13:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35847
35848         * gst-libs/gst/vaapi/gstvaapisurface.c:
35849           Fix GstVaapiSurface initialization, override constructed() method, not constructor(). GObject C is awful...
35850
35851 2010-03-10 12:25:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35852
35853         * tests/examples/generic/test-display.c:
35854           Dump caps.
35855
35856 2010-03-10 12:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35857
35858         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35859         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35860         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35861           Fix GstVaapiDisplay initialization.
35862
35863 2010-03-10 10:43:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35864
35865         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35866         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35867           Get VA image & subpicture formats as GstCaps.
35868
35869 2010-03-10 10:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35870
35871         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35872         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35873           Add helper to convert from GstVaapiImageFormat to GstCaps.
35874
35875 2010-03-09 12:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35876
35877         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35878         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35879         * gst-libs/gst/vaapi/gstvaapisurface.c:
35880           Cosmetics (drop unused variables).
35881
35882 2010-03-05 17:11:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35883
35884         * configure.ac:
35885         * sys/vaapiconvert/Makefile.am:
35886         * sys/vaapiconvert/gstvaapiconvert.c:
35887         * sys/vaapiconvert/gstvaapiconvert.h:
35888         * sys/vaapisink/Makefile.am:
35889         * sys/vaapisink/gstvaapisink.c:
35890         * sys/vaapisink/gstvaapisink.h:
35891           Add boilerplate for vaapiconvert and vaapisink elements.
35892
35893 2010-03-05 15:29:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35894
35895         * configure.ac:
35896         * sys/Makefile.am:
35897         * sys/vaapiconvert/Makefile.am:
35898           Add vaapiconvert element hierarchy.
35899
35900 2010-03-05 15:26:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35901
35902         * sys/vaapisink/Makefile.am:
35903           Rename to vaapisink.
35904
35905 2010-03-05 10:07:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35906
35907         * gst-libs/gst/vaapi/gstvaapisurface.c:
35908           Shorter code (and more correct).
35909
35910 2010-03-05 10:04:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35911
35912         * gst-libs/gst/vaapi/gstvaapisurface.c:
35913         * gst-libs/gst/vaapi/gstvaapisurface.h:
35914           Add helper to get GstVaapiDisplay from a surface.
35915
35916 2010-03-05 08:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35917
35918         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35919           Fix subpicture formats list length.
35920
35921 2010-03-04 17:41:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35922
35923         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35924         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35925           Add utilities to check whether a VA-API driver supports specific image or subpicture format. Likewise for VA profile.
35926
35927 2010-03-04 17:40:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35928
35929         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35930         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35931           Cosmetics (more checks, includes).
35932
35933 2010-03-04 17:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35934
35935         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35936         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35937           Really add VA subpicture abstraction.
35938
35939 2010-03-04 17:39:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35940
35941         * gst-libs/gst/vaapi/Makefile.am:
35942         * gst-libs/gst/vaapi/gstvaapiimage.c:
35943         * gst-libs/gst/vaapi/gstvaapiimage.h:
35944         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35945         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35946         * gst-libs/gst/vaapi/gstvaapisurface.c:
35947         * gst-libs/gst/vaapi/gstvaapisurface.h:
35948           Add VA surface, image, subpicture abstractions. Ported over from Gnash.
35949
35950 2010-01-25 16:15:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35951
35952         * configure.ac:
35953         * gst-libs/gst/vaapi/Makefile.am:
35954         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35955         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35956         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35957         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35958         * gst-libs/gst/vaapi/vaapi_debug.h:
35959         * gst-libs/gst/vaapi/vaapi_utils.c:
35960         * gst-libs/gst/vaapi/vaapi_utils.h:
35961         * tests/examples/generic/Makefile.am:
35962         * tests/examples/generic/test-display.c:
35963           Add initial VA display abstraction.
35964
35965 2010-01-25 15:04:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35966
35967         * Makefile.am:
35968         * configure.ac:
35969         * tests/Makefile.am:
35970         * tests/examples/Makefile.am:
35971         * tests/examples/generic/Makefile.am:
35972           Add tests infrastructure.
35973
35974 2010-01-25 14:59:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35975
35976         * configure.ac:
35977           Clean up VA-API checks.
35978
35979 2010-01-25 13:49:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35980
35981         * configure.ac:
35982           Check for __attribute__((visibility("hidden"))).
35983