1=== release 1.16.2 ===
2
32019-12-03 11:19:22 +0000  Tim-Philipp Müller <tim@centricular.com>
4
5	* ChangeLog:
6	* NEWS:
7	* RELEASE:
8	* configure.ac:
9	* gstreamer-vaapi.doap:
10	* meson.build:
11	  Release 1.16.2
12
132019-12-03 11:19:22 +0000  Tim-Philipp Müller <tim@centricular.com>
14
15	* docs/plugins/inspect/plugin-vaapi.xml:
16	  Update docs
17
182019-11-03 17:59:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19
20	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
21	  libs: decoder: h265: skip all pictures prior the first I-frame
22	  Don't try to decode until the first I-frame is received within the
23	  currently active sequence. i965 H265 decoder don't show any artifact
24	  but it crashes.
25	  Fixes: #98
26
272019-10-11 17:34:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
28
29	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30	  libs: window: x11: Avoid usage of deprecated API
31
322019-10-11 17:13:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
33
34	* meson.build:
35	  build: halt meson configuration if no renderer API
36	  We should halt meson configuration if there is no render API
37	  installed (either DRM, Wayland or X11).
38	  That behavior was already in autotools but missed in meson. This patch
39	  brings it back.
40	  Fixes: #196
41
42=== release 1.16.1 ===
43
442019-09-23 11:20:44 +0100  Tim-Philipp Müller <tim@centricular.com>
45
46	* ChangeLog:
47	* NEWS:
48	* RELEASE:
49	* configure.ac:
50	* gstreamer-vaapi.doap:
51	* meson.build:
52	  Release 1.16.1
53
542019-09-23 11:20:44 +0100  Tim-Philipp Müller <tim@centricular.com>
55
56	* docs/plugins/inspect/plugin-vaapi.xml:
57	  Update docs
58
592019-09-18 15:30:03 +1000  Matthew Waters <matthew@centricular.com>
60
61	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
62	* gst-libs/gst/vaapi/gstvaapiutils_egl.h:
63	  egl: Fix racyness in display thread creation
64	  Multiple different scenarios could break the display thread creation and
65	  end up blocking waiting for thread o be created.  Fix them all by
66	  correctly waiting for a new boolean to become valid.
67
682019-09-18 15:29:03 +1000  Matthew Waters <matthew@centricular.com>
69
70	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
71	  egl: don't advertise a wrapped EGLContext as actually wrapped
72	  It's not actually wrapped as we create a new EGLContext from the passed
73	  in EGLContext.  As a result, the created EGLContext was never destroyed.
74
752019-04-15 16:51:26 +0100  Philippe Normand <philn@igalia.com>
76
77	* gst/vaapi/gstvaapipluginutil.c:
78	  pluginutil: Remove Mesa from drivers white list
79	  The Mesa Gallium driver is poorly tested currently, leading to bad user
80	  experience for AMD users. The driver can be added back to the white list at
81	  runtime using the GST_VAAPI_ALL_DRIVERS environment variable.
82
832019-08-28 12:49:03 -0400  Thibault Saunier <tsaunier@igalia.com>
84
85	* gst/vaapi/gstvaapidecodebin.c:
86	  Classify vaapidecodebin as a hardware decoder
87
882019-08-27 18:12:45 +0800  He Junyan <junyan.he@hotmail.com>
89
90	* gst/vaapi/gstvaapipostproc.c:
91	  libs: postproc: fix a memory leak point.
92	  filter_ops and filter_formats should already have valid value when
93	  the function gst_vaapipostproc_ensure_filter_caps re-enter
94
952019-08-12 18:41:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
96
97	* gst/vaapi/gstvaapivideomemory.c:
98	  vaapivideomemory: demote error message to info
99	  The main reason to demote the message's level is because it is not an
100	  error, it's a possible output of the trial and there's a code path
101	  that handles it.
102	  Secondly, it's very annoying when using gallium driver for radeon.
103
1042019-06-06 17:24:30 +0300  Freyr <freyrnjordrson@gmail.com>
105
106	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
107	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
108	  libs: encoder: vp8,vp9: reset frame_counter when input frame's format changes
109	  When input frame's formate changes, vp{8,9} encoders don't reset their frame
110	  counter, hence the newly created frame could become a P-frame, leading to some
111	  major troubles (sigabrt in libdrm in case of vp9). This patch adds some frame
112	  prediction-related reset logic to the `flush' methods of GstVaapiEncoderVP8 and
113	  GstVaapiEncoderVP9 implementations.
114
1152019-06-04 13:27:50 +0800  He Junyan <junyan.he@hotmail.com>
116
117	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
118	  libs: mpeg2 encoder: No packed header for SPS and PPS
119	  Dislable passing down packed PPS and PPS to driver if driver does
120	  not want it.
121	  Fix: #168
122
1232019-05-31 13:08:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
124
125	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
126	  libs: dec: vp9: clear parser pointer after release
127	  Fix an use-after-release of the parser pointer in VP9 decoder.
128
1292019-05-28 12:09:36 +0300  Freyr666 <sky_rider_93@mail.ru>
130
131	* gst/vaapi/gstvaapiencode.c:
132	  vaapiencode: Fixes deadlock in gst_vaapiencode_change_state function
133	  This fixes a deadlock in gst_vaapiencode_change_state, which was due to
134	  srcpad's chain function was locked waiting for available buffers. Since the
135	  coded buffers in codedbuf_queue become available after sinkpad consume the
136	  encoded frames, Paused -> Ready state change leads to deadlock. Coded buffers
137	  are never consumed and marked free, hence gst_vaapiencode_handle_frame waits for
138	  available buffers and holds the stream_lock of the srcpad.
139
1402019-05-16 10:05:17 +0800  Wangfei <fei.w.wang@intel.com>
141
142	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
143	  libs: enc: h265: reset num_ref_idx_l1_active_minus1 when low delay B.
144	  When enable low delay B, the reference list 1 will be same with
145	  reference list 0, so need reset the num_ref_idx_l1_active_minus1
146	  to num_ref_idx_l0_active_minus1.
147	  Fixes: #160
148
1492019-05-10 18:29:10 +0800  He Junyan <junyan.he@hotmail.com>
150
151	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
152	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
153	  libs: encoder: not call ensure_num_slices inside g_assert
154	  g_assert will take no effect when glib's G_DISABLE_ASSERT macro is
155	  defined. The function inside the g_assert will take no effect and
156	  we will fail to set the correct slice number.
157
1582019-05-03 10:31:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
159
160	* gst-libs/gst/vaapi/gstvaapiencoder.c:
161	  libs: encoder: continue if roi meta is NULL
162	  Coverity scan bug:
163	  If the function actually returns a null value, a null pointer
164	  dereference will occur.
165	  In gst_vaapi_encoder_ensure_param_roi_regions(): Return value of
166	  function which returns null is dereferenced without checking
167
1682019-04-15 19:58:14 +0800  He Junyan <junyan.he@hotmail.com>
169
170	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
171	  lib: decoder: vp9: Set chroma_type by VP9 bit_depth
172	  The decoder's surface chroma type should depend on the bit depth
173	  of VP9's parser. For 10bits VP9 stream, we need to use P10LE kind
174	  10 bits surface as the decoder result.
175	  Fixes #155
176
1772019-05-02 16:00:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
178
179	* gst/vaapi/gstvaapipostprocutil.c:
180	  vaapipostproc: don't do any color conversion when GL_TEXTURE_UPLOAD
181	  https://bugzilla.gnome.org/show_bug.cgi?id=748184 has resurrected
182	  with commit 3e992d8a
183	  Since gst_vaapi_find_preferred_caps_feature() returns a color format
184	  from caps negotiation, different from the default one (NV12), the
185	  postproc enables the color transformation. But when GL_TEXTURE_UPLOAD
186	  feature is negotiated, no color transformation shall be done.
187	  Nonetheless, with commit 3e992d8a the requested format changes
188	  firstly, because there's no video sink yet, so ANY caps are
189	  negotiated; but later, when there's a video sink and a caps
190	  renegotiation, the GL_TEXTURE_UPLOAD is negotiated though the color
191	  format conversion still ongoing. It is required to reset that
192	  conversion.
193	  This patch force default color format when GL_TEXTURE_UPLOAD is
194	  selected as preferred, thus avoiding the color conversion.
195	  Fixes: #157
196
1972019-04-19 15:49:37 -0700  Julien Isorce <jisorce@oblong.com>
198
199	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
200	  libs: surface: fix double free when dmabuf export fails
201	  Happens if vaAcquireBufferHandle fails.
202
2032019-05-02 12:37:18 +0100  Tim-Philipp Müller <tim@centricular.com>
204
205	* .gitlab-ci.yml:
206	  ci: use template from 1.16 branch
207
208=== release 1.16.0 ===
209
2102019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
211
212	* ChangeLog:
213	* NEWS:
214	* RELEASE:
215	* configure.ac:
216	* gstreamer-vaapi.doap:
217	* meson.build:
218	  Release 1.16.0
219
2202019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
221
222	* docs/plugins/inspect/plugin-vaapi.xml:
223	  Update docs
224
2252019-04-15 19:34:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
226
227	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
228	* gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
229	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
230	  libs: encoder: h264,h265: guard VA version for max_qp property
231	  This patch fixes a regression from commit 5b1fe9c6.
232	  max_qp, in rate control configuration, appeared in libva release
233	  2.1 (API 1.1), thus it is required to guard the VA API version.
234	  Fixes: #150
235
2362019-04-08 18:29:35 +0800  He Junyan <junyan.he@hotmail.com>
237
238	* gst-libs/gst/vaapi/gstvaapiimage.c:
239	* gst-libs/gst/vaapi/video-format.c:
240	  libs: Add RGB565 image format support.
241
2422019-04-10 13:59:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
243
244	* configure.ac:
245	  build: configure: delay USE_GTK conditional until check libva-x11
246	  libva-x11 is used for X11 applications, so it is required to build
247	  any GTK application.
248	  Later, when Wayland test is added, we should change this.
249
2502019-04-10 13:25:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
251
252	* configure.ac:
253	  build: configure: disable GLX if libva-x11 is not found
254
2552019-04-15 13:55:26 +0200  He Junyan <junyan.he@hotmail.com>
256
257	* gst-libs/gst/vaapi/gstvaapiutils.c:
258	  libs: utils: avoid macro evaluation when stringify
259	  string_of_va_chroma_format() gets a wrong string format description.
260	  For example, the YUV420_10BPP get a string of 0x00000100 as output.
261	  It's because VA_RT_FORMAT_xxx values are macro definitions. And
262	  STRINGIFY(VA_RT_FORMAT_xxx) will expand to its real value
263	  0x00000XXX.
264	  To avoid the macro evaluation, it is changed to show only the color
265	  format without VA_RT_FORMAT_ prefix.
266
2672019-04-15 13:54:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
268
269	* gst-libs/gst/vaapi/gstvaapiutils.c:
270	  libs: utils: use glib's macros
271	  Don't reinvent the wheel.
272
2732019-04-11 15:05:02 +0800  Wangfei <fei.w.wang@intel.com>
274
275	* gst/vaapi/gstvaapipluginutil.c:
276	  plugins: find the preferred format from right caps.
277	  When the downstream has any caps, then raw video feature will
278	  be used. At this situation, the preferred format should be chose
279	  from caps which contains "vide/x-raw" feature instead of from
280	  the fist allowed caps.
281	  Fixes #142
282
2832019-04-10 11:43:33 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
284
285	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
286	  libs: encoder: h265: fill tier in va seq param buf
287	  Now that tier is calculated in commit 58e74f9440fe (!68),
288	  ensure we fill in the general_tier_flag in the
289	  VAEncSequenceParameterBufferHEVC.
290
291=== release 1.15.90 ===
292
2932019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
294
295	* ChangeLog:
296	* NEWS:
297	* RELEASE:
298	* configure.ac:
299	* gstreamer-vaapi.doap:
300	* meson.build:
301	  Release 1.15.90
302
3032019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
304
305	* docs/plugins/inspect/plugin-vaapi.xml:
306	  Update docs
307
3082019-04-09 20:42:04 +0800  He Junyan <junyan.he@hotmail.com>
309
310	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
311	  libs: encoder: h265: Recognize the correct level and tier.
312	  The current manner can not recognize the correct level and always
313	  set the tier to main. Need to add frame rate check to recognize
314	  levels such as 4.1, 6.2, etc. We also add a logic to check main
315	  and high tier based on bitrate.
316	  Fixes: #145
317
3182019-04-03 14:12:23 +0800  He Junyan <junyan.he@hotmail.com>
319
320	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
321	* gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
322	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
323	  libs: encoder: h264,h265: Set max_qp if min_qp is non-zero.
324	  media-driver currently fails to set a correct value of max_qp when
325	  min_qp is different to zero, in CBR and VBR mode, generating full
326	  quality frames, thus unexpected huge output.
327	  This patch sets max_qp to an arbitrary value to avoid this output
328	  temporary.
329	  Fixes: #144
330
3312019-04-09 12:42:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
332
333	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
334	* gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
335	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
336	  libs: encoder: h264,h265: initial and minimal QP can be zero
337	  Currently the minimal value for either min_qp and init_qp are 1,
338	  but VA documentation specifiy that zero is also valid and means
339	  to ignore the quantiser.
340	  The default value is not changed though to avoid behaivor changes
341	  to users.
342
3432019-04-09 09:20:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
344
345	* tests/elements/meson.build:
346	  meson: build test-vaapicontext when using X11
347	  x11_dep and libva_x11_dep are optional and meson ignores these
348	  dependencies even if they are added into the dependency list.
349	  This fixes the error below when libva-x11 is not avaiblabe:
350	  cc -Itests/elements/tests@elements@@test-vaapicontext@exe
351	  -Itests/elements -I../../gstreamer-vaapi/tests/elements -I.
352	  -I../../gstreamer-vaapi/ -Igst-libs -I../../gstreamer-vaapi/gst-libs
353	  -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0
354	  -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/orc-0.4
355	  -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0
356	  -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
357	  -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/
358	  -I/usr/include/libdrm -I/usr/include/harfbuzz -I/usr/include/pango-1.0
359	  -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo
360	  -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2
361	  -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
362	  -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall
363	  -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -pthread
364	  -DHAVE_CONFIG_H  -MD -MQ
365	  'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
366	  -MF
367	  'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o.d'
368	  -o
369	  'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
370	  -c ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c
371	  ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c:29:10: fatal
372	  error: va/va_x11.h: No such file or directory
373	  #include <va/va_x11.h>
374
3752019-04-01 12:56:28 +0800  He Junyan <junyan.he@hotmail.com>
376
377	* gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
378	* gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
379	* gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
380	  libs: encoder: h264_fei: Use gst_param_spec_array for view-ids
381	  GValueArray is deprecated. Use GstValueArray instead.
382
3832019-03-30 18:29:31 +0100  Danilo Spinella <danyspin97@protonmail.com>
384
385	* gst/vaapi/gstvaapipluginutil.c:
386	  vaapipluginutil: Fix #endif for USE_X11
387
3882019-03-29 18:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
389
390	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
391	  libs: encoder: h264: simplify the view-ids setting
392
3932019-03-26 14:54:47 +0800  He Junyan <junyan.he@hotmail.com>
394
395	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
396	  libs: encoder: h264: Use gst_param_spec_array for view-ids
397	  GValueArray is deprecated. Use GstValueArray instead.
398	  gst_param_spec_array can be deserialized from command line using:
399	  vaapih264enc view-ids="<(uint)40,(uint)100>" num-views=2
400	  While the g_param_spec_value_array() can not, and always get
401	  error: "gst_value_deserialize_g_value_array: unimplemented"
402	  Also fixed an out-of-range bug.
403
4042019-03-29 13:33:41 +0800  He Junyan <junyan.he@hotmail.com>
405
406	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
407	  libs: Change the parameter setting order when encode picture.
408	  The order in gst_vaapi_enc_picture_encode when encoding one
409	  picture is not very correct. The misc parameters are set before
410	  the picture parameters. Some of the misc parameters such as
411	  ROI may change the current picture parameters. But the later
412	  setting of picture parameter will re-init all picture related
413	  parameters and clear the previous setting. The right order
414	  should be picture parameter first and then misc parameters.
415	  Signed-off-by: He Junyan <junyan.he@hotmail.com>
416
4172019-03-26 14:20:34 +0800  Wangfei <fei.w.wang@intel.com>
418
419	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
420	  libs: decoder: jpeg: support dynamic resolution change decode.
421	  Add size_changed flag to watch out resolution. if change, reset
422	  jpeg decoder's context.
423
4242019-03-23 15:34:03 +0800  Wangfei <fei.w.wang@intel.com>
425
426	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
427	  libs: encoder: h265: add low power mode encode.
428	  By now, this feature only support by media-driver on Ice Lake
429	  platform, more information you can reference:
430	  https://github.com/intel/media-driver
431
4322019-03-15 18:40:21 +0800  He Junyan <junyan.he@hotmail.com>
433
434	* gst/vaapi/gstvaapiencode.c:
435	  vaapiencode: gobject's prop_id differ from vaapi encoder
436	  The vaapi internal encoder's property id are negative, thus they are
437	  different from GObject's property ids.
438	  gst_vaapi_encoder_set_property() should map to the internal encoder
439	  property id, assigned in gst_vaapiencode_default_set_property().
440
4412019-03-21 16:56:34 +0000  Tim-Philipp Müller <tim@centricular.com>
442
443	* meson.build:
444	  meson: disable compiler warnings for unused vars and args if gst debug system is disabled
445
4462019-03-21 13:31:57 +0000  Tim-Philipp Müller <tim@centricular.com>
447
448	* meson.build:
449	  meson: use new 'python' module instead of deprecated 'python3' one
450
4512019-03-11 18:38:36 -0300  Thibault Saunier <tsaunier@igalia.com>
452
453	* common:
454	  Update common submodule back to 59cb678164719ff59dcf6c8b93df4617a1075d11
455	  It was wrongly changed in 3d9555a86d45565870c684fe00ec8bbb0fed7205
456
4572019-03-04 09:16:17 +0000  Tim-Philipp Müller <tim@centricular.com>
458
459	* NEWS:
460	* RELEASE:
461	* configure.ac:
462	* docs/plugins/inspect/plugin-vaapi.xml:
463	* meson.build:
464	  Back to development
465
4662019-03-01 12:33:26 +0800  He Junyan <junyan.he@hotmail.com>
467
468	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
469	  libs: Fix a typo in comments.
470	  Fix a typo in function description of
471	  gst_vaapi_surface_pool_new_with_chroma_type.
472	  Signed-off-by: He Junyan <junyan.he@hotmail.com>
473
4742019-02-27 13:02:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
475
476	* gst/vaapi/gstvaapipluginutil.c:
477	  plugin: if any caps in downstream, negotiate raw video
478	  When downstream has any caps, vaapi should not shovel vaapi featured
479	  buffers, but rather plain raw video, assuming always the worst case
480	  scenario (downstream cannot handle featured video memory but raw
481	  system memory buffers).
482	  This patch query the peer caps without any filter, to know if
483	  donwstream just ask for any caps, if so jump to the color space
484	  checking, otherwise do the caps intersection and continue with the
485	  feature selection algorithm.
486	  Fixes: #139
487
488=== release 1.15.2 ===
489
4902019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
491
492	* ChangeLog:
493	* NEWS:
494	* RELEASE:
495	* configure.ac:
496	* gstreamer-vaapi.doap:
497	* meson.build:
498	  Release 1.15.2
499
5002019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
501
502	* docs/plugins/inspect/plugin-vaapi.xml:
503	  Update docs
504
5052019-02-05 16:59:40 +0800  He Junyan <junyan.he@hotmail.com>
506
507	* gst/vaapi/gstvaapivideomemory.c:
508	  vaapivideomemory: Prefer same format for surface and image
509	  We prefer to use the same format between image and surface for gst
510	  vaapi allocator. The old way may choose different formats between
511	  image and surface. For example, the RGBA image may have a NV12 surface.
512	  So we need to do format conversion when we put/get image to surface.
513	  Some drivers such as iHD can not support such conversion and always
514	  cause a data flow error. There may also have some performance cost
515	  for format conversion when put/get images.
516	  So we prefer to use the same format for image and surface in the
517	  allocator. If the surface can not support that format, we then
518	  fallback to find a best one as the surface format.
519	  Co-authored-by: Víctor Jáquez <vjaquez@igalia.com>
520
5212019-02-15 15:19:51 +0800  He Junyan <junyan.he@hotmail.com>
522
523	* gst-libs/gst/vaapi/video-format.c:
524	  libs: Delete the duplicated ARGB video format.
525	  Two ARGB formats with the same format information.
526	  Should be verbose and delete one.
527	  Signed-off-by: He Junyan <junyan.he@hotmail.com>
528
5292019-02-13 10:39:59 -0500  Adam Jackson <ajax@redhat.com>
530
531	* common:
532	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
533	  glx: Stop specifying GLX_DEPTH_SIZE
534	  This code is just confused. It's asking for at least as many bits of
535	  (z-axis) depth as the root window has bits of (color) depth. For rgb565
536	  or rgb888 this is harmless, but at 10 bits per channel this demands a
537	  30-bit or deeper Z buffer. While some hardware could in principle do a
538	  32-bit Z buffer, Mesa does not expose such fbconfigs (at least on Intel
539	  and AMD).
540	  We're not actually using the Z buffer, so just stop asking for one.
541
5422019-01-14 11:30:48 +0100  Niels De Graef <niels.degraef@barco.com>
543
544	* configure.ac:
545	* gst-libs/gst/vaapi/Makefile.am:
546	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
547	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
548	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
549	* gst-libs/gst/vaapi/meson.build:
550	* gst/vaapi/gstvaapisink.c:
551	* meson.build:
552	  libs: wayland: add support for XDG-shell protocol
553	  [wl_shell] is officially [deprecated], so provide support for the
554	  XDG-shell protocol should be provided by all desktop-like compositors.
555	  (In case they don't, we can of course fall back to wl_shell).
556	  Note that the XML file is directly provided by the `wayland-protocols`
557	  dependency and generates the protocol marshalling code.
558	  [wl_shell]: https://people.freedesktop.org/~whot/wayland-doxygen/wayland/Client/group__iface__wl__shell.html
559	  [deprecated]: https://github.com/wayland-project/wayland/commit/698dde195837f3d0844b2725ba4ea8ce9ee7518c
560
5612019-02-16 19:09:50 +0100  Niels De Graef <nielsdegraef@gmail.com>
562
563	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
564	  libs: window: wayland: Prefix wl_shell_surface field with `wl_`
565	  It will help us to distinguish from other Wayland shell surface
566	  (such as XDG-shell) later on.
567
5682019-01-14 09:58:19 +0100  Niels De Graef <nielsdegraef@gmail.com>
569
570	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
571	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
572	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
573	  libs: wayland: Prefix wl_shell field with `wl_`
574	  It will help us to distinguish from other Wayland shells (such as
575	  XDG-shell) later on.
576
5772019-02-08 09:21:28 +0300  Denis Nagorny <denis.nagorny@intel.com>
578
579	* gst-libs/gst/vaapi/gstvaapidisplay.c:
580	  libs: display: lock ensure_profile()
581	  Thread safety patch for ensure_profile() function
582	  Fixes #133
583
5842019-02-08 16:35:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
585
586	* meson.build:
587	  meson: bump the minimum wayland version requirement to 1.11.0
588	  This was missed on commit 77bb3424
589
5902019-01-24 21:08:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
591
592	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
593	* gst/vaapi/gstvaapisink.c:
594	  vaapisink: x11: trap WM_DELETE_WINDOW message
595	  Register the WM_DELETE_WINDOW message from window manager and
596	  trap it to stop the pipeline cleanly.
597	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/130
598
5992019-01-21 19:22:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
600
601	* gst-libs/gst/vaapi/gstvaapiwindow.c:
602	  libs: window: remove native-id property
603	  native-id property is problematic since the variable that stores it is
604	  gsize, which is platform specific, and in some is bigger than unsigned
605	  long, and there are not way to handle gsize properties.
606	  Also, GST_VAAPI_ID_INVALID is defined in gsize terms, and we would
607	  like to keep using it for this scope.
608	  This patch removes the native-id property and set it manually in
609	  gst_vaapi_window_new_internal().
610
6112019-01-18 10:33:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
612
613	* gst-libs/gst/vaapi/gstvaapiwindow.c:
614	  libs: window: use G_GSIZE_MODIFIER for window id
615	  gsize type is not equal in all platforms, then the 'l' print modifier
616	  shall not be used always.
617	  This issue was found in Debian builds.
618
6192019-01-17 10:27:13 +0800  Wangfei <fei.w.wang@intel.com>
620
621	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
622	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
623	  encoder: h264/h265: set SPS cbr_flag with correct value.
624	  The flag only set as 1 when the rate-control mode is CBR.
625
626=== release 1.15.1 ===
627
6282019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
629
630	* ChangeLog:
631	* NEWS:
632	* RELEASE:
633	* configure.ac:
634	* gstreamer-vaapi.doap:
635	* meson.build:
636	  Release 1.15.1
637
6382019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
639
640	* docs/plugins/inspect/plugin-vaapi.xml:
641	  Update docs
642
6432019-01-14 19:35:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
644
645	* gst-libs/gst/vaapi/gstvaapiencoder.c:
646	  libs: encoder: refactor to avoid code duplication
647	  gst_vaapi_encoder_put_frame() and gst_vaapi_encoder_flush() duplicates
648	  the same code segment where the coded buffer is created, the picture
649	  encoded on it and pushed to the async queue.
650	  The function gst_vaapi_encoder_encode_and_queue() refactor this.
651
6522019-01-14 18:21:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
653
654	* gst-libs/gst/vaapi/gstvaapiencoder.c:
655	* gst-libs/gst/vaapi/gstvaapiencoder.h:
656	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
657	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
658	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
659	  libs: encoder: h264/h265: flush pending ordered pictures
660	  In order to flush the pending pictures, a new internal encoder vmethod
661	  is used: get_pending_reordered()
662	  This method follows an iterator pattern which will return the next
663	  picture to encode and push.
664	  The base encoder will call this function in a loop when flush() is called.
665	  For now, only H.264 and H.265 encoders implement this flushing mechanism.
666
6672018-12-06 10:18:53 +0800  Wangfei <fei.w.wang@intel.com>
668
669	* gst-libs/gst/vaapi/gstvaapiencoder.c:
670	* gst-libs/gst/vaapi/gstvaapiencoder.h:
671	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
672	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
673	  libs: encoder: h264/h265: fix encode lose frame issue.
674	  Instead of dropping all remain frames in reorder_frame_list during
675	  flush, keep encoding.
676	  https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/97
677
6782019-01-15 14:33:11 +0800  Wangfei <fei.w.wang@intel.com>
679
680	* gst/vaapi/gstvaapipostproc.c:
681	  vaapipostproc: before set surface proxy, check if it already been created and exist.
682	  Fix the deinterlace black frame when playing with glimagesink:
683	  gst-launch-1.0 filesrc location=test.264 ! h264parse ! vaapih264dec \
684	  ! vaapipostproc deinterlace-mode=1 deinterlace-method=1 ! glimagesink
685
6862019-01-11 13:48:29 +0800  Wangfei <fei.w.wang@intel.com>
687
688	* gst-libs/gst/vaapi/gstvaapiutils.c:
689	  vaapipostproc: clean up USE_VA_VPP macro since it already removed from configure file.
690
6912018-12-26 14:36:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
692
693	* gst-libs/gst/vaapi/meson.build:
694	* gst/vaapi/meson.build:
695	* meson.build:
696	* tests/meson.build:
697	  meson: build h264 fei encoder if possible
698
6992018-12-26 14:04:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
700
701	* configure.ac:
702	  configure: bump the minimum wayland version requirement to 1.11.0
703
7042018-12-24 12:58:53 +0800  Haihao Xiang <haihao.xiang@intel.com>
705
706	* configure.ac:
707	* gst-libs/gst/vaapi/Makefile.am:
708	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
709	* gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
710	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
711	* gst-libs/gst/vaapi/gstvaapicompat.h:
712	* gst-libs/gst/vaapi/gstvaapicontext.c:
713	* gst-libs/gst/vaapi/gstvaapidisplay.c:
714	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
715	* gst-libs/gst/vaapi/gstvaapifilter.c:
716	* gst-libs/gst/vaapi/gstvaapiprofile.c:
717	* gst-libs/gst/vaapi/gstvaapisurface.c:
718	* gst-libs/gst/vaapi/gstvaapiutils.c:
719	* gst-libs/gst/vaapi/gstvaapiutils_core.c:
720	* gst-libs/gst/vaapi/meson.build:
721	* gst/vaapi/Makefile.am:
722	* gst/vaapi/gstvaapi.c:
723	* gst/vaapi/gstvaapidecode.c:
724	* gst/vaapi/gstvaapidecodebin.c:
725	* gst/vaapi/gstvaapipluginbase.c:
726	* gst/vaapi/meson.build:
727	* meson.build:
728	* tests/decoder.c:
729	* tests/simple-decoder.c:
730	  vaapi: bump the minimum vaapi version requirement to 0.39.0
731	  And reduce unnecessary API version and structures check as well.
732	  https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/108
733
7342018-12-22 18:07:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
735
736	* gst-libs/gst/vaapi/gstvaapiwindow.c:
737	* gst-libs/gst/vaapi/gstvaapiwindow.h:
738	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
739	* tests/test-decode.c:
740	* tests/test-filter.c:
741	* tests/test-subpicture.c:
742	* tests/test-textures.c:
743	* tests/test-windows.c:
744	  libs: window: remove custom ref() and unref()
745	  Use gst_object_ref() and gst_object_unref() instead.
746
7472018-12-22 13:25:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
748
749	* gst-libs/gst/vaapi/gstvaapiwindow.c:
750	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
751	* gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
752	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
753	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
754	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
755	  libs: window: use its own debug category
756
7572018-12-22 18:02:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
758
759	* gst-libs/gst/vaapi/gstvaapiwindow.c:
760	* gst-libs/gst/vaapi/gstvaapiwindow.h:
761	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
762	* gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
763	* gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
764	* gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
765	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
766	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
767	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
768	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
769	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
770	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
771	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
772	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
773	  libs: window: refactor as gobject
774	  This is another step in the gobjectification of the internal library
775	  of gstreamer-vaapi. Now it is the turn of GstVaapiWindow and its
776	  derivates.
777	  The idea is to minimize the changeset keeping the same design as
778	  much as possible.
779	  GstVaapiWindow is defined as an abstract class with two properties:
780	  the GstVaapiDisplay and the native ID. Thus, many of the
781	  GstVaapiObject macros were copied as GstVaapiWindow macros.
782	  The function gst_vaapi_window_new_internal() is kept as a decorator
783	  of for calling gst_vaapi_window_create() and the possibility of
784	  failure.
785	  The descendant classes, such as glx, still use the private
786	  structures, but through the gobject mechanism.
787
7882018-12-03 22:05:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
789
790	* gst-libs/gst/vaapi/gstvaapifilter.c:
791	  libs: filter: use its own debug category
792
7932018-12-24 14:08:42 +0800  He Junyan <junyan.he@hotmail.com>
794
795	* gst/vaapi/gstvaapidecode.c:
796	* gst/vaapi/gstvaapipluginbase.c:
797	* gst/vaapi/gstvaapipluginbase.h:
798	* gst/vaapi/gstvaapipostproc.c:
799	* gst/vaapi/gstvaapisink.c:
800	  plugins: Add more check for allowed raw caps.
801	  The gst_vaapi_plugin_base_get_allowed_raw_caps is used for both sink
802	  pad and src pad, which cause some bugs. For sink pad, we need to verify
803	  vaPutImage() while for the src pad we need to verify vaGetImage().
804	  For vaapidecoderXXX kind of plugins, the case is more complex. We need
805	  to verify whether the decoded result(in some surface, NV12 format most
806	  of the time) can be vaGetImage to some raw image format. Add more check
807	  to fix all these problems.
808	  https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/123
809	  Signed-off-by: He Junyan <junyan.he@hotmail.com>
810
8112018-12-18 10:44:21 +0800  Wangfei <fei.w.wang@intel.com>
812
813	* gst/vaapi/gstvaapipostproc.c:
814	  vaapipostproc: fix csc fail when only change width or height.
815
8162018-12-15 09:47:15 +0900  Wonchul Lee <chul0812@gmail.com>
817
818	* tests/elements/meson.build:
819	  meson: Add gtk guard
820
8212018-12-15 14:48:03 +0800  Wangfei <fei.w.wang@intel.com>
822
823	* gst/vaapi/gstvaapiencode_h264.c:
824	  libs: enc: h264: set max profile idc with correct profile.
825	  Use the highest rank of available profile as the max profile to
826	  set max idc value.
827	  https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/124
828
8292018-12-03 13:56:52 +0100  Niels De Graef <nielsdegraef@gmail.com>
830
831	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
832	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
833	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
834	  Use G_DEFINE_TYPE_WITH_PRIVATE if applicable
835	  This gets rid of the strange `do_init` macro and makes the intent a bit
836	  more clear.
837
8382018-12-05 17:24:53 -0300  Thibault Saunier <tsaunier@igalia.com>
839
840	* common:
841	  Automatic update of common submodule
842	  From ed78bee to 59cb678
843
8442018-11-27 09:47:44 -0500  Wangfei <fei.w.wang@intel.com>
845
846	* gst-libs/gst/vaapi/gstvaapiimage.c:
847	* gst-libs/gst/vaapi/gstvaapiprofile.c:
848	* gst-libs/gst/vaapi/gstvaapiprofile.h:
849	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
850	* gst-libs/gst/vaapi/video-format.c:
851	* gst/vaapi/gstvaapidecode.c:
852	* gst/vaapi/gstvaapipluginutil.h:
853	  libs: dec: h265: support decode for main-444 10bit streams.
854	  Add 444 10bit yuv format Y410, which can be used to decode
855	  main-444 10bit streams. Currently, this feature is only
856	  supported by media-driver in Icelake.
857
8582018-11-28 05:56:44 +0200  Jordan Petridis <jordan@centricular.com>
859
860	* gst/vaapi/gstvaapidecode.c:
861	* gst/vaapi/gstvaapisink.c:
862	  Run gst-indent through the files
863	  This is required before we enabled an indent test in the CI.
864	  https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
865
8662018-11-14 13:11:56 +0800  He Junyan <junyan.he@hotmail.com>
867
868	* gst/vaapi/gstvaapipluginbase.c:
869	  plugins: modify image check of extract_allowed_surface_formats.
870	  The extract_allowed_surface_formats function just check whether
871	  we can support some kind of surface/image format pair. We just
872	  need to create a surface, create an image with the same video-format
873	  and putImage from image to surface. All these operations success,
874	  that kind of video-format is supported.
875	  The old manner do not work for some kind of video-format. For example,
876	  the RGBA kind of format will create a NV12 surface and RGBA image,
877	  and the putImage will fail because the format is not same. And so
878	  the RGBA format is not supported but actually it is supported.
879
8802018-11-14 11:34:20 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
881
882	* gst/vaapi/gstvaapipostproc.c:
883	  vaapipostproc: add some missing locking
884	  gst_vaapi_plugin_base_close() removed the raw caps that are used indirectly
885	  in gst_vaapipostproc_transform_caps(). The usage is already protected by
886	  the mutex.
887	  This is needed when the pipeline is stopped during startup.
888
8892018-11-20 16:07:44 +0800  Xiang, Haihao <haihao.xiang@intel.com>
890
891	* gst/vaapi/gstvaapivideomemory.c:
892	  Close dmabuf_fd
893	  Otherwise it will result in resource leak when failed to create
894	  dmabuf memory
895
8962018-11-12 13:39:51 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
897
898	* gst/vaapi/gstvaapiencode.c:
899	  vaapiencode: don't start src pad task in set_format
900	  Otherwise the task may be restarted during shutdown. Start the task in
901	  gst_vaapiencode_handle_frame() instead.
902
9032018-11-14 13:52:48 +0800  Wangfei <fei.w.wang@intel.com>
904
905	* gst-libs/gst/vaapi/gstvaapiprofile.c:
906	* gst-libs/gst/vaapi/gstvaapiprofile.h:
907	* gst-libs/gst/vaapi/gstvaapiutils.c:
908	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
909	* gst/vaapi/gstvaapidecode.c:
910	* gst/vaapi/gstvaapipluginutil.h:
911	  libs: dec: h265: support decode for main-444 8bit streams.
912	  Add 444 8bit yuv format AYUV, which can be used to decode
913	  main-444 8bit streams. Currently, this feature is only
914	  supported by media-driver in Icelake.
915	  https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/119
916
9172018-11-12 17:43:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
918
919	* .gitlab-ci.yml:
920	  Add Gitlab CI configuration
921	  This commit adds a .gitlab-ci.yml file, which uses a feature
922	  to fetch the config from a centralized repository. The intent is
923	  to have all the gstreamer modules use the same configuration.
924	  The configuration is currently hosted at the gst-ci repository
925	  under the gitlab/ci_template.yml path.
926	  Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
927
9282018-11-09 22:03:43 +0800  He Junyan <junyan.he@hotmail.com>
929
930	* gst-libs/gst/vaapi/gstvaapisurface.h:
931	* gst-libs/gst/vaapi/gstvaapiutils.c:
932	  libs: Sync the GstVaapiChromaType to VA header file.
933	  Add more kinds of chrometype which will be used to describe
934	  new video formats. Sync it with 1.4.0 version header file.
935	  Alse delete useless GST_VAAPI_CHROMA_TYPE_YUV410 chrome type.
936	  Signed-off-by: He Junyan <junyan.he@hotmail.com>
937
9382018-11-09 23:55:05 +0000  Tim-Philipp Müller <tim@centricular.com>
939
940	* gst-libs/gst/vaapi/meson.build:
941	  meson: link with -lm
942	  Fixes #117 hopefully.
943
9442018-11-09 23:46:53 +0000  Tim-Philipp Müller <tim@centricular.com>
945
946	* meson.build:
947	  meson: bump meson required to 0.47 for feature options
948
9492018-11-06 14:38:08 +0800  Junyan He <junyan.he@intel.com>
950
951	* gst-libs/gst/vaapi/video-format.c:
952	  libs: Modify the video format of endianness.
953	  We lack some video format because endianness declare.
954	  The video format should not directly relate to endianness. For example,
955	  ARGB on big endian should not be simplely seen as BGRA on little endian
956	  machine. We should provide endianess convert or format convert help
957	  functions if endianness does not match.
958	  https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/112
959	  Signed-off-by: Junyan He <junyan.he@intel.com>
960
9612018-10-17 18:36:52 +0800  Junyan He <junyan.he@intel.com>
962
963	* gst/vaapi/gstvaapipluginutil.c:
964	  plugins: Fix build error when GL is enabled while EGL is disabled.
965	  gl_platform_type in gst_vaapi_get_display_type_from_gl_env generate
966	  unused-variable warning and may block build when Werror enabled.
967	  Several functions like gst_vaapi_display_egl_new_with_native_display
968	  have no prototype warning and link error when GL is enabled but EGL
969	  is disabled. Fix all these warning and link error.
970	  https://bugzilla.gnome.org/show_bug.cgi?id=797358
971	  Signed-off-by: Junyan He <junyan.he@intel.com>
972
9732018-11-03 15:06:09 +0800  Wangfei <fei.w.wang@intel.com>
974
975	* gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
976	* gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
977	  libs: encoder: h264/h264fei: remove unuseless code.
978	  The variable are set twice, remove previous one.
979	  https://bugzilla.gnome.org/show_bug.cgi?id=797365
980
9812018-11-03 15:28:35 +0800  Wangfei <fei.w.wang@intel.com>
982
983	* tests/simple-encoder.c:
984	* tests/test-fei-enc-in.c:
985	  tests: check return value when using gst_buffer_map.
986	  https://bugzilla.gnome.org/show_bug.cgi?id=797366
987
9882018-11-02 16:50:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
989
990	* meson.build:
991	* meson_options.txt:
992	* tests/elements/meson.build:
993	* tests/meson.build:
994	  build: meson: build examples
995
9962018-11-02 16:50:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
997
998	* gst-libs/gst/vaapi/meson.build:
999	  build: meson: declare headers for libgstvaapi
1000	  Thus handling its recompilation if needed.
1001
10022018-11-05 05:41:13 +0000  Matthew Waters <matthew@centricular.com>
1003
1004	* .gitmodules:
1005	  Update common submodule location
1006	  Remove the git directory
1007
10082018-11-05 13:00:28 +0800  Haihao Xiang <haihao.xiang@intel.com>
1009
1010	* .gitmodules:
1011	* gstreamer-vaapi.doap:
1012	  Clone the code from gitlab
1013	  This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/116
1014
10152018-10-24 14:18:37 -0400  Wangfei <fei.w.wang@intel.com>
1016
1017	* gst-libs/gst/vaapi/gstvaapiimage.c:
1018	* gst-libs/gst/vaapi/gstvaapisurface.h:
1019	* gst-libs/gst/vaapi/gstvaapiutils.c:
1020	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1021	* gst-libs/gst/vaapi/video-format.c:
1022	* gst/vaapi/gstvaapidecode.c:
1023	* gst/vaapi/gstvaapipluginutil.h:
1024	  libs: dec: h265: support decode for main-10-422 10bit streams.
1025	  Add 422 10bit yuv format Y210, which can be used to decode
1026	  main-10-422 10bit streams. Currently, this feature is only
1027	  supported by media-driver in Icelake.
1028	  https://bugzilla.gnome.org/show_bug.cgi?id=797264
1029
10302018-10-13 15:00:32 +0800  Wangfei <fei.w.wang@intel.com>
1031
1032	* gst-libs/gst/vaapi/gstvaapicontext.c:
1033	  libs: context: roi_rc_qp_delta_support should not be checked when CQP.
1034	  VA_ROI_RC_QP_DELTA_SUPPORT return value will be ignored when the
1035	  rate control mode is set as CQP. In CQP mode, it shouldn't check
1036	  roi_rc_qp_delta_support return value from driver backend.
1037	  https://bugzilla.gnome.org/show_bug.cgi?id=797087
1038
10392018-10-15 17:55:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1040
1041	* gst/vaapi/gstvaapipostproc.c:
1042	  vaapipostproc: fix classification string
1043	  The classification string is splitted by '/' and then looks for the
1044	  components.
1045	  This patch removes the ';' by unifying all the components.
1046
10472018-10-15 16:05:02 +0100  Philippe Normand <philn@igalia.com>
1048
1049	* gst/vaapi/gstvaapipostproc.c:
1050	  vaapipostproc: Add Hardware classifier to metadata
1051
10522018-10-12 16:37:34 +0800  Wangfei <fei.w.wang@intel.com>
1053
1054	* gst-libs/gst/vaapi/gstvaapicontext.c:
1055	  libs: context: create context first before using it to create surface.
1056	  In gst_vaapi_context_reset(), if the context has to be destroyed, make
1057	  sure to create it first before allocating its associated surfaces.
1058	  This patch fixes a regression introduced in commit 82872f4 because
1059	  the formats available in the current context now are ensured before
1060	  creating the context's surfaces.
1061	  https://bugzilla.gnome.org/show_bug.cgi?id=797277
1062
10632018-10-12 15:39:53 +0100  Philippe Normand <philn@igalia.com>
1064
1065	* docs/plugins/inspect/plugin-vaapi.xml:
1066	* gst/vaapi/gstvaapidecode.c:
1067	* gst/vaapi/gstvaapiencode_h264.c:
1068	* gst/vaapi/gstvaapiencode_h264_fei.c:
1069	* gst/vaapi/gstvaapiencode_h265.c:
1070	* gst/vaapi/gstvaapiencode_jpeg.c:
1071	* gst/vaapi/gstvaapiencode_mpeg2.c:
1072	* gst/vaapi/gstvaapiencode_vp8.c:
1073	* gst/vaapi/gstvaapiencode_vp9.c:
1074	  gst: Advertise elements interacting with hardware devices
1075
10762018-10-01 09:26:05 +0800  Wangfei <fei.w.wang@intel.com>
1077
1078	* gst-libs/gst/vaapi/gstvaapicontext.c:
1079	* gst-libs/gst/vaapi/gstvaapisurface.c:
1080	* gst-libs/gst/vaapi/gstvaapisurface.h:
1081	  libs: context: query surface format before context to create surface.
1082	  Before using context to create surface, the supported surface format
1083	  should be checked first.
1084	  https://bugzilla.gnome.org/show_bug.cgi?id=797222
1085
10862018-10-09 17:23:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1087
1088	* gst-libs/gst/vaapi/gstvaapiimage.c:
1089	* gst-libs/gst/vaapi/gstvaapivalue.c:
1090	  libs: replace g_error with GST_ERROR
1091	  And handle those errors rather than halting.
1092
10932018-10-09 17:23:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1094
1095	* gst-libs/gst/vaapi/gstvaapiimage.c:
1096	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
1097	* gst-libs/gst/vaapi/gstvaapisurface.c:
1098	  libs: replace g_warning with GST_WARNING
1099
11002018-09-26 14:55:32 -0500  Matteo Valdina <matteo.valdina@gmail.com>
1101
1102	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1103	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
1104	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1105	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
1106	  libs: Move from g_debug to GST_DEBUG.
1107	  https://bugzilla.gnome.org/show_bug.cgi?id=797202
1108
11092018-10-04 02:20:10 +0800  Soon, Thean Siew <thean.siew.soon@intel.com>
1110
1111	* gst/vaapi/gstvaapipostproc.c:
1112	  vaapipostproc: change the way of handling deinterlace
1113	  The current vaapipostproc calls driver's video processing
1114	  pipeline for deinterlacing only if it is Advance deinterlacing.
1115	  Modify in the way that it always tries with driver's video
1116	  processing pipeline for deinterlacing, and falls back to software
1117	  method of appending picture structure meta data only if it fails
1118	  with driver's method.
1119	  https://bugzilla.gnome.org/show_bug.cgi?id=797095
1120
11212018-09-24 16:54:29 -0500  Matteo Valdina <matteo.valdina@gmail.com>
1122
1123	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
1124	* gst-libs/gst/vaapi/gstvaapiutils_h264.h:
1125	  libs: h264: Update level table to "Recommendation H.264 (04/17)".
1126	  Added level 6, 6.1 and 6.2. Reference Table A-1 – Level limits
1127	  from T-REC-H.264-201704.
1128	  https://bugzilla.gnome.org/show_bug.cgi?id=797202
1129
11302018-09-20 09:57:33 +0800  Wangfei <fei.w.wang@intel.com>
1131
1132	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1133	* gst-libs/gst/vaapi/gstvaapiprofile.c:
1134	* gst-libs/gst/vaapi/gstvaapiprofile.h:
1135	* gst-libs/gst/vaapi/gstvaapisurface.c:
1136	* gst-libs/gst/vaapi/gstvaapiutils.c:
1137	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1138	* gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
1139	* gst-libs/gst/vaapi/video-format.c:
1140	* gst-libs/gst/vaapi/video-format.h:
1141	* gst/vaapi/gstvaapidecode.c:
1142	* gst/vaapi/gstvaapipluginbase.c:
1143	* gst/vaapi/gstvaapipluginutil.h:
1144	  libs: dec: h265: add 422 chroma format support.
1145	  Add main-422-10 profile which support 422 chroma format stream.
1146	  Currently, this feature is only supported by media-driver in Icelake.
1147	  https://bugzilla.gnome.org/show_bug.cgi?id=797143
1148
11492018-09-26 19:34:06 +0200  U. Artie Eoff <ullysses.a.eoff@intel.com>
1150
1151	* tests/y4mreader.c:
1152	  tests: include sysdeps.h in compilation unit
1153	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=797204
1154	  Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
1155
11562018-09-26 18:04:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1157
1158	* tests/y4mreader.c:
1159	* tests/y4mreader.h:
1160	  tests: fix compilation
1161	  https://bugzilla.gnome.org/show_bug.cgi?id=797204
1162
11632018-09-25 20:28:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1164
1165	* tests/y4mreader.h:
1166	  tests: don's use sysdeps.h in header
1167
11682018-09-14 19:30:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1169
1170	* gst-libs/gst/vaapi/gstvaapiutils.h:
1171	  libs: utils: no need of include config.h
1172
11732018-09-13 18:12:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1174
1175	* tests/decoder.c:
1176	* tests/output.c:
1177	* tests/test-decode.c:
1178	* tests/test-subpicture.c:
1179	  tests: remove already include string.h
1180	  Since sysdeps.h includes string.h there's no need to include it again.
1181
11822018-09-13 18:11:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1183
1184	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
1185	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1186	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1187	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
1188	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
1189	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
1190	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
1191	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
1192	* gst-libs/gst/vaapi/gstvaapidisplay.c:
1193	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
1194	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1195	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
1196	* gst-libs/gst/vaapi/gstvaapiimage.c:
1197	* gst-libs/gst/vaapi/gstvaapiprofile.c:
1198	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
1199	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
1200	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1201	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
1202	  libs: remove already include string.h
1203	  Since sysdeps.h includes string.h there's no need to include it again.
1204
12052018-09-13 18:26:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1206
1207	* gst-libs/gst/vaapi/gstvaapiobject.h:
1208	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
1209	* gst/vaapi/gstvaapivideometa_texture.c:
1210	  libs: object: separation of internal API and plugins
1211	  Removed exposed macros GST_VAAPI_OBJECT_DISPLAY() and
1212	  GST_VAAPI_OBJECT_ID() to plugins, keeping them only for internal
1213	  library usage.
1214	  The purpose is readability.
1215	  https://bugzilla.gnome.org/show_bug.cgi?id=797139
1216
12172018-09-13 16:34:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1218
1219	* gst-libs/gst/vaapi/gstvaapiparser_frame.h:
1220	  libs: parser_frame: change macros for inlined functions
1221	  https://bugzilla.gnome.org/show_bug.cgi?id=797139
1222
12232018-09-13 16:10:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1224
1225	* gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
1226	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
1227	* gst-libs/gst/vaapi/gstvaapivideopool.c:
1228	* gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
1229	  libs: videopool: remove unneeded code
1230	  The removed code comes frome the bad practice of copy&paste. Better
1231	  move it as internal function.
1232	  https://bugzilla.gnome.org/show_bug.cgi?id=797139
1233
12342018-09-13 12:22:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1235
1236	* gst-libs/gst/vaapi/Makefile.am:
1237	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
1238	* gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
1239	* gst-libs/gst/vaapi/gstvaapiminiobject.c:
1240	* gst-libs/gst/vaapi/gstvaapiminiobject.h:
1241	* gst-libs/gst/vaapi/gstvaapiobject.c:
1242	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
1243	* gst-libs/gst/vaapi/gstvaapipixmap.c:
1244	* gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
1245	* gst-libs/gst/vaapi/gstvaapitexture.c:
1246	* gst-libs/gst/vaapi/gstvaapitexture_priv.h:
1247	* gst-libs/gst/vaapi/gstvaapiwindow.c:
1248	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
1249	* gst-libs/gst/vaapi/meson.build:
1250	  libs: remove dependency on IN_LIBGSTVAAPI_CORE
1251	  This conditional code was when libgstvaapi was intended to be library
1252	  used outside GStreamer. This not the case anymore, thus removing it.
1253	  https://bugzilla.gnome.org/show_bug.cgi?id=797139
1254
12552018-09-19 10:16:36 +0800  Wangfei <fei.w.wang@intel.com>
1256
1257	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1258	  libs: dec: h265: fix the macros used for IDC profile
1259	  profile_idc flag in SPS only indicate the IDC profile, which may
1260	  need some other flags together to get the real profile.
1261	  https://bugzilla.gnome.org/show_bug.cgi?id=797160
1262
12632018-09-12 19:06:22 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
1264
1265	* gst-libs/gst/vaapi/gstvaapidisplay.c:
1266	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
1267	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1268	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
1269	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1270	  libs: use g_clear_pointer() when possible
1271	  https://bugzilla.gnome.org/show_bug.cgi?id=797131
1272
12732018-09-03 13:56:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1274
1275	* gst-libs/gst/vaapi/gstvaapifilter.h:
1276	  libs: filter: add gobject's cleanup function
1277
12782018-05-22 14:28:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1279
1280	* gst-libs/gst/vaapi/gstvaapifilter.c:
1281	* gst-libs/gst/vaapi/gstvaapifilter.h:
1282	* gst-libs/gst/vaapi/gstvaapisurface_egl.c:
1283	* tests/test-filter.c:
1284	  libs: filter: remove custom ref() and unref()
1285	  Replacing them by gst_object_ref() and gst_object_unref()
1286	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1287
12882018-05-22 14:26:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1289
1290	* gst-libs/gst/vaapi/gstvaapifilter.c:
1291	* gst-libs/gst/vaapi/gstvaapifilter.h:
1292	  libs: filter: refactor filter as gobject
1293	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1294
12952018-05-21 13:38:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1296
1297	* gst-libs/gst/vaapi/gstvaapidecoder.c:
1298	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
1299	  libs: decoder: remove destoy() and create() callbacks
1300	  They were all replaced by reset()
1301	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1302
13032018-05-21 13:26:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1304
1305	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1306	  libs: decoder: vp9: implement reset() callback
1307	  remove destroy() and create() callback
1308	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1309
13102018-05-21 13:25:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1311
1312	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
1313	  libs: decoder: vp8: implement reset() callback
1314	  remove create() and destroy() callbacks
1315	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1316
13172018-05-21 13:24:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1318
1319	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
1320	  libs: decoder: vc1: implement reset() callback
1321	  remove destroy() and create() callbacks
1322	  use g_clear_pointer for rbdu_buffer
1323	  no cast for enum
1324	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1325
13262018-05-21 13:24:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1327
1328	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
1329	  libs: decoder: mpeg4: implement reset() callback
1330	  remove destroy() and create() callback
1331	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1332
13332018-05-21 13:22:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1334
1335	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
1336	  libs: decoder: mpeg2: implement reset() callback
1337	  remove create() and destroy() callbacks
1338	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1339
13402018-05-21 13:22:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1341
1342	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
1343	  libs: decoder: jpeg: implement reset() callback
1344	  and remove create() and destroy() callbacks.
1345	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1346
13472018-05-21 13:13:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1348
1349	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1350	  libs: decoder: h265: implement reset() callback
1351	  and remove create() and destroy()
1352	  and use g_clear_pointer for dpb structure
1353	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1354
13552018-05-21 13:11:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1356
1357	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1358	  libs: decoder: h264: remove create() and destroy() callbacks
1359	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1360
13612018-05-21 11:56:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1362
1363	* gst-libs/gst/vaapi/gstvaapidecoder.c:
1364	* gst-libs/gst/vaapi/gstvaapidecoder.h:
1365	* tests/test-decode.c:
1366	* tests/test-subpicture.c:
1367	  libs: decoder: remove gst_vaapi_decoder_unref()
1368	  Replaced by gst_object_unref() in tests
1369	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1370
13712018-05-21 11:51:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1372
1373	* gst-libs/gst/vaapi/gstvaapidecoder.c:
1374	* gst-libs/gst/vaapi/gstvaapidecoder.h:
1375	  libs: decoder: remove gst_vaapi_decoder_ref()
1376	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1377
13782018-05-21 11:50:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1379
1380	* gst-libs/gst/vaapi/gstvaapidecoder.c:
1381	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
1382	  libs: decoder: remove gst_vaapi_decoder_new()
1383	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1384
13852018-05-18 16:09:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1386
1387	* gst-libs/gst/vaapi/gstvaapidecoder.c:
1388	* gst-libs/gst/vaapi/gstvaapidecoder.h:
1389	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1390	* gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
1391	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1392	* gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
1393	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
1394	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
1395	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
1396	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
1397	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
1398	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
1399	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
1400	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
1401	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
1402	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
1403	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
1404	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1405	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
1406	  libs: decoder: refactor decoders as gobject
1407	  https://bugzilla.gnome.org/show_bug.cgi?id=796308
1408
14092018-08-31 20:56:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
1410
1411	* gst/vaapi/gstvaapidecode.c:
1412	  vaapidecode: Requests upstream a key unit at parse or decode error.
1413	  This is done to resume decoding after a parse error or decode error.
1414	  Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
1415
14162018-08-31 20:48:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
1417
1418	* gst/vaapi/gstvaapidecode.c:
1419	  vaapidecode: sets return value in failure case.
1420	  In gst_vaapidecode_handle_frame, when there is a decode error
1421	  there is a code path the returns an uninitialized value.
1422	  Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
1423
14242018-08-30 18:56:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1425
1426	* gst-libs/gst/vaapi/gstvaapidisplay.c:
1427	  libs: display: lock at extracting available image formates
1428	  When running several vaapi elements at the concurrently, at
1429	  initialization, there is a race condition when extractin the avaible
1430	  formats for images and subpictures.
1431	  This patch add a lock when the those arrays are filled.
1432	  https://bugzilla.gnome.org/show_bug.cgi?id=797039
1433
14342018-08-31 14:47:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
1435
1436	* meson.build:
1437	  meson: Sync libversion and osxversion code from other repos
1438	  gstreamer-vaapi does not build any libraries, only plugins, so this is
1439	  not used, but sync it just in case someone does add it in the future.
1440
14412018-08-29 13:44:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1442
1443	* gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1444	  libs: encoder: h265: trivial documentation fix
1445
14462018-08-30 11:08:07 +0800  Wangfei <fei.w.wang@intel.com>
1447
1448	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1449	* gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1450	  libs: encoder: h265: add low delay B frame support.
1451	  Low delay B frame provide the function of transforming
1452	  P frame into low delay B frame which frame type is B, but
1453	  only reference predictive frames. This can be used when P
1454	  frame unsupported. Especially for P and B both unsupported,
1455	  in this case, I and low delay B frame can be encoded in a
1456	  stream.
1457	  https://bugzilla.gnome.org/show_bug.cgi?id=796984
1458
14592018-08-27 20:42:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1460
1461	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1462	  libs: decoder: h264: Avoid using picture after it has been free
1463	  In some cases, the found_picture ended up being evicted and freed, which
1464	  would lead to a use after free when accessing picture->base.poc. In this
1465	  fix, we take a ref on the picture before calling dpb_evict.
1466	  https://bugzilla.gnome.org/show_bug.cgi?id=787124
1467
14682018-07-25 17:03:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1469
1470	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1471	  h264decoder: Fail decoding slice with missing inter-view reference
1472	  Similarly to previous patch, we have no error concealment. As a side
1473	  effect, it's better to skip slices with missing references then passing
1474	  NULL pointers to the accelerator. Passing NULL pointer would lead to
1475	  major visual artifact, a behaviour that is likely undefined.
1476	  https://bugzilla.gnome.org/show_bug.cgi?id=787124
1477
14782017-09-14 14:25:41 +0900  Hyunjun Ko <zzoon@igalia.com>
1479
1480	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1481	  libs: decoder: h264: reset context when the number of view is increased
1482	  Usually in case of MVC decoding, dpb size is increasedi if subset sps.
1483	  That's why it resets context without this patch.
1484	  But for some media it doesn't increase dpb size. Even in this case we
1485	  should reset context to deal with MVC decoding.
1486	  Otherwise, it leads to assert.
1487	  https://bugzilla.gnome.org/show_bug.cgi?id=787124
1488
14892018-07-25 13:50:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1490
1491	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1492	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1493	* gst/vaapi/gstvaapidecode.c:
1494	  vaapidecode: Skip unparsable units from adapter
1495	  If the unit could not be parsed, just skip this nal and keep parsing
1496	  what is left in the adapter. We need to flush the broken unit in the
1497	  decoder specific parser because the generic code does not know about
1498	  units boundary. This increases error resilliance.
1499	  Before this, the broken unit would stay in the adapter and EOS would be
1500	  returned. Which stopped the streaming. Just removing the EOS would have
1501	  lead to the adapter size growing indefinitely.
1502	  https://bugzilla.gnome.org/show_bug.cgi?id=796863
1503
15042018-07-24 12:40:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1505
1506	* gst/vaapi/gstvaapidecode.c:
1507	  vaapidecoder: Don't error out on decode errors
1508	  This is problematic on live pipeline where loosing network can
1509	  cause an important amount of errors.
1510	  https://bugzilla.gnome.org/show_bug.cgi?id=796832
1511
15122018-07-25 15:47:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1513
1514	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1515	  h265decoder: Don't scan empty buffer
1516	  Same as what we did for H264 decoder, this is to avoid an assertion
1517	  in the adapter.
1518	  https://bugzilla.gnome.org/show_bug.cgi?id=796832
1519
15202018-07-25 20:21:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1521
1522	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1523	  libs: h264: renable the vaapi category for logging
1524	  h264 log messages were logged in default category because a regression
1525	  in code. This patch renable the usage of vaapi logging category.
1526	  This regression was introduced in commit 7c365bdd.
1527
15282018-07-18 13:09:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1529
1530	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1531	  h264decoder: Fail decoding slice if modification process failed
1532	  This patch chains up failure to executing the modification process. The
1533	  end result is that we now fail decoding the slice if this process fails.
1534	  This avoid sending a corrupted state to the accelerator. In some special
1535	  cases, this could lead to unrecoverable errors.
1536	  https://bugzilla.gnome.org/show_bug.cgi?id=796832
1537
15382018-07-18 13:07:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1539
1540	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1541	  h264decoder: Don't scan empty buffer
1542	  gst_adapter_masked_scan_uint32_peek() asserts if size is 0. Don't
1543	  try and scan in that case. This fixes assertion that would some times
1544	  happen when the stream is corrupted.
1545	  https://bugzilla.gnome.org/show_bug.cgi?id=796832
1546
15472018-07-04 12:51:10 +0800  Tianhao Liu <tianhao.liu@intel.com>
1548
1549	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1550	  libs: encoder: jpeg: set component id and Tqi
1551	  This change is due a problem encoding JPEGs with Intel's
1552	  media-driver: green/black image when playback jpeg
1553	  This patch sets component identifier and quantization table
1554	  destination selector in frame header to support packing headers
1555	  by Intel's media-driver that does not accept packed header
1556	  in AP level.
1557	  https://bugzilla.gnome.org/show_bug.cgi?id=796705
1558
15592018-06-25 14:20:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
1560
1561	* gst/vaapi/gstvaapipluginutil.c:
1562	  pluginutil: downgrade unsupported driver logging
1563	  On systems with an Nvidia card, this error is output each time
1564	  the registry is rebuilt, which happens pretty often when
1565	  using gst-build as a development environment.
1566	  https://bugzilla.gnome.org/show_bug.cgi?id=796663
1567
15682018-06-24 13:07:20 +0200  Tim-Philipp Müller <tim@centricular.com>
1569
1570	* gst/vaapi/gstvaapivideobufferpool.c:
1571	  Update for g_type_class_add_private() deprecation in recent GLib
1572
15732018-05-30 16:01:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1574
1575	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1576	  h264dec: Remove false assumption about parity order
1577	  The decoder was trying to detect earlier that a field was lost base
1578	  on guessing the parity order. This breaks in streams were the parity
1579	  order changes.
1580	  This patch reverts the field order prediction code added by commit
1581	  8dd93e9c8.
1582	  https://bugzilla.gnome.org/show_bug.cgi?id=796169
1583
15842018-05-18 17:03:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1585
1586	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1587	  h264dec: Properly set sentinel in ref frame list
1588	  This ensure that we always have sentinels set in the reference
1589	  pictures arrays. The code wasn't unsafe, this simply improve the
1590	  tracing, so instead of printing 32 lines of zeros, va tracer
1591	  prints proper empty lists.
1592	  https://bugzilla.gnome.org/show_bug.cgi?id=796169
1593
15942018-06-13 18:00:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1595
1596	* gst-libs/gst/vaapi/gstvaapidecoder.c:
1597	* gst-libs/gst/vaapi/gstvaapidisplay.c:
1598	* gst-libs/gst/vaapi/gstvaapidisplay.h:
1599	* gst-libs/gst/vaapi/gstvaapiencoder.c:
1600	* gst-libs/gst/vaapi/gstvaapifilter.c:
1601	* gst-libs/gst/vaapi/gstvaapiobject.c:
1602	* gst-libs/gst/vaapi/gstvaapivideopool.c:
1603	* gst/vaapi/gstvaapipluginbase.c:
1604	* gst/vaapi/gstvaapivideometa.c:
1605	* tests/test-decode.c:
1606	  libs: display: remove gst_vaapi_display_ref()
1607	  Replace it with gst_object_ref()
1608	  https://bugzilla.gnome.org/show_bug.cgi?id=796470
1609
16102018-06-13 17:54:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1611
1612	* gst-libs/gst/vaapi/gstvaapidisplay.c:
1613	* gst-libs/gst/vaapi/gstvaapidisplay.h:
1614	* gst/vaapi/gstvaapi.c:
1615	* gst/vaapi/gstvaapidecode.c:
1616	* gst/vaapi/gstvaapiencode.c:
1617	* gst/vaapi/gstvaapipluginbase.c:
1618	* gst/vaapi/gstvaapipluginutil.c:
1619	* tests/output.c:
1620	* tests/simple-encoder.c:
1621	* tests/test-decode.c:
1622	* tests/test-display.c:
1623	* tests/test-fei-enc-in.c:
1624	* tests/test-filter.c:
1625	* tests/test-subpicture.c:
1626	* tests/test-surfaces.c:
1627	* tests/test-textures.c:
1628	* tests/test-windows.c:
1629	  libs: display: remove gst_vaapi_display_unref()
1630	  Use gst_object_unref() instead.
1631	  https://bugzilla.gnome.org/show_bug.cgi?id=796470
1632
16332018-06-13 18:10:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1634
1635	* gst/vaapi/gstvaapivideobufferpool.c:
1636	  vaapibufferpool: declare parameter display as object
1637	  We have neglected to update this code since GstVaapiDisplay turned
1638	  into a GstObject descendant.
1639	  https://bugzilla.gnome.org/show_bug.cgi?id=796470
1640
16412018-06-01 12:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
1642
1643	* gst-libs/gst/vaapi/gstvaapidisplay.c:
1644	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
1645	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
1646	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
1647	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
1648	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1649	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
1650	  libs: display: replace gst_vaapi_display_new() with gst_vaapi_display_config()
1651	  Gobjectification for GstVaapiDisplay was almost done by the commit 185da3d1.
1652	  But still something breaking GObject code convention remains, which is
1653	  calling gst_vaapi_display_new() in each decendants.
1654	  This patch replaces it with gst_vaapi_display_config(), defined in private
1655	  header.
1656	  https://bugzilla.gnome.org/show_bug.cgi?id=796470
1657
16582018-06-13 17:05:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1659
1660	* gst-libs/gst/vaapi/gstvaapidisplay.c:
1661	  libs: display: redefine gst_vaapi_display_create()
1662	  The function name was gst_vaapi_display_create_unlocked(), nonetheless
1663	  it wasn't called unlocked. In order to keep the semantics this patch
1664	  renames the gst_vaapi_display_create_unlocked() as
1665	  gst_vaapi_display_create(), removing the previous function
1666	  gst_vaapi_display_create().
1667	  https://bugzilla.gnome.org/show_bug.cgi?id=796470
1668
16692018-06-12 15:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1670
1671	* meson.build:
1672	  Revert "build: meson: libva gst-uninstall friendly"
1673	  This reverts commit fc3eef9c432c1628cb92ab56e74924cf1182da30.
1674
16752018-06-12 15:13:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1676
1677	* gst/vaapi/gstvaapipluginutil.c:
1678	  plugins: fix compilation
1679	  gstvaapipluginutil.c:171:1: error: old-style function definition [-Werror=old-style-definition]
1680
16812018-04-20 18:05:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1682
1683	* meson.build:
1684	  build: meson: libva gst-uninstall friendly
1685	  Make gstreamer-vaapi to use libva uninstalled.
1686
16872018-06-10 10:44:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1688
1689	* gst/vaapi/gstvaapipluginutil.c:
1690	  plugins: refactor gst_vaapi_create_display_from_gl_context()
1691	  gst_vaapi_create_display_from_gl_context() was a spaghetti mess.
1692	  This path refactors it, in order to make the code readable and
1693	  easy to follow.
1694	  https://bugzilla.gnome.org/show_bug.cgi?id=796564
1695
16962018-05-25 12:17:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1697
1698	* gst-libs/gst/vaapi/gstvaapidisplay.c:
1699	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
1700	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
1701	  libs: display: resurrect parent private member
1702	  This is, practically, a revert of commit dcf135e2.
1703	  The parent logic is useful for the EGL display, which is a decorator
1704	  of the real windowing subsystem (X11 or Wayland). Thus it is avoided
1705	  calling vaInitialize() and vaTerminate() twice.
1706	  https://bugzilla.gnome.org/show_bug.cgi?id=795391
1707
17082018-04-27 18:35:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1709
1710	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
1711	  libs: display: egl: initialize params structure
1712	  Statically initialise the internal params structure.
1713	  https://bugzilla.gnome.org/show_bug.cgi?id=795391
1714
17152018-04-27 18:34:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1716
1717	* gst/vaapi/gstvaapipluginutil.c:
1718	  plugins: handle EGL when creating VAAPI display from gl
1719	  If GstGL reports a EGL platform force to create a EGL display using
1720	  the native EGL display.
1721	  https://bugzilla.gnome.org/show_bug.cgi?id=795391
1722
17232018-04-24 18:17:24 +0900  Hyunjun Ko <zzoon@igalia.com>
1724
1725	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
1726	* gst/vaapi/gstvaapipluginutil.c:
1727	  display: egl: create VaapiDisplayEGL with native EGL display
1728	  gst_vaapi_display_egl_new_with_native_display() has been broken since
1729	  it wasn't used.
1730	  Currently it's needed to call this API to create a display providing
1731	  the EGL display, so it could avoid duplicated calls to the native
1732	  display (eg. eglTerminate).
1733	  Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
1734	  https://bugzilla.gnome.org/show_bug.cgi?id=795391
1735
17362018-06-07 09:34:11 +0800  Tianhao Liu <tianhao.liu@intel.com>
1737
1738	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
1739	  libs: decoder: release VA buffers after vaEndPicture
1740	  This change is due a problem decoding JPEGs with Intel's media-driver:
1741	  no image was generated.
1742	  This patch relases the VA buffers after vaEndPicture() is called,
1743	  and not before (after vaRenderPicture()).
1744	  https://bugzilla.gnome.org/show_bug.cgi?id=796505
1745
17462018-06-07 19:49:02 +0100  Tim-Philipp Müller <tim@centricular.com>
1747
1748	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
1749	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
1750	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
1751	  meson: fix build when xrender or xrandr are not available
1752	  HAVE_XRENDER are defined to 1 or 0, not defined or undefined.
1753
17542018-05-25 16:47:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1755
1756	* gst/vaapi/gstvaapipostproc.c:
1757	  vaapipostproc: don't copy the GstParentBufferMeta if use_vpp
1758	  Otherwise a reference to a DMABuf input buffer is kept until the output
1759	  buffer is deleted.
1760	  https://bugzilla.gnome.org/show_bug.cgi?id=796399
1761
17622018-05-22 21:13:08 +0900  Hyunjun Ko <zzoon@igalia.com>
1763
1764	* gst-libs/gst/vaapi/gstvaapidisplay.c:
1765	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
1766	  libs: display: remove unnecessary legacy code since gobjectification
1767	  https://bugzilla.gnome.org/show_bug.cgi?id=796470
1768
17692018-05-22 21:05:54 +0900  Hyunjun Ko <zzoon@igalia.com>
1770
1771	* gst-libs/gst/vaapi/gstvaapidisplay.c:
1772	* gst-libs/gst/vaapi/gstvaapidisplay.h:
1773	  libs: display: remove unused code
1774	  https://bugzilla.gnome.org/show_bug.cgi?id=796470
1775
17762018-06-05 15:16:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1777
1778	* gst/vaapi/gstvaapiencode_h264.c:
1779	  vaapiencode: h264: log output caps
1780
17812018-06-05 22:38:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1782
1783	* gst/vaapi/gstvaapiencode_h264.c:
1784	  vaapiencode: h264: find profile in available and allowed caps
1785	  The commit 67e33d3de225d0e006d7bf606e7abb20d4544eab ("vaapiencode: h264:
1786	  find best profile in those available") changed the code to pick a profile
1787	  that is actually supported by the hardware. Unfortunately it dropped the
1788	  downstream constraints. This can cause negotiation failures under certain
1789	  circumstances.
1790	  The fix is split in two cases:
1791	  1\ the available VA-API caps doesn't intersect with pipeline's allowed
1792	  caps:
1793	  * The best allowed profile (pipeline's caps) is set as the encoding
1794	  target profile (it will be adjusted later by the available profiles
1795	  and properties)
1796	  2\ the available VA-API caps does intersect with pipeline's allowed
1797	  caps:
1798	  * The intersected caps are fixed, and its profile is set as the
1799	  encoding target profile. In this case the is not the best profile,
1800	  but the minimal one (if VA-API reports the profiles in order).
1801	  Setting the minimal profile of the intersected caps is better for
1802	  compatibility.
1803	  This patch fixes other tests related with caps negotiation, for
1804	  example, it handles baseline profile, even when VA only supports
1805	  constrained-baseline.
1806	  Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
1807	  https://bugzilla.gnome.org/show_bug.cgi?id=794306
1808
18092018-06-01 15:27:25 +0900  Hyunjun Ko <zzoon@igalia.com>
1810
1811	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1812	  libs: encoder: h265: increase log2_max_pic_order_cnt range according to spec
1813	  The specification says,
1814	  "log2_max_pic_order_cnt_lsb_minus4 shall be in the range of 0 to 12, inclusive."
1815	  This patch changes the upper limit from 6 to 12.
1816	  https://bugzilla.gnome.org/show_bug.cgi?id=796179
1817
18182018-05-21 13:27:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1819
1820	* gst/vaapi/gstvaapipluginutil.c:
1821	  plugins: guard GstGL code
1822
18232018-05-18 18:23:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1824
1825	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1826	  libs: decoder: h264: use g_clear_pointer()
1827
18282018-05-18 17:27:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1829
1830	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
1831	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
1832	  libs: decoder: mpeg4, vc1: remove unused header
1833
18342018-05-18 11:09:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1835
1836	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
1837	  libs: decoder: remove unused forward declaration
1838
18392018-05-07 07:59:25 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
1840
1841	* configure.ac:
1842	  fix configure.ac regression
1843	  Fixes regression introduced by 77527d67abe
1844	  https://bugzilla.gnome.org/show_bug.cgi?id=795885
1845
18462018-05-05 17:57:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1847
1848	* gst-libs/gst/Makefile.am:
1849	* gst-libs/gst/base/Makefile.am:
1850	* gst-libs/gst/base/gstbitwriter.c:
1851	* gst-libs/gst/base/gstbitwriter.h:
1852	* gst-libs/gst/base/meson.build:
1853	* gst-libs/gst/meson.build:
1854	* gst-libs/gst/vaapi/Makefile.am:
1855	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1856	* gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
1857	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1858	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1859	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
1860	* gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
1861	* gst-libs/gst/vaapi/meson.build:
1862	  libs: remove gstbitwriter
1863	  Since it is deployed in gstreamer-core, there is no need to use
1864	  our custom version.
1865	  https://bugzilla.gnome.org/show_bug.cgi?id=795848
1866
18672018-04-28 16:10:46 +0800  Wang,Fei <fei.w.wang@intel.com>
1868
1869	* gst/vaapi/gstvaapidecode.c:
1870	  vaapih264dec: add constrained and progressive profiles
1871	  Those profiles have been added in the version 2012-01
1872	  and 2011-06 of the AVC spec (A.2.4.1 and A.2.4.2).
1873	  Both are supported by VAProfileH264High
1874	  https://bugzilla.gnome.org/show_bug.cgi?id=795624
1875
18762018-04-26 18:15:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1877
1878	* gst/vaapi/gstvaapipluginbase.c:
1879	* gst/vaapi/gstvaapipluginutil.c:
1880	* gst/vaapi/gstvaapivideocontext.c:
1881	* gst/vaapi/gstvaapivideocontext.h:
1882	  plugin: remove custom GstGL context handling
1883	  Instead of using our own context handling for looking for GstGL
1884	  parameters (display, context and other context), this patch changes
1885	  the logic to use the utility function offered by GstGL.
1886	  https://bugzilla.gnome.org/show_bug.cgi?id=793643
1887
18882018-04-26 15:03:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1889
1890	* gst/vaapi/gstvaapipluginbase.c:
1891	  plugins: GstGL API must use the member variables
1892	  This commit basically is a revert of commits 8092537 and fc1c415
1893	  https://bugzilla.gnome.org/show_bug.cgi?id=793643
1894
18952018-04-25 16:24:32 +0900  Hyunjun Ko <zzoon@igalia.com>
1896
1897	* gst/vaapi/gstvaapipluginbase.c:
1898	  plugins: pass members as parameters of gst_gl_ensure_element_data()
1899	  The parameters of gst_gl_ensure_element_data() have to be not
1900	  local variable since they are going to be used to see if they're
1901	  set in gst_element_set_context() inside the API.
1902	  This is basically a revert of commit 3d56306c
1903	  https://bugzilla.gnome.org/show_bug.cgi?id=793643
1904
19052018-04-25 17:50:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1906
1907	* meson.build:
1908	  meson: fix USE_GLES_VERSION_MASK
1909	  1. The macro in the code is USE_GLES_VERSION_MASK
1910	  2. glesv3 is provided by glesv2 pkg-config, then it's required to
1911	  check headers
1912	  https://bugzilla.gnome.org/show_bug.cgi?id=795391
1913
19142018-04-24 18:12:44 +0900  Hyunjun Ko <zzoon@igalia.com>
1915
1916	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
1917	  libs: egl: utils: mark context as wrapped when it is
1918	  The returning egl context may be null, so we should check the
1919	  return value.
1920	  https://bugzilla.gnome.org/show_bug.cgi?id=795391
1921
19222018-04-24 10:02:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1923
1924	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
1925	  libs: egl: utils: fix usage of GstGL macros
1926	  Include gl.h for the required GstGL symbols.
1927	  https://bugzilla.gnome.org/show_bug.cgi?id=795391
1928
19292018-04-25 11:01:45 +0100  Tim-Philipp Müller <tim@centricular.com>
1930
1931	* meson.build:
1932	  meson: use -Wl,-Bsymbolic-functions where supported
1933	  Just like the autotools build.
1934
19352018-04-20 16:01:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1936
1937	* meson.build:
1938	  meson: use get_pkgconfig_variable()
1939	  Use get_pkgconfig_variable() method, of dependency class, rather
1940	  than using run_command().
1941
19422018-04-20 11:50:55 +0100  Tim-Philipp Müller <tim@centricular.com>
1943
1944	* gst-libs/gst/base/meson.build:
1945	* gst-libs/gst/vaapi/meson.build:
1946	* meson.build:
1947	  meson: fix miscellaneous meson warnings
1948	  WARNING: Passed invalid keyword argument "rqeuired".
1949	  gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "version".
1950	  gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "soversion".
1951	  gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "version".
1952	  gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "soversion".
1953
19542018-03-30 13:41:39 +0200  Paul Kocialkowski <paul.kocialkowski@bootlin.com>
1955
1956	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
1957	  display: drm: Allow finding DRM paths out of the PCI subsystem
1958	  This removes hard-coded checks on the parent subsystem of potential DRM
1959	  devices. These checks were set to exlude devices that do not originate
1960	  from the PCI bus, which is only a valid approach on x86 devices.
1961	  Other devices may have a DRM device originating from the platform
1962	  subsystem, so the checks that were previously restricted to PCI are
1963	  extended to cover platform devices as well.
1964	  https://bugzilla.gnome.org/show_bug.cgi?id=794840
1965	  Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
1966
19672017-11-08 13:27:06 +0900  Hyunjun Ko <zzoon@igalia.com>
1968
1969	* gst/vaapi/gstvaapivideocontext.c:
1970	  videocontext: support wl-display in "gst.vaapi.app.Display"
1971	  Through "gst.vaapi.app.Display" context, users can set their own
1972	  VADisplay and native display of their backend.
1973	  So far we support only X11 display, from now we also support Wayland
1974	  display.
1975	  Attributes:
1976	  - wl-display : pointer of struct wl_display .
1977	  https://bugzilla.gnome.org/show_bug.cgi?id=705821
1978
19792017-11-08 13:26:38 +0900  Hyunjun Ko <zzoon@igalia.com>
1980
1981	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1982	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
1983	  libs: display: wayland: add gst_vaapi_display_wayland_new_with_va_display()
1984	  Implements new API function so that users could create GstVaapiDisplay
1985	  with their own VADisplay within a native display as backend.
1986	  https://bugzilla.gnome.org/show_bug.cgi?id=705821
1987
19882018-04-13 09:28:53 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1989
1990	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1991	  wayland: don't poll if there are no pending frames
1992	  Otherwise the following poll may not return for an arbitrary amount of
1993	  time. This can happen if another wayland event queue has flushed and read
1994	  our events.
1995	  https://bugzilla.gnome.org/show_bug.cgi?id=795224
1996
19972017-10-16 12:09:08 +0900  Hyunjun Ko <zzoon@igalia.com>
1998
1999	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2000	  libs: encoder: h265: 16 bit rounding of picture width and height
2001	  pic_width_in_luma_samples/pic_height_in_luma_samples can be 16-bit rounded
2002	  instead of 32-bit.
2003	  In addition, codedbuf_size must be calculated according to this change.
2004	  https://bugzilla.gnome.org/show_bug.cgi?id=753229
2005
20062018-04-16 10:53:47 +0100  Tim-Philipp Müller <tim@centricular.com>
2007
2008	* common:
2009	  Automatic update of common submodule
2010	  From 3fa2c9e to ed78bee
2011
20122018-03-30 20:39:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2013
2014	* gst/vaapi/gstvaapiencode_h264.c:
2015	  vaapiencode: h264: find best profile in those available
2016	  Instead to look for the best profile in the allowed profiles by
2017	  downstream, the encoder should look for the base profile in the
2018	  available profile in VA-API.
2019	  https://bugzilla.gnome.org/show_bug.cgi?id=794306
2020
20212018-03-20 10:49:10 +0000  Tim-Philipp Müller <tim@centricular.com>
2022
2023	* NEWS:
2024	* RELEASE:
2025	* configure.ac:
2026	* docs/plugins/inspect/plugin-vaapi.xml:
2027	* meson.build:
2028	  Back to development
2029
2030=== release 1.14.0 ===
2031
20322018-03-19 20:30:28 +0000  Tim-Philipp Müller <tim@centricular.com>
2033
2034	* ChangeLog:
2035	* NEWS:
2036	* configure.ac:
2037	* gstreamer-vaapi.doap:
2038	* meson.build:
2039	  Release 1.14.0
2040
20412018-03-12 16:59:01 +0000  Julien Isorce <jisorce@oblong.com>
2042
2043	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2044	  libs: decoder: h264: ensure num_ref_frames is greater than 0
2045	  Even if it is the h264parse fault or bad video file, vaapih264dec
2046	  should set a proper value for VAPictureParameterBufferH264.num_ref_frames
2047	  as the driver might use it.
2048	  Also see "info.ref_frames = dpb_size;" in
2049	  gstvaapidecoder_h264.c::ensure_context
2050	  https://bugzilla.gnome.org/show_bug.cgi?id=793836
2051
2052=== release 1.13.91 ===
2053
20542018-03-13 19:32:05 +0000  Tim-Philipp Müller <tim@centricular.com>
2055
2056	* ChangeLog:
2057	* NEWS:
2058	* configure.ac:
2059	* gstreamer-vaapi.doap:
2060	* meson.build:
2061	  Release 1.13.91
2062
2063=== release 1.13.90 ===
2064
20652018-03-03 22:59:30 +0000  Tim-Philipp Müller <tim@centricular.com>
2066
2067	* ChangeLog:
2068	* NEWS:
2069	* configure.ac:
2070	* gstreamer-vaapi.doap:
2071	* meson.build:
2072	  Release 1.13.90
2073
20742018-03-01 07:33:27 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2075
2076	* gst/vaapi/gstvaapipostproc.c:
2077	  vaapipostproc: change how the metadata is copied
2078	  Instead of copying the metada in prepare_output_buffer() vmethod,
2079	  it is done in append_output_buffer_metadata() thus deinterlaced
2080	  buffers could also have the proper metas.
2081	  GstVideoCropMeta now it is copied internally and it is decided via
2082	  transform_meta() vmethod.
2083	  A new internal method, copy_metadata() was added to handle VPP
2084	  transformation where non-GstVideoVaapiMeta metas were lost.
2085
20862018-02-27 16:20:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
2087
2088	* gst/vaapi/gstvaapipostproc.c:
2089	  postproc: Copy meta data from input to output
2090	  This will ensure that meta data without memory tags will be copied. This
2091	  was noticed when testing ROI.
2092	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
2093
20942018-02-23 10:48:36 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2095
2096	* tests/elements/test-roi.c:
2097	  tests: element: rewrite ROI test
2098	  Rewrote the ROI test to use GstVideoRegionOfInterest meta rather
2099	  than injecting GstEvents. These meta are added as a pad probe in
2100	  the queue src pad.
2101	  Also
2102	  * Use of navigation messages to control de test
2103	  * Use signal watch for processing messages
2104	  * Change to H265 rather than H264 since current intel-vaapi-driver
2105	  only supports ROI on kabylake.
2106	  TODO: add a parameter to change the encoder/decoder to test.
2107	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
2108
21092018-02-22 14:20:42 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2110
2111	* gst-libs/gst/vaapi/gstvaapicontext.c:
2112	* gst-libs/gst/vaapi/gstvaapiencoder.c:
2113	* gst-libs/gst/vaapi/gstvaapiencoder.h:
2114	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2115	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2116	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2117	  libs: encoder: reimplement ROI using meta
2118	  Check input buffers for ROI metas and pass them to VA. Also added a
2119	  new "default-roi-delta-qp" property in order to tell the encoder what
2120	  delta QP should be applied to ROI by default.
2121	  Enabled it for H264 and H265 encoders.
2122	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
2123
21242018-02-22 08:22:35 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2125
2126	* gst-libs/gst/vaapi/gstvaapiencoder.c:
2127	* gst-libs/gst/vaapi/gstvaapiencoder.h:
2128	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2129	  Revert "libs: encoder: add api gst_vaapi_encoder_add/del_roi"
2130	  This reverts commit 7a6f690340dcb3b82c59efa777d4453227851de8.
2131	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
2132
21332018-02-22 14:29:19 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2134
2135	* tests/simple-encoder.c:
2136	  Revert "tests: simple-encoder: add an option to set ROI"
2137	  This reverts commit c21345c4787bb6342adddea1190f53fe62abff04.
2138	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
2139
21402018-02-21 10:56:47 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2141
2142	* gst/vaapi/gstvaapiencode.c:
2143	* gst/vaapi/gstvaapiencode_h264.c:
2144	  Revert "vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest"
2145	  This reverts commit 8f1b88dac0e64a211325cdcb2cda693b80229bd1.
2146	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
2147
21482018-02-23 09:25:51 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2149
2150	* gst/vaapi/gstvaapipluginbase.c:
2151	  plugins: copy input buffer metas
2152	  When importing buffers to a VA-base buffer, it is required to copy
2153	  the metas in the original buffer, otherwise information will be
2154	  lost, such as GstVideoRegionOfInterestMeta.
2155	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
2156
21572018-02-27 06:10:09 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2158
2159	* gst-libs/gst/vaapi/gstvaapisurface.c:
2160	  libs: surface: cast to uintptr_t pointer
2161	  According to Debian package auto-building, uintptr_t is not an
2162	  unsigned long in i386 arch, raising an "incompatible pointer type"
2163	  error.
2164	  This patch adds a casting for compiler's satisfaction in i386.
2165
21662018-02-25 20:46:56 -0600  Matteo Valdina <matteo.valdina@gmail.com>
2167
2168	* gst-libs/gst/vaapi/gstvaapiencoder.c:
2169	  libs: encoder: add zero as valid value for periodic keyframe.
2170	  Enabled zero as valid value for keyframe-period property.
2171	  https://bugzilla.gnome.org/show_bug.cgi?id=793829
2172
21732018-02-22 08:24:12 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2174
2175	* gst-libs/gst/vaapi/gstvaapiencoder.c:
2176	  libs: encoder: code-style fix
2177
21782018-02-17 18:32:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2179
2180	* gst/vaapi/gstvaapidecode.c:
2181	  vaapidecode: generate system allocated buffers
2182	  Generate system allocated output buffers when downstream doesn't
2183	  support GstVideoMeta.
2184	  The VA buffer content is copied to the new output buffer, and it
2185	  replaces the VA buffer.
2186	  https://bugzilla.gnome.org/show_bug.cgi?id=785054
2187
21882018-02-15 19:32:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2189
2190	* gst/vaapi/gstvaapipostproc.c:
2191	  vaapipostproc: handle system allocated buffers when required
2192	  When downstream can't handle GstVideoMeta it is required to send
2193	  system allocated buffers.
2194	  The system allocated buffers are produced in prepare_output_buffer()
2195	  vmethod if downstream can't handl GstVideoMeta.
2196	  At transform() vmethod if the buffer is a system allocated buffer,
2197	  a VA buffer is instanciated and replaces the out buffer. Later
2198	  the VA buffer is copied to the system allocate buffer and it
2199	  replaces the output buffer.
2200	  https://bugzilla.gnome.org/show_bug.cgi?id=785054
2201
22022018-02-15 19:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2203
2204	* gst/vaapi/gstvaapipluginbase.c:
2205	* gst/vaapi/gstvaapipluginbase.h:
2206	  plugins: add gst_vaapi_copy_va_buffer()
2207	  This helper function aims to copy buffers with VA memory to dumb
2208	  buffers, when GstVideoMeta is not available dowstream.
2209	  https://bugzilla.gnome.org/show_bug.cgi?id=785054
2210
22112018-02-15 19:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2212
2213	* gst/vaapi/gstvaapipluginbase.c:
2214	* gst/vaapi/gstvaapipluginbase.h:
2215	  plugins: add COPY_OUTPUT_FRAME flag
2216	  This patch add the member copy_output_frame and set it TRUE when
2217	  when downstream didn't request GstVideoMeta API, the caps are raw
2218	  and the internal allocator is the VA-API one.
2219	  https://bugzilla.gnome.org/show_bug.cgi?id=785054
2220
22212018-02-15 19:28:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2222
2223	* gst/vaapi/gstvaapipluginbase.c:
2224	* gst/vaapi/gstvaapipluginbase.h:
2225	  plugins: store the first downstream allocator if available
2226	  The allocator will be required if we need to allocate a buffer
2227	  to store the frame with the expected strides.
2228	  https://bugzilla.gnome.org/show_bug.cgi?id=785054
2229
22302018-02-20 02:25:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2231
2232	* gst/vaapi/gstvaapivideobufferpool.c:
2233	* gst/vaapi/gstvaapivideobufferpool.h:
2234	  vaapibufferpool: add gst_vaapi_video_buffer_pool_copy_buffer()
2235	  This function will inform the element if it shall copy the generated
2236	  buffer by the pool to a system allocated buffer before pushing it
2237	  to downstream.
2238	  https://bugzilla.gnome.org/show_bug.cgi?id=785054
2239
22402018-02-15 19:22:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2241
2242	* gst/vaapi/gstvaapivideobufferpool.c:
2243	  vaapibufferpool: don't change config when forcing video meta
2244	  VA-API based buffer might need a video meta because of different
2245	  strides. But when donwstream doesn't support video meta we need to
2246	  force the usage of video meta.
2247	  Before we changed the buffer pool configuration, but actually this
2248	  is a hack and we cannot rely on that for downstream.
2249	  This patch add a check fo raw video caps and allocator is VA-API,
2250	  then the option is enabled without changing the pool configuration.
2251	  In this case the element is responsible to copy the frame to a
2252	  simple buffer with the expected strides.
2253	  https://bugzilla.gnome.org/show_bug.cgi?id=785054
2254
22552018-02-20 09:15:05 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2256
2257	* gst/vaapi/gstvaapipostproc.c:
2258	  vaapipostproc: set discont flag at vpp deinterlacing
2259	  When deinterlacing with VPP the discont flag was not forwarded to
2260	  the new created buffer. This patch sets the discont flag if input
2261	  buffer has it.
2262
22632018-02-20 02:14:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2264
2265	* gst/vaapi/gstvaapivideobufferpool.h:
2266	  vaapibufferpool: remove wrong gcc annotation
2267
22682018-02-15 14:55:42 -0600  Matteo Valdina <matteo.valdina@gmail.com>
2269
2270	* gst-libs/gst/vaapi/gstvaapiencoder.c:
2271	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2272	* gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2273	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2274	* gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
2275	* gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
2276	* gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
2277	  libs: encoder: h264,h265: extend max periodic keyframe.
2278	  Increased max values of periodic key frame for h26x codecs.
2279	  This allow more fine tunning of encoder that in certian scenario
2280	  want higher periodic key frame.
2281	  For example: it doesn't want a key frame each 10 seconds but
2282	  each 120 seconds.
2283	  https://bugzilla.gnome.org/show_bug.cgi?id=786320
2284
22852018-02-15 19:44:35 +0000  Tim-Philipp Müller <tim@centricular.com>
2286
2287	* configure.ac:
2288	* meson.build:
2289	  Back to development
2290
2291=== release 1.13.1 ===
2292
22932018-02-15 17:39:16 +0000  Tim-Philipp Müller <tim@centricular.com>
2294
2295	* Makefile.am:
2296	* NEWS:
2297	* configure.ac:
2298	* gstreamer-vaapi.doap:
2299	* meson.build:
2300	  Release 1.13.1
2301
23022018-02-15 18:15:33 +0000  Tim-Philipp Müller <tim@centricular.com>
2303
2304	* gst/vaapi/Makefile.am:
2305	  vaapi: dist new header
2306
23072018-02-12 17:53:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2308
2309	* gst/vaapi/gstvaapi.c:
2310	  vaapi: register vaapisink as marginal on wayland
2311	  vaapsink, when used with the Intel VA-API driver, tries to display
2312	  surfaces with format NV12, which are handled correctly by
2313	  Weston. Nonetheless, COGL cannot display YUV surfaces, making fail
2314	  pipelines on mutter.
2315	  This shall be solved either by COGL or by making the driver to paint
2316	  RGB surfaces. In the meanwhile, let's just demote vaapisink as
2317	  marginal when the Wayland environment is detected, no matter if it is
2318	  Weston.
2319	  https://bugzilla.gnome.org/show_bug.cgi?id=775698
2320
23212018-02-12 19:00:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2322
2323	* gst/vaapi/gstvaapipluginutil.c:
2324	  plugins: update mesa's vendor string in whitelist
2325	  Mesa has updated its VA-API Gallium driver vendor string:
2326	  https://cgit.freedesktop.org/mesa/mesa/commit/?id=5db29d62ce1fefa3f2ee6e4a4688576fde4bde4a
2327	  This patch tries to cover both, the old and the new one.
2328	  https://bugzilla.gnome.org/show_bug.cgi?id=793386
2329
23302018-02-08 19:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>
2331
2332	* meson.build:
2333	  meson: make version numbers ints and fix int/string comparison
2334	  WARNING: Trying to compare values of different types (str, int).
2335	  The result of this is undefined and will become a hard error
2336	  in a future Meson release.
2337
23382018-02-07 09:13:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2339
2340	* gst/vaapi/gstvaapipluginbase.c:
2341	  plugins: handle vaapi allocator in allocation query
2342	  In propose_allocation() if the numer of allocation params is zero, the
2343	  system's allocator is added first, and lastly the native VA-API
2344	  allocator.
2345	  In decide_allocation(), the allocations params in query are travered,
2346	  looking for a native VA-API allocator. If it is found, it is reused as
2347	  src pad allocator. Otherwise, a new allocator is instantiated and
2348	  appended in the query.
2349	  https://bugzilla.gnome.org/show_bug.cgi?id=789476
2350
23512018-02-07 09:06:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2352
2353	* gst/vaapi/gstvaapivideomemory.h:
2354	  vaapivideomemory: remove unused macro
2355	  GST_VAAPI_VIDEO_ALLOCATOR_NAME was added in commit 5b11b8332 but it
2356	  was never used, since the native VA-API allocator name has been
2357	  GST_VAAPI_VIDEO_MEMORY_NAME.
2358	  This patch removes GST_VAAPI_VIDEO_ALLOCATOR_NAME macro.
2359	  https://bugzilla.gnome.org/show_bug.cgi?id=789476
2360
23612018-02-02 08:54:00 +0000  VaL Doroshchuk <valkov@yandex.ru>
2362
2363	* gst/vaapi/gstvaapisink.c:
2364	  vaapisink: don't mask button events for foreign windows
2365	  Don't subscribe to button press events when using a foreing window,
2366	  because the user created window would trap those events, preveting the
2367	  show of frames.
2368	  https://bugzilla.gnome.org/show_bug.cgi?id=791615
2369
23702018-02-05 08:51:56 +0100  Tim-Philipp Müller <tim@centricular.com>
2371
2372	* configure.ac:
2373	  autotools: use -fno-strict-aliasing where supported
2374	  https://bugzilla.gnome.org/show_bug.cgi?id=769183
2375
23762018-01-30 20:38:37 +0000  Tim-Philipp Müller <tim@centricular.com>
2377
2378	* meson.build:
2379	  meson: use -fno-strict-aliasing where supported
2380	  https://bugzilla.gnome.org/show_bug.cgi?id=769183
2381
23822018-01-30 12:56:49 +0000  Philippe Normand <philn@igalia.com>
2383
2384	* gst/vaapi/gstvaapi.c:
2385	  vaapi: add NULL-sentinel to kernel_names
2386	  The array needs to be NULL-terminated according to the
2387	  gst_plugin_add_dependency() documentation.
2388
23892018-01-18 18:53:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2390
2391	* gst/vaapi/gstvaapipostprocutil.c:
2392	  vaapipostproc: remove spurious code
2393	  This assignation is dead code, since gst_video_info_from_caps() set
2394	  to 1 by default.
2395	  https://bugzilla.gnome.org/show_bug.cgi?id=790149
2396
23972018-01-18 18:51:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2398
2399	* gst/vaapi/gstvaapipostprocutil.c:
2400	  vaapipostproc: if no p-a-r in out caps define a range
2401	  Instead of copying the pixel-aspect-ratio from the sink caps, define
2402	  an open range for the src caps pixel-aspect-ratio. Later it will be
2403	  defined.
2404	  https://bugzilla.gnome.org/show_bug.cgi?id=790149
2405
24062018-01-18 13:10:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2407
2408	* gst/vaapi/gstvaapisink.c:
2409	  vaapisink: check for display's color-balance properties
2410	  Check for display's color-balance properties, available by the VA-API
2411	  driver, before setting them.
2412	  Also logs an info message of those unavailable properties.
2413	  https://bugzilla.gnome.org/show_bug.cgi?id=792638
2414
24152018-01-17 17:30:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2416
2417	* gst/vaapi/gstvaapipluginbase.c:
2418	  plugins: re-using buffer pool breaks renegotiation
2419	  at propose_allocation() we should not reuse the proposed buffer,
2420	  because it could break renegotiation.
2421	  https://bugzilla.gnome.org/show_bug.cgi?id=792620
2422
24232018-01-17 17:26:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2424
2425	* gst/vaapi/gstvaapipluginbase.c:
2426	  plugins: use g_clear_object() to unref sinkpad_buffer_pool
2427	  https://bugzilla.gnome.org/show_bug.cgi?id=792620
2428
24292018-01-17 12:42:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2430
2431	* gst-libs/gst/vaapi/meson.build:
2432	  build: meson: add missing GstGL dependency
2433
24342018-01-17 12:41:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2435
2436	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
2437	  libs: utils: egl: add missing guards for GstGL
2438
24392018-01-11 11:48:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2440
2441	* gst/vaapi/gstvaapipluginbase.c:
2442	  plugins: remove dmabuf-import hack
2443	  Remove the hack to check if an upstream element has enabled the
2444	  property io-mode enabled as dmabuf-import.
2445	  https://bugzilla.gnome.org/show_bug.cgi?id=792034
2446
24472017-12-01 15:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2448
2449	* gst-libs/gst/vaapi/Makefile.am:
2450	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
2451	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
2452	* gst-libs/gst/vaapi/gstvaapiutils_egl.h:
2453	  libs: egl: utils: use eglGetPlatformDisplay()
2454	  eglGetDisplay() is currently broken in Mesa for Wayland.  Also using
2455	  eglGetDisplay() is rather fragile, and it is recommended to use
2456	  eglGetPlatformDisplay() when possible.
2457	  In order to do that, this patch uses the helper in GstGL. If
2458	  gstreamer-vaapi is not compiled with GstGL support, eglGetDisplay()
2459	  will be used.
2460	  https://bugzilla.gnome.org/show_bug.cgi?id=790493
2461
24622017-12-08 14:46:02 +0100  Michael Tretter <m.tretter@pengutronix.de>
2463
2464	* gst/vaapi/gstvaapipostproc.c:
2465	  vaapipostproc: lock ensure_filter with postproc_lock
2466	  gst_vaapipostproc_ensure_filter might free the allowed_srcpad_caps
2467	  and allowed_sinkpad_caps. This can race with copying these caps in
2468	  gst_vaapipostproc_transform_caps and lead to segfaults.
2469	  The gst_vaapipostproc_transform_caps function already locks
2470	  postproc_lock before copying the caps. Make sure that calls to
2471	  gst_vaapipostproc_ensure_filter also acquire this lock.
2472	  https://bugzilla.gnome.org/show_bug.cgi?id=791404
2473
24742018-01-10 17:10:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2475
2476	* tests/test-filter.c:
2477	  tests: test-filter: fix dereference before null check
2478	  Null-checking op_info suggests that it may be null, but it has already
2479	  been dereferenced on all paths leading to the check.
2480	  There may be a null pointer dereference, or else the comparison
2481	  against null is unnecessary.
2482
24832018-01-10 17:06:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2484
2485	* tests/y4mreader.c:
2486	  tests: y4mreader: fix string state checkup
2487	  str cannot be null in that moment, but it may be the end of string.
2488
24892018-01-10 16:59:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2490
2491	* tests/y4mreader.c:
2492	  tests: y4mreader: use int for fgetc
2493	  Assigning the return value of fgetc to char truncates its value.
2494	  It will not be possible to distinguish between EOF and a valid
2495	  character.
2496
24972018-01-10 16:48:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2498
2499	* tests/y4mreader.c:
2500	  tests: y4mreader: fix incompatible cast
2501	  Passed pointer in parse_int() are unsigned int (32 bits, unsigned) but
2502	  they are dereferenced as a wider long (64 bits, signed). This may lead
2503	  to memory corruption.
2504
25052017-12-19 16:01:10 +0000  Tim-Philipp Müller <tim@centricular.com>
2506
2507	* meson.build:
2508	  meson: fix fallback for gstreamer-gl-1.0, it's now in -base
2509
25102017-12-14 14:53:27 +1100  Matthew Waters <matthew@centricular.com>
2511
2512	* common:
2513	  Automatic update of common submodule
2514	  From e8c7a71 to 3fa2c9e
2515
25162017-12-06 16:11:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
2517
2518	* gst/vaapi/gstvaapivideocontext.c:
2519	  videoconvert: gst_element_post_message() is transfer full on msg
2520	  For this reson we need not to unref the message, even if it failed.
2521
25222017-12-06 16:11:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
2523
2524	* gst/vaapi/gstvaapivideocontext.c:
2525	  Revert "vaapivideocontext: possible memleak when no bus attached"
2526	  This reverts commit 0438a3e62660e64ed390b6bb83bfb560b91664aa.
2527
25282017-12-01 23:03:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2529
2530	* tests/elements/test-vaapicontext.c:
2531	  test: vaapicontext: process have-context bus message
2532
25332017-11-29 18:29:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2534
2535	* tests/elements/test-vaapicontext.c:
2536	  test: vaapicontext: app context is not persistent
2537
25382017-11-29 11:02:03 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2539
2540	* gst/vaapi/gstvaapipluginbase.c:
2541	* gst/vaapi/gstvaapivideocontext.c:
2542	* gst/vaapi/gstvaapivideocontext.h:
2543	  vaapivideocontext: only vaapisink process app context
2544	  gst.vaapi.app.Display context is made for applications that will
2545	  provide the VA display and the native display to used by the
2546	  pipeline, when are using vaapisink as overlay. There are no use
2547	  case for encoders, decoders, neither for the postprocessor.
2548	  In the case of the vaapisink, it shall query for gst.vaapi.Display
2549	  upstream first, and then, if there is no reply,
2550	  gst.vaapi.app.Display context will be posted in the bus for the
2551	  application. If the application replies, a GstVaapiDisplay object
2552	  is instantiated given the context info, otherwise a
2553	  GstVaapiDisplay is created with the normal algorithm to guess the
2554	  graphics platform. Either way, the instantiated GstVaapiDisplay
2555	  is propagated among the pipeline and the have-message bus message.
2556	  Also only vaapisink will process the gst.vaapi.app.Display, if
2557	  and only if, it doesn't have a display already set. This is
2558	  caused because if vaapisink is in a bin (playsink, for example)
2559	  the need-context is posted twice, leading to an error state.
2560	  https://bugzilla.gnome.org/show_bug.cgi?id=790999
2561
25622017-12-01 20:21:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2563
2564	* gst/vaapi/gstvaapivideocontext.c:
2565	  vaapivideocontext: log the name of GstVaapiDisplay
2566	  https://bugzilla.gnome.org/show_bug.cgi?id=790999
2567
25682017-11-30 14:24:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2569
2570	* gst/vaapi/gstvaapivideocontext.c:
2571	  vaapivideocontext: possible memleak when no bus attached
2572	  https://bugzilla.gnome.org/show_bug.cgi?id=790999
2573
25742017-11-27 13:04:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2575
2576	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
2577	  libs: window: wayland: remove unused header include
2578	  Remove wayland-client.h include since there is no exposed symbols from
2579	  it.
2580
25812017-11-27 12:18:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2582
2583	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2584	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2585	  libs: encoder: h264,h265: guard rate control's macroblock
2586	  macroblock parameter appear on VA-API 1.0.0. It should be guarded.
2587
25882017-11-27 20:17:55 +1100  Matthew Waters <matthew@centricular.com>
2589
2590	* common:
2591	  Automatic update of common submodule
2592	  From 3f4aa96 to e8c7a71
2593
25942016-07-29 14:58:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2595
2596	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2597	  libs: encoder: h264: Add Hierarchical-B encode
2598	  Frames are encoded as different layers. Frame in a particular
2599	  layer will use pictures in lower or same layer as references.
2600	  Which means decoder can drop the frames in upper layer but still
2601	  decode lower layer frames.
2602	  B-frames, except the one in top most layer, are reference frames.
2603	  All the base layer frames are I or P.
2604	  eg: with 3 temporal layers
2605	  T3:             B1            B3              B5              B7
2606	  T2:                   B2                              B6
2607	  T1:   I0                                P4                        P8
2608	  T1, T2, T3: Temporal Layers
2609	  P1...Pn:   P-Frames:
2610	  B1...Bn:   B-frames:
2611	  T1: I0->P4 , P4->P8 etc..
2612	  T2: I0--> B2 <-- P4
2613	  T3: I0--> B1 <-- B2, B2 --> B3 <-- P4
2614	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2615	  https://bugzilla.gnome.org/show_bug.cgi?id=788918
2616
26172016-07-28 18:33:23 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2618
2619	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2620	  libs: encoder: h264: Add Hierarchical-P encode
2621	  Frames are encoded as different layers. A frame in a particular
2622	  layer will use pictures in lower or same layer as references.
2623	  Which means decoder can drop the frames in upper layer but still
2624	  decode lower layer frames.
2625	  eg: with 3 temporal layers
2626	  T3:             P1            P3              P5              P7
2627	  T2:                   P2                              P6
2628	  T1:   P0                                P4                        P8
2629	  T1, T2, T3: Temporal Layers
2630	  P1...pn:   P-Frames:
2631	  P0->P1 , P0->P2, P2->P3, P0->P4......repeat
2632	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2633	  https://bugzilla.gnome.org/show_bug.cgi?id=788918
2634
26352016-07-28 16:51:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2636
2637	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2638	  libs: encoder: h264: Fix frame_num generation
2639	  The frame_num generation was not correctly implemented.
2640	  According to h264 spec, frame_num should get incremented
2641	  for each frame if previous frame is a referece frame.
2642	  For eg: IPBPB sequece should have the frame numbers 0,1,2,2,3
2643	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2644	  https://bugzilla.gnome.org/show_bug.cgi?id=788918
2645
26462016-07-28 15:53:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2647
2648	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2649	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2650	  libs: encoder: h264: Add new property "prediction-type"
2651	  Adds new property "prediction-type" to select different reference
2652	  picture selection modes like hierarchical-p, hierarchical-b etc.
2653	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2654	  https://bugzilla.gnome.org/show_bug.cgi?id=788918
2655
26562016-07-28 15:12:05 +0300  XuGuangxin <guangxin.xu@intel.com>
2657
2658	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2659	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
2660	  libs: encoder: h264: Add machinery for implementing hierarchical-prediction
2661	  Adds some basic building blocks to ease the implementation
2662	  of hierarchical prediction modes.
2663	  -- add an utility method to find temporal level of each frame
2664	  -- define max_ref_frame count based on temporal level count
2665	  -- add temporal_level_div[] for finding temporal level each frame
2666	  to be encoded.
2667	  -- find ip_period based on temporal level count
2668	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2669	  https://bugzilla.gnome.org/show_bug.cgi?id=788918
2670
26712016-07-28 14:17:53 +0300  XuGuangxin <guangxin.xu@intel.com>
2672
2673	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2674	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2675	  libs: encoder: h264: Add property "temporal-levels"
2676	  Adds new property "temporal-levels" to select the number of
2677	  temporal levels to be included in the encoded stream.
2678	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2679	  https://bugzilla.gnome.org/show_bug.cgi?id=788918
2680
26812016-07-27 16:41:01 +0300  XuGuangxin <guangxin.xu@intel.com>
2682
2683	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
2684	  libs: encoder: objects: Add a reference flag
2685	  We can have p-frame as non-ref and also b-frame as ref
2686	  which are not supported yet. Reference flag
2687	  is the first machinery needed for more advanced
2688	  reference picture selection modes.
2689	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2690	  https://bugzilla.gnome.org/show_bug.cgi?id=788918
2691
26922017-11-02 13:21:34 +0100  Daniel van Vugt <daniel.van.vugt@canonical.com>
2693
2694	* gst-libs/gst/vaapi/gstvaapisurface_egl.c:
2695	  libs: surface: egl: add comment
2696	  Add a warning comment when using old intel-vaapi-drivers (>1.8.4),
2697	  where the creation of surfaces from GEM fd may fail.
2698	  https://bugzilla.gnome.org/show_bug.cgi?id=773453
2699
27002017-10-10 13:38:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2701
2702	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
2703	* gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
2704	* gst-libs/gst/vaapi/gstvaapitexture_egl.c:
2705	  libs: display: egl: add gst_vaapi_display_egl_set_current_display()
2706	  Adds a new function that changes the internal EGL display to the
2707	  current one (eglGetCurrentDisplay()) and sets the current context
2708	  too (eglGetCurrentContext()).
2709	  This new function is called by gst_vaapi_texture_egl_create() updating
2710	  the GstVaapiDisplayEGL with the current EGL display.
2711	  https://bugzilla.gnome.org/show_bug.cgi?id=773453
2712
27132017-10-09 16:02:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2714
2715	* gst-libs/gst/vaapi/gstvaapitexture_egl.c:
2716	  libs: texture: egl: update EGL display and context
2717	  It is required to use the context of the calling thread when wrapping
2718	  a foreign texture. According the documentation of
2719	  GstVideoGLTextureUploadMeta:
2720	  "The caller of gst_video_gl_texture_upload_meta_upload() must
2721	  have OpenGL set up and call this from a thread where it is valid
2722	  to upload something to an OpenGL texture."
2723	  This patch updates the EGL display and context in GstVaapiDisplay
2724	  instance to the one used by te renderer that uploads the texture.
2725	  Original-patch-by: Daniel van Vugt <daniel.van.vugt@canonical.com>
2726	  https://bugzilla.gnome.org/show_bug.cgi?id=773453
2727
27282017-10-10 19:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2729
2730	* gst/vaapi/gstvaapipluginbase.c:
2731	  plugins: centralize assignation of GL objects
2732	  Add plugin_set_gst_gl() where the GstGL objects are assigned.
2733	  https://bugzilla.gnome.org/show_bug.cgi?id=773453
2734
27352017-10-10 19:13:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2736
2737	* gst/vaapi/gstvaapipluginbase.c:
2738	  plugins: set GL objects if ensured
2739	  Only set the GL display and GL other context if they are ensured.
2740	  https://bugzilla.gnome.org/show_bug.cgi?id=773453
2741
27422017-10-10 17:14:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2743
2744	* gst/vaapi/gstvaapipluginbase.c:
2745	  plugins: set GL objects if context is handled
2746	  Only set the GL display and GL other context if they are extracted
2747	  correctly from the gstreamer's context.
2748	  https://bugzilla.gnome.org/show_bug.cgi?id=773453
2749
27502017-10-10 19:57:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2751
2752	* gst/vaapi/gstvaapipluginbase.c:
2753	  plugins: fix memory leak when GL context is created
2754	  When the GL display and context are created inside an VAAPI element
2755	  the created GL context is leaked.
2756	  https://bugzilla.gnome.org/show_bug.cgi?id=773453
2757
27582017-10-10 14:01:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2759
2760	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
2761	  libs: display: egl: free leaked memory
2762	  The EGL VAAPI display forgot to release the egl display, context and
2763	  proxied VAAPI display.
2764	  https://bugzilla.gnome.org/show_bug.cgi?id=773453
2765
27662017-10-05 19:25:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2767
2768	* gst-libs/gst/vaapi/gstvaapitexture_egl.c:
2769	  libs: texture: egl: code style
2770	  https://bugzilla.gnome.org/show_bug.cgi?id=773453
2771
27722017-10-04 13:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2773
2774	* gst-libs/gst/vaapi/gstvaapisurface_egl.c:
2775	  libs: surface: egl: error message if no extension
2776	  Instead of silently fail to export the image if there is not available
2777	  the EGL_MESA_drm_image, log an error message. Also a code refactoring
2778	  was done.
2779	  https://bugzilla.gnome.org/show_bug.cgi?id=773453
2780
27812017-10-31 13:10:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2782
2783	* gst/vaapi/gstvaapipluginbase.c:
2784	  plugins: direct rendering on memory:VASurface
2785	  As buffers negotiated with memory:VASurface caps feature can also be
2786	  mapped, they can also be configured to use VA derived images, in other
2787	  words "direct rendering".
2788	  Also, because of the changes in dmabuf allocator as default allocator,
2789	  the code for configuring the direct rendering was not clear.
2790	  This patch cleans up the code and enables direct rendering when the
2791	  environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING is defined,
2792	  even then the memory:VASurface cap feature is negotiated.
2793	  https://bugzilla.gnome.org/show_bug.cgi?id=786054
2794
27952017-10-04 11:54:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2796
2797	* gst/vaapi/gstvaapipluginbase.c:
2798	* gst/vaapi/gstvaapipluginutil.c:
2799	  plugins: only dmabuf on srcpad if downstream
2800	  Set if source pad can handle dmabuf only if the GstGL context comes
2801	  from downstream.
2802	  It is possible to know that at two moments:
2803	  1\ In the case of GstGLTextureUpload caps feature is negotiated and
2804	  downstream pool reports back gst.gl.GstGLContext.
2805	  2\ When GstGLContext is found as GstContext from dowstream.
2806	  https://bugzilla.gnome.org/show_bug.cgi?id=788503
2807
28082017-10-04 11:52:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2809
2810	* gst/vaapi/gstvaapivideocontext.c:
2811	  vaapivideocontext: add inline documentation
2812	  Document function gst_vaapi_find_gl_local_context().
2813	  https://bugzilla.gnome.org/show_bug.cgi?id=788503
2814
28152017-10-04 11:50:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2816
2817	* gst/vaapi/gstvaapipluginutil.c:
2818	* gst/vaapi/gstvaapivideocontext.c:
2819	* gst/vaapi/gstvaapivideocontext.h:
2820	  vaapivideocontext: return the direction of gl context
2821	  In function gst_vaapi_find_gl_context() add a direction parameter to
2822	  return back the direction where the GstGL context was found.
2823	  This is going to be useful when checking if downstream can import
2824	  dmabuf-based buffers.
2825	  https://bugzilla.gnome.org/show_bug.cgi?id=788503
2826
28272017-10-04 08:30:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2828
2829	* gst/vaapi/gstvaapipluginbase.c:
2830	* gst/vaapi/gstvaapipluginbase.h:
2831	  plugins: add gst_vaapi_plugin_base_set_srcpad_can_dmabuf()
2832	  This patch refactors the code by adding the function
2833	  vaapi_plugin_base_set_srcpad_can_dmabuf(), it determines if the passed
2834	  GstGLContext can handle dmabuf-based buffers.
2835	  The function is exposed publicly since it is intended to be used later
2836	  at GstVaapiDisplay instantiation.
2837	  https://bugzilla.gnome.org/show_bug.cgi?id=788503
2838
28392017-10-20 12:37:15 +0200  Hyunjun Ko <zzoon@igalia.com>
2840
2841	* gst/vaapi/gstvaapiencode.c:
2842	  vaapiencode: allow to set property on runtime
2843	  Tis patch, allows some properties that we want to be set on
2844	  runtime. (eg. bitrate)
2845	  Note that all properties are under control by num_codedbuf_queued.
2846	  https://bugzilla.gnome.org/show_bug.cgi?id=786321
2847
28482017-09-15 15:38:18 +0900  Hyunjun Ko <zzoon@igalia.com>
2849
2850	* gst-libs/gst/vaapi/gstvaapiencoder.c:
2851	  libs: encoder: allow to set bitrate on runtime
2852	  In case of streaming, controlling bitrate dynamically for encoder might be
2853	  important to manage quality of the streaming.
2854	  This patch is to support such a scenario.
2855	  https://bugzilla.gnome.org/show_bug.cgi?id=786321
2856
28572017-10-10 11:35:24 +0300  Sebastian Dröge <sebastian@centricular.com>
2858
2859	* gst/vaapi/gstvaapi.c:
2860	* gst/vaapi/gstvaapi.h:
2861	* gst/vaapi/gstvaapidecodebin.c:
2862	  vaapidecodebin: Register element if no VPP support is available too
2863	  VPP support is only needed for advanced deinterlacing, which is not
2864	  enabled by default either. Error out if it is selected but VPP is not
2865	  supported, and otherwise just work without VPP support.
2866	  https://bugzilla.gnome.org/show_bug.cgi?id=788758
2867
28682017-10-16 11:57:16 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
2869
2870	* gst/vaapi/gstvaapipluginutil.c:
2871	  Avoid infinite loop when vaapi_create_display fails
2872	  Which might be the case when using, for example, xvfb.
2873
28742017-10-02 18:53:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2875
2876	* gst-libs/gst/vaapi/gstvaapiutils.c:
2877	  libs: utils: log warn if display fail
2878	  gstreamer-vaapi initializes the display by trial-and-error, thus
2879	  logging an error message if the display initialisation fails the user
2880	  may be weary of the error message in the screen, if using VA-API 1.0
2881	  This commit set the VA error log handler to GStreamer warning level
2882	  while calling vaInitialize() and set it to error after that.
2883	  https://bugzilla.gnome.org/show_bug.cgi?id=783169
2884
28852017-09-29 20:05:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2886
2887	* gst/vaapi/gstvaapipluginutil.c:
2888	  plugins: try to create test display in order
2889	  When creating the test display for querying capabilites, it try in
2890	  certain order: DRM, Wayland and finally X11. GLX nor EGL are tried
2891	  since they are either composited with X11 or Wayland.
2892	  The reason for this is to reduce the posibility of failure that could
2893	  blacklist the plugin.
2894	  https://bugzilla.gnome.org/show_bug.cgi?id=782212
2895
28962017-09-29 15:07:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2897
2898	* gst-libs/gst/vaapi/gstvaapidisplay.c:
2899	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
2900	  libs: display: delay getting screen resolution
2901	  Instead of extracting the screen resolution at GstVaapiDisplay
2902	  creation, this patch delay it until the screen size is requested for
2903	  first time.
2904	  https://bugzilla.gnome.org/show_bug.cgi?id=782212
2905
29062017-09-28 18:58:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2907
2908	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
2909	  libs: display: egl: avoid two vaDisplay instantiates
2910	  GstVaapiDisplayEGL is a wrapper of another GstVaapiDisplay, either X11
2911	  or Wayland. Nonetheless it created another vaDisplay for it, instead
2912	  of using the wrapped one.
2913	  This patch enables the reuse of the wrapped vaDisplay avoiding
2914	  instantiating two.
2915	  https://bugzilla.gnome.org/show_bug.cgi?id=782212
2916
29172017-09-28 17:45:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2918
2919	* gst-libs/gst/vaapi/gstvaapidisplay.c:
2920	* gst-libs/gst/vaapi/gstvaapidisplay.h:
2921	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
2922	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
2923	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
2924	  libs: display: remove display_type from display info
2925	  Since it's no required to pass the display type in the display info,
2926	  the structure member is removed.
2927	  https://bugzilla.gnome.org/show_bug.cgi?id=782212
2928
29292017-09-28 17:35:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2930
2931	* gst-libs/gst/vaapi/gstvaapidisplay.c:
2932	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
2933	  libs: display: remove display_type member
2934	  It is not used any more since GstVaapiDisplay was ported as a
2935	  GstObject-based. This information is part of the class information.
2936	  https://bugzilla.gnome.org/show_bug.cgi?id=782212
2937
29382017-09-28 16:12:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2939
2940	* gst-libs/gst/vaapi/gstvaapidisplay.c:
2941	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
2942	  libs: display: remove parent member
2943	  Parent was a crumb left from display cache.
2944	  https://bugzilla.gnome.org/show_bug.cgi?id=782212
2945
29462017-10-03 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>
2947
2948	* gst/vaapi/gstvaapi.c:
2949	  vaapi: Also register vaapipostproc without VPP support
2950	  It can still do simple deinterlacing then.
2951
29522017-10-03 10:51:06 +0200  Sebastian Dröge <sebastian@centricular.com>
2953
2954	* gst/vaapi/gstvaapipostproc.c:
2955	  vaapipostproc: Allow running without VPP support
2956	  We returned FALSE from ::start() if VPP support is not available, but it
2957	  is only really needed for complex filters and during transform we check
2958	  for that. For simple deinterlacing it is not needed.
2959
29602017-09-27 18:35:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2961
2962	* gst/vaapi/gstvaapipostproc.c:
2963	  vaapipostproc: use scoped variable for return value
2964	  Instead of reusing a parameter variable for the return value of
2965	  gst_vaapipostproc_transform_caps(), this patch uses the function
2966	  scoped pointer. Thus, the code is cleaner.
2967	  https://bugzilla.gnome.org/show_bug.cgi?id=785706
2968
29692017-09-27 18:32:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2970
2971	* gst/vaapi/gstvaapipostproc.c:
2972	  vaapipostproc: removed unused parameter
2973	  Removed caps parameter from gst_vaapipostproc_transform_caps_impl()
2974	  helper function since the it is not used.
2975	  https://bugzilla.gnome.org/show_bug.cgi?id=785706
2976
29772017-09-27 13:32:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2978
2979	* gst/vaapi/gstvaapipostproc.c:
2980	  vaapipostproc: use scoped variable for return value
2981	  Instead of reusing a parameter variable for the return value of
2982	  gst_vaapipostproc_fixate_caps(), this patch uses the function scoped
2983	  pointer. Thus, the code is cleaner.
2984	  https://bugzilla.gnome.org/show_bug.cgi?id=785706
2985
29862017-09-27 11:27:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2987
2988	* gst/vaapi/gstvaapipluginutil.h:
2989	  plugins: memory:DMABuf only handles planar formats
2990	  When glimagesink negotiates the caps feature memory:DMABuf the
2991	  exported dmabufs buffers with NV12 format are not well rendered, thus
2992	  setting only planar.
2993	  https://bugzilla.gnome.org/show_bug.cgi?id=788229
2994
29952017-09-25 17:04:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2996
2997	* gst/vaapi/gstvaapiencode.c:
2998	  vaapiencode: flush pending frames before set format
2999	  Flush pending frames, if any, in the internal encorder, before setting
3000	  the new negotiated format.
3001	  https://bugzilla.gnome.org/show_bug.cgi?id=786173
3002
30032017-09-25 15:50:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3004
3005	* gst/vaapi/gstvaapidecode.c:
3006	  vaapidecode: drain pending frames before set format
3007	  Drain pending frames, if any, in the internal decoder before setting
3008	  the new negotiated format.
3009	  https://bugzilla.gnome.org/show_bug.cgi?id=786173
3010
30112017-09-22 19:35:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3012
3013	* tests/test-display.c:
3014	  tests: display: use GObject getter
3015	  Instead of using the gst_vaapi_display_get_property(), this patch
3016	  replaces it with g_object_get_property() to dump the available VA
3017	  display properties.
3018	  https://bugzilla.gnome.org/show_bug.cgi?id=788058
3019
30202017-09-22 19:25:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3021
3022	* gst/vaapi/gstvaapisink.c:
3023	  vaapisink: use GObject setter and getter
3024	  Instead of using gst_vaapi_display_set_property() or
3025	  gst_vaapi_display_get_property(), this patch set replace it usage
3026	  with g_object_set() or g_object_get().
3027	  Also the internal helper cb_set_value() is removed since it is not
3028	  used anymore.
3029	  https://bugzilla.gnome.org/show_bug.cgi?id=788058
3030
30312017-09-22 18:59:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3032
3033	* gst-libs/gst/vaapi/gstvaapidisplay.c:
3034	  libs: display: initialize value if they are not yet
3035	  This is a difference between the GObject API and the GstVaapi one: the
3036	  GValue passed to get a property value, in GObject has to be
3037	  initialized with g_value_init(), but in GstVaapi is has not.
3038	  In order to overcome this mismatch, this patch call g_value_init()
3039	  internally only in the passed one is not already initialized.
3040	  https://bugzilla.gnome.org/show_bug.cgi?id=788058
3041
30422017-09-22 17:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3043
3044	* gst-libs/gst/vaapi/gstvaapidisplay.c:
3045	  libs: display: optimize properties setters and getters
3046	  Shuffled some code to avoid to find the properties descriptor in the
3047	  array twice, adding the internal functions _set_property() and
3048	  _get_property().
3049	  https://bugzilla.gnome.org/show_bug.cgi?id=788058
3050
30512017-09-22 16:29:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3052
3053	* gst-libs/gst/vaapi/gstvaapidisplay.c:
3054	  libs: display: install properties in class
3055	  Install the properties in the class as a normal GObject. Implement
3056	  set_property() and get_property() vmethods.
3057	  https://bugzilla.gnome.org/show_bug.cgi?id=788058
3058
30592017-09-22 15:16:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3060
3061	* gst-libs/gst/vaapi/gstvaapidisplay.c:
3062	  libs: display: remove gst_vaapi_display_properties_init()
3063	  Remove gst_vaapi_display_properties_init() since it can be unrolled in
3064	  gst_vaapi_display_class_init()
3065	  https://bugzilla.gnome.org/show_bug.cgi?id=788058
3066
30672017-09-22 15:12:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3068
3069	* gst-libs/gst/vaapi/gstvaapidisplay.c:
3070	  libs: display: remove libgstvaapi_init_once()
3071	  It is not required since it can be unrolled in
3072	  gst_vaapi_display_class_init()
3073	  https://bugzilla.gnome.org/show_bug.cgi?id=788058
3074
30752017-09-22 17:50:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3076
3077	* tests/test-display.c:
3078	  tests: test-display: remove display cache tests
3079	  Since commit ec3e10f6, display cache was removed. This patch removes
3080	  this leftovers in the display test.
3081
30822017-09-18 14:29:55 +0900  Hyunjun Ko <zzoon@igalia.com>
3083
3084	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3085	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3086	  libs: decoder: h264/h265: decode codec data only if opened
3087	  Fixes regression introduced by commit 2eb2b26a.
3088	  There is a use case when the decoder set the src caps and immediatly
3089	  tries to process the media codec_data, this happens before decoder is
3090	  even opened, thus priv->parser is not instantiated yet.
3091	  https://bugzilla.gnome.org/show_bug.cgi?id=787818
3092
30932017-09-18 19:11:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3094
3095	* gst-libs/gst/vaapi/gstvaapiencoder.c:
3096	* gst-libs/gst/vaapi/gstvaapiencoder.h:
3097	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3098	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3099	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
3100	  libs: encoder: change mbbrc from uint to enum
3101	  Instead of handling the macroblock bitrate control as a integer, this
3102	  patch changes it as a enum, which is more self documented in the
3103	  GStreamer elements.
3104	  https://bugzilla.gnome.org/show_bug.cgi?id=787855
3105
31062017-09-18 13:55:49 +1000  Jan Schmidt <jan@centricular.com>
3107
3108	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3109	  Fix a typo in the prop string for compliance-mode
3110
31112017-09-15 18:31:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3112
3113	* gst-libs/gst/vaapi/gstvaapiencoder.c:
3114	  libs: encoder: don't unref properties
3115	  This patch fixes a regression introduced in commit 148f867c, since the
3116	  props variable is set to object's member variable
3117	  encoder->properties. And it is set in the instance initialization,
3118	  thus it will not be leaked.
3119	  https://bugzilla.gnome.org/show_bug.cgi?id=787733
3120
31212017-09-15 15:14:47 +0900  Hyunjun Ko <zzoon@igalia.com>
3122
3123	* gst-libs/gst/vaapi/gstvaapiencoder.c:
3124	* gst/vaapi/gstvaapiencode.c:
3125	  vaapiencode/libs: encoder: fix leaks of properties
3126	  https://bugzilla.gnome.org/show_bug.cgi?id=786321
3127
31282017-08-24 21:51:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3129
3130	* gst-libs/gst/vaapi/gstvaapidecoder.c:
3131	  libs: decoder: at update_caps() decode codec_data
3132	  When updating the caps in decoder, if the caps has codec_data (avC
3133	  format), it has to be parsed to update the state of the decoder.
3134	  https://bugzilla.gnome.org/show_bug.cgi?id=786173
3135
31362017-09-13 15:44:32 +0900  Hyunjun Ko <zzoon@igalia.com>
3137
3138	* gst-libs/gst/vaapi/gstvaapicontext.c:
3139	  libs: context: fix wrong counter of the array of attributes
3140	  The counter value passed to vaCreateConfig is always +1.
3141	  This is a regression caused by commit e42ec3ad.
3142	  The present patch fixes wrong counting of the array of attributes.
3143	  https://bugzilla.gnome.org/show_bug.cgi?id=787613
3144
31452017-09-13 12:23:42 +0900  Hyunjun Ko <zzoon@igalia.com>
3146
3147	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3148	* gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
3149	  libs: encoder: h265: support I/P/B QP setting seperatedly
3150	  Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
3151	  frames
3152	  and set slice_qp_delta for each frame according to the value provided.
3153	  https://bugzilla.gnome.org/show_bug.cgi?id=785923
3154
31552017-09-13 12:22:07 +0900  Hyunjun Ko <zzoon@igalia.com>
3156
3157	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3158	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3159	  libs: encoder: h264: support I/P/B QP setting seperatedly
3160	  Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
3161	  frames
3162	  and set slice_qp_delta for each frame according to the value provided.
3163	  In addition, remove the limitation of (<= 4) when setting
3164	  slice_qp_delta.
3165	  https://bugzilla.gnome.org/show_bug.cgi?id=785923
3166
31672017-09-13 12:15:57 +0900  Hyunjun Ko <zzoon@igalia.com>
3168
3169	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3170	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3171	  libs: encoder: h264/h265: keep min_qp as is unless it's over init_qp
3172	  Creates new variable for QP for I frame and keep it at configuration and
3173	  use this for pic_init_qp and slice_qp_delta setting.
3174	  Since changing min qp doesn't make sense, keep min qp as is.
3175	  https://bugzilla.gnome.org/show_bug.cgi?id=785923
3176
31772017-09-13 12:09:45 +0900  Hyunjun Ko <zzoon@igalia.com>
3178
3179	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3180	* gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
3181	  libs: encoder: h265: Add mbbrc property
3182	  This property supports Macroblock level Bitrate Control as the
3183	  following (same as h264 encoder):
3184	  0: auto
3185	  1: on
3186	  2: off
3187	  https://bugzilla.gnome.org/show_bug.cgi?id=785917
3188
31892017-09-13 12:02:53 +0900  Hyunjun Ko <zzoon@igalia.com>
3190
3191	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3192	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3193	  libs: encoder: h264: Add mbbrc property
3194	  This property supports Macroblock level Bitrate Control as the
3195	  following:
3196	  0: auto
3197	  1: on
3198	  2: off
3199	  https://bugzilla.gnome.org/show_bug.cgi?id=785917
3200
32012017-09-13 11:39:09 +0900  Hyunjun Ko <zzoon@igalia.com>
3202
3203	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3204	  libs: encoder: h265: add multi reference support
3205	  This is doing the same as h264 encoder as the following:
3206	  Using num_ref_frames provided and the result of the Query
3207	  VAConfigAttribEncMaxRefFrames, it determines the size of reference list
3208	  and perform encoding with multi reference frames as the following:
3209	  1\ The num_ref_frames is being considered as the number of
3210	  reference picture list0
3211	  2\ Encoder adds 1 reference frame more to the reference picture list1
3212	  internally if b-frame encoding.
3213	  3\ If num_ref_frames is bigger than the number of refrence frames
3214	  supported in the driver, it will be lowered.
3215	  Also this patch includes:
3216	  - Set num_negative_pics and num_positive_pics according to the number of
3217	  refs.
3218	  - Set delta_poc according to the number of refs.
3219	  - Increase max_dec_pic_buffering according to the number of refs
3220	  - Change max_num_reorder_pics according to num of bframes
3221	  https://bugzilla.gnome.org/show_bug.cgi?id=783804
3222
32232017-09-13 11:37:33 +0900  Hyunjun Ko <zzoon@igalia.com>
3224
3225	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3226	* gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
3227	  libs: encoder: h265: add refs property
3228	  Users can provide the number of reference frame by this property,
3229	  which is exaclty same as h264.
3230	  The value of the property will be considered as the number of
3231	  reference picture list0 and will add 1 reference frame more to the
3232	  reference picture list1 internally if b-frame encoding.
3233	  If the value provided is bigger than the number of refrence frames
3234	  supported in the driver, it will be lowered.
3235	  The maximum value is aligned to the value of the driver supported now.
3236	  https://bugzilla.gnome.org/show_bug.cgi?id=783804
3237
32382017-09-13 11:17:26 +0900  Hyunjun Ko <zzoon@igalia.com>
3239
3240	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3241	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3242	  libs: encoder: h264/5: determine num_ref_idx_active_override_flag according to reference list
3243	  Follows the specification as below:
3244	  7.4.7.1 in Rec. ITU-T H.265 v4 (12/2016)
3245	  num_ref_idx_active_override_flag equal to 1 specifies that the syntax
3246	  element num_ref_idx_l0_active_minus1 is present for P and B slices and
3247	  that the syntax element num_ref_idx_l1_active_minus1 is present for B
3248	  slices.
3249	  num_ref_idx_active_override_flag equal to 0 specifies that the syntax
3250	  elements num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1
3251	  are not present.
3252	  https://bugzilla.gnome.org/show_bug.cgi?id=783804
3253
32542017-09-13 11:06:20 +0900  Hyunjun Ko <zzoon@igalia.com>
3255
3256	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3257	  libs: encoder: h265: keep idr_period equal to keyframe period
3258	  Remove FIXME code, which makes previous assignation spurious.
3259	  This also means to make idr_period equal to keyframe period,
3260	  which is same as h264 encoder.
3261	  https://bugzilla.gnome.org/show_bug.cgi?id=783804
3262
32632017-09-06 14:03:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
3264
3265	* gst/vaapi/gstvaapipluginbase.c:
3266	  Request minimum buffer even if need_pool is FALSE
3267	  When tee is used, it will not request a pool, but still it wants to
3268	  know how many buffers are required.
3269	  https://bugzilla.gnome.org/show_bug.cgi?id=730758
3270
32712017-09-05 10:58:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3272
3273	* gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3274	  libs: encoder: h264_fei: VA-API 1.0 compat
3275	  Use VA_ENC_PACKED_HEADER_H264_SEI compat macro for VA-API 1.0
3276	  compatibility.
3277	  https://bugzilla.gnome.org/show_bug.cgi?id=787322
3278	  Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
3279
32802017-09-01 13:48:01 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3281
3282	* gst/vaapi/gstvaapisink.c:
3283	  vaapisink: Fix rendering in drm display
3284	  Make sure vaapisink create a va surface backed buffer pool and all
3285	  required attributes get assigned correctly for drm display type.
3286	  This is needed to make the below pipeline working:
3287	  gst-launch-1.0 filesrc location= raw_video.mov ! videoparse format=uyvy
3288	  width=320 height=240 framerate=30/1 ! vaapisink display=drm
3289	  https://bugzilla.gnome.org/show_bug.cgi?id=786954
3290
32912017-08-09 18:46:09 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3292
3293	* tests/Makefile.am:
3294	* tests/test-fei-enc-in.c:
3295	* tests/test-fei-enc-out.c:
3296	  FEI: Add test applications to showcase fei use case
3297	  test-fei-enc-out: A simple fei encoding application to output mv, mbcode and distortion
3298	  eg:
3299	  ./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
3300	  test-fei-enc-in: A simple fei encoding application for testing input fei buffers
3301	  eg:
3302	  ./test-fei-enc-in -c h264 -o out.264 -e 4 -q 1 sample_i420.y4m
3303	  Fixme: Running test-fei-enc-in in PAK mode with mv and mbcode input buffers
3304	  from saved files is still not working
3305	  People contributed:
3306	  Wang, Yi <yi.a.wang@intel.com>
3307	  Leilei <leilei.shang@intel.com>
3308	  Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
3309	  xiaominc <xiaomin.chen@intel.com>
3310	  Li, Jing B <jing.b.li@intel.com>
3311	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3312	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3313
33142017-08-09 18:36:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3315
3316	* gst/vaapi/Makefile.am:
3317	* gst/vaapi/gstvaapi.c:
3318	* gst/vaapi/gstvaapiencode_h264_fei.c:
3319	* gst/vaapi/gstvaapiencode_h264_fei.h:
3320	  FEI: plugin: Add vaapih264feienc element
3321	  A new FEI based encoder element for h264 is added: vaapih264feienc
3322	  FEI is a an extension to VA-API which is providing low level
3323	  advanced control over different stages of encoding.
3324	  Extending vaapih264enc with fei support is possible, but it will
3325	  make the code too much complicated and will be difficult
3326	  to debug. So adding the new encoder element, but keeping
3327	  the rank as 0 , vaapih264enc will stay as the primary
3328	  encoder for normal use cases.
3329	  The vaaih264feienc is mainly useful for customers who want to play
3330	  with MotionVectors and Macroblock Predictions. Also user can
3331	  do one stage of encoding(eg: only the Motion Vector Calculation)
3332	  in software and offload trasformation/entroy-coding etc to
3333	  Hardware (which is what PAK module is doing) using FEI element.
3334	  vaapih264feienc can work in  different modes using fei-mode properoty
3335	  eg: gst-launch-1.0 videotestsrc ! vaapih264feienc fei-mode=ENC+PAK ! filesink location=sample.264
3336	  Important Note: ENC only mode won't produce any encoded data which is expected.
3337	  But ENC alwys requires the output of PAK in order to do the inter-prediction
3338	  over reconstructed frames.
3339	  Similary PAK mode alway requires MV and MBCode as input, so unless there is an
3340	  upstream element providing those buffers, PAK only won't work as expected.
3341	  In a nutshell, ENC_PAK and the ENC+PAK modes are the only options we can verify
3342	  with vaapih264feienc. But ideally, EN+PAK mode verification is enough to make sure
3343	  that ENC and PAK are working as expected since ENC+PAK mode always invoke ENC and PAK
3344	  separately in vaapih264feienc.
3345	  People contributed:
3346	  Wang, Yi <yi.a.wang@intel.com>
3347	  Leilei <leilei.shang@intel.com>
3348	  Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
3349	  xiaominc <xiaomin.chen@intel.com>
3350	  Li, Jing B <jing.b.li@intel.com>
3351	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3352	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3353	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3354
33552017-08-09 18:32:13 -0700  Yi A Wang <yi.a.wang@intel.com>
3356
3357	* gst/vaapi/gstvaapiencode.c:
3358	* gst/vaapi/gstvaapiencode.h:
3359	  FEI: plugin: Add virtual methods to base encode
3360	  Two new virtual methods are added to gstvaapiencode.
3361	  load_control_data():  load the FEI input buffers set by the upstream elements
3362	  save_stats_to_meta(): save the FEI output buffers to Meta for downnstream elements
3363	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3364	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3365	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3366
33672017-08-09 18:26:57 -0700  Yi A Wang <yi.a.wang@intel.com>
3368
3369	* gst/vaapi/Makefile.am:
3370	* gst/vaapi/gstvaapifeivideometa.c:
3371	* gst/vaapi/gstvaapifeivideometa.h:
3372	  FEI: plugin: Add fei specific video meta
3373	  GstVaapiFeiVideoMeta holds the below fei codec objects:
3374	  GstVaapiEncFeiMbCode
3375	  GstVaapiEncFeiMv
3376	  GstVaapiEncFeiMvPredictor
3377	  GstVaapiEncFeiMbControl
3378	  GstVaapiEncFeiQp
3379	  GstVaapiEncFeiDistortion
3380	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3381	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3382	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3383
33842017-08-09 18:19:06 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3385
3386	* gst-libs/gst/vaapi/Makefile.am:
3387	* gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3388	* gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
3389	* gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3390	* gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
3391	* gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
3392	* gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
3393	  FEI: libs: Add FEI encoder
3394	  Adding FEI encoder to core lib.
3395	  The code is splitted into three session:
3396	  1: gstvaapiencoder_h264_fei.{h,c}
3397	  This is the replica of gstvaapiencoder_h264.{c,h} but with FEI.
3398	  All the modes ENC, PAK and ENC_PAK are running based
3399	  the code in these files.
3400	  2: gstvaapifeienc_h264.{h,c}
3401	  Abstract implementation intended for ENC (only VME) operation.
3402	  3: gstvaapifeipak_h264.{h,c}
3403	  Abstrct implementation intended for PAK (only the PAK module)
3404	  Right now ENC_PAK, ENC and PAK are running based on code
3405	  in gstvaapiencoder_h264_fei.{h,c}. The abstract implementations
3406	  in gstvaapifeienc_h264.{h,c} and gstvaapifeipak_h264.{h,c} are
3407	  needed if user request for ENC+PAK mode operation.
3408	  ENC+PAK: Here we need to invoke two sequence of
3409	  vaBeginPicture/vaRenderPicutre/vaEndPicture for each frame,
3410	  first for the ENC only and the second for PAK only.
3411	  Each mode associated with separate context ,but same pool of surfaces are
3412	  shared between the modes.
3413	  This is more useful once we have custom BRC algorithms.
3414	  Other Contributors:
3415	  Wang, Yi <yi.a.wang@intel.com>
3416	  Leilei <leilei.shang@intel.com>
3417	  Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
3418	  xiaominc <xiaomin.chen@intel.com>
3419	  Li, Jing B <jing.b.li@intel.com>
3420	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3421	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3422
34232017-08-09 17:54:27 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3424
3425	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
3426	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
3427	  FEI: libs: Add fei codec objects to GstVaapiEncPicture
3428	  All the codec objects(vaapi buffers) supposed to be
3429	  submited in vaRenderPicutre are associated with a GstVaapiEncPicture
3430	  for each frame, follow the same design for FEI too.
3431	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3432	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3433
34342017-08-09 16:05:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3435
3436	* gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
3437	* gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
3438	* gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
3439	  FEI: libs: Add fei codec objects in codedbufferproxy
3440	  MbCode, MV and Distortion buffers (fei codec objects)
3441	  can be treated as output of different fei modes based user request.
3442	  For eg: MbCode and MV are the output of ENC only. MbCode, MV and Dist
3443	  can be dumped as output in ENC_PAK mode for analysis purpose.
3444	  So treating them as a part of CodedBufferProxy too.
3445	  Here we avoided Qp, MbControl and MvPredictor codec objects since
3446	  there is no practical use case of treating them as "output buffers".
3447	  Other contributors:
3448	  Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
3449	  xiaominc <xiaomin.chen@intel.com>
3450	  Leilei <leilei.shang@intel.com>
3451	  Li, Jing B <jing.b.li@intel.com>
3452	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3453	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3454
34552017-08-09 15:49:21 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3456
3457	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
3458	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
3459	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
3460	  FEI: libs: Add fei codec objects to surface proxy
3461	  Add fei codec objects to surface proxy since handling the
3462	  fei buffers(codec objects here) external to gstvaapisurfaceproxy
3463	  will make the code complicated. Especially considering the behavior
3464	  of encoder where the input frame order from upstream and output
3465	  frame order to the downstream are not sequential.
3466	  Other contributors:
3467	  Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
3468	  xiaominc <xiaomin.chen@intel.com>
3469	  Leilei <leilei.shang@intel.com>
3470	  Li, Jing B <jing.b.li@intel.com>
3471	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3472	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3473
34742017-08-09 15:35:10 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3475
3476	* gst-libs/gst/vaapi/Makefile.am:
3477	* gst-libs/gst/vaapi/gstvaapifei_objects.c:
3478	* gst-libs/gst/vaapi/gstvaapifei_objects.h:
3479	* gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
3480	  FEI: Add codec objects for fei usecase
3481	  There are 6 new va buffer types, each defined as a specific codec object.
3482	  Borrowed the code from gstvaapicodecobject , but made a clear separation
3483	  to avoid any possible mess-up. Because unlike the other gstvaaicodecobjects,
3484	  feicodecobjects can be shared between elements and also can be accessed
3485	  from different thread.
3486	  Unlike the other fei codecs object, VAEncMiscParameterTypeFEIFrameControl
3487	  object is not shared between elements.So we utilize the already
3488	  existing gst_vaapi_enc_misc_param_new(), but still keeping the code
3489	  in gstvaapfei_objects_priv.h in order to have a better
3490	  code readability.
3491	  Fixme:
3492	  -- Probably we need _locked_map() and _unlocked_map()
3493	  -- Context can be associated with PreEnc(not just Enoder)
3494	  once we have the proper support inplace, but for now we don't have
3495	  PreEnc support, so should be safe enough to use GstVaapiEncoder.
3496	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3497	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3498
34992017-08-09 14:22:12 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3500
3501	* gst-libs/gst/vaapi/Makefile.am:
3502	* gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
3503	* gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
3504	  FEI: libs: add H264 fei specific utility functions
3505	  Added enum/flag type definitions for a number of FEI
3506	  input and output parameters.
3507	  Original author of the patch: Wang, Yi <yi.a.wang@intel.com>
3508	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3509	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3510	  Signed-off-by: Wang, Yi <yi.a.wang@intel.com>
3511	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3512
35132017-08-09 14:10:16 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3514
3515	* gst-libs/gst/vaapi/gstvaapiencoder.c:
3516	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
3517	  FEI: libs: Add virtual method for secondary context creation.
3518	  Add a new vitrual method ensure_secondary_context to the
3519	  base encoder which is only required for the FEI entrypoint, that too
3520	  only when user configures the ENC+PAK mode. ENC+PAK mode is not something
3521	  supported directly by libva or driver, but this can be enabled
3522	  from the middleware.
3523	  Original Author of this idea: Leilei Shang <leilei.shang@intel.com>
3524	  Signed-off-by: Leilei Shang <leilei.shang@intel.com>
3525	  Signed-off-by: xiaominc <xiaomin.chen@intel.com>
3526	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3527	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3528	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3529
35302017-08-09 14:05:03 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3531
3532	* gst-libs/gst/vaapi/gstvaapiencoder.c:
3533	  FEI: libs: make sure the default context creation works as expected.
3534	  Current code always guess the entrypoint during init phase in case
3535	  if there is no entrypoint already configured in GstVaapiContextInfo.
3536	  Make sure FEI Entrypoint is not messing up with this logic.
3537	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3538	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3539
35402017-08-09 13:45:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3541
3542	* gst-libs/gst/vaapi/gstvaapicontext.c:
3543	* gst-libs/gst/vaapi/gstvaapicontext.h:
3544	* gst-libs/gst/vaapi/gstvaapiencoder.c:
3545	  FEI: libs: Add FEI functional mode configuration
3546	  FEI Entrypoint can work in either one of the 3 different modes:
3547	  VA_FEI_FUNCTION_ENC, VA_FEI_FUNCTION_PAK or VA_FEI_FUNCTION_ENC_PAK.
3548	  Add infrastructure in gstvaapicontext and gstvaapiencoder for this
3549	  functioal mode configuration.
3550	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3551	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3552
35532017-08-09 13:02:24 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3554
3555	* gst-libs/gst/vaapi/gstvaapidisplay.c:
3556	* gst-libs/gst/vaapi/gstvaapiprofile.c:
3557	* gst-libs/gst/vaapi/gstvaapiprofile.h:
3558	  FEI: libs: Add FEI Entrypoint mapping
3559	  Define the new mapping GST_VAAPI_ENTRYPOINT_SLICE_ENCODE_FEI
3560	  for VAEntrypointFEI.
3561	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3562	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3563
35642017-08-09 12:58:29 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3565
3566	* configure.ac:
3567	  FEI: Add support for FEI conditional build
3568	  FEI(Flexible Encoding Infrastructure) is an extension
3569	  to VA API. Define USE_H264_FEI_ENCODER based on
3570	  fei header file and required structures availability.
3571	  https://bugzilla.gnome.org/show_bug.cgi?id=785712
3572	  https://bugzilla.gnome.org/show_bug.cgi?id=784667
3573
35742017-08-28 17:34:50 -0700  Orestis Floros <orestisf1993@gmail.com>
3575
3576	* gst/vaapi/gstvaapidecode.c:
3577	  vaapidecode: force add h264 SVC profiles in caps
3578	  When vaapih264dec's base-only profile is set to TRUE, fake SVC profile
3579	  support in caps.
3580	  https://bugzilla.gnome.org/show_bug.cgi?id=732266
3581	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3582
35832017-08-28 17:32:57 -0700  Orestis Floros <orestisf1993@gmail.com>
3584
3585	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3586	  libs: decoder: h264: decode SVC base layer only
3587	  Drops non-base NALs when the base-only property is set to TRUE.
3588	  This modifies the behavior for MVC streams with base-only too: All the
3589	  non-base units are dropped before they are decoded instead of dropping
3590	  the non-base frames.
3591	  The relevant part from the H264 spec is:
3592	  > Decoders that conform to one or more of the profiles specified in
3593	  Annex A rather than the profiles specified in Annexes G or H shall
3594	  ignore (remove from the bitstream and discard) the contents of all NAL
3595	  units with nal_unit_type equal to 14, 15, or 20.
3596	  To eliminate side effects from the offending units:
3597	  - PPS's with a broken seq_parameter_set_id (referring to dropped subset
3598	  SPS's) are ignored.
3599	  - The NAL parsing is skipped and their flags are set to
3600	  GST_VAAPI_DECODER_UNIT_FLAG_SKIP.
3601	  - Prefix units are not stored in prev_pi. Otherwise, parse_slice() would
3602	  use them even if they are flagged to be skipped. Subset SPS's and slice
3603	  extension units are not stored there either.
3604	  https://bugzilla.gnome.org/show_bug.cgi?id=732266
3605	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3606
36072017-08-28 17:28:04 -0700  Orestis Floros <orestisf1993@gmail.com>
3608
3609	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3610	  libs: decoder: h264: check nalu validity in parser info finalize
3611	  https://bugzilla.gnome.org/show_bug.cgi?id=732266
3612	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3613
36142017-08-28 19:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3615
3616	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3617	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3618	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3619	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3620	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3621	  libs: encoder: remove unused cast macro
3622	  Remove internal macro to cast structure that are already declared
3623	  in the header.
3624
36252017-08-28 19:09:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3626
3627	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3628	* gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
3629	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
3630	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
3631	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
3632	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
3633	  Revert "libs: encoders: remove unused cast macros"
3634	  This reverts commit fd7d38f7d26b11e592638092b4073b5c1764f255.
3635
36362017-08-28 18:32:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3637
3638	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3639	* gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
3640	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
3641	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
3642	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
3643	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
3644	  libs: encoders: remove unused cast macros
3645	  They are only used inside the code, where another macro is defined.
3646	  Thus these exported macros have no use.
3647
36482017-08-24 20:26:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3649
3650	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3651	  libs: decoder: h264: improve code-style
3652	  https://bugzilla.gnome.org/show_bug.cgi?id=786173
3653
36542017-08-25 16:22:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3655
3656	* gst-libs/gst/vaapi/gstvaapicompat.h:
3657	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3658	  libs: encoder: h264: handle deprecated enum
3659	  In VA-API 1.0 the enum VAEncPackedHeaderH264_SEI is deprecated, and
3660	  instead VAEncPackedHeaderRawData should be used.
3661	  This patch creates a compatibility symbol,
3662	  VA_ENC_PACKED_HEADER_H264_SEI, to expose the used enum according the
3663	  VA-API version.
3664	  https://bugzilla.gnome.org/show_bug.cgi?id=784398
3665
36662017-08-25 16:07:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3667
3668	* gst-libs/gst/vaapi/gstvaapiprofile.c:
3669	* gst-libs/gst/vaapi/gstvaapiutils.c:
3670	  libs: guard deprecated symbols
3671	  In VA-API 1.0 the H.264 baseline profile is deprecated. This patch
3672	  guards the H.264 baseline usage. Consider this commit as a
3673	  continuation of commit e0e0a474
3674	  https://bugzilla.gnome.org/show_bug.cgi?id=784398
3675
36762017-08-17 12:54:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3677
3678	* configure.ac:
3679	* meson.build:
3680	* meson_options.txt:
3681	  Revert "build: check for libva-2.0"
3682	  This reverts commit 8f2eb70803099d4b533ecc10fc259041d8714210.
3683	  https://bugzilla.gnome.org/show_bug.cgi?id=784398
3684
36852017-08-17 12:44:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3686
3687	* gst-libs/gst/vaapi/gstvaapicompat.h:
3688	* gst-libs/gst/vaapi/gstvaapicontext.c:
3689	* gst-libs/gst/vaapi/gstvaapiencoder.c:
3690	  libs: macro to get a renamed value in VA-API 1.0
3691	  In VA-API 1.0 the union bits in VAEncMiscParameterBufferROI has
3692	  renamed one member from roi_value_is_qp_delat to
3693	  roi_value_is_qp_delta, which is the correct name.
3694	  In order to keep back compatibility a macro has added to access this
3695	  union member.
3696	  https://bugzilla.gnome.org/show_bug.cgi?id=784398
3697
36982017-08-22 11:37:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3699
3700	* gst/vaapi/gstvaapipluginbase.h:
3701	* gst/vaapi/gstvaapipluginutil.c:
3702	  plugins: include main gstgl header
3703	  Instead including particular gstgl header files in a header file
3704	  that doesn't export a gstgl symbol, the main gstgl header file is
3705	  included in gstvaapipluginutil.c where the symbols are used.
3706	  https://bugzilla.gnome.org/show_bug.cgi?id=786597
3707
37082017-08-18 18:00:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3709
3710	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3711	  libs: encoder: h264: fix enum namespace
3712
37132017-08-17 12:26:12 +0100  Tim-Philipp Müller <tim@centricular.com>
3714
3715	* common:
3716	  Automatic update of common submodule
3717	  From 48a5d85 to 3f4aa96
3718
37192017-08-17 11:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3720
3721	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3722	  libs: encoder: h264: remove spurious assignation
3723	  Coverity scan bug:
3724	  An assigned value that is never used may represent unnecessary
3725	  computation, an incorrect algorithm, or possibly the need for cleanup
3726	  or refactoring.
3727	  ip_period is assigned first to be rewritter inmediatly after. The
3728	  first assignation is spurious.
3729
37302017-08-15 17:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
3731
3732	* gst/vaapi/gstvaapidecode.c:
3733	  vaapidecode: fix mismatch of the return type
3734	  https://bugzilla.gnome.org/show_bug.cgi?id=786307
3735
37362017-08-10 13:34:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3737
3738	* gst-libs/gst/vaapi/Makefile.am:
3739	* gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
3740	* gst-libs/gst/vaapi/gstvaapiminiobject.h:
3741	* gst-libs/gst/vaapi/gstvaapiutils.h:
3742	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
3743	* gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
3744	* gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
3745	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
3746	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
3747	* gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
3748	* gst-libs/gst/vaapi/meson.build:
3749	  libs: remove unused header
3750	  Since libgstvaapi is not distributed, there is no need to check for
3751	  private header inclusion. Thus removing it.
3752	  https://bugzilla.gnome.org/show_bug.cgi?id=786119
3753
37542017-08-10 13:27:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3755
3756	* gst-libs/gst/vaapi/gstvaapiutils_h264.h:
3757	* gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
3758	* gst-libs/gst/vaapi/gstvaapiutils_h265.h:
3759	* gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
3760	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
3761	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
3762	  libs: utils: move gstvaapisurface.h to private headers
3763	  Since the utils don't expose API defined in gstvaapisource.h, it is
3764	  moved to their private headers where they are used.
3765	  https://bugzilla.gnome.org/show_bug.cgi?id=786119
3766
37672017-08-10 13:26:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3768
3769	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
3770	* gst-libs/gst/vaapi/gstvaapiutils_h264.h:
3771	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
3772	* gst-libs/gst/vaapi/gstvaapiutils_h265.h:
3773	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
3774	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
3775	  libs: utils: remove va.h include in header
3776	  And include gstvaapicompat.h in the C files, since the VA-API is not
3777	  exposed in the headers.
3778	  https://bugzilla.gnome.org/show_bug.cgi?id=786119
3779
37802017-08-10 13:24:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3781
3782	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3783	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3784	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3785	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3786	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3787	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3788	  libs: encoder: remove va.h include
3789	  Since it is already managed by gstvaapicompat.h
3790	  https://bugzilla.gnome.org/show_bug.cgi?id=786119
3791
37922017-08-10 13:11:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3793
3794	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
3795	* gst-libs/gst/vaapi/gstvaapicompat.h:
3796	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
3797	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
3798	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
3799	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3800	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3801	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3802	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3803	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3804	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3805	* gst-libs/gst/vaapi/gstvaapifilter.c:
3806	* gst-libs/gst/vaapi/gstvaapiutils.c:
3807	* meson.build:
3808	  build: consolidate the VA sub API includes
3809	  Include all VA sub APIs headers in a single point (gstvaapicompat.h),
3810	  since they are all already included in va.h after VA-API 0.38.
3811	  https://bugzilla.gnome.org/show_bug.cgi?id=786119
3812
38132017-08-10 13:09:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3814
3815	* configure.ac:
3816	* meson.build:
3817	  build: check for va_vpp.h
3818	  Thus, in config.h the macro HAVE_VA_VA_VPP_H is defined. This will
3819	  allow us to handle the inclusion of the header better.
3820	  https://bugzilla.gnome.org/show_bug.cgi?id=786119
3821
38222017-08-11 20:22:41 +0100  Tim-Philipp Müller <tim@centricular.com>
3823
3824	* meson.build:
3825	  meson: don't export symbols by default
3826	  Only plugin entry points should be exported.
3827
38282017-08-09 19:06:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3829
3830	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3831	  libs: decoder: h265: remove spurious code
3832	  Coverity scan:
3833	  Logically dead code: The indicated dead code may have performed some
3834	  action; that action will never occur.
3835	  By using pointer arithmetic is impossible to get NULL.
3836
38372017-08-08 18:52:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3838
3839	* gst-libs/gst/vaapi/gstvaapicontext.c:
3840	  libs: context: use attribs index instead pointers
3841	  Coverity scan bug:
3842	  Out-of-bounds write. This could cause an immediate crash or incorrect
3843	  computations.
3844	  Coverity basically found that it is possible to assign more than 4
3845	  attribs in the array.
3846	  In my opinion this was produced because code pattern used pointer
3847	  arithmetic, which is not readable nor maintainable.
3848	  This patch refactors config_create() to use an array index rather than
3849	  pointer arithmetic. Also a run-time check for index size was added.
3850
38512017-08-08 17:38:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3852
3853	* gst/vaapi/gstvaapiencode_h264.c:
3854	  vaapiencode: h264: remove spurious code
3855	  Coverity scan bug:
3856	  An unsigned value can never be negative, so this test will always
3857	  evaluate the same way.
3858	  As len is guint32, there is no need to check it if it is equal or
3859	  bigger than zero.
3860
38612017-08-08 17:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3862
3863	* gst/vaapi/gstvaapidecode.c:
3864	  vaapidecode: initialize variable
3865	  Coverity scan bug:
3866	  The variable will contain an arbitrary value left from earlier
3867	  computations.
3868	  Variable base_only is fetched from base-only property, and it may be
3869	  not assigned. It needs to be initialized.
3870
38712017-08-08 17:29:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3872
3873	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3874	  libs: windows: wayland: fail if cannot remove last frame
3875	  Converity scan bug:
3876	  If the function returns an error value, the error value may be
3877	  mistaken for a normal value.
3878	  If g_atomic_pointer_compare_and_exchange() fails because the frame is
3879	  not the last one, the function fails. Thus, logging an info message.
3880
38812017-08-08 17:21:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3882
3883	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
3884	  libs: utils: glx: check return value
3885	  Coverity scan bug:
3886	  If the function returns an error value, the error value may be
3887	  mistaken for a normal value.
3888	  Function sscanf returns the number of assignations done. Validate this
3889	  return value with the number of expected variables to match.
3890
38912017-08-08 17:12:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3892
3893	* gst-libs/gst/vaapi/gstvaapiobject.c:
3894	  libs: vaapi: object: remove unrequired NULL check
3895	  Coverity scan bug:
3896	  Dereference after null check: Either the check against null is
3897	  unnecessary, or there may be a null pointer dereference.
3898	  Variable klass has been validated as non-NULL several time before in
3899	  gst_vaapi_object_new() function, so there is no need to check it
3900	  again.
3901
39022017-08-08 17:06:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3903
3904	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3905	  libs: encoder: h265: remove spurious assignation
3906	  Coverity scan bug:
3907	  An assigned value that is never used may represent unnecessary
3908	  computation, an incorrect algorithm, or possibly the need for cleanup
3909	  or refactoring.
3910	  ip_period is assigned first to be rewritter inmediatly after. The
3911	  first assignation is spurious.
3912
39132017-08-08 16:50:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3914
3915	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3916	  libs: encoder: h264: fix copy & paste error
3917	  Coverity scan bug:
3918	  The copied code will not have its intended effect.
3919	  This is a bug from commit cdaf15b2, where the intention is to
3920	  initialize RefPicList1 while setting RefPicList0.
3921
39222017-08-08 16:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3923
3924	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3925	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3926	  libs: encoder: h265: fix possible integer overflow
3927	  Coverity scan bug:
3928	  Unintentional integer overflow. The expression's value may not be what
3929	  the programmer intended, because the expression is evaluated using a
3930	  narrow (i.e. few bits) integer type.
3931	  Cast operator to guint64 before computation to avoid narrowing.
3932	  merge with 3c5a6add
3933
39342017-08-08 16:12:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3935
3936	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
3937	  libs: decoder: mpeg4: fail if return value is not OK
3938	  Coverity scan bug:
3939	  An assigned value that is never used may represent unnecessary
3940	  computation, an incorrect algorithm, or possibly the need for cleanup
3941	  or refactoring.
3942	  In the return value of decode_slice() or
3943	  gst_mpeg4_parse_video_packet_header() are not success, thus fail
3944	  decode_packet() function.
3945
39462017-08-08 15:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3947
3948	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3949	  libs: decoder: h265: check for null
3950	  Coverity scan bug:
3951	  Dereference after null check: Either the check against null is
3952	  unnecessary, or there may be a null pointer dereference.
3953	  While looking for hte lowest poc, according to rest of the code, the
3954	  picture in the dbp (decoded picture buffer) might be NULL, thus we
3955	  could check for a NULL picture before assigned as found.
3956	  Also, split a comma operator because it is considered as a bad
3957	  practice because it possible side effects.
3958
39592017-08-08 15:38:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3960
3961	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3962	  libs: decoder: h265: untaint loop control variable
3963	  Coverity scan bug:
3964	  Scalars (for example, integers) are not properly
3965	  bounds-checked (sanitized) before being used as array or pointer
3966	  indexes, loop boundaries, or function arguments are considered as
3967	  tainted.
3968	  In this case, num_nals were not checked before used as loop control.
3969
39702017-08-08 13:46:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3971
3972	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3973	  libs: decoder: h264: remove unrequired NULL check
3974	  Coverity scan bug:
3975	  Dereference after null check: Either the check against null is
3976	  unnecessary, or there may be a null pointer dereference.
3977	  In the original commit for fill_picture_gaps() (commit 5abd2b90) the
3978	  prev_picture could be NULL, that's why the code did a null check. But,
3979	  since commit 52adebe7, the previous reference frames are tracked, thus
3980	  there is no need to check null anymore.
3981
39822017-08-03 23:17:44 +0300  orestisf <orestisf1993@gmail.com>
3983
3984	* gst/vaapi/gstvaapidecode.c:
3985	  vaapidecode: fix gst_caps_new_simple call
3986	  https://bugzilla.gnome.org/show_bug.cgi?id=732265
3987
39882017-07-25 22:25:10 +0300  orestisf <orestisf1993@gmail.com>
3989
3990	* gst/vaapi/gstvaapidecode.c:
3991	  vaapidecode: force add h264 MVC profiles in caps
3992	  When vaapih264dec's base-only profile is set to TRUE, fake MVC profile
3993	  support in caps.
3994	  https://bugzilla.gnome.org/show_bug.cgi?id=732265
3995
39962017-07-25 22:54:30 +0300  orestisf <orestisf1993@gmail.com>
3997
3998	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3999	  libs: decoder: h264: decode MVC base view only
4000	  If processed SPS has mvc profile and the configuration is set to
4001	  base-only, the frame is drop.
4002	  https://bugzilla.gnome.org/show_bug.cgi?id=732265
4003
40042017-07-25 22:06:56 +0300  orestisf <orestisf1993@gmail.com>
4005
4006	* gst/vaapi/gstvaapidecode.c:
4007	* gst/vaapi/gstvaapidecode_props.c:
4008	  vaapidecode: set h264 base-only to decoder
4009	  Set the base-only value when property is set and the internal
4010	  decoder is already instantiated or when the internal decoder
4011	  is created.
4012	  https://bugzilla.gnome.org/show_bug.cgi?id=732265
4013
40142017-07-25 22:03:34 +0300  orestisf <orestisf1993@gmail.com>
4015
4016	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4017	* gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
4018	  libs: decoder: h264: add setter for base-only mode
4019	  https://bugzilla.gnome.org/show_bug.cgi?id=732265
4020
40212017-07-25 22:01:37 +0300  orestisf <orestisf1993@gmail.com>
4022
4023	* gst/vaapi/gstvaapidecode_props.c:
4024	* gst/vaapi/gstvaapidecode_props.h:
4025	  vaapidecode_props: h264: add base-only property
4026	  https://bugzilla.gnome.org/show_bug.cgi?id=732265
4027
40282017-08-01 11:11:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4029
4030	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4031	  libs: encoder: h264: missing property enum documentation
4032
40332017-08-02 14:54:53 +0900  Hyunjun Ko <zzoon@igalia.com>
4034
4035	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4036	  libs: encoder: h264: add multi reference support
4037	  Using num_ref_frames provided and the result of the Query
4038	  VAConfigAttribEncMaxRefFrames, it determines the size of reference list
4039	  and perform encoding with multi reference frames as the following:
4040	  1\ The num_ref_frames is being considered as the number of
4041	  reference picture list0
4042	  2\ Encoder adds 1 reference frame more to the reference picture list1
4043	  internally if b-frame encoding.
4044	  3\ If num_ref_frames is bigger than the number of refrence frames
4045	  supported in the driver, it will be lowered.
4046	  https://bugzilla.gnome.org/show_bug.cgi?id=783803
4047
40482017-08-02 14:53:34 +0900  Hyunjun Ko <zzoon@igalia.com>
4049
4050	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4051	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4052	  libs: encoder: h264: add refs property
4053	  Users can provide the number of reference frame by this property.
4054	  The value of the property will be considered as the number of
4055	  reference picture list0 and will add 1 reference frame more to the
4056	  reference picture list1 internally if b-frame encoding.
4057	  If the value provided is bigger than the number of refrence frames
4058	  supported in the driver, it will be lowered.
4059	  https://bugzilla.gnome.org/show_bug.cgi?id=783803
4060
40612017-07-28 15:27:20 +0900  Hyunjun Ko <zzoon@igalia.com>
4062
4063	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4064	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4065	  libs: encoder: implements gst_vaapi_encoder_ensure_max_num_ref_frames
4066	  This function will query VAConfigAttribEncMaxRefFrames to get the
4067	  maximum number of reference frames supported in the driver.
4068	  This will be used for h264/h265 encoding.
4069	  https://bugzilla.gnome.org/show_bug.cgi?id=783803
4070
40712017-08-01 18:38:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4072
4073	* gst/vaapi/gstvaapiencode_h265.c:
4074	  vaapiencode: h265: compare an unsigned int if not zero
4075	  An unsigned value can never be negative, so this test (greater than
4076	  zero) will always evaluate the same way. Thus change it to just if
4077	  it's not zero.
4078
40792017-08-01 18:10:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4080
4081	* gst/vaapi/gstvaapipluginbase.c:
4082	  plugins: check gst_gl_ensure_element_data() return value
4083	  Refactor gst_vaapi_plugin_base_create_gl_context() in order to check
4084	  the return value of gst_gl_ensure_element_data(). The result is a code
4085	  bit cleaner.
4086
40872017-08-01 17:59:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4088
4089	* gst/vaapi/gstvaapipluginutil.c:
4090	  plugins: avoid dead code detection
4091	  By using #elif macro, the static code analysis would stop to detect
4092	  these lines as dead code. Also it is inforced the mutually exclusive
4093	  environments.
4094
40952017-08-01 17:39:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4096
4097	* gst/vaapi/gstvaapivideobufferpool.c:
4098	  vaapivideobufferpool: don't shift by negative since it's undefined
4099	  The function g_bit_nth_lsf() may return -1 if the request bit position
4100	  is not avaible. Thus, this patch check if the return value is not -1
4101	  in order to continue.
4102
41032017-08-01 17:29:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4104
4105	* gst/vaapi/gstvaapisink.c:
4106	  vaapisink: fix memory leak
4107
41082017-08-01 17:23:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4109
4110	* gst/vaapi/gstvaapipostprocutil.c:
4111	  vaapipostproc: fix memory leaks
4112
41132017-07-27 10:54:00 +0000  Tomas Rataj <rataj28@gmail.com>
4114
4115	* gst-libs/gst/vaapi/gstvaapidisplay.c:
4116	  libs: display: when appending formats change pointers to indexes
4117	  Thus, it fixes an invalid read when YV12 or I420 are not supported by
4118	  the driver.
4119	  https://bugzilla.gnome.org/show_bug.cgi?id=785085
4120
41212017-07-19 12:02:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
4122
4123	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4124	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4125	  libs: encoder: h264: Add uncompliant mode reducing coded buffer size
4126	  Added a new property "compliance-mode", which default is the normal
4127	  strict compliant mode.
4128	  The second mode, "restrict-buf-alloc", is to limit the coded buffer
4129	  allocation size to improve performance in some specific Intel
4130	  platforms (there is asignificant performance improvement in parallel
4131	  encodings). Under this new mode, we use the MinCR field in A.3.1 for
4132	  pre-calculating the coded-buffer size.
4133	  https://bugzilla.gnome.org/show_bug.cgi?id=784590
4134
41352017-07-05 17:13:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
4136
4137	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
4138	* gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
4139	  libs: utils_h264: Extend LevelLimit table with MinCR field
4140	  Add MinCR(Minimum Compression Ratio) field to GstVaapiH264LevelLimits
4141	  based on Annex A.3
4142	  https://bugzilla.gnome.org/show_bug.cgi?id=784590
4143
41442017-07-11 17:29:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4145
4146	* gst-libs/gst/vaapi/gstvaapiutils.c:
4147	  libs: utils: libva 1.0 changed the logging
4148	  The logging mechanism in libva has changed it's functions
4149	  signatures. This patch updates that for libva versions >= 1.0
4150	  https://bugzilla.gnome.org/show_bug.cgi?id=784398
4151
41522017-07-11 17:27:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4153
4154	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4155	  libs: decoder: h264: libva 1.0 deprecated baseline
4156	  libva 1.0 deprecated H.264 baseline profile and FMO support
4157	  (commit b4f332b3).
4158	  https://bugzilla.gnome.org/show_bug.cgi?id=784398
4159
41602017-07-26 20:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4161
4162	* configure.ac:
4163	* meson.build:
4164	* meson_options.txt:
4165	  build: check for libva-2.0
4166	  Check for libva-2.0 since libva's developers decided to increase the
4167	  library's version number.
4168	  https://bugzilla.gnome.org/show_bug.cgi?id=784398
4169
41702017-07-11 16:55:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4171
4172	* configure.ac:
4173	* meson.build:
4174	  build: blacklist only libva 0.99.0
4175	  Intel's MSDK uses libva 0.99.0, meanwhile open source libva bumped
4176	  its API version to 1.0.0. Thus we have to blacklist only the MSDK's
4177	  libva (0.99.0)
4178	  https://bugzilla.gnome.org/show_bug.cgi?id=784398
4179
41802017-07-26 20:30:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4181
4182	* gst-libs/gst/vaapi/meson.build:
4183	  build: meson: remove gstvaapidisplaycache.c
4184	  This is a missing bit of commit ec3e10f6
4185
41862017-07-26 09:53:10 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4187
4188	* configure.ac:
4189	  configure: do not break configure if gtk+-3.0 devel missing
4190	  Fix PKG_CHECK_MODULES rule for with_gtk=check condition to
4191	  set USE_GTK=0 if gtk+-3.0 is not available.
4192	  Since commit 85856c29a70d6de4aea5b708e04e9eb418190623
4193	  Author: Hyunjun Ko <zzoon@igalia.com>
4194	  Date:   Wed Jul 5 15:59:43 2017 +0900
4195	  tests: elements: add testsuite of vaapi context
4196	  ...configure fails if gtk+-3.0 development files are missing.
4197	  The "with_gtk" option defaults to "check" in configure.ac
4198	  which implies that if it is not explicitly requested then
4199	  configure will only enable it if it's available on the system.
4200	  However, the PKG_CHECK_MODULES rule that get's activated on
4201	  "check" condition did not provide default when gtk+-3.0 devel
4202	  packages are not found on the system.  Thus, it resulted in
4203	  configure failure.
4204	  Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
4205	  https://bugzilla.gnome.org/show_bug.cgi?id=785452
4206
42072017-07-05 15:59:43 +0900  Hyunjun Ko <zzoon@igalia.com>
4208
4209	* configure.ac:
4210	* tests/elements/Makefile.am:
4211	* tests/elements/test-vaapicontext.c:
4212	  tests: elements: add testsuite of vaapi context
4213	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4214	  https://bugzilla.gnome.org/show_bug.cgi?id=766704
4215
42162017-07-05 15:32:43 +0900  Hyunjun Ko <zzoon@igalia.com>
4217
4218	* gst/vaapi/gstvaapisink.c:
4219	  vaapisink: fail if surface display is different
4220	  Replacing GstVaapiDisplay during rendering might be hiding problems
4221	  at some cases, even though it's safe currently since we use cache
4222	  of GstVaapidisplay.
4223	  Play safe by failing if this happens.
4224	  https://bugzilla.gnome.org/show_bug.cgi?id=766704
4225
42262017-07-05 15:31:55 +0900  Hyunjun Ko <zzoon@igalia.com>
4227
4228	* gst/vaapi/gstvaapivideocontext.c:
4229	* gst/vaapi/gstvaapivideocontext.h:
4230	  videocontext: support "gst.vaapi.app.Display" context
4231	  Through "gst.vaapi.app.Display" context, users can set their own VADisplay
4232	  and native display of their backend.
4233	  Attributes:
4234	  - display : pointer of VADisplay
4235	  - x11-display : pointer of X11 display (Display *), if they're using.
4236	  This patch creates GstVaapidisplayX11 if information provided through
4237	  "gst.vaapi.app.Display"
4238	  https://bugzilla.gnome.org/show_bug.cgi?id=766704
4239
42402017-07-05 14:33:38 +0900  Hyunjun Ko <zzoon@igalia.com>
4241
4242	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
4243	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
4244	  libs: display: x11: add gst_vaapi_display_x11_new_with_va_display()
4245	  Implements new API function so that users could create GstVaapiDisplay
4246	  with their own VADisplay within a native display as backend.
4247	  https://bugzilla.gnome.org/show_bug.cgi?id=766704
4248
42492017-07-05 14:32:35 +0900  Hyunjun Ko <zzoon@igalia.com>
4250
4251	* gst-libs/gst/vaapi/gstvaapidisplay.c:
4252	  libs: display: pass display info when foreign display
4253	  When creating a GstVaapiDisplay using a foreign VADisplay, and render
4254	  with that display, it also requires native display of the backend.
4255	  https://bugzilla.gnome.org/show_bug.cgi?id=766704
4256
42572017-06-26 21:18:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4258
4259	* gst-libs/gst/vaapi/Makefile.am:
4260	* gst-libs/gst/vaapi/gstvaapidisplay.c:
4261	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
4262	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
4263	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
4264	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
4265	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
4266	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
4267	  libs: display: remove cache
4268	  Remove a bunch of code that handles the VADisplay cache, since the
4269	  context sharing should be doing this correctly.
4270	  https://bugzilla.gnome.org/show_bug.cgi?id=747946
4271
42722017-07-13 10:56:18 +0900  Hyunjun Ko <zzoon@igalia.com>
4273
4274	* tests/elements/Makefile.am:
4275	* tests/elements/test-vaapipostproc.c:
4276	  tests: elements: add test for vaapipostproc
4277	  https://bugzilla.gnome.org/show_bug.cgi?id=754885
4278
42792017-07-12 18:25:15 +0900  Hyunjun Ko <zzoon@igalia.com>
4280
4281	* gst/vaapi/gstvaapipostproc.c:
4282	  postproc: reconfigure when width or height changes
4283	  https://bugzilla.gnome.org/show_bug.cgi?id=754885
4284
42852017-07-17 18:53:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4286
4287	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4288	  libs: encoder: vp9: array terminated in zeros
4289	  There is a crash when setting ref-pic-mode since the #GEnumValue
4290	  array is not terminated with a structured with all memvers being
4291	  zero.
4292	  https://bugzilla.gnome.org/show_bug.cgi?id=785032
4293
42942017-07-13 16:43:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4295
4296	* gst/vaapi/gstvaapiencode_h264.c:
4297	  vaapiencode: h264: add plugin documentation
4298	  Comment how the profile is set and other parameters.
4299
43002017-05-26 15:19:00 +0000  Matt Staples <staples255@gmail.com>
4301
4302	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4303	  libs: decoder: h264: push frames as soon as possible
4304	  Push frames downstream as soon as possible instead of waiting until
4305	  they are ejected from the DPB.
4306	  This patch makes the decoder not comply with the H.264 specification,
4307	  but it is required for some video cameras.
4308	  https://bugzilla.gnome.org/show_bug.cgi?id=762509
4309	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4310
43112017-07-10 19:27:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4312
4313	* gst/vaapi/gstvaapidecode_props.c:
4314	  vaapidecode_props: h264: set low-latency in decoder
4315	  Set the low-latency property if the H264 decoder is already
4316	  instantiated, thus you could change the behavior in run-time.
4317	  https://bugzilla.gnome.org/show_bug.cgi?id=783588
4318
43192017-07-06 20:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4320
4321	* gst/vaapi/gstvaapidecode.c:
4322	  vaapidecode: set h264 low latency to decoder
4323	  https://bugzilla.gnome.org/show_bug.cgi?id=783588
4324
43252017-06-14 18:30:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4326
4327	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4328	* gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
4329	  libs: decoder: h264: add getter/setter for low latency mode
4330	  https://bugzilla.gnome.org/show_bug.cgi?id=783588
4331
43322017-06-14 18:31:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4333
4334	* gst/vaapi/gstvaapidecode_props.c:
4335	* gst/vaapi/gstvaapidecode_props.h:
4336	  vaapidecode_props: h264: add low latency property
4337	  Adding support for private data.
4338	  https://bugzilla.gnome.org/show_bug.cgi?id=783588
4339
43402017-06-14 18:23:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4341
4342	* gst/vaapi/Makefile.am:
4343	* gst/vaapi/gstvaapidecode.c:
4344	* gst/vaapi/gstvaapidecode_props.c:
4345	* gst/vaapi/gstvaapidecode_props.h:
4346	* gst/vaapi/meson.build:
4347	  vaapidecode_props: add skeleton for h264 decoder properties
4348	  https://bugzilla.gnome.org/show_bug.cgi?id=783588
4349
43502017-06-14 17:07:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4351
4352	* gst/vaapi/gstvaapidecode.c:
4353	  vaapidecode: properties callback in decoders map
4354	  https://bugzilla.gnome.org/show_bug.cgi?id=783588
4355
43562017-07-07 12:01:59 +0100  Tim-Philipp Müller <tim@centricular.com>
4357
4358	* meson.build:
4359	  meson: find python3 via python3 module
4360	  https://bugzilla.gnome.org/show_bug.cgi?id=783198
4361
43622017-06-09 14:47:40 +0900  Hyunjun Ko <zzoon@igalia.com>
4363
4364	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4365	  libs: encoder: h264: submit sps in case of IDR picture
4366	  If the picture is IDR, also submit a SPS header.
4367	  This means when frame number reaches to keyframe-period or an force
4368	  key unit event arrives, we insert SPS/PPS again.
4369	  https://bugzilla.gnome.org/show_bug.cgi?id=776712
4370
43712017-06-09 14:47:16 +0900  Hyunjun Ko <zzoon@igalia.com>
4372
4373	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4374	  libs: encoder: h264: set the frame as IDR if forced key unit
4375	  GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME() is a flag usually used to manage
4376	  the `frame-lost` event in the case of streaming, such as RTP.
4377	  In case of this event, it is needed to start new GOP rather than just
4378	  produce an I-frame.
4379	  https://bugzilla.gnome.org/show_bug.cgi?id=776712
4380
43812017-04-05 14:48:46 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
4382
4383	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4384	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4385	  libs: encoder: h264: insert AU delimiter
4386	  Insert an AUD as the first NAL of each encoded frame.
4387	  Some applications require Access Unit Delimiter for decoding the
4388	  stream.
4389	  The AU delimeter insertion is done only when the aud parameter is
4390	  TRUE (by default is disabled). The reason of this it is because this
4391	  header is only available from Intel Gen9 and the VA intel driver
4392	  should be 1.8 or superior. Otherwise, the output will be corrupted.
4393	  https://bugzilla.gnome.org/show_bug.cgi?id=776712
4394	  Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
4395
43962017-06-29 12:50:26 +0900  Hyunjun Ko <zzoon@igalia.com>
4397
4398	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4399	  libs: encoder: h264: initialize all elements of view_ids
4400	  Currently when num_views is changed by multiview-mode on sink caps, it produces
4401	  wrong MVC encoded stream since the array view_ids is not set properly according
4402	  to changed num_views.
4403	  So this patch initializes all of the array sequentially to handle this case.
4404	  Side effect is not going to happen by this patch since this array is being
4405	  handled by num_views.
4406	  https://bugzilla.gnome.org/show_bug.cgi?id=784321
4407
44082017-06-27 14:30:54 +0900  Hyunjun Ko <zzoon@igalia.com>
4409
4410	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4411	  Revert "encoder: h264: Use high profile by default"
4412	  This reverts commit 4aec5bdd7207fc0e45813ef14c9c0ad5174a8f75.
4413	  https://bugzilla.gnome.org/show_bug.cgi?id=757941
4414
44152017-06-27 16:03:37 +0900  Hyunjun Ko <zzoon@igalia.com>
4416
4417	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4418	  libs: encoder: h264: set profile via capsfilter
4419	  Until now, the encoder ignored the profile in src caps and chose one
4420	  according with the given parameters. But the encoder must honor the
4421	  profile specifed in src caps.
4422	  This patch do that, and if the encoder needs to choose the profile,
4423	  it will do it by following these rules:
4424	  1\ If given parameters are not compatible with given profile, the
4425	  encoder will bail out with an error.
4426	  2\ The encoder will choose the higher profile indicated in the
4427	  src caps.
4428	  https://bugzilla.gnome.org/show_bug.cgi?id=757941
4429
44302017-06-27 13:14:31 +0900  Hyunjun Ko <zzoon@igalia.com>
4431
4432	* gst/vaapi/gstvaapiencode_h264.c:
4433	  vaapiencode: h264: set profile to src caps
4434	  So far vaapi encoder does not set profile to src caps. This patch makes it
4435	  setting profile to src caps, which is determined by itself.
4436	  In addition, if encoder chose different profile, which is not negotiated with
4437	  downstream, we should set compatible profile to make negotiation working.
4438	  https://bugzilla.gnome.org/show_bug.cgi?id=757941
4439
44402017-06-22 09:56:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4441
4442	* gst/vaapi/gstvaapiencode_h264.c:
4443	* gst/vaapi/gstvaapiencode_h264.h:
4444	  vaapiencode: h264: verify if requested profile is supported
4445	  Check if the requested profile in source caps, is supported by the
4446	  VA driver. If it is not, an info log message is send saying that
4447	  another (compatible?) profile will be used.
4448	  https://bugzilla.gnome.org/show_bug.cgi?id=757941
4449
44502017-06-21 21:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4451
4452	* gst/vaapi/gstvaapiencode_h264.c:
4453	  vaapiencode: h264: improve set_config() vmethod
4454	  First check if downstream requests ANY caps. If so, byte-stream is
4455	  used and the profile will be choose by the encoder. If dowstream
4456	  requests EMPTY caps, the negotiation will fail.
4457	  Lately, byte-stream and profile are looked in the allowed caps.
4458	  https://bugzilla.gnome.org/show_bug.cgi?id=757941
4459
44602017-06-21 19:30:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4461
4462	* gst/vaapi/gstvaapiencode_h264.c:
4463	  vaapiencode: h264: check for avc in set_config()
4464	  The check for avc stream format was done in the vaapi encoder's
4465	  vmethod get_caps(), but that is wrong since it has to be check
4466	  when encoder set_format().
4467	  https://bugzilla.gnome.org/show_bug.cgi?id=757941
4468
44692017-06-29 12:49:24 +0900  Hyunjun Ko <zzoon@igalia.com>
4470
4471	* gst/vaapi/gstvaapipostprocutil.c:
4472	  vaapipostproc: set multivew-mode flags to src caps
4473	  vaapipostproc didn't negotiate the proper multiview caps losing
4474	  downstream information.
4475	  This patch enables the playing of MVC encoded stream by setting
4476	  the proper multiview mode/flags and views to src caps, according
4477	  to sink caps.
4478	  https://bugzilla.gnome.org/show_bug.cgi?id=784320
4479
44802016-11-22 15:52:47 +0000  Julien Isorce <j.isorce@samsung.com>
4481
4482	* gst/vaapi/gstvaapipostproc.c:
4483	  vaapipostproc: add support for DMABuf caps feature
4484	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
4485	  Signed-off-by: Julien Isorce <j.isorce@samsung.com>
4486
44872017-06-01 19:42:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4488
4489	* gst/vaapi/gstvaapidecode.c:
4490	  vaapidecode: add support for DMABuf caps feature
4491	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
4492	  Original-patch-by: Julien Isorce <j.isorce@samsung.com>
4493
44942017-06-23 12:12:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4495
4496	* gst/vaapi/gstvaapipluginbase.c:
4497	  vaapipluginbase: force dmabuf allocator if DMABuf caps feature
4498	  Instantiate all dmabuf allocator for src pad buffer pool if the
4499	  src caps ask for memory:DMABuf feature.
4500	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
4501
45022016-11-22 23:26:05 +0000  Julien Isorce <j.isorce@samsung.com>
4503
4504	* gst/vaapi/gstvaapipluginutil.c:
4505	* gst/vaapi/gstvaapipluginutil.h:
4506	  vaapipluginutil: add support for DMABuf caps feature
4507	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
4508	  Signed-off-by: Julien Isorce <j.isorce@samsung.com>
4509	  Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
4510	  vaapipluginutil: add support for DMABuf caps feature
4511
45122017-06-01 19:13:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4513
4514	* gst/vaapi/gstvaapipluginbase.c:
4515	  vaapipluginbase: dmabuf memory map trial for raw caps
4516	  Only push dmabuf-based buffers with raw caps if gst_memory_map()
4517	  succeeds. Otherwise, use the the vaapi surfaces allocator.
4518	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
4519	  https://bugzilla.gnome.org/show_bug.cgi?id=774649
4520	  Original-patch-by: Julien Isorce <j.isorce@samsung.com>
4521
45222016-06-08 19:11:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4523
4524	* gst/vaapi/gstvaapivideomemory.c:
4525	* gst/vaapi/gstvaapivideomemory.h:
4526	  vaapivideomemory: add gst_vaapi_dmabuf_can_map()
4527	  This new method checks the specified allocator can create GstMemory that can
4528	  be mapped.
4529	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
4530
45312017-06-23 17:33:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4532
4533	* gst/vaapi/gstvaapivideobufferpool.c:
4534	  vaapivideobufferpool: fix regression with video metas
4535	  There is another regression with 7a206923 when setting the video
4536	  info for the video meta, it should be the one from the image's
4537	  allocator rather from the allocation caps.
4538	  Test pipeline:
4539	  gst-launch-1.0 filesrc location=bug766184.flv ! decodebin \
4540	  ! tee ! videoconvert ! videoscale                     \
4541	  ! video/x-raw, width=1920, height=1080 ! xvimagesink
4542
45432017-06-23 14:38:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4544
4545	* gst/vaapi/gstvaapipluginbase.c:
4546	* gst/vaapi/gstvaapivideobufferpool.c:
4547	  plugins: update buffer size with the one reported by allocator
4548	  There is a regression in 7a206923, since the buffer pool ditches all
4549	  the buffers generated by them because the pool config size is
4550	  different of the buffer's size.
4551	  Test pipeline:
4552	  gst-launch-1.0 filesrc location=big_buck_bunny_1080p_h264.mov \
4553	  ! qtdemux ! vaapih264dec ! vaapipostproc ! xvimagesink    \
4554	  --gst-debug=GST_PERFORMANCE:5
4555	  The allocator may update the buffer size according to the VA surface
4556	  properties. In order to do this, the video info is modified when the
4557	  allocator is created, which reports through the allocation info the
4558	  updated size, and set it to the pool config.
4559
45602017-06-14 21:40:33 +0900  Hyunjun Ko <zzoon@igalia.com>
4561
4562	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4563	  libs: decoder: h264: initialize active_sps/pps in reset
4564	  Since commits in https://bugzilla.gnome.org/show_bug.cgi?id=781142 landed,
4565	  they introduced regression in seek.
4566	  Formerly, once seek is done, decoder drops P-frames until I-frame arrives.
4567	  But since the commits landed, it doesn't drop P-frame and does try to
4568	  decode it continuously because active_sps is still alive. See ensure_sps function.
4569	  But there are prev_frames and prev_ref_frames reset already, then it
4570	  causes assertion.
4571	  So it's necessary to reset active_sps/pps also in reset method.
4572	  https://bugzilla.gnome.org/show_bug.cgi?id=783726
4573
45742017-06-15 13:24:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4575
4576	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4577	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4578	  libs: encoder: fix compilation with old versions of libva
4579	  There are some symbols that are not used when compiling with old
4580	  version of libva and those generates a compilation error.
4581	  Original-patch-by: Matt Staples <staples255@gmail.com>
4582
45832017-06-09 14:02:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
4584
4585	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4586	  libs: encoder: Fix the quality level clamping
4587	  Change the hard-coded range of quality-level from {1-8} to {1-7},
4588	  since it is the range Intel Open source driver supports.
4589	  Also perform the range clamping only if the user provided
4590	  quality-level is greater than the max-range suppored by the driver,
4591	  because there could be non-intel drivers giving lower value than
4592	  the hard-coded max value 7.
4593	  https://bugzilla.gnome.org/show_bug.cgi?id=783567
4594
45952017-04-06 19:35:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4596
4597	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4598	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4599	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4600	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4601	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4602	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4603	  libs: encoder: log out the name of the profile
4604	  Instead of printing a number, it is more readable to log out, in
4605	  case of error, the name of the failing profile.
4606
46072017-05-31 12:36:17 +0900  Hyunjun Ko <zzoon@igalia.com>
4608
4609	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4610	  libs: encoder: h264: changes raw number of profile to macro name of its
4611	  Changes raw number of profile to macro name of its to improve readability.
4612	  https://bugzilla.gnome.org/show_bug.cgi?id=757941
4613
46142017-06-09 17:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4615
4616	* gst/vaapi/gstvaapivideobufferpool.c:
4617	  vaapivideobufferpool: remove allocation_vinfo private attribute
4618	  There is no need to keep this attribute internally since it is
4619	  already managed by the allocator.
4620	  https://bugzilla.gnome.org/show_bug.cgi?id=783599
4621
46222017-06-09 15:02:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4623
4624	* gst/vaapi/gstvaapivideobufferpool.c:
4625	  vaapivideobufferpool: refactor set_config()
4626	  Refactor the set_config() virtual method considering a cleaner
4627	  approach to allocator instanciation, if it it not set or if it is
4628	  not valid for the pool.
4629	  https://bugzilla.gnome.org/show_bug.cgi?id=783599
4630
46312017-06-09 13:05:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4632
4633	* gst/vaapi/gstvaapipluginbase.c:
4634	* gst/vaapi/gstvaapivideobufferpool.c:
4635	* gst/vaapi/gstvaapivideomemory.c:
4636	* gst/vaapi/gstvaapivideomemory.h:
4637	  plugins: distinguish allocation and negotiation caps
4638	  The vaapi video decoders might have different allocation caps from
4639	  the negotiation caps, thus the GstVideoMeta shall use the negotiation
4640	  caps, not the allocation caps.
4641	  This was done before reusing gst_allocator_get_vaapi_video_info(),
4642	  storing there the negotiation caps if they differ from the allocation
4643	  ones, but this strategy felt short when the allocator had to be reset
4644	  in the vaapi buffer pool, since we need both.
4645	  This patch adds gst_allocator_set_vaapi_negotiated_video_info() and
4646	  gst_allocator_get_vaapi_negotiated_video_info() to store the
4647	  negotiated video info in the allocator, and distinguish it from
4648	  the allocation video info.
4649	  https://bugzilla.gnome.org/show_bug.cgi?id=783599
4650
46512017-06-08 19:32:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4652
4653	* gst/vaapi/gstvaapivideomemory.c:
4654	* gst/vaapi/gstvaapivideomemory.h:
4655	  vaapivideomemory: rename qdata quarks and ids
4656	  Also the parameter names were renamed to reflect their origin
4657	  and purpose.
4658	  https://bugzilla.gnome.org/show_bug.cgi?id=783599
4659
46602017-06-08 16:05:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4661
4662	* gst/vaapi/gstvaapivideobufferpool.c:
4663	  vaapivideobufferpool: rename local variables
4664	  Renamed local video info structure names in set_config() vitual
4665	  method. The purpose of their renaming is to clarify the origin
4666	  of those structures, whether come from passed caps parameter
4667	  (new_allocation_vinfo) or from the configured allocator
4668	  (allocator_vinfo).
4669	  https://bugzilla.gnome.org/show_bug.cgi?id=783599
4670
46712017-06-08 15:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4672
4673	* gst/vaapi/gstvaapivideobufferpool.c:
4674	  vaapivideobufferpool: rename video info structures
4675	  Renamed private GstVideoInfo structure video_info to allocation_vinfo
4676	  and alloc_info to negotiated_vinfo.
4677	  The purpose of these renaming is to clarify the origin and purpose of
4678	  these private variables:
4679	  video_info (now allocation_vinfo) comes from the bufferpool
4680	  configuration. It describes the physical video resolution to be
4681	  allocated by the allocator, which may be different from the
4682	  negotiated one.
4683	  alloc_info (now vmeta_vinfo) comes from the negotiated caps in
4684	  the pipeline. It represents how the frame is going to be mapped
4685	  using the video meta.
4686	  In Intel's VA-API backend, the allocation_vinfo resolution is
4687	  bigger than the negotiated_info.
4688	  https://bugzilla.gnome.org/show_bug.cgi?id=783599
4689
46902017-06-08 12:51:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4691
4692	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4693	  libs: encoder: set framerate if bigger than 0/1
4694	  Just set the framerate parameter if the framerate numerator and
4695	  denominator are bigger than zero.
4696	  Otherwise, in Intel Gen6 driver, a warning is raised disabling the
4697	  bitrate control.
4698	  Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
4699	  https://bugzilla.gnome.org/show_bug.cgi?id=783532
4700
47012017-06-07 12:32:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4702
4703	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4704	  libs: encoder: bitrate target percentage calculation
4705	  If the rate control is set to Constant Bit Rate (CBR) the target
4706	  percentage is 100%, otherwise is 70%
4707
47082017-06-07 12:25:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4709
4710	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4711	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4712	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4713	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4714	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4715	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4716	  libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor ratecontrol param
4717	  Centralize the common configuration for the Rate Control parameter,
4718	  thus can be overloaded per each specific encoder.
4719
47202017-06-07 11:10:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4721
4722	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4723	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4724	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4725	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4726	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4727	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4728	  libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor framerate param
4729	  Since the framerate VA parameter is calculated equally among all the
4730	  encoders, it is better to handle it in the base encoder class.
4731
47322016-08-09 15:53:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
4733
4734	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4735	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
4736	  libs: encoder: vp9: Adds CBR and VBR Encoding support
4737	  https://bugzilla.gnome.org/show_bug.cgi?id=766832
4738	  Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
4739	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4740
47412017-06-01 12:12:26 +0900  Hyunjun Ko <zzoon@igalia.com>
4742
4743	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4744	  libs: encoder: vp8: Adds VBR Encoding support
4745	  https://bugzilla.gnome.org/show_bug.cgi?id=778732
4746
47472017-06-01 12:11:12 +0900  Hyunjun Ko <zzoon@igalia.com>
4748
4749	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4750	  libs: encoder: h265: Adds VBR Encoding support
4751	  Enables Variable BitRate mode, which does set FrameRate and RateControl
4752	  parameters.
4753	  https://bugzilla.gnome.org/show_bug.cgi?id=778732
4754
47552017-06-02 13:50:05 +0900  Hyunjun Ko <zzoon@igalia.com>
4756
4757	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4758	  libs: encoder: Describes more detail about the bitrate property
4759	  https://bugzilla.gnome.org/show_bug.cgi?id=778732
4760
47612017-06-05 20:44:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4762
4763	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4764	  libs: encoder: h265: add rate control parameter
4765	  https://bugzilla.gnome.org/show_bug.cgi?id=783449
4766
47672017-06-05 20:33:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4768
4769	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4770	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4771	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4772	  libs: encoder: h264,h265,mpeg2: add framerate parameter
4773	  https://bugzilla.gnome.org/show_bug.cgi?id=783449
4774
47752017-06-05 20:30:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4776
4777	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4778	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4779	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4780	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4781	  libs: encoder: vp8,h264,h265,mpeg2: set misc param once
4782	  Instead of recalculating the miscellaneous buffer parameters for
4783	  every buffer, it is only done once, when the encoder is configured.
4784	  And for every buffer, the same structures are just copied.
4785	  https://bugzilla.gnome.org/show_bug.cgi?id=783449
4786
47872017-06-05 17:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4788
4789	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4790	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4791	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4792	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4793	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4794	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4795	  libs: encoder: vp8,h264,h265,mpeg2: refactor misc parameters
4796	  This is patch pretends to decouple the assignation of the values
4797	  in the parameter structures and the VA buffer's parameters setting.
4798	  It may lead to some issues since HRD, framerate or controlrate may
4799	  not be handled by the specific encoder, but they are set in
4800	  the VA buffer's parameters.
4801	  I leave as it because this patch is just a transitional patch.
4802	  https://bugzilla.gnome.org/show_bug.cgi?id=783449
4803
48042017-06-05 16:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4805
4806	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4807	  libs: encoder: vp8: fix frame rate calculation
4808	  According to the VA documentation:
4809	  The framerate is specified as a number of frames per second,
4810	  as a fraction.  The denominator of the fraction is given in
4811	  the top half (the high two bytes) of the framerate field, and
4812	  the numerator is given in the bottom half (the low two bytes).
4813	  For example, if framerate is set to (100 << 16 | 750), this is
4814	  750 / 100, hence 7.5fps.
4815	  If the denominator is zero (the high two bytes are both zero)
4816	  then it takes the value one instead, so the framerate is just
4817	  the integer in the low 2 bytes.
4818	  This patch fixes the the framerate calculation in vp8 encoder
4819	  according to this.
4820	  https://bugzilla.gnome.org/show_bug.cgi?id=783449
4821
48222017-06-02 19:46:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4823
4824	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4825	  libs: encoder: vp8: refactor FrameRate parameter
4826	  Move frame-rate parameter from ensure_misc_params() to
4827	  ensure_contro_rate_param() since it only has meaning when the
4828	  control rate is either VBR or CBR.
4829	  https://bugzilla.gnome.org/show_bug.cgi?id=783449
4830
48312017-06-02 19:33:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4832
4833	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4834	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4835	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4836	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4837	  libs: encoder: h264,h265,mpeg2,vp8: refactor HDR
4838	  Move the Hypothetical Reference Decoder (HRD) parameter, from
4839	  ensure_misc_params() to ensure_control_rate_params(), since it
4840	  only shall be defined when the control rate is either VBR or CBR.
4841	  https://bugzilla.gnome.org/show_bug.cgi?id=783449
4842
48432017-06-02 17:21:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4844
4845	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4846	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4847	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4848	  libs: encoder: h264,vp8,mpeg2: refactor control rate
4849	  Instead of filling the control rate param in ensure_misc_params(),
4850	  this patch refactor it out, as a first step to merge the same code
4851	  for all the encoders.
4852	  https://bugzilla.gnome.org/show_bug.cgi?id=783449
4853
48542017-06-02 16:28:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4855
4856	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4857	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4858	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4859	  libs: encoder: h264, h265, mpeg2: remove assert
4860	  Remove spurious asserts for misc parameters. If they cannot be
4861	  allocated, FALSE is already returned.
4862
48632017-06-05 18:19:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4864
4865	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4866	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4867	  libs: encoder: use VA quality level structure
4868	  Instead of using a proxy to story the buffer quality level, the
4869	  encoder now uses the native VA structure, which is copied to the
4870	  dynamically allocated VAEncMiscParameterBuffer.
4871	  This approach is computationally less expensive.
4872
48732017-05-26 11:10:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4874
4875	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4876	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
4877	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4878	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4879	  libs: standardize the FIXME comment
4880	  This is a trivial patch that makes homogeneous the FIXME tag in
4881	  comments.
4882	  For more info about these comment style:
4883	  http://wiki.c2.com/?FixmeComment
4884
48852017-05-22 17:20:45 +0200  Hyunjun Ko <zzoon@igalia.com>
4886
4887	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4888	  libs: encoder: vp8: set quality level regardless of rate control mode
4889	  https://bugzilla.gnome.org/show_bug.cgi?id=782957
4890
48912017-05-15 18:38:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4892
4893	* gst-libs/gst/vaapi/gstvaapiencoder.c:
4894	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4895	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4896	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4897	  libs: encoder: check for maximum number of slices
4898	  Right now, H264 and HEVC can set as a property the number of slices to
4899	  process. But each driver can set a maximum number of slices, depending
4900	  on the supported profile & entry point.
4901	  This patch verifies the current num_slices to process against the maximum
4902	  permitted by the driver and the media size.
4903	  https://bugzilla.gnome.org/show_bug.cgi?id=780955
4904
49052017-05-15 18:36:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4906
4907	* gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
4908	  libs: utils: mark functions as internals
4909	  The functions in this header are internal to the library.
4910
49112017-05-15 18:35:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4912
4913	* gst-libs/gst/vaapi/gstvaapicontext.h:
4914	  libs: context: add missing documentation
4915	  Document the region-of-interest configuration variables.
4916
49172017-05-12 18:46:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4918
4919	* tests/elements/test-vaapisink.c:
4920	  tests: elements: vaapisink: handle nav events
4921	  The test app can now handle navigation events to rotate the
4922	  display.
4923
49242017-05-12 18:17:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4925
4926	* tests/elements/test-vaapisink.c:
4927	  tests: elements: clean up vaapisink test
4928	  - Use gst_element_send_event() instead of gst_pad_push_event()
4929	  - don't zero App structure
4930	  - check for pipeline parsing error
4931	  - only get vaapisink for property set
4932
49332017-05-12 13:08:30 +0900  Hyunjun Ko <zzoon@igalia.com>
4934
4935	* gst/vaapi/gstvaapisink.c:
4936	  vaapisink: keep handle_events flag except that if user want to set
4937	  When state of vaapisink is changed from PLAYING to NULL, the handle_events
4938	  flag is set to FALSE, and never recovered, and then event thread is never
4939	  going to run.
4940	  So we should allow to set the flag only when users try it.
4941	  https://bugzilla.gnome.org/show_bug.cgi?id=782543
4942
49432017-05-12 13:06:24 +0900  Hyunjun Ko <zzoon@igalia.com>
4944
4945	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
4946	  libs: window: x11: fix src rect info when using vpp
4947	  Since we started using VPP in VaapiWindowX11, we need to care about
4948	  the case that src rect and window's size are different.
4949	  So, once VPP has converted to other format, we should honor the
4950	  size of the VPP's surface as source rect. Otherwise, it is cropped
4951	  according the previous size of the source rect.
4952	  https://bugzilla.gnome.org/show_bug.cgi?id=782542
4953
49542017-04-28 15:20:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4955
4956	* gst/vaapi/gstvaapipluginutil.c:
4957	  plugins: remove par from caps negotiation
4958	  https://bugzilla.gnome.org/show_bug.cgi?id=781759
4959
49602017-03-30 17:57:42 +0900  Hyunjun Ko <zzoon@igalia.com>
4961
4962	* tests/elements/Makefile.am:
4963	* tests/elements/test-roi.c:
4964	  tests: elements: add an example for ROI
4965	  This implements a pipleint to recognize difference between ROI and non-ROI.
4966	  See comments in this code in detail.
4967	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
4968	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4969
49702017-03-30 17:54:20 +0900  Hyunjun Ko <zzoon@igalia.com>
4971
4972	* gst/vaapi/gstvaapiencode.c:
4973	* gst/vaapi/gstvaapiencode_h264.c:
4974	  vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest
4975	  Handles new custom event GstVaapiEncoderRegionOfInterest
4976	  to enable/disable a ROI region.
4977	  Writes a way to use new event to document.
4978	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
4979	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4980
49812017-02-23 18:53:18 +0900  Hyunjun Ko <zzoon@igalia.com>
4982
4983	* tests/simple-encoder.c:
4984	  tests: simple-encoder: add an option to set ROI
4985	  $ simple-encoder -r inputfile.y4m
4986	  And you'll got an output file in H264 with two regions of interest.
4987	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
4988	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4989
49902017-02-23 18:52:48 +0900  Hyunjun Ko <zzoon@igalia.com>
4991
4992	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4993	  libs: encoder: h264: set ROI params during encoding
4994	  Set ROI params during encoding each frame, which are set via
4995	  gst_vaapi_encoder_add_roi ()
4996	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
4997	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4998
49992017-03-28 17:41:37 +0900  Hyunjun Ko <zzoon@igalia.com>
5000
5001	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5002	* gst-libs/gst/vaapi/gstvaapiencoder.h:
5003	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5004	  libs: encoder: add api gst_vaapi_encoder_add/del_roi
5005	  Implements and exposes new api gst_vaapi_encoder_add/del_roi to set ROI regions.
5006	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
5007
50082017-02-23 17:57:07 +0900  Hyunjun Ko <zzoon@igalia.com>
5009
5010	* gst-libs/gst/vaapi/gstvaapicontext.c:
5011	* gst-libs/gst/vaapi/gstvaapicontext.h:
5012	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5013	  libs: encoder/context: query region of interest support
5014	  Queries if the driver supports "Region of Interest" (ROI) during the config
5015	  creation.
5016	  This attribute conveys whether the driver supports region-of-interest (ROI)
5017	  encoding, based on user provided ROI rectangles.  The attribute value is
5018	  partitioned into fields as defined in the VAConfigAttribValEncROI union.
5019	  If ROI encoding is supported, the ROI information is passed to the driver
5020	  using VAEncMiscParameterTypeROI.
5021	  https://bugzilla.gnome.org/show_bug.cgi?id=768248
5022	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5023
50242017-05-12 11:11:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5025
5026	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
5027	  libs: encoder: fix a comment
5028
50292017-05-11 12:23:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5030
5031	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5032	  libs: encoder: guard quality level configuration
5033	  The quality level appeared in VA-API 0.36. So let's guard its
5034	  usage.
5035
50362017-04-19 13:04:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5037
5038	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5039	* gst-libs/gst/vaapi/gstvaapiencoder.h:
5040	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5041	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5042	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
5043	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
5044	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5045	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5046	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5047	  encoders: add quality level tuning
5048	  This patch adds the handling of VAEncMiscParameterTypeQualityLevel,
5049	  in gstreamer-vaapi encoders:
5050	  The encoding quality could be set through this structure, if the
5051	  implementation supports multiple quality levels. The quality level set
5052	  through this structure is persistent over the entire coded sequence, or
5053	  until a new structure is being sent. The quality level range can be queried
5054	  through the VAConfigAttribEncQualityRange attribute. A lower value means
5055	  higher quality, and a value of 1 represents the highest quality. The quality
5056	  level setting is used as a trade-off between quality and speed/power
5057	  consumption, with higher quality corresponds to lower speed and higher power
5058	  consumption.
5059	  The quality level is set by the element's parameter "quality-level" with a
5060	  hard-coded range of 1 to 8.
5061	  Later, when the encoder is configured in run time, just before start
5062	  processing, the quality level is scaled to the codec range. If
5063	  VAConfigAttribEncQualityRange is not available in the used VA backend, then
5064	  the quality level is set to zero, which means "disabled".
5065	  All the available codecs now process this parameter if it is available.
5066	  https://bugzilla.gnome.org/show_bug.cgi?id=778733
5067	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5068
50692017-05-04 18:59:31 +0300  Sebastian Dröge <sebastian@centricular.com>
5070
5071	* configure.ac:
5072	* meson.build:
5073	  Back to development
5074
5075=== release 1.12.0 ===
5076
50772017-05-04 15:46:03 +0300  Sebastian Dröge <sebastian@centricular.com>
5078
5079	* ChangeLog:
5080	* NEWS:
5081	* configure.ac:
5082	* gstreamer-vaapi.doap:
5083	* meson.build:
5084	  Release 1.12.0
5085
50862017-05-04 11:49:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5087
5088	* gst/vaapi/gstvaapidecodebin.c:
5089	  Revert "vaapidecodebin: fix element's classification"
5090	  This reverts commit 8cbe03599a4f27c2001380e2ec150c4f4267a9cf.
5091
50922017-04-27 22:55:27 -0700  Scott D Phillips <scott.d.phillips@intel.com>
5093
5094	* configure.ac:
5095	* meson.build:
5096	  build: Require libva < 0.99.0
5097	  libva >= 0.99.0 is not currently supported by gstreamer-vaapi, so
5098	  fail to configure instead of failing late in the build.
5099	  This libva is bundled in msdk[1] and it is ahead in time with
5100	  respect the official and open source libva[2]. GStreamer-VAAPI
5101	  only supports the latter for now.
5102	  1. https://software.intel.com/en-us/media-sdk/download
5103	  2. https://github.com/01org/libva/
5104	  https://bugzilla.gnome.org/show_bug.cgi?id=781866
5105
51062017-05-02 14:08:54 +0200  Victor Toso <me@victortoso.com>
5107
5108	* gst/vaapi/gstvaapidecodebin.c:
5109	  vaapidecodebin: fix element's classification
5110	  This bin should have similar classification as decodebin which is
5111	  "Generic/Bin/Decoder" otherwise it will appear wrongly as video
5112	  decoder.
5113	  Signed-off-by: Victor Toso <victortoso@redhat.com>
5114	  https://bugzilla.gnome.org/show_bug.cgi?id=782063
5115
5116=== release 1.11.91 ===
5117
51182017-04-27 17:49:52 +0300  Sebastian Dröge <sebastian@centricular.com>
5119
5120	* ChangeLog:
5121	* NEWS:
5122	* configure.ac:
5123	* gstreamer-vaapi.doap:
5124	* meson.build:
5125	  Release 1.11.91
5126
51272017-04-27 13:08:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5128
5129	* gst/vaapi/gstvaapipluginutil.c:
5130	  Revert "plugins: reject pixel-aspect-ratio with value 0/1"
5131	  This reverts commit c0be7b1890ea8da915a81ae82bc9f504aee7cc26.
5132
51332017-04-27 12:43:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5134
5135	* gst/vaapi/gstvaapipluginutil.c:
5136	  plugins: reject pixel-aspect-ratio with value 0/1
5137	  Do not negotiate a pixel-aspect-ratio of 0/1.
5138	  https://bugzilla.gnome.org/show_bug.cgi?id=781759
5139
51402017-04-26 15:48:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5141
5142	* gst/vaapi/gstvaapipostprocutil.c:
5143	* gst/vaapi/gstvaapisink.c:
5144	  plugins: handle pixel-aspect-ratio with value 0/1
5145	  When downstream negotiates a pixel-aspect-ratio of 0/1, the
5146	  calculations for resizing and formatting in vaapipostproc and
5147	  vaapisink, respectively, failed, and thus the pipeline.
5148	  This patch handles this situation by converting p-a-r of 0/1 to
5149	  1/1. This is how other sinks, such as glimagesink, work.
5150	  https://bugzilla.gnome.org/show_bug.cgi?id=781759
5151
51522017-04-27 14:42:55 +0900  Hyunjun Ko <zzoon@igalia.com>
5153
5154	* gst/vaapi/gstvaapivideobufferpool.c:
5155	  vaapivideobufferpool: fix leak of created allocator
5156	  Since it's created by itself, it should be unref-counted
5157	  after gst_buffer_pool_config_set_allocator call. Afterwards,
5158	  this allocator will be ref-counted again when assigning to priv->allocator.
5159	  https://bugzilla.gnome.org/show_bug.cgi?id=781577
5160
51612017-04-21 19:07:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5162
5163	* gst/vaapi/gstvaapivideobufferpool.c:
5164	  vaapivideobufferpool: create or reconfig allocator
5165	  Sometimes a video decoder could set different buffer pool
5166	  configurations, because their frame size changes. In this case we
5167	  did not reconfigure the allocator.
5168	  This patch enables this use case, creating a new allocator inside
5169	  the VAAPI buffer pool if the caps changed, if it is not dmabuf-based.
5170	  If so, it is just reconfigured, since it doesn't have a surface pool.
5171	  https://bugzilla.gnome.org/show_bug.cgi?id=781577
5172
51732017-04-25 12:58:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5174
5175	* tests/elements/Makefile.am:
5176	  test: elements: fix compilation flags
5177	  This issue was spotten on bug #766704
5178	  Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
5179
51802017-04-25 16:23:08 +0900  Hyunjun Ko <zzoon@igalia.com>
5181
5182	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5183	  libs: windows: wayland: fix leak if failure of sync
5184	  Sometimes gst_vaapi_window_wayland_sync returns FALSE when poll returns EBUSY
5185	  during destruction.
5186	  In this case, if GstVaapiWindow is using vpp, leak of vpp surface happens.
5187	  This surface is not attached to anything at this moment, so we should release
5188	  it manually.
5189	  https://bugzilla.gnome.org/show_bug.cgi?id=781695
5190
51912017-04-24 20:30:30 +0100  Tim-Philipp Müller <tim@centricular.com>
5192
5193	* common:
5194	  Automatic update of common submodule
5195	  From 60aeef6 to 48a5d85
5196
51972017-04-21 15:30:09 +0200  Hyunjun Ko <zzoon@igalia.com>
5198
5199	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5200	  libs: window: wayland: mark frames as done
5201	  When the frame listener callbacks 'done', the number of pending
5202	  frames are decreased. Nonetheless, there might be occasions where
5203	  the buffer listener callbacks 'release', without calling previously
5204	  frame's 'done'. This leads to problem with
5205	  gst_vaapi_window_wayland_sync() operation.
5206	  This patch marks as done those frames which were callbacked, but if
5207	  the buffer callbacks 'release' and associated frame is not marked
5208	  as 'done' it is so, thus the number of pending frames keeps correct.
5209	  https://bugzilla.gnome.org/show_bug.cgi?id=780442
5210	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5211
52122017-04-21 14:07:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5213
5214	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5215	  libs: window: wayland: don't sync at destroy()
5216	  Don't call gst_vaapi_window_wayland_sync() when destroying the
5217	  wayland window instance, since it might lead to a lock at
5218	  gst_poll_wait() when more than one instances of vaapisink are
5219	  rendering in the same pipeline, this is because they share the
5220	  same window.
5221	  Since now all the frames are freed we don't need to freed the
5222	  private last_frame, since its address is invalid now.
5223	  https://bugzilla.gnome.org/show_bug.cgi?id=780442
5224	  Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
5225
52262017-04-19 10:37:19 +0900  Hyunjun Ko <zzoon@igalia.com>
5227
5228	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5229	  libs: window: wayland: null buffer at destroy()
5230	  Fix leakage of the last wl buffer.
5231	  VAAPI wayland sink needs to send a null buffer while destruction,
5232	  it assures that all the wl buffers are released. Otherwise, the last
5233	  buffer's callback might be not called, which leads to leak of
5234	  GstVaapiDisplay.
5235	  This was inspired by gstwaylandsink.
5236	  https://bugzilla.gnome.org/show_bug.cgi?id=774029
5237	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5238
52392016-10-30 10:43:49 +0900  Jagyum Koo <koojagyum@gmail.com>
5240
5241	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5242	  libs: window: wayland: rt event queue at destroy()
5243	  The proxy object of wl_buffer for the last frame remains in the
5244	  wl_map. Even though we call wl_buffer_destroy() in
5245	  frame_release_callback(), the proxy object remains without being
5246	  removed, since proxy object is deleted when wayland server sees the
5247	  delete request and sends 'delete_id' event.
5248	  We need to call roundtrip before destroying event_queue so that the
5249	  proxy object is removed. Otherwise, it would be mess up as receiving
5250	  'delete_id' event from previous play, when playing in the next
5251	  va/wayland window with the same wl_display connection.
5252	  https://bugzilla.gnome.org/show_bug.cgi?id=773689
5253	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5254
52552017-04-20 20:30:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5256
5257	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5258	  libs: window: wayland: cancel read at poll message
5259	  Always call wl_display_cancel_read() when an errno is set, but
5260	  different to EAGAIN or EINTR.
5261	  https://bugzilla.gnome.org/show_bug.cgi?id=780442
5262
52632017-04-21 18:05:48 +0900  Hyunjun Ko <zzoon@igalia.com>
5264
5265	* gst/vaapi/gstvaapidecodebin.c:
5266	* gst/vaapi/gstvaapidecodebin.h:
5267	  vaapidecodebin: skips configuration once it's done
5268	  Skips configuration of creation of vpp/capsfilter and link them once it's done.
5269	  Otherwise, it always fails when it's trying to re-start playback.
5270	  https://bugzilla.gnome.org/show_bug.cgi?id=781573
5271
52722017-04-20 18:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5273
5274	* gst/vaapi/gstvaapipostprocutil.c:
5275	  vaapipostproc: fixes for memory leaks
5276	  The use of gst_vaapi_value_set_format() and gst_structure_*_value()
5277	  requires to clear the used GValue to avoid a memory leak.
5278
52792016-12-08 18:51:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5280
5281	* gst/vaapi/gstvaapipluginbase.c:
5282	* gst/vaapi/gstvaapipluginbase.h:
5283	  plugins: enable direct rendering with envvar
5284	  Direct rendering (use vaDeriveImage rather than vaPutImage) has better
5285	  performance in some Intel platforms (Haswell, for example) but in others
5286	  (Skylake) is the opposite.
5287	  In order to have some control, the patch enables the direct rendering
5288	  through the environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING.
5289	  Also it seems to generating some problems with gallium/radeon backend.
5290	  See bug #779642.
5291	  https://bugzilla.gnome.org/show_bug.cgi?id=775848
5292
52932017-04-08 02:05:21 +1000  Jan Schmidt <jan@centricular.com>
5294
5295	* gst/vaapi/gstvaapidecode.c:
5296	  vaapidecode: Don't renegotiate on every flush
5297	  If caps don't actually change, don't update the
5298	  decoder and don't set the do_renego flag forcing
5299	  downstream renegotiation
5300	  https://bugzilla.gnome.org/show_bug.cgi?id=781142
5301
53022017-04-08 01:21:23 +1000  Jan Schmidt <jan@centricular.com>
5303
5304	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5305	  h264 decoder: Implement reset() for faster flush
5306	  Implement a custom reset() function for faster flushes
5307	  that just clear the reference pictures but don't reallocate
5308	  the DPB or clear out SPS/PPS
5309	  https://bugzilla.gnome.org/show_bug.cgi?id=781142
5310
53112017-04-05 17:24:20 +1000  Jan Schmidt <jan@centricular.com>
5312
5313	* gst-libs/gst/vaapi/gstvaapidecoder.c:
5314	* gst-libs/gst/vaapi/gstvaapidecoder.h:
5315	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5316	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5317	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
5318	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
5319	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5320	* gst/vaapi/gstvaapidecode.c:
5321	  Implement decoder reset on flush, rather than recreating
5322	  Clear decoders out on a flush but keep the same instance,
5323	  rather than completely recreating them. That avoids
5324	  unecessarily freeing and recreating surface pools
5325	  and contexts, which can be quite expensive
5326	  https://bugzilla.gnome.org/show_bug.cgi?id=781142
5327
53282017-04-11 18:50:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5329
5330	* gst-libs/gst/vaapi/gstvaapiwindow.c:
5331	  libs: window: don't add an unused function
5332	  The macro GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE only defines
5333	  a function that is never used, thus when compiling we might see
5334	  this warning (clang):
5335	  gstvaapiwindow.c:147:1: warning: unused function 'gst_vaapi_window_class' [-Wunused-function]
5336	  GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE (GstVaapiWindow,
5337	  ^
5338	  https://bugzilla.gnome.org/show_bug.cgi?id=759533
5339
53402017-04-11 18:22:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5341
5342	* gst-libs/gst/vaapi/gstvaapiwindow.c:
5343	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
5344	  libs: window: remove surface_format member
5345	  Since we always convert to NV12, there is no need to keep a
5346	  variable for that. Let us hard code it.
5347	  https://bugzilla.gnome.org/show_bug.cgi?id=759533
5348
53492017-04-10 17:23:26 +0900  Hyunjun Ko <zzoon@igalia.com>
5350
5351	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5352	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5353	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
5354	  libs: window: x11/wayland: use new api for conversion
5355	  Since gst_vaapi_window_vpp_convert_internal is created,
5356	  GstVaapiWindowX11/Wayland can use it for conversion.
5357	  Note that once it chooses to use vpp, it's going to use vpp
5358	  until the session is finished.
5359	  https://bugzilla.gnome.org/show_bug.cgi?id=759533
5360
53612017-04-10 11:41:29 +0900  Hyunjun Ko <zzoon@igalia.com>
5362
5363	* gst-libs/gst/vaapi/gstvaapiwindow.c:
5364	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
5365	  libs: window: add gst_vaapi_window_vpp_convert_internal()
5366	  If a backend doesn't support specific format, we can use vpp for conversion
5367	  and make it playing.
5368	  This api is originated from GstVaapiWindowWayland and moved to GstVaapiWindow,
5369	  so that GstVaapiWindowX11 could use it.
5370	  https://bugzilla.gnome.org/show_bug.cgi?id=759533
5371
53722017-04-03 16:45:36 +0900  Hyunjun Ko <zzoon@igalia.com>
5373
5374	* gst-libs/gst/vaapi/gstvaapiwindow.c:
5375	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
5376	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5377	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5378	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
5379	  libs: window: x11/wayland: chaining up to GstVaapiWindow
5380	  Currently, GstVaapiWindowX11/Wayland are not descendants of GstVaapiWindow.
5381	  This patch chains them up to GstVaapiWindow to handle common members in GstVaapiWindow.
5382	  https://bugzilla.gnome.org/show_bug.cgi?id=759533
5383
53842017-04-05 11:19:15 -0700  Scott D Phillips <scott.d.phillips@intel.com>
5385
5386	* gst/vaapi/gstvaapipluginutil.c:
5387	  plugins: Fix usage of GST_GL_HAVE_WINDOW_* defines
5388	  When these definitions are false, they are undef in the
5389	  preprocessor, not a defined value of 0. When they are unset the
5390	  compile fails with:
5391	  'GST_GL_HAVE_WINDOW_WAYLAND' undeclared (first use in this function)
5392	  https://bugzilla.gnome.org/show_bug.cgi?id=780948
5393
53942017-04-10 23:51:06 +0100  Tim-Philipp Müller <tim@centricular.com>
5395
5396	* common:
5397	  Automatic update of common submodule
5398	  From 39ac2f5 to 60aeef6
5399
5400=== release 1.11.90 ===
5401
54022017-04-07 16:36:21 +0300  Sebastian Dröge <sebastian@centricular.com>
5403
5404	* ChangeLog:
5405	* NEWS:
5406	* configure.ac:
5407	* gstreamer-vaapi.doap:
5408	* meson.build:
5409	  Release 1.11.90
5410
54112017-04-03 14:52:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5412
5413	* gst/vaapi/gstvaapiencode_h265.c:
5414	  vaapiencode: h265: add main-10 in caps template
5415	  This patch adds h265's main-10 profile in encoder src caps template.
5416	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5417
54182017-04-03 15:34:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5419
5420	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5421	  libs: encoder: h265: chroma and luma with format
5422	  If the profile is main-10 the bit_depth_luma_minus8, in the sequence
5423	  parameter buffer, shall be the color format bit depth minus 8, 10-8
5424	  which is 2. Also for bit_depth_chroma_minus8.
5425	  This patch gets the negotiated sink caps format and queries its
5426	  luma's depth and uses that value to fill the mentioned parameters.
5427	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5428
54292017-03-29 19:20:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5430
5431	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5432	  libs: encoder: admit YUV420_10BPP as valid chroma
5433	  Accepts as supported the GST_VAAPI_CHROMA_TYPE_YUV420_10BPP chroma
5434	  type.
5435	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5436
54372017-03-29 19:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5438
5439	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5440	  libs: encoder: h265: ensures profile given format
5441	  Set the VA profile as GST_VAAPI_PROFILE_H265_MAIN10 if the
5442	  configured color format is P010_10LE.
5443	  Otherwise, keep GST_VAAPI_PROFILE_H265_MAIN
5444	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5445
54462017-04-06 17:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5447
5448	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5449	  libs: encode: merge all possible surface formats
5450	  When the function gst_vaapi_encoder_get_surface_formats() was added
5451	  it was under the assumption that any VA profile of the specific codec
5452	  supported the same format colors. But it is not, for example the
5453	  profiles that support 10bit formats.
5454	  In other words, different VA profiles of a same codec may support
5455	  different color formats in their upload surfaces.
5456	  In order to expose all the possible color formats, if no profile is
5457	  specified via source caps, or if the encoder doesn't have yet a
5458	  context, all the possible VA profiles for the specific codec are
5459	  iterated and their color formats are merged.
5460	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5461
54622017-04-06 16:28:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5463
5464	* gst/vaapi/gstvaapiencode.c:
5465	* gst/vaapi/gstvaapiencode.h:
5466	* gst/vaapi/gstvaapiencode_h264.c:
5467	* gst/vaapi/gstvaapiencode_h265.c:
5468	  vaapiencode: add get_profile() vmethod
5469	  This new virtual method, get_profile(), if implemented by specific
5470	  encoders, will return the VA profile potentially determined by the
5471	  source caps.
5472	  Also it is implemented by h264 and h265 encoders, which are the main
5473	  users of this vmethod.
5474	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5475
54762017-04-06 12:49:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5477
5478	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5479	* gst-libs/gst/vaapi/gstvaapiencoder.h:
5480	* gst/vaapi/gstvaapiencode.c:
5481	  libs: encoder: pass profile to get_surface_formats()
5482	  In order to get the supported surface formats within a specific
5483	  profile this patch adds the GstVaapiProfile as property to
5484	  gst_vaapi_encoder_get_surface_formats().
5485	  Currently the extracted formats are only those related with the
5486	  default profile of the element's codec.
5487	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5488
54892017-04-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5490
5491	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5492	  libs: encoder: dummy context for get_surface_formats()
5493	  Instead of creating (if it doesn't exist, yet) the encoder's context
5494	  the method gst_vaapi_encoder_get_surface_formats() now it creates
5495	  dummy contexts, unless the encoder has it already created.
5496	  The purpose of this is to avoid setting a encoder's context with a
5497	  wrong profile.
5498	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5499
55002017-04-04 14:39:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5501
5502	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5503	  libs: encoder: refactor init_context_info()
5504	  In order to generate vaapi contexts iterative, the function
5505	  init_context_info() is refactored to pass, as parameters the
5506	  GstVaapiContextInfo and the GstVaapiProfile.
5507	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5508
55092017-04-04 14:21:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5510
5511	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5512	* gst-libs/gst/vaapi/gstvaapiutils.c:
5513	* gst-libs/gst/vaapi/gstvaapiutils.h:
5514	  libs: encoder: initialize chroma_type
5515	  Instead of initialize the chroma_type with a undefined value, which
5516	  will be converted to GST_VAAPI_CHROMA_TYPE_YUV420 by GstVaapiContext,
5517	  this patch queries the VA config, given the received
5518	  GstVaapiContextInfo's parameters, and gets the first response.
5519	  In order to get the GstVaapiChromaType value, also it was needed to
5520	  add a new utility function: to_GstVaapiChromaType(), which, given a
5521	  VA_RT_FORMAT_* will return the associated GstVaapiChromaType.
5522	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5523
55242017-03-31 11:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5525
5526	* gst/vaapi/gstvaapiencode.c:
5527	  vaapiencode: enhance logs of negotiated caps
5528	  https://bugzilla.gnome.org/show_bug.cgi?id=771291
5529
55302017-04-05 11:15:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
5531
5532	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5533	  libs: encoder: vp9: Fix initialization of ref_list
5534	  gcc 7.0.1 gives a memset-elt-size warning in gst_vaapi_encoder_vp9_init:
5535	  'memset' used with length equal to number of elements without
5536	  multiplication by element size [-Werror=memset-elt-size]
5537	  https://bugzilla.gnome.org/show_bug.cgi?id=780947
5538
55392017-03-31 14:12:43 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5540
5541	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5542	  encoder: h264: Fix Backward ReferencePicture flag setting
5543	  This is a regression introduced by e829b62 which
5544	  override the reference flags and caused issues with
5545	  latest intel-vaapi-driver.
5546
55472017-03-29 13:22:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5548
5549	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5550	  libs: encoder: h265: fix code style
5551	  Trivial patch to remove a double ';' as end of instruction.
5552
55532017-03-28 10:53:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5554
5555	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5556	  encoder: h264: Fix B frame encoding artifacts
5557	  The current implementation is updating the POC values only
5558	  in Slice parameter Buffer.But we are not filling the
5559	  picture order count and reference flags in VAPictureH264
5560	  while populating VA Picture/Slice structures.The latest
5561	  intel-vaapi-driver is directly accessing the above fields
5562	  from VAPicutreH264 provided as RefPicLists, which resulted
5563	  some wrong maths and prediction errors in driver.
5564	  https://bugzilla.gnome.org/show_bug.cgi?id=780620
5565
55662017-03-21 16:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5567
5568	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5569	  libs: encoder: h265: remove unused macro definition
5570	  Since the h265 encoder doesn't use GValueArray, there is no need to
5571	  disable the Glib deprecation warnings, thus removing the macro
5572	  definition.
5573
55742017-03-20 16:45:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5575
5576	* gst/vaapi/gstvaapidecode.c:
5577	* gst/vaapi/gstvaapiencode.c:
5578	* gst/vaapi/gstvaapipostproc.c:
5579	* gst/vaapi/gstvaapisink.c:
5580	  plugins: when debug disabled, default category is NULL
5581	  As in gstreamer-vaapi a common base class is used, the specific
5582	  default category is passed to the base-plugin initializator, thus
5583	  the log messages are categorized with the used plugin.
5584	  Nonetheless, when the gst-debug is disabled in compilation time,
5585	  it is needed to pass NULL to the base-plugin initializator. This
5586	  patch does that.
5587	  https://bugzilla.gnome.org/show_bug.cgi?id=780302
5588
55892017-03-17 17:14:01 +0900  Hyunjun Ko <zzoon@igalia.com>
5590
5591	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5592	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5593	* gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
5594	* gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
5595	  libs: h26x: adds gst_vaapi_utils_h26x_write_nal_unit()
5596	  Implements gst_vaapi_utils_h26x_write_nal_unit(), which writes NAL
5597	  unit length and data to a bitwriter.
5598	  Note that this helper function applies EPB (Emulation Prevention
5599	  Bytes), since otherwise produced codec_data might be broken when
5600	  decoder/parser considering EPB, starts parsing.
5601	  See sections 7.3 and 7.4 of the H264 and H264 specifications, which
5602	  describes the emulation_prevention_three_byte.
5603	  https://bugzilla.gnome.org/show_bug.cgi?id=778750
5604	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5605
56062017-03-17 16:49:41 +0900  Hyunjun Ko <zzoon@igalia.com>
5607
5608	* gst-libs/gst/vaapi/Makefile.am:
5609	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5610	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5611	* gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
5612	* gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
5613	* gst-libs/gst/vaapi/meson.build:
5614	  libs: utils: h26x: create vaapiutils_h26x
5615	  Since there is duplicated code in h264/265 encoder, we could
5616	  refactor it to avoid duplicated code.
5617	  https://bugzilla.gnome.org/show_bug.cgi?id=778750
5618	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5619
56202017-03-17 16:32:36 +0900  Hyunjun Ko <zzoon@igalia.com>
5621
5622	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5623	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5624	  libs: encoder: h264/5: fix wrong return value
5625	  https://bugzilla.gnome.org/show_bug.cgi?id=778750
5626
56272017-03-13 17:29:59 +0900  Hyunjun Ko <zzoon@igalia.com>
5628
5629	* gst/vaapi/gstvaapiencode_h264.c:
5630	* gst/vaapi/gstvaapiencode_h265.c:
5631	  docs: h264/h265: put parser to the example pipeline
5632	  https://bugzilla.gnome.org/show_bug.cgi?id=778749
5633
56342017-03-13 16:20:59 +0900  Hyunjun Ko <zzoon@igalia.com>
5635
5636	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5637	  libs: encoder: h265: fix reserved length of bits
5638	  Fix reserved length of bits for bit_depth_luma_minus8 and bit_depth_chroma_minus8
5639	  https://bugzilla.gnome.org/show_bug.cgi?id=778749
5640
56412017-03-12 18:59:42 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
5642
5643	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
5644	* tests/test-display.c:
5645	  O_CLOEXEC needs _GNU_SOURCE defined
5646	  From man open(2):
5647	  The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified
5648	  in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc
5649	  2.12, one can obtain their definitions by defining either
5650	  _POSIX_C_SOURCE with a value greater than or equal to 200809L or
5651	  _XOPEN_SOURCE with a value greater than or equal to 700.  In glibc
5652	  2.11 and earlier, one obtains the definitions by defining
5653	  _GNU_SOURCE.
5654	  And indeed, with the uClibc C library, O_CLOEXEC is not exposed if
5655	  _GNU_SOURCE is not defined. Therefore, this commit fixes the build of
5656	  gstreamer-vaapi with the uClibc C library.
5657	  Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
5658	  https://bugzilla.gnome.org/show_bug.cgi?id=779953
5659
56602017-03-14 16:07:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5661
5662	* README:
5663	  README: fix "Sources" section
5664	  Update the URL where the release source tarballs can be downloaded.
5665
56662017-03-12 21:39:53 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
5667
5668	* README:
5669	  README: fix "Reporting bugs" section
5670	  The "Reporting bugs" section gives
5671	  https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi as the
5672	  link to report a bug, but this link says "Sorry, entering a bug into the
5673	  product gstreamer-vaapi has been disabled.".
5674	  This commit fixes the URL to point to the proper location, and also
5675	  removes the following paragraph that is no longer correct.
5676	  Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
5677	  https://bugzilla.gnome.org/show_bug.cgi?id=779954
5678
56792017-03-03 19:55:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5680
5681	* gst/vaapi/gstvaapipluginutil.c:
5682	  plugins: retry to create the VA display
5683	  Particularly in GNOME Wayland, the negotiated or created GL context
5684	  defines a GLX environment, but VAAPI fails to create a GLX VA
5685	  display because there is no a DRI2 connection.
5686	  This patch retries to create the VA display if VA cannot create one
5687	  with the GL context parameters. Now using the old list of display
5688	  types.
5689	  This should also work in the case of systems with two GPU, when the
5690	  non-VAAPI has the graphics environment, and the VAAPI-enabled one
5691	  shall work headless.
5692	  https://bugzilla.gnome.org/show_bug.cgi?id=772838
5693
56942016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
5695
5696	* gst/vaapi/gstvaapipostproc.c:
5697	  vaapipostproc: texture upload if driver supports GL
5698	  Removes GstVideoGLTextureUploadMeta caps feature if the driver
5699	  doesn't support opengl.
5700	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5701	  https://bugzilla.gnome.org/show_bug.cgi?id=772838
5702
57032016-10-25 17:48:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5704
5705	* gst/vaapi/gstvaapidecode.c:
5706	  vaapidecode: texture upload if driver supports GL
5707	  When the allowed source pad caps are generated, the GLTextureUpload caps are
5708	  only inserted if the driver support OpenGL.
5709	  https://bugzilla.gnome.org/show_bug.cgi?id=772838
5710
57112017-02-22 15:02:01 -0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5712
5713	* configure.ac:
5714	  configure: Add missing compiler flags
5715	  The AC_CHECK_HEADERS macro was failing to locate some headers, in
5716	  particular the va_enc_* headers due to missing compiler flags.
5717	  https://bugzilla.gnome.org/show_bug.cgi?id=779101
5718	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5719
57202017-03-01 14:48:46 +0900  Hyunjun Ko <zzoon@igalia.com>
5721
5722	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5723	  libs: window: wayland: handle more VAStatus to use vpp
5724	  Since the commit landed https://github.com/01org/intel-vaapi-driver/pull/55,
5725	  we should consider more returned VAStatus to use vpp.
5726	  https://bugzilla.gnome.org/show_bug.cgi?id=779400
5727
57282017-02-23 15:16:06 +0900  Hyunjun Ko <zzoon@igalia.com>
5729
5730	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5731	  libs: encoder: ensure profile when context initialization
5732	  We can't be sure that encoder's profile is assgined already or not
5733	  at context initialization.
5734	  https://bugzilla.gnome.org/show_bug.cgi?id=779120
5735
57362017-02-23 15:13:59 +0900  Hyunjun Ko <zzoon@igalia.com>
5737
5738	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5739	  libs: encoder: set rate control info only when query succeed
5740	  Currently, it set rate control information even when query fails.
5741	  In addition, it doesn't update any more since the flag
5742	  got_rate_control_mask is set to TRUE.
5743	  https://bugzilla.gnome.org/show_bug.cgi?id=779120
5744
57452017-02-24 16:00:23 +0200  Sebastian Dröge <sebastian@centricular.com>
5746
5747	* meson.build:
5748	  meson: Update version
5749
57502017-02-24 15:38:22 +0200  Sebastian Dröge <sebastian@centricular.com>
5751
5752	* configure.ac:
5753	  Back to development
5754
5755=== release 1.11.2 ===
5756
57572017-02-24 15:10:21 +0200  Sebastian Dröge <sebastian@centricular.com>
5758
5759	* ChangeLog:
5760	* NEWS:
5761	* configure.ac:
5762	* gstreamer-vaapi.doap:
5763	  Release 1.11.2
5764
57652017-02-16 18:37:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5766
5767	* gst/vaapi/gstvaapiencode.c:
5768	  vaapiencode: merge tags for downstream's info
5769	  Add encoder and codec name and the bitrate into the output for
5770	  informational purposes. Some muxers or application use it as
5771	  media metadata.
5772	  https://bugzilla.gnome.org/show_bug.cgi?id=778781
5773
57742017-02-17 01:27:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5775
5776	* gst-libs/gst/vaapi/gstvaapiencoder.c:
5777	  libs: encoder: caps can change at any time
5778	  The encoder should be able to change its caps even it is already
5779	  processing a stream.
5780	  This is suppose to happen after a flush so the codedbuf_queue should
5781	  be empty.
5782	  https://bugzilla.gnome.org/show_bug.cgi?id=775490
5783
57842017-02-17 01:19:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5785
5786	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5787	  libs: encoder: h265: bail if nal unit type fails
5788	  Bail out if the NAL unit type is not recognized.
5789	  https://bugzilla.gnome.org/show_bug.cgi?id=778782
5790
57912017-02-16 18:11:50 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5792
5793	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5794	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5795	  libs: decoder: h264,h265 avoid uninitialized variable
5796	  Configuring GCC to verify possible usage of uninitialized variables,
5797	  shows that found_index might be used without previous assignation.
5798	  This patch assigns a initial value to found_index, also avoid a
5799	  branching when returning the result value.
5800	  https://bugzilla.gnome.org/show_bug.cgi?id=778782
5801
58022017-02-13 16:39:41 -0800  Scott D Phillips <scott.d.phillips@intel.com>
5803
5804	* configure.ac:
5805	* gst-libs/gst/vaapi/Makefile.am:
5806	* gst/vaapi/gstvaapidecode.c:
5807	* gst/vaapi/gstvaapidecodebin.c:
5808	  build: rename USE_HEVC_DECODER to USE_H265_DECODER
5809	  Rename to be consistent with H.264 and also H.265 encoder. The
5810	  meson build assumed this was already consistently named, and so
5811	  previously was not able to actually build the H.265 decoder.
5812	  https://bugzilla.gnome.org/show_bug.cgi?id=778576
5813
58142017-02-15 19:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>
5815
5816	* meson.build:
5817	  meson: gstreamer-codecparsers is a required dep
5818	  Just like in configure.ac.
5819
58202017-02-15 00:26:21 +0000  Tim-Philipp Müller <tim@centricular.com>
5821
5822	* Makefile.am:
5823	  meson: dist meson build files
5824	  Ship meson build files in tarballs, so people who use tarballs
5825	  in their builds can start playing with meson already.
5826
58272017-02-10 09:51:38 +0900  Hyunjun Ko <zzoon@igalia.com>
5828
5829	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5830	  libs: encoder: vp8: add CBR encoding mode
5831	  This patch enables the Constant BitRate encoding mode in VP8 encoder.
5832	  Basically it adds the configuration parameters required by libva to
5833	  CBR enconding.
5834	  Original-Patch-By: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5835	  https://bugzilla.gnome.org/show_bug.cgi?id=749950
5836
58372017-02-09 12:39:19 +0900  Hyunjun Ko <zzoon@igalia.com>
5838
5839	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5840	  libs: encoder: vp8: fix bitrate calculation
5841	  Base encoder's unit of bitrate is in Kbps. We should honor it so
5842	  we use the value of bitrate in VA, in which is expressed in bps.
5843	  https://bugzilla.gnome.org/show_bug.cgi?id=749950
5844
58452017-02-09 12:49:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5846
5847	* gst/vaapi/gstvaapipluginbase.c:
5848	  plugins: fix build when gcc
5849	  In commit a8e482f9 we added a function without parameters, but gcc
5850	  doesn't like that.
5851
58522017-02-06 15:46:20 -0800  Scott D Phillips <scott.d.phillips@intel.com>
5853
5854	* gst-libs/gst/base/meson.build:
5855	* gst-libs/gst/meson.build:
5856	* gst-libs/gst/vaapi/meson.build:
5857	* gst-libs/meson.build:
5858	* gst/meson.build:
5859	* gst/vaapi/meson.build:
5860	* meson.build:
5861	* meson_options.txt:
5862	  vaapi: add meson build
5863	  https://bugzilla.gnome.org/show_bug.cgi?id=778250
5864
58652017-02-08 10:17:40 -0800  Scott D Phillips <scott.d.phillips@intel.com>
5866
5867	* configure.ac:
5868	* gst-libs/gst/vaapi/Makefile.am:
5869	* gst-libs/gst/vaapi/gstvaapidisplay.c:
5870	* gst-libs/gst/vaapi/gstvaapiversion.h.in:
5871	  make: remove gstvaapiversion.h generation
5872	  https://bugzilla.gnome.org/show_bug.cgi?id=778250
5873
58742016-10-19 15:47:41 +0100  Julien Isorce <j.isorce@samsung.com>
5875
5876	* gst/vaapi/gstvaapipluginbase.c:
5877	  plugins: use linear storage if not the same device
5878	  When dmabuf is negotiated downstream and decoding and rendering are
5879	  not done on the same device, the layout has to be linear in order for
5880	  the memory to be shared accross devices, since each device has its
5881	  own way to do tiling.
5882	  Right now this code is rather just a to-do comment, since we are not
5883	  fetching the device ids.
5884	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
5885
58862017-02-08 14:17:05 +0900  Hyunjun Ko <zzoon@igalia.com>
5887
5888	* gst-libs/gst/vaapi/gstvaapiutils.c:
5889	  libs: utils: add HEVC profiles representation
5890	  https://bugzilla.gnome.org/show_bug.cgi?id=778318
5891
58922017-02-07 16:17:39 +0900  Hyunjun Ko <zzoon@igalia.com>
5893
5894	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5895	  libs: decoder: h264: reduce frame number of gaps
5896	  Reduce frame num gaps so that we don't have to create unnecessary
5897	  dummy pictures, just throw them away.
5898	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5899	  https://bugzilla.gnome.org/show_bug.cgi?id=777506
5900
59012016-10-16 01:04:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5902
5903	* gst/vaapi/gstvaapidecode.c:
5904	  vaapidecode: don't GLTextureUpload if dmabuf
5905	  Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
5906	  element can handle dmabuf-based buffers, avoiding its negotiation.
5907
59082016-10-19 16:21:21 +0100  Julien Isorce <j.isorce@samsung.com>
5909
5910	* gst/vaapi/gstvaapidecode.c:
5911	  vaapidecode: make pool to export decoder's surface
5912	  Use new -base API gst_video_decoder_allocate_output_frame_full() to
5913	  pass the current proxy/surface to the pool.
5914	  The pool will will export thins given surface instead of exporting a
5915	  brand new surface that will never be filled in with meaningfull data.
5916	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
5917
59182017-02-03 17:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5919
5920	* gst/vaapi/gstvaapipluginbase.c:
5921	  plugins: decoder can negotiate dmabuf downstream
5922
59232016-10-19 16:07:07 +0100  Julien Isorce <j.isorce@samsung.com>
5924
5925	* gst/vaapi/gstvaapivideobufferpool.c:
5926	  vaapivideobufferpool: override acquire_buffer()
5927	  Overriding the vmethod acquire_buffer() it is possible to attach the
5928	  right GstMemory to the current acquired buffer.
5929	  As a matter of fact, this acquired buffer may contain any instantiated
5930	  GstFdmemory, since this buffer have been popped out from the buffer
5931	  pool, which is a FIFO queue. So there is no garantee that this buffer
5932	  matches with the current processed surface. Evenmore, the VA driver
5933	  might not use a FIFO queue. Therefore, it is no way to guess on the
5934	  ordering.
5935	  In short, acquire_buffer on the VA driver and on the buffer pool return
5936	  none matching data, we have to manually attach the right GstFdMemory to
5937	  the acquired GstBuffer. The right GstMemory is the one associated with
5938	  the current surface.
5939	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
5940
59412016-10-19 16:05:04 +0100  Julien Isorce <j.isorce@samsung.com>
5942
5943	* gst/vaapi/gstvaapivideobufferpool.c:
5944	* gst/vaapi/gstvaapivideomemory.c:
5945	  vaapivideomemory: export surface if it is provided
5946	  gst_vaapi_dmabuf_memory_new() always exports a surface. Previously, it
5947	  had to create that surface. Now it can also export an already provided
5948	  surface. It is useful to export decoder's surfaces (from VA context).
5949	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
5950
59512016-10-19 15:55:27 +0100  Julien Isorce <j.isorce@samsung.com>
5952
5953	* gst/vaapi/gstvaapivideobufferpool.h:
5954	  vaapivideobufferpool: add GstVaapiVideoBufferPoolAcquireParams
5955	  Useful to let the pool know the current surface proxy when calling
5956	  gst_buffer_pool_alloc_buffer() / gst_buffer_pool_acquire_buffer()
5957	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
5958
59592016-10-19 15:09:34 +0100  Julien Isorce <j.isorce@samsung.com>
5960
5961	* gst-libs/gst/vaapi/gstvaapisurface.c:
5962	* gst-libs/gst/vaapi/gstvaapisurface.h:
5963	  libs: surface: add gst_vaapi_surface_{set,peek}_buffer_proxy()
5964	  These functions are useful when a dmabuf-based memory is instantiated in
5965	  order to relate the generated buffer @proxy with the processed @surface.
5966	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
5967
59682016-10-19 15:07:31 +0100  Julien Isorce <j.isorce@samsung.com>
5969
5970	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
5971	* gst-libs/gst/vaapi/gstvaapibufferproxy.h:
5972	* gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
5973	  libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem()
5974	  This patch adds a GstMemory as a variable member of the buffer proxy,
5975	  because we will need to associate the buffer proxy with the memory
5976	  which exposes it. Later, we will know which memory, in the video buffer
5977	  pool, is attached to the processed surface.
5978	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
5979
59802016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
5981
5982	* gst/vaapi/gstvaapipostproc.c:
5983	  vaapipostproc: don't GLTextureUpload if dmabuf
5984	  Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
5985	  element can handle dmabuf-based buffers, avoiding its negotiation.
5986	  Similar as "vaapidecode: do not add meta:GstVideoGLTextureUploadMeta
5987	  feature if can dmabuf"
5988	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
5989
59902016-12-16 14:12:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5991
5992	* gst/vaapi/gstvaapipluginbase.c:
5993	  plugins: enable DMAbuf allocator to downstream
5994	  If the negotiated caps are raw caps and downstream supports the
5995	  EGL_EXT_image_dma_buf_import extension, then the created allocator
5996	  is the DMAbuf, configured to downstream.
5997	  At this moment, the only element which can push dmabuf-based buffers
5998	  to downstream, is vaapipostproc.
5999
60002016-06-02 22:13:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6001
6002	* gst/vaapi/gstvaapipluginbase.c:
6003	* gst/vaapi/gstvaapipluginbase.h:
6004	  plugins: check if negotiate dmabuf with downstream
6005	  In order to enable, in the future, dmabuf-based buffers, the vaapi base
6006	  plugin needs to check if downstream can import dmabuf buffers.
6007	  This patch checks if downstream can handle dmabuf, by introspecting the
6008	  shared GL context. If the GL context is EGL/GLES2 and have the extension
6009	  EGL_EXT_image_dma_buf_import, then dmabuf can be negotiated.
6010	  Original-patch-by: Julien Isorce <j.isorce@samsung.com>
6011
60122016-10-19 15:37:04 +0100  Julien Isorce <j.isorce@samsung.com>
6013
6014	* gst/vaapi/gstvaapivideomemory.c:
6015	  vaapivideomemory: release proxy's data if downstream
6016	  The surface created for downstream is going to be filled by VAAPI
6017	  elements. So, the driver needs write access on that surface.
6018	  This patch releases the derived image held by the proxy, thus the
6019	  surface is unmarked as busy.
6020	  This is how it has to be done as discussed on libva mailing list.
6021	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
6022
60232016-10-19 15:01:04 +0100  Julien Isorce <j.isorce@samsung.com>
6024
6025	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
6026	* gst-libs/gst/vaapi/gstvaapibufferproxy.h:
6027	  libs: bufferproxy: add gst_vaapi_buffer_proxy_release_data()
6028	  Adds an API to request the user's data release in the buffer proxy.
6029	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
6030
60312016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
6032
6033	* gst/vaapi/gstvaapipluginbase.c:
6034	* gst/vaapi/gstvaapivideomemory.c:
6035	* gst/vaapi/gstvaapivideomemory.h:
6036	  vaapivideomemory: add direction to dmabuf allocator
6037	  Add GstPadDirection param to gst_vaapi_dmabuf_allocator_new(), thus
6038	  we later could do different thing when the allocated memory is for
6039	  upstream or dowstream, as required by VA-API.
6040	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
6041
60422016-12-15 15:59:30 +0900  Hyunjun Ko <zzoon@igalia.com>
6043
6044	* gst-libs/gst/vaapi/gstvaapiutils_core.c:
6045	  libs: utils: return NULL if failed to get surface formats
6046	  Thus, when generating the allowed caps, the element will throw a
6047	  warning and it will use its caps template.
6048	  This behavior might be a bug in the VA driver.
6049	  https://bugzilla.gnome.org/show_bug.cgi?id=775490
6050
60512015-11-26 18:21:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6052
6053	* gst-libs/gst/vaapi/gstvaapidisplay.c:
6054	  Revert "vaapidisplay: mark X11 display as compatible with EGL"
6055	  This reverts commit 200b1baabc066f8a4102f82f539655d588200ec9.
6056
60572017-02-01 14:32:45 +0900  Hyunjun Ko <zzoon@igalia.com>
6058
6059	* gst/vaapi/gstvaapipostproc.c:
6060	  vaapipostproc: set GST_VAAPI_POSTPROC_FLAG_SIZE according to src caps
6061	  A value of width/height property should be set to out caps,
6062	  if negotiation had been going properly.
6063	  So we can use srcpad_info when making decision of scaling.
6064	  https://bugzilla.gnome.org/show_bug.cgi?id=778010
6065
60662017-01-27 12:10:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6067
6068	* gst/vaapi/gstvaapidecode.c:
6069	* gst/vaapi/gstvaapiencode.c:
6070	* gst/vaapi/gstvaapipluginutil.c:
6071	* gst/vaapi/gstvaapipluginutil.h:
6072	* gst/vaapi/gstvaapipostproc.c:
6073	* gst/vaapi/gstvaapisink.c:
6074	  plugins: handle GL params through context query
6075	  If the element instantiated the GL display and context, they should
6076	  handle them too through the context query.
6077	  https://bugzilla.gnome.org/show_bug.cgi?id=777409
6078
60792017-01-26 12:02:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6080
6081	* gst/vaapi/gstvaapipluginbase.c:
6082	* gst/vaapi/gstvaapipluginbase.h:
6083	* gst/vaapi/gstvaapipluginutil.c:
6084	  plugins: create a GL context on certain conditions
6085	  If a GstVaapiDisplay is not found in the GStreamer context sharing,
6086	  then VAAPI elements look for a local GstGLContext in gst context
6087	  sharing mechanism ('gst.gl.local.context').
6088	  If this GstGLContext not found either then, only the VAAPI decoders
6089	  and the VAAPI post-processor, will try to instantiate a new
6090	  GstGLContext.
6091	  If a valid GstGLContext is received, then a new GstVaapiDisplay will
6092	  be instantiated with the platform, API and windowing specified by the
6093	  instantiated GstGLContext.
6094	  Original-Patch-By: Matt Fischer <matt.fischer@garmin.com>
6095	  https://bugzilla.gnome.org/show_bug.cgi?id=777409
6096
60972016-08-02 15:48:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6098
6099	* gst/vaapi/gstvaapivideocontext.c:
6100	  vaapivideocontext: context type can be rejected
6101	  Instead of calling g_return_val_if_fail() to check the context type, we
6102	  should use a normal conditional, since it is possible that other context types
6103	  can arrive and try to be assigned. Otherwise a critical log message is
6104	  printed.
6105	  This happens when we use playbin3 with vaapipostproc as video-filter.
6106	  https://bugzilla.gnome.org/show_bug.cgi?id=777409
6107
61082017-01-20 19:57:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6109
6110	* gst/vaapi/gstvaapipostprocutil.c:
6111	  vaapipostproc: use sink caps par if not requested
6112	  Use the sink caps pixel-aspect-ratio to fixate the src caps, if it
6113	  is not already set.
6114	  https://bugzilla.gnome.org/show_bug.cgi?id=777395
6115
61162017-01-20 19:00:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6117
6118	* gst/vaapi/gstvaapipostproc.c:
6119	* gst/vaapi/gstvaapipostprocutil.c:
6120	  vaapipostproc: set interlace mode
6121	  if the vaapipostproc is configured to not do deinterlacing, the
6122	  interlace-mode in the src caps should be the same as the input caps.
6123	  https://bugzilla.gnome.org/show_bug.cgi?id=777395
6124
61252017-01-20 16:10:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6126
6127	* gst/vaapi/gstvaapisink.c:
6128	  vaapisink: fix gcc compiler warning
6129	  warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
6130
61312017-01-12 19:54:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6132
6133	* gst/vaapi/gstvaapisink.c:
6134	  vaapisink: don't use member variable outside lock
6135	  Thus a race condition segfault is avoided.
6136	  Original-patch-by: Matt Staples <staples255@gmail.com>
6137	  https://bugzilla.gnome.org/show_bug.cgi?id=777146
6138
61392017-01-18 17:20:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6140
6141	* gst/vaapi/gstvaapipluginbase.c:
6142	* gst/vaapi/gstvaapipostproc.c:
6143	  plugins: avoid log flood when activating pool
6144	  Every time a new buffer is allocated, the pool is activated. This
6145	  doesn't impact in performance since gst_buffer_pool_set_active()
6146	  checks the current state of the pool. Nonetheless it logs out a
6147	  message if the state is the same, and it floods the logging subsystem
6148	  if it is enabled.
6149	  To avoid this log flooding first the pool state is checked before
6150	  changing it.
6151
61522017-01-13 21:26:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6153
6154	* gst-libs/gst/vaapi/gstvaapidecoder.c:
6155	* gst-libs/gst/vaapi/gstvaapidecoder.h:
6156	* gst/vaapi/gstvaapidecode.c:
6157	* gst/vaapi/gstvaapidecode.h:
6158	  vaapidecode: update internal decoder sink caps
6159	  When a new sink caps arrive the internal decoder state is updated
6160	  and, if it is, request a downstream renegotiation.
6161	  Previously, when new caps arrived the whole decoder where destroyed
6162	  and recreated. Now, if the caps are compatible or has the same codec,
6163	  the internal decoder is kept, but a downstream renegotiation is
6164	  requested.
6165	  https://bugzilla.gnome.org/show_bug.cgi?id=776979
6166
61672017-01-12 16:33:13 +0200  Sebastian Dröge <sebastian@centricular.com>
6168
6169	* configure.ac:
6170	  Back to development
6171
6172=== release 1.11.1 ===
6173
61742017-01-12 16:27:12 +0200  Sebastian Dröge <sebastian@centricular.com>
6175
6176	* ChangeLog:
6177	* NEWS:
6178	* configure.ac:
6179	* gstreamer-vaapi.doap:
6180	  Release 1.11.1
6181
61822017-01-12 12:49:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6183
6184	* gst-libs/gst/vaapi/gstvaapiutils.c:
6185	  vaapi: bump ifdef to API 0.40.0 for log redirect
6186	  vaSetInfoCallback() is not released yet. It is going to appear in
6187	  VA-API 0.40.0
6188
61892017-01-12 13:45:29 +0200  Sebastian Dröge <sebastian@centricular.com>
6190
6191	* gst-libs/gst/vaapi/gstvaapiutils.c:
6192	  vaapiutils: Fix compilation with latest and previous libva releases
6193	  vaSetInfoCallback() was defined after 0.39.4 / 1.7.3, so check for
6194	  0.39.5 instead.
6195
61962017-01-11 16:04:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6197
6198	* gst-libs/gst/vaapi/gstvaapidisplay.c:
6199	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6200	* gst-libs/gst/vaapi/gstvaapiutils.c:
6201	* gst-libs/gst/vaapi/gstvaapiutils.h:
6202	  libs: display: redirect logging at initialize
6203	  Redirect libva's logs to GStreamer logging mechanism. This is
6204	  particularly useful when VA is initialized, because it always logs
6205	  out the drivers details.
6206	  In order to achieve this a new helper function was added as a wrapper
6207	  for the vaInitialize() function.
6208	  https://bugzilla.gnome.org/show_bug.cgi?id=777115
6209
62102017-01-10 15:15:31 +0900  Hyunjun Ko <zzoon@igalia.com>
6211
6212	* gst/vaapi/gstvaapipluginbase.c:
6213	  plugins: provide at least two buffers in sink pool
6214	  Adds two buffers as the default value of minimum buffer.
6215	  This would be used when creating and proposing vaapi bufferpool for
6216	  sink pad, hence the upstream element will keep, at least, these two
6217	  buffers.
6218	  https://bugzilla.gnome.org/show_bug.cgi?id=775203
6219	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6220
62212017-01-10 13:49:27 +0900  Hyunjun Ko <zzoon@igalia.com>
6222
6223	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6224	  libs: decoder: h264: don't update cloned attributes
6225	  If the frame is a cloned picture, its PTS comes from its parent
6226	  picture.  In addition, the base decoder doesn't set a valid PTS to
6227	  the frame corresponding to the cloned picture.
6228	  https://bugzilla.gnome.org/show_bug.cgi?id=774254
6229
62302017-01-09 19:25:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6231
6232	* gst/vaapi/gstvaapivideomemory.c:
6233	  vaapivideomemory: check for display
6234	  This patch fixes the check of display, rather than check for the
6235	  meta, which it is known it exists.
6236
62372017-01-09 16:23:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6238
6239	* gst/vaapi/gstvaapivideomemory.c:
6240	* gst/vaapi/gstvaapivideomemory.h:
6241	  vaapivideomemory: rename dmabuf allocator parameters
6242	  Rename the parameters 'vip' and 'flags' to 'alloc_info' and
6243	  'surface_alloc_flags' respectively. The purpose of this change is
6244	  to auto-document those parameters.
6245	  Also, aligned to this patch, the local 'alloc_info' variable was
6246	  renamed as 'surface_info', because it stores the possible surface's
6247	  video info, not the allocate one.
6248
62492017-01-09 16:18:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6250
6251	* gst/vaapi/gstvaapivideomemory.c:
6252	* gst/vaapi/gstvaapivideomemory.h:
6253	  vaapivideomemory: rename vip to alloc_info parameter
6254	  In order to auto-document the code, this patch renames the 'vip'
6255	  parameter in the functions related to gst_vaapi_video_allocator_new ()
6256	  to 'alloc_info', since it declares the allocation video info from
6257	  the vaapi buffer pool.
6258
62592017-01-09 16:08:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6260
6261	* gst/vaapi/gstvaapivideomemory.c:
6262	  vaapivideomemory: use GST_VIDEO_INFO_FORMAT_STRING()
6263	  Use the existing local macro GST_VIDEO_INFO_FORMAT_STRING() to get
6264	  the video format string.
6265
62662017-01-09 12:51:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6267
6268	* gst/vaapi/gstvaapivideomemory.c:
6269	  vaapivideomemory: unroll gst_vaapi_surface_new_with_format()
6270	  gst_vaapi_surface_new_with_format() is a wrapper for
6271	  gst_vaapi_surface_new_full (). In this case, the former is simpler
6272	  than the first. This patch changes that.
6273
62742017-01-04 19:23:06 +0900  Hyunjun Ko <zzoon@igalia.com>
6275
6276	* gst/vaapi/gstvaapipostproc.c:
6277	  vaapipostproc: notify if src pad caps changed
6278	  If src pad caps have changed, it needs to notify it downstream. In
6279	  addition, do not set passthrough if they have changed.
6280	  Otherwise, transform sometimes starts processing before caps change.
6281	  The passthrough value will be set in fixate later in this case.
6282	  https://bugzilla.gnome.org/show_bug.cgi?id=775204
6283
62842016-12-14 15:51:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6285
6286	* gst/vaapi/gstvaapidecodebin.c:
6287	  vaapidecodebin: capsfilter to optimize negotiation
6288	  Add a capsfilter forcing the caps
6289	  "video/x-raw(memory:VASurface), format=(string)NV12" between the
6290	  queue and the vaapipostproc so no renegotiation is required.
6291	  https://bugzilla.gnome.org/show_bug.cgi?id=776175
6292
62932016-12-21 17:38:07 +0900  Hyunjun Ko <zzoon@igalia.com>
6294
6295	* gst/vaapi/gstvaapivideomemory.c:
6296	  vaapivideomemory: fail surface/image configuration
6297	  To detect and handle errors during allocator_configure_surface_info()
6298	  and allocator_conigure_image_info().
6299	  https://bugzilla.gnome.org/show_bug.cgi?id=776084
6300	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6301
63022016-12-21 17:50:41 +0900  Hyunjun Ko <zzoon@igalia.com>
6303
6304	* gst/vaapi/gstvaapisink.c:
6305	  vaapisink: ensures raw caps at start()
6306	  Calls gst_vaapi_plugin_base_get_allowed_raw_caps() at start() to avoid
6307	  race conditions at get_caps(), especially with multiple src elements.
6308	  https://bugzilla.gnome.org/show_bug.cgi?id=776303
6309
63102016-12-09 14:51:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6311
6312	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6313	  libs: surface: fix error handling code style
6314
63152016-12-09 16:14:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6316
6317	* gst/vaapi/gstvaapivideomemory.c:
6318	  vaapivideomemory: add gst_video_info_update_from_surface()
6319	  With this function is possible to refactor and remove duplicated code
6320	  between dmabuf configuration and direct rendering/uploading
6321	  configuration.
6322
63232016-12-09 15:51:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6324
6325	* gst/vaapi/gstvaapivideomemory.c:
6326	  vaapivideomemory: no log object at initialization
6327	  When an instance of GstVaapiVideoAllocator fails at initializing, the
6328	  log message should not include the allocator's object, because it is
6329	  going to be unrefed.
6330
63312016-12-09 17:56:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6332
6333	* gst/vaapi/gstvaapidecode.c:
6334	  vaapidecode: lock stream when setting caps
6335
63362016-12-09 17:42:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6337
6338	* gst/vaapi/gstvaapidecode.c:
6339	  Revert "vaapidecode: implement negotiate() vmethod"
6340	  This reverts commit 3285121181295c544480fc6ba756845b16285d30.
6341	  videodecode's negotiate() vmethod is also called when events arrive,
6342	  but this would mean that the proper configuration of sink pad might
6343	  not be complete, thus we should not update the src pad.
6344	  Let's keep the old non-vmethod negotitate().
6345
63462016-12-07 16:52:35 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6347
6348	* gst/vaapi/gstvaapi.c:
6349	  Revert "encoders: demote to RANK_NONE since not fit for autoplugging yet"
6350	  This reverts commit f182b8be2ba05965e6d31a4d380d6563b9b53a77.
6351
63522016-12-01 18:57:10 +0900  Hyunjun Ko <zzoon@igalia.com>
6353
6354	* gst/vaapi/gstvaapiencode.c:
6355	* gst/vaapi/gstvaapiencode.h:
6356	  vaapiencode: get surface formats in get_caps()
6357	  Query for the supported surface formats in config at get_caps() vmethod.
6358	  https://bugzilla.gnome.org/show_bug.cgi?id=769266
6359	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6360
63612016-12-07 11:26:37 +0100  Hyunjun Ko <zzoon@igalia.com>
6362
6363	* gst-libs/gst/vaapi/gstvaapiencoder.c:
6364	* gst-libs/gst/vaapi/gstvaapiencoder.h:
6365	  libs: encoder: add gst_vaapi_encoder_get_surface_formats()
6366	  This method will return the valid surface formats in the current
6367	  config. If the are no VAConfig it is created with the information
6368	  available.
6369	  https://bugzilla.gnome.org/show_bug.cgi?id=769266
6370	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6371
63722016-12-07 11:10:42 +0100  Hyunjun Ko <zzoon@igalia.com>
6373
6374	* gst-libs/gst/vaapi/gstvaapiencoder.c:
6375	  libs: encoder: split set_context_info()
6376	  Split set_context_info() adding init_context_info() which only
6377	  initialises the GstVaapiContextInfo structure inside GstVaapiEncoder
6378	  required for VAConfig.
6379	  https://bugzilla.gnome.org/show_bug.cgi?id=769266
6380	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6381
63822016-12-02 09:30:52 +0900  Hyunjun Ko <zzoon@igalia.com>
6383
6384	* gst-libs/gst/vaapi/gstvaapicontext.c:
6385	  libs: context: skip VAContext if no frame size
6386	  If GstVaapiContextInfo has just initial information, without frame's
6387	  width and height, skip the creation of the VAContext, just keep the
6388	  VAConfig.
6389	  https://bugzilla.gnome.org/show_bug.cgi?id=769266
6390	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6391
63922016-12-02 09:28:07 +0900  Hyunjun Ko <zzoon@igalia.com>
6393
6394	* gst-libs/gst/vaapi/gstvaapicontext.c:
6395	  libs: context: split context_create()
6396	  Split the funcion context_create() into context_create() and
6397	  config_create().
6398	  Decoupling VAConfig and VAContext during context creation, we could
6399	  query the VAConfig for the supported surface's formats without creating
6400	  a VAContext.
6401	  https://bugzilla.gnome.org/show_bug.cgi?id=769266
6402
64032016-12-06 17:33:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6404
6405	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6406	  libs: drm: find render node in hybrid system
6407	  Originally the drm backend only tried to open the first render node
6408	  found. But in hybrid system this first render node might not support
6409	  VA-API (propietary Nvidia driver, for example).
6410	  This patch tries all the available nodes until a finding one with a
6411	  VA-API supported driver.
6412	  https://bugzilla.gnome.org/show_bug.cgi?id=774811
6413	  Original-patch-by: Stirling Westrup <swestrup@gmail.com> and
6414	  Reza Razavi <reza@userful.com>
6415
64162016-11-14 17:45:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6417
6418	* gst/vaapi/gstvaapivideomemory.c:
6419	  vaapivideomemory: refactor code for readability
6420	  Added the inlined function allocator_configure_pools() moving out code
6421	  from gst_vaapi_video_allocator_new() to make clear that it is a
6422	  post-initalization of the object.
6423
64242016-11-14 17:40:37 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6425
6426	* gst/vaapi/gstvaapivideomemory.c:
6427	  vaapivideomemory: log error if not VA image
6428	  Log an error message if the test image for surface downloading
6429	  cannot be allocated or mapped.
6430
64312016-11-14 17:33:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6432
6433	* gst/vaapi/gstvaapivideomemory.c:
6434	  vaapivideomemory: remove unused macros
6435	  These macros are not used. Let us remove them.
6436
64372016-11-11 19:45:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6438
6439	* gst/vaapi/gstvaapivideomemory.c:
6440	* gst/vaapi/gstvaapivideomemory.h:
6441	  vaapivideomemory: rename video for allocation_info
6442	  Since video_info stores the GstVideoInfo of the allocation caps,
6443	  it is clear if we rename it as allocation_info, to distinguish it
6444	  later from negotiation_info.
6445
64462016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
6447
6448	* gst/vaapi/gstvaapivideomemory.c:
6449	* gst/vaapi/gstvaapivideomemory.h:
6450	  vaapivideomemory: add real GstVaapiDmaBufAllocator
6451	  Instead of defining GstVaapiDmaBufAllocator as a hackish decorator of
6452	  GstDmaBufAllocator, now, since the expose of the GstDmaBufAllocator's
6453	  GType, GstVaapiDmaBufAllocator is a full feature GstAllocator inherited
6454	  from GstDmaBufAllocator.
6455	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
6456	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6457
64582016-10-19 15:30:09 +0100  Julien Isorce <j.isorce@samsung.com>
6459
6460	* gst/vaapi/gstvaapivideomemory.c:
6461	  vaapivideomemory: errors in gst_vaapi_dmabuf_allocator_new()
6462	  Add a helper function to initialize the gst_debug_vaapivideomemory,
6463	  to use it either by the GstVaapiVideoAllocatorClass or
6464	  GstVaapiDmabufAllocator (which is a decorator of GstDmaBufAllocator).
6465	  Later, log possible errors when calling gst_vaapi_dmabuf_allocator_new ()
6466	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
6467
64682016-11-29 15:14:32 +0900  Hyunjun Ko <zzoon@igalia.com>
6469
6470	* gst/vaapi/gstvaapiencode.c:
6471	  vaapiencode: release internal encoder at stop()
6472	  As the internal encoder is created at start(), let's release it at
6473	  stop() vmethod, to be consistent.
6474	  gst_vaapiencode_destroy() is called since it also resets the input and
6475	  output states, which is something that the base class does internally
6476	  after calling stop() vmethod.
6477	  https://bugzilla.gnome.org/show_bug.cgi?id=769266
6478	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6479
64802016-12-03 08:20:56 +0100  Edward Hervey <bilboed@bilboed.com>
6481
6482	* common:
6483	  Automatic update of common submodule
6484	  From f49c55e to 39ac2f5
6485
64862016-11-29 14:59:02 +0900  Hyunjun Ko <zzoon@igalia.com>
6487
6488	* gst/vaapi/gstvaapiencode.c:
6489	  vaapiencode: call ensure_encoder() at start()
6490	  Currently, specific encoder is created during set_format(). This might
6491	  lead to race condition when creating profiles with multiple encoders.
6492	  This patch moves ensure_encoder() call to start() vmethod to ensure
6493	  avoiding the race condition.
6494	  https://bugzilla.gnome.org/show_bug.cgi?id=773546
6495
64962016-11-21 19:29:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6497
6498	* gst/vaapi/gstvaapidecodebin.c:
6499	  vaapidecodebin: bring back dynamic configuration
6500	  In commit ca0c3fd6 we remove the dynamic configuration if the bin
6501	  because we assumed that the bin will be always static as it is
6502	  registered.
6503	  Nonetheless we were wrong, because it is possible to request, with a
6504	  property, to avoid the use of the post-processor.
6505	  Since we want to add a way to disable the post-processor through
6506	  environment variables, this remove feature is required again.
6507	  If the environment variable GST_VAAPI_DISABLE_VPP is defined the
6508	  postprocessor inside of the vaapidecodebin is disabled, then
6509	  vaapidecodebin is an alias of the old vaapidecode.
6510	  https://bugzilla.gnome.org/show_bug.cgi?id=775041
6511
65122016-11-21 18:25:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6513
6514	* gst/vaapi/gstvaapidecode.c:
6515	  vaapidecode: implement negotiate() vmethod
6516	  Instead of decorating the negotiate() method, let us override it,
6517	  so the stream is locked while called.
6518	  https://bugzilla.gnome.org/show_bug.cgi?id=775040
6519
65202016-11-26 11:27:26 +0000  Tim-Philipp Müller <tim@centricular.com>
6521
6522	* .gitmodules:
6523	  common: use https protocol for common submodule
6524	  https://bugzilla.gnome.org/show_bug.cgi?id=775110
6525
65262016-11-24 21:17:54 +0100  Dominique Leuenberger <dimstar@opensuse.org>
6527
6528	* gst-libs/gst/vaapi/Makefile.am:
6529	  build: add LIBVA_WAYLAND_CFLAGS to libgstvaapiegl
6530	  In case libva-wayland has its headers not installed in default
6531	  locations (like /usr/include), the build fails to include "wayland-client.h":
6532	  CC       libgstvaapi_egl_la-gstvaapiutils_egl.lo
6533	  In file included from gstvaapidisplay_wayland.h:27:0,
6534	  from gstvaapidisplay_egl.c:35:
6535	  /usr/include/va/va_wayland.h:31:28: fatal error: wayland-client.h: No such file or directory
6536	  #include <wayland-client.h>
6537	  As we already passed VA_CLAGS, /usr/include/va/va_wayland.h could be found, but it is
6538	  our fault not to instruct the system that we ALSO care for va_wayland. We correctly query
6539	  for libva-wayland.pc in configure and use this in other places as well. It is thus only
6540	  correct and consequent, to do it also at this spot.
6541	  https://bugzilla.gnome.org/show_bug.cgi?id=773946
6542
65432015-10-28 12:55:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6544
6545	* gst/vaapi/gstvaapivideocontext.c:
6546	  vaapivideocontext: log a message if no bus
6547	  Raise a warning if there is no bus when the element tries to post a
6548	  message.
6549
65502015-10-28 12:57:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6551
6552	* gst/vaapi/gstvaapisink.c:
6553	  vaapisink: create display at open()
6554	  Instead of creating the VA display before setting the bus to the
6555	  element, it is created when the element is opened.
6556	  Basically, this commit is a revert of
6557	  5e5d62cac79754ba60057fc2516135aad8d7de35
6558	  That was done when the GStreamer's context sharing was not mature
6559	  enough as now. There is no reason to keep this hack.
6560
65612016-11-04 18:04:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6562
6563	* gst/vaapi/gstvaapidecode.c:
6564	  vaapidecode: don't add video crop meta
6565	  Since the differentiation of negotiation caps and allocation caps,
6566	  there is no need to add a video crop meta with the negotiation caps.
6567	  Hence, removing it.
6568	  https://bugzilla.gnome.org/show_bug.cgi?id=773948
6569
65702015-03-19 21:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6571
6572	* gst/vaapi/gstvaapivideobuffer.c:
6573	* gst/vaapi/gstvaapivideometa.c:
6574	* gst/vaapi/gstvaapivideometa.h:
6575	  remove the video converter from vaapi buffer meta
6576	  Since all the video converter were deprecated in gstreamer-1.2, we don't need
6577	  to handle them anymore in the vaapi's buffer meta.
6578	  This patch removes its usage and the buffer meta's API for that.
6579	  https://bugzilla.gnome.org/show_bug.cgi?id=745728
6580
65812016-11-21 18:28:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6582
6583	* gst/vaapi/gstvaapipluginbase.c:
6584	  plugins: destroy source pad allocator and pool
6585	  First, deactivate source pad pool when the out caps change, and if so,
6586	  destroy texture map, the source pad allocator and pool only if the
6587	  new caps are different from the ones already set.
6588
65892016-11-21 19:17:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6590
6591	* gst/vaapi/gstvaapipluginbase.c:
6592	  plugins: don't destroy sink pad allocator
6593	  Don't destroy sink pad allocator at _set_caps() because it will be done at
6594	  ensure_sinkpad_buffer_pool() if it is required.
6595
65962016-11-21 18:27:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6597
6598	* gst/vaapi/gstvaapipluginbase.c:
6599	  plugins: first validate the out caps
6600	  When calling _set_caps() first validate the out caps before doing
6601	  anything else.
6602
66032016-11-21 18:42:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6604
6605	* gst/vaapi/gstvaapidecode.c:
6606	  vaapidecode: negotiate after destroying allocator
6607	  This is related with bug 758907 when no vaapipostproc is used (no
6608	  vaapidecodebin). In order to negotiate downstream we need to destroy
6609	  the source pad allocator, otherwise the same allocated buffers are
6610	  used, failing the mapping.
6611
66122016-11-21 16:35:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6613
6614	* gst/vaapi/gstvaapivideomemory.c:
6615	  vaapivideomemory: remove GST_VAAPI_TYPE_VIDEO_INFO
6616	  Remove redundant GST_VAAPI_TYPE_VIDEO_INFO, since it is a duplicate of
6617	  GST_TYPE_VIDEO_INFO created before gstreamer 1.6, where the boxed type
6618	  was created.
6619	  https://bugzilla.gnome.org/show_bug.cgi?id=774782
6620
66212016-11-21 12:51:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6622
6623	* gst/vaapi/gstvaapipluginbase.c:
6624	  plugins: update the src pad allocator video info
6625	  Update the size, stride and offset of the source pad allocator video
6626	  info, so the pool could set the correct GstVideoMeta
6627	  https://bugzilla.gnome.org/show_bug.cgi?id=774782
6628
66292016-11-21 12:36:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6630
6631	* gst/vaapi/gstvaapivideomemory.c:
6632	  vaapivideomemory: add missing documentation
6633	  https://bugzilla.gnome.org/show_bug.cgi?id=774782
6634
66352016-11-21 12:29:26 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6636
6637	* gst/vaapi/gstvaapipluginbase.c:
6638	  plugins: use early return without goto
6639	  https://bugzilla.gnome.org/show_bug.cgi?id=774782
6640
66412016-11-21 11:25:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6642
6643	* gst/vaapi/gstvaapipluginbase.c:
6644	* gst/vaapi/gstvaapivideomemory.c:
6645	* gst/vaapi/gstvaapivideomemory.h:
6646	  plugins: add allocator to allocation query
6647	  This patch adds the created allocator to the allocation query either
6648	  in decide_allocation() and propose_allocation() vmehtods.
6649	  With it, there's no need to set the modified allocator's size in the
6650	  pool configuration.
6651	  https://bugzilla.gnome.org/show_bug.cgi?id=774782
6652
66532016-10-19 15:15:01 +0100  Julien Isorce <j.isorce@samsung.com>
6654
6655	* gst/vaapi/gstvaapivideobufferpool.c:
6656	  vaapivideobufferpool: set correct buffer size
6657	  We should set the correct buffer size when we are configuring the pool,
6658	  otherwise the buffer will be discarded when it returns to the pool.
6659	  Indeed when the ref-count of a buffer reaches zero, its pool will queue
6660	  it back (and ref it) if, and only if, the buffer size matches the
6661	  configured buffer size on the pool.
6662	  This issue can be debugged with GST_DEBUG=*PERF*:6, see gstbufferpool.c
6663	  https://bugzilla.gnome.org/show_bug.cgi?id=774782
6664
66652016-11-10 13:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6666
6667	* gst/vaapi/gstvaapivideomemory.c:
6668	  vaapivideomemory: check for memory allocator
6669	  When calling gst_vaapi_video_memory_copy() the allocator of the memory
6670	  to copy should be allocated by the vaapi allocator.
6671	  This patch does this verification.
6672
66732016-11-10 13:25:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6674
6675	* gst/vaapi/gstvaapivideomemory.c:
6676	  vaapivideomemory: code style fixes
6677	  A cosmetic commit for enhance readability of the casts and method
6678	  preconditions.
6679
66802016-11-09 19:49:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6681
6682	* gst/vaapi/gstvaapivideomemory.c:
6683	  vaapivideomemory: unroll gst_vaapi_video_allocator_free()
6684	  Instead of having a gst_vaapi_video_memory_free() that is only going to
6685	  be called by gst_vaapi_video_allocator_free(), let's just remove the first
6686	  and merged into the second.
6687
66882016-11-09 19:29:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6689
6690	* gst/vaapi/gstvaapivideomemory.c:
6691	  vaapivideomemory: avoid virtual methods casting
6692	  Use the expected virtual method signatures for readability.
6693
66942016-11-09 18:58:20 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6695
6696	* gst/vaapi/gstvaapivideomemory.c:
6697	  vaapivideomemory: remove unimplemented methods
6698	  Remove unimplemented method for allocator mem_share() and mem_is_span().
6699
67002016-11-09 18:54:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6701
6702	* gst/vaapi/gstvaapivideomemory.c:
6703	  vaapivideomemory: fail if frame map can't get plane
6704	  If map() vmethod in GstVideMeta cannot get the plane data, return false,
6705	  thus the caller will not try to read invalid memory.
6706	  https://bugzilla.gnome.org/show_bug.cgi?id=774213
6707
67082016-11-09 18:39:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6709
6710	* gst/vaapi/gstvaapivideomemory.c:
6711	* gst/vaapi/gstvaapivideomemory.h:
6712	  vaapivideomemory: lock map and unmap operations
6713	  In order to avoid race condition when two threads call map/unmap the same
6714	  VA surface, this patch mutex these operations.
6715	  https://bugzilla.gnome.org/show_bug.cgi?id=774213
6716
67172016-11-09 17:37:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6718
6719	* gst/vaapi/gstvaapivideomemory.c:
6720	  vaapivideomemory: refactor vaapi memory unmapping
6721	  There were duplicated code in gst_video_meta_unmap_vaapi_memory() and
6722	  gst_vaapi_video_memory_unmap() when unmapping.
6723	  This patch refactors both methods adding the common function
6724	  unmap_vaapi_memory(). This also ensures, if direct rendering is enabled, it
6725	  is correctly reset.
6726	  Additionally, only when mapping flag has the WRITE bit, it set the image as
6727	  current, which was done in gst_video_meta_map_vaapi_memory() but no in
6728	  gst_vaapi_video_memory_map().
6729	  In order to make this, the mapping flags were required, so instead of
6730	  overloading mem_unmap() virtual function, mem_unmap_full() is overloaded.
6731	  https://bugzilla.gnome.org/show_bug.cgi?id=774213
6732
67332016-11-09 13:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6734
6735	* gst/vaapi/gstvaapivideomemory.c:
6736	  vaapivideomemory: refactor vaapi memory mapping
6737	  There were duplicated code in gst_video_meta_map_vaapi_memory() and
6738	  gst_vaapi_video_memory_map() when doing the READ and WRITE mapping.
6739	  This patch refactors both methods adding the common function
6740	  map_vaapi_memory().
6741	  Additionally, only when flag has the READ bit it calls
6742	  ensure_images_is_current(), which was done in
6743	  gst_video_meta_map_vaapi_memory() but no in
6744	  gst_vaapi_video_memory_map().
6745	  https://bugzilla.gnome.org/show_bug.cgi?id=772151
6746
67472016-10-27 18:22:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6748
6749	* gst/vaapi/gstvaapidecode.c:
6750	  vaapidecode: unref allowed_sinkpad_caps at close()
6751	  The variable member allowed_sinkpad_caps is constructed querying the
6752	  current VA display. Bearing that in mind, the variable shall be freed
6753	  when the VA display changes or is removed.
6754	  This patch moves the freeing of allowed_sinkpad_caps to close(), when
6755	  the VA display is freed.
6756
67572016-11-11 11:40:09 +0900  Hyunjun Ko <zzoon@igalia.com>
6758
6759	* gst/vaapi/gstvaapisink.c:
6760	  vaapisink: finish event thread at stop()
6761	  The thread that handles window's events should be finished during
6762	  pipeline's shutdown, otherwise it will remain alive during pipeline
6763	  re-activation, leading to unexpected problems.
6764	  This patch fixes failures of intensive_state_change scenario of
6765	  gst-validate
6766	  https://bugzilla.gnome.org/show_bug.cgi?id=774241
6767
67682016-11-08 09:35:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6769
6770	* gst/vaapi/gstvaapipostproc.c:
6771	  vaapipostproc: enhance debug message
6772	  "gst_pad_push" is not a good description of the event.
6773
67742016-11-08 10:05:32 +0900  Hyunjun Ko <zzoon@igalia.com>
6775
6776	* gst/vaapi/gstvaapipostproc.c:
6777	  postproc: honor gst_pad_push() return value
6778	  Returning GST_FLOW_ERROR always when gst_pad_push fails might lead to
6779	  deadlock during seek.
6780	  This patch returns the same error of gst_pad_push() and log out the
6781	  return value.
6782	  https://bugzilla.gnome.org/show_bug.cgi?id=774030
6783
67842016-11-04 16:26:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6785
6786	* gst/vaapi/gstvaapidecode.c:
6787	  vaapidecode: guard GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS
6788	  In commit 6d11a00 were introduced a regression when gstreamer-vaapi is
6789	  compiled with out EGL/GLX support: it shall not support
6790	  GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
6791	  This patch guards the inclusion of GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS in the
6792	  allowed src caps for vaapedecode if EGL/GLX.
6793
67942016-11-04 12:55:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6795
6796	* gst/vaapi/gstvaapivideomemory.c:
6797	  vaapivideomemory: increment map counter only if succeeded
6798	  Previously the frame map counter increased independently if the map succeeded
6799	  or not. This leaded to critical messages and crashes if the frame was unable
6800	  to be mapped, but the counter increased.
6801	  This patch increases the map counter only if the map operation occurred.
6802	  https://bugzilla.gnome.org/show_bug.cgi?id=773939
6803
68042016-11-03 17:30:46 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6805
6806	* gst/vaapi/gstvaapipluginbase.c:
6807	  plugins: set negotiation caps in src allocator
6808	  When the allocator is created, it stores the allocation caps. But sometimes
6809	  the "allocation caps" may be different from the "negotiation caps".
6810	  In this case, the allocator should store the negotiation caps since they
6811	  are the ones used for frame mapping with GstVideoMeta.
6812	  When vaapispostproc is used, this is not a problem since the element is assume
6813	  to resize. But when using a vaapi decoder only, with a software renderer, it
6814	  fails in this case.
6815	  https://bugzilla.gnome.org/show_bug.cgi?id=773323
6816
68172016-07-19 16:40:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6818
6819	* gst/vaapi/gstvaapidecode.c:
6820	* gst/vaapi/gstvaapidecode.h:
6821	  vaapidecode: generate source pad caps
6822	  Just as vaapipostproc, VA decoder's context can be queried to get the possible
6823	  raw formats, so, the src caps can negotiate the exact caps that the context
6824	  supports.
6825
68262016-02-25 18:57:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6827
6828	* gst-libs/gst/vaapi/gstvaapidecoder.c:
6829	* gst-libs/gst/vaapi/gstvaapidecoder.h:
6830	  libs: decoder: add _get_surface_formats()
6831	  This function exposes the available formats of the surfaces in the the current
6832	  context to the plugins.
6833
68342016-02-18 19:32:58 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6835
6836	* gst-libs/gst/vaapi/gstvaapicontext.c:
6837	* gst-libs/gst/vaapi/gstvaapicontext.h:
6838	  libs: context: ensure context formats
6839	  This patch ensures to get the formats, as filter does, available in the
6840	  decoder / encoder context.
6841	  The context fills up the array as soon it is created, otherwise the pipeline
6842	  could get stalled (perhaps this is a bug in my HSW backend).
6843	  https://bugzilla.gnome.org/show_bug.cgi?id=752958
6844
68452016-02-18 19:20:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6846
6847	* gst-libs/gst/vaapi/gstvaapifilter.c:
6848	* gst-libs/gst/vaapi/gstvaapiutils_core.c:
6849	* gst-libs/gst/vaapi/gstvaapiutils_core.h:
6850	  libs: move get_surface_formats to utils_core
6851	  The query of all the supported formats for a VA config were only used by the
6852	  postprocessor (vaapifilter). But, in order to enable the vaapidecoder to
6853	  negotiate a suitable raw format with downstream, we need to query these
6854	  formats against the decoder's config.
6855	  This patch is the first step: moves the code in filter's ensure_image() to a
6856	  generic gst_vaapi_get_surface_formats() in vaapiutils_core, so it can be
6857	  shared later by the decoder.
6858	  https://bugzilla.gnome.org/show_bug.cgi?id=752958
6859
68602016-07-19 18:56:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6861
6862	* gst/vaapi/gstvaapipluginbase.c:
6863	  plugins: remove set_sinkpad_dmabuf_allocator()
6864	  Since when the sink pad allocator is created, it is decided if the required
6865	  one is vaapi allocator or dmabuf allocator, there is no need to force its set
6866	  again.
6867
68682016-10-27 11:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6869
6870	* gst/vaapi/gstvaapipluginbase.c:
6871	  plugins: ensure display when getting raw caps
6872	  When running gst-discoverer-1.0, in certain media, vaapipostroc is stopped
6873	  meanwhile it is transforming caps. The problem is that stop() calls
6874	  gst_vaapi_plugin_base_close(), which nullifies the element's va display, but
6875	  the va display is used in tranform_caps() when it is extracting the possible
6876	  format conversions. This display disappearing generates warning messages.
6877	  This patch holds a local reference of va display at ensure_allowed_raw_caps()
6878	  hence it doesn't go away meanwhile it is used, even if the
6879	  gst_vaapi_plugin_base_close() is called in other thread.
6880	  https://bugzilla.gnome.org/show_bug.cgi?id=773593
6881
68822016-11-03 12:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6883
6884	* gst/vaapi/gstvaapiencode_h264.c:
6885	* gst/vaapi/gstvaapiencode_h265.c:
6886	  plugins: fix code style for errors
6887
68882016-10-19 19:04:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6889
6890	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
6891	* gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
6892	* gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
6893	* gst-libs/gst/vaapi/gstvaapicontext.c:
6894	* gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
6895	* gst-libs/gst/vaapi/gstvaapidecoder.c:
6896	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
6897	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6898	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6899	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
6900	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
6901	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
6902	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
6903	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6904	* gst-libs/gst/vaapi/gstvaapidisplay.c:
6905	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
6906	* gst-libs/gst/vaapi/gstvaapiencoder.c:
6907	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6908	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6909	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
6910	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
6911	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
6912	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
6913	* gst-libs/gst/vaapi/gstvaapifilter.c:
6914	* gst-libs/gst/vaapi/gstvaapiimage.c:
6915	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
6916	* gst-libs/gst/vaapi/gstvaapiparser_frame.c:
6917	* gst-libs/gst/vaapi/gstvaapipixmap.c:
6918	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
6919	* gst-libs/gst/vaapi/gstvaapisurface.c:
6920	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
6921	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
6922	* gst-libs/gst/vaapi/gstvaapitexture.c:
6923	* gst-libs/gst/vaapi/gstvaapiutils.c:
6924	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
6925	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
6926	* gst-libs/gst/vaapi/gstvaapiwindow.c:
6927	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
6928	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6929	  libs: fix code style for errors
6930
69312016-11-03 09:31:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6932
6933	* gst/vaapi/gstvaapipluginbase.c:
6934	* gst/vaapi/gstvaapivideocontext.c:
6935	  plugins: update GstGL deprecated symbol
6936	  GST_GL_TYPE_CONTEXT was deprecated. Now it is GST_TYPE_GL_CONTEXT.
6937
69382016-10-21 11:48:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6939
6940	* gst/vaapi/gstvaapipluginbase.c:
6941	  plugins: direct render when raw video
6942	  Enable the direct rendering with linear surfaces if the negotiated src caps
6943	  are video/x-raw without features.
6944	  Pass also the caps, since they are needed to know the requested caps features.
6945
69462016-10-24 20:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6947
6948	* gst/vaapi/gstvaapipluginbase.c:
6949	  plugins: move src allocator error to instantiator
6950	  Just as we did in ensure_sinkpad_allocator(), let's move the error message
6951	  into the ensure_srcpad_allocator() from the caller,
6952	  gst_vaapi_plugin_base_decide_allocation()
6953
69542016-10-20 19:37:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6955
6956	* gst/vaapi/gstvaapipluginbase.c:
6957	  plugins: enable direct upload if raw video
6958	  Enable the direct upload with linear surfaces if the negotiated sink caps are
6959	  video/x-raw without features.
6960
69612016-10-21 11:21:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6962
6963	* gst/vaapi/gstvaapipluginutil.c:
6964	* gst/vaapi/gstvaapipluginutil.h:
6965	  pluginutil: add gst_caps_is_video_raw()
6966
69672016-10-24 19:25:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6968
6969	* gst/vaapi/gstvaapipluginbase.c:
6970	  plugins: receive caps in ensure_sinkpad_allocator()
6971	  Instead of receiving the GstVideoInfo structure as parameter, get the original
6972	  GstCaps from ensure_sinkpad_buffer_pool(), in this way we could decide better
6973	  which allocator instantiate.
6974
69752016-10-20 19:31:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6976
6977	* gst/vaapi/gstvaapivideomemory.c:
6978	  vaapivideomemory: destroy derived image at unmap
6979	  If the allocator was configured to use direct upload or rendering, the
6980	  generated derived image created at mapping needs to be destroyed after
6981	  unmapping, because, in order to process the surface, it should not be marked
6982	  as "busy" by the driver.
6983
69842016-10-21 11:57:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6985
6986	* gst/vaapi/gstvaapivideomemory.c:
6987	  vaapivideomemory: enhance logs for direct modes
6988	  Print, conditionally, only the enabled direct mode.
6989
69902016-10-20 17:02:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6991
6992	* gst/vaapi/gstvaapivideomemory.c:
6993	* gst/vaapi/gstvaapivideomemory.h:
6994	  vaapivideomemory: add direct upload flag
6995	  Adds the direct-upload flag in the GstVaapiVideoAllocator and
6996	  GstVaapiVideoMemory.
6997	  It still doesn't apply any functional change.
6998
69992016-10-20 16:49:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7000
7001	* gst/vaapi/gstvaapipluginbase.c:
7002	* gst/vaapi/gstvaapivideomemory.c:
7003	* gst/vaapi/gstvaapivideomemory.h:
7004	  vaapivideomemory: set direct rendering at run-time
7005	  The way to experiment with the direct rendering is through and internal
7006	  compiler pre-processor flag.
7007	  The current change set enables a way to specified at run-time, as a flag
7008	  passed to the allocator at instanciation time.
7009
70102016-10-20 18:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7011
7012	* gst/vaapi/gstvaapivideomemory.c:
7013	  vaapivideomemory: log in perf category when copy
7014	  Log in performance category when the derive image handling fails, falling back
7015	  to memory copy.
7016
70172016-10-20 16:31:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7018
7019	* gst/vaapi/gstvaapivideomemory.c:
7020	  vaapivideomemory: error log is derive image fails
7021	  Instead of a silently failure of the derive image, this patch log an error
7022	  message according to the failure.
7023
70242016-10-20 12:52:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7025
7026	* gst/vaapi/gstvaapivideomemory.c:
7027	  vaapivideomemory: store surface alloc flags in qdata
7028	  For sake of consistency, we should add the requested surface allocation flags
7029	  to the object's qdata structure.
7030
70312016-10-20 12:22:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7032
7033	* gst/vaapi/gstvaapivideomemory.c:
7034	  vaapivideomemory: category init when object define
7035	  Move the Gstreamer debug category initialize to the GObject definition.
7036
70372016-11-03 08:31:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7038
7039	* gst-libs/gst/vaapi/gstvaapitexturemap.c:
7040	  libs: vaapitexturemap: trivial code-style fix
7041
70422016-11-02 20:01:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7043
7044	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7045	  libs: display: egl: avoid recreate native display
7046	  Instead of passing the native descriptor of the display, just pass the received
7047	  GstVaapiDisplay and reuse it.
7048
70492016-11-02 15:38:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7050
7051	* gst/vaapi/gstvaapipluginbase.c:
7052	  plugins: log the GstVaapiDisplay name
7053	  Now that GstVaapiDisplay is descendant of GstObject, it has a human-friendly
7054	  name. Log it instead of the memory address.
7055
70562016-11-02 18:37:00 +0900  Hyunjun Ko <zzoon@igalia.com>
7057
7058	* gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
7059	  libs: window: egl: pass native va display
7060	  When creating a GstVaapiWindowEGL, it also creates native window by its own
7061	  native display. It should pass the native display, either X11 or Wayland.
7062	  https://bugzilla.gnome.org/show_bug.cgi?id=768266
7063
70642016-10-13 12:53:17 +0900  Hyunjun Ko <zzoon@igalia.com>
7065
7066	* gst-libs/gst/vaapi/gstvaapidebug.h:
7067	* gst-libs/gst/vaapi/gstvaapidisplay.c:
7068	* gst-libs/gst/vaapi/gstvaapidisplay.h:
7069	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
7070	* gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
7071	* gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
7072	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7073	* gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
7074	* gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
7075	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
7076	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
7077	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
7078	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
7079	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
7080	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
7081	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
7082	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
7083	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
7084	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
7085	* gst-libs/gst/vaapi/gstvaapitexture_egl.c:
7086	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7087	* gst-libs/gst/vaapi/gstvaapiutils_egl.h:
7088	* gst/vaapi/gstvaapivideocontext.c:
7089	  libs: display: GstVaapiDisplay as GstObject descendant
7090	  This patch is to change the inheritance of GstVaapiDisplay to GstObject,
7091	  instead of GstVaapiMiniObject. In this way we can use all the available
7092	  infrastructure for GObject/GstObject such as GstTracer, GIR, etc.
7093	  In addition, a new debug category for GstVaapiDisplay is created to make it
7094	  easier to trace debug messages. It is named "vaapidisplay" and it transverse
7095	  all the VA display backends (DRM, GLX, EGL, Wayland, ...)
7096	  This patch is a step forward to expose GstVaapiDisplay for users in a future
7097	  library.
7098	  https://bugzilla.gnome.org/show_bug.cgi?id=768266
7099	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7100
7101=== release 1.11.0 ===
7102
71032016-11-01 18:54:54 +0200  Sebastian Dröge <sebastian@centricular.com>
7104
7105	* configure.ac:
7106	  Back to development
7107
7108=== release 1.10.0 ===
7109
71102016-11-01 18:19:32 +0200  Sebastian Dröge <sebastian@centricular.com>
7111
7112	* ChangeLog:
7113	* NEWS:
7114	* configure.ac:
7115	* gstreamer-vaapi.doap:
7116	  Release 1.10.0
7117
71182016-10-27 17:13:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7119
7120	* gst/vaapi/gstvaapidecodebin.c:
7121	  vaapidecodebin: resurrect disable-vpp property
7122	  https://bugzilla.gnome.org/show_bug.cgi?id=773589
7123
71242016-10-27 16:32:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7125
7126	* gst/vaapi/gstvaapidecodebin.c:
7127	  vaapidecodebin: name the internal queue
7128	  https://bugzilla.gnome.org/show_bug.cgi?id=773589
7129
71302016-10-27 16:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7131
7132	* gst/vaapi/gstvaapidecodebin.c:
7133	* gst/vaapi/gstvaapidecodebin.h:
7134	  vaapidecodebin: remove unused variables
7135	  Since vaapipostproc is only registered if the driver supports it, all the
7136	  support for dynamic loading were removed. Though some leftovers remained.
7137	  https://bugzilla.gnome.org/show_bug.cgi?id=773589
7138
71392016-10-27 12:53:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7140
7141	* docs/plugins/Makefile.am:
7142	* docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
7143	* docs/plugins/running.xml:
7144	  docs: document environment variables
7145	  https://bugzilla.gnome.org/show_bug.cgi?id=773544
7146
71472016-10-27 12:31:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7148
7149	* docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
7150	* docs/plugins/gstreamer-vaapi-plugins-sections.txt:
7151	* gst/vaapi/Makefile.am:
7152	* gst/vaapi/gstvaapidecode.c:
7153	* gst/vaapi/gstvaapidecodebin.c:
7154	* gst/vaapi/gstvaapidecodedoc.c:
7155	  docs: replace vaapidecode with each codec
7156	  In the spirit of the codec split, this patch removes the documentation of
7157	  vaapidecode and adds a page per each possible decoder.
7158	  Nonetheless, only those available in the compilation system are going to be
7159	  instrospected, because the rest are not registered.
7160
71612016-10-27 11:06:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7162
7163	* gst/vaapi/gstvaapipluginutil.c:
7164	* gst/vaapi/gstvaapivideobuffer.c:
7165	* gst/vaapi/gstvaapivideometa.c:
7166	  docs: add missing long descriptions
7167
71682016-10-25 14:32:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7169
7170	* gst/vaapi/gstvaapipostproc.c:
7171	  vaapipostproc: use GST_*_OBJECT when possible
7172	  Since we can have several vaapipostproc operating in a pipeline, it is useful
7173	  to know which one is generating the logging message.
7174	  https://bugzilla.gnome.org/show_bug.cgi?id=773497
7175
71762016-07-19 17:00:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7177
7178	* gst/vaapi/gstvaapidecode.c:
7179	* gst/vaapi/gstvaapidecode.h:
7180	  vaapidecode: rename member to allowed_sinkpad_caps
7181	  vaapidecode has a member named allowed_caps, but this name is not enough
7182	  explicit. This patch renames allowed_caps to allowed_sinkpad_caps.
7183	  No functional changes were included.
7184	  https://bugzilla.gnome.org/show_bug.cgi?id=773497
7185
71862016-10-20 18:12:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7187
7188	* gst/vaapi/gstvaapiencode_h264.c:
7189	* gst/vaapi/gstvaapiencode_h265.c:
7190	* gst/vaapi/gstvaapisink.c:
7191	* gst/vaapi/gstvaapivideomemory.c:
7192	* gst/vaapi/gstvaapivideometa.c:
7193	* gst/vaapi/gstvaapivideometa_texture.c:
7194	  plugins: fix code style for errors
7195	  https://bugzilla.gnome.org/show_bug.cgi?id=773497
7196
71972016-10-20 17:01:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7198
7199	* gst/vaapi/gstvaapivideomemory.c:
7200	  vaapivideomemory: comment style
7201	  https://bugzilla.gnome.org/show_bug.cgi?id=773497
7202
72032016-10-20 11:19:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7204
7205	* gst/vaapi/gstvaapivideomemory.c:
7206	* gst/vaapi/gstvaapivideomemory.h:
7207	  vaapivideomemory: rename input parameter
7208	  In order to clarify the use of flag as input parameter, it is renamed to
7209	  surface_alloc_flag, since it is used when creating a VA surface with certain
7210	  properties.
7211	  https://bugzilla.gnome.org/show_bug.cgi?id=773497
7212
72132016-10-25 19:22:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7214
7215	* gst/vaapi/gstvaapidecode.c:
7216	  vaapidecode: rename element description
7217	  So encoders and decoders have similar descriptions.
7218	  https://bugzilla.gnome.org/show_bug.cgi?id=773497
7219
72202016-08-02 11:32:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7221
7222	* gst/vaapi/gstvaapiencode_h264.c:
7223	* gst/vaapi/gstvaapiencode_h265.c:
7224	  vaapiencode: h264, h265: rename codec name
7225	  So encoder and decoders have the same codec name.
7226	  https://bugzilla.gnome.org/show_bug.cgi?id=773497
7227
72282016-07-29 15:17:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7229
7230	* gst/vaapi/gstvaapipluginbase.c:
7231	  plugins: simplify code
7232	  Merge two lines of variable declarations.
7233	  https://bugzilla.gnome.org/show_bug.cgi?id=773497
7234
72352016-10-07 18:46:22 +0900  Hyunjun Ko <zzoon@igalia.com>
7236
7237	* gst-libs/gst/vaapi/gstvaapidecoder.c:
7238	* gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
7239	* gst-libs/gst/vaapi/gstvaapitexture_priv.h:
7240	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
7241	  libs: minor correction for logical consistency
7242	  GstVaapiDecode is a descendant of GstVaapiMiniObject, so, thought we should
7243	  use its methods, even though it doesn't change functionality.
7244	  GstVaapiPixmap, GstVaapiTexture and GstVaapiWindow are descendant of
7245	  GstVaapiObject, hence its methods shall be used.
7246	  https://bugzilla.gnome.org/show_bug.cgi?id=772554
7247
72482016-10-19 15:39:54 +0100  Julien Isorce <j.isorce@samsung.com>
7249
7250	* gst/vaapi/gstvaapivideomemory.c:
7251	  vaapivideomemory: add explanation about the call 'dup (dmabuf_fd)'
7252	  In short GstFdMemory is configured to call close when using
7253	  GstDmabufMemory.
7254	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
7255
72562016-09-02 16:42:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7257
7258	* configure.ac:
7259	* gst-libs/gst/vaapi/Makefile.am:
7260	  build: clean up the dlopen usage
7261
72622016-10-08 14:33:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7263
7264	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7265	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7266	  encoder: h264,h265: fix regression in offset count
7267	  In commit dc35dafa a bug was introduced because I assumed that
7268	  GST_CLOCK_TIME_NONE is zero when is -1. This patch fixes that mistake.
7269	  https://bugzilla.gnome.org/show_bug.cgi?id=772259
7270
72712016-10-18 17:02:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7272
7273	* README:
7274	  docs: update README
7275
72762016-09-27 17:29:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7277
7278	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7279	  libs: display: egl: remove unused header include
7280	  The header gmodule.h is not used since the library dynamic loading for EGL
7281	  display was removed.
7282	  https://bugzilla.gnome.org/show_bug.cgi?id=772599
7283
7284=== release 1.9.90 ===
7285
72862016-09-30 13:05:20 +0300  Sebastian Dröge <sebastian@centricular.com>
7287
7288	* ChangeLog:
7289	* NEWS:
7290	* common:
7291	* configure.ac:
7292	* gstreamer-vaapi.doap:
7293	  Release 1.9.90
7294
72952016-03-04 16:35:11 +0900  Vineeth TM <vineeth.tm@samsung.com>
7296
7297	* gst/vaapi/gstvaapidecode.c:
7298	* gst/vaapi/gstvaapidecodebin.c:
7299	* gst/vaapi/gstvaapiencode_h264.c:
7300	* gst/vaapi/gstvaapiencode_h265.c:
7301	* gst/vaapi/gstvaapiencode_jpeg.c:
7302	* gst/vaapi/gstvaapiencode_mpeg2.c:
7303	* gst/vaapi/gstvaapiencode_vp8.c:
7304	* gst/vaapi/gstvaapipostproc.c:
7305	* gst/vaapi/gstvaapisink.c:
7306	  vaapi: use new gst_element_class_add_static_pad_template()
7307	  https://bugzilla.gnome.org/show_bug.cgi?id=763083
7308	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7309
73102016-09-22 16:34:48 +0900  Hyunjun Ko <zzoon@igalia.com>
7311
7312	* gst/vaapi/gstvaapipluginbase.c:
7313	  plugins: reset textures at negotiation/shutdown
7314	  When caps reconfiguration is called, the new downstream frame size might be
7315	  different. Thus, if the downstream caps change,the display's texture map is
7316	  reset.
7317	  In addition, during pipeline shutdown, textures in texture map have to be
7318	  released, since each one have a reference to the GstVaapiDisplay object, which
7319	  is a dangerous circular reference.
7320	  https://bugzilla.gnome.org/show_bug.cgi?id=769293
7321	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7322
73232016-09-22 16:34:38 +0900  Hyunjun Ko <zzoon@igalia.com>
7324
7325	* gst-libs/gst/vaapi/gstvaapidisplay.c:
7326	* gst-libs/gst/vaapi/gstvaapidisplay.h:
7327	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7328	* gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
7329	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
7330	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
7331	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
7332	* gst/vaapi/gstvaapivideometa_texture.c:
7333	  libs: display{egl,glx}: cache GstVaapiTextures
7334	  instances when created and reuse
7335	  This patch improves performance when glimagesink uploads a GL texture.
7336	  It caches the GStVaapiTexture instances in GstVaapiDisplay{GLX,EGL}, using an
7337	  instance of GstVaapiTextureMap, so our internal texture structure can be found
7338	  by matching the GL texture id for each frame upload process, avoiding the
7339	  internal texture structure creation and its following destruction.
7340	  https://bugzilla.gnome.org/show_bug.cgi?id=769293
7341	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7342
73432016-09-22 16:33:06 +0900  Hyunjun Ko <zzoon@igalia.com>
7344
7345	* gst-libs/gst/vaapi/Makefile.am:
7346	* gst-libs/gst/vaapi/gstvaapitexturemap.c:
7347	* gst-libs/gst/vaapi/gstvaapitexturemap.h:
7348	  libs: vaapitexturemap: implement GstVaapiTextureMap
7349	  Implement GstVaapiTextureMap object, which caches VAAPI textures, so them can be
7350	  reused. Internally it is a hash table.
7351	  Note that it is GstObject based rather than GstVaapiObject, as part of the future
7352	  converstion to GstObject of most of the code.
7353	  https://bugzilla.gnome.org/show_bug.cgi?id=769293
7354	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7355
73562016-09-21 09:55:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7357
7358	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
7359	  encoder: vp8: Increase the allocation size for coded buffer
7360	  We are not getting enough compression for some streams and
7361	  encoded frame end up with more size than allocated.
7362	  Assuming a compression ratio of 4, which should be good enough
7363	  for holding the frames.
7364	  https://bugzilla.gnome.org/show_bug.cgi?id=771528
7365
73662016-09-21 09:52:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7367
7368	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
7369	  encoder: vp9: Fix refresh frame flag setting
7370	  While doing the mode-1 referece picture selection,
7371	  the circular buffer logic was not correctly setting the
7372	  refresh frame flags as per VP9 spec.
7373	  Make sure refresh_flag[0] get updated correclty after
7374	  each cycle of GST_VP9_REF_FRAMES.
7375	  https://bugzilla.gnome.org/show_bug.cgi?id=771507
7376
73772016-09-14 18:42:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7378
7379	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7380	  vaapidecode: codec_data minimal size is 7
7381	  When the format of a H.264 stream is AVC3, the SPS and PPS are inside the
7382	  stream, not in the codec_data, so the size of codec_data might be 7.
7383	  This patch reduces the minimal size of the codec_data buffer from 8 to 7.
7384	  https://bugzilla.gnome.org/show_bug.cgi?id=771441
7385
73862016-09-14 16:29:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7387
7388	* gst/vaapi/gstvaapidecode.c:
7389	  vaapidecode: reset decoder hard when set_format()
7390	  set_format() is called by upstream when the stream capabilites has changed.
7391	  Before, if the new stream is compatible with the old one the VA decoder was
7392	  not destroyed. Nonetheless, with this behavoir, the VA decoder ignores
7393	  when the upstreamer parsers gets more details of the stream, such as the
7394	  framerate. Hence, when the src caps are negotiates, the further sink caps
7395	  updates are ignored.
7396	  This patch forces the VA decoder destroying and recreation when set_format()
7397	  is called.
7398	  https://bugzilla.gnome.org/show_bug.cgi?id=770921
7399
74002016-09-14 11:31:39 +0200  Sebastian Dröge <sebastian@centricular.com>
7401
7402	* configure.ac:
7403	  configure: Depend on gstreamer 1.9.2.1
7404
74052016-09-09 12:03:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7406
7407	* gst/vaapi/gstvaapivideomemory.c:
7408	  Revert "vaapivideomemory: load VA Image when mapping to write"
7409	  This reverts commit c67edea4aba35f16d9e97c78a0b49ad1b590b112.
7410
74112016-09-10 20:52:21 +1000  Jan Schmidt <jan@centricular.com>
7412
7413	* common:
7414	  Automatic update of common submodule
7415	  From b18d820 to f980fd9
7416
74172016-09-10 09:58:25 +1000  Jan Schmidt <jan@centricular.com>
7418
7419	* common:
7420	  Automatic update of common submodule
7421	  From f49c55e to b18d820
7422
74232016-09-08 16:16:09 +0900  Hyunjun Ko <zzoon@igalia.com>
7424
7425	* gst/vaapi/gstvaapipluginbase.c:
7426	  plugins: set allocator's image size to sinkpad bufferpool
7427	  Otherwise the buffer is always ditched by the bufferpool, losing performance.
7428	  https://bugzilla.gnome.org/show_bug.cgi?id=771035
7429
74302016-09-07 17:34:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7431
7432	* gst-libs/gst/vaapi/gstvaapisurface.c:
7433	  libs: surface: ensure composite overlay is not bigger
7434	  Ensure the composition overlay rectangle (subtitles) is not bigger than
7435	  the surface where it is going to be composited and rendered.
7436	  https://bugzilla.gnome.org/show_bug.cgi?id=766978
7437
74382016-09-07 17:51:23 +0900  Hyunjun Ko <zzoon@igalia.com>
7439
7440	* gst/vaapi/gstvaapivideomemory.c:
7441	  vaapivideomemory: load VA Image when mapping to write
7442	  When calling gst_video_frame_map() with GST_MAP_WRITE flag, it doesn't call
7443	  ensure_image_is_current(), which means it doesn't guarentee VAImage is valid
7444	  in this case.
7445	  https://bugzilla.gnome.org/show_bug.cgi?id=766978
7446
74472016-09-06 12:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7448
7449	* gst/vaapi/gstvaapidecode.c:
7450	  vaapidecode: merge vc1 and wmv3 elements
7451	  This patch merges vaapivc1dec and vaapiwmv3dec into a single
7452	  vaapivc1dec. Also, removed the WMVA format, since it is not
7453	  supported by libva.
7454	  https://bugzilla.gnome.org/show_bug.cgi?id=734093
7455
74562016-09-06 11:19:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7457
7458	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7459	  decoder: vc1: fails only on advanced profile
7460	  In commit 2eb4394 the frame coding mode was verified for progressive
7461	  regardless the profile. But the FCM is only valid in the advanced
7462	  profile. This patch checks for the advanced profile before verifying FCM for
7463	  progressive.
7464	  https://bugzilla.gnome.org/show_bug.cgi?id=769250
7465
74662016-09-01 12:39:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7467
7468	* gst/vaapi/gstvaapi.c:
7469	  vaapi: DISPLAY envvar as dependency
7470	  In a multiple video cards system, a X11 environment may have different VA
7471	  capabilities. This patch tracks the DISPLAY environment variable to
7472	  invalidates the GStreamer features cache. Also tracks WAYLAND_DISPLAY.
7473	  https://bugzilla.gnome.org/show_bug.cgi?id=770357
7474
74752016-08-26 14:55:17 -0700  Scott D Phillips <scott.d.phillips@intel.com>
7476
7477	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7478	  decoder: vc1: Fail only on actual interlaced frames
7479	  In the earlier patch:
7480	  f31d9f3 decoder: vc1: Print error on interlaced content
7481	  Decoding would error out if the interlace flag was set in the
7482	  sequence bdu. This isn't quite right because a video can have this
7483	  flag set and yet not have any interlaced pictures.
7484	  Here instead we error out when either parsing a field bdu or
7485	  decoding a frame bdu which has fcm set to anything other than
7486	  progressive.
7487	  Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
7488	  https://bugzilla.gnome.org/show_bug.cgi?id=769250
7489
74902016-09-01 12:34:48 +0300  Sebastian Dröge <sebastian@centricular.com>
7491
7492	* configure.ac:
7493	  Back to development
7494
7495=== release 1.9.2 ===
7496
74972016-09-01 12:34:38 +0300  Sebastian Dröge <sebastian@centricular.com>
7498
7499	* ChangeLog:
7500	* NEWS:
7501	* configure.ac:
7502	* gstreamer-vaapi.doap:
7503	  Release 1.9.2
7504
75052016-08-16 11:58:38 +0300  Scott D Phillips <scott.d.phillips@intel.com>
7506
7507	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7508	  decoder: vc1: Print error on interlaced content
7509	  Interlaced video is as yet unsupported in the vc1 element. Print
7510	  an error to make that more obvious.
7511	  https://bugzilla.gnome.org/show_bug.cgi?id=769250
7512
75132016-08-10 13:29:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7514
7515	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7516	  encoder: h264: fix C90 mixed declarations and code
7517	  Commit 4259d1a introduced this compilation error. This patch fixes it.
7518
75192016-07-21 17:38:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7520
7521	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7522	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7523	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
7524	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
7525	  encoder: h264,h265,mpeg2,vp8: use gst_util_uint64_scale() for bitrate
7526	  Use gst_util_uint64_scale() to calculate bitrate instead of normal arithmetic
7527	  to avoid overflows, underflows and loss of precision.
7528	  https://bugzilla.gnome.org/show_bug.cgi?id=768458
7529
75302016-07-05 20:07:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7531
7532	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7533	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7534	  vaapiencode: h264,h265: validate fps numerator
7535	  Validate that fps numerator is non-zero so it can be used to calculate
7536	  the duration of the B frame.
7537	  Also it gst_util_uint64_scale() is used instead of normal arithmetic in
7538	  order to aviod overflows, underflows and loss of precision.
7539	  https://bugzilla.gnome.org/show_bug.cgi?id=768458
7540
75412016-08-06 12:54:17 +0100  Tim-Philipp Müller <tim@centricular.com>
7542
7543	* gst/vaapi/gstvaapi.c:
7544	  encoders: demote to RANK_NONE since not fit for autoplugging yet
7545	  Encoders claim to support a whole bunch of input formats but then
7546	  just error out if the format is not actually supported, even if
7547	  there's a converter in front. This means they're not fit for
7548	  autoplugging in encodebin or camerabin yet and therefore should
7549	  not have a rank. People can still use them in custom pipelines.
7550	  https://bugzilla.gnome.org/show_bug.cgi?id=769266
7551
75522016-07-19 19:24:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7553
7554	* gst/vaapi/gstvaapipluginbase.c:
7555	  plugins: check dmabuf-import for sink pad allocator
7556	  Check earlier if upstream video source has activated the dmabuf-import
7557	  io-mode (hack to disappear soon), thus we can avoid the re-assignation of a
7558	  new allocator.
7559
75602016-07-19 20:02:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7561
7562	* gst/vaapi/gstvaapipluginbase.c:
7563	  plugins: reset allocators if video info changed
7564	  If the frame size or format, change, the allocators are reset, so a new ones
7565	  can be created with the new video info.
7566
75672016-07-19 19:27:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7568
7569	* gst/vaapi/gstvaapipluginbase.c:
7570	  plugins: remove sink pad allocator if caps change
7571	  If the negotiated sinkpad caps change, destroy the assignated allocator,
7572	  because it is not valid anymore.
7573
75742016-07-19 20:01:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7575
7576	* gst/vaapi/gstvaapipluginutil.c:
7577	* gst/vaapi/gstvaapipluginutil.h:
7578	  pluginutil: const params to gst_video_info_changed()
7579	  Since they are not modified, we should mark them as const.
7580
75812016-07-29 15:13:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7582
7583	* gst/vaapi/gstvaapipluginbase.c:
7584	* gst/vaapi/gstvaapivideomemory.c:
7585	* gst/vaapi/gstvaapivideomemory.h:
7586	  gstvaapivideomemory: allocator's image size getter
7587	  Add the method gst_allocator_get_vaapi_image_size() for the
7588	  GstVaapiVideoAllocator, which gets the size of the allocated images with the
7589	  current video info.
7590	  This method replaces the direct call to the allocator's image info when the
7591	  pool is configured.
7592
75932016-07-29 18:06:30 +0900  Hyunjun Ko <zzoon@igalia.com>
7594
7595	* gst/vaapi/gstvaapipluginbase.c:
7596	  plugins: update buffer pool size with new allocator's image size
7597	  Depends on media, video size is sometimes updated with new allocator.
7598	  It leads to dismatch between bufferpool's set size and real allocated buffer size.
7599	  In this case, it causes every buffer is freed during release in bufferpool,
7600	  which should be reused. This affects performance.
7601	  https://bugzilla.gnome.org/show_bug.cgi?id=769248
7602
76032016-07-27 19:49:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7604
7605	* configure.ac:
7606	  configure: remove gmodule-2.0 EGL dependency
7607	  Since commit 27429ce, EGL support doesn't depend on dynamic loading libraries,
7608	  thus the dependency to gmodule-2.0 is not mandatory anymore.
7609
76102016-07-27 10:09:38 -0700  Scott D Phillips <scott.d.phillips@intel.com>
7611
7612	* configure.ac:
7613	  configure: Fix non-fatal PKG_CHECK_MODULES invocations
7614	  Some invocations of PKG_CHECK_MODULES were intended to be non-fatal if
7615	  the package is missing, but action-if-not-found was given as an empty
7616	  string which still causes the default action to run, which halts
7617	  execution.
7618	  Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
7619	  https://bugzilla.gnome.org/show_bug.cgi?id=769237
7620
76212016-07-13 18:34:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7622
7623	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7624	  libs: egl: remove dynamic library loading code
7625	  Since the upstream of gstreamer-vaapi, the library is not a public shared
7626	  object anymore. But the EGL support depended on this dynamic library, so the
7627	  EGL support was broken.
7628	  This patch removes the dynamic library loading code and instantiates the
7629	  EGL display using either X11 or Wayland if available.
7630	  https://bugzilla.gnome.org/show_bug.cgi?id=767203
7631
76322016-07-12 23:47:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7633
7634	* gst/vaapi/gstvaapi.c:
7635	* gst/vaapi/gstvaapidecode.c:
7636	* gst/vaapi/gstvaapidecode.h:
7637	  vaapidecode: register only the available decoders
7638	  In order to register only the available decoders, this patch queries the
7639	  created test VA display, which uses the currently used back-end (X11, Wayland,
7640	  DRM, …) on the used display device.
7641	  https://bugzilla.gnome.org/show_bug.cgi?id=724352
7642
76432016-06-28 11:43:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7644
7645	* gst/vaapi/gstvaapi.c:
7646	* gst/vaapi/gstvaapipluginutil.c:
7647	* gst/vaapi/gstvaapipluginutil.h:
7648	  vaapi: register only the available encoders
7649	  In order to register only the available encoders, this patch queries the
7650	  created test VA display, which uses the currently used back-end (X11,
7651	  Wayland, DRM, …) on the used display device.
7652	  https://bugzilla.gnome.org/show_bug.cgi?id=724352
7653
76542016-06-07 16:28:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7655
7656	* gst/vaapi/gstvaapidecode.c:
7657	* gst/vaapi/gstvaapidecodebin.c:
7658	  vaapidecode: split all the codecs
7659	  Split the vaapidecode to all the supported codecs with the format
7660	  vaapi{codec}dec.
7661	  vaapidecode is stil registered as a GObject type, but not as a
7662	  GStreamer feature, so it can be used internally by vaapidecodebin without
7663	  changing its code too much.
7664	  https://bugzilla.gnome.org/show_bug.cgi?id=734093
7665
76662016-07-12 22:19:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7667
7668	* gst/vaapi/gstvaapidecodebin.c:
7669	  vaapidecodebin: simplify the code
7670	  Since the elements dependant of the VA video processor are now only registered
7671	  if it is available, vaapidecodebin code can be simplified a lot, removing all
7672	  the code required to check if the VA video processor was available.
7673	  https://bugzilla.gnome.org/show_bug.cgi?id=768899
7674
76752016-07-12 17:54:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7676
7677	* gst/vaapi/gstvaapidecode.c:
7678	  vaapidecode: delay the GstVaapiDisplay instantiating
7679	  Delay the GstVaapiDisplay instantiating until when changing the state from
7680	  READY to PAUSE. In this way the element has more chances to find an already
7681	  created GstVaapiDisplay, or a GL context, in the pipeline.
7682	  https://bugzilla.gnome.org/show_bug.cgi?id=766206
7683
76842016-07-12 17:49:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7685
7686	* gst/vaapi/gstvaapipluginutil.c:
7687	  pluginutil: set GLX display type
7688	  The function gst_vaapi_create_display_from_gl_context() cretes a
7689	  GstVaapiDisplay given a GstGLContext. But it didn't created a GLX VA display
7690	  when the GL platform was GLX, but a plain X11 VA display.
7691	  This patch fixes that, by querying the GL platform earlier.
7692	  https://bugzilla.gnome.org/show_bug.cgi?id=766206
7693
76942016-06-02 19:57:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7695
7696	* gst/vaapi/gstvaapipluginbase.c:
7697	* gst/vaapi/gstvaapivideocontext.c:
7698	* gst/vaapi/gstvaapivideocontext.h:
7699	  plugins: add gst_vaapi_plugin_base_find_gl_context()
7700	  Using the GstContext mechanism, it is possible to find if the pipeline
7701	  shares a GstGLContext, even if we are not to negotiating GLTextureUpload
7702	  meta. This is interesting because we could negotiate system memory caps
7703	  feature, but enable DMABuf if the GstGLContext is EGL with some extensions.
7704	  https://bugzilla.gnome.org/show_bug.cgi?id=766206
7705
77062016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7707
7708	* gst/vaapi/gstvaapipluginbase.c:
7709	* gst/vaapi/gstvaapipluginbase.h:
7710	  plugins: remove gst_vaapi_plugin_base_driver_is_whitelisted()
7711	  Since nobody is calling gst_vaapi_plugin_base_driver_is_whitelisted(),
7712	  it is deleted.
7713
77142016-07-12 18:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7715
7716	* gst/vaapi/gstvaapipluginbase.h:
7717	  plugins: remove common change_state() vmethod
7718	  Remove the common change_state() vmethod for all the plugins, since no one is
7719	  using it.
7720
77212016-07-12 20:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7722
7723	* gst/vaapi/gstvaapidecode.c:
7724	  vaapidecode: remove change_state() vmethod
7725	  Since the driver checkup is done at registering, there is no need to do it
7726	  when changing the element state from NULL to READY. This patch remove this
7727	  vmethod from vaapidecode.
7728
77292016-07-12 20:29:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7730
7731	* gst/vaapi/gstvaapi.c:
7732	  vaapi: register vaapipostproc only if supported
7733	  Query the GstVaapiDisplay to know if the driver supports video
7734	  postprocessing. If does, then register vaapipostproc and vaapidecodebin
7735	  elements.
7736	  This patch will simplify the design of vaapidecodebin.
7737	  https://bugzilla.gnome.org/show_bug.cgi?id=724352
7738
77392016-06-29 12:36:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7740
7741	* gst/vaapi/gstvaapi.c:
7742	  vaapi: don't register if VA driver is unsupported
7743	  Using the test VA display, the driver name is queried, and if it is not
7744	  white-listed, the plugin rejects to register any element.
7745	  https://bugzilla.gnome.org/show_bug.cgi?id=724352
7746
77472016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7748
7749	* gst/vaapi/gstvaapipluginbase.c:
7750	* gst/vaapi/gstvaapipluginutil.c:
7751	* gst/vaapi/gstvaapipluginutil.h:
7752	  plugins: add gst_vaapi_driver_is_whitelisted()
7753	  Move some of the logic in gst_vaapi_plugin_base_driver_is_whitelisted() to a
7754	  new function gst_vaapi_driver_is_whitelisted(), in this way, it can be used
7755	  when registering the plugin's feature set with the test VA display.
7756	  https://bugzilla.gnome.org/show_bug.cgi?id=724352
7757
77582016-07-12 19:56:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7759
7760	* gst/vaapi/gstvaapi.c:
7761	  vaapi: instantiate a VA display when registering
7762	  This patch tries to instantiate a GstVaapiDisplay when registering the plugin
7763	  features, if it fails, no gstreamer-vaapi element is registering.
7764	  The purpose of this patch is to avoid a situation where the user has
7765	  gstreamer-vaapi installed but their VA-API setup is not functional, which may
7766	  lead to unexpected behavior.
7767	  https://bugzilla.gnome.org/show_bug.cgi?id=724352
7768
77692016-06-28 11:33:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7770
7771	* configure.ac:
7772	* gst/vaapi/gstvaapi.c:
7773	  vaapi: declare external dependencies
7774	  There are two main external dependencies that define the feature set of this
7775	  plugin: a) the kernel and b) the VA driver
7776	  This patch tracks both dependencies, if any of them change, GStreamer will
7777	  re-inspect the plugin.
7778	  The kernel is tracked through the device files /dev/dri/card*
7779	  The VA driver is tracked through the files VA_DRIVERS_PATH/*_drv_video.so,
7780	  where VA_DRIVERS_PATH is the one defined in libva package configuration. Also,
7781	  the environment variables LIBVA_DRIVERS_PATH and LIBVA_DRIVER_NAME are tracked
7782	  since they modify the driver lookup.
7783	  Additionally, the environment variable GST_VAAPI_ALL_DRIVERS is tracked too.
7784	  https://bugzilla.gnome.org/show_bug.cgi?id=724352
7785
77862016-07-19 16:02:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7787
7788	* gst/vaapi/gstvaapidecode.c:
7789	  vaapidecode: remove unneeded initializations
7790	  GObject's memory is set to zero, so there is no need to initialize to zero or
7791	  NULL it's class variables.
7792
77932016-07-19 18:28:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7794
7795	* gst/vaapi/gstvaapipluginbase.h:
7796	  plugins: remove undefined macros
7797
77982016-07-19 17:43:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7799
7800	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
7801	  Revert "gstvaapisurface_drm: release image when done"
7802	  This reverts commit 1dbcc8a0e199f2da6a0ab8e949f13341916128a3  and commit
7803	  372a03a9e38acbf435eb80bf31d9a9844069e504.
7804	  While the dmabuf handle is exported, the derive image must exist, otherwise
7805	  the image's VA buffer is invalid, thus the dmabuf handle is never released,
7806	  leading into a file descriptors leak.
7807
78082016-07-21 17:38:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7809
7810	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7811	  encoder: h265: fix code-style
7812
78132016-07-22 16:55:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7814
7815	* gst/vaapi/gstvaapipostproc.c:
7816	  vaapipostproc: update filters at color balance
7817	  This is a fix for a regression of previous commit, which updates the filters
7818	  only when the property is set, because it is also required to update the
7819	  filter when the color balance interface change its values.
7820
78212016-07-22 12:10:23 +0900  Hyunjun Ko <zzoon@igalia.com>
7822
7823	* gst/vaapi/gstvaapipostproc.c:
7824	* gst/vaapi/gstvaapipostproc.h:
7825	  vaapipostproc: make it enable/disable pass-through mode
7826	  In case that sink caps and src caps are same, and no filtering parameter set,
7827	  pass-through mode is enabled.
7828	  If new filtering parameter is set during playback, it makes it reconfiguring,
7829	  so that pass-through mode is changed
7830	  In addition, updating filter is performed during reconfiguration, if needed.
7831	  https://bugzilla.gnome.org/show_bug.cgi?id=751876
7832
78332016-07-22 11:51:26 +0900  Hyunjun Ko <zzoon@igalia.com>
7834
7835	* gst-libs/gst/vaapi/gstvaapifilter.c:
7836	* gst-libs/gst/vaapi/gstvaapifilter.h:
7837	* gst/vaapi/gstvaapipostproc.c:
7838	  vaapipostproc: checking and updating filter parameter only when it's set
7839	  This patch is to avoid checking filter value at every frame.
7840	  https://bugzilla.gnome.org/show_bug.cgi?id=751876
7841
78422016-07-21 11:24:31 +0300  Allen Zhang <Zhang, Zhangfei>
7843
7844	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7845	  decoder: h265: handle the SEI NAL units included in codec_data
7846	  The prefix/suffix SEI nal units can appear in codec_data too
7847	  which weren't handled before. Parse these SEI headers to
7848	  fix the segfault.
7849	  https://bugzilla.gnome.org/show_bug.cgi?id=768544
7850
78512016-07-15 16:32:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7852
7853	* docs/plugins/Makefile.am:
7854	  build: doc: do not redefine MAINTAINERCLEANFILES
7855	  MAINTAINERCLEANFILES is defined in gtk-doc-plugins.mak, thus instead of
7856	  overload it, the files should be added.
7857
78582016-07-15 14:41:27 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7859
7860	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7861	  encoder: h264: Fix MVC encode while enabling dct8x8
7862	  Pack the transform_8x8_mode_flag and other necessary rbsp data
7863	  in packed_pps header for MVC encode.
7864	  https://bugzilla.gnome.org/show_bug.cgi?id=768647
7865
78662016-07-12 23:58:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7867
7868	* gst/vaapi/gstvaapisink.c:
7869	  vaapisink: demote a debug message to trace
7870	  Reduces noise when debugging.
7871
78722016-07-13 17:21:01 +0900  Jagyum Koo <koojagyum@gmail.com>
7873
7874	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
7875	  wayland: Error check before using cached wl_display
7876	  A planar(or some other) buffer allocation may fail on the driver, then
7877	  the wayland connection becomes invalid, not able to send request or
7878	  receive any event. So we need to set up a new wayland connection if
7879	  there's an error detected on the cached wl_display.
7880	  https://bugzilla.gnome.org/show_bug.cgi?id=768761
7881	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7882
78832016-07-11 21:15:57 +0200  Stefan Sauer <ensonic@users.sf.net>
7884
7885	* common:
7886	  Automatic update of common submodule
7887	  From ac2f647 to f49c55e
7888
78892016-07-05 18:23:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7890
7891	* gst/vaapi/gstvaapiencode.c:
7892	  vaapiencode: demote a log to trace level
7893	  Removes noise when debugging.
7894
78952016-07-06 11:17:23 +0900  Hyunjun Ko <zzoon@igalia.com>
7896
7897	* gst/vaapi/gstvaapiencode.c:
7898	  vaapiencode: implement flush() vmethod
7899	  In order to handle correctly seek and other operations, vaapiencode should
7900	  flush all the remaining data from the encoder without pushing it downstream.
7901	  This patch implements the flush() vmethod, only after of pausing the
7902	  source pad task, and restarting it again after the flush stop.
7903	  https://bugzilla.gnome.org/show_bug.cgi?id=767176
7904	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7905
79062016-07-11 08:43:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7907
7908	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7909	  decoder: vc1: flush dpb only if opened
7910	  Flush the decode picture buffer, if and only if, the decoder is
7911	  started. Otherwise the dpb structure might be NULL.
7912	  https://bugzilla.gnome.org/show_bug.cgi?id=742922
7913
79142016-07-01 14:42:20 +0900  Hyunjun Ko <zzoon@igalia.com>
7915
7916	* gst/vaapi/gstvaapidecode.c:
7917	* gst/vaapi/gstvaapidecode.h:
7918	  vaapidecode: drop non-keyframe in reverse playback
7919	  To avoid surface-exhausted situation during reverse playback,
7920	  drop frames except for key frame.
7921	  Also, to avoid the corruption of the parser state, flush() vmethod
7922	  doesn't destroy the VA decoder when playing in reverse.
7923	  https://bugzilla.gnome.org/show_bug.cgi?id=742922
7924	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7925
79262016-07-10 19:33:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7927
7928	* gst/vaapi/gstvaapidecode.c:
7929	  vaapidecode: unref output frame earlier
7930	  The queue in GstVaapiDecode adds an extra reference to the frames. This patch
7931	  unref that extra reference earlier making the code simpler to follow.
7932	  https://bugzilla.gnome.org/show_bug.cgi?id=768652
7933
79342016-07-10 19:01:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7935
7936	* gst/vaapi/gstvaapidecode.c:
7937	  vaapidecode: remove gst_vaapidecode_internal_flush()
7938	  As gst_vaapidecode_finish() is the only callee of
7939	  gst_vaapidecode_internal_flush(), it is better to inline it.
7940	  https://bugzilla.gnome.org/show_bug.cgi?id=768652
7941
79422016-07-10 18:18:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7943
7944	* gst/vaapi/gstvaapidecode.c:
7945	  vaapidecode: flush output adapter at drain()
7946	  Calling drain() vmethod means "decode any data it can at this point, but that
7947	  more data may arrive after". Hence, vaapidecode should check if there is data
7948	  in the output adapter and process them, without destroying the decoded picture
7949	  buffer (dpb).
7950	  Since this operation is done by gst_vaapidecode_internal_flush(), the operation
7951	  was refactored into a new function gst_vaapidecode_flush_output_adapter().
7952	  https://bugzilla.gnome.org/show_bug.cgi?id=768652
7953
79542016-07-10 13:46:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7955
7956	* gst/vaapi/gstvaapidecode.c:
7957	  vaapidecode: call purge at flush()
7958	  Calling flush() vmethod means "to flush all remaining data from the decoder
7959	  without pushing it downstream".
7960	  Nonetheless flush() is calling gst_vaapidecode_internal_flush(), which calls
7961	  gst_video_decoder_have_frame() if there is still something in the input
7962	  adapter, which may push buffers to downstream by calling handle_frame().
7963	  This patch changes this behavior by calling gst_vaapidecode_purge() rather
7964	  than gst_vaapidecode_internal_flush(), which does what we want: flushes the VA
7965	  decoder and releases all the rest of decoded frames.
7966	  https://bugzilla.gnome.org/show_bug.cgi?id=768652
7967
79682016-07-06 18:38:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7969
7970	* tests/elements/Makefile.am:
7971	* tests/elements/test-vaapisink.c:
7972	  test: elements: remove spurious linkage
7973	  Element tests only need to link against gstreamer libraries.
7974
79752016-07-06 14:41:21 +0300  Sebastian Dröge <sebastian@centricular.com>
7976
7977	* configure.ac:
7978	  configure: Require GLib >= 2.40 like everywhere else
7979
79802016-07-06 13:51:21 +0300  Sebastian Dröge <sebastian@centricular.com>
7981
7982	* configure.ac:
7983	  Back to development
7984
7985=== release 1.9.1 ===
7986
79872016-07-06 13:48:07 +0300  Sebastian Dröge <sebastian@centricular.com>
7988
7989	* ChangeLog:
7990	* NEWS:
7991	* common:
7992	* configure.ac:
7993	* gstreamer-vaapi.doap:
7994	  Release 1.9.1
7995
79962016-07-05 20:59:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7997
7998	* tests/elements/test-vaapisink.c:
7999	  tests: elements: rotate orientation event
8000
80012016-07-01 16:01:54 +0900  Hyunjun Ko <zzoon@igalia.com>
8002
8003	* configure.ac:
8004	* tests/Makefile.am:
8005	* tests/elements/Makefile.am:
8006	* tests/elements/test-vaapisink.c:
8007	  tests: elements: Add testsuite for vaapisink
8008	  https://bugzilla.gnome.org/show_bug.cgi?id=765798
8009
80102016-07-01 16:00:46 +0900  Hyunjun Ko <zzoon@igalia.com>
8011
8012	* gst-libs/gst/vaapi/gstvaapitypes.h:
8013	* gst-libs/gst/vaapi/gstvaapivalue.c:
8014	* gst/vaapi/gstvaapisink.c:
8015	* gst/vaapi/gstvaapisink.h:
8016	  vaapisink: add support for GST_TAG_IMAGE_ORIENTATION
8017	  https://bugzilla.gnome.org/show_bug.cgi?id=765798
8018
80192016-06-29 13:57:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8020
8021	* gst/vaapi/gstvaapipostproc.c:
8022	  vaapipostproc: return caps template if no display
8023	  This patch is a fix for my bad review of commit 6d73ca8d. The element should
8024	  be able to return the available raw caps handled by the VA display, but that
8025	  only should happen when there a VA display. If there's none, the element
8026	  should use the caps template.
8027	  https://bugzilla.gnome.org/show_bug.cgi?id=768161
8028
80292016-06-29 16:42:18 +1000  Matthew Waters <matthew@centricular.com>
8030
8031	* gst/vaapi/gstvaapipostproc.c:
8032	  vaapipostproc: don't require a vaapi display for all caps queries
8033	  This delays the requirement of having a GstVaapiDisplay until later
8034	  https://bugzilla.gnome.org/show_bug.cgi?id=768161
8035
80362016-06-28 15:48:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8037
8038	* gst-libs/gst/vaapi/gstvaapiutils.c:
8039	  utils: report VP9 profiles
8040	  Add VP9Profile0-3 name mapping.
8041
80422016-06-28 14:05:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8043
8044	* gst/vaapi/gstvaapi.c:
8045	  vaapi: nest includes under USE_ENCODER macro
8046	  This is a missed changeset from commit 1c05c53, since also header includes
8047	  should be nested.
8048
80492016-06-28 11:54:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8050
8051	* gst/vaapi/gstvaapi.c:
8052	  vaapi: nest encoders under USE_ENCODER macro
8053	  Though USE_{JPEG,VP8,VP9,H265}_ENCODER macros definition depend on USE_ENCODER
8054	  macro, it is clearer to nest them, showing explicitly the dependency relation.
8055
80562016-06-24 12:05:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8057
8058	* gst/vaapi/gstvaapivideocontext.c:
8059	  vaapivideocontext: check if query context is NULL
8060	  Under certain conditions the element might receive a positive context query
8061	  but without a context instance. This situation will lead to a segmentation
8062	  fault when traversing the context list in the pipeline.
8063	  https://bugzilla.gnome.org/show_bug.cgi?id=767946
8064
80652016-06-20 13:22:36 -0700  Scott D Phillips <scott.d.phillips@intel.com>
8066
8067	* gst-libs/gst/vaapi/Makefile.am:
8068	* gst-libs/gst/vaapi/glibcompat.h:
8069	* gst-libs/gst/vaapi/sysdeps.h:
8070	  remove unused glibcompat.h
8071	  glibcompat.h is no longer doing anything. Remove it.
8072	  Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
8073	  https://bugzilla.gnome.org/show_bug.cgi?id=767886
8074
80752016-06-22 14:28:44 -0700  Scott D Phillips <scott.d.phillips@intel.com>
8076
8077	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8078	  encoder: h264: Use high profile by default
8079	  Change defaults for max-bframes, cabac, and dct8x8 to be enabled
8080	  by default. This will cause the default profile to be high instead
8081	  of baseline. In most situations this is the right decision, and
8082	  the profile can still be lowered in the case of caps restrictions.
8083	  Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
8084	  https://bugzilla.gnome.org/show_bug.cgi?id=757941
8085
80862016-06-22 12:15:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8087
8088	* gst/vaapi/gstvaapidecodebin.c:
8089	  vaapidecodebin: element warning if missing element
8090	  Raise an element warning if a required element is not available, thus the
8091	  pipeline will post a warning message and the application will be informed.
8092
80932016-06-22 15:11:56 +0300  Hyunjun Ko <zzoon@igalia.com>
8094
8095	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
8096	  decoder: h265: fix to release all dpb pictures
8097	  Without this, all dpb pictures are not released during flush,
8098	  because we used the global dpb_count variable for checking the
8099	  dpb fullness which get decremented in dpb_remove_index()
8100	  routine during each loop iteration.
8101	  https://bugzilla.gnome.org/show_bug.cgi?id=767934
8102
81032016-06-21 11:48:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
8104
8105	* common:
8106	  Automatic update of common submodule
8107	  From ac2f647 to f363b32
8108
81092016-06-20 19:53:26 +0900  Hyunjun Ko <zzoon@igalia.com>
8110
8111	* gst/vaapi/gstvaapidecode.c:
8112	* gst/vaapi/gstvaapipostproc.c:
8113	  vaapi: fix minor leaks
8114	  https://bugzilla.gnome.org/show_bug.cgi?id=767868
8115
81162016-06-17 17:00:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8117
8118	* gst/vaapi/gstvaapi.c:
8119	  vaapi: remove an already included header
8120	  gst/gst.h is already included in gstcompat.h
8121
81222016-06-17 16:53:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8123
8124	* gst/vaapi/gstvaapidecodebin.c:
8125	  vaapidecodebin: add vp9 in sink pad template
8126
81272016-06-15 20:19:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8128
8129	* gst/vaapi/gstvaapisink.c:
8130	  vaapisink: return caps template if no display
8131	  If vaapisink received a caps query before getting a VA display, it returned
8132	  only the surfaces related caps. This behavior broke the autovideosink
8133	  negotiation.
8134	  This patch returns the pad's template caps if no VA display, otherwise the
8135	  caps are crafted as before.
8136	  https://bugzilla.gnome.org/show_bug.cgi?id=767699
8137
81382016-06-15 11:25:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
8139
8140	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8141	  decoder: vp9: Update comment about context resets
8142	  Clarify that vaapi context resets are never needed for vp9, but
8143	  that ensure_context() needs called when the size increases so that
8144	  new surfaces can be allocated.
8145	  Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
8146	  https://bugzilla.gnome.org/show_bug.cgi?id=767474
8147
81482016-05-17 15:34:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
8149
8150	* gst-libs/gst/vaapi/gstvaapicontext.c:
8151	* gst-libs/gst/vaapi/gstvaapicontext.h:
8152	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8153	  gstvaapicontext: control reset_on_resize with option
8154	  Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
8155	  https://bugzilla.gnome.org/show_bug.cgi?id=767474
8156
81572016-06-14 09:45:22 -0700  Scott D Phillips <scott.d.phillips@intel.com>
8158
8159	* gst/vaapi/gstvaapivideobufferpool.c:
8160	  vaapivideobufferpool: add video meta to config when needed
8161	  In cases where we know the video meta must be present, add it to
8162	  the pool configuration.
8163	  Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
8164	  https://bugzilla.gnome.org/show_bug.cgi?id=766184
8165
81662016-06-13 10:48:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
8167
8168	* gst/vaapi/gstvaapipluginbase.c:
8169	  plugins: retry pool config
8170	  if gst_buffer_pool_set_config returns FALSE, check the modified
8171	  config and retry set_config if the config is still acceptable.
8172	  Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
8173	  https://bugzilla.gnome.org/show_bug.cgi?id=766184
8174
81752016-06-08 18:42:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8176
8177	* gst/vaapi/gstvaapivideomemory.h:
8178	  vaapivideomemory: internal attributes to methods
8179	  Mark as internal the functions used by VA-API dmabuf allocator.
8180
81812016-06-02 15:41:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8182
8183	* gst/vaapi/gstvaapipluginbase.c:
8184	  plugins: remove precondition for decide_allocation()
8185	  There's no need to check for the display in the plugin object when
8186	  decide_allocation() vmethod is called, because the display will created or
8187	  re-created along the method execution.
8188
81892016-06-08 18:44:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8190
8191	* gst/vaapi/gstvaapipluginbase.c:
8192	  plugins: avoid possible memory leaks
8193	  Get the pool config just before use it, to avoid a memory leak if the
8194	  allocator cannot be instantiated. Similarly, return FALSE if the configuration
8195	  cannot be set, avoid keep a not used allocator in the pool.
8196
81972016-05-31 11:52:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8198
8199	* gst/vaapi/gstvaapipluginbase.c:
8200	  plugins: use GstParentBufferMeta
8201	  Instead of using the VASurface proxy's notify, which is internal gstvaapi API,
8202	  use the GStreamer's GstParentBufferMeta.
8203	  https://bugzilla.gnome.org/show_bug.cgi?id=765435
8204
82052016-05-31 08:26:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8206
8207	* gst/vaapi/gstvaapipluginbase.c:
8208	  plugins: cache VASurfaces from dmabufs
8209	  This patch avoids the creation of a VASurface each time a new input buffer is
8210	  processed, caching them in the input buffer itself.
8211	  https://bugzilla.gnome.org/show_bug.cgi?id=765435
8212
82132016-05-30 23:55:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8214
8215	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
8216	* gst-libs/gst/vaapi/gstvaapisurface_drm.h:
8217	* gst/vaapi/gstvaapipluginbase.c:
8218	  libs: change gst_vaapi_surface_new_with_dma_buf_handle()
8219	  Instead of passing the data already in GstVideoInfo, let's just pass the
8220	  GstVideoInfo structure.
8221	  https://bugzilla.gnome.org/show_bug.cgi?id=765435
8222
82232016-05-25 12:31:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8224
8225	* gst/vaapi/gstvaapipluginbase.c:
8226	* gst/vaapi/gstvaapipluginbase.h:
8227	  plugins: use an unique allocator per pad
8228	  Instead of instantiating an allocator per vaapivideobufferpool, only one
8229	  allocator is instantiated per element's pad and shared among future pools.
8230	  If the pad's caps changes, the allocator is reset.
8231	  https://bugzilla.gnome.org/show_bug.cgi?id=765435
8232
82332016-05-25 10:58:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8234
8235	* gst/vaapi/gstvaapipluginbase.c:
8236	* gst/vaapi/gstvaapivideobufferpool.c:
8237	* gst/vaapi/gstvaapivideobufferpool.h:
8238	  vaapivideobufferpool: share options flag with pluginbase
8239	  Originally, vaapivideobufferpool has a set of boolean variables for the
8240	  buffer configuration options.
8241	  This pach changes these boolean variables for a single bitwise, just as
8242	  it is used in pluginbase. Hence, the internal enum was moved to
8243	  vaapivideobufferpool header.
8244	  https://bugzilla.gnome.org/show_bug.cgi?id=765435
8245
82462016-05-10 15:57:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8247
8248	* gst/vaapi/gstvaapipluginbase.c:
8249	  plugins: add gst_vaapi_plugin_base_create_pool()
8250	  This patch refactors the code in pluginbase in order to centralize the buffer
8251	  pool instantiation. As the buffer pool config may have different options, these
8252	  are gathered using a bitwise flag.
8253	  https://bugzilla.gnome.org/show_bug.cgi?id=765435
8254
82552016-05-20 18:46:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8256
8257	  pluginbase negotiates allocator with bufferpool
8258	  Originally vaapivideobufferpool instantiates its own allocator regardless the
8259	  received configuration, and it relies in custom configuration options to
8260	  choose which kind of allocator instantiate.
8261	  This patch transfers the responsibility of the allocator instantiate to
8262	  vaapipluginbase and pass it to the vaapivideobufferpool through its
8263	  configuration.
8264	  * gst/vaapi/gstvaapipluginbase.c
8265	  + set_dmabuf_allocator(): inserts a dmabuf allocator in the bufferpool
8266	  + ensure_sinkpad_buffer_pool(): set a normal vaapi video allocator in
8267	  bufferpool configuration
8268	  + gst_vaapi_plugin_base_propose_allocation(): call set_dmabuf_allocator() if
8269	  needed.
8270	  + gst_vaapi_plugin_base_decide_allocation(): set a normal vaapi video
8271	  allocator in bufferpool configuration
8272	  * gst/vaapi/gstvaapivideobufferpool.c
8273	  + gst_vaapi_video_buffer_pool_set_config(): instead of instantiate the
8274	  allocator, process the received one through its configuration.
8275	  * gst/vaapi/gstvaapivideobufferpool.h: removed
8276	  GST_BUFFER_POOL_OPTION_DMABUF_MEMORY since it is not used anymore.
8277	  * gst/vaapi/gstvaapivideomemory.c
8278	  + gst_vaapi_is_dmabuf_allocator(): new helper function to identify a dmabuf
8279	  allocator with the vaapi qdata.
8280	  https://bugzilla.gnome.org/show_bug.cgi?id=765435
8281
82822016-05-20 14:39:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8283
8284	* gst/vaapi/gstvaapivideobufferpool.c:
8285	  vaapivideobufferpool: keep only current video info
8286	  Instead of keeping old and new GstVideoInfo video structure, we only keep one,
8287	  the current one, the negotiated. The old one is not needed at all.
8288	  https://bugzilla.gnome.org/show_bug.cgi?id=765435
8289
82902016-05-23 15:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8291
8292	* gst/vaapi/gstvaapipluginbase.c:
8293	* gst/vaapi/gstvaapipluginutil.c:
8294	* gst/vaapi/gstvaapipluginutil.h:
8295	* gst/vaapi/gstvaapivideomemory.c:
8296	  pluginutil: add gst_video_info_force_nv12_if_encoded()
8297	  This lines repeat a couple times in the code, so it would be better to put it
8298	  a helper function.
8299	  https://bugzilla.gnome.org/show_bug.cgi?id=765435
8300
83012016-05-20 14:15:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8302
8303	* gst/vaapi/gstvaapipluginutil.c:
8304	* gst/vaapi/gstvaapipluginutil.h:
8305	* gst/vaapi/gstvaapipostproc.c:
8306	* gst/vaapi/gstvaapivideobufferpool.c:
8307	  pluginutil: add gst_video_info_changed() helper
8308	  This function is shared among different elements, so let factorized it.
8309	  https://bugzilla.gnome.org/show_bug.cgi?id=765435
8310
83112016-06-08 10:14:16 +0900  Hyunjun Ko <zzoon@igalia.com>
8312
8313	* gst/vaapi/gstvaapipostprocutil.c:
8314	  vaapipostproc: Add colorimetry attributes to src caps
8315	  https://bugzilla.gnome.org/show_bug.cgi?id=766596
8316
83172016-06-08 10:17:46 +0900  Hyunjun Ko <zzoon@igalia.com>
8318
8319	* gst/vaapi/gstvaapidecode.c:
8320	  vaapidecode: remove chroma-site and colorimetry from src caps
8321	  https://bugzilla.gnome.org/show_bug.cgi?id=766596
8322
83232016-06-07 14:19:50 -0700  Scott D Phillips <scott.d.phillips@intel.com>
8324
8325	* gst/vaapi/gstvaapipostproc.c:
8326	* gst/vaapi/gstvaapipostproc.h:
8327	  vaapipostproc: add postproc_lock to protect data members
8328	  Add a mutex to postproc to protect concurrent access to data members.
8329	  Previously set_caps() could release the allowed_srcpad_caps while
8330	  transform_caps was in the middle of using it.
8331	  Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
8332	  https://bugzilla.gnome.org/show_bug.cgi?id=766940
8333
83342016-05-30 11:30:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8335
8336	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8337	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8338	  encoder: vp9: Add simple algorithms for reference picture selection
8339	  Added two modes(as properties) for reference picture selection:
8340	  ref-mode-0: AltRef and GoldRef pointing to the recent keyframe
8341	  and LastRef is pointing to the previous frame.
8342	  ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef
8343	  and n-2 th frame as AltRef
8344	  https://bugzilla.gnome.org/show_bug.cgi?id=766048
8345
83462016-05-30 11:25:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8347
8348	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8349	  encoder: vp9: Define Max frame width and height
8350	  https://bugzilla.gnome.org/show_bug.cgi?id=766048
8351
83522016-05-30 11:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8353
8354	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8355	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8356	  encoder: vp9: Add more propertis for tuning encode quality
8357	  Added three tuning properties:
8358	  1: filter_level
8359	  2: sharpness_level
8360	  3: luma ac quant-table index
8361	  https://bugzilla.gnome.org/show_bug.cgi?id=766048
8362
83632016-05-30 11:24:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8364
8365	* gst/vaapi/Makefile.am:
8366	* gst/vaapi/gstvaapi.c:
8367	* gst/vaapi/gstvaapiencode_vp9.c:
8368	* gst/vaapi/gstvaapiencode_vp9.h:
8369	  Add vp9 encode element to "vaapi" plugin
8370	  https://bugzilla.gnome.org/show_bug.cgi?id=766048
8371
83722016-05-30 11:23:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8373
8374	* gst-libs/gst/vaapi/Makefile.am:
8375	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8376	* gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8377	  Add vp9 encoder support in libgstvaapi
8378	  https://bugzilla.gnome.org/show_bug.cgi?id=766048
8379
83802016-05-30 11:22:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8381
8382	* configure.ac:
8383	  build: Add check for VP9 encode API support in libva
8384	  https://bugzilla.gnome.org/show_bug.cgi?id=766048
8385
83862016-05-26 11:42:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8387
8388	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
8389	  gstvaapisurface_drm: fix internal documentation
8390
83912016-05-26 11:41:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8392
8393	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
8394	  gstvaapisurface_drm: fix code-style
8395
83962016-05-25 12:28:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8397
8398	* gst/vaapi/gstvaapipluginbase.c:
8399	  plugins: remove unused header
8400	  Remove the include of gst/allocators/allocators.h since it is not used.
8401
84022016-05-25 10:36:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8403
8404	* gst/vaapi/gstvaapivideobufferpool.h:
8405	  vaapivideobufferpool: remove GL_TEXTURE_UPLOAD_META
8406	  Since gstreamer-vaapi is coupled with gstreamer releases, there is no need to
8407	  keep compatibility definition.
8408	  This patch removes the definition of
8409	  GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META since it is in
8410	  gst-plugins-base version 1.2.2
8411
84122016-05-23 22:49:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8413
8414	* gst/vaapi/gstvaapipluginbase.c:
8415	  plugins: add gst_vaapi_buffer_pool_caps_is_equal()
8416	  This is a helper function to improve the readability of
8417	  ensure_sinkpad_buffer_pool(). It makes clearer when the buffer pool needs to be
8418	  re-instantiated.
8419
84202016-05-24 16:29:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8421
8422	* gst/vaapi/gstvaapipluginbase.c:
8423	  plugins: deactivate buffer pool before unref
8424	  This buffer pool may still be processing buffers when a caps renegotiation is
8425	  done. This one-liner patch deactivates the pool to drain it before it
8426	  de-allocation.
8427
84282016-05-24 16:22:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8429
8430	* gst/vaapi/gstvaapipluginbase.c:
8431	  plugins: no sinkpad bufferpool when decoder
8432	  Right now, the decoders create a buffer pool for their sink pad which is not
8433	  used at all, because the decoders have never proposed it to upstream.
8434	  This patch avoids the buffer pool instantiating when the element inherits from
8435	  the GstVideoDecoder class.
8436
84372016-05-24 13:39:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8438
8439	* gst/vaapi/gstvaapipluginbase.c:
8440	  plugins: avoid to get/set pool config twice
8441	  This patch is a bit of optimization, since the bufferpool configuration is get
8442	  when the pool is created. Hence, we only need to request it when the pool from
8443	  the allocation query is reused.
8444
84452016-05-13 13:14:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8446
8447	* gst/vaapi/gstvaapipluginbase.c:
8448	  plugins: destroy pool earlier if non-vaapi
8449	  If the offered pool in decide_allocation() vmethod doesn't have the
8450	  VAAPI_VIDEO_META option, it is destroyed immediatly and the pointer cleared,
8451	  so it could be created later.
8452
84532016-05-23 22:30:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8454
8455	* gst/vaapi/gstvaapivideobufferpool.c:
8456	  vaapivideobufferpool: split caps validation
8457	  When validating the caps from bufferpool config, this patch distinguishes the
8458	  error from no caps received (NULL) from the invalid caps (cannot be converted
8459	  into GstVideoInfo structure).
8460
84612016-05-23 22:21:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8462
8463	* gst/vaapi/gstvaapidecode.c:
8464	* gst/vaapi/gstvaapipluginbase.c:
8465	  plugins: check for caps in query earlier
8466	  Check for caps as soon gst_query_parse_allocation() returns.
8467
84682016-05-23 23:13:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8469
8470	* gst/vaapi/gstvaapipluginbase.c:
8471	* gst/vaapi/gstvaapipluginbase.h:
8472	  plugins: remove unused variables
8473	  This variables stopped to be used since commit 001a5c63, which removed the
8474	  gstvaapiuploader.
8475
84762016-05-23 18:47:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8477
8478	* gst/vaapi/gstvaapipluginbase.c:
8479	  plugins: fix potential memleak from commit 9159328
8480	  If gst_video_info_from_caps() fails it is required to unref the instantiated
8481	  pool.
8482
84832016-05-23 18:04:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8484
8485	* gst/vaapi/gstvaapipostproc.c:
8486	  vaapipostproc: handle if gst_video_info_from_caps() fails
8487	  Return FALSE is the received caps cannot be transformed into a GstVideoInfo
8488	  structure.
8489
84902016-05-23 17:55:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8491
8492	* gst/vaapi/gstvaapipluginbase.c:
8493	  plugins: handle if gst_video_info_from_caps() fails
8494	  Let's play safe and return error if, somehow, the received caps are wrong.
8495
84962016-05-23 17:47:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8497
8498	* gst/vaapi/gstvaapipluginbase.c:
8499	  plugins: relate errors to instance
8500	  Use GST_{ERROR,WARNING}_OBJECT instead of GST_{ERROR,WARNING}, thus the logs
8501	  will show the name of the vaapipluginbase instance that failed.
8502	  Also, the code-style is fixed, where some error labels need to be surrounded
8503	  by braces.
8504
85052016-05-20 21:01:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8506
8507	* gst/vaapi/gstvaapipluginbase.c:
8508	* gst/vaapi/gstvaapipluginutil.c:
8509	* gst/vaapi/gstvaapisink.c:
8510	  plugins: use GstVideoInfo accessors
8511	  Instead of access to GstVideInfo members directly, use their accessors
8512	  macros. This patch makes more resistance to future changes in GStreamer core.
8513
85142016-05-20 19:33:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8515
8516	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
8517	* gst/vaapi/gstvaapipluginbase.c:
8518	* gst/vaapi/gstvaapipostproc.c:
8519	* tests/simple-encoder.c:
8520	  remove spurious gst_video_info_init()
8521	  gst_video_info_set_format() and gst_video_info_from_caps() call, internally,
8522	  gst_video_info_init(), hence it is not required to call it before them. This
8523	  patch removes these spurious calls.
8524
85252016-05-20 19:15:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8526
8527	* gst/vaapi/gstvaapipluginbase.c:
8528	  vaapipluginbase: code-style: rename goto label
8529	  The error labels have error_ prefix, but this one.
8530
85312016-05-19 16:34:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8532
8533	* gst/vaapi/gstvaapivideomemory.c:
8534	  vaapivideomemory: use allocator custom alloc flag
8535	  Instead of a dummy alloc() vmethod, the allocator instance set the flag
8536	  GST_ALLOCATOR_FLAG_CUSTOM_ALLOC, which is used by the framework to avoid call
8537	  gst_allocator_alloc() on the allocator.
8538
85392016-05-06 13:17:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8540
8541	* gst/vaapi/gstvaapivideobufferpool.c:
8542	  vaapivideobufferpool: relate errors to instance
8543	  Use GST_ERROR_OBJECT instead of GST_ERROR, thus the logs will show the name of
8544	  the vaapivideobufferpool instance that failed.
8545
85462016-05-10 16:14:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8547
8548	* gst/vaapi/gstvaapipluginbase.c:
8549	  plugins: remove gst_vaapi_plugin_base_set_pool_config()
8550	  This function helper make sense for GStreamer 1.2, but it is not helpful for
8551	  greater version since the validation is already done in the API implementation.
8552	  Thus, it is removed.
8553
85542016-05-18 17:05:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8555
8556	* gst/vaapi/gstvaapipluginbase.c:
8557	  gstvaapipluginbase: Fix typo in doc
8558
85592016-05-13 11:45:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8560
8561	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8562	  encoder : h264: Disable b-frame encode in low-power mode
8563	  This is a workaround since vaapi-intel-driver doesn't have
8564	  support for B-frame encode when utilizing low-power-enc
8565	  hardware block.
8566	  Fixme :We should query the VAConfigAttribEncMaxRefFrames
8567	  instead of blindly disabling b-frame support and set b/p frame count,
8568	  buffer pool size etc based on the query result.
8569	  https://bugzilla.gnome.org/show_bug.cgi?id=766050
8570
85712016-05-13 11:44:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8572
8573	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8574	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8575	  encoder: h264 : Use "tune=low-power" for enabling lowpower encode
8576	  Remove the duplicate property "low-power-enc" and use the
8577	  tune property for enabling low power encoding mode.
8578	  https://bugzilla.gnome.org/show_bug.cgi?id=766050
8579
85802016-05-11 12:06:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8581
8582	* gst-libs/gst/vaapi/gstvaapiencoder.c:
8583	  gstvaapiencoder:Use internal api to dervie configured VAEntrypoint
8584	  https://bugzilla.gnome.org/show_bug.cgi?id=766050
8585
85862016-05-11 12:05:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8587
8588	* gst-libs/gst/vaapi/gstvaapiencoder.c:
8589	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8590	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8591	  encoder: h264: Add support of low power/high performance encoding mode
8592	  Added a new property "low-power-enc" for enabling low power
8593	  encoding mode. Certain encoding tools may not be available
8594	  with the VAEntrypointEncSliceLP.
8595	  https://bugzilla.gnome.org/show_bug.cgi?id=766050
8596
85972016-05-11 12:04:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8598
8599	* gst-libs/gst/vaapi/gstvaapitypes.h:
8600	* gst-libs/gst/vaapi/gstvaapiutils.c:
8601	* gst-libs/gst/vaapi/gstvaapivalue.c:
8602	  Add mapping for Macroblock level rate control (VA_RC_MB)
8603
86042016-05-11 12:03:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8605
8606	* gst-libs/gst/vaapi/gstvaapidisplay.c:
8607	  gstvaapidisplay: Add VAEntrypointEncSliceLP support
8608	  https://bugzilla.gnome.org/show_bug.cgi?id=766050
8609
86102016-05-11 11:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8611
8612	* gst-libs/gst/vaapi/gstvaapiprofile.c:
8613	* gst-libs/gst/vaapi/gstvaapiprofile.h:
8614	  gstvaapiprofile : Add VAEntrypointEncSliceLP definitions
8615	  This is for implementations that supports low_power/high_performance
8616	  variant for slice level encode.
8617	  https://bugzilla.gnome.org/show_bug.cgi?id=766050
8618
86192016-05-05 18:23:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8620
8621	* gst/vaapi/gstvaapipostprocutil.c:
8622	  vaapipostproc: negotiate frame size fixation
8623	  Refactor _fixate_frame_size(). Now, instead of fixating the frame size only
8624	  using the sink caps, also it use the next capsfilter.
8625	  This code is a shameless copy of gst_video_scale_fixate_caps() from
8626	  https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst/videoscale/gstvideoscale.c?id=1.8.1#n634
8627	  https://bugzilla.gnome.org/show_bug.cgi?id=758548
8628
86292016-05-06 10:50:10 +0200  Scott D Phillips <scott.d.phillips@intel.com>
8630
8631	* gst/vaapi/gstvaapipostprocutil.c:
8632	  vaapipostproc: don't use GstVideoInfo for src caps
8633	  Instead of using gst_video_info_to_caps () to generated the fixed src caps,
8634	  this patch enables the first step for caps negotiation with a possible
8635	  following caps filter.
8636	  _get_preferred_caps() will traverse the possible src caps looking for the one
8637	  wit the preferred feature and the preferred color format. Then the color
8638	  format, the frame size and the frame rate are fixated.
8639	  https://bugzilla.gnome.org/show_bug.cgi?id=758548
8640
86412016-05-05 15:32:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8642
8643	* gst/vaapi/gstvaapipostproc.c:
8644	* gst/vaapi/gstvaapipostprocutil.c:
8645	* gst/vaapi/gstvaapipostprocutil.h:
8646	  vaapipostproc: move gst_vaapipostproc_fixate_srccaps()
8647	  Move gst_vaapipostproc_fixate_srccaps() to gstvaapiposptprocutil.
8648	  No functional changes.
8649	  https://bugzilla.gnome.org/show_bug.cgi?id=758548
8650
86512016-05-05 15:19:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8652
8653	* gst/vaapi/gstvaapipostproc.c:
8654	  vaapipostproc: simplify code
8655	  Change a convoluted snippet to find the preferred color format in the peer
8656	  caps.
8657	  https://bugzilla.gnome.org/show_bug.cgi?id=758548
8658
86592016-05-05 15:16:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8660
8661	* gst/vaapi/gstvaapipostproc.c:
8662	  vaapipostproc: use othercaps for preferred caps
8663	  Instead of the allowed_srcpad_caps variable, this patch uses the othercaps
8664	  from fixate_caps() vmethod to find the preferred caps feature and color
8665	  format.
8666	  https://bugzilla.gnome.org/show_bug.cgi?id=758548
8667
86682016-05-05 13:46:11 +0200  Scott D Phillips <scott.d.phillips@intel.com>
8669
8670	* gst/vaapi/gstvaapipostproc.c:
8671	  vaapipostproc: add fixate_caps() vmethod
8672	  Instead of fixating the srcpad caps in transform_caps() vmethod, this patch
8673	  implements the fixate_caps() vmethod and moves code around.
8674	  https://bugzilla.gnome.org/show_bug.cgi?id=758548
8675
86762016-05-05 12:07:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8677
8678	* gst/vaapi/Makefile.am:
8679	* gst/vaapi/gstvaapipostproc.c:
8680	* gst/vaapi/gstvaapipostprocutil.c:
8681	* gst/vaapi/gstvaapipostprocutil.h:
8682	  vaapipostproc: set early properties restrictions
8683	  When running transform_caps() vmethod, returning the srcpad caps, the caps are
8684	  early restricted to the element properties set: width, height, format and
8685	  force keep aspect.
8686	  A new file was added gstvaapipostprocutil.{c,h} where the utilities functions
8687	  are stored.
8688	  https://bugzilla.gnome.org/show_bug.cgi?id=758548
8689
86902016-04-25 13:45:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8691
8692	* gst/vaapi/gstvaapipostproc.c:
8693	  vaapipostproc: log the caps transformation
8694	  https://bugzilla.gnome.org/show_bug.cgi?id=758548
8695
86962016-04-27 21:20:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8697
8698	* gst/vaapi/gstvaapipostproc.c:
8699	  vaapipostproc: no GLTextureUpload in sinkpad
8700	  As the vaapipostproc does not process frames with the VideoGLTextureUpload
8701	  meta, the feature is removed from the sink pad template.
8702	  https://bugzilla.gnome.org/show_bug.cgi?id=765931
8703
87042015-09-28 08:49:39 +0100  Julien Isorce <j.isorce@samsung.com>
8705
8706	* gst/vaapi/gstvaapivideobufferpool.c:
8707	  vaapibufferpool: do not create texture upload meta if dmabuf
8708	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
8709
87102016-05-06 12:16:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8711
8712	* git.mk:
8713	  build: update git.mk
8714
87152016-04-29 13:11:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8716
8717	* gst/vaapi/gstvaapipluginbase.h:
8718	  plugin: fix macro processor check
8719	  Instead of #ifdef it should be used #if becasuse USE_GST_GL_HELPERS is always
8720	  defined in config.h, but it would be 0 or 1 depending on the configure output.
8721	  https://bugzilla.gnome.org/show_bug.cgi?id=765702
8722
87232016-04-29 12:53:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8724
8725	* tests/test-display.c:
8726	  tests: display: guard possible unused variables
8727	  https://bugzilla.gnome.org/show_bug.cgi?id=765702
8728
87292016-04-29 12:48:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8730
8731	* tests/codec.c:
8732	* tests/decoder.c:
8733	* tests/image.c:
8734	* tests/output.c:
8735	* tests/simple-decoder.c:
8736	* tests/test-decode.c:
8737	* tests/test-display.c:
8738	* tests/test-filter.c:
8739	* tests/test-h264.c:
8740	* tests/test-jpeg.c:
8741	* tests/test-mpeg2.c:
8742	* tests/test-mpeg4.c:
8743	* tests/test-subpicture-data.c:
8744	* tests/test-subpicture.c:
8745	* tests/test-surfaces.c:
8746	* tests/test-textures.c:
8747	* tests/test-vc1.c:
8748	* tests/test-windows.c:
8749	  tests: inforce gstreamer code-style
8750
87512016-04-27 17:10:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8752
8753	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8754	  encoder: h265: Enable cu_qp_delta_enabled_flag for CBR
8755	  It seems driver requires enablement of cu_qp_delta_enabled_flag
8756	  for modifying QP values to controll the CBR mode bitrate.
8757	  https://bugzilla.gnome.org/show_bug.cgi?id=749852
8758
87592016-04-27 17:06:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8760
8761	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8762	  encoder: h265: Add CBR Encoding support
8763	  https://bugzilla.gnome.org/show_bug.cgi?id=749852
8764
87652015-11-27 05:09:10 +0000  Julien Isorce <j.isorce@samsung.com>
8766
8767	* gst-libs/gst/vaapi/gstvaapisurface.c:
8768	  gstvaapisurface: explicitely clear TILING flag if dmabuf
8769	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
8770
87712015-10-04 23:44:16 +0100  Julien Isorce <j.isorce@samsung.com>
8772
8773	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
8774	  gstvaapisurface_drm: release image when done
8775	  Otherwise intel-vaapi-driver will fail to process the exported surface because
8776	  it will find it is currently derived, so considered as busy.
8777	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
8778
87792015-09-26 06:25:12 +0100  Julien Isorce <j.isorce@samsung.com>
8780
8781	* gst/vaapi/gstvaapipostproc.c:
8782	  vaapipostproc: already have a surface proxy if dmabuf
8783	  https://bugzilla.gnome.org/show_bug.cgi?id=755072
8784
87852016-03-11 08:58:51 +0000  Julien Isorce <j.isorce@samsung.com>
8786
8787	* gst/vaapi/gstvaapipostproc.c:
8788	  various gst-indent
8789
87902016-04-21 15:14:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8791
8792	* gst/vaapi/gstvaapidecode.c:
8793	* gst/vaapi/gstvaapipluginbase.c:
8794	* gst/vaapi/gstvaapipluginbase.h:
8795	  vaapidecode: search driver in whitelist
8796	  If the backend driver vendor string is not in a white-list, and the
8797	  environment variable GST_VAAPI_ALL_DRIVERS is not set either, the decoder will
8798	  change it state from NULL to READY, hence the auto-plug mechanism will look
8799	  for another decoder.
8800	  This patch assumes the GstContext has already being shared along the pipeline
8801	  and the element has a valid GstVaapiDisplay instance.
8802	  https://bugzilla.gnome.org/show_bug.cgi?id=764673
8803
88042016-04-21 12:57:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8805
8806	* gst/vaapi/gstvaapidecode.c:
8807	* gst/vaapi/gstvaapiencode.c:
8808	* gst/vaapi/gstvaapipluginbase.c:
8809	* gst/vaapi/gstvaapipluginbase.h:
8810	* gst/vaapi/gstvaapipostproc.c:
8811	* gst/vaapi/gstvaapisink.c:
8812	  plugins: rework set_context() vmethod definition
8813	  In bug 757598 was added the set_context() vmethod chain up in
8814	  GstVaapiPluginBase. But it is buggy, since the parent_class address is
8815	  assigned to the last element which called gst_vaapi_plugin_base_class_init().
8816	  No error has shown up since none of the element's base classes redefined
8817	  set_context() vmethod from GstElement, so always the correct function was
8818	  called. Still this code is wrong and this patch make it right.
8819	  Since set_context() is the same code, a macro is used to implement that code
8820	  in all the gst-vaapi elements.
8821	  https://bugzilla.gnome.org/show_bug.cgi?id=765368
8822
88232016-04-15 17:57:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8824
8825	* gst/vaapi/gstvaapipostproc.c:
8826	  vaapipostproc: resize if negotiated and allocation caps are different
8827	  Since commit 859a2b2, in vaapidecode, allocation query can be different from
8828	  the negotiated caps.
8829	  When connecting the vaapidecoder to the vaapipostprocessor, the last one will
8830	  resize the frame to the negotiated, if and only if, some other parameter is
8831	  activated to avoid the passthrough. If it is not, the surface won't be mapped
8832	  into a image. If not, the image won't be resized and the output buffer would be
8833	  mapped.
8834	  This patch will break the passthrough if the allocation query is different
8835	  from the negotiation caps, forcing the resizing.
8836	  https://bugzilla.gnome.org/show_bug.cgi?id=765095
8837
88382016-04-05 13:09:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8839
8840	* gst/vaapi/gstvaapidecode.c:
8841	  vaapidecode: improve code readability
8842	  No functional changes.
8843
88442016-04-05 13:37:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8845
8846	* gst/vaapi/gstvaapidecode.c:
8847	  vaapidecode: move GstCapsFeatures near to its use
8848	  Move the handling of the GstCapsFeatures just after it is used, in order to
8849	  avoid handling its memory.
8850
88512016-04-05 13:07:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8852
8853	* gst/vaapi/gstvaapidecode.c:
8854	  vaapidecode: caps negotiation checks
8855	  Check that GLUploadTexture is not negotatiated if gstreamer-vaapi is not
8856	  compiled with GL support.
8857
88582016-03-10 16:43:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8859
8860	* gst/vaapi/gstvaapidecode.c:
8861	* gst/vaapi/gstvaapipluginbase.c:
8862	* gst/vaapi/gstvaapipluginbase.h:
8863	* gst/vaapi/gstvaapipostproc.c:
8864	  plugins: remove param in gst_vaapi_plugin_base_decide_allocation()
8865
88662016-03-10 16:42:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8867
8868	* gst/vaapi/gstvaapidecode.c:
8869	  vaapidecode: bail early if not caps in decide_allocation()
8870
88712016-03-29 14:17:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8872
8873	* gst/vaapi/gstvaapidecode.c:
8874	* gst/vaapi/gstvaapipluginbase.c:
8875	* gst/vaapi/gstvaapipluginutil.c:
8876	* gst/vaapi/gstvaapipluginutil.h:
8877	* gst/vaapi/gstvaapipostproc.c:
8878	  plugin: use allowed caps filter from element
8879	  Instead of using the srcpad template caps for filtering the peer caps, the
8880	  function gst_vaapi_find_preferred_caps_feature(), now receives a new parameter
8881	  for the element's allowed caps.
8882	  With this modification, the vaapipostproc element simplifies a bit its code.
8883	  https://bugzilla.gnome.org/show_bug.cgi?id=765223
8884
88852016-04-18 17:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8886
8887	* gst/vaapi/gstvaapidecode.c:
8888	* gst/vaapi/gstvaapipluginbase.c:
8889	* gst/vaapi/gstvaapipluginutil.c:
8890	* gst/vaapi/gstvaapipluginutil.h:
8891	* gst/vaapi/gstvaapipostproc.c:
8892	  plugin: remove function parameter
8893	  The native format parameter in gst_vaapi_find_preferred_caps_feature() can be
8894	  saved if the out format is used for both: in and out. Thus the code is more
8895	  readable.
8896	  https://bugzilla.gnome.org/show_bug.cgi?id=765223
8897
88982016-04-18 17:17:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8899
8900	* gst/vaapi/gstvaapidecode.c:
8901	  vaapidecode: warns if driver will do color conversions
8902	  If the downstream feature is system memory, the surface has to be mapped,
8903	  hence a warning message is logged saying that the driver has to do color
8904	  conversions. This might be troublesome because not all the color conversion
8905	  combinations are supported by the VA-API drivers, and there is not a reliable
8906	  way to know them before hand.
8907	  https://bugzilla.gnome.org/show_bug.cgi?id=765223
8908
89092016-03-29 13:28:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8910
8911	* gst/vaapi/gstvaapipluginutil.c:
8912	  plugin: honour negotiated format
8913	  Instead of setting the requested format by the caller, the function
8914	  gst_vaapi_find_preferred_caps_feature() now returns, in the output parameter,
8915	  the negotiated format.
8916	  A new helper function was added: gst_vaapi_find_preferred_format(), which,
8917	  given the format list from the negotiated caps, will choose the best one, if
8918	  possible, given the native format.
8919	  https://bugzilla.gnome.org/show_bug.cgi?id=765223
8920
89212016-03-28 19:26:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8922
8923	* gst/vaapi/gstvaapipluginutil.c:
8924	  plugin: simplify caps feature selection
8925	  This patch simplifies the function gst_vaapi_find_preferred_caps_feature().
8926	  Instead of intersecting custom caps to find the preferred feature, the peer
8927	  caps are traversed in order to find the preferred feature, according to an
8928	  ordered feature priority list.
8929	  In the case of GLTextureUploadMeta, the colour format is computed using
8930	  GstVideoInfo of the selected fixed caps.
8931	  https://bugzilla.gnome.org/show_bug.cgi?id=765223
8932
89332016-03-31 16:39:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8934
8935	* gst/vaapi/gstvaapidecode.c:
8936	  vaapidecode: use macros for GstVideoInfo
8937	  Instead of accessing directly to the members of the structure, use the macros.
8938
89392016-04-14 17:02:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8940
8941	* gst/vaapi/gstvaapidecode.c:
8942	  vaapidecode: refactor is_display_resolution_changed()
8943	  Make the comparisons more readable and simple.
8944	  https://bugzilla.gnome.org/show_bug.cgi?id=764316
8945
89462016-04-14 16:43:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8947
8948	* gst/vaapi/gstvaapidecode.c:
8949	* gst/vaapi/gstvaapidecode.h:
8950	  vaapidecode: keep only display_{width,height}
8951	  Instead of keeping the structure GstVideoInfo when we are using its width and
8952	  height, we only keep these two guints.
8953	  https://bugzilla.gnome.org/show_bug.cgi?id=764316
8954
89552016-04-14 16:31:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8956
8957	* gst/vaapi/gstvaapidecode.c:
8958	  vaapidecode: decoded_info is valid at src caps update
8959	  As decoded_info is assured to be valid when gst_vaapidecode_update_src_caps()
8960	  is called, then we don't need to verify or replace it with the sinkpad info
8961	  (reference state).
8962	  https://bugzilla.gnome.org/show_bug.cgi?id=764316
8963
89642016-04-14 16:22:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8965
8966	* gst/vaapi/gstvaapidecode.c:
8967	  vaapidecode: always a valid format in decoded_info
8968	  Always set a valid format in decoded_info class variable.
8969	  https://bugzilla.gnome.org/show_bug.cgi?id=764316
8970
89712016-03-25 15:31:28 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8972
8973	* gst/vaapi/gstvaapidecode.c:
8974	  vaapidecode: code style fixes
8975	  No functional changes.
8976	  https://bugzilla.gnome.org/show_bug.cgi?id=764316
8977
89782016-04-14 16:10:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8979
8980	* gst/vaapi/gstvaapidecode.c:
8981	  vaapidecode: init {decoded,display}_info at open()
8982	  It is required to initialize {decoded,display}_info variables when the decoder
8983	  is open, not only at instance initialization.
8984	  https://bugzilla.gnome.org/show_bug.cgi?id=764316
8985
89862016-03-28 15:30:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8987
8988	* gst/vaapi/gstvaapidecode.c:
8989	* gst/vaapi/gstvaapidecode.h:
8990	  vaapidecode: remove spurious class variables
8991	  active, do_pool_renego and do_outstate_renego class variables were used to
8992	  indicate when negotiate downstream once, but now that each time a new surface
8993	  resolution is pop out a renegotation verified, these variable are not required
8994	  anymore.
8995	  https://bugzilla.gnome.org/show_bug.cgi?id=764316
8996
89972016-04-14 15:46:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8998
8999	* gst/vaapi/gstvaapidecode.c:
9000	* gst/vaapi/gstvaapipluginbase.c:
9001	* gst/vaapi/gstvaapipluginbase.h:
9002	* gst/vaapi/gstvaapipostproc.c:
9003	  remove custom allocation query
9004	  When resolving bug 753914, a custom allocation query was added, overlapping
9005	  the responsibilities of GstVideoDecoder.
9006	  But with the merge of the patches from bug 764421 this overlapping was not
9007	  required anymore. This patch restores this situation setting the
9008	  allocation_caps in the GstVideoCodecState when needed.
9009	  https://bugzilla.gnome.org/show_bug.cgi?id=764316
9010
90112016-04-14 10:04:47 +0100  Julien Isorce <j.isorce@samsung.com>
9012
9013	* common:
9014	  Automatic update of common submodule
9015	  From 6f2d209 to ac2f647
9016
90172016-04-13 15:44:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9018
9019	* gst/vaapi/gstvaapidecode.c:
9020	* gst/vaapi/gstvaapidecodebin.c:
9021	* gst/vaapi/gstvaapipostproc.c:
9022	  plugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX
9023	  The plugins should not expose the feature meta:GstVideoGLTextureUploadMeta in
9024	  their caps templates if they were not compiled either with GLX or EGL support.
9025
90262016-04-13 20:33:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9027
9028	* gst/vaapi/gstvaapipluginutil.c:
9029	  plugins: fix compilation when EGL/GLX is disabled
9030	  The compiler might complain of gst_vaapi_create_display_from_handle() being
9031	  unused if both EGL and GLX are disabled. This patch avoid that compilation
9032	  error.
9033
90342016-04-13 14:09:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
9035
9036	* gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
9037	  libs: fix deleting a GstVaapiCodedBufferPool object
9038	  Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
9039	  Otherwise it is not called when the pool is destroyed and all objects
9040	  referenced by the GstVaapiVideoPool are never released.
9041	  https://bugzilla.gnome.org/show_bug.cgi?id=764993
9042
90432016-04-07 18:03:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9044
9045	* gst-libs/gst/vaapi/gstvaapisurface.c:
9046	  surface: destroy derived image
9047	  If gst_vaapi_image_new_with_image() fails, the created derived image should be
9048	  destroyed, otherwise the surface cannot be processed because is being used.
9049	  https://bugzilla.gnome.org/show_bug.cgi?id=764607
9050
90512016-03-18 20:00:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9052
9053	* gst/vaapi/gstvaapidecode.c:
9054	  vaapidecode: add stop function
9055	  Clear any status on the current stream:
9056	  stored frames, caps and decoder configuration
9057	  https://bugzilla.gnome.org/show_bug.cgi?id=763460
9058
90592016-04-01 14:00:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9060
9061	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9062	  decoder: vp9: Align with the ABI changes in vp9 codecparser
9063	  The subsampling_x, subsampling_y, bit_depth, color_space and color_range
9064	  fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
9065	  These fields are only present in keyframe or intra-only frame, no need to
9066	  duplicate them for inter-frames.
9067	  https://bugzilla.gnome.org/show_bug.cgi?id=764082
9068
90692016-04-01 13:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9070
9071	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9072	  decoder: vp9 : Add 10bit decoding support (Profile2)
9073	  https://bugzilla.gnome.org/show_bug.cgi?id=764082
9074
90752016-04-01 13:57:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9076
9077	* gst-libs/gst/vaapi/gstvaapiprofile.c:
9078	* gst-libs/gst/vaapi/gstvaapiprofile.h:
9079	  gstvaapiporfile: Add more VP9 profile definitions
9080	  https://bugzilla.gnome.org/show_bug.cgi?id=764082
9081
90822016-02-03 20:34:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9083
9084	* Makefile.am:
9085	* configure.ac:
9086	  build: possibility to disable tests
9087	  The configuration option --disable-examples will disable the compilation of
9088	  the sample apps in tests/ directory.
9089
90902016-03-29 14:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9091
9092	* gst/vaapi/gstvaapiencode_h264.c:
9093	* gst/vaapi/gstvaapiencode_h265.c:
9094	* gst/vaapi/gstvaapiencode_jpeg.c:
9095	* gst/vaapi/gstvaapiencode_mpeg2.c:
9096	* gst/vaapi/gstvaapiencode_vp8.c:
9097	* gst/vaapi/gstvaapipluginutil.h:
9098	* gst/vaapi/gstvaapisink.c:
9099	  unify caps template for VAAPI encoders and decoders
9100	  There is no difference in VAAPI surface caps between encoders and decoders.
9101	  Thus, the patch makes a simplification by removing encoders specific caps and
9102	  shares the same definition of VAAPI surfaces caps for all the elements.
9103
91042016-03-10 17:42:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9105
9106	* gst/vaapi/gstvaapidecode.c:
9107	  vaapidecode: move gst_vaapidecode_negotiate() code
9108	  With it we can remove a function declaration, making the code a bit
9109	  more readable.
9110	  https://bugzilla.gnome.org/show_bug.cgi?id=764316
9111
91122016-03-29 13:50:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9113
9114	* docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
9115	* docs/plugins/gstreamer-vaapi-plugins-sections.txt:
9116	* gst/vaapi/gstvaapidecode.c:
9117	  docs: generate vaapijpegdec documentation
9118	  https://bugzilla.gnome.org/show_bug.cgi?id=764314
9119
91202016-03-30 14:37:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9121
9122	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9123	  decoder: h265: Fix offset calculation when there is more than one vps/sps/pps present in codec_data
9124	  The array_completeness, reserved bit and num_nal_units fields
9125	  in HEVCDecoderConfigurationRecord will be present for each VPS/SPS/PPS array list,
9126	  but not for each occurance of similar headers.
9127	  https://bugzilla.gnome.org/show_bug.cgi?id=764274
9128
91292016-03-29 15:34:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9130
9131	* gst-libs/gst/vaapi/video-format.c:
9132	  video-format: Keep the HW order preference while mapping to GstVideoFormats
9133
91342016-03-29 15:02:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9135
9136	* gst/vaapi/gstvaapidecode.c:
9137	* gst/vaapi/gstvaapipluginbase.c:
9138	* gst/vaapi/gstvaapipluginutil.c:
9139	* gst/vaapi/gstvaapipluginutil.h:
9140	* gst/vaapi/gstvaapivideomemory.c:
9141	  gst/vaapi: keep precedence for NV12 over I420
9142	  Use NV12 as default "assumption" format all over.
9143	  NV12 is the default high priority format used my most of the
9144	  vaapi-drivers.
9145
91462016-03-29 14:34:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9147
9148	* gst/vaapi/gstvaapidecode.c:
9149	  vaapidecode: Use video format derived from decoded surface as default src pad format
9150	  Use the surface format derived from first decoded surface
9151	  to negotiate the downstream video format capabilities.
9152	  https://bugzilla.gnome.org/show_bug.cgi?id=759181
9153
91542016-03-29 14:34:00 +0300  Scott D Phillips <scott.d.phillips@intel.com>
9155
9156	* gst-libs/gst/vaapi/gstvaapiimage.c:
9157	* gst-libs/gst/vaapi/video-format.c:
9158	* gst/vaapi/gstvaapidecode.c:
9159	* gst/vaapi/gstvaapipluginutil.h:
9160	* gst/vaapi/gstvaapisink.c:
9161	  Add P010 video format support
9162	  The P010 video format is the native format used by the vaapi intel driver
9163	  for HEVCMain10 decode . Add support for planes and images of this video format.
9164	  https://bugzilla.gnome.org/show_bug.cgi?id=759181
9165
91662016-03-27 09:11:00 +0000  Stephen <elfarto@elfarto.com>
9167
9168	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
9169	  libs: x11: allows 30-bit colour depth
9170	  The colour depth is clamped to 24 when it is not equal {15,16,24,32}. But this
9171	  fails with the NVIDIA binary driver as it doesn't advertise a TrueColor visual
9172	  with a depth of 24 (only 30 and 32). Allowing the depth to be 30, lets everything
9173	  work as expected.
9174	  https://bugzilla.gnome.org/show_bug.cgi?id=764256
9175
91762016-03-28 13:13:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9177
9178	* gst/vaapi/gstvaapivideometa_texture.c:
9179	  gltextureupload: use an array for texture type
9180	  Instead of using a single value for the texture type, use an array with 4
9181	  elements, just as the GstVideoGLTextureUploadMeta, avoiding a buffer
9182	  overflow.
9183	  https://bugzilla.gnome.org/show_bug.cgi?id=764231
9184
91852016-03-24 15:09:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9186
9187	* gst/vaapi/gstvaapidecode.c:
9188	* gst/vaapi/gstvaapipluginbase.c:
9189	  vaapidecode: Fix decide_allocation handling
9190	  Set the already configured pool in decide_allocation query
9191	  in cases where pool renegotiation is not required.
9192	  https://bugzilla.gnome.org/show_bug.cgi?id=753914
9193
91942016-03-24 15:09:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9195
9196	* gst/vaapi/gstvaapidecode.c:
9197	  vaapidecode: Derive and save the decoded surface format
9198	  After the decoding of first frame, try to extract the exact
9199	  decoded surface format using vaDeriveImage and keep this
9200	  as the format in decoded_info.
9201	  https://bugzilla.gnome.org/show_bug.cgi?id=753914
9202
92032016-03-24 15:08:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9204
9205	* gst/vaapi/gstvaapidecode.c:
9206	* gst/vaapi/gstvaapidecode.h:
9207	* gst/vaapi/gstvaapipluginbase.c:
9208	* gst/vaapi/gstvaapipluginbase.h:
9209	* gst/vaapi/gstvaapipostproc.c:
9210	  Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed
9211	  -- Maintaing decoded surface resoluton and actual display resoultion separately
9212	  -- Before pushing every frames downstream, check for the requirement of pool negoation and
9213	  output_state negotiation: This is needed to avoid multiple issuses with cropping,
9214	  multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
9215	  possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
9216	  We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
9217	  This is slight overhead, but safe enough. Optimization could be possible though.
9218	  https://bugzilla.gnome.org/show_bug.cgi?id=753914
9219
92202016-03-24 15:08:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9221
9222	* gst/vaapi/gstvaapidecode.c:
9223	  vaapidecode: Delay the output format setting until we have a decoded surface
9224	  This will help to consoidate the out caps negotiation to a single place,
9225	  which will make the code simpler, allows to get the exact decoded format
9226	  if needed and the selected chroma type too.
9227	  https://bugzilla.gnome.org/show_bug.cgi?id=753914
9228
92292016-03-24 13:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9230
9231	* gst/vaapi/gstvaapidecode.h:
9232	  vaapidecode: GST_VAAPIDECODE macro is a cast
9233	  This patch is the continuation of commit 1e1d3b1d because the function
9234	  gst_vaapidecode_get_type() got undefined since then.
9235	  Now, the macro GST_VAAPIDECODE is a simple cast to the GstVaapiDecode
9236	  structure. The rest of the GObject handling macros were deleted too.
9237
92382016-03-24 13:34:18 +0200  Sebastian Dröge <sebastian@centricular.com>
9239
9240	* configure.ac:
9241	  Back to development
9242
9243=== release 1.8.0 ===
9244
92452016-03-24 13:11:05 +0200  Sebastian Dröge <sebastian@centricular.com>
9246
9247	* ChangeLog:
9248	* NEWS:
9249	* configure.ac:
9250	* gstreamer-vaapi.doap:
9251	  Release 1.8.0
9252
9253=== release 1.7.91 ===
9254
92552016-03-15 12:39:20 +0200  Sebastian Dröge <sebastian@centricular.com>
9256
9257	* ChangeLog:
9258	* NEWS:
9259	* configure.ac:
9260	* gstreamer-vaapi.doap:
9261	  Release 1.7.91
9262
92632016-03-11 17:44:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9264
9265	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9266	  decoder: h265: Fix offset calculation in codec_data parsing
9267	  https://bugzilla.gnome.org/show_bug.cgi?id=762922
9268
92692016-03-09 20:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9270
9271	* gst/vaapi/gstvaapidecodebin.c:
9272	  vaapidecodebin: don't handle jpeg decoding
9273	  As JPEG decoder has been split and demoted, it cannot be handled by
9274	  vaapidecodebin
9275	  Added a fixme comment regarding the future removal of vaapidecode.
9276	  https://bugzilla.gnome.org/show_bug.cgi?id=734093
9277
92782016-03-09 20:25:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9279
9280	* gst/vaapi/gstvaapidecode.c:
9281	  vaapidecode: split out jpeg decoder
9282	  Split, as a different element, the JPEG decoder.
9283	  https://bugzilla.gnome.org/show_bug.cgi?id=734093
9284
92852016-03-09 18:41:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9286
9287	* gst/vaapi/gstvaapi.c:
9288	* gst/vaapi/gstvaapidecode.c:
9289	* gst/vaapi/gstvaapidecode.h:
9290	  vaapidecode: register decoder with internal GType
9291	  Don't expose the the vaapidecode GType, instead expose a function
9292	  which will register element.
9293	  This is the first step to split the decoder by codecs.
9294	  https://bugzilla.gnome.org/show_bug.cgi?id=734093
9295
92962016-03-10 12:47:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9297
9298	* gst/vaapi/gstvaapidecode.c:
9299	  vaapidecode: remove unused function declaration
9300	  There is no need to pre-declare gst_vaapidecode_update_sink_caps(). And fixed
9301	  code-style of the other pre-declared functions.
9302
93032016-03-09 18:58:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9304
9305	* docs/plugins/Makefile.am:
9306	  build: git ignore gtkdoc generated files
9307
93082016-03-09 18:55:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9309
9310	* m4/Makefile.am:
9311	  build: handle git ignore in m4 directory
9312
93132016-03-04 20:17:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9314
9315	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9316	  vaapidecoder_h265: plug leak of h265 parsing info
9317	  If something goes wrong while parsing, the info object is
9318	  being leaked
9319	  https://bugzilla.gnome.org/show_bug.cgi?id=763121
9320
93212016-03-04 20:17:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9322
9323	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9324	  vaapidecoder_h264: plug leak of h264 parsing info
9325	  If something goes wrong while parsing, the info object is
9326	  being leaked
9327	  https://bugzilla.gnome.org/show_bug.cgi?id=763121
9328
93292016-03-09 11:03:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
9330
9331	* gst/vaapi/gstvaapipluginutil.c:
9332	  plugins: fix gstgl and vaapi memory leaks
9333	  1\ Unref gl_display and gl_window as soon they are not needed.
9334	  2\ Remove an unneeded display type check, since is handled by
9335	  gst_vaapi_created_display_from_handle()
9336	  3\ Unref vaapi's display if the display cannot be bind to a GL API.
9337	  Modified-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9338	  https://bugzilla.gnome.org/show_bug.cgi?id=763354
9339
93402016-03-09 14:13:24 +0900  Vineeth TM <vineeth.tm@samsung.com>
9341
9342	* gst-libs/gst/vaapi/gstvaapidisplay.c:
9343	  vaapidisplay: Fix uninitialized value error for VA attribute
9344	  https://bugzilla.gnome.org/show_bug.cgi?id=763362
9345
93462016-03-08 10:47:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9347
9348	* gst/vaapi/gstvaapidecode.c:
9349	* gst/vaapi/gstvaapiencode.c:
9350	  plugins: proxy information from downstream caps
9351	  Propagate to upstream the downstream information, such as fps, par, etc.
9352	  This will fix several "getcaps" critical warnings in gst-validate.
9353	  https://bugzilla.gnome.org/show_bug.cgi?id=763300
9354
93552016-03-04 10:51:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9356
9357	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9358	  decoder: vp9: Assign values for profile and bit_depth from frame header
9359	  bit_depth field has added only in VA-API 0.39.0, added version check.
9360
93612016-03-04 09:12:13 +0200  Sebastian Dröge <sebastian@centricular.com>
9362
9363	* Makefile.am:
9364	  build: Dist gstreamer-vaapi.doap and configure.ac/autogen.sh
9365	  https://bugzilla.gnome.org/show_bug.cgi?id=763067
9366
9367=== release 1.7.90 ===
9368
93692016-03-01 19:23:51 +0200  Sebastian Dröge <sebastian@centricular.com>
9370
9371	* ChangeLog:
9372	* NEWS:
9373	* configure.ac:
9374	* gstreamer-vaapi.doap:
9375	  Release 1.7.90
9376
93772016-03-01 16:14:47 +0200  Sebastian Dröge <sebastian@centricular.com>
9378
9379	* configure.ac:
9380	  configure: Use AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO to set release date
9381
93822016-03-01 11:35:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9383
9384	* gst/vaapi/gstvaapidecode.c:
9385	  vaapidecode: intersect with filter in getcaps()
9386	  In commit 6034734d I forgot to add the caps filter intersection in the
9387	  getcaps() vmethod generating a regression when a capsfilter is set in the
9388	  pipeline.
9389	  This commit adds the caps filter intersection.
9390
93912016-02-29 11:55:27 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
9392
9393	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9394	  Add memset to initialize value for VAEncSliceParameterBufferJPEG
9395	  https://bugzilla.gnome.org/show_bug.cgi?id=762850
9396
93972016-02-26 12:42:46 +0200  Sebastian Dröge <sebastian@centricular.com>
9398
9399	* common:
9400	  Automatic update of common submodule
9401	  From b64f03f to 6f2d209
9402
94032016-02-24 12:36:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9404
9405	* Makefile.am:
9406	* configure.ac:
9407	* m4/Makefile.am:
9408	  build: add m4 directory
9409	  Instead of rely on the automatic creation of m4 directory by aclocal, we
9410	  already control it. Later we could create our own m4 scripts in order to
9411	  unclutter configure.ac
9412	  https://bugzilla.gnome.org/show_bug.cgi?id=762528
9413
94142016-02-23 10:55:02 +0200  Scott D Phillips <scott.d.phillips@intel.com>
9415
9416	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9417	  decoder: hevc: Fill dependent slice segment headers while parsing
9418	  Copy the data into the dependent slice segment header from the
9419	  corresponding independent slice segment header during parsing.
9420	  Previously the reference to the "previous" independent header was
9421	  held through the parsing phase and then dereferenced during the
9422	  decoding phase. This caused all dependent headers to be populated
9423	  with the data of the AU's last independent header instead of the
9424	  proper corresponding header.
9425	  https://bugzilla.gnome.org/show_bug.cgi?id=762352
9426	  Changes since v1:
9427	  - Reworded commit message
9428
94292016-02-17 13:43:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9430
9431	* gst/vaapi/gstvaapidecode.c:
9432	  vaapidecode: use video decoder getcaps()
9433	  The usage of getcaps() vmethod is preferred than to handle manually the sink's
9434	  caps query.
9435	  In order to avoid function declarations, this patch moves the class_init()
9436	  method to the end of the file.
9437
94382016-02-17 12:51:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9439
9440	* gst/vaapi/gstvaapipluginbase.c:
9441	  plugins: remove deprecated code
9442	  Since we are only supporting current GStreamer version, since 1.3
9443	  gst_buffer_pool_config_add_option() checks if the option to add is
9444	  already set. There is no need to do it ourselves.
9445
94462016-02-19 19:03:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9447
9448	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9449	  vaapidecoder_h265: fix parsing of NALU aligned data
9450	  Don't assume the whole buffer is a single NAL, instead look for the
9451	  next start code in case there are multiple NALs per buffer.
9452	  https://bugzilla.gnome.org/show_bug.cgi?id=762328
9453
94542016-02-19 11:10:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9455
9456	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9457	  vaapidecoder_h264: fix parsing of NALU aligned data
9458	  Don't assume the whole buffer is a single NAL, instead look for the
9459	  next start code in case there are multiple NALs per buffer.
9460	  https://bugzilla.gnome.org/show_bug.cgi?id=762328
9461
94622016-02-18 10:13:53 +0900  Vineeth TM <vineeth.tm@samsung.com>
9463
9464	* gst/vaapi/gstvaapisink.c:
9465	  vaapisink: Fix event,pad,structure memory leaks
9466	  https://bugzilla.gnome.org/show_bug.cgi?id=762229
9467
94682016-02-17 15:40:54 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
9469
9470	* gst/vaapi/gstvaapipluginbase.c:
9471	  Add icamerasrc as dmabuf capable peer element
9472	  icamerasrc is another gstreamer plugin using to capture RAW
9473	  frames from camera device. It is based on libcamhal library.
9474	  There are some properties available to control icamera behavior.
9475	  Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
9476	  Tested & Reviewed: Zhu Haiyang <haiyang.zhu@intel.com>
9477	  https://bugzilla.gnome.org/show_bug.cgi?id=759481
9478	  Fixme: This is the similar workaround we done for v4l2src.
9479	  The workaround will be removed once we fix #755072
9480
94812016-02-17 17:15:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
9482
9483	* gst/vaapi/gstvaapipluginbase.c:
9484	  vaapipluginbase: Fix structure memory leak
9485	  config structure is not being freed in all cases
9486	  https://bugzilla.gnome.org/show_bug.cgi?id=762172
9487
94882016-02-17 17:20:08 +0900  Vineeth TM <vineeth.tm@samsung.com>
9489
9490	* gst/vaapi/gstvaapidecode.c:
9491	  vaapidecode: Fix videocodec state memory leak
9492	  When state is not NULL and either width/height of video info is 0, then state leaks
9493	  https://bugzilla.gnome.org/show_bug.cgi?id=762173
9494
94952016-02-16 15:44:48 +0000  Tim-Philipp Müller <tim@centricular.com>
9496
9497	* gst/vaapi/gstvaapisink.c:
9498	  vaapisink: post message for application for unhandled keyboard/mouse events
9499	  Makes (most) keyboard shortcuts work in gst-play-1.0 when
9500	  the video window has focus.
9501
95022016-02-16 08:48:43 +0900  Vineeth TM <vineeth.tm@samsung.com>
9503
9504	* gst/vaapi/gstvaapidecode.c:
9505	  vaapidecode: Fix capsfeature memory leak
9506	  https://bugzilla.gnome.org/show_bug.cgi?id=762116
9507
95082016-02-16 08:15:40 +0900  Vineeth TM <vineeth.tm@samsung.com>
9509
9510	* gst/vaapi/gstvaapisink.c:
9511	  vaapisink: Fix capsfeature memory leak
9512	  caps feature allocated is not being freeing in some cases
9513	  https://bugzilla.gnome.org/show_bug.cgi?id=762111
9514
95152016-02-16 15:09:01 +0200  Sebastian Dröge <sebastian@centricular.com>
9516
9517	* configure.ac:
9518	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
9519	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
9520	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
9521	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9522	* gst-libs/gst/vaapi/gstvaapifilter.c:
9523	* gst/vaapi/gstvaapidecodebin.c:
9524	* gst/vaapi/gstvaapipluginutil.c:
9525	  vaapi: Fix various compiler warnings and disable -Wredundant-decls for now
9526
95272016-02-16 14:36:39 +0200  Sebastian Dröge <sebastian@centricular.com>
9528
9529	* configure.ac:
9530	  configure: Fix setting of extra compiler warning flags
9531
95322016-02-15 18:00:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9533
9534	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
9535	  libs: fix build error
9536	  gst_vaapi_buffer_proxy_{acquire_handle,release_handle,finalize,class}
9537	  functions are used only when libva's API version is greater than 0.36.0
9538	  This patch guards those functions completely rather than just their
9539	  content. The patch is a continuation of commit 38f8fea4
9540	  Original-patch-by: Vineeth TM <vineeth.tm@samsung.com>
9541	  https://bugzilla.gnome.org/show_bug.cgi?id=762055
9542
95432016-02-15 10:01:54 +0900  Vineeth TM <vineeth.tm@samsung.com>
9544
9545	* tests/simple-encoder.c:
9546	  tests: simple-encoder: fix build error
9547	  argument mismatch of gsize with 'long unsigned int'
9548	  https://bugzilla.gnome.org/show_bug.cgi?id=762055
9549
95502016-02-04 10:16:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9551
9552	* gst/vaapi/gstvaapisink.c:
9553	  vaapisink: Fix wrong caps advertising
9554	  The get_caps() should only report the supported formats.
9555	  https://bugzilla.gnome.org/show_bug.cgi?id=761147
9556
95572016-02-05 18:11:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9558
9559	* common:
9560	  Automatic update of common submodule
9561	  From e97c9bb to b64f03f
9562
95632016-02-03 19:07:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9564
9565	* docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
9566	* docs/plugins/gstreamer-vaapi-plugins-sections.txt:
9567	* gst/vaapi/gstvaapi.c:
9568	* gst/vaapi/gstvaapiencode_h264.c:
9569	* gst/vaapi/gstvaapiencode_h265.c:
9570	* gst/vaapi/gstvaapiencode_jpeg.c:
9571	* gst/vaapi/gstvaapiencode_mpeg2.c:
9572	* gst/vaapi/gstvaapiencode_vp8.c:
9573	  rename encoders to vaapi{codec}enc
9574	  Trying to comply with GStreamer's element names, this patch renames the
9575	  encoders using the name format vaapi{codec}enc.
9576	  In this way, the plugin documentation is linked correctly.
9577	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9578
95792016-02-03 18:42:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9580
9581	* configure.ac:
9582	  Use new AG_GST_ARG_ENABLE_EXTRA_CHECKS #define
9583	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9584
95852016-02-03 18:02:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9586
9587	* configure.ac:
9588	  build: remove vp9 parser check
9589	  Since the VP9 parser was added in gst-plugins-bad 1.7.1 we can remove safely
9590	  the check of the parser, as we did for the others.
9591	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9592
95932016-02-03 17:06:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9594
9595	* common:
9596	* configure.ac:
9597	  Back to development
9598	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9599
9600=== release 1.6.0 ===
9601
96022016-02-03 16:53:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9603
9604	* configure.ac:
9605	  Release 1.6.0
9606
96072016-02-03 16:45:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9608
9609	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
9610	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9611	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9612	  libs: fix compiler warnings
9613	  After setting the release flags, the compiler warns about a couple
9614	  initialized variables.
9615	  Also marked a couple of set variables as unused, because they are only
9616	  used for assertion.
9617	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9618
96192016-01-29 20:41:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9620
9621	* docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
9622	* docs/plugins/gstreamer-vaapi-plugins-sections.txt:
9623	* gst/vaapi/gstvaapidecode.c:
9624	* gst/vaapi/gstvaapidecodebin.c:
9625	* gst/vaapi/gstvaapiencode_h264.c:
9626	* gst/vaapi/gstvaapiencode_h265.c:
9627	* gst/vaapi/gstvaapiencode_jpeg.c:
9628	* gst/vaapi/gstvaapiencode_mpeg2.c:
9629	* gst/vaapi/gstvaapiencode_vp8.c:
9630	* gst/vaapi/gstvaapipostproc.c:
9631	* gst/vaapi/gstvaapisink.c:
9632	  docs: update plugin documentation
9633	  Update all the documentation of elements of the vaapi plugin.
9634	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9635
96362016-01-29 15:39:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9637
9638	* Makefile.am:
9639	* configure.ac:
9640	* docs/Makefile.am:
9641	* docs/plugins/Makefile.am:
9642	* docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
9643	* docs/plugins/gstreamer-vaapi-plugins.types:
9644	* docs/reference/Makefile.am:
9645	* docs/reference/plugins/Makefile.am:
9646	* docs/reference/plugins/plugins-sections.txt:
9647	* docs/reference/plugins/plugins.types:
9648	* docs/version.entities.in:
9649	  resurrect gtk-doc machinery
9650	  Our auto-generated documentation has been a bit neglected. This patch replaces
9651	  the 'normal' gtk-doc with the one used in GStreamer, which is adapted for
9652	  plugins, elements and libraries.
9653	  This patch also re-enables documentation generation.
9654	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9655
96562016-01-28 19:35:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9657
9658	* ChangeLog:
9659	* Makefile.am:
9660	* autogen.sh:
9661	* configure.ac:
9662	  use gst-common submodule
9663	  This is 'the' big change in gstreamer-vaapi autoconf. Now it uses the official
9664	  GStreamer common submodule.
9665	  The documentation generation has been disable temporarily since it needs a
9666	  major rework, which will be done in the following commit.
9667	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9668
96692016-01-25 16:06:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9670
9671	* .gitmodules:
9672	* common:
9673	  add gst-common submodule
9674	  Pointing to branch 1.6
9675	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9676
96772016-01-28 13:28:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9678
9679	* gstreamer-vaapi.doap:
9680	  add doap descriptor
9681	  DOAP (Description of a Project) is an RDF Schema and XML vocabulary to
9682	  describe software projects, in particular free and open source software.
9683	  The description is used in GStreamer as in many other open source projects.
9684	  This patch adds the doap description of this project.
9685	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9686
96872016-02-03 11:50:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9688
9689	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
9690	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9691	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
9692	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
9693	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
9694	* gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
9695	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
9696	* gst-libs/gst/vaapi/gstvaapiimage.c:
9697	* gst-libs/gst/vaapi/gstvaapiparser_frame.c:
9698	* gst-libs/gst/vaapi/gstvaapipixmap.c:
9699	* gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
9700	* gst-libs/gst/vaapi/gstvaapiprofile.c:
9701	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
9702	  libs: humongous code style fix
9703	  As part of the upstreaming process of gstreamer-vaapi into the GStreamer
9704	  umbrella, we need to comply with the project's code style. This meant to
9705	  change a lot of code.
9706	  It was decided to use a single massive patch to update the code style.
9707	  I would like to apologize with the original developers of this code because of
9708	  the history breakage.
9709	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9710
97112016-02-03 11:04:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9712
9713	* gst-libs/gst/vaapi/gstvaapicontext.c:
9714	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9715	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
9716	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
9717	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9718	* gst/vaapi/gstvaapivideomemory.c:
9719	  libs: small refactors to enhance the code style
9720	  As gst-indent generated ugly code in these cases, this patch changes the used
9721	  idiomatic into other one.
9722	  No functional changes were introduced.
9723	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9724
97252016-02-02 17:59:57 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9726
9727	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
9728	* gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
9729	* gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
9730	* gst-libs/gst/vaapi/gstvaapidecoder.c:
9731	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9732	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
9733	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
9734	* gst-libs/gst/vaapi/gstvaapidisplay.c:
9735	* gst-libs/gst/vaapi/gstvaapiencoder.c:
9736	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9737	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9738	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
9739	* gst-libs/gst/vaapi/gstvaapifilter.c:
9740	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
9741	* gst-libs/gst/vaapi/gstvaapisurface.c:
9742	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
9743	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
9744	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
9745	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
9746	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
9747	* gst-libs/gst/vaapi/gstvaapiwindow.c:
9748	* gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
9749	  libs: small code style fixes
9750	  This a set of small code style fixes detected as-is by gst-indent.
9751	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9752
97532016-02-02 17:50:19 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9754
9755	* gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
9756	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
9757	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
9758	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
9759	* gst-libs/gst/vaapi/gstvaapitexture_egl.c:
9760	* gst-libs/gst/vaapi/gstvaapitexture_glx.c:
9761	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
9762	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
9763	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9764	  libs: trivial comment style fixes
9765	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9766
97672016-02-02 17:31:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9768
9769	* gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
9770	* gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
9771	  libs: avoid gst-indent mess up
9772	  Guard pieces of code to avoid gst-ident to mess up the following code.
9773	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9774
97752016-02-03 12:17:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9776
9777	* gst/vaapi/gstvaapidecode.c:
9778	* gst/vaapi/gstvaapidecodebin.c:
9779	* gst/vaapi/gstvaapipluginutil.c:
9780	* gst/vaapi/gstvaapisink.c:
9781	* gst/vaapi/gstvaapivideomemory.c:
9782	  plugins: fix code style
9783	  Minor code style changes by executing gst-indent in gst/vaapi directory.
9784	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9785
97862016-02-01 13:22:10 +0000  Tim-Philipp Müller <tim@centricular.com>
9787
9788	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9789	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9790	  Fix some more compiler warning
9791	  Two (false) compiler warnings about variables potentially
9792	  being used uninitialized, and one about a variable being
9793	  set but not used.
9794	  https://bugzilla.gnome.org/show_bug.cgi?id=759192
9795
97962016-02-01 13:02:13 +0000  Tim-Philipp Müller <tim@centricular.com>
9797
9798	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9799	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
9800	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9801	* gst-libs/gst/vaapi/gstvaapifilter.c:
9802	* gst/vaapi/gstvaapidecode.c:
9803	* gst/vaapi/gstvaapipluginbase.c:
9804	* gst/vaapi/gstvaapipluginutil.c:
9805	* gst/vaapi/gstvaapipostproc.c:
9806	* tests/simple-encoder.c:
9807	* tests/test-filter.c:
9808	  vaapi: fix 'ISO C90 forbids mixed declarations and code' compiler warnings
9809	  Declare variables at the beginning of a code block, which
9810	  is how it's done in GStreamer.
9811	  https://bugzilla.gnome.org/show_bug.cgi?id=759192
9812
98132016-01-28 14:21:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9814
9815	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9816	  decoder: vp9: Fix crop rectangle setting
9817	  Align with software vp9dec behaviour: Add crop rectangle
9818	  only if display_width/display_height is less than the
9819	  frame_hdr->width/frame_hdr->height
9820
98212016-01-27 08:56:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9822
9823	* gst/vaapi/gstvaapidecode.c:
9824	  vaapidecode: Fix renegotiation for resolution change
9825	  Always renegotiate the pool if the immediate frame which going
9826	  to be pushed has a different un-cropped resolution than the already
9827	  configured one.
9828
98292016-01-29 15:51:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9830
9831	* gst/vaapi/gstvaapipluginbase.h:
9832	  plugins: use the same pre-processor macro
9833	  In gstvaapipluginbase.c we are using the macro USE_GST_GL_HELPERS to guard the
9834	  code related with GstGL. Nonetheless, in gstvaapipluginbase.h we are using
9835	  HAVE_GST_GL_GL_H macro in order to include the GstGLContext's header.
9836	  We should use only one to be homogeneous. This patch sets USE_GST_GL_HELPERS
9837	  in the header file.
9838	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9839
98402016-01-29 18:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9841
9842	* gst-libs/gst/vaapi/gstvaapidecoder.c:
9843	  decoder: update a deprecated function
9844	  Somehow this didn't show up earlier, but gst_adapter_prev_timestamp() got
9845	  deprecated since GStreamer 1.0.
9846	  This patch replace it with gst_adapter_prev_pts()
9847	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9848
98492016-01-29 13:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9850
9851	* configure.ac:
9852	  build: honor configure's cache
9853	  The user might enable --config-cache when calling configure script. If so, our
9854	  configuration variables will not be correctly calculated.
9855	  This patch extracts the value of our variables either from the cache or from
9856	  the operation result.
9857	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9858
98592016-01-28 19:12:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9860
9861	* configure.ac:
9862	  build: use common version variables
9863	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9864
98652016-01-28 19:01:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9866
9867	* configure.ac:
9868	  build: hard-code an unneeded macro
9869	  That macro is required for EGL's dynamic module loading, but since
9870	  gstreamer-vaapi doesn't creates dynamic modules, it is not required anymore.
9871	  That code in gst-libs/gst/vaapi/gstvaapidisplay_egl.c should be removed.
9872	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9873
98742016-01-28 17:14:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9875
9876	* configure.ac:
9877	  build: refactorization of dependency tracking
9878	  This patch tries to avoid branching in configure.ac using a more functional
9879	  approach in macros usage.
9880	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9881
98822016-01-29 12:34:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9883
9884	* configure.ac:
9885	  build: check for OpenGL either GLX or EGL are requested
9886	  Refactor some code in configure.ac to centralize $enable_opengl definition.
9887	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9888
98892016-01-28 16:55:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9890
9891	* configure.ac:
9892	  build: indent and add square braces
9893	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9894
98952016-01-28 16:50:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9896
9897	* configure.ac:
9898	  build: upgrade autotools version dependency
9899	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9900
99012016-01-29 11:14:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9902
9903	* configure.ac:
9904	  build: enhance string comparisons
9905	  Add a 'x' as a prefix in string comparisons to watch out for edge cases where
9906	  the string is empty or undefined.
9907	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9908
99092016-01-28 14:29:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9910
9911	* configure.ac:
9912	  build: remove unused variables
9913	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9914
99152016-01-27 19:00:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9916
9917	* configure.ac:
9918	  build: remove check for old version of gstreamer
9919	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9920
99212016-01-27 17:55:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9922
9923	* configure.ac:
9924	  build: remove GStreamer's parsers checks
9925	  This patch removes almost all the parsers check since they are already in place,
9926	  with the exception of the VP9 parser, since it was merged in Gstreamer 1.7.
9927	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9928
99292016-01-29 12:11:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9930
9931	* configure.ac:
9932	* gst/vaapi/Makefile.am:
9933	  build: add gstreamer-pbutils dependency
9934	  This dependency was added in gstvaapidecodebin with the call
9935	  gst_missing_element_message_new().
9936	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9937
99382016-01-27 17:53:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9939
9940	* configure.ac:
9941	  build: fix variable declaration
9942	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9943
99442016-01-27 17:47:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9945
9946	* gst-libs/gst/vaapi/Makefile.am:
9947	  build: fix when HEVC decoder is disabled
9948	  This a very pathological situation: when we have a HEVC encoder but not a HEVC
9949	  decoder.
9950	  The encoder needs functions that are only available when the decoder is
9951	  enabled.
9952	  This patch moves the utils functions into the generic sources, such as the
9953	  rest of the utils.
9954	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9955
99562016-01-27 17:20:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9957
9958	* gst/vaapi/Makefile.am:
9959	  build: remove unused EGL specific sources
9960	  These Makefile variables are not used at all.
9961	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9962
99632016-01-27 17:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9964
9965	* gst/vaapi/Makefile.am:
9966	  build: remove check for GStreamer 1.2
9967	  Since we are working for current stable GStreamer 1.6
9968	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9969
99702016-01-26 11:49:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9971
9972	* gst/vaapi/gstvaapiparse.h:
9973	  Remove more video parser crufts
9974	  This header is not used anymore since it declares parsers that are
9975	  already in GStreamer 1.6
9976	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9977
99782016-01-25 12:43:15 +0000  Tim-Philipp Müller <tim@centricular.com>
9979
9980	* configure.ac:
9981	* docs/reference/Makefile.am:
9982	* docs/reference/libs/Makefile.am:
9983	* docs/reference/libs/libs-docs.xml.in:
9984	* docs/reference/libs/libs-overrides.txt:
9985	* docs/reference/libs/libs-sections.txt:
9986	  docs: remove library documentation which is non-public now
9987	  https://bugzilla.gnome.org/show_bug.cgi?id=759192
9988
99892016-01-25 12:40:49 +0000  Tim-Philipp Müller <tim@centricular.com>
9990
9991	* Makefile.am:
9992	* configure.ac:
9993	* debian.upstream/Makefile.am:
9994	* debian.upstream/changelog.in:
9995	* debian.upstream/compat:
9996	* debian.upstream/control.in:
9997	* debian.upstream/copyright:
9998	* debian.upstream/gstreamer-vaapi-doc.install.in:
9999	* debian.upstream/gstreamer-vaapi.install.in:
10000	* debian.upstream/rules:
10001	  Remove debian.upstream packaging
10002	  https://bugzilla.gnome.org/show_bug.cgi?id=759192
10003
100042016-01-22 19:27:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10005
10006	* gst-libs/gst/vaapi/gstvaapidecoder.c:
10007	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10008	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
10009	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10010	* gst-libs/gst/vaapi/gstvaapiprofile.c:
10011	* gst/vaapi/gstcompat.h:
10012	* gst/vaapi/gstvaapi.c:
10013	* gst/vaapi/gstvaapidecode.c:
10014	* gst/vaapi/gstvaapiencode.c:
10015	* gst/vaapi/gstvaapipluginbase.c:
10016	* gst/vaapi/gstvaapipluginbase.h:
10017	* gst/vaapi/gstvaapipluginutil.c:
10018	* gst/vaapi/gstvaapisink.c:
10019	  Remove old gst version guards
10020	  As gstreamer-vaapi now only supports from GStreamer 1.6, this patch removes
10021	  all the old GStreamer version guards.
10022	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10023
100242016-01-22 19:23:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10025
10026	* gst/vaapi/gstvaapiparse.c:
10027	  Remove video parser crufts
10028	  We forgot to remove gstvaapiparse.c when we removed all the videoparser
10029	  machinery.
10030	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10031
100322015-12-09 19:52:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10033
10034	* docs/reference/libs/Makefile.am:
10035	* docs/reference/plugins/Makefile.am:
10036	* gst-libs/gst/vaapi/Makefile.am:
10037	* gst/vaapi/Makefile.am:
10038	* tests/Makefile.am:
10039	  libs: remove versioning
10040	  Since we don't install libraries anymore, it makes no sense to keep
10041	  versioning them according to the gstreamer's version.
10042	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10043
100442015-12-09 16:59:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10045
10046	* configure.ac:
10047	* debian.upstream/Makefile.am:
10048	* debian.upstream/control.in:
10049	* debian.upstream/libgstvaapi-dev.install.in:
10050	* debian.upstream/libgstvaapi-drm.install.in:
10051	* debian.upstream/libgstvaapi-glx.install.in:
10052	* debian.upstream/libgstvaapi-wayland.install.in:
10053	* debian.upstream/libgstvaapi-x11.install.in:
10054	* debian.upstream/libgstvaapi.install.in:
10055	* gst-libs/gst/vaapi/Makefile.am:
10056	* tests/Makefile.am:
10057	  libs: make libraries no installables
10058	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10059
100602015-12-09 15:37:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10061
10062	* debian.upstream/libgstvaapi-dev.install.in:
10063	* gst-libs/gst/vaapi/Makefile.am:
10064	  Do not install libgstvaapi headers
10065	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10066
100672016-01-19 10:40:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10068
10069	* Makefile.am:
10070	* configure.ac:
10071	* patches/Makefile.am:
10072	* patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
10073	* patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
10074	* patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
10075	* patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
10076	* patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
10077	* patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
10078	* patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
10079	* patches/videoparsers/Makefile.am:
10080	* patches/videoparsers/series.frag:
10081	  Remove videoparser patches
10082
100832015-12-09 15:18:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10084
10085	* Makefile.am:
10086	* configure.ac:
10087	* debian.upstream/libgstvaapi-dev.install.in:
10088	* pkgconfig/Makefile.am:
10089	* pkgconfig/gstreamer-vaapi-drm.pc.in:
10090	* pkgconfig/gstreamer-vaapi-glx.pc.in:
10091	* pkgconfig/gstreamer-vaapi-wayland.pc.in:
10092	* pkgconfig/gstreamer-vaapi-x11.pc.in:
10093	* pkgconfig/gstreamer-vaapi.pc.in:
10094	  Remove pkg-config files
10095	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10096
100972015-12-09 13:24:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10098
10099	* .gitmodules:
10100	* Makefile.am:
10101	* configure.ac:
10102	* ext/Makefile.am:
10103	* ext/codecparsers:
10104	* gst-libs/gst/Makefile.am:
10105	* gst-libs/gst/codecparsers/Makefile.am:
10106	* gst-libs/gst/vaapi/Makefile.am:
10107	* gst/vaapi/Makefile.am:
10108	  Remove codecparsers submodule
10109	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10110
101112015-12-08 00:36:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10112
10113	* .gitmodules:
10114	* autogen.sh:
10115	* configure.ac:
10116	* debian.upstream/libgstvaapi.install.in:
10117	* ext/Makefile.am:
10118	* ext/libvpx/Makefile.am:
10119	* ext/libvpx/gstlibvpx.c:
10120	* ext/libvpx/gstlibvpx.h:
10121	* ext/libvpx/libgstcodecparsers_vpx.vers:
10122	* ext/libvpx/sources.frag:
10123	* ext/libvpx/upstream:
10124	* gst-libs/gst/codecparsers/Makefile.am:
10125	* gst-libs/gst/codecparsers/gstvaapilibvpx.c:
10126	  Remove libvpx submodule
10127	  We will be using upstream codecparsers always.
10128	  No more internal libvpx !
10129
101302015-12-09 14:12:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10131
10132	* configure.ac:
10133	  build: fix check for GstJpegParser
10134	  Right now the local JPEG parser is always compiled because the check for the
10135	  upstreamed version is broken: it looks for an non existent symbol:
10136	  GstJpegImage.
10137	  This patch changes that check for< GstJpegFrameHdr.
10138	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10139
101402015-10-28 09:56:46 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
10141
10142	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10143	  wayland: free the frame in frame_release_callback()
10144	  This basically reverts 62c3888b76afc69f714a020957e8c5dd9d98f561 (wayland:
10145	  decouple wl_buffer from frame).
10146	  Otherwise the frame may be overwritten while it is still used by the
10147	  compositer:
10148	  The frame done callback (frame_done_callback()) is called, when the
10149	  compositor is done processing the frame and hands it to the hardware.
10150	  The buffer release callback (frame_release_callback()) is called when the
10151	  buffer memory is no longer used.
10152	  This can be quite some time later: E.g. if weston (with the DRM backend)
10153	  puts the buffer on a hardware plane, then then buffer release callback is
10154	  called when the kernel is done with the buffer. This is usually when the
10155	  next frame is shown, so most likely after the frame done callback for the
10156	  next frame!
10157	  Since 70eff01d36a2870cbf06ffb91c2a941e8cb6b804 "wayland: sync() when
10158	  destroy()" the mentioned possible leak should no longer be a problem, so
10159	  reverting this change should cause no leaking buffers.
10160	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10161	  https://bugzilla.gnome.org/show_bug.cgi?id=758848
10162	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10163
101642016-01-14 17:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10165
10166	* gst/vaapi/gstvaapipostproc.c:
10167	  vaapipostproc: check ANY caps at transform_caps()
10168	  When transforming downstream caps we should check for ANY caps from peer pad,
10169	  otherwise we get a segmentation fault.
10170	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10171	  https://bugzilla.gnome.org/show_bug.cgi?id=759893
10172
101732016-01-13 19:17:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10174
10175	* gst/vaapi/gstvaapisink.c:
10176	  vaapisink: ignore frame if its upload failed
10177	  When gst_vaapi_plugin_base_get_input_buffer() fail to copy the input buffer
10178	  into a VAAPI buffer, the return value is GST_FLOW_NOT_SUPPORTED, and it was
10179	  ignored by the vaapisink, leading to a segmentation fault.
10180	  This patch ignores the frame that generated the GST_FLOW_NOT_SUPPORTED
10181	  returned by gst_vaapi_plugin_base_get_input_buffer(), avoiding the
10182	  segmentation fault, but doing and effort to continue rendering. This is
10183	  the same behavior of ximagesink.
10184	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10185	  https://bugzilla.gnome.org/show_bug.cgi?id=759332
10186
101872015-12-09 18:24:50 +0200  Joel Holdsworth <joel.holdsworth@vcatechnology.com>
10188
10189	* configure.ac:
10190	  build: Don't ignore GST_PLUGIN_PATH_1_0 even if the directory doesn't exist yet
10191	  https://bugzilla.gnome.org/show_bug.cgi?id=759184
10192
101932015-12-08 16:14:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10194
10195	* gst-libs/gst/vaapi/gstvaapicontext.c:
10196	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10197	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
10198	* gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
10199	  Add 10 HEVC 10 bit decoding support
10200	  Only supporting vaapidecode ! vaapisink combination for now.
10201	  Missing dependencies:
10202	  1: No support for P010 video format in GStreamer
10203	  2: No support for P010 vaGetImage()/vaPutimage() in vaapi-intel-driver
10204	  3: As a result of 1&2 , we have no support for Vaapi Video memory mapping
10205	  through GstVideoMeta.
10206	  Right now we only set chroma format (YUV420 with more than 8 bits per channel)
10207	  for surface pool and keeping GST_VIDEO_FORMAT as ENCODED. The underlying format
10208	  of the surfaces is implementation (driver) defined, which is P010.
10209
102102001-01-01 04:59:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10211
10212	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
10213	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
10214	  gstvaapisurfacepool: Add new API to create surface pool based on chroma type
10215	  This new API gst_vaapi_surface_pool_new_with_chroma_type() is for
10216	  creating a new GstVaapiVideoPool of GstVaapiSurfaces with the specified
10217	  chroam type and dimensions. The underlying format of the surfaces is
10218	  implementation (driver) defined.
10219
102202015-12-07 19:06:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10221
10222	* gst-libs/gst/vaapi/gstvaapisurface.h:
10223	* gst-libs/gst/vaapi/gstvaapiutils.c:
10224	  Add definitions for YUV420 with more than 8 bits per channel
10225
102262015-12-07 17:26:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10227
10228	* gst-libs/gst/vaapi/gstvaapiprofile.c:
10229	  gstvaapiporfile: Fix string representation of HEVCMain10 profile
10230
102312015-12-07 16:17:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10232
10233	* configure.ac:
10234	  Bump version for development
10235
10236=== release 0.7.0 ===
10237
102382015-12-07 12:52:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10239
10240	* configure.ac:
10241	  0.7.0
10242
102432015-12-07 12:49:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10244
10245	* NEWS:
10246	  NEWS: Updates
10247
102482015-12-07 12:47:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10249
10250	* AUTHORS:
10251	  AUTHORS: Update
10252
102532015-12-07 12:39:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10254
10255	* README:
10256	  README: Update
10257
102582015-11-26 10:34:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10259
10260	* gst-libs/gst/vaapi/gstvaapitexture_glx.c:
10261	  texture: detect GL version and use the proper API
10262	  When receiving the texture from the application or the video sink, we must
10263	  know it size and border. To query the texture the API has changed according to
10264	  the OpenGL version used in the GL context of the application/vsink.
10265	  This patch checks the current context API type and queries the texture
10266	  according to this detected API.
10267	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10268	  https://bugzilla.gnome.org/show_bug.cgi?id=753099
10269
102702015-11-26 10:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10271
10272	* gst-libs/gst/vaapi/gstvaapitexture_glx.c:
10273	  texture: check for expected target and format
10274	  gst_vaapi_texture_glx_new_wrapped() only handles a GL_TEXTURE_2D target and
10275	  formats GL_RGBA or GL_BGRA.
10276	  This patch adds a debugging verification of those values.
10277	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10278	  https://bugzilla.gnome.org/show_bug.cgi?id=753099
10279
102802015-11-26 10:26:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10281
10282	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
10283	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
10284	  libs: add gl3_bind_texture_2d()
10285	  Since OpenGL3.1 removed the fixed pipelines[1] enabling 2D textures is not
10286	  needed. In particular, the Intel's Mesa implementation complains if it is
10287	  called.
10288	  This patch add a new binding function for 2D textures, without enabling
10289	  gl3_bind_texture_2d()[2].
10290	  1. https://www.opengl.org/wiki/Fixed_Function_Pipeline
10291	  2. https://www.opengl.org/wiki/Common_Mistakes#OOP_and_hidden_binding
10292	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10293	  https://bugzilla.gnome.org/show_bug.cgi?id=753099
10294
102952015-11-26 10:14:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10296
10297	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
10298	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
10299	  libs: add gl_get_current_api()
10300	  In order to know which OpenGL API use, we must detect the API type of current
10301	  context. This patch adds the function gl_get_current_api() which returns the
10302	  OpenGL API type.
10303	  This function is an adaptation of gst_gl_context_get_current_gl_api() from
10304	  GstGL.
10305	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10306	  https://bugzilla.gnome.org/show_bug.cgi?id=753099
10307
103082015-11-27 12:29:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10309
10310	* configure.ac:
10311	* gst-libs/gst/vaapi/Makefile.am:
10312	  build: Add gmodule dependency for libgstvaapi_egl
10313	  https://bugzilla.gnome.org/show_bug.cgi?id=756259
10314
103152015-11-27 14:24:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10316
10317	* patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
10318	* patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
10319	* patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
10320	* patches/videoparsers/series.frag:
10321	  patches/videoparsers: h264: Disable passthorugh mode enabling
10322	  This is a quick fix for regression introduced by the upstream
10323	  commit e8908f5aeef952566f6bccde743c7735d3f8c6ef in h264 videoparser.
10324	  The patch is disabling the passthrough mode, otherwise it will
10325	  break multi-layer mvc stream parsing.
10326	  https://bugzilla.gnome.org/show_bug.cgi?id=758656
10327
103282015-11-25 15:12:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10329
10330	* gst/vaapi/Makefile.am:
10331	* patches/videoparsers/Makefile.am:
10332	* patches/videoparsers/series.frag:
10333	  build: add gsth265parse patches conditionally
10334	  As gsth265parse was added in GStreamer 1.4, and gstreamer-vaapi still support
10335	  GStreamer 1.2, the patching of gsth265parse must be conditional to the target
10336	  GStreamer version.
10337	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10338	  https://bugzilla.gnome.org/show_bug.cgi?id=755525
10339
103402015-11-25 15:11:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10341
10342	* gst/vaapi/Makefile.am:
10343	  build: declare correctly parse lib built files
10344	  This is a continuation of commit fc8a0d12
10345	  When declaring BUILT_SOURCES, those files should not be distributed. This
10346	  patch avoids the distribution of the generated source code.
10347	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10348	  https://bugzilla.gnome.org/show_bug.cgi?id=755525
10349
103502015-11-24 17:14:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10351
10352	* ext/libvpx/sources.frag:
10353	  build: libvpx: Add missing source file
10354
103552015-11-23 17:21:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10356
10357	* gst/vaapi/gstvaapipostproc.c:
10358	  vaapipostproc: Correctly detect the caps change
10359	  This is a quick fix for regression introuduced by the
10360	  commit 757833230bc73b8e3b4e31649e4618ba802bea51
10361	  With out this, the gst_vaapipostproc_create() will
10362	  never get invoked.
10363	  https://bugzilla.gnome.org/show_bug.cgi?id=758543
10364
103652015-11-18 20:48:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10366
10367	* ext/libvpx/Makefile.am:
10368	* ext/libvpx/sources.frag:
10369	  build: libvpx: update the sources lists
10370	  `make dist` broke since commit f06798 (libvpx: Update the submodule to
10371	  libvpx-1.4.0) because the sources.frag does not contain all the module
10372	  sources.
10373	  This patch updates thoroughly the sources.
10374	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10375	  https://bugzilla.gnome.org/show_bug.cgi?id=755525
10376
103772015-11-16 17:49:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10378
10379	* gst/vaapi/gstvaapipostproc.c:
10380	  vaapipostproc: don't set caps change at first set
10381	  When the source caps change, the filter is destroyed and recreated.
10382	  Nonetheless, this happens every time the vaapipostproc starts, since the caps
10383	  change detection algorithm does not take in consideration when the caps are
10384	  set by first time.
10385	  This patch intents to be an optimization, to avoid a useless filter
10386	  destroy-creation cycle when the sources caps are set for first time.
10387	  The new helper function video_info_update() is a refactorization to avoid
10388	  duplicated code.
10389	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10390	  https://bugzilla.gnome.org/show_bug.cgi?id=758007
10391
103922015-11-12 16:13:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10393
10394	* gst/vaapi/gstvaapipostproc.c:
10395	  vaapipostproc: params video_info_changed() callers
10396	  The signature is video_info_changed(old_vip, new_vip). Nonetheless the callers
10397	  swapped the the order. This didn't raise problems since the comparison of both
10398	  structures were not affected by its semantics.
10399	  But still it would be better to fix this to keep the coherence of the code.
10400	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10401	  https://bugzilla.gnome.org/show_bug.cgi?id=758007
10402
104032015-09-24 10:35:44 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10404
10405	* gst/vaapi/Makefile.am:
10406	  build: declare real built files
10407	  When runnig the `make dist` target from a clean tree, it fails because
10408	  if could not find the copied files from codecparsers submodule.
10409	  They weren't copied because they weren't declared as built sources.
10410	  This patch removes the stamp mechanism and use the actual file list to copy
10411	  as the built sources. Also it fixes the duplication of the parser files.
10412	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10413	  https://bugzilla.gnome.org/show_bug.cgi?id=755525
10414
104152015-11-17 19:37:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10416
10417	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10418	  decoder: vp9: Fix last/golden/altref frame index setting
10419	  Always fill VADecPictureParameterBufferVP9 last/golden/altref indices
10420	  based on what ever reference frame indices encoded in frame header.
10421
104222015-08-25 16:01:51 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10423
10424	* debian.upstream/rules:
10425	  debian: remove custom parallel compilation
10426	  In order to build a debian package with upstream source, the user should
10427	  do
10428	  ./autogen.sh
10429	  cp -a debian.upstream debian
10430	  debuild -eDEB_BUILD_OPTIONS="parallel=8" -us -uc -b
10431	  The environment variable DEB_BUILD_OPTIONS="parallel=8" is the canonical
10432	  way to make a parallel build (-j8 in this case).
10433	  This commit removes the script in debian/rules that detects the number of
10434	  cpus, requested by the environment variable DEBIAN_BUILD_NCPUS, which is not
10435	  official in debian.
10436	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10437	  https://bugzilla.gnome.org/show_bug.cgi?id=754087
10438
104392015-11-16 18:22:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10440
10441	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10442	  decoder: vp9: Fix PTS calculation of cloned frames
10443
104442015-11-16 18:22:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10445
10446	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10447	  decoder: vp9: Avoid unnecessary show_frame flag checking while doing picture output
10448	  We always set GST_VAAPI_PICTURE_FLAG_SKIPPED for DECODE_ONLY frames and the
10449	  gstvaapidecoder base calss is reponsible for handling those frames later on.
10450	  No need for explicit verification of frame header's show_frame in order to
10451	  do picture outputing.
10452
104532015-11-16 18:22:14 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10454
10455	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10456	  decoder: vp9: Fix ref picture update while doing repeat frame
10457	  Don't try to do frame decoding and reference picture update
10458	  while receiving a vp9 frame having show_existing_frame flag
10459	  set as TRUE.
10460
104612015-11-16 18:21:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10462
10463	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10464	  decoder: vp9: Add repeat-frame display handling
10465	  If vp9 frame header come up with show_existing_frame flag set,
10466	  we should duplicate the existing decoded frame as current frame to
10467	  be displayed.
10468
104692015-11-12 11:07:38 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10470
10471	* gst/vaapi/gstvaapidecodebin.c:
10472	  vaapidecodebin: add me as element co-author
10473	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10474	  https://bugzilla.gnome.org/show_bug.cgi?id=757957
10475
104762015-11-12 12:47:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10477
10478	* gst/vaapi/gstvaapidecodebin.c:
10479	  vaapidecodebin: try to get display from decoder
10480	  Rather than create a dummy display, if none has propagated as a context, we
10481	  should try to get the one from vaapidecode.
10482	  As the bin is already in READY state, the vaapidecode should be also in that
10483	  state. That means that the contexts have been negotiated, and it should have
10484	  already a display.
10485	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10486	  https://bugzilla.gnome.org/show_bug.cgi?id=757957
10487
104882015-11-11 19:04:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10489
10490	* gst/vaapi/gstvaapidecodebin.c:
10491	* gst/vaapi/gstvaapidecodebin.h:
10492	  vaapidecodebin: add postprocessor dynamically
10493	  The former approach to left the bin unfinished has some problems: the context
10494	  cannot be shared because the vaapidecode is unlinked in many cases, leading to
10495	  creating a VADisplay twice.
10496	  Initially the bin is fully functional, constructed as
10497	  (-----------------------------------)
10498	  |            vaapidecodebin         |
10499	  |   (-------------)    (-------)    |
10500	  |<--| vaapidecode |--->| queue |--->|
10501	  |   (-------------)    (-------)    |
10502	  (-----------------------------------)
10503	  When the context is shared and the VADisplay has VPP capabilities, before
10504	  changing to READY state, the bin is reconfigured dynamically, adding the
10505	  vaapipostproc element afeter the queue:
10506	  (--------------------------------------------------------)
10507	  |                       vaapidecodebin                   |
10508	  |   (-------------)    (-------)    (---------------)    |
10509	  |<--| vaapidecode |--->| queue |--->| vaapipostproc |--->|
10510	  |   (-------------)    (-------)    (---------------)    |
10511	  (--------------------------------------------------------)
10512	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10513	  https://bugzilla.gnome.org/show_bug.cgi?id=757957
10514
105152015-11-11 16:33:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10516
10517	* gst/vaapi/gstvaapidecodebin.c:
10518	  vaapidecodebin: delay the bin configuration
10519	  Delay the bin configuration until changing to READY state. This is because we
10520	  should add the vaapipostproc element until the vaapidecode has emitted the
10521	  HAVE_CONTEXT message, so de gst_bin_add() could set the context set to
10522	  vaapipostproc.
10523	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10524	  https://bugzilla.gnome.org/show_bug.cgi?id=757957
10525
105262015-11-13 19:39:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10527
10528	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10529	  decoder: vp9: Add crop rectangle support.
10530	  Set crop rectange if:
10531	  There is display_width and display_height which is different from actual width/height
10532	  or
10533	  The changed resolution is less than the actual configured dimension of surfaces
10534
105352015-11-13 19:23:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10536
10537	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10538	  decoder: vp9: Fix the context and surface pool reset for multi resolution video
10539	  Unlike other decoders, vp9 decoder doesn't need to reset the
10540	  whole context and surfaces for each resolution change. Context
10541	  reset only needed if resolution of any frame is greater than
10542	  what actullay configured. There are streams where a bigger
10543	  resolution set in ivf header or webm header but actual resolution
10544	  of all frames are less. Also it is possible to have inter-prediction
10545	  between these multi resolution frames.
10546
105472015-11-13 18:58:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10548
10549	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10550	  decoder: vp9: Fill the VADecPictureParameterBufferVP9 width/height from frame header
10551	  Always fill width/height of VADecPictureParameterBufferVP9 from frame header.
10552	  Preliminary fix for supproting multi resolution video decode.
10553
105542015-11-13 18:51:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10555
10556	* gst/vaapi/gstvaapidecode.c:
10557	  vaapidecode: Add comments for corner case fixes and fix couple of indentations.
10558
105592015-11-13 18:41:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10560
10561	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10562	  decoder: vp9: Set lossless flag from frame header
10563
105642015-11-13 18:40:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10565
10566	* ext/codecparsers:
10567	  codecparsers: Update to gst-vaapi-branch d9f25
10568	  d9f2527: codecparsers: vp9: Set lossless flag in frame header
10569
105702015-11-11 19:16:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10571
10572	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10573	  libs: vp9: remove unused symbols
10574	  clang complains about a couple variables and one label which were not
10575	  used. This patch removes them.
10576	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10577	  https://bugzilla.gnome.org/show_bug.cgi?id=757958
10578
105792015-11-10 19:00:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10580
10581	* ext/codecparsers:
10582	  codecparsers: Update to gst-vaapi-branch da251bb
10583	  da251bb: codecparsers: vp9: Optimize the memory allocation
10584	  f5759f4: codecparsers: vp9: Fix the wrong memcpy of probability arrays
10585
105862015-11-05 12:58:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10587
10588	* gst/vaapi/gstvaapipluginbase.c:
10589	* gst/vaapi/gstvaapipluginbase.h:
10590	  plugin: guard pointers to pad query functions
10591	  Since gstreamer 1.4 is not required to have pad query functions if the query
10592	  vmethods are used.
10593	  This patch guards out the pad query functions for gstreamer < 1.4
10594	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10595	  https://bugzilla.gnome.org/show_bug.cgi?id=757629
10596
105972015-11-05 12:39:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10598
10599	* gst/vaapi/gstvaapiencode.c:
10600	  vaapiencode: use pad query vmethods
10601	  GstVideoEncoder, the base class of vaapiencode, added support for pad queries
10602	  as virtual methods since gstreamer 1.4. This patch enables those vmethods,
10603	  while keeps support for previous versions of gstreamer.
10604	  This patch is relevant since GstVideoEncoder takes care of other queries that
10605	  we are currently ignoring.
10606	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10607	  https://bugzilla.gnome.org/show_bug.cgi?id=757629
10608
106092015-10-28 13:01:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10610
10611	* gst/vaapi/gstvaapidecode.c:
10612	  vaapidecode: return pad's template caps if no display
10613	  A caps query can occur before the element has a display. In that case, the
10614	  element can return its pad's template. But when the element already has a
10615	  display, and the caps probe fails, the element shall return an empty caps, so
10616	  the auto-plug could try with another decoder.
10617	  If the element has a display and the caps probe works, then the computed caps
10618	  should be returned.
10619	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10620	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10621
106222015-10-28 12:59:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10623
10624	* gst/vaapi/gstvaapidecode.c:
10625	* gst/vaapi/gstvaapisink.c:
10626	  plugins: don't create display at caps query
10627	  Caps query can happen before the element has a bus. The display creation should
10628	  be should occur on the context negotiation, when the bus is already configured.
10629	  Then at caps query no display should be created.
10630	  Instead of force the display creation, we graciously fail the allowed_caps()
10631	  creation.
10632	  This change only applies for vaapidecode and vaapisink. The vaapipostroc, as a
10633	  basetransform descendant, seems to be not affected by this, nor the encoders.
10634	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10635	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10636
106372015-11-04 21:38:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10638
10639	* gst/vaapi/gstvaapidecode.c:
10640	* gst/vaapi/gstvaapiencode.c:
10641	* gst/vaapi/gstvaapipluginutil.c:
10642	* gst/vaapi/gstvaapipluginutil.h:
10643	* gst/vaapi/gstvaapipostproc.c:
10644	* gst/vaapi/gstvaapisink.c:
10645	  plugins: fix context query handling
10646	  The current context query handling design is flawed: the function
10647	  gst_vaapi_reply_to_query() returns FALSE either if the query is not a
10648	  GST_CONTEXT_QUERY of if the query could not be handled correctly. But the
10649	  pad query function should handle differently each case.
10650	  This patch changes the gst_vaapi_reply_to_query() for
10651	  gst_vaapi_handle_context_query() and changes it usage in all the vaapi plugins
10652	  to match the correct context query handling.
10653	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10654	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10655
106562015-11-04 20:37:05 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10657
10658	* gst/vaapi/gstvaapipluginutil.c:
10659	  plugin: don't lose previous context at query
10660	  When processing the GST_CONTEXT_QUERY we should not lose the previous
10661	  context in the query, we should only add our display structure.
10662	  This patch copies the old context, if it is there, and stamp our display on
10663	  it. Otherwise, a new context is created.
10664	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10665	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10666
106672015-11-04 20:29:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10668
10669	* gst/vaapi/gstvaapivideocontext.c:
10670	* gst/vaapi/gstvaapivideocontext.h:
10671	  vaapivideocontext: add gst_vaapi_video_context_set_display()
10672	  This function set the display to an already created context. This function is
10673	  going to be used later.
10674	  Also, gst_vaapi_video_context_new_with_display() now uses this function.
10675	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10676	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10677
106782015-10-30 12:27:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10679
10680	* gst/vaapi/gstvaapipluginutil.c:
10681	* gst/vaapi/gstvaapivideocontext.c:
10682	* gst/vaapi/gstvaapivideocontext.h:
10683	  plugins: check if display is set in sync
10684	  Since the context messages are sync'ed, the display assignation happens in the
10685	  same thread, hence we can know if the display was found or not as soon we call
10686	  for it.
10687	  In order to take advantage of it, gst_vaapi_video_context_prepare() receives,
10688	  as a new parameter, the address of the plugin's display, and reports back if
10689	  the display was found and set.
10690	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10691	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10692
106932015-10-30 12:33:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10694
10695	* gst/vaapi/gstvaapipluginutil.c:
10696	* gst/vaapi/gstvaapivideocontext.c:
10697	  plugins: set display through context
10698	  Instead of setting the display to the plugin directly after its creation, do
10699	  it through the gstreamer's context mechanism, avoiding double assignations.
10700	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10701	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10702
107032015-11-02 18:20:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10704
10705	* gst/vaapi/gstvaapivideocontext.c:
10706	  vaapivideocontext: rename context structure
10707	  The context structure is named "display" which is too generic. The contrary
10708	  happens, for example, with GstGL, what uses the same name as the context, and
10709	  its logs make more sense.
10710	  This patch renames the context structure with the same name as the
10711	  context, thus GST_PTR_FORMAT can pretty print it.
10712	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10713
107142015-11-04 19:02:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10715
10716	* gst/vaapi/gstvaapivideocontext.c:
10717	  vaapivideocontext: refactor gst_vaapi_video_context_prepare()
10718	  First, refactorized run_context_query() into _gst_context_run_query(), adding
10719	  a new parameter: the pad direction, in order to simplify the code.
10720	  Second, added a new helper function: _gst_context_query(), which is a generic
10721	  context query function.  It isolates the operation of running the query and
10722	  sets the context if found, also it enhances the logs.
10723	  _gst_context_query() is similar to the one used in GstGL. Perhaps, in the
10724	  future this helper function will be merged into the core libraries of
10725	  GStreamer.
10726	  Finally, gst_vaapi_video_context_prepare() was rewritten to use
10727	  _gst_context_query().
10728	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10729	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10730
107312015-10-30 11:18:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10732
10733	* gst/vaapi/gstvaapivideocontext.c:
10734	  vaapivideocontext: refactor context category debug
10735	  Refactor the extraction GST_CAT_CONTEXT logging using a only once
10736	  initializator, so we could get the debug category from different code
10737	  paths, safely.
10738	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10739	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10740
107412015-10-23 11:17:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10742
10743	* gst/vaapi/gstvaapivideocontext.c:
10744	  gstvaapivideocontext: fix indentation
10745	  gst-indent does not handle correctly some expression like function
10746	  declaration with attributes, breaking the following expressions.
10747	  This patch makes gst-indent to ignore the attributed function
10748	  declartion so the followed function definition is not mangled, such
10749	  as happened in commit b4154a
10750	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10751	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10752
107532015-11-02 16:48:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10754
10755	* gst/vaapi/gstvaapipluginbase.c:
10756	  plugin: chain up set_context() vmethod
10757	  Since Gstreamer 1.7, set_context() vmethod needs to be chained up with
10758	  the parent class in order to broadcast all its contexts when the element
10759	  is added into a bin:
10760	  http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=d5ded1588920c4471eefe055d09095d9e5e989b5
10761	  There is no need to guard the call, because before GStreamer 1.7, the
10762	  set_context() vmethod was NULL in the element class, hence the conditional
10763	  call make it safe.
10764	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10765	  https://bugzilla.gnome.org/show_bug.cgi?id=757598
10766
107672015-11-06 10:20:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10768
10769	* tests/simple-encoder.c:
10770	  tests: simple-encoder: remove dead code
10771	  The caps creation for codec state configuration is not used. Let's remove it.
10772	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10773
107742015-11-02 19:05:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10775
10776	* gst/vaapi/gstvaapidecodebin.c:
10777	  vaapidecodebin: fix a leaked display instance
10778	  The display returned by gst_vaapi_video_context_get_display() increments the
10779	  references. Thus, we have to unref the returned display.
10780	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10781	  https://bugzilla.gnome.org/show_bug.cgi?id=757595
10782
107832015-11-04 16:50:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10784
10785	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
10786	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
10787	  libs: remove unneeded headers
10788	  Since gstvaapidisplay_glx.h do not expose gl.h/glx.h structures, it is not
10789	  required to include them in the header. It is not also required to include
10790	  them in gstvaapidisplay_glx.c, since gstvaapiutils_glx.h includes them and
10791	  exposes their structures (e.g. GLXPixmap).
10792	  Nonetheless, glext.h neither glxext.h are required to include, they are
10793	  already included conditionally by gl.h and glx.h, respectively.
10794	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10795	  https://bugzilla.gnome.org/show_bug.cgi?id=757577
10796
107972015-11-06 19:18:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10798
10799	* ext/codecparsers:
10800	  codecparsers: Update to gst-vaapi-branch 0ea6792
10801	  0ea6792: codecparsers: vp9: Add header comments
10802	  347ffc7: codecparsers: vp9: Use g_slice_free() for releasing memory allocated from the slice allocator
10803
108042015-11-06 15:19:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10805
10806	* gst/vaapi/gstvaapidecode.c:
10807	  VP9: plugins: Add VP9 decoder
10808
108092015-11-06 15:12:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10810
10811	* gst-libs/gst/vaapi/Makefile.am:
10812	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10813	* gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
10814	  VP9: libgstvaapi: Add VP9 decoder
10815
108162015-11-06 14:57:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10817
10818	* gst-libs/gst/vaapi/gstvaapiprofile.c:
10819	* gst-libs/gst/vaapi/gstvaapiprofile.h:
10820	  VP9: gstvaapiprofile: Add profile definitions
10821
108222015-11-06 14:39:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10823
10824	* configure.ac:
10825	  VP9: build: Check availability of vp9 decoder APIs
10826
108272015-11-06 14:24:08 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10828
10829	* configure.ac:
10830	* ext/Makefile.am:
10831	* gst-libs/gst/codecparsers/Makefile.am:
10832	  VP9: Allow building vp9 codecparser internally
10833
108342015-11-06 12:38:46 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10835
10836	* ext/codecparsers:
10837	  codecparsers: Update to gst-vaapi-branch commit ac5dc1a
10838	  ac5dc1a: codecparsers: vp9: Add vp9 codec parser
10839	  e7d9217: codecparser: h264: initialize parsing structures
10840	  403d400: codecparser: h265: initialize parsing structures
10841
108422015-11-04 15:37:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10843
10844	* configure.ac:
10845	  configure.ac: don't use an undefined variable
10846	  If the environment lacks of gstreamer development packages, this error will
10847	  be reported to the user: "gstreamer- was not found"
10848	  This is because we are using an undefined variable in the printed message. The
10849	  fix simple changes the variable for the hard-coded string "1.0".
10850	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10851	  https://bugzilla.gnome.org/show_bug.cgi?id=757283
10852
108532015-10-16 15:55:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10854
10855	* gst/vaapi/gstvaapidecode.c:
10856	  vaapidecode: relax guards for memory:VASurface capsfeature
10857	  Though caps features are supported since GStreamer 1.2, there are some
10858	  issues with the features caps negotiation in that version. Nonetheless,
10859	  those issues are fixed in GStreamer 1.4. So, the memoy:VASurface caps
10860	  feature negotiation is relaxed for GStreamer 1.4.
10861	  The guard is the same as in vaapisink's caps template.
10862	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10863	  https://bugzilla.gnome.org/show_bug.cgi?id=756686
10864
108652015-10-15 18:18:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10866
10867	* gst/vaapi/gstvaapidecode.c:
10868	  vaapidecode: decide allocation doesn't update srccaps
10869	  The received caps query will bring the already negotiated caps, so they are
10870	  not expected to change.
10871	  This patch removes this verification which is dead code path.
10872	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10873	  https://bugzilla.gnome.org/show_bug.cgi?id=756686
10874
108752015-10-14 20:30:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10876
10877	* gst/vaapi/gstvaapidecode.c:
10878	* gst/vaapi/gstvaapipluginutil.c:
10879	* gst/vaapi/gstvaapipluginutil.h:
10880	  vaapidecode: use caps to check the features
10881	  Instead of calling gst_vaapi_find_preferred_caps_feature(), which is
10882	  expensive, we check the caps from the allocation query, to check the
10883	  negotiated feature.
10884	  In order to do this verification a new utility function has been implemented:
10885	  gst_vaapi_caps_feature_contains().
10886	  As this new function shared its logic with gst_caps_has_vaapi_surface(), both
10887	  have been refactorized.
10888	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10889	  https://bugzilla.gnome.org/show_bug.cgi?id=756686
10890
108912015-10-14 20:22:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10892
10893	* gst/vaapi/gstvaapidecode.c:
10894	  vaapidecode: set format before decide allocation
10895	  There is a regression from commit 3d8e5e. It was expected the buffer pool
10896	  allocation occur before the caps negotiation, but it is not.
10897	  This patch fixes this regression: the caps negotiation is done regardless the
10898	  allocation query from downstream.
10899	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10900	  https://bugzilla.gnome.org/show_bug.cgi?id=756686
10901
109022015-10-16 20:21:50 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
10903
10904	* configure.ac:
10905	  build: check for patch and fix yasm check
10906	  Add configure checking for GNU patch tools and fixed configure
10907	  checking YASM to correct sequence.
10908	  Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
10909	  https://bugzilla.gnome.org/show_bug.cgi?id=756690
10910
109112015-10-15 19:20:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10912
10913	* ext/libvpx/Makefile.am:
10914	  build: Remove disable-md5 option for libvpx build
10915	  The configure option --disable-md5 was provided in libvpx-1.3.0 which
10916	  has been removed in 1.4.0.
10917
109182015-10-15 19:00:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10919
10920	* ext/libvpx/upstream:
10921	  libvpx: Update the submodule to libvpx-1.4.0
10922	  libvpx git commit: c74bf6d889992c3cabe017ec353ca85c323107cd
10923
109242015-10-15 10:59:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10925
10926	* configure.ac:
10927	  configure: mark support for GStreamer 1.2 as obsolete.
10928	  Support for GStreamer 1.2 is obsolete. i.e. it is no longer supported.
10929	  Our goal is to support the last two stable versions of GStreamer which
10930	  are 1.4 and 1.6 at the moment.
10931	  We still keep the 1.2 specific codes until the next gstreamer-vaapi-0.7
10932	  release and will get rid of those in 0.8.
10933
109342015-10-12 14:13:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10935
10936	* gst/vaapi/gstvaapidecode.c:
10937	  vaapidecode: Fix buffer copy assertion
10938	  Don't try to copy the NULL buffer-codec_data.
10939
109402015-09-28 14:57:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10941
10942	* configure.ac:
10943	  build: allow builds against GStreamer 1.7.x
10944	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10945
109462015-09-23 16:02:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10947
10948	* gst/vaapi/gstcompat.h:
10949	  gstcompat: add gst_buffer_copy_deep() if gst < 1.5
10950	  gst_buffer_copy_deep() was added in GStreamer 1.5. If want to use it we should
10951	  add an implementation if gstreamer-vaapi is linked to previous versions.
10952	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10953
109542015-09-23 12:13:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10955
10956	* gst/vaapi/gstvaapidecode.c:
10957	  vaapidecode: simplify copy of GstVideoCodecState
10958	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10959
109602015-09-14 19:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10961
10962	* patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch:
10963	* patches/videoparsers/series.frag:
10964	  patches/videoparsers: h265parser: more API fences
10965	  Add more API fences according with its version and refresh the patch.
10966	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10967	  https://bugzilla.gnome.org/show_bug.cgi?id=754845
10968
109692015-09-14 19:19:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10970
10971	* patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch:
10972	* patches/videoparsers/series.frag:
10973	  patches/videoparsers: h265parser: rename patch keeping number
10974	  Refresh the patch and rename it in order to keep the patch number.
10975	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10976	  https://bugzilla.gnome.org/show_bug.cgi?id=754845
10977
109782015-09-14 19:18:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10979
10980	* patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
10981	  patches/videoparsers: h264parser: more API fences and refresh
10982	  Add more API fences according with its version and refresh the patch.
10983	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10984	  https://bugzilla.gnome.org/show_bug.cgi?id=754845
10985
109862015-09-14 19:16:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10987
10988	* patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
10989	* patches/videoparsers/series.frag:
10990	  patches/videoparsers: h264parser: fix description and refresh
10991	  Fix a typo in the patch description and refresh it in order to avoid the
10992	  creation of .orig files and break the distcheck target.
10993	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10994	  https://bugzilla.gnome.org/show_bug.cgi?id=754845
10995
109962015-09-14 19:15:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10997
10998	* patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
10999	* patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
11000	  patches/videoparsers: h264parser: refresh patches
11001	  In order to avoid the creation of .orig files and break the distcheck target.
11002	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11003	  https://bugzilla.gnome.org/show_bug.cgi?id=754845
11004
110052015-09-15 16:53:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11006
11007	* gst/vaapi/Makefile.am:
11008	  build: link libgstvaapi_parse against codec parser
11009	  GST_CODEC_PARSER_* variables are defined if builtin codec parsers are disabled
11010	  when running configure.
11011	  Right now, libgstcodecparsers links only to libgstvaapi, but libgstvaapi_parse
11012	  need it if builtin codec parsers are disabled.
11013	  This patch adds GST_CODEC_PARSER_* variables to libgstvaapi_parse
11014	  compilation. If builtin codec parsers are enable, this variable is null, so it
11015	  should work using libgstvaapi, as normal.
11016	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11017	  https://bugzilla.gnome.org/show_bug.cgi?id=754845
11018
110192015-09-11 16:35:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11020
11021	* configure.ac:
11022	  build: verify for H264 MVC and H265 SPS
11023	  Currently the H264 and H265 parsers look for MVC and SPS respectively, and
11024	  the required symbols for those were added in GStreamer 1.5
11025	  If we try to compile in GStreamer < 1.4, without enabling the builtin codec
11026	  parsers, the compilation fails, because the lack of those symbols.
11027	  This patch verifies if the installed H264 and H265 parsers have those symbols. If
11028	  they do not, the specific built in codec parsers are enabled and used.
11029	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11030	  https://bugzilla.gnome.org/show_bug.cgi?id=754845
11031
110322015-09-11 16:49:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11033
11034	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11035	  decoder: h264: initialize PPS's slice_group_id
11036	  When the GstVaapiParserInfoH264 is allocated, the memory is not initialized,
11037	  so it contains random data.
11038	  When gst_h264_parser_parse_pps() fails, the PPS structure keeps slice_group_id
11039	  pointer uninitialized, leading to a segmentation fault when the memory is
11040	  freed.
11041	  This patch prevents this by initializing the slice_group_id before the PPS
11042	  parsing.
11043	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11044	  https://bugzilla.gnome.org/show_bug.cgi?id=754845
11045
110462015-09-15 11:01:29 +0300  Mark Nauwelaerts <mnauw@users.sourceforge.net>
11047
11048	* gst/vaapi/gstvaapidecode.c:
11049	  vaapidecode: proper numerator and denominator for forced latency framerate
11050	  https://bugzilla.gnome.org/show_bug.cgi?id=755040
11051
110522015-09-11 20:51:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11053
11054	* ext/codecparsers:
11055	  codecparsers: Update to gst-vaapi-branch commit f9e284b
11056	  dae1a84: h264parse/h265parse: Fix negotiation crash
11057	  45a9f8a: codecparsers: h265 : Fix default scaling list values
11058	  28eaaf5: codecparsers: h265: Fix the selection of Active Ref Pic Set
11059	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11060
110612015-09-04 22:19:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11062
11063	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11064	  decoder: hevc: Don't flush dpb for EOS/EOB nal
11065	  Explicit flushing of dpb for EOS and EOB nal decoding is wrong,
11066	  the dpb_add() itself will handle the flusing(if needed) of dpb
11067	  for end of sequence and end of bitstream.
11068	  https://bugzilla.gnome.org/show_bug.cgi?id=754010
11069
110702015-09-04 22:11:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11071
11072	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11073	  decoder: hevc: Fix the dpb_add() based on C.5.2.3
11074	  Follow the spec as it is in C.5.2.3, add the decoded frame to dpb
11075	  just after the PicLatencyCnt setting of existing dpb frames.
11076	  https://bugzilla.gnome.org/show_bug.cgi?id=754010
11077
110782015-09-04 22:02:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11079
11080	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11081	  decoder: hevc: Fix the picture addition in dpb() based on spec H265 v3 (04/2015)
11082	  This fix is based on the V3 vesion of spec which was missing in older versions.
11083	  When the current picture has PicOutputFlag equal to 1, for each picture in the
11084	  DPB that is marked as "needed for output" and follows the current picture in output order,
11085	  the associated variable PicLatencyCount is set equal to PicLatencyCount + 1 (C.5.2.3).
11086	  https://bugzilla.gnome.org/show_bug.cgi?id=754010
11087
110882015-09-04 22:00:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11089
11090	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11091	  decoder: h265: Fix indentation
11092
110932015-06-13 01:39:31 +1000  Jan Schmidt <jan@centricular.com>
11094
11095	* gst-libs/gst/vaapi/gstvaapidecoder.c:
11096	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11097	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
11098	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11099	* gst/vaapi/gstvaapidecode.c:
11100	* gst/vaapi/gstvaapipluginutil.c:
11101	  multiview: initial attempt at stereo/multiview support
11102	  Add support for marking caps and buffers for multiview or
11103	  stereoscopic output.
11104	  https://bugzilla.gnome.org/show_bug.cgi?id=750835
11105
111062015-08-28 17:12:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11107
11108	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11109	  decoder: hevc: remove unused functions
11110	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11111	  https://bugzilla.gnome.org/show_bug.cgi?id=754250
11112
111132015-08-31 13:11:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11114
11115	* gst/vaapi/gstvaapidecode.c:
11116	  vaapidecode: remove (another) unused variable
11117	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11118
111192015-08-28 17:10:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11120
11121	* gst/vaapi/gstvaapidecode.c:
11122	  vaapidecode: remove unused variable
11123	  Thus silence the compilation warnings.
11124
111252015-08-28 16:06:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11126
11127	* gst/vaapi/gstvaapidecode.c:
11128	  vaapidecode: compilation fix
11129	  gst_vaapi_decoder_state_changed() returns void. This patch fixes the
11130	  compilation where the toolchain uses restrictive flags as clang.
11131	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11132
111332015-08-29 00:27:05 +0300  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11134
11135	* gst/vaapi/gstvaapidecode.c:
11136	  vaapidecode: renegotiate if caps are not equal
11137	  The use of gst_caps_is_always_compatible() for this optimization may lead to
11138	  false positives. It is better to stick to gst_caps_is_strictly_equal() to know
11139	  if it is required a re-negotiation.
11140	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11141	  https://bugzilla.gnome.org/show_bug.cgi?id=750835
11142
111432015-08-29 00:18:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11144
11145	* gst/vaapi/gstvaapidecode.c:
11146	* gst/vaapi/gstvaapidecode.h:
11147	  vaapidecode: Rework the re-negotiation code to handle multi resoultion videos
11148	  Delaying the pool re-negotiation untill we push all decoded (and queued)
11149	  frames downstream. Otherwise for the multi-resolution videos, the
11150	  GstVideoVideoMemory will be having wrong resolution and which leads
11151	  to nasty behaviours, especially when using software renderers.
11152	  sample media file: RAP_B_Bossen_1.bin
11153	  case explained:
11154	  The first SPS Nal will report resoultion of 448x256 and having crop rectangles to
11155	  get the final resoultion 416x240.
11156	  Starting from 25 th frame, the resolution will change to 416x240. But parser
11157	  elements won't report this since the effective croped resolution is same in
11158	  both cases. Here the core libgstvaapi will detect this through it's internal
11159	  parsing and do all context/pool destory/reset stuffs. Also it will notify this
11160	  change to plugins in advance. But if the plugin try to do re-negotiaion of pool
11161	  immediately, this will not sync with the resolution of already decoded and queued
11162	  frames and which will lead to failure in gst_video_frame_map() in downstream(if we use the
11163	  software renderer). So we have to delay the pool renegotiation in vaapidecode,
11164	  untill we push all decoded frames downstream.
11165	  https://bugzilla.gnome.org/show_bug.cgi?id=753914
11166
111672015-08-28 23:43:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11168
11169	* gst/vaapi/gstvaapidecode.c:
11170	  vaapidecode: Always keep a copy of input codec state
11171	  Currently we are sharing the input GstVideoCodecState with
11172	  GstVaapiDecoder(gst-libs/gst/vaapi) by just doing ref and unref for
11173	  each caps change. This is troublesome in many cases, for eg: if
11174	  resoultion changes with in a singe stream. Because, when ever there
11175	  is a resolution change, GstVideoDecoder will first change the Codec_state->caps
11176	  fields with new resolution, but since we are using the same codecstate (ref)
11177	  in gstvaapidecode.c, the caps check for input caps change will always fail.
11178	  https://bugzilla.gnome.org/show_bug.cgi?id=753914
11179
111802015-08-26 07:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11181
11182	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11183	  decoder: hevc: Fix the scaling list scan order
11184	  The default scan order of scaling lists are up-right-diagonal
11185	  as per hevc specification. Use the newly implemented
11186	  uprightdiagonal_to_raster conversion codecparser APIs to
11187	  get the the scaling_list values in raster order, which is
11188	  what the VA intel driver requires.
11189
111902015-08-26 07:20:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11191
11192	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11193	  decoder: hevc: sync with the codecparser changes
11194	  The Tile Scanning Conversion process (spec 6-3 and 6-4) is implemented
11195	  in codecparsers now. Remove the duplication from gstvaapidecoder_h265
11196
111972015-08-26 07:04:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11198
11199	* patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
11200	  patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
11201
112022015-08-26 06:57:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11203
11204	* ext/codecparsers:
11205	  codecparsers: Update to gst-vaapi-branch commit 69550f1
11206	  c207c6d: codecparsers: h265: Fix tile row and column parsing
11207	  47074c5: codecparsers: h265: Add APIs for up-right-diagonal/raster scan conversion
11208	  cd28b18: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
11209	  1746bbe: videoparsers: Use gst_base_parse_merge_tags()
11210	  2f0932b: h264parse: Clear SPS info after processing
11211	  f57d6b0: videoparsers: enable accept-template flag
11212
112132015-08-25 15:38:42 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11214
11215	* debian.upstream/control.in:
11216	  debian: add yasm as build dependency
11217	  As the compilation of libvpx (for vp8 parser) is enabled by default,
11218	  yasm is required by default too.
11219	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11220
112212015-08-14 19:21:04 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
11222
11223	* debian.upstream/rules:
11224	  debian: remove --with-gstreamer-api option
11225	  It is no longer valid in gstreamer-vaapi.
11226	  Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
11227	  [removed unused GST_API_VERSION variable]
11228	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11229	  https://bugzilla.gnome.org/show_bug.cgi?id=753618
11230
112312015-08-24 19:22:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11232
11233	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
11234	  wayland: rename is_cancelled to sync_failed
11235	  Since commit 065a18a3, the semantics of the variable is_cancelled did not make
11236	  sense. This commit renames this variable to sync_failed.
11237
112382015-08-13 15:12:44 -0400  Olivier Crete <olivier.crete@collabora.com>
11239
11240	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
11241	  wayland: Don't return GST_FLOW_ERROR on flushing
11242	  Setting the sink to flushing causes gst_vaapi_window_wayland_sync() to
11243	  return FALSE which makes gst_vaapi_window_wayland_render() return
11244	  FALSE which ends up posting an ERROR message in
11245	  gst_vaapisink_show_frame_unlocked(). Solution is to just return TRUE
11246	  in the EBUSY case.
11247	  https://bugzilla.gnome.org/show_bug.cgi?id=753598
11248
112492015-08-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11250
11251	* gst/vaapi/gstvaapi.c:
11252	  Revert "Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now."
11253	  This reverts commit 3ccb198b513dc6ad287fe44117d03bec4d6a966a.
11254
112552015-07-06 20:22:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11256
11257	* gst/vaapi/gstvaapidecodebin.c:
11258	  vaapidecodebin: check for postproc instance
11259	  If the VPP's deinterlace-method is set, first we should check if the postproc
11260	  is already instanced to set it. Otherwise we just store it until the VPP is
11261	  added into the bin.
11262	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11263	  https://bugzilla.gnome.org/show_bug.cgi?id=749554
11264
112652015-08-06 18:48:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11266
11267	* gst/vaapi/gstvaapidecodebin.c:
11268	* gst/vaapi/gstvaapipluginutil.c:
11269	* gst/vaapi/gstvaapipluginutil.h:
11270	  vaapidecodebin: ensure VPP before going to READY
11271	  There are sometimes that the VA-API display context is not shared among the
11272	  pipeline, but it is important to know it before going to READY state (when the
11273	  pipeline is already linked).
11274	  One instance of this case is this:
11275	  gst-launch-1.0 filesrc location=media ! decodebin ! vaapipostproc ! vaapisink
11276	  This patch adds a new function in gstvaapipluginutil called
11277	  gst_vaapi_create_test_display(). Its purpose is to create a disposable VA-API
11278	  display, which only will be used for verify if the VAEntrypointVideoProc is
11279	  available by the hardware. Afterwards, it should be unrefed.
11280	  If the vaapidecodebin is going to READY state, and the element still doesn't
11281	  know if VPP is available, the last resort is to create a new instance of the
11282	  VA-API display and test for it.
11283	  https://bugzilla.gnome.org/show_bug.cgi?id=749554
11284
112852015-08-06 12:39:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11286
11287	* gst/vaapi/gstvaapidecodebin.c:
11288	  vaapidecodebin: post an error message if fails
11289	  If the construction of the bin fails, post an error message in the bus.
11290	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11291	  https://bugzilla.gnome.org/show_bug.cgi?id=749554
11292
112932015-08-06 12:36:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11294
11295	* gst/vaapi/gstvaapidecodebin.c:
11296	* gst/vaapi/gstvaapidecodebin.h:
11297	  vaapidecodebin: has_vpp as a tri-state variable
11298	  has_vpp can be UNKNOWN while the context message hasn't being received.
11299	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11300	  https://bugzilla.gnome.org/show_bug.cgi?id=749554
11301
113022015-08-03 16:33:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11303
11304	* gst/vaapi/gstvaapivideomemory.c:
11305	  gstvaapivideomemory: native format with no derived image
11306	  If USE_NATIVE_FORMATS is defined we bail out before configuring the surface
11307	  info based on the derived image configuration.
11308	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11309	  https://bugzilla.gnome.org/show_bug.cgi?id=744042
11310
113112015-07-23 20:07:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11312
11313	* gst-libs/gst/vaapi/video-format.c:
11314	* gst-libs/gst/vaapi/video-format.h:
11315	* gst/vaapi/gstvaapivideomemory.c:
11316	  surface pool config based on video info
11317	  First added the function gst_vaapi_video_format_get_best_native(), which
11318	  returns the best native format that matches a particular chroma type:
11319	  YUV 4:2:0 -> NV12, YUV 4:2:2 -> YUY2, YUV 4:0:0 -> Y800
11320	  RGB32 chroma and encoded format map to NV12 too.
11321	  That format is used to configure, initially, the surface's pool for the
11322	  allocator.
11323	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11324	  https://bugzilla.gnome.org/show_bug.cgi?id=744042
11325
113262015-07-23 16:03:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11327
11328	* gst/vaapi/gstvaapivideomemory.c:
11329	  gstvaapivideomemory: refactor gst_vaapi_video_allocator_new()
11330	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11331	  https://bugzilla.gnome.org/show_bug.cgi?id=744042
11332
113332015-06-19 15:51:07 +0200  Victor Jaquez <vjaquez@igalia.com>
11334
11335	* gst-libs/gst/vaapi/gstvaapiencoder.c:
11336	  gstvaapiencoder: validate chroma according to the VA's RT format
11337	  Before, only YUV420 color space where supported. With this patch, the
11338	  encoder is queried to know the supported formats and admits YUV422
11339	  color space if its available.
11340	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11341	  https://bugzilla.gnome.org/show_bug.cgi?id=744042
11342
113432015-08-13 05:07:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11344
11345	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11346	  decoder: hevc: Add calculation of WpOffsetHalfRangeC
11347	  This is necessary for finding ChromaOffsetL0/ChromaOffsetL1
11348	  prediction weight table values with out using any hard coding.
11349	  Fixme: We don't have parser API for sps_range_extension, so
11350	  assumed zero value for high_precision_offsets_enabled_flag.
11351	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11352
113532015-08-13 04:09:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11354
11355	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11356	  decoder: hevc: Fix ChromaOffsetL0/ChromaOffsetL1 calculation
11357	  Based on ITU-T rec H265(4/2015): 7-56
11358	  This was a wrong equation in rec H265 (4/2013): 7-44...
11359	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11360
113612015-08-13 04:08:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11362
11363	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11364	  decoder: hevc: Fix default value assignment of pred_weight_table
11365
113662015-08-13 03:48:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11367
11368	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11369	  decoder: hevc: Fix the value assigning for delta_chroma_log2_weight_denom
11370	  Assign only if ChromaArrayType != 0..
11371	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11372
113732015-08-13 03:06:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11374
11375	* ext/codecparsers:
11376	  codecparsers: Update to gst-vaapi-branch commit 1c70432
11377	  8e98b41: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
11378	  839c5bc: codecparsers: h265: Fix the parsing of ref_pic_lists_modification
11379	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11380
113812015-08-11 08:09:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11382
11383	* ext/codecparsers:
11384	  codecparsers: Update to gst-vaapi-branch commit c18b8ad
11385	  8a03e67: videoparsers: h265: Avoid skipping of EOS and EOB nals
11386	  a033083: videoparsers: h265: Fix the frame start detection code
11387	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11388
113892015-08-10 05:50:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11390
11391	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11392	  decoder: hevc: Add SEI parsing
11393	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11394
113952015-08-07 08:43:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11396
11397	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11398	  decoder: hevc: Workaround to recognize wrongly encoded main profile streams
11399	  HACK: This is a work-around to identify some main profile streams having wrong profile_idc.
11400	  There are some wrongly encoded main profile streams(eg: ENTP_C_LG_3.bin) which doesn't
11401	  have any of the profile_idc values mentioned in Annex-A, instead general_profile_idc
11402	  has been set as zero and having general_profile_compatibility_flag[general_profile_idc]
11403	  is TRUE. Assuming them as MAIN profile for now.
11404	  https://bugzilla.gnome.org/show_bug.cgi?id=753226
11405	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11406
114072015-08-07 08:41:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11408
11409	* patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
11410	  patches/videoparsers: Fix the wrong source file path
11411	  This is something wrongly typed in commit 6d7b631
11412
114132015-08-07 08:34:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11414
11415	* ext/codecparsers:
11416	  codecparsers: Update to gst-vaapi-branch commit b8d8be4
11417	  ee7e81b: h264parse: Don't discard first AU delimiter
11418	  3690fb9: h264parse: Add more NAL types for debugging output
11419	  108d368: h265parse: Avoid checking for Non Mandatory VPS NAL
11420	  ace61048: h265parse: expose compatible profiles to downstream
11421	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11422
114232015-08-06 13:07:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11424
11425	* gst/vaapi/gstvaapipluginutil.c:
11426	* gst/vaapi/gstvaapivideocontext.c:
11427	* gst/vaapi/gstvaapivideocontext.h:
11428	  gstvaapivideocontext: remove unused parameter
11429	  gst_vaapi_video_context_prepare() received an unused parameter. This patch
11430	  removes it and the structure passed by the caller.
11431	  This a left over of "Removal of gstreamer-1.0 support" (commit 8b36e25f).
11432	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11433
114342015-08-06 04:01:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11435
11436	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11437	  decoder: hevc: Fix decoding of stream when it has temporal sublayers
11438	  We are calculating the dpb size based on max_dec_pic_buffering.
11439	  But if there are more than one temporal sublayers, we are supposed
11440	  to use the max_dec_pic_buffering[max_sub_layers_minus] for dpb
11441	  size calculation (Assuming HighestTid as max_sub_layers_minus).
11442	  Sample streams: TSCL_A_VIDYO_5.bin, TSCL_B_VIDYO_4.bin
11443	  https://bugzilla.gnome.org/show_bug.cgi?id=753226
11444	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11445
114462015-08-05 14:11:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11447
11448	* gst/vaapi/gstvaapidecode.c:
11449	* gst/vaapi/gstvaapidecodebin.c:
11450	* gst/vaapi/gstvaapiencode_h264.c:
11451	* gst/vaapi/gstvaapiencode_h265.c:
11452	* gst/vaapi/gstvaapiencode_jpeg.c:
11453	* gst/vaapi/gstvaapiencode_mpeg2.c:
11454	* gst/vaapi/gstvaapiencode_vp8.c:
11455	* gst/vaapi/gstvaapipluginutil.h:
11456	* gst/vaapi/gstvaapipostproc.c:
11457	* gst/vaapi/gstvaapisink.c:
11458	  refactor vaapi caps strings for pad templates
11459	  Refactor the main vaapi caps strings into three macros:
11460	  GST_VAAPI_MAKE_SURFACE_CAPS, GST_VAAPI_MAKE_ENC_SURFACE_CAPS and
11461	  GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
11462	  Those are in gstvaapipluginutil.h so all the elements could use them, instead
11463	  of re-declaring them every time.
11464	  No functional changes.
11465	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11466
114672015-08-05 14:15:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11468
11469	* gst/vaapi/gstvaapipostproc.c:
11470	  gstvaapipostproc: fix code style
11471	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11472
114732015-08-05 05:23:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11474
11475	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11476	  decoder: hevc: Fix the decoding of dependent slice segment
11477	  Decoding process for reference picture list construction needs to be
11478	  invoked only for P and B slice and the value for slice_type of dependent slice
11479	  segment should be taken from the previous independent slice segment header
11480	  of the same pic.
11481	  https://bugzilla.gnome.org/show_bug.cgi?id=753226
11482	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11483
114842015-06-22 17:38:41 +0200  Victor Jaquez <vjaquez@igalia.com>
11485
11486	* gst/vaapi/gstvaapipluginbase.c:
11487	  plugins: reduce the noise of warnings
11488	  Those messagse should be attached to the object, also the lack of
11489	  caps is not an error, in particular in the case of JPEG encoding.
11490	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11491	  https://bugzilla.gnome.org/show_bug.cgi?id=744042
11492
114932015-06-23 17:49:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11494
11495	* gst-libs/gst/vaapi/gstvaapicontext.c:
11496	  gstvaapicontext: fix the JPEG encoder attribs value
11497	  When we query for the VAConfigAttribEncJPEG, we get a value which packs the
11498	  VAConfigAttribValEncJPEG structure, but we did not assign it. This patch
11499	  assigns the returned value to the attribute.
11500	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11501	  https://bugzilla.gnome.org/show_bug.cgi?id=744042
11502
115032015-06-18 17:37:46 +0200  Victor Jaquez <vjaquez@igalia.com>
11504
11505	* gst-libs/gst/vaapi/gstvaapiencoder.c:
11506	  gstvaapiencoder: framerate 0/1 is valid too
11507	  Framerate 0/1 is valid, and it is particularly useful for picture
11508	  encoding, such as jpeg. This patch makes the encoder to admit that
11509	  framerate.
11510	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11511	  https://bugzilla.gnome.org/show_bug.cgi?id=744042
11512
115132015-07-03 09:35:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11514
11515	* gst/vaapi/gstvaapipostproc.c:
11516	  vaapipostroc: GLTextureUploadMeta in sink template
11517	  Advertise GLTextureUploadMeta in sink caps template.
11518	  https://bugzilla.gnome.org/show_bug.cgi?id=752130
11519
115202015-07-23 13:11:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11521
11522	* gst/vaapi/Makefile.am:
11523	* gst/vaapi/gstvaapiencode.c:
11524	* gst/vaapi/gstvaapipluginbase.c:
11525	* gst/vaapi/gstvaapipluginbase.h:
11526	* gst/vaapi/gstvaapipostproc.c:
11527	* gst/vaapi/gstvaapisink.c:
11528	* gst/vaapi/gstvaapiuploader.c:
11529	* gst/vaapi/gstvaapiuploader.h:
11530	  remove gstvaapiuploader
11531	  Working on bug #744042 I realized that the gstvaapiuploader is practically not
11532	  used.
11533	  This patch removes the gstvaapiuploader and add the method
11534	  gst_vaapi_plugin_base_get_allowed_raw_caps () that returns the raw caps that
11535	  the system can handle, which is used by vaapisink and vaapipostproc.
11536	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11537	  https://bugzilla.gnome.org/show_bug.cgi?id=752777
11538
115392015-07-27 18:49:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11540
11541	* gst/vaapi/gstvaapidecode.c:
11542	  vaapidecode: don't lost GLTextureUpload on seek
11543	  When seeking, the decoder is reset, but the buffer pool is not
11544	  re-negotiated, but in reset_full() the code forgets if the negotiated buffer
11545	  pool has the GLTextureUpload meta.
11546	  The decoder knows that GLTextureUpload meta was negotiated in
11547	  decide_allocation(), but this method is not called when seeking.
11548	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11549	  https://bugzilla.gnome.org/show_bug.cgi?id=752929
11550
115512015-07-21 18:45:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11552
11553	* gst/vaapi/gstvaapipluginutil.c:
11554	  plugins: don't use gst_pad_get_allowed_caps()
11555	  gst_pad_get_allowed_caps() query the pad and the peer pad. In the case
11556	  decoders, that is OK, but in the case of the postproc might lead loops,
11557	  since the gst_base_transform_query_caps() forwards the query upstream
11558	  and forth.
11559	  Instead of gst_pad_get_allowed_caps() we only query the peer with
11560	  gst_pad_peer_query_caps() using the pad's template as filter.
11561	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11562	  https://bugzilla.gnome.org/show_bug.cgi?id=752558
11563
115642015-07-22 12:40:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11565
11566	* README:
11567	  README: updates
11568
115692015-07-22 09:45:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11570
11571	* patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch:
11572	* patches/videoparsers/series.frag:
11573	  patches/videoparsers: h264parse: Disable 3D video support for GStremaer < 1.5
11574	  All API/ABI changes for S3D/MVC are added in 1.5, backporting
11575	  them to older verison is not recommended.
11576	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11577
115782015-07-22 09:41:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11579
11580	* patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
11581	  patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
11582
115832015-07-22 09:38:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11584
11585	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
11586	  decoder: jpeg: Align with new API/ABI changes in codecparser
11587	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11588
115892015-07-22 09:31:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11590
11591	* ext/codecparsers:
11592	  codecparsers: Update to gst-vaapi-branch commit 800bdb2
11593	  ed13220: mpegvideometa: add meta transform function
11594	  18d5efd: codecparsers: jpeg: add some padding to ScanHdr struct
11595	  7a51722: codecparsers: jpeg: fix docs for table parsing functions
11596	  06b8ded: codecparsers: jpeg: fix validity checking of data parsed
11597	  387a39d: codecparsers: jpeg: fix up API
11598	  db9d6a9: codecparsers: jpeg: tweak API a little
11599	  bb6951e: codecparsers: jpeg: hide gst_jpeg_scan_for_marker_code()
11600	  f33c30c: codecparsers: jpeg: fix and optimize scan for next marker code
11601	  4658c30: codecparsers: jpeg: fix calculation of segment size
11602	  759bcb9: codecparsers: jpeg: fix default Huffman tables generation
11603	  b4811ee: codecparsers: jpeg: add JPEG bitstream parser
11604	  9422464: h264parse: fix typo in log message
11605	  9e793a0: h264parse: Move PAR calcs, and use them for stereoscopic half-aspect
11606	  77704ce: nalutils: trivial patch to check if
11607	  8bb9249: codecparsers: mpeg4: actually return full number of bits of resync marker
11608	  7862f95: Revert "codecparsers: remove ignored increment of return"
11609	  54017b1: h264parse: Add support for passing stereoscopic/multiview info
11610	  8667ee4: h264parse: Don't switch to passthrough on set_caps()
11611	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11612
116132015-06-29 14:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11614
11615	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11616	  decoder: h264: track previous reference frames.
11617	  Improve closure of gaps in frame_num by strictly following and trying
11618	  to fill them with previous reference frames. So, they are now tracked
11619	  thus avoiding insertion of dummy ("greenish") frames.
11620
116212015-06-29 13:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11622
11623	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11624	  decoder: h264: fix integration of second field into the DPB.
11625	  If the new picture to be added to the DPB is not a first field, then
11626	  it shall be the second field of the previous picture that was added
11627	  before.
11628	  This removes the need for dpb_find_picture() now that we track the
11629	  immediately preceding decoded picture, in decode order.
11630
116312015-07-06 14:38:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11632
11633	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11634	  decoder: h264: fix closure of "other-field" gap.
11635	  When a dummy "other-field" is inserted, it is assumed to inherit the
11636	  reference flags from the first field, and the sliding window decoded
11637	  reference picture marking process is also executed so that corrupted
11638	  frames are moved out as early as possible.
11639	  While doing so, we also try to output frames that now contain a single
11640	  valid field picture, prior to inserting any other picture into the DPB.
11641	  Note: this may be superfluous currently based on the fact that dpb_add()
11642	  combines the two most recent pairable fields, but this process would be
11643	  further simplified later on.
11644
116452015-06-24 13:58:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11646
11647	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11648	  decoder: h264: track corrupted frames.
11649	  Mark the picture as "corrupted" if it is reconstructed from corrupted
11650	  references or if those references are fake, e.g. resulting from lost
11651	  frames.
11652	  This is useful for notifying the upper layer, or downstream elements,
11653	  that the decoded frame may contain artefacts.
11654	  https://bugzilla.gnome.org/show_bug.cgi?id=703921
11655
116562015-06-24 13:48:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11657
11658	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
11659	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
11660	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
11661	* gst/vaapi/gstvaapidecode.c:
11662	  decoder: add initial infrastructure for marking corrupted output.
11663	  Add initial infrastructure in core codec library and vaapidecode to mark
11664	  corrupted frames as such. A corrupted frame is such a frame that was
11665	  reconstructed from invalid references for instance.
11666	  https://bugzilla.gnome.org/show_bug.cgi?id=751434
11667	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11668
116692015-07-15 18:18:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11670
11671	* configure.ac:
11672	  Bump version for development
11673
11674=== release 0.6.0 ===
11675
116762015-07-15 15:49:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11677
11678	* configure.ac:
11679	  0.6.0
11680
116812015-07-15 15:49:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11682
11683	* NEWS:
11684	  NEWS: updates
11685
116862015-07-14 19:39:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11687
11688	* gst-libs/gst/vaapi/gstvaapiprofile.c:
11689	  vaapidecoder: no wmv profiles gstreamer 1.4/1.2
11690	  This patch fix the auto-plugging problem in gstreamer 1.2 and gstreamer 1.4
11691	  Right now there is not a primary ranked parser for vc1 and the demuxers
11692	  delivers caps without specifying the profile. This situation is not an issue
11693	  for avdec_vc1 but for vaapidecode it is, which refuses to negotiate without a
11694	  explicit profile defined in the negotiated caps.
11695	  Nonetheless, in gstreamer 1.5 it seems not to be a problem since the
11696	  negotiation admits caps subsets try outs.
11697	  This patch solves the issue ignoring the profile negotiation in the caps. For
11698	  gstreamer < 1.5 the profile string is not handled, so the auto-plugging get
11699	  done without the vc1 parser, such as happens in gstreamer 1.5.
11700	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11701
117022015-07-07 20:57:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11703
11704	* gst/vaapi/gstvaapi.c:
11705	  Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now.
11706	  Unfortunately vaapidecodebin element is not seems to be stable
11707	  enough for autoplugging ahead of vaapidecode.
11708	  Lowering the rank for now (cosidering the immediate 0.6 release).
11709	  See this: https://bugzilla.gnome.org/show_bug.cgi?id=749554
11710	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11711
117122015-07-07 13:32:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11713
11714	* gst-libs/gst/vaapi/Makefile.am:
11715	  build: Add missing CFLAGS to Makefile.am
11716
117172015-07-03 15:07:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11718
11719	* gst-libs/gst/vaapi/gstvaapifilter.c:
11720	  gstvaapifilter: Only register STE property if it supported by corresponding VA library
11721	  Fix the regression introduced in commit eb465fb.
11722	  VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
11723	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11724
117252015-07-02 17:49:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11726
11727	* gst/vaapi/gstvaapipostproc.c:
11728	  vaapipostproc: no format convert on GL tex upload meta
11729	  When GL texture upload meta is negotiated, vaapipostproc shall not modify the
11730	  color format of the buffer.
11731	  https://bugzilla.gnome.org/show_bug.cgi?id=748184
11732
117332015-07-03 12:42:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11734
11735	* gst-libs/gst/vaapi/gstvaapifilter.c:
11736	  gstvaapifilter: Add guard for VAProcFilterSkinToneEnhancement
11737	  VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
11738	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11739
117402015-07-02 21:57:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11741
11742	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11743	  encoder:h265: Fix the check for packed-header support
11744	  Use VA_ENC_PACKED_HEADER_* definition for checking.
11745	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11746
117472015-07-02 21:37:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11748
11749	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11750	  encoder:h264: Fix the check for packed-header support
11751	  Use VA_ENC_PACKED_HEADER_* definition for checking.
11752	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11753
117542015-07-02 21:00:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11755
11756	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11757	  encoder: h264: submit SEI buffering_period() and picture_timing() messages for CBR mode
11758	  One buffering_period() SEI message shall be present in every IDR access unit
11759	  when NalHrdBpPresentFlag is inferred to be equal to 1. This is the case when we
11760	  use a non-CQP mode, e.g. CBR. In other words, when
11761	  nal_hrd_parameters_present_flag is set to 1.
11762	  One picture_timing() SEI messages shall be present in every access unit
11763	  if CpbDpbDelaysPresentFlag is equal to 1 or pic_struct_present_flag is equal to 1
11764	  https://bugzilla.gnome.org/show_bug.cgi?id=722734
11765	  https://bugzilla.gnome.org/show_bug.cgi?id=751831
11766	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11767
117682015-07-01 14:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11769
11770	* gst/vaapi/gstvaapidecodebin.c:
11771	  vaapidecodebin: notify if vpp is disabled
11772	  When the system is aware that VPP is not available by the VA driver,
11773	  it would be useful to notify to the user that the disable-vpp property
11774	  has changed.
11775	  https://bugzilla.gnome.org/show_bug.cgi?id=749554
11776
117772015-07-01 14:17:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11778
11779	* gst/vaapi/gstvaapidecodebin.c:
11780	* gst/vaapi/gstvaapidecodebin.h:
11781	  vaapidecodebin: enable vpp if it is available
11782	  Instead of creating and adding VPP into the bin at setup, we wait until
11783	  we are sure the VA driver supports it. We know that when the VA video
11784	  context is received by the bin. Afterwards, it is decided to instanciate
11785	  and link the VPP or not.
11786	  This is more efficient and safer than waiting the VPP to fail and then
11787	  disable it.
11788	  https://bugzilla.gnome.org/show_bug.cgi?id=749554
11789
117902015-07-02 12:29:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11791
11792	* tests/test-display.c:
11793	* tests/test-windows.c:
11794	  tests: Fix compilation while enabling egl as the only renderer in build
11795	  Include missing header files gstvaapidisplay_egl.h and gstvaapiwindow_egl.h.
11796
117972015-07-02 10:45:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11798
11799	* configure.ac:
11800	  configure: fix the build while enabling egl as the only renderer
11801
118022015-07-02 10:25:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11803
11804	* configure.ac:
11805	  libs: Bump library major version
11806
118072015-06-30 09:44:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11808
11809	* gst/vaapi/gstvaapi.c:
11810	* gst/vaapi/gstvaapidecodebin.c:
11811	* gst/vaapi/gstvaapiencode.c:
11812	* gst/vaapi/gstvaapiencode_jpeg.c:
11813	* gst/vaapi/gstvaapipluginbase.c:
11814	* gst/vaapi/gstvaapipluginutil.c:
11815	* gst/vaapi/gstvaapipostproc.c:
11816	* gst/vaapi/gstvaapivideobufferpool.c:
11817	* gst/vaapi/gstvaapivideocontext.c:
11818	* gst/vaapi/gstvaapivideomemory.c:
11819	* gst/vaapi/gstvaapivideometa.c:
11820	  gst/vaapi: Switch to upstreram like indentation.
11821	  gst-indent for all gst/vaapi/*.c source files
11822
118232015-06-30 09:35:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11824
11825	* gst/vaapi/gstvaapidecodebin.c:
11826	* gst/vaapi/gstvaapidecodebin.h:
11827	  vaapidecodebin: Add property to disable VPP
11828	  Adding a new propery "disable-vpp", enabling it will prevent
11829	  the insertion of vaapipostproc child element.
11830	  This is helpful in debugging, specifically to narrow-down the
11831	  vaapidecodebin/vaapipostproc related negotiation issues.
11832	  No support for run-time disabling for now.
11833	  https://bugzilla.gnome.org/show_bug.cgi?id=745901
11834
118352015-06-29 13:35:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11836
11837	* gst/vaapi/gstvaapipostproc.c:
11838	  vaapipostproc: Fix wrong selection of passthrough mode.
11839	  The Current code path is falling back to passthorugh mode if there is no
11840	  vpp property set by the user explictily. But we should not use the
11841	  passthrough mode if the negotiated src pad caps have a differnt color space
11842	  format than sink pad caps (Even though the user didn't set the format property
11843	  explicitly).
11844	  https://bugzilla.gnome.org/show_bug.cgi?id=748184
11845	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11846
118472015-06-29 13:20:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11848
11849	* gst/vaapi/gstvaapipostproc.c:
11850	  vaapipostproc: prevent advanced-deinterlacing of non-native video formats.
11851	  This is a workaround to deal with the va-intel-driver for non-native
11852	  formats while doing advanced deinterlacing. The format of reference surfaces must
11853	  be same as the format used by the driver internally for motion adaptive
11854	  deinterlacing and motion compensated deinterlacing.
11855	  A permanent solution could be to do the color space conversion internally
11856	  for reference surfaces.
11857	  https://bugzilla.gnome.org/show_bug.cgi?id=730925
11858	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11859
118602015-06-29 13:06:30 +0300  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
11861
11862	* gst/vaapi/gstvaapisink.c:
11863	  Work around ABBA deadlock between vaapisink and vaapipostproc
11864	  vaapisink takes the display lock, then does a gst_buffer_replace which can
11865	  take the lock on the gst_vaapi_video_pool.
11866	  vaapipostproc asks the gst_vaapi_video_pool for a new surface. This takes
11867	  the lock on the gst_vaapi_video_pool; if you're unlucky, there are no free
11868	  surfaces, which means that gst_vaapi_surface_create is
11869	  called. gst_vaapi_surface_create takes the display lock.
11870	  If vaapisink and vaapipostproc are in different threads, and this happens,
11871	  you get a deadlock. vaapisink holds the display lock, and wants the
11872	  gst_vaapi_video_pool lock. vaapipostproc holds the gst_vaapi_video_pool lock
11873	  and wants the display lock.
11874	  Work around this by releasing the display lock in vaapisink around the
11875	  gst_buffer_replace.
11876	  https://bugzilla.gnome.org/show_bug.cgi?id=738249
11877	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
11878	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11879
118802015-04-29 16:34:07 +0200  Jacobo Aragunde Pérez <jaragunde@igalia.com>
11881
11882	* gst/vaapi/gstvaapidecodebin.c:
11883	* gst/vaapi/gstvaapidecodebin.h:
11884	  vaapidecodebin: expose deinterlace-method property from inner vaapipostproc
11885	  https://bugzilla.gnome.org/show_bug.cgi?id=745901
11886
118872015-05-19 11:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11888
11889	* gst/vaapi/gstvaapipostproc.c:
11890	  vaapipostproc: log negotiated caps
11891
118922015-05-18 14:30:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11893
11894	* gst/vaapi/gstvaapipostproc.c:
11895	  vaapipostproc: remove useless debug message
11896
118972015-02-12 12:31:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11898
11899	* gst/vaapi/gstvaapidecode.c:
11900	  vaapidecode: log negotiated src/sink caps
11901
119022015-05-07 15:57:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11903
11904	* gst/vaapi/gstvaapisink.c:
11905	  vaapisink: error handling if rendering fails
11906	  This patch enhance the code path when an error is found when rendering a
11907	  buffer.
11908	  If the video meta doesn't contain a surface proxy or a surface, a warning
11909	  message is printed.
11910	  If the rendering backend fails, a error message is posted in the bus.
11911	  https://bugzilla.gnome.org/show_bug.cgi?id=749382
11912
119132015-06-18 14:55:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11914
11915	* gst/vaapi/gstvaapisink.c:
11916	  vaapisink: Fix the conditional pad template creation.
11917
119182015-06-18 13:19:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11919
11920	* tests/Makefile.am:
11921	  build: Don't build simple-encoder test program if there is no VA Encoding support
11922	  This will fix the build error against older VA-APIs <= 0.32
11923
119242015-06-18 12:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11925
11926	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11927	* gst-libs/gst/vaapi/gstvaapicompat.h:
11928	  Fix build error for older VA-API versions
11929	  Provide guards for VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM and
11930	  VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME which are only availble from
11931	  VA >= 0.36.
11932
119332015-06-17 14:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11934
11935	* gst/vaapi/gstvaapisink.c:
11936	  vaapisink: Fix the capsfeature advertisement in padtemplate
11937	  This fixes the regression introduced in 64acc74.
11938	  If a pad supports multiple set of capsfeatures, it needs to add
11939	  multiple equal structures with different feature sets to the caps.
11940	  Because caps structures with the same name but with a non-equal
11941	  set of caps features are not compatible.
11942	  Without this patch, playbin will autoplug xvimagesink instead of vaapisink.
11943	  https://bugzilla.gnome.org/show_bug.cgi?id=750095
11944
119452015-06-17 12:41:28 +0300  Adrian Cox <adrian@humboldt.co.uk>
11946
11947	* gst/vaapi/gstvaapisink.c:
11948	  vaapisink: Expose the overlay capability for compatibility with dvbsuboverlay.
11949	  https://bugzilla.gnome.org/show_bug.cgi?id=750095
11950	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11951	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11952
119532015-06-17 09:53:29 +0300  Olivier Crete <olivier.crete@collabora.com>
11954
11955	* gst/vaapi/gstvaapipluginbase.c:
11956	  vaapipluginbase: Override downstream allocation reply if no pool
11957	  If the downstream replied without a pool, then override it.
11958	  https://bugzilla.gnome.org/show_bug.cgi?id=748559
11959
119602015-06-09 15:15:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11961
11962	* gst/vaapi/gstvaapipostproc.c:
11963	* gst/vaapi/gstvaapipostproc.h:
11964	  vaapipostproc: add color balance interface
11965	  https://bugzilla.gnome.org/show_bug.cgi?id=720376
11966
119672015-05-22 18:13:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11968
11969	* gst-libs/gst/vaapi/gstvaapifilter.c:
11970	* gst-libs/gst/vaapi/gstvaapifilter.h:
11971	* gst/vaapi/gstvaapipostproc.c:
11972	* gst/vaapi/gstvaapipostproc.h:
11973	  vaapipostproc: add skin tone enhancement
11974	  Added the 'skin-tone-enhancement' property to vaapostproc.
11975	  https://bugzilla.gnome.org/show_bug.cgi?id=744088
11976
119772015-05-20 18:02:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11978
11979	* docs/reference/libs/libs-docs.xml.in:
11980	  doc: add VA-API reference in freedesktop
11981
119822015-06-04 19:03:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11983
11984	* patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
11985	* patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
11986	* patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
11987	  patches/videoparsers: rebase all the h264parse patches
11988	  In order to avoid the creation of .orig files and break the distcheck target
11989
119902015-06-04 18:29:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11991
11992	* ext/libvpx/Makefile.am:
11993	  build: don't build in parallel libvpx
11994	  This fixes the distcheck -j XX target.
11995
119962015-06-02 08:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11997
11998	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
11999	  encoder: jpeg: Fix the packed header generation
12000	  This is a work-around to satisfy the va-intel-driver.
12001	  Normalize the quality factor and scale QM values (only for packed header
12002	  generation) similar to what VA-Intel driver is doing . Otherwise the
12003	  generated packed headers will be wrong, since the driver itself is
12004	  scaling the QM values using the normalized quality factor.
12005	  https://bugzilla.gnome.org/show_bug.cgi?id=748335
12006	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12007
120082015-06-02 11:46:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12009
12010	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12011	  decoder: h264: fix uninitialized variables in avcC mode.
12012	  Fix uninitialized variables when decoding SPS and PPS NAL units from
12013	  "codec-data" buffers. This is particularly important when seeking ops
12014	  are involved, and the new persistent states are used more often.
12015	  https://bugzilla.gnome.org/show_bug.cgi?id=750094
12016
120172015-06-01 18:39:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12018
12019	* gst/vaapi/gstvaapidecode.c:
12020	  vaapidecode: remove unneeded casting
12021	  And a code-style fix
12022
120232015-05-21 19:38:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12024
12025	* gst/vaapi/gstvaapidecode.c:
12026	  vaapidecode: calculate decoding latency
12027	  This is a naïve approach to the calculation of the VA-API decoding latency. It
12028	  takes into consideration when the frame-rate has some insane value.
12029	  https://bugzilla.gnome.org/show_bug.cgi?id=740419
12030
120312015-05-21 23:16:14 +1000  Jan Schmidt <jan@centricular.com>
12032
12033	* configure.ac:
12034	  configure: Compiling against libgstgl requires libgstvideo
12035	  Fix detection of the GstGL helper headers in uninstalled
12036	  builds.
12037
120382015-05-28 10:52:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12039
12040	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12041	  encoder: hevc: Fix the size over-flow for encoded buffer.
12042	  The approximation of 6 times compression ratio migh not
12043	  work in all cases. Especially when enabling I frames.
12044	  Provide large enough size for coded-buffer creation.
12045
120462015-05-28 10:43:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12047
12048	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
12049	  encoder: vp8: Fix the size over-flow for encoded buffer.
12050	  The approximation of 4 times compression ratio will not
12051	  work in all cases. Especially when enabling I frames.
12052	  Provide large enough size for coded-buffer creation.
12053
120542015-05-28 05:43:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12055
12056	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12057	  encoder: hevc:  fix bug in multi slice encoding.
12058	  This is a work-around for satisfying the VA-Intel driver.
12059	  The driver only support slices begin from CTU row start address.
12060	  Multi-Slice encoding also requires a fix in va-intel-driver:
12061	  http://lists.freedesktop.org/archives/libva/2015-May/003351.html
12062	  https://bugzilla.gnome.org/show_bug.cgi?id=749854
12063	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12064
120652015-03-12 22:57:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12066
12067	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12068	  decoder: h264: add initial support for loss of pictures.
12069	  Implement decoding process for gaps in frame_num (8.5.2). This
12070	  also somewhat supports unintentional loss of pictures.
12071	  https://bugzilla.gnome.org/show_bug.cgi?id=745048
12072	  https://bugzilla.gnome.org/show_bug.cgi?id=703921
12073	  Original-patch-by: Wind Yuan <feng.yuan@intel.com>
12074	  [fixed derivation of POC, ensured clone is valid for reference,
12075	  actually fixed detection of gaps in FrameNum by PrevRefFrameNum]
12076	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12077
120782015-05-22 11:42:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12079
12080	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12081	  decoder: h264: add support for missing first field.
12082	  Try to identify missing first fields too, thus disregarding any
12083	  intermediate gaps in frames. We also assume that we keep the same
12084	  field sequence, i.e. if previous frames were in top-field-first
12085	  (TFF) order, then so are subsequent frames.
12086	  Note that insertion of dummy first fields need to operate in two
12087	  steps: (i) create the original first field that the current field
12088	  will inherit from, and (ii) submit that field into the DPB prior
12089	  to initializing the current (other) field POC values but after any
12090	  reference flag was set. i.e. copy reference flags from the child
12091	  (other field) to the parent (first field).
12092	  https://bugzilla.gnome.org/show_bug.cgi?id=745048
12093
120942015-05-07 14:00:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12095
12096	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12097	  decoder: h264: add support for missing second field.
12098	  Interlaced H.264 video frames always have two fields to decode and
12099	  display. However, in some cases, e.g. packet loss, one of the field
12100	  can be missing. This perturbs the reference picture marking process,
12101	  whereby the number of references available in DPB no longer matches
12102	  the expected value.
12103	  This patch adds initial support for missing field within a decoded
12104	  frame. The current strategy taken is to find out the nearest field,
12105	  by POC value, and with the same parity.
12106	  https://bugzilla.gnome.org/show_bug.cgi?id=745048
12107
121082015-05-22 17:06:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12109
12110	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12111	  decoder: h264: improve tracking of "top-field-first" flag.
12112	  Try to maintain a "top-field-first" (TFF) flag, even if the H.264 standard
12113	  does not mandate it. This will be useful for tracking missing fields, and
12114	  also for more correct _split_fields() implementation for frames in the DPB.
12115
121162015-05-05 11:56:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12117
12118	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12119	  decoder: h264: skip all pictures prior the first I-frame.
12120	  Don't try to decode pictures until the first I-frame is received within
12121	  the currently active sequence. There is no point is decoding and then
12122	  displaying frames with artifacts.
12123
121242015-05-12 15:36:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12125
12126	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12127	  decoder: h264: fix processing of EOSEQ NAL.
12128	  Fix decoding of end_of_seq() NAL unit so that to not submit the current
12129	  picture for decoding again. This is pretty vintage code that dates back
12130	  before the existing of the whole decoder units machinery.
12131	  One issue that could be arising if that code was kept is that we could
12132	  have submitted a picture, and subsequently a GstVideoCodec frame, twice.
12133	  Once without the decode_only flag set, and once with that flag set. The
12134	  end result is that the GstVideoDecoder would release the codec frame
12135	  twice, thus releasing stale data.
12136	  In short, the piece of code that is removed by this patch is for once
12137	  completely obsolete for a while, and secondly error-prone in corner
12138	  cases.
12139
121402013-02-28 15:26:36 +0800  Wind Yuan <feng.yuan@intel.com>
12141
12142	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12143	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12144	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
12145	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
12146	  decoder: add utility function to clone picture objects.
12147	  https://bugzilla.gnome.org/show_bug.cgi?id=703921
12148	  Signed-off-by: Wind Yuan <feng.yuan@intel.com>
12149	  [added cosmetic changes, fixed propagation of "one-field" flag to
12150	  children, fixed per-codec clone modes (h264)]
12151	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12152
121532015-05-27 23:49:18 +0300  Alban Browaeys <prahal@yahoo.com>
12154
12155	* gst/vaapi/Makefile.am:
12156	  build: don't compile HEVC encoder if not supported
12157	  Fix:
12158	  (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
12159	  https://bugzilla.gnome.org/show_bug.cgi?id=749954
12160	  Signed-off-by: Alban Browaeys <prahal@yahoo.com>
12161	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12162
121632015-05-27 23:43:16 +0300  Alban Browaeys <prahal@yahoo.com>
12164
12165	* gst-libs/gst/vaapi/gstvaapicompat.h:
12166	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12167	  HEVC: decode: add missing va_dec_hevc header
12168	  Signed-off-by: Alban Browaeys <prahal@yahoo.com>
12169	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12170	  https://bugzilla.gnome.org/show_bug.cgi?id=749953
12171
121722015-05-26 13:28:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12173
12174	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
12175	  mpeg2: fix PTS cache for GOP start.
12176	  If the GOP temporal sequence number (TSN) is interpolated from a valid
12177	  PTS, then we need to compensate that PTS corresponding to the start of
12178	  GOP with the next picture to be decoded, which shall be an I-frame,
12179	  based on its sequence number.
12180	  https://bugzilla.gnome.org/show_bug.cgi?id=748676
12181
121822015-05-27 10:49:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12183
12184	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
12185	  mpeg2: avoid crash when seeking with debug logs
12186	  Move down the debug message when the state of the decoder is verified
12187	  so the slice header is not NULL.
12188
121892014-12-17 00:41:10 +1100  Jan Schmidt <jan@centricular.com>
12190
12191	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
12192	  mpeg2: Avoid crashes and warnings on re-opened decoder after a seek
12193	  Reset state and add some checks for safe state to avoid a crash and
12194	  a warning after the decoder is destroyed/recreated during a seek.
12195
121962015-05-26 10:21:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12197
12198	* patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
12199	* patches/videoparsers/series.frag:
12200	  patches/videoparsers: Rebase the patch on top of gst-vaapi-branch commit 20ee952
12201	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12202
122032015-05-26 10:03:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12204
12205	* ext/codecparsers:
12206	  codecparsers: Update to gst-vaapi-branch commit 20ee952
12207	  b7dded3: h264parse: don't consider unknown stream-format as avc
12208	  5110ad9: h264parse: fix up handling of input caps corner cases
12209	  e51db3e: h264parse: Remove dead code
12210	  3d739d0: codecparser: h265: Fix the number of tile rows/columns parsing
12211	  8482957: h265parse: Fix profile, tier and level setting in caps
12212	  4649acb: h265parse: Fix the memory freeing of stored VPS nals
12213	  f2beeb7: h265parse: Fix source caps to report cropped dimensions
12214	  6886a31: h264parse: Fix profile and level setting in caps
12215	  5286c1a: h264parse: Consider SEI NALU as "HEADER" packets
12216	  eb97854: videoparsers: h264: bit-exact sync with upstream, minor changes here and there
12217	  53074fc: build: Upgrade GStreamer dependency to 1.0
12218	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12219
122202015-05-26 06:01:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12221
12222	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12223	  HEVC: decode: Replace clip3 implementation with glib CLAMP macro
12224	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12225
122262015-05-26 05:33:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12227
12228	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12229	  HEVC: decode: Update Cropping Rectangle
12230	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12231
122322015-05-25 11:58:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12233
12234	* gst/vaapi/Makefile.am:
12235	* gst/vaapi/gstvaapi.c:
12236	* gst/vaapi/gstvaapiencode_h265.c:
12237	* gst/vaapi/gstvaapiencode_h265.h:
12238	  HEVC_Encode: Add HEVC(h265) Encoder plugin
12239	  https://bugzilla.gnome.org/show_bug.cgi?id=748874
12240	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12241
122422015-05-25 11:38:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12243
12244	* gst-libs/gst/vaapi/Makefile.am:
12245	* gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12246	* gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
12247	  HEVC_Encode: Add HEVC(h265) encoder to core libgstvaapi
12248	  https://bugzilla.gnome.org/show_bug.cgi?id=748874
12249	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12250
122512015-05-25 11:26:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12252
12253	* configure.ac:
12254	  HEVC_Encode: build: Check availability of VA APIs for H265 encoding.
12255	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12256	  https://bugzilla.gnome.org/show_bug.cgi?id=748874
12257
122582015-05-25 10:58:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12259
12260	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
12261	* gst-libs/gst/vaapi/gstvaapiutils_h265.h:
12262	  gstvaapiutils_h265: Add H265 Tier specific utility functions
12263	  -- New API: gst_vaapi_utils_h265_get_tier_from_string()
12264	  -- New API: gst_vaapi_utils_h265_get_tier_string()
12265	  https://bugzilla.gnome.org/show_bug.cgi?id=748874
12266	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12267
122682015-05-19 10:57:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12269
12270	* docs/reference/plugins/Makefile.am:
12271	  doc: conditional linking for scanner
12272	  Add x11 library only if it is enabled.
12273	  https://bugzilla.gnome.org/show_bug.cgi?id=749018
12274
122752015-05-19 10:37:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12276
12277	* docs/reference/plugins/plugins.types:
12278	  doc: fix scanner compilation warning
12279	  https://bugzilla.gnome.org/show_bug.cgi?id=749018
12280
122812015-05-06 16:19:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12282
12283	* docs/reference/libs/libs-docs.xml.in:
12284	* docs/reference/libs/libs-sections.txt:
12285	  doc: update sections and symbols
12286	  https://bugzilla.gnome.org/show_bug.cgi?id=749018
12287
122882015-05-13 10:38:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12289
12290	* .gitignore:
12291	* Makefile.am:
12292	* debian.upstream/Makefile.am:
12293	* docs/Makefile.am:
12294	* docs/reference/Makefile.am:
12295	* docs/reference/libs/Makefile.am:
12296	* docs/reference/plugins/Makefile.am:
12297	* ext/Makefile.am:
12298	* ext/libvpx/Makefile.am:
12299	* git.mk:
12300	* gst-libs/Makefile.am:
12301	* gst-libs/gst/Makefile.am:
12302	* gst-libs/gst/base/Makefile.am:
12303	* gst-libs/gst/codecparsers/Makefile.am:
12304	* gst-libs/gst/vaapi/Makefile.am:
12305	* gst/Makefile.am:
12306	* gst/vaapi/Makefile.am:
12307	* patches/Makefile.am:
12308	* patches/videoparsers/Makefile.am:
12309	* pkgconfig/Makefile.am:
12310	* tests/Makefile.am:
12311	  build: use git.mk
12312	  This patch handles dinamically the gitignore files with git.mk[1].
12313	  Removed the automake variable MAINTAINERCLANFILES in most of the
12314	  Makefile.am files since now it is handled by the top one.
12315	  1. https://github.com/behdad/git.mk/blob/master/git.mk
12316	  https://bugzilla.gnome.org/show_bug.cgi?id=749321
12317
123182015-05-07 11:28:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12319
12320	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12321	  wayland: sync() when destroy()
12322	  Before pushing a the new frame, the render() method calls sync() to flush the
12323	  pending frames. Nonetheless, the last pushed frame never gets rendered, leading
12324	  to a memory leak too.
12325	  This patch calls sync() in the destroy() to flush the pending frames before
12326	  destroying the window.
12327	  Also a is_cancelled flag is added. This flag tells to not flush the event
12328	  queue again since the method failed previously or were cancelled by the user.
12329	  https://bugzilla.gnome.org/show_bug.cgi?id=749078
12330
123312015-05-07 15:55:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
12332
12333	* gst-libs/gst/vaapi/gstvaapiwindow.c:
12334	* gst-libs/gst/vaapi/gstvaapiwindow.h:
12335	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12336	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12337	* gst/vaapi/gstvaapisink.c:
12338	  vaapisink: implement unlock/unlock_stop for wayland
12339	  Otherwise wl_display_dispatch_queue() might prevent the pipeline from
12340	  shutting down. This can happen e.g. if the wayland compositor exits while
12341	  the pipeline is running.
12342	  Changes:
12343	  * renamed unlock()/unlock_stop() to unblock()/unblock_cancel() in gstvaapiwindow
12344	  * splitted the patch removing wl_display_dispatch_queue()
12345	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12346	  https://bugzilla.gnome.org/show_bug.cgi?id=747492
12347	  https://bugzilla.gnome.org/show_bug.cgi?id=749078
12348
123492015-05-07 12:33:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12350
12351	* configure.ac:
12352	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12353	  wayland: wl_display_dispatch_queue() can block forever.
12354	  wl_display_dispatch_queue() might prevent the pipeline from shutting
12355	  down. This can happen e.g. if the wayland compositor exits while the
12356	  pipeline is running.
12357	  This patch replaces it with these steps:
12358	  - With wl_display_prepare_read() all threads announce their intention
12359	  to read.
12360	  - wl_display_read_events() is thread save. On threads reads, the other
12361	  wait for it to finish.
12362	  - With wl_display_dispatch_queue_pending() each thread dispatches its
12363	  own events.
12364	  wl_display_dispatch_queue_pending() was defined since wayland 1.0.2
12365	  Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
12366	  * stripped out the unlock() unlock_stop() logic
12367	  * stripped out the poll handling
12368	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12369	  https://bugzilla.gnome.org/show_bug.cgi?id=749078
12370	  https://bugzilla.gnome.org/show_bug.cgi?id=747492
12371
123722015-05-07 18:30:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12373
12374	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12375	  wayland: rename frame for last_frame
12376	  Since frame in the private data means the last frame sent, it would
12377	  semantically better use last_frame.
12378	  Also, this patch makes use of g_atomic_pointer_{compare_and_exchange, set}()
12379	  functions.
12380	  https://bugzilla.gnome.org/show_bug.cgi?id=749078
12381
123822015-05-07 11:18:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12383
12384	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12385	  wayland: use a counter as sync flag
12386	  Wayland window has a pointer to the last pushed frame and use it to set the
12387	  flag for stopping the queue dispatch loop. This may lead to memory leaks,
12388	  since we are not keeping track of all the queued frames structures.
12389	  This patch removes the last pushed frame pointer and change the binary flag
12390	  for an atomic counter, keeping track of number of queued frames and use it for
12391	  the queue dispatch loop.
12392	  https://bugzilla.gnome.org/show_bug.cgi?id=749078
12393
123942015-05-07 10:36:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12395
12396	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12397	  wayland: decouple wl_buffer from frame
12398	  This patch takes out the wayland's buffer from the the frame structure. The
12399	  buffer is queued to wayland and destroyed in the "release" callback. The
12400	  frame is freed in the surface's "done" callback.
12401	  In this way a buffer may be leaked but not the whole frame structure.
12402	  - surface 'done' callback is used to throttle the rendering operation and to
12403	  unallocate the frame, but not the buffer.
12404	  - buffer 'release' callback is used to destroy wl_buffer.
12405	  Original-patch-by: Zhao Halley <halley.zhao@intel.com>
12406	  * code rebase
12407	  * kept the the event_queue for buffer's proxy
12408	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12409	  https://bugzilla.gnome.org/show_bug.cgi?id=749078
12410
124112015-05-14 16:22:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12412
12413	* gst/vaapi/gstvaapisink.c:
12414	  vaapisink: fix indentation
12415
124162015-05-13 11:54:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12417
12418	* debian.upstream/Makefile.am:
12419	* ext/libvpx/Makefile.am:
12420	* gst-libs/gst/vaapi/Makefile.am:
12421	* gst/vaapi/Makefile.am:
12422	* tests/Makefile.am:
12423	  build: fix make distcheck
12424	  This patch fixes several issues found when running the `make distcheck`
12425	  target:
12426	  - In commit c561b8da, the update of gstcompat.h in Makefile.am was
12427	  forgotten.
12428	  - In commit c5756a91 add the simple_encoder_source_h in EXTRA_DIST was
12429	  forgotten.
12430	  - vpx.build.stamp is not generated at all, only vpx.configure.stamp.
12431	  - The make target distcleancheck failed because some autogenerated files
12432	  were not handled with the DISTCLEANFILES variable.
12433	  Note: `make distcheck -jXX` is not currently supported.
12434
124352015-05-13 13:28:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12436
12437	* patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
12438	* patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
12439	* patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
12440	  h264parse: update patches with upstream
12441	  These patches didn't applied cleanly, breaking the `make distcleancheck`
12442	  target. Re-sync'ed the patches against the current git's submodule.
12443
124442015-05-12 16:04:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12445
12446	* tests/simple-encoder.c:
12447	  tests: simple-encoder: fix build warnings on 64-bit platforms.
12448	  Add a cosmetic change to replace VAAPI buffer with VA buffer and most
12449	  importantly fix warnings spitted out during build on 64-bit platforms.
12450	  ../../tests/simple-encoder.c:211:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
12451	  g_warning ("Invalid VAAPI buffer size (%d)", size);
12452	  ^
12453	  ../../tests/simple-encoder.c:217:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
12454	  g_warning ("Failed to create output buffer of size %d", size);
12455	  ^
12456
124572015-05-08 15:54:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12458
12459	* gst/vaapi/gstvaapipluginbase.c:
12460	* gst/vaapi/gstvaapipluginutil.c:
12461	* gst/vaapi/gstvaapipluginutil.h:
12462	* gst/vaapi/gstvaapivideocontext.h:
12463	  plugins: remove gstreamer-0.10 crumbs
12464	  GstVideoContext was used in gstreamer-0.10, which is not supported anymore.
12465	  Still, its definition was still in the code. This patch removes it.
12466	  https://bugzilla.gnome.org/show_bug.cgi?id=749113
12467
124682015-05-05 13:08:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12469
12470	* tests/Makefile.am:
12471	* tests/simple-encoder.c:
12472	* tests/y4mreader.c:
12473	* tests/y4mreader.h:
12474	  tests: add simple-encoder program
12475	  This patch adds a simple-encoder test program that uses libgstvaapi for video
12476	  encoding to elementary (raw) streams. Input stream is raw YUV in the Y4M
12477	  format. That can be from a regular file or standard input when the input
12478	  filename is "-".
12479	  Usage: simple-encoder [options]* <source>
12480	  Options:
12481	  --output|-o     output file name
12482	  --codec|-c      codec to use for video encoding
12483	  --bitrate|-b    desired bitrate (kbps)
12484	  By default, and as an initial patch, the encoded stream shall conform to the
12485	  minimally supported profile. That is "Constrained Baseline Profile" for H.264
12486	  and "Simple Profile" for MPEG-2. Though, those are the defaults to be
12487	  generated by libgstvaapi.
12488	  You can find Y4M sample files here http://samples.mplayerhq.hu/yuv4mpeg2/
12489	  Original-patch-by: Changzhi Wei <changzhix.wei@intel.com>
12490	  * general code clean-up
12491	  * removed the yuv reader thread
12492	  * re-wrote the y4m file parser
12493	  * updated used API fixed some wrong usage
12494	  * fixed a lot of memory leaks
12495	  * added the bitrate setting
12496	  * keep fps' numerator and denominator
12497	  * simplified the thread control
12498	  * removed custom logging and use glib
12499	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12500	  https://bugzilla.gnome.org/show_bug.cgi?id=719528
12501
125022015-05-05 13:02:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12503
12504	* gst-libs/gst/vaapi/gstvaapiencoder.h:
12505	  libs: trivial documentation fix
12506	  GST_VAAPI_ENCODER_STATUS_NO_SURFACE and GST_VAAPI_ENCODER_STATUS_NO_BUFFER
12507	  are not errors, so they do not have the ERROR namespace.
12508	  This patch fixes this typo in documentation.
12509
125102015-02-15 15:01:03 +0000  Simon Farnsworth <simon@farnz.org.uk>
12511
12512	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12513	  window: Correct prototype to match implementation
12514	  On s390x, guintptr and GstVaapiID are not compatible types. The
12515	  implementation of gst_vaapi_window_new_internal() and all its callers
12516	  seem to assume that its third argument is a GstVaapiID, while the
12517	  header gives it guintptr type.
12518	  https://bugzilla.gnome.org/show_bug.cgi?id=744559
12519
125202015-05-04 14:24:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12521
12522	* gst/vaapi/gstvaapidecode.c:
12523	* gst/vaapi/gstvaapidecodebin.c:
12524	  vaapidecode: add guards for disabled codecs.
12525	  Fix link when building plugin elements without HEVC support. e.g. don't
12526	  try to call into gst_vaapi_decoder_h265_set_alignment() if there is no
12527	  support HEVC enabled in libgstvaapi.
12528	  Also, drop disabled codecs from static template caps. Add the missing
12529	  HEVC static template caps into vaapidecodebin too.
12530
125312015-04-30 13:29:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12532
12533	* configure.ac:
12534	* gst-libs/gst/vaapi/glibcompat.h:
12535	  build: upgrade glib dependency to 2.32
12536	  Since bug #745728 was fixed the oldest supported version of GStreamer is
12537	  1.2. That GStreamer release requires glib 2.32, so we can upgrade our
12538	  requirement too.
12539	  This patch changes the required version of glib in configure.ac and removes
12540	  the hacks in glibcompat.h
12541	  https://bugzilla.gnome.org/show_bug.cgi?id=748698
12542
125432015-04-30 13:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12544
12545	* gst/vaapi/gstvaapipluginbase.c:
12546	  plugins: check if the pool config is already set
12547	  In commit 97b768, a regression for GStreamer 1.2 was introduced:
12548	  GStreamer 1.2 doesn't check, in gst_buffer_pool_set_config() if the
12549	  config option is already set. This patch adds an inline function to
12550	  first verify if the option is not in the pool config berfore add it.
12551
125522015-04-29 12:39:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12553
12554	* gst/vaapi/gstvaapipostproc.c:
12555	  vaapipostproc: tune up a couple of log messages
12556	  In order to reduce the noise, the query type log was downgrade from INFO to
12557	  DEBUG, and the shared display address log message is assigned to the object.
12558
125592015-04-29 12:27:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12560
12561	* gst/vaapi/gstvaapipluginbase.c:
12562	  plugins: check gst_buffer_pool_set_config()
12563	  Check the return value of gst_buffer_pool_set_config(). If it fails an error
12564	  message is posted in the bus.
12565
125662015-04-29 12:24:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12567
12568	* gst/vaapi/gstvaapipluginbase.c:
12569	  plugins: more specific log message
12570	  Be more specific in the log message about the reason of creating a new pool.
12571
125722015-04-29 12:22:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12573
12574	* gst/vaapi/gstvaapipluginbase.c:
12575	  plugins: delete unused variable
12576	  need_pool is a boolean variable extracted from the allocation query, but it is
12577	  not used afterwards.
12578
125792015-04-27 19:21:12 -0400  Olivier Crete <olivier.crete@collabora.com>
12580
12581	* gst/vaapi/gstvaapipluginbase.c:
12582	  vaapipluginbase: Update the pool if there was no pool in the downstream reply
12583	  Fix regression introduced by bd866479, the query after decide_allocation()
12584	  always needs a pool in the first slot.
12585	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12586	  https://bugzilla.gnome.org/show_bug.cgi?id=748559
12587
125882015-04-27 20:50:19 -0400  Olivier Crete <olivier.crete@collabora.com>
12589
12590	* gst/vaapi/gstvaapivideobufferpool.c:
12591	  videopool: Free members before chaining up finalize
12592	  The finalize function in GObject frees the object memory, so
12593	  everything else needs to have been freed before.
12594	  https://bugzilla.gnome.org/show_bug.cgi?id=748563
12595
125962015-04-27 20:31:50 -0400  Olivier Crete <olivier.crete@collabora.com>
12597
12598	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12599	  wayland: don't leak the registry proxy
12600	  Release the registry proxy when closing the display.
12601	  https://bugzilla.gnome.org/show_bug.cgi?id=748564
12602
126032015-04-21 17:17:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12604
12605	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12606	  wayland: refactor _sync() method and rename callback
12607	  This patch only intends to improve readability: in the method
12608	  gst_vaapi_window_wayland_sync() the if/do instructions are squashed into a
12609	  single while loop.
12610	  Also renames the frame_redraw_callback() callback into frame_done_callback(),
12611	  which is a bit more aligned to Wayland API.
12612
126132015-02-03 16:52:06 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
12614
12615	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12616	  wayland: free frame in buffer release callback
12617	  The Wayland compositor may still use the buffer when the frame done
12618	  callback is called.
12619	  This patch destroys the frame (which contains the buffer) until the
12620	  release callback is called. The draw termination callback only controls
12621	  the display queue dispatching.
12622	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12623	  https://bugzilla.gnome.org/show_bug.cgi?id=747492
12624
126252015-04-21 10:00:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12626
12627	* gst/vaapi/gstvaapidecode.c:
12628	  vaapidecode: refactor gst_vaapidecode_internal_flush()
12629	  This a cosmetic refactor: gst_vaapidecode_internal_flush() removes its only
12630	  label; gst_vaapidecode_finish() is more readable and gst_vaapidecode_purge()
12631	  shares the same error message of gst_vaapidecode_internal_flush() when flush
12632	  fails.
12633
126342015-04-20 13:27:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12635
12636	* gst/vaapi/gstvaapidecode.c:
12637	  vaapidecode: refactor gst_vaapidecode_destroy()
12638	  Add the method gst_vaapidecode_purge(). This method releases the
12639	  flushed frames from the decoder.
12640	  This new method add more readablity to gst_vaapidecode_destroy()
12641
126422015-04-16 12:53:18 -0400  Olivier Crete <olivier.crete@collabora.com>
12643
12644	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
12645	* gst/vaapi/gstvaapidecode.c:
12646	  vaapidecode: Tell the base class about released frames on close
12647	  The base class needs to be informed about frames that were still queued
12648	  in the decoder on release, otherwise they are leaked.
12649	  https://bugzilla.gnome.org/show_bug.cgi?id=747999
12650
126512015-04-19 11:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12652
12653	* gst/vaapi/gstvaapidecode.c:
12654	  vaapidecode: reduce logging noise
12655	  When a frame is rejected by downstream, the message is logged twice. This
12656	  patch removes one of those logging messages.
12657	  Also, the reject of a frame doesn't mean an alarming error. This patch demotes
12658	  the log message from error to info.
12659
126602015-04-16 20:18:13 -0400  Olivier Crete <olivier.crete@collabora.com>
12661
12662	* gst/vaapi/gstvaapidecode.c:
12663	  vaapidecode: Use the GstVideoDecoder error reporting function
12664	  This way, the decoder won't stop on the first decoding error,
12665	  in most cases it can recover after some glitchiness.
12666	  https://bugzilla.gnome.org/show_bug.cgi?id=744620
12667
126682015-04-17 19:10:35 +0000  Olivier Crete <olivier.crete@collabora.com>
12669
12670	* gst/vaapi/gstvaapipluginbase.c:
12671	  vaapipluginbase: The allocation query can return without a pool
12672	  It is possible to return the min/max/size without actually providing
12673	  a pool. This way the source knows how many buffers downstream needs.
12674	  https://bugzilla.gnome.org/show_bug.cgi?id=748076
12675
126762015-04-17 16:45:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12677
12678	* ext/Makefile.am:
12679	* gst/vaapi/Makefile.am:
12680	* gst/vaapi/gstvaapiparse.c:
12681	* gst/vaapi/gstvaapiparse.h:
12682	* patches/videoparsers/0001-h265parse-include-gstvaapiparse.h.patch:
12683	* patches/videoparsers/series.frag:
12684	  plugins: Add h265 videoparser element "vaapiparse_h265"
12685	  This is a mirror of h265parse element in upstream gst-plugins-bad.
12686	  There could be additional patches but all should go to upstream.
12687	  This is for making development faster.
12688	  Note: vaapiparse_h265 will get build only for GStreamer version >= 1.4
12689
126902015-04-17 15:44:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12691
12692	* ext/codecparsers:
12693	  codecparsers: Update to gst-vaapi-branch commit 43a0368
12694	  45f1c28: codecparser: h265: Fix nal unit size checking
12695	  f25987b: codecparser: h265: Calculate crop rectangle dimensions
12696	  639573a: codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
12697	  4c8ec41: Add h265 videoparser plugin source files
12698
126992015-04-17 10:10:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12700
12701	* autogen.sh:
12702	  autogen: drop videoutils submodule.
12703
127042015-04-17 10:36:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12705
12706	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12707	  decoder: hevc: cosmetics.
12708	  Mostly coding style updates. Avoid integer signess inconsistencies.
12709	  Optimize dpb_find_lowest_poc() to align with original h264's decoder.
12710
127112015-04-16 14:13:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12712
12713	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12714	  decoder: hevc: Add Support for tiled video decoding
12715	  Based up on the value of uniform_spacing_flag in Picture Parameter Set,
12716	  the tile column width and tile row height should be calculated.
12717	  Equations: 6-1, 6-2
12718	  Tiled video Descriptions: 7.3.2.3, 7.4.3.3
12719
127202015-04-16 14:13:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12721
12722	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12723	  decoder: hevc: Fix decoding when there are RASL pictures present.
12724	  -- Set NoRaslOutputFlag based on EOS and EOB Nal units
12725	  -- Fix PicOutputFlag setting for RASL picture
12726	  -- Fix prev_poc_lsb/prev_poc_msb calculation
12727	  -- Drop the RASL frames if NoRaslOutputFlag is TRUE for the associated IRAP picture
12728	  -- Fixed couple of crashes and added cosmetics
12729
127302015-04-14 10:54:54 +0100  Martin Sherburn <martin.sherburn@datapath.co.uk>
12731
12732	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12733	  display: drm: fix race condition setting device type
12734	  There is a race condition where g_drm_device_type can be left set to
12735	  DRM_DEVICE_RENDERNODES when it shouldn't.
12736	  If thread 1 comes in and falls into the last else statement setting up both
12737	  RENDERNODES and LEGACY types. And begins to process the first type (RENDERNODES),
12738	  it sets g_drm_device_type = RENDERNODES.
12739	  Now when thread 2 comes in and sees g_drm_device_type is RENDERNODES, it queues
12740	  up that type to be tried but then encounters the lock and has to wait until the
12741	  first thread finishes. Once the lock is acquired it will then proceed to ONLY try
12742	  RENDERNODES and fail it. But it doesn't try LEGACY. And from then on, all future
12743	  attempts will only try RENDERNODES.
12744	  So to avoid this situation I have simply moved the acquisition of the lock higher
12745	  up in the attached patch.
12746	  https://bugzilla.gnome.org/show_bug.cgi?id=747914
12747
127482015-04-15 15:26:12 -0400  Olivier Crete <olivier.crete@collabora.com>
12749
12750	* gst/vaapi/gstvaapipostproc.c:
12751	  vaapipostproc: Don't create filter on caps query
12752	  The problem with this is that creating the filter causes the display to
12753	  be selected, and the caps query happens while linking the element. So,
12754	  if the downstream or upstream element is using a specific display
12755	  object, it won't be propagated correctly to the postproc as it already
12756	  has a display at this point.
12757	  https://bugzilla.gnome.org/show_bug.cgi?id=747945
12758
127592015-04-15 15:20:17 -0400  Olivier Crete <olivier.crete@collabora.com>
12760
12761	* gst-libs/gst/vaapi/gstvaapivideopool.c:
12762	  videopool: Release lock while allocating new object
12763	  The video pool can be accessed with the display lock held, for example,
12764	  when releasing a buffer from inside vaapisink_render, but allocating
12765	  a new object can may also take the display lock. Which means a possible
12766	  deadlock.
12767	  https://bugzilla.gnome.org/show_bug.cgi?id=747944
12768
127692015-04-15 17:26:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12770
12771	* gst/vaapi/gstvaapisink.c:
12772	  vaapisink: use GstVideoSink vmethod show_frame()
12773	  vaapisink inherits from GstVideoSink, in order to use its functionality (such
12774	  as ::show-preroll-frame property), we should use its vmethod show_frame(),
12775	  rather than call ourselves render() and preroll().
12776
127772015-04-15 18:16:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12778
12779	* gst/vaapi/gstvaapisink.c:
12780	* gst/vaapi/gstvaapisink.h:
12781	  vaapisink: add 'handoff' signal
12782	  This patch adds the signal ::handoff and the property signal-handoffs. If the
12783	  property is set TRUE, the signal ::handoff is emitted just after the buffer is
12784	  rendered.
12785	  Based on Zhao Halley <halley.zhao@intel.com>
12786	  https://bugzilla.gnome.org/show_bug.cgi?id=747905
12787
127882015-04-14 10:17:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12789
12790	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12791	  HEVC: silence the compiler
12792	  Fixed a couple of clang complains.
12793
127942015-02-02 16:42:43 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
12795
12796	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12797	  wayland: destroy vpp buffer pool on resize
12798	  Otherwise the old buffers with the old size are used.
12799	  https://bugzilla.gnome.org/show_bug.cgi?id=747491
12800
128012015-04-14 10:08:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12802
12803	* configure.ac:
12804	* gst-libs/gst/vaapi/Makefile.am:
12805	  build: don't compile HEVC if not supported
12806	  HEVC decoding was added recently libva-1.5.
12807	  This patch avoids HEVC decoding support in libgstvaapi if it is not available
12808	  in the installed libva.
12809	  https://bugzilla.gnome.org/show_bug.cgi?id=747831
12810
128112015-04-13 16:04:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12812
12813	* gst/vaapi/gstvaapidecode.c:
12814	  vaapidecode: Update Author name in plugin metadata
12815
128162015-04-13 15:43:30 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12817
12818	* gst/vaapi/gstvaapidecode.c:
12819	  plugins: Add HEVC decoder
12820	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12821
128222015-04-13 15:41:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12823
12824	* gst-libs/gst/vaapi/Makefile.am:
12825	* gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12826	* gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
12827	  HEVC: Add HEVC(h265) decoder to core libgstvaapi
12828	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12829
128302015-04-13 14:53:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12831
12832	* gst-libs/gst/vaapi/Makefile.am:
12833	* gst-libs/gst/vaapi/gstvaapiutils_h265.c:
12834	* gst-libs/gst/vaapi/gstvaapiutils_h265.h:
12835	* gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
12836	  HEVC: Add codec utility methods to core libgstvaapi
12837	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12838
128392015-04-13 14:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12840
12841	* gst-libs/gst/vaapi/gstvaapiprofile.c:
12842	* gst-libs/gst/vaapi/gstvaapiprofile.h:
12843	  HEVC: gstvaapiprofile: Add profile definitions
12844	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12845
128462015-04-13 14:52:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12847
12848	* configure.ac:
12849	  HEVC: build: Check availability of h265 decoder APIs
12850	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12851
128522015-04-13 14:51:51 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12853
12854	* configure.ac:
12855	* ext/Makefile.am:
12856	* gst-libs/gst/codecparsers/Makefile.am:
12857	  HEVC: Allow to build h265 codecparser internally
12858	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12859
128602015-04-08 18:05:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12861
12862	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
12863	* gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
12864	* gst-libs/gst/vaapi/gstvaapisurface.c:
12865	  guard buffer export API if not available
12866	  The support for buffer exports in VA-API was added in version 0.36. These
12867	  interfaces are for interop with EGL, OpenCL, etc.
12868	  GStreamer-VAAPI uses it for a dmabuf memory allocator. Though, gstreamer-vaapi
12869	  has to support VA-API versions ranging from 0.30.4, which doesn't support it.
12870	  This patch guards all the buffer exports handling (and dmabuf allocator) if
12871	  the detected VA-API version is below 0.36.
12872	  https://bugzilla.gnome.org/show_bug.cgi?id=746405
12873
128742015-04-13 11:29:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12875
12876	* ext/codecparsers:
12877	  codecparsers: Update to gst-vaapi-branch commit 9bc72b0
12878	  767bf22: codecparsers: h265: add helpers to convert quantization matrices
12879	  71c8e93: codecparser: h265: skip byte alignment bits while parsing slice header
12880	  3bf0355: codecparsre: h265: Fix the NumDeltaPocs calculation
12881	  10e2087: codecparser: h265: Fix the NumPocTotalCurr calculatio
12882	  2d753b8: codecparser: h265: Fix nal size calculation for EOS and EOB
12883
128842014-12-11 12:02:38 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
12885
12886	* gst/vaapi/gstvaapidecode.c:
12887	  vaapidecode: unref video codec frame twice
12888	  We get one reference when the frame is passed to decode_handle_frame()
12889	  and create another one in gst_vaapi_decoder_push_frame().
12890	  Usually the frame is handled in gst_vaapidecode_push_decoded_frame().
12891	  Here the frame is always released twice:
12892	  gst_video_decoder_finish_frame() + gst_video_codec_frame_unref() or
12893	  gst_video_decoder_drop_frame() + gst_video_codec_frame_unref().
12894	  In gst_vaapidecode_reset_full() both references to the frame must be
12895	  released as well.
12896	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12897	  https://bugzilla.gnome.org/show_bug.cgi?id=743226
12898
128992015-04-08 18:20:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12900
12901	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12902	  libs: remove unused variables
12903	  clang reports these unused variables. Let's get rid of them.
12904	  This patch is a missing part of commit c82e5173
12905	  https://bugzilla.gnome.org/show_bug.cgi?id=747312
12906
129072015-04-03 20:38:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12908
12909	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
12910	  decoder: mpeg4: remove an spurious comparison
12911	  The member size in GstMpeg4Packet is gsize which is unsigned, which cannot be
12912	  less than zero. Hence this pre-condition test is a no-op. This patch removes
12913	  that code.
12914	  https://bugzilla.gnome.org/show_bug.cgi?id=747312
12915
129162015-04-03 20:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12917
12918	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12919	  encoder: h264: casts slice_param->slice_type
12920	  slice_type in slice_param is defined as (char *), but it is compared against a
12921	  signed integer. clang complains about this comparison.
12922	  This patch casts the variable.
12923	  https://bugzilla.gnome.org/show_bug.cgi?id=747312
12924
129252015-04-03 20:31:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12926
12927	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
12928	  encoder: avoid GstVaapiCodedBuffer redefinition
12929	  The symbol GstVaapiCodedBuffer is already defined in
12930	  gst-libs/gst/vaapi/gstvaapicodedbuffer.h which is loaded, at the end, by
12931	  gstvaapiencoder_objects.h. Clang complains about the symbol re-definition.
12932	  This patch removes that redefinition.
12933	  https://bugzilla.gnome.org/show_bug.cgi?id=747312
12934
129352015-04-03 20:28:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12936
12937	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12938	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
12939	  libs: remove unused variables
12940	  clang reports these unused variables. Let's get rid of them.
12941	  https://bugzilla.gnome.org/show_bug.cgi?id=747312
12942
129432015-04-03 20:27:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12944
12945	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
12946	  encoder: mpeg2: use fabsf() instead of abs()
12947	  The member value in frame_rate_tab is float, the result of the abs() function
12948	  should be float too. But abs() only manages integers.
12949	  This patch replaces abs() with fabsf() to handle correctly the possible floats
12950	  values.
12951	  https://bugzilla.gnome.org/show_bug.cgi?id=747312
12952
129532015-04-03 20:02:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12954
12955	* gst-libs/gst/vaapi/gstvaapidecoder.c:
12956	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12957	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
12958	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
12959	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
12960	  decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME
12961	  Since GST_VAAPI_DECODER_STATUS_DROP_FRAME is not part of the enum
12962	  GstVaapiDecoderStatus, we need to cast it to avoid compiler complains.
12963	  https://bugzilla.gnome.org/show_bug.cgi?id=747312
12964
129652015-04-04 00:40:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12966
12967	* README:
12968	  Update README
12969
129702015-04-04 00:06:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12971
12972	* .gitmodules:
12973	* README:
12974	  Changing source code download links from https://gitorious  to https://github
12975	  -- gitmodules: Change gstreamer-codecparsers submodule source download link
12976	  -- README: Change the gstreamer-vaapi webpage link
12977
129782015-04-03 23:30:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12979
12980	* ext/codecparsers:
12981	  codecparsers: update to gst-vaapi-branch commit 1f792e4
12982	  87f4a7e: bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
12983	  7d8ba7a: bytereader: use unchecked inline variant for get_remaining in more places
12984	  2528ea6: bytereader: add gst_byte_reader_masked_scan_uint32_peek
12985	  2b92a67: h264parse: reset the parser information when caps changes
12986	  05eee86: codecparsers: Indent file
12987	  e27a38b: codecparsers: Add READ_UE_MAX macro
12988	  2036471: Constify some static arrays everywhere
12989
129902015-04-03 17:45:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12991
12992	* gst/vaapi/gstvaapivideoconverter_glx.c:
12993	* gst/vaapi/gstvaapivideoconverter_x11.c:
12994	  Remove the gstvaapivideoconverter_*.c source files missed in commit 51b1e4a
12995
129962015-04-03 17:09:08 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12997
12998	* gst/vaapi/gstvaapidecode.c:
12999	* gst/vaapi/gstvaapidecodebin.c:
13000	* gst/vaapi/gstvaapiencode_h264.c:
13001	* gst/vaapi/gstvaapiencode_jpeg.c:
13002	* gst/vaapi/gstvaapiencode_mpeg2.c:
13003	* gst/vaapi/gstvaapiencode_vp8.c:
13004	* gst/vaapi/gstvaapipluginbase.c:
13005	* gst/vaapi/gstvaapipluginutil.c:
13006	* gst/vaapi/gstvaapipluginutil.h:
13007	* gst/vaapi/gstvaapipostproc.c:
13008	* gst/vaapi/gstvaapisink.c:
13009	* gst/vaapi/gstvaapivideobuffer.c:
13010	* gst/vaapi/gstvaapivideobufferpool.c:
13011	* gst/vaapi/gstvaapivideocontext.c:
13012	* gst/vaapi/gstvaapivideocontext.h:
13013	* gst/vaapi/gstvaapivideoconverter_glx.h:
13014	* gst/vaapi/gstvaapivideoconverter_x11.h:
13015	* gst/vaapi/gstvaapivideomemory.h:
13016	* gst/vaapi/gstvaapivideometa_texture.c:
13017	  Removal of gstreamer-1.0 support
13018	  The support for GStreamer 1.0 has been obsoleted in 0.5.10 release.
13019	  GStreamer 1.2 is the a minimal requirement for building the gstreamer-vaapi.
13020	  This patch removes all the pre-processor conditional code compilation guarded
13021	  for gstreamer-1.0.
13022	  Thus, all the video converters were removed too.
13023	  https://bugzilla.gnome.org/show_bug.cgi?id=745728
13024	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13025	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13026
130272015-04-03 17:08:30 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13028
13029	* gst-libs/gst/vaapi/gstcompat.h:
13030	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13031	* gst-libs/gst/vaapi/gstvaapiprofile.c:
13032	* gst-libs/gst/vaapi/sysdeps.h:
13033	* gst/vaapi/gstcompat.h:
13034	* gst/vaapi/gstvaapi.c:
13035	* gst/vaapi/gstvaapidecode.c:
13036	* gst/vaapi/gstvaapidecodebin.c:
13037	* gst/vaapi/gstvaapiencode.c:
13038	* gst/vaapi/gstvaapiencode_h264.c:
13039	* gst/vaapi/gstvaapiencode_jpeg.c:
13040	* gst/vaapi/gstvaapiencode_mpeg2.c:
13041	* gst/vaapi/gstvaapiencode_vp8.c:
13042	* gst/vaapi/gstvaapiparse.c:
13043	* gst/vaapi/gstvaapipluginbase.c:
13044	* gst/vaapi/gstvaapipluginutil.c:
13045	* gst/vaapi/gstvaapipostproc.c:
13046	* gst/vaapi/gstvaapisink.c:
13047	* gst/vaapi/gstvaapiuploader.c:
13048	* gst/vaapi/gstvaapivideobuffer.c:
13049	* gst/vaapi/gstvaapivideobufferpool.c:
13050	* gst/vaapi/gstvaapivideocontext.c:
13051	* gst/vaapi/gstvaapivideoconverter_glx.c:
13052	* gst/vaapi/gstvaapivideoconverter_x11.c:
13053	* gst/vaapi/gstvaapivideomemory.c:
13054	* gst/vaapi/gstvaapivideometa.c:
13055	* gst/vaapi/gstvaapivideometa_texture.c:
13056	* tests/codec.c:
13057	  update and move gstcompat.h
13058	  The purpose of gstcompat.h is to couple the API differences among
13059	  gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is obsolete, the code
13060	  in this compatibility layer shall be removed.
13061	  Nevertheless, the gstcompat.h header should be kept, if new incompatibilites
13062	  appear in the future, but it shall live in gst/vaapi, not in gst-libs.
13063	  This patch removes the crumbs defined gstcompat.h and moves it to gst/vaapi.
13064	  In order to avoid layer violations, gstcompat.h includes sysdeps.h and all
13065	  the includes in gst/vaapi of sysdeps.h are replaced with gstcompat.h
13066	  https://bugzilla.gnome.org/show_bug.cgi?id=745728
13067	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13068	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13069
130702015-04-03 17:05:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13071
13072	* configure.ac:
13073	* gst/vaapi/Makefile.am:
13074	  autotools: remove gstreamer-1.0 support
13075	  This patch only removes the support of gstreamer-1.0 in the autotools
13076	  scripts. No other files are touched.
13077	  In the automake file all the converters were deprecated.
13078	  https://bugzilla.gnome.org/show_bug.cgi?id=745728
13079	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13080	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13081
130822015-04-03 17:03:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13083
13084	* .gitmodules:
13085	* ext/Makefile.am:
13086	* ext/videoutils:
13087	  Remove the gstreamer-videoutils submodule
13088
130892015-04-03 17:01:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13090
13091	* configure.ac:
13092	* gst-libs/gst/Makefile.am:
13093	* gst-libs/gst/vaapi/Makefile.am:
13094	* gst-libs/gst/video/Makefile.am:
13095	* gst/vaapi/Makefile.am:
13096	* tests/Makefile.am:
13097	  Remove libgstvaapi-videoutils.so
13098	  This library was intended to add the base classes for video decoders which
13099	  where not included in gstreamer-0.10.
13100	  Since the support of gstreamer-0.10 is deprecated those classes are not
13101	  required, thus the whole library is removed.
13102	  https://bugzilla.gnome.org/show_bug.cgi?id=745728
13103	  https://bugzilla.gnome.org/show_bug.cgi?id=732666
13104	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13105
131062015-04-03 16:55:43 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13107
13108	* configure.ac:
13109	* gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
13110	* gst-libs/gst/vaapi/gstvaapiutils.c:
13111	* tests/test-subpicture.c:
13112	  Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro
13113	  This macro guarded the use of HAVE_GST_VIDEO_OVERLAY_HWCAPS, which was not
13114	  defined before gstreamer 0.10.35. Since the support of gstreamer-0.10 is
13115	  deprecated these guards are not required.
13116	  https://bugzilla.gnome.org/show_bug.cgi?id=745728
13117	  https://bugzilla.gnome.org/show_bug.cgi?id=732666
13118	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13119
131202015-04-03 16:55:27 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13121
13122	* gst-libs/gst/vaapi/gstcompat.h:
13123	* gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
13124	* gst-libs/gst/vaapi/gstvaapidecoder.c:
13125	* gst-libs/gst/vaapi/gstvaapiimage.c:
13126	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
13127	* gst-libs/gst/vaapi/video-format.c:
13128	* gst-libs/gst/vaapi/video-format.h:
13129	* gst/vaapi/gstvaapi.c:
13130	* gst/vaapi/gstvaapidecode.c:
13131	* gst/vaapi/gstvaapidecodebin.c:
13132	* gst/vaapi/gstvaapidownload.c:
13133	* gst/vaapi/gstvaapidownload.h:
13134	* gst/vaapi/gstvaapiencode.c:
13135	* gst/vaapi/gstvaapiencode_h264.c:
13136	* gst/vaapi/gstvaapiencode_jpeg.c:
13137	* gst/vaapi/gstvaapiencode_mpeg2.c:
13138	* gst/vaapi/gstvaapiencode_vp8.c:
13139	* gst/vaapi/gstvaapiparse.c:
13140	* gst/vaapi/gstvaapipluginbase.c:
13141	* gst/vaapi/gstvaapipluginbase.h:
13142	* gst/vaapi/gstvaapipluginutil.c:
13143	* gst/vaapi/gstvaapipluginutil.h:
13144	* gst/vaapi/gstvaapipostproc.c:
13145	* gst/vaapi/gstvaapisink.c:
13146	* gst/vaapi/gstvaapiupload.c:
13147	* gst/vaapi/gstvaapiupload.h:
13148	* gst/vaapi/gstvaapiuploader.c:
13149	* gst/vaapi/gstvaapivideobuffer.c:
13150	* gst/vaapi/gstvaapivideoconverter_glx.c:
13151	* gst/vaapi/gstvaapivideoconverter_x11.c:
13152	* gst/vaapi/gstvaapivideometa.c:
13153	* gst/vaapi/gstvaapivideometa.h:
13154	* tests/test-filter.c:
13155	* tests/test-subpicture.c:
13156	  Removal of gstreamer-0.10 support
13157	  This patch removes all the pre-processor conditional code compilation guarded
13158	  for gstreamer-0.10.
13159	  https://bugzilla.gnome.org/show_bug.cgi?id=745728
13160	  https://bugzilla.gnome.org/show_bug.cgi?id=732666
13161	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13162
131632015-04-03 16:54:54 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13164
13165	* configure.ac:
13166	* debian.upstream/control.in:
13167	* gst-libs/gst/video/Makefile.am:
13168	* gst/vaapi/Makefile.am:
13169	  autotools: remove gstreamer-0.10 support
13170	  This patch only removes the support of gstreamer-0.10 in the autotools
13171	  scripts. No other files are touched.
13172	  The configuration parameter --gstreamer-api was deleted since now it is always
13173	  auto-detected.
13174	  The verification of vmethod query in GstBaseSinkClass was removed since it was
13175	  added in gstreamer 0.10.35. The same case for GstVideoOverlayComposition and
13176	  its format flags.
13177	  The precious variable GST_PLUGIN_PATH was removed, while GST_PLUGIN_PATH_1_0
13178	  remained.
13179	  The automake files were changed accordingly.
13180	  Removed, in debian/control, the vaapiupload and vaapidownload descriptions.
13181	  https://bugzilla.gnome.org/show_bug.cgi?id=732666
13182	  https://bugzilla.gnome.org/show_bug.cgi?id=745728
13183	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13184
131852015-03-16 23:38:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13186
13187	* gst/vaapi/gstvaapidecode.c:
13188	  vaapidecode: add drain() vmethod
13189	  In GStremer v1.6 a new vmethod drain() was added in GstVideoDecoder
13190	  class. This patch implements this new method.
13191	  https://bugzilla.gnome.org/show_bug.cgi?id=742922
13192	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13193	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13194
131952015-03-16 23:37:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13196
13197	* gst/vaapi/gstvaapidecode.c:
13198	  vaapidecode: remove vmethod reset()
13199	  Since in bug #745728 the support for GStreamer 1.0 is going to be dropped,
13200	  this patch removes the method reset() which was deprecated in GStreamer 1.2.
13201	  https://bugzilla.gnome.org/show_bug.cgi?id=742922
13202	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13203	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13204
132052015-03-16 23:36:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13206
13207	* gst/vaapi/gstvaapidecode.c:
13208	  vaapidecode: handle flush() vmethod
13209	  Since GStreamer 1.2 the vmethod reset() in GstVideoDecoderClass was deprecated
13210	  and flush() was added.
13211	  This patch set the vmethod flush() if the installed GStreamer version is 1.2 or
13212	  superior. Otherwise, reset() is set.
13213	  v2: 1) In order to avoid symbol collision, the old method gst_vaapidecode_flush()
13214	  was renamed to gst_vaapidecode_internal_flush().
13215	  2) The new vmethod flush() always do a hard full reset.
13216	  v3: 1) Call gst_vaapidecode_internal_flush() first in flush() vmethod, in order to
13217	  gather all collected data with  gst_video_decoder_have_frame()
13218	  https://bugzilla.gnome.org/show_bug.cgi?id=742922
13219	  Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13220	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13221
132222015-03-16 23:10:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13223
13224	* gst/vaapi/gstvaapidecode.c:
13225	  vaapidecode: call the correct query function
13226	  In commit 2f8c115 (vaapidecode: use the query virtual methods in 1.4)
13227	  a bug was introduced: when calling the parent's query function of the
13228	  src pad, the one of the sink pad is called instead. This patch fixes
13229	  this issue.
13230	  https://bugzilla.gnome.org/show_bug.cgi?id=746248
13231
132322015-03-15 00:36:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13233
13234	* .gitmodules:
13235	  gitmodules: Use https:// url instead of git:// for submodules.
13236	  Gitorious is failing to clone repositories over git:// url.
13237
132382015-03-14 22:12:19 +0200  Julien Isorce <j.isorce@samsung.com>
13239
13240	* gst-libs/gst/vaapi/gstvaapidisplay.c:
13241	  vaapidisplay: mark X11 display as compatible with EGL
13242	  GST_GL_WINDOW=x11 GST_GL_API=gles2 GST_GL_PLATFORM=egl
13243	  gst-launch-1.0 ... ! vaapidecode ! glimagesink
13244	  https://bugzilla.gnome.org/show_bug.cgi?id=745902
13245	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13246
132472015-03-06 15:20:01 +0200  Olivier Crete <olivier.crete@collabora.com>
13248
13249	* gst/vaapi/gstvaapidecode.c:
13250	  vaapidecode: Don't crash if a buffer outlives the decoder
13251	  Sometimes, for example, when switching video streams but keeping
13252	  the same sink, the surface will be released after the decoder is
13253	  stopped and replaced. This caused a crash because the release
13254	  callback was called on an invalid pointer.
13255	  The patch adding an additional reference to the decoder object in the buffer.
13256	  https://bugzilla.gnome.org/show_bug.cgi?id=745189
13257	  Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
13258	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13259
132602015-03-06 14:31:21 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13261
13262	* gst/vaapi/gstvaapidecode.c:
13263	  vaapidecode: clean-ups (indentation, drop unused variables)
13264
132652015-03-06 14:09:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13266
13267	* gst/vaapi/gstvaapidecode.c:
13268	  vaapidecode: use the query virtual methods in 1.4
13269	  GstVideoDecoder, the base class of vaapidecode, added support for
13270	  pad queries as virtual methods. This patch enables the use of that
13271	  support, while keeping support for lower versions of gstreamer.
13272	  This patch is important because GstVideoDecoder takes care of other
13273	  queries that might be important in the pipeline managing.
13274	  v2: 1) rebase to current master
13275	  2) fix indentation with gst-indent
13276	  3) simplify the patch layout
13277	  4) fix the context query
13278	  5) initialise the filter to NULL
13279	  6) improve the query log message for gst-1.2
13280	  https://bugzilla.gnome.org/show_bug.cgi?id=744406
13281
132822015-03-06 12:16:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13283
13284	* gst/vaapi/gstvaapipostproc.c:
13285	* gst/vaapi/gstvaapipostproc.h:
13286	  vaapipostproc: always activate buffer pool
13287	  The vaapipostproc has a proxy flag to know if the the buffer pool is
13288	  already active. But this fails in some situations where it is needed
13289	  to renegotiate the buffer pool.
13290	  This patch removes that flag so the renegotiation is done whenever is
13291	  required.
13292	  https://bugzilla.gnome.org/show_bug.cgi?id=745535
13293
132942015-03-02 17:04:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13295
13296	* gst/vaapi/gstvaapisink.c:
13297	  vaapisink: fix minor memory leak in debug mode.
13298	  The gst_video_colorimetry_to_string() function returns a newly created
13299	  string that represents the GstVideoColorimetry value. So, that needs
13300	  to be released after usage, in e.g. GST_DEBUG().
13301
133022015-03-03 12:37:41 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13303
13304	* gst/vaapi/gstvaapidecodebin.h:
13305	  vaapidecodebin: Avoid usage of "__" prefix in macro names
13306	  Avoiding "__" prefix usage in Header File Guards as per
13307	  C standard recommendation.
13308
133092015-03-03 12:31:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13310
13311	* gst/vaapi/gstvaapi.c:
13312	  plugins: Disable vaapidecodebin for GStreamer < 1.4
13313	  There are autoplugging issues in GStreamer-1.2.
13314	  Lets disable vaapidecodebin untill we get some workarounds for this.
13315
133162015-03-02 15:19:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13317
13318	* gst/vaapi/Makefile.am:
13319	* gst/vaapi/gstvaapi.c:
13320	* gst/vaapi/gstvaapidecodebin.c:
13321	* gst/vaapi/gstvaapidecodebin.h:
13322	  plugins: Add a vaapidecodebin element
13323	  Add a "vaapidecodebin" element to vaapi plugins.
13324	  Child Elements: "vaapidecode ! queue ! vaapipostproc"
13325	  The Reasons for implementing a new bin element:
13326	  -- Help to Autoplug Hardware Accelerated Video Postprocessing element in playbin
13327	  with out any dependency to upstream gstreamer.
13328	  This is to overcome the *unacceptable* delay in upstream gstreamer to get new
13329	  features in. Eg: https://bugzilla.gnome.org/show_bug.cgi?id=687182.
13330	  Also customers using older gstreamer versions (1.2 and 1.4) will get the
13331	  benefit of autoplugging, hardware accelerated deinterlacing support etc.
13332	  -- Help to maintain a single thread implementation in vaapidecode.
13333	  This will result a dead-lock free vaapidecode in most of the cases.
13334	  More details here: https://bugzilla.gnome.org/show_bug.cgi?id=742605
13335	  https://bugzilla.gnome.org/show_bug.cgi?id=745216
13336
133372015-03-02 14:59:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13338
13339	* gst/vaapi/gstvaapidecode.c:
13340	  vaapidecode: re-indent (gst-indent) gstvaapidecode.c
13341
133422015-03-02 14:46:38 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13343
13344	* gst/vaapi/gstvaapidecode.c:
13345	* gst/vaapi/gstvaapidecode.h:
13346	  vaapidecode: Switch back to Single thread implementation
13347	  Because the decoder uses the thread from handle_frame() to decode a frame,
13348	  the src pad task creates an unsolveable AB-BA deadlock between
13349	  handle_frame() waiting for a free surface and decode_loop() pushing
13350	  decoded frames out.
13351	  Instead, have handle_frame() take responsibility for pushing surfaces,
13352	  and remove the deadlock completely. If you need a separate thread
13353	  downstream, you can insert a queue between vaapidecode and its downstream
13354	  to get one.
13355	  Another justification for the single thread implementation is,
13356	  there are two many point of locking in gstreamer-vaapi's current
13357	  implementation which can lead to deadlocks.
13358	  https://bugzilla.gnome.org/show_bug.cgi?id=742605
13359	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13360	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13361	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13362
133632015-03-02 13:28:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13364
13365	* gst/vaapi/gstvaapipluginbase.c:
13366	  plugins: fix detection of upstream v4l2src element.
13367	  Improve check for upstream element that requires DMABUF buffer pool,
13368	  e.g. v4l2src element. In particular, make sure to traverse through
13369	  any additional capsfilter for instance.
13370	  Note: the traversal to the top-most upstream element could be made
13371	  more generic, but we are insofar only interested in supporting pipes
13372	  similar to v4l2src or v4l2src ! capsfilter, e.g. with an explicit
13373	  specification for a desired video camera format, or resolution.
13374
133752015-03-02 11:12:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13376
13377	* gst/vaapi/gstvaapivideomemory.c:
13378	  plugins: fix allocation of DMABUF memory.
13379	  The dmabuf allocator would close the DMABUF handle passed in the init
13380	  function gst_dmabuf_allocator_alloc(). So, we need to dup() it so that
13381	  to avoid a double close, ultimately in the underlying driver that owns
13382	  the DMABUF handle.
13383
133842015-02-26 12:28:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13385
13386	* gst/vaapi/gstvaapidecode.c:
13387	  vaapidecode: keep src caps and output state in sync
13388	  vaapidecode keeps an output state that use the format
13389	  GST_VIDEO_FORMAT_ENCODED, while it crafts a different src caps
13390	  for a correct negotiation.
13391	  I don't see the rational behind this decoupling, it looks like
13392	  unnecessary complexity. This patch simplify this logic keeping
13393	  in sync the output state and the src caps.
13394	  This patch improves the readability of the function
13395	  gst_vaapidecode_update_src_caps() and simplify its logic. Also,
13396	  the patch validates if the buffer pool has the configuration for
13397	  the GL texture upload meta, in order to set the caps feature
13398	  meta:GLTextureUpload. Otherwise, the I420 format is set back.
13399	  https://bugzilla.gnome.org/show_bug.cgi?id=744618
13400	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13401	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13402
134032015-02-26 12:26:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13404
13405	* gst/vaapi/gstvaapidecode.c:
13406	  vaapidecode: upload meta only if feature and allocation
13407	  When vaapidecode finishes the decoding of a frame and pushes it,
13408	  if, in the decide_allocation() method, it is determined if the
13409	  next element supports the GL texture upload meta feature, the
13410	  decoder adds the buffer's meta.
13411	  Nonetheless, in the same spirit of the commit 71d3ce4d, the
13412	  determination if the next element supports the GL texture upload
13413	  meta needs to check both the preferred caps feature *and* if the
13414	  allocation query request the API type.
13415	  This patch, first removes the unused variable need_pool, and
13416	  determines the attribute has_texture_upload_meta using the
13417	  preferred caps feature *and* the allocation query.
13418	  Also, the feature passed to GstVaapPluginBase is not longer
13419	  determined by has_texture_upload_meta, but by the computed
13420	  preferred one.
13421	  https://bugzilla.gnome.org/show_bug.cgi?id=744618
13422	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13423	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13424
134252015-02-26 12:24:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13426
13427	* gst/vaapi/gstvaapidecode.c:
13428	* gst/vaapi/gstvaapidecode.h:
13429	* gst/vaapi/gstvaapipluginutil.c:
13430	* gst/vaapi/gstvaapipluginutil.h:
13431	  vaapidecode: delayed src caps negotiation
13432	  Currently the src caps are set immediately after the sink caps are set, but in
13433	  that moment the pipeline might not fully constructed and the video sink has
13434	  not negotiated its supported caps and features. As a consequence, in many cases
13435	  of playback, the least optimized caps feature is forced. This is partially the
13436	  responsible of bug #744039.
13437	  Also, vaapidecode doesn't attend the reconfigure events from downstream,
13438	  which is a problem too, since the video sink can be changed with different
13439	  caps features.
13440	  This patch delays the src caps, setting them until the first frame arrives to
13441	  the decoder, assuming until that very moment the whole pipeline is already
13442	  negotiated. Particularly, it checks if the src pad needs to be reconfigured,
13443	  as a consequence of a reconfiguration event from downstream.
13444	  A key part of this patch is the new GstVaapiCapsFeature
13445	  GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED, which is returned when the src pad
13446	  doesn't have a peer yet. Also, for a better report of the caps allowed
13447	  through the src pad and its peer, this patch uses gst_pad_get_allowed_caps()
13448	  instead of gst_pad_peer_query_caps() when looking for the preferred feature.
13449	  v3: move the input_state unref to close(), since videodecoder resets at
13450	  some events such as navigation.
13451	  v4: a) the state_changed() callback replaces the input_state if the media
13452	  changed, so this case is also handled.
13453	  b) since the parameter ref_state in gst_vaapidecode_update_src_caps() is
13454	  always the input_state, the parameter were removed.
13455	  c) there were a lot of repeated code handling the input_state, so I
13456	  refactored it with the function gst_vaapi_decode_input_state_replace().
13457	  https://bugzilla.gnome.org/show_bug.cgi?id=744618
13458	  Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13459	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13460
134612015-02-24 17:14:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13462
13463	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13464	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
13465	  encoder: h264: add support for more than 2 views
13466	  Add support for H.264 MVC Multiview High profile encoding with
13467	  more than 2 views. All views within the same accesss unit are
13468	  provided in increasing order of view order index (VOIdx).
13469	  Upto 10 view are supported for now.
13470	  A new property "view-ids" has been provided for the plugins to
13471	  set the view ids (which is an array of guint values) to be used
13472	  for mvc encoding.
13473	  https://bugzilla.gnome.org/show_bug.cgi?id=732453
13474
134752015-02-23 16:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13476
13477	* gst/vaapi/gstvaapipluginbase.c:
13478	  plugins: upload meta only if feature and allocation
13479	  Working on bug #743687, I realized that vaapidecode always adds to its buffer
13480	  pool the config option GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META if
13481	  the decide_allocation()'s query has GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE.
13482	  Nevertheless, there are occasions where the query has the API type, but the
13483	  last negotiated caps don't have the feature meta:GstVideoGLTextureUploadMeta.
13484	  Under this contradiction, vaapidecode adds the GLTextureUploadMeta API to its
13485	  buffer pool configuration, and adds its buffer's meta to each output buffer,
13486	  even if the negotiated caps feature is memory:SystemMemory with I420 color
13487	  format.
13488	  This kind of output buffers chokes ClutterAutoVideosSink, since it uses a map
13489	  that relates caps <-> GL upload method. If it receives a buffer with color
13490	  format I420, it assumes that it doesn't have a texture upload meta, because
13491	  only those with RGB color format has it. Our buffers, with I420 format, say
13492	  that they have the upload meta too. In that case the mapped method is a dummy
13493	  one which does nothing. I reported this issue in bug #744039 (the patch,
13494	  obviously, was rejected).
13495	  This patch workarounds the problem: the buffer pool's configuration option
13496	  GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META is set if and only if the
13497	  query has the GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE *and* the negotiated
13498	  caps feature is meta:GstVideoGLTextureUploadMeta.
13499	  I have tested these patches with gst-master (1.5), gst-1.4 and gst-1.2 and
13500	  in all they seem to work correctly.
13501	  https://bugzilla.gnome.org/show_bug.cgi?id=744618
13502	  [adapted to fit current EGL changes]
13503	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13504
135052015-02-20 15:13:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13506
13507	* gst-libs/gst/vaapi/gstvaapitexture.c:
13508	* gst-libs/gst/vaapi/gstvaapitexture.h:
13509	* gst-libs/gst/vaapi/gstvaapitexture_glx.c:
13510	* gst-libs/gst/vaapi/gstvaapitexture_priv.h:
13511	* gst/vaapi/gstvaapivideometa_texture.c:
13512	  plugins: add support for GstVideoGLTextureOrientation.
13513	  Add support for GstVideoGLTextureOrientation modes. In particular,
13514	  add orientation flags to the GstVaapiTexture wrapper and the GLX
13515	  implementations. Default mode is that texture memory is laid out
13516	  with top lines first, left row first. Flags indicate whether the
13517	  X or Y axis need to be inverted.
13518
135192015-02-09 21:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13520
13521	* gst/vaapi/gstvaapidecode.c:
13522	* gst/vaapi/gstvaapipluginbase.c:
13523	* gst/vaapi/gstvaapipluginutil.c:
13524	* gst/vaapi/gstvaapipluginutil.h:
13525	* gst/vaapi/gstvaapipostproc.c:
13526	* gst/vaapi/gstvaapivideometa_texture.c:
13527	  plugins: add support for BGRA textures.
13528	  Some frameworks (EFL) expect BGRA textures for storage. However,
13529	  adding support for that broadly into GStreamer framework  implies
13530	  two kinds of hacks: (i) libgstgl helpers currently do not support
13531	  BGRA textures correctly, (ii) we need to better parse downstream
13532	  suggested caps and intersect them with what the VA plugin elements
13533	  can offer to them for GL texturing.
13534
135352015-01-23 09:31:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13536
13537	* gst/vaapi/gstvaapipluginutil.c:
13538	  plugins: fix support for Wayland/EGL running alongside X11.
13539	  When multiple display servers are available, the glimagesink element
13540	  (from GStreamer 1.4) may not be able to derive a global display in
13541	  Wayland. Rather, a "window"-specific display is created. In this case,
13542	  the GstGLDisplay handle available through GstGLContext is invalid.
13543	  So, try to improve heuristics for display server characterisation in
13544	  those particular situations.
13545
135462015-02-20 15:29:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13547
13548	* configure.ac:
13549	* gst/vaapi/Makefile.am:
13550	* gst/vaapi/gstvaapidecode.c:
13551	* gst/vaapi/gstvaapipluginbase.c:
13552	* gst/vaapi/gstvaapipluginutil.c:
13553	* gst/vaapi/gstvaapivideobufferpool.c:
13554	* gst/vaapi/gstvaapivideometa_texture.c:
13555	  plugins: add initial support for EGL.
13556	  Add initial support for EGL through GstVideoGLTextureUploadMeta.
13557	  Fix gst_vaapi_ensure_display() to allocate a GstVaapiDisplay off the
13558	  downstream supplied GstGLContext configuration, i.e. use its native
13559	  display handle to create a GstVaapiDisplay of type X11 or Wayland ;
13560	  and use the desired OpenGL API to allocate the GstVaapiDisplayEGL
13561	  wrapper.
13562	  https://bugzilla.gnome.org/show_bug.cgi?id=741079
13563
135642014-12-09 11:46:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13565
13566	* gst/vaapi/gstvaapivideometa_texture.c:
13567	  plugins: track video texture size changes.
13568	  Sync video texture sizes to GstVideoGLTextureUploadMeta private date,
13569	  i.e. GstVaapiVideoMetaTexture, on a regular basis. In particular, we
13570	  now update the texture size from the GstVideoMeta, if any, or reset
13571	  to some defaults otherwise.
13572
135732014-12-03 15:45:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13574
13575	* gst/vaapi/gstvaapipluginbase.c:
13576	* gst/vaapi/gstvaapipluginbase.h:
13577	* gst/vaapi/gstvaapipluginutil.c:
13578	  plugins: ensure VA display matches GL context expectations.
13579	  If a GstGLContext is supplied by the downstream element, then make
13580	  sure that the VA plugin element gets a compatible display to what
13581	  is requested by the GL context. e.g. re-allocate a VA/GLX display
13582	  when a GLX context is provided by the downstream element.
13583
135842014-12-03 14:14:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13585
13586	* configure.ac:
13587	* gst/vaapi/Makefile.am:
13588	* gst/vaapi/gstvaapipluginbase.c:
13589	* gst/vaapi/gstvaapipluginbase.h:
13590	  plugins: record downstream GstGLContext.
13591	  Record GL context supplied by downstream elements. This can be useful,
13592	  and further needed, to enforce run-time check that the GL context is
13593	  compatible for use by libgstvaapi. e.g. check that we don't create a
13594	  VA/GLX display for EGL/X11 contexts.
13595	  https://bugzilla.gnome.org/show_bug.cgi?id=725643
13596	  Original-path-by: Matthew Waters <ystreet00@gmail.com>
13597
135982014-12-01 14:52:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13599
13600	* tests/Makefile.am:
13601	* tests/output.c:
13602	  egl: update tests.
13603	  Add initial support for EGL to tests. The new EGL backend can be selected
13604	  through the --egl command line option. The OpenGL|ES version can further
13605	  be selected with the --gles-version command line option, where the default
13606	  of 0 means "desktop" OpenGL.
13607
136082015-01-27 16:21:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13609
13610	* gst-libs/gst/vaapi/Makefile.am:
13611	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
13612	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
13613	* gst-libs/gst/vaapi/gstvaapiutils_egl.h:
13614	* gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
13615	* gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
13616	  egl: add windowing support.
13617	  This provides for some basic EGL window abstraction.
13618
136192015-01-24 08:29:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13620
13621	* gst-libs/gst/vaapi/Makefile.am:
13622	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
13623	* gst-libs/gst/vaapi/gstvaapitexture_egl.c:
13624	* gst-libs/gst/vaapi/gstvaapitexture_egl.h:
13625	  egl: add texture abstraction.
13626	  Add GstVaapiTextureEGL abstraction that can create its own GL texture,
13627	  or import a foreign allocated one, while still allowing updates from a
13628	  VA surface.
13629
136302014-12-09 18:14:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13631
13632	* gst-libs/gst/vaapi/Makefile.am:
13633	* gst-libs/gst/vaapi/gstvaapisurface_egl.c:
13634	* gst-libs/gst/vaapi/gstvaapisurface_egl.h:
13635	  egl: allow for EGLImage imports into VA Surfaces.
13636	  Add helpers to import EGLImage objects into VA surfaces. There are
13637	  two operational modes: (i) gst_vaapi_surface_new_from_egl_image(),
13638	  which allows for implicit conversion from EGLImage to a VA surface
13639	  in native video format, and (ii) gst_vaapi_surface_new_with_egl_image(),
13640	  which exactly wraps the source EGLImage, typically in RGBA format
13641	  with linear storage.
13642	  Note: in case of (i), the EGLImage can be disposed right after the
13643	  VA surface creation call, unlike in (ii) where the user shall ensure
13644	  that the EGLImage is live until the associated VA surface is no longer
13645	  needed.
13646	  https://bugzilla.gnome.org/show_bug.cgi?id=743847
13647
136482015-02-20 15:27:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13649
13650	* configure.ac:
13651	* gst-libs/gst/vaapi/Makefile.am:
13652	* gst-libs/gst/vaapi/egl_compat.h:
13653	* gst-libs/gst/vaapi/egl_vtable.h:
13654	* gst-libs/gst/vaapi/gstvaapidisplay.c:
13655	* gst-libs/gst/vaapi/gstvaapidisplay.h:
13656	* gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
13657	* gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
13658	* gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
13659	* gst-libs/gst/vaapi/gstvaapiutils_egl.c:
13660	* gst-libs/gst/vaapi/gstvaapiutils_egl.h:
13661	* gst-libs/gst/vaapi/ogl_compat.h:
13662	  Add initial support for EGL.
13663	  Add initial support for EGL to libgstvaapi core library. The target
13664	  display server and the desired OpenGL API can be programmatically
13665	  selected at run-time.
13666	  A comprehensive set of EGL utilities are provided to support those
13667	  dynamic selection needs, but also most importantly to ensure that
13668	  the GL command stream is executed from within a single thread.
13669	  https://bugzilla.gnome.org/show_bug.cgi?id=743846
13670
136712015-01-30 21:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13672
13673	* gst-libs/gst/vaapi/gstvaapivalue.c:
13674	  libs: initialize GValues in a thread-safe manner.
13675
136762015-01-30 21:35:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13677
13678	* gst-libs/gst/vaapi/gstvaapivalue.c:
13679	  libs: re-indent all GValue related source code.
13680
136812015-01-22 22:45:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13682
13683	* gst/vaapi/gstvaapidecode.c:
13684	  vaapidecode: partially revert 0777f35.
13685	  Reset the VA decoder after updating the base plugin caps, and most
13686	  importantly, after GstVideoDecoder negotiation. The reason behind
13687	  this is that the negotiation could trigger a last decide_allocation()
13688	  where we could actually derive a new GstVaapiDisplay to use from the
13689	  downstream element. e.g. GLX backend.
13690
136912015-02-19 13:37:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13692
13693	* gst/vaapi/gstvaapidecode.c:
13694	  vaapidecode: Caps query should return the list of all supported caps.
13695	  Query caps filtering should be always done on top of allowed caps instead
13696	  of existing fixed caps on a particular pad.
13697	  This fixes the mvc stream decoding when there is a base view(high profile)
13698	  and non-base view(stereo-high profile).
13699
137002015-02-18 13:36:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13701
13702	* gst/vaapi/gstvaapidecode.c:
13703	  vaapidecode: intersect filter from query caps
13704	  According to documentation[1] when receiving a GST_QUERY_CAPS
13705	  the return value should be all formats that this elements supports,
13706	  taking into account limitations of peer elements further downstream
13707	  or upstream, sorted by order of preference, highest preference first.
13708	  This patch add those limitations intersecting with the received
13709	  filter in the query. Also takes into account the already negotiated
13710	  caps. Also adds the processing of the query on the SRC pad.
13711	  1. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-nego-getcaps.html
13712	  https://bugzilla.gnome.org/show_bug.cgi?id=744406
13713
137142015-02-18 11:46:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13715
13716	* gst-libs/gst/vaapi/Makefile.am:
13717	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
13718	* gst-libs/gst/vaapi/gstvaapidecoder.c:
13719	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13720	* gst-libs/gst/vaapi/gstvaapidisplay.c:
13721	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
13722	* gst/vaapi/gstvaapivideomemory.c:
13723	  Fix compiler warnings
13724	  This patch fixes some warnings that gcc 4.9 reports.
13725	  https://bugzilla.gnome.org/show_bug.cgi?id=744411
13726
137272015-02-18 11:22:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13728
13729	* gst/vaapi/gstvaapidecode.c:
13730	  vaapidecode: Use GST_DEBUG_FUNCPTR for gst_vaapidecode_query()
13731	  Hence the function name is shown in the gst-inspect-1.0 information
13732	  rather than the memory address.
13733	  https://bugzilla.gnome.org/show_bug.cgi?id=744330
13734
137352015-02-18 11:21:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13736
13737	* gst/vaapi/gstvaapidecode.c:
13738	  vaapidecode: log flow error name
13739	  https://bugzilla.gnome.org/show_bug.cgi?id=744387
13740
137412015-02-18 11:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13742
13743	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13744	  VC1: decoder: Ignore VC1 user BDU's
13745	  Don't return error if the processed BDU is a user one, just ignore them.
13746	  https://bugzilla.gnome.org/show_bug.cgi?id=741237
13747	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13748
137492015-02-18 11:19:26 +0200  Olivier Crete <olivier.crete@collabora.com>
13750
13751	* gst/vaapi/gstvaapidecode.c:
13752	* gst/vaapi/gstvaapipluginbase.c:
13753	  vaapidecode: Emit error GstMessage when returning a GST_FLOW_ERROR
13754	  This is required in GStreamer, elements should never return
13755	  GST_FLOW_ERROR without posting an ERROR message on the bus.
13756	  https://bugzilla.gnome.org/show_bug.cgi?id=744620
13757
137582015-02-13 13:45:32 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13759
13760	* gst/vaapi/Makefile.am:
13761	* gst/vaapi/gstvaapi.c:
13762	* gst/vaapi/gstvaapiencode_vp8.c:
13763	* gst/vaapi/gstvaapiencode_vp8.h:
13764	  plugins: Add VP8 Encoder
13765
137662015-02-13 13:42:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13767
13768	* gst-libs/gst/vaapi/Makefile.am:
13769	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
13770	* gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
13771	  Add VP8 Encoder to core libgstvaapi.
13772
137732015-02-13 13:40:19 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13774
13775	* configure.ac:
13776	  configure: Add Check for VP8 Encoding API
13777
137782015-02-10 11:40:16 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
13779
13780	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13781	  decoder: vc1: Rounding control handling for VC1 simple and Main profile
13782	  Added rounding control handling for VC1 simple and Main profile
13783	  based on VC1 standard spec: section 8.3.7
13784	  https://bugzilla.gnome.org/show_bug.cgi?id=743958
13785	  Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
13786	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13787
137882015-02-06 12:10:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13789
13790	* gst/vaapi/Makefile.am:
13791	  build: fix make dist when certain conditionals not met.
13792	  Fix typo which was preventing the inclusion of jpeg encoder
13793	  source files from make dist (when there is no jpeg encoder
13794	  API support in libva).
13795
137962015-02-05 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13797
13798	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
13799	  encoder: jpeg: Fix the sampling factor calculation for ENCODED format.
13800	  If the incoming raw video format is GST_VIDEO_FORMAT_ENCODED,
13801	  use native YUV420 format (which is i420) as default.
13802
138032015-02-05 12:13:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13804
13805	* gst-libs/gst/vaapi/gstvaapiencoder.c:
13806	  encoder: Only support YUV420 native format as input for now
13807	  Practically we should be able to support more formats, for eg:
13808	  JPEG Encoder can support YUV422, RGBA and all.
13809	  But this is causing more issues which need proper fix here and there.
13810
138112015-02-04 18:34:59 +0200  Olivier Crete <olivier.crete@collabora.com>
13812
13813	* gst-libs/gst/vaapi/gstvaapidecoder.h:
13814	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
13815	* gst/vaapi/gstvaapidecode.c:
13816	  vaapidecode: Check the condition after taking the lock
13817	  Otherwise the condition could become true before the lock
13818	  is taken and the g_cond_signal() could be called
13819	  before the g_cond_wait(), so the g_cond_wait() is never
13820	  awoken.
13821	  https://bugzilla.gnome.org/show_bug.cgi?id=740645
13822
138232015-02-04 11:18:29 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13824
13825	* gst/vaapi/Makefile.am:
13826	* gst/vaapi/gstvaapi.c:
13827	* gst/vaapi/gstvaapiencode_jpeg.c:
13828	* gst/vaapi/gstvaapiencode_jpeg.h:
13829	  plugins: Add JPEG encoder element
13830
138312015-02-04 11:17:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13832
13833	* gst-libs/gst/vaapi/gstvaapicontext.c:
13834	  gstvaapicontext: Add VAConfigAttribValEncJPEG to the attribute list using for VAConfig creation.
13835
138362015-02-04 11:17:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13837
13838	* gst-libs/gst/vaapi/gstvaapicontext.c:
13839	  gstvaapicontext: Don't use the unsupported Ratecontrol attributes for vaCreateConfig
13840	  Don't add the VAConfigAttribRateControl to the attribute list using
13841	  for the vaCreateConfig if it is not supported by the driver.
13842
138432015-02-04 11:17:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13844
13845	* gst-libs/gst/vaapi/gstvaapiencoder.c:
13846	  gstvaapiencoder: Use hardcoded packed_raw_data flag for JPEG Encoding
13847
138482015-02-04 11:16:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13849
13850	* gst-libs/gst/vaapi/gstvaapiencoder.c:
13851	  gstvaapiencoder: Fix crash when handling rate control mask
13852	  Having a ratecontrol_mask equal to zero is not a bug, but the driver
13853	  might not be supporting any kind of rate control mechanisms.
13854	  Eg: JPEG Encoding
13855
138562015-02-04 11:16:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13857
13858	* gst-libs/gst/vaapi/Makefile.am:
13859	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
13860	* gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
13861	  encoder: Add JPEG Encoder
13862
138632015-02-04 11:15:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13864
13865	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
13866	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
13867	  encoder_objects: Add QuantizationMatrix and JPEGHuffmanTable
13868
138692015-02-04 11:15:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13870
13871	* gst-libs/gst/vaapi/gstvaapidisplay.c:
13872	* gst-libs/gst/vaapi/gstvaapiencoder.c:
13873	* gst-libs/gst/vaapi/gstvaapiprofile.c:
13874	* gst-libs/gst/vaapi/gstvaapiprofile.h:
13875	  Encode: Add support for Picture level Entrypoint
13876	  This is useful for JPEG encoding which is utilizing picture level
13877	  entrypoint instead of slice level entrypoint like h264,mpeg2 etc.
13878
138792015-02-04 11:14:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13880
13881	* configure.ac:
13882	  configure: Add Check for JPEG encoding API
13883
138842015-02-03 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13885
13886	* AUTHORS:
13887	  AUTHORS: Updates
13888
138892015-02-03 13:08:01 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13890
13891	* configure.ac:
13892	  Bump version for development.
13893
13894=== release 0.5.10 ===
13895
138962015-02-03 10:00:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13897
13898	* configure.ac:
13899	  0.5.10
13900
139012015-02-03 10:00:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13902
13903	* NEWS:
13904	  NEWS: Updates
13905
139062015-02-02 11:43:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13907
13908	* gst/vaapi/gstvaapivideometa_texture.c:
13909	  Fix compilation error if there is no GL/gl.h header file installed
13910
139112015-01-28 18:09:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13912
13913	* gst/vaapi/gstvaapivideomemory.h:
13914	  plugins: drop leftover declaration.
13915	  GstVaapiVideoMemory quark is not needed any more, and the actual
13916	  implementation was already removed bfore the merge. i.e. this is
13917	  an oversight for a hunk that was not meant to be pushed.
13918
139192015-01-26 18:30:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13920
13921	* gst/vaapi/gstvaapipluginbase.c:
13922	* gst/vaapi/gstvaapivideobufferpool.c:
13923	* gst/vaapi/gstvaapivideobufferpool.h:
13924	* gst/vaapi/gstvaapivideomemory.c:
13925	* gst/vaapi/gstvaapivideomemory.h:
13926	  plugins: add support for dma_buf exports (v4l2src).
13927	  Allow v4l2src element to connected to vaapipostproc or vaapisink when
13928	  "io-mode" is set to "dmabuf-import". In practice, this is a more likely
13929	  operational mode with uvcvideo. Supporting v4lsrc with "io-mode" set
13930	  to "dmabuf" could work, but with more demanding driver or kernel reqs.
13931	  Note: with GStreamer 1.4, v4l2src (gst-plugins-good) needs to be built
13932	  with --without-libv4l2.
13933	  https://bugzilla.gnome.org/show_bug.cgi?id=743635
13934
139352014-01-23 05:00:09 -0500  Wind Yuan <feng.yuan@intel.com>
13936
13937	* configure.ac:
13938	* gst/vaapi/Makefile.am:
13939	* gst/vaapi/gstvaapipluginbase.c:
13940	  plugins: add support for dma_buf imports.
13941	  Allow imports of v4l2 buffers into VA surfaces for further operation
13942	  with vaapi plugins, e.g. vaapipostproc or vaapiencode_* elements.
13943	  https://bugzilla.gnome.org/show_bug.cgi?id=735362
13944	  [fixed memory leaks, ported to new dma_buf infrastructure, cleanups]
13945	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13946
139472014-09-15 15:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13948
13949	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13950	* gst-libs/gst/vaapi/gstvaapisurface_drm.h:
13951	  surface: add support for GEM buffer imports.
13952	  Add support for GEM buffer imports. This is useful for VA/EGL interop
13953	  with legacy Mesa implementations, or when it is desired or required to
13954	  support outbound textures for instance.
13955	  https://bugzilla.gnome.org/show_bug.cgi?id=736718
13956
139572014-09-15 15:25:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13958
13959	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13960	* gst-libs/gst/vaapi/gstvaapisurface_drm.h:
13961	  surface: add support for dma_buf imports.
13962	  Add new gst_vaapi_surface_new_with_dma_buf_handle() helper function
13963	  to allow for creating VA surfaces from a foreign DRM PRIME fd. The
13964	  resulting VA surface owns the supplied buffer handle.
13965	  https://bugzilla.gnome.org/show_bug.cgi?id=735362
13966
139672015-01-27 11:19:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13968
13969	* gst-libs/gst/vaapi/gstvaapisurface.c:
13970	* gst-libs/gst/vaapi/gstvaapisurface.h:
13971	* gst-libs/gst/vaapi/gstvaapisurface_priv.h:
13972	  surface: add initial support for foreign buffer imports.
13973	  Add gst_vaapi_surface_new_from_buffer_proxy() helper function to
13974	  create a VA surface from an external buffer provided throug the
13975	  new GstVaapiBufferProxy object.
13976
139772014-09-15 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13978
13979	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
13980	* gst-libs/gst/vaapi/gstvaapibufferproxy.h:
13981	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13982	* gst-libs/gst/vaapi/gstvaapisurface_drm.h:
13983	  surface: add support for GEM buffer exports.
13984	  Add support for GEM buffer exports. This will only work with VA drivers
13985	  based off libdrm, e.g. the Intel HD Graphics VA driver. This is needed
13986	  to support interop with EGL and the "Desktop" GL specification. Indeed,
13987	  the EXT_image_dma_buf_import extension is not going to be supported in
13988	  Desktop GL, due to the lack of support for GL_TEXTURE_EXTERNAL_OES targets
13989	  there.
13990	  This is useful for implementing VA/EGL interop with legacy Mesa stacks,
13991	  in Desktop OpenGL context.
13992	  https://bugzilla.gnome.org/show_bug.cgi?id=736717
13993
139942014-09-15 11:48:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13995
13996	* gst-libs/gst/vaapi/Makefile.am:
13997	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
13998	* gst-libs/gst/vaapi/gstvaapibufferproxy.h:
13999	* gst-libs/gst/vaapi/gstvaapisurface_drm.c:
14000	* gst-libs/gst/vaapi/gstvaapisurface_drm.h:
14001	  surface: add support for dma_buf exports.
14002	  Use the new VA buffer export APIs to allow for a VA surface to be
14003	  exposed as a plain PRIME fd. This is in view to simplifying interop
14004	  with EGL or OpenCL for instance.
14005	  https://bugzilla.gnome.org/show_bug.cgi?id=735364
14006
140072014-09-15 10:58:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14008
14009	* gst-libs/gst/vaapi/Makefile.am:
14010	* gst-libs/gst/vaapi/gstvaapibufferproxy.c:
14011	* gst-libs/gst/vaapi/gstvaapibufferproxy.h:
14012	* gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
14013	  Add abstraction for exported VA buffers.
14014	  The VA buffer export APIs work for a particular lifetime starting from
14015	  vaAcquireBufferHandle() and ending with vaReleaseBufferHandle(). As such,
14016	  it could be much more convenient to support implicit releases by simply
14017	  having a refcount reaching zero.
14018	  https://bugzilla.gnome.org/show_bug.cgi?id=736721
14019
140202015-01-28 18:25:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14021
14022	* gst-libs/gst/vaapi/Makefile.am:
14023	  Add missing header file to Makefile
14024	  Add gstvaapitexture_glx.h to Makefile.am
14025
140262015-01-27 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14027
14028	* gst-libs/gst/vaapi/gstvaapicontext.c:
14029	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
14030	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
14031	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
14032	* gst/vaapi/gstvaapipostproc.c:
14033	* gst/vaapi/gstvaapiuploader.c:
14034	* gst/vaapi/gstvaapivideobufferpool.c:
14035	* gst/vaapi/gstvaapivideomemory.c:
14036	* gst/vaapi/gstvaapivideomemory.h:
14037	* tests/test-surfaces.c:
14038	  videopool: add optional flags for surface pool allocation.
14039	  Reword surface pool allocation helpers so that to allow for a simple
14040	  form, e.g. gst_vaapi_surface_pool_new(format, width, height); and a
14041	  somewhat more elaborated/flexible form with optional allocation flags
14042	  and precise GstVideoInfo specification.
14043	  This is an API/ABI change, and SONAME version needs to be bumped.
14044
140452015-01-26 23:21:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14046
14047	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
14048	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
14049	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
14050	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
14051	* gst-libs/gst/vaapi/gstvaapivideopool.c:
14052	* gst-libs/gst/vaapi/gstvaapivideopool.h:
14053	* gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
14054	  videopool: re-indent all GstVaapiVideoPool related source code.
14055
140562014-12-10 20:13:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14057
14058	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14059	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
14060	  window: add toplevel display indirection for visualid and colormap.
14061	  Add GstVaapiDisplay::get_{visual_id,colormap}() helpers to help determine
14062	  the best suitable window visual id and colormap. This is an indirection in
14063	  view to supporting EGL and custom/generic replacements.
14064
140652014-12-10 19:58:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14066
14067	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
14068	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
14069	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
14070	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
14071	  window: add toplevel API to determine the colormap.
14072	  Add GstVaapiWindowClass::get_colormap() hook to help determine the
14073	  currently active colormap bound to the supplied window, or actually
14074	  create it if it does not already exist yet.
14075
140762014-12-10 19:36:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14077
14078	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
14079	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
14080	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
14081	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
14082	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
14083	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
14084	  window: add toplevel API to determine a visual id.
14085	  Add GstVaapiWindowClass::get_visual_id() function hook to help find
14086	  the best suitable visual id for the supplied window. While doing so,
14087	  also simplify the process by which an X11 window is created with a
14088	  desired Visual, i.e. now use a visual id instead of a Visual object.
14089
140902014-12-10 18:12:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14091
14092	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
14093	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
14094	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14095	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
14096	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
14097	* gst-libs/gst/vaapi/gstvaapiwindow.c:
14098	* gst-libs/gst/vaapi/gstvaapiwindow.h:
14099	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
14100	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
14101	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
14102	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
14103	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
14104	  window: add generic helper to create windows.
14105	  Add a new generic helper function gst_vaapi_window_new() to create
14106	  a window without having the caller to check for the display type
14107	  himself. i.e. internally, there is now a GstVaapiDisplayClass hook
14108	  to create windows, and the actual backend implementation fills it in.
14109	  Add new generic helper functions gst_vaapi_texture_new_wrapped()
14110	  This is a simplification in view to supporting EGL.
14111
141122014-12-03 11:39:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14113
14114	* gst-libs/gst/vaapi/gstvaapidisplay.c:
14115	* gst-libs/gst/vaapi/gstvaapidisplay.h:
14116	* gst-libs/gst/vaapi/gstvaapitexture.c:
14117	* gst/vaapi/gstvaapivideometa_texture.c:
14118	  display: add utility function to check for OpenGL rendering.
14119	  Add gst_vaapi_display_has_opengl() helper function to help determining
14120	  whether the display can support OpenGL context to be bound to it, i.e.
14121	  if the class is of type GST_VAAPI_DISPLAY_TYPE_GLX.
14122
141232014-12-10 18:02:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14124
14125	* gst-libs/gst/vaapi/gstvaapidisplay.c:
14126	* gst-libs/gst/vaapi/gstvaapidisplay.h:
14127	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
14128	* gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
14129	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
14130	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
14131	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14132	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
14133	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
14134	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
14135	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
14136	* gst/vaapi/gstvaapipluginutil.c:
14137	* gst/vaapi/gstvaapivideobuffer.c:
14138	* gst/vaapi/gstvaapivideometa_texture.c:
14139	  display: refine the meaning of display type.
14140	  Make gst_vaapi_display_get_display_type() return the actual VA display
14141	  type. Conversely, add a gst_vaapi_display_get_class_type() function to
14142	  return the type of the GstVaapiDisplay instance. The former is used to
14143	  identify the display server onto which the application is running, and
14144	  the latter to identify the original object class.
14145
141462014-12-02 11:23:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14147
14148	* gst-libs/gst/vaapi/gstvaapidisplay.c:
14149	* gst-libs/gst/vaapi/gstvaapidisplay.h:
14150	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
14151	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14152	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
14153	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
14154	  display: cosmetics (helper macros, new internal API names).
14155	  Add more helper macros to the top-level GstVaapiDisplay interfaces.
14156	  Rename a few others used internally for improved consistency.
14157
141582014-12-01 17:08:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14159
14160	* gst-libs/gst/vaapi/gstvaapidisplay.c:
14161	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14162	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
14163	* gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
14164	* gst-libs/gst/vaapi/gstvaapitexture_glx.c:
14165	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
14166	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
14167	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
14168	  display: record native display object.
14169	  Record the underlying native display instance into the toplevel
14170	  GstVaapiDisplay object. This is useful for fast lookups to the
14171	  underlying native display, e.g. for creating an EGL display.
14172
141732014-12-01 16:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14174
14175	* gst-libs/gst/vaapi/gstvaapidisplay.c:
14176	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
14177	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
14178	  display: use a recursive mutex for the display cache.
14179	  Use a recursive mutex for the display cache so that a 3rdparty display
14180	  object could be initialized during the initialization of the parent
14181	  display.
14182
141832014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14184
14185	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
14186	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14187	* gst-libs/gst/vaapi/gstvaapitexture.c:
14188	* gst-libs/gst/vaapi/gstvaapitexture.h:
14189	* gst-libs/gst/vaapi/gstvaapitexture_glx.c:
14190	* gst-libs/gst/vaapi/gstvaapitexture_priv.h:
14191	  texture: add generic helper to create textures.
14192	  Add new generic helper functions gst_vaapi_texture_new_wrapped()
14193	  and gst_vaapi_texture_new() to create a texture without having
14194	  the caller to uselessly check for the display type himself. i.e.
14195	  internally, there is now a GstVaapiDisplayClass hook to create
14196	  textures, and the actual backend implementation fills it in.
14197	  This is a simplification in view to supporting EGL.
14198
141992014-10-23 17:44:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14200
14201	* gst-libs/gst/vaapi/Makefile.am:
14202	* gst-libs/gst/vaapi/gstvaapitexture.c:
14203	* gst-libs/gst/vaapi/gstvaapitexture.h:
14204	* gst-libs/gst/vaapi/gstvaapitexture_glx.c:
14205	* gst-libs/gst/vaapi/gstvaapitexture_glx.h:
14206	* gst-libs/gst/vaapi/gstvaapitexture_priv.h:
14207	* gst/vaapi/gstvaapivideoconverter_glx.c:
14208	* gst/vaapi/gstvaapivideometa_texture.c:
14209	* tests/test-textures.c:
14210	  texture: move to core libgstvaapi base library.
14211	  GstVaapiTexture is a generic abstraction that could be moved to the
14212	  core libgstvaapi library. While doing this, no extra dependency needs
14213	  to be added. This means that a GstVaapitextureClass is now available
14214	  for any specific code that needs to be added, e.g. creation of the
14215	  underlying GL texture objects, or backend dependent ways to upload
14216	  a surface to the texture object.
14217	  Generic OpenGL data types (GLuint, GLenum) are also replaced with a
14218	  plain guint.
14219	  https://bugzilla.gnome.org/show_bug.cgi?id=736715
14220
142212014-10-23 13:11:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14222
14223	* configure.ac:
14224	* gst-libs/gst/vaapi/Makefile.am:
14225	* gst-libs/gst/vaapi/gstvaapicompat.h:
14226	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
14227	* gst-libs/gst/vaapi/gstvaapitexture.c:
14228	  texture: drop support for VA/GLX interfaces.
14229	  The VA/GLX interfaces are obsolete. They used to exist for XvBA, and
14230	  ease of use, but they had other caveats to deal with. It's now better
14231	  to move on to legacy mode, whereby VA/GLX interop is two be provided
14232	  through (i) X11 Pixmap, and (ii) other modern means of buffer sharing.
14233	  https://bugzilla.gnome.org/show_bug.cgi?id=736711
14234
142352014-10-23 11:56:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14236
14237	* gst-libs/gst/vaapi/gstvaapitexture.c:
14238	* gst-libs/gst/vaapi/gstvaapitexture.h:
14239	* gst/vaapi/gstvaapivideoconverter_glx.c:
14240	* gst/vaapi/gstvaapivideometa_texture.c:
14241	* tests/test-textures.c:
14242	  texture: add support for cropping rectangle during transfer.
14243	  The gst_vaapi_texture_put_surface() function is missing a crop_rect
14244	  argument that would be used during transfer for cropping the source
14245	  surface to the desired dimensions.
14246	  Note: from a user point-of-view, he should create the GstVaapiTexture
14247	  object with the cropped size. That's the default behaviour in software
14248	  decoding pipelines that we need to cope with.
14249	  This is an API/ABI change, and SONAME version needs to be bumped.
14250	  https://bugzilla.gnome.org/show_bug.cgi?id=736712
14251
142522014-10-23 11:22:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14253
14254	* gst-libs/gst/vaapi/gstvaapitexture.c:
14255	* gst-libs/gst/vaapi/gstvaapitexture.h:
14256	  texture: re-indent all GstVaapiTexture related source code.
14257
142582015-01-27 11:16:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14259
14260	* gst-libs/gst/vaapi/gstvaapisurface.c:
14261	* gst-libs/gst/vaapi/gstvaapisurface.h:
14262	  surface: add more fine-grained allocation helper.
14263	  Add new gst_vaapi_surface_new_full() helper function that allocates
14264	  VA surface from a GstVideoInfo template in argument. Additional flags
14265	  may include ways to
14266	  - allocate linear storage (GST_VAAPI_SURFACE_ALLOC_FLAG_LINEAR_STORAGE) ;
14267	  - allocate with fixed strides (GST_VAPI_SURFACE_ALLOC_FLAG_FIXED_STRIDES) ;
14268	  - allocate with fixed offsets (GST_VAAPI_SURFACE_ALLOC_FLAG_FIXED_OFFSETS).
14269
142702014-09-15 14:57:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14271
14272	* gst-libs/gst/vaapi/gstvaapisurface.c:
14273	* gst-libs/gst/vaapi/gstvaapisurface.h:
14274	* gst-libs/gst/vaapi/gstvaapisurface_priv.h:
14275	  surface: re-indent all GstVaapiSurface related source code.
14276
142772015-01-23 16:44:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14278
14279	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
14280	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
14281	  surfaceproxy: add helper to create a wrapped surface object.
14282	  Add new gst_vaapi_surface_proxy_new() helper to wrap a surface into
14283	  a proxy. The main use case for that is to convey additional information
14284	  at the proxy level that would not be suitable to the plain surface.
14285
142862015-01-23 16:37:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14287
14288	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
14289	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
14290	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
14291	  surfaceproxy: re-indent all GstVaapiSurfaceProxy related source code.
14292
142932015-01-27 18:02:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14294
14295	* configure.ac:
14296	  libs: bump library major version.
14297
142982014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14299
14300	* gst-libs/gst/vaapi/gstvaapitypes.h:
14301	  libs: re-introduce a GST_VAAPI_ID_INVALID value.
14302	  Re-introduce a GST_VAAPI_ID_INVALID value that represents
14303	  a non-zero and invalid id. This is useful to have a value
14304	  that is still invalid for cases where zero could actually
14305	  be a valid value.
14306
143072014-12-02 16:51:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14308
14309	* gst-libs/gst/vaapi/gstvaapiminiobject.c:
14310	* gst-libs/gst/vaapi/gstvaapiminiobject.h:
14311	  libs: expose GstVaapiMiniObject APIs to all backends.
14312	  Make it possible to have all libgstvaapi backends (libs) access to a
14313	  common GstVaapiMiniObject API and implementation. This is a minor step
14314	  towards full exposure when needed, but restrict it to libgstvaapi at
14315	  this time.
14316
143172014-12-02 14:15:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14318
14319	* gst-libs/gst/vaapi/gstvaapiminiobject.c:
14320	* gst-libs/gst/vaapi/gstvaapiminiobject.h:
14321	* gst-libs/gst/vaapi/gstvaapiobject.c:
14322	* gst-libs/gst/vaapi/gstvaapiobject.h:
14323	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
14324	  libs: re-indent all GstVaapiObject related source code.
14325	  Re-indent and provide additional minor cosmetical changes to the
14326	  GstVaapiMiniObject and GstVaapiObject source files.
14327
143282015-01-27 16:25:21 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14329
14330	* gst/vaapi/gstvaapipluginutil.c:
14331	  pluginutil: Fix clearing of subtitle overlay
14332	  dvbsuboverlay signals no subtitles present by not setting
14333	  GstVideoOverlayCompositionMeta on a buffer.
14334	  Detect this, and remove subtitles whenever we have no overlay composition to
14335	  hand.
14336	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14337
143382015-01-27 16:06:02 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
14339
14340	* gst/vaapi/gstvaapipostproc.c:
14341	  vaapipostproc: clear state on stop
14342	  Otherwise restarting may fail because the state of vaapipluginbase and
14343	  vaapipostproc don't match. e.g. gst_vaapipostproc_set_caps() will skip
14344	  initailization and not call gst_vaapi_plugin_base_set_caps()
14345
143462015-01-27 14:50:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
14347
14348	* gst/vaapi/gstvaapidecode.c:
14349	  vaapidecode: don't print an error message for GST_FLOW_FLUSHING
14350
143512015-01-27 12:38:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14352
14353	* gst-libs/gst/vaapi/gstvaapiencoder.c:
14354	  gstvaapiencoder: Fix the negotiation issue with _ENCODED format handling
14355	  Don't error out for the video format GST_VIDEO_FORMAT_ENCODED with in gstvaapiencoder,
14356	  since the vaaapi context creation (gstvaapicontext.c) can still use the
14357	  default chroma type which is YUV420.
14358	  https://bugzilla.gnome.org/show_bug.cgi?id=743567
14359	  https://bugzilla.gnome.org/show_bug.cgi?id=743035
14360
143612015-01-21 18:31:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14362
14363	* patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
14364	* patches/videoparsers/series.frag:
14365	  h264parse: drop patches merged upstream.
14366	  0003-h264parse-add-initial-support-for-MVC-NAL-units.patch
14367
143682015-01-21 18:26:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14369
14370	* ext/codecparsers:
14371	  codecparsers: update to gst-vaapi-branch commit d3b5c1b
14372	  8194cac: h264parse: parse SPS subset
14373	  64b7f52: h264parse: expose stereo-high profile
14374	  774360a: h264parse: add initial support for MVC NAL units
14375	  258478f: h264parser: fix stack smashing
14376
143772015-01-19 11:30:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14378
14379	* gst/vaapi/gstvaapivideometa_texture.c:
14380	  Fix compilation error if there is no GL/gl.h header file installed
14381
143822015-01-15 16:23:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14383
14384	* gst/vaapi/gstvaapidecode.c:
14385	  vaapidecode: commit updated srcpad caps to base plugin.
14386	  Make sure that the GstVaapiPluginBase instance receives the new src
14387	  pad caps whenever they get updated from within the GstVaapiDecoder
14388	  decode routines.
14389	  This also ensures that downstream elements receive correctly sized
14390	  SW decoded buffers if needed.
14391	  https://bugs.tizen.org/jira/browse/TC-114
14392
143932015-01-15 16:19:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14394
14395	* gst/vaapi/gstvaapidecode.c:
14396	  vaapidecode: always reset decoder on ::set_format().
14397	  Split GstVideoDecoder::set_format() handler to first update the sink
14398	  pad caps and reset the active VA decoder instance based on those, and
14399	  then update the src pad caps whenever possible, e.g. when the caps
14400	  specify a valid video resolution.
14401
144022015-01-15 16:14:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14403
14404	* gst/vaapi/gstvaapivideomemory.c:
14405	  vaapivideomemory: don't crash when trying to allocate 0x0 images.
14406	  In some occasions, a buffer pool is created for pre-initialization
14407	  purposes regardless of whether a valid image size is available or
14408	  not. However, during actual decode stage, the vaapidecode element
14409	  is expected to update the srcpad caps with the new dimensions, thus
14410	  also triggering a reset of the underlying bufferpool.
14411
144122015-01-15 00:00:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14413
14414	* ext/codecparsers:
14415	  codecparsers: update to gst-vaapi-branch commit 191cb2f
14416	  347605a: h264parse: expose compatible profiles to downstream
14417	  d1ea97e: h264parse: Fix periodic SPS/PPS sending work after a seek
14418	  24a3126: Revert "h264parse: expose compatible profiles to downstream"
14419	  8661740: h264parse: expose compatible profiles to downstream
14420	  8b7ef3f: codecparsers: fix some compiler warnings
14421
144222014-11-27 12:11:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14423
14424	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14425	  encoder: h264: Fix the period between I/P frames
14426	  If the key-frame period is set as one, then ip_period shuld be zero
14427	  https://bugzilla.gnome.org/show_bug.cgi?id=734992
14428
144292014-11-27 11:21:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14430
14431	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14432	  encoder: h264: Provide intra_idr_period value for VAEncSequenceParameterBufferH264
14433	  https://bugzilla.gnome.org/show_bug.cgi?id=734993
14434
144352014-11-27 11:14:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14436
14437	* gst/vaapi/gstvaapisink.c:
14438	  vaapisink: Protect the X11 API invokations with proper locking
14439	  https://bugzilla.gnome.org/show_bug.cgi?id=739808
14440
144412014-11-27 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14442
14443	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14444	  encoder: h264: fix pixel-aspect-ratio in encoded stream.
14445	  Really report sample aspect ratio (SAR) as present, and make it match
14446	  what we have obtained from the user as pixel-aspect-ratio (PAR). i.e.
14447	  really make sure VUI parameter aspect_ratio_info_present_flag is set
14448	  to TRUE and that the indication from aspect_ratio_idc is Extended_SAR.
14449	  This is a leftover from git commit a12662f.
14450	  https://bugzilla.gnome.org/show_bug.cgi?id=740360
14451
144522014-11-25 11:46:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14453
14454	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
14455	  decoder: mpeg4: fix uninitialized variables.
14456	  Fix gst_vaapi_decoder_mpeg4_parse() to initialize the packet type to
14457	  GST_MPEG4_USER_DATA so that a parse error would result in skipping
14458	  that packet. Also fix gst_vaapi_decoder_mpeg4_decode_codec_data() to
14459	  initialize status to GST_VAAPI_DECODER_STATUS_SUCCESS.
14460
144612014-11-25 11:41:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14462
14463	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14464	  encoder: h264: fix profile limits.
14465	  Fix ensure_profile_limits() to lower profile to the desired limits,
14466	  only if the latter are actually known and the profile needed to be
14467	  changed to fit.
14468
144692014-11-24 15:14:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14470
14471	* gst/vaapi/gstvaapipostproc.c:
14472	  vaapipostproc: fix out caps for GLMemory.
14473	  If the best downstream capsfeature turns out to be GLMemory, then make
14474	  sure to propagate RGBA video format in caps to that element. This fixes
14475	  the following pipeline: ... ! vaapipostproc ! glimagesink.
14476
144772014-11-24 14:25:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14478
14479	* gst/vaapi/gstvaapipostproc.c:
14480	  vaapipostproc: fix check for compatible src pad capsfilters.
14481	  When an explicit output video format is selected, from an src pad
14482	  capsfilter, make sure that the downstream element actually supports
14483	  that format. In particular, fix crash with the following pipelines:
14484	  ... ! vaapipostproc ! video/x-raw,format=XXX ! xvimagesink ; where
14485	  XXX is a format not supported by xvimagesink.
14486	  While doing so, also reduce the set of src pad filter caps to the
14487	  actual set of allowed src pad caps.
14488
144892014-11-24 14:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14490
14491	* gst/vaapi/gstvaapipostproc.c:
14492	* gst/vaapi/gstvaapipostproc.h:
14493	* gst/vaapi/gstvaapiuploader.c:
14494	* gst/vaapi/gstvaapiuploader.h:
14495	  plugins: re-indent all video processing related source code.
14496
144972014-11-24 13:20:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14498
14499	* gst/vaapi/gstvaapivideomemory.c:
14500	  plugins: further fixes to the new "current" storage tracker.
14501	  The ensure_surface() and ensure_image() functions shall only relate
14502	  to the underlying backing store. The actual current flags are to be
14503	  updated only through ensure_{surface,image}_is_current() or very other
14504	  particular cases in GstMemory hooks.
14505
145062014-11-21 15:43:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14507
14508	* gst/vaapi/gstvaapivideomemory.c:
14509	  plugins: fix "current" video memory flags.
14510	  If the surface proxy is updated into the GstVaapiVideoMemory, then
14511	  it is assumed it is the most current representation of the current
14512	  video frame. Likewise, make a few more arrangements to have the
14513	  "current " flags set more consistently.
14514
145152014-11-21 15:23:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14516
14517	* gst/vaapi/gstvaapivideomemory.c:
14518	* gst/vaapi/gstvaapivideomemory.h:
14519	* gst/vaapi/gstvaapivideometa.c:
14520	  plugins: ensure VA surface is current prior to using it.
14521	  When interacting with SW elements, the buffers and underlying video
14522	  memory could be mapped as read/write. However, we need to use those
14523	  buffers again as plain VA surfaces, we have to make sure the VA image
14524	  is thus committed back to VA surface memory.
14525	  This fixes pipelines involving avdec_* and vaapi{postproc,sink}.
14526
145272013-07-12 06:34:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
14528
14529	* gst/vaapi/gstvaapivideomemory.c:
14530	  plugins: enable memory maps for read & write.
14531	  Hence vaapisink can display buffers decoded by gst-libav, or HW decoded
14532	  buffers can be further processed in-place, e.g. with a textoverlay.
14533	  https://bugzilla.gnome.org/show_bug.cgi?id=704078
14534	  [ported to current git master branch, amended commit message]
14535	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14536
145372014-11-18 14:57:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14538
14539	* gst/vaapi/gstvaapidecode.c:
14540	* gst/vaapi/gstvaapipluginutil.c:
14541	* gst/vaapi/gstvaapipluginutil.h:
14542	* gst/vaapi/gstvaapipostproc.c:
14543	  plugins: preserve framerate when updating src caps video format.
14544	  In the current implementation, gst_video_info_set_format() would reset
14545	  the whole GstVideoInfo structure first, prior to setting video format
14546	  and size. So, coleteral information like framerate or pixel-aspect-
14547	  ratio are lost.
14548	  Provide and use a unique gst_video_info_change_format() for overcome
14549	  this issue, i.e. only have it change the format and video size, and
14550	  copy over the rest of the fields.
14551	  https://bugzilla.gnome.org/show_bug.cgi?id=734665
14552
145532014-11-18 14:07:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14554
14555	* gst/vaapi/gstvaapi.c:
14556	  vaapidecode: increase the rank to GST_RANK_PRIMARY + 1
14557	  This is for helping decodebin to autoplug the vaapidecode element.
14558	  Decodebin is selecting decoder elements only based on rank and caps.
14559	  Without overriding the autoplug-* signals there is no way to autoplug
14560	  HW decoders inside decodebin. An easier soulution is to raise the
14561	  rank of vaapidecode, so that it gets selected first.
14562	  https://bugzilla.gnome.org/show_bug.cgi?id=739332
14563
145642014-11-12 07:46:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14565
14566	* gst-libs/gst/vaapi/gstvaapiprofile.c:
14567	* gst/vaapi/gstvaapidecode.c:
14568	  vaapidecode: only expose supported profiles when needed.
14569	  JPEG and VP8 codecs do not really support the concept of "profile". So,
14570	  don't try to expose any set that wouldn't be supported by jpegparse, or
14571	  ivfparse for instance.
14572	  https://bugzilla.gnome.org/show_bug.cgi?id=739713
14573	  https://bugzilla.gnome.org/show_bug.cgi?id=739714
14574
145752014-11-13 15:13:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14576
14577	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14578	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
14579	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
14580	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
14581	  decoder: h264: add initial support for repeat-first-field (RFF) flag.
14582	  Use the SEI pic_timing() message to track and propagate down the repeat
14583	  first field (RFF) flag. This is only initial support as there is one
14584	  other condition that could induce the RFF flag, which is not handled
14585	  yet.
14586
145872014-11-13 15:05:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14588
14589	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14590	  decoder: h264: fix picture ordering count type 0 with previous MMCO5.
14591	  Fix the decoding process for picture order count type 0 when the previous
14592	  picture had a memory_management_control_operation = 5. In particular, fix
14593	  the actual variable type for prev_pic_structure to hold the full bits of
14594	  the picture structure.
14595	  In practice, this used to work though, due to the underlying type used to
14596	  express a gboolean.
14597
145982014-11-13 15:00:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14599
14600	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14601	  decoder: h264: fix detection of top-field-first (TFF) flag.
14602	  Use the SEI pic_timing() message to track the pic_struct variable when
14603	  present, or infer it from the regular slice header flags field_pic_flag
14604	  and bottom_field_flag. This fixes temporal sequence ordering when the
14605	  output pictures are to be displayed.
14606	  https://bugzilla.gnome.org/show_bug.cgi?id=739291
14607
146082014-11-14 09:54:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14609
14610	* ext/codecparsers:
14611	  codecparsers: update to gst-vaapi-branch commit 3d05d9f.
14612	  1241840 h264: fix derivation of MaxPicNum variable
14613	  3bd718e h264: fix GstH264ParserResult documentation typo
14614	  b021609 h264parse: set the HEADER flag on buffers containing SPS or PPS
14615	  b08e4be h264parse: don't unnecesarily set src_caps
14616
146172014-11-03 19:20:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14618
14619	* gst/vaapi/gstvaapipostproc.c:
14620	  vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass
14621	  Added the same Klass specifications used in other upstream
14622	  video postprocessing elements like videoconvert, videoscale,
14623	  videobalance and deinterlace.
14624	  An example use case is for this is to help the playsink
14625	  to autoplug the hardware accelerated deinterlacer.
14626
146272014-11-03 19:19:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14628
14629	* gst/vaapi/gstvaapipostproc.c:
14630	  vaapipostproc: Tweak the output video format setting to enable the autoplugging
14631	  This is a workaround until auto-plugging is fixed when
14632	  format=ENCODED + memory:VASurface caps feature are provided.
14633	  Use the downstream negotiated video format as the output video format
14634	  if the user didn't ask for the colorspace conversion explicitly.
14635	  Usecase: This will help to connect elements like videoscale, videorate etc
14636	  to vaapipostproc.
14637	  https://bugzilla.gnome.org/show_bug.cgi?id=739443
14638
146392014-10-29 17:30:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14640
14641	* gst/vaapi/gstvaapipostproc.c:
14642	* gst/vaapi/gstvaapipostproc.h:
14643	  vaapipostproc: allow user defined scaling mode.
14644	  Add new "scale-method" property to expose the scaling mode to use during
14645	  video processing. Note that this is only a hint, and the actual behaviour
14646	  may differ from implementation (VA driver) to implementation.
14647
146482014-10-29 16:57:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14649
14650	* gst-libs/gst/vaapi/gstvaapifilter.c:
14651	* gst-libs/gst/vaapi/gstvaapifilter.h:
14652	* gst-libs/gst/vaapi/gstvaapiutils.c:
14653	* gst-libs/gst/vaapi/gstvaapiutils.h:
14654	  filter: add initial support for high quality scaling.
14655	  Add support for video scaling options in VPP pipelines. Only the
14656	  DEFAULT mode is bound to exist. Others might be folded into that
14657	  mode.
14658
146592014-10-29 16:35:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14660
14661	* gst-libs/gst/vaapi/gstvaapifilter.c:
14662	* gst-libs/gst/vaapi/gstvaapifilter.h:
14663	  filter: re-indent all GstVaapiFilter related source code.
14664
146652014-10-29 15:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14666
14667	* ext/codecparsers:
14668	  codecparsers: update to gst-vaapi-branch commit f9d3bde.
14669	  2218b02 h264parse: expose parsed profile and level to downstream
14670	  3dbfab4 h264parse: return flushing if we get chained while being set to READY
14671	  d40fa8b h264: fix frame packing SEI parsing
14672	  32d40be h264: Use proper bit_reader api while parsing buffering_period SEI
14673	  b3e022e h264: initialize some fields of pic_timing structure
14674	  a70661d vc1: fix expected level in sequence-layer parsing unit test
14675	  6cee88d vc1: fix level values for simple/main profile
14676	  356c189 vc1: add unit test for sequence-layer parsing
14677	  ab9f641 vc1: take care of endianness when parsing sequence-layer
14678	  8dc8e35 mpeg4: fix vlc table used for sprite trajectory
14679
146802014-10-29 15:46:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14681
14682	* gst/vaapi/gstvaapidecode.c:
14683	  vaapidecode: Expose the supported profiles as caps to upstream
14684	  This will allows the playbin to fallback to Software Decoder
14685	  if the Hardware Decoder does not support a particular profile.
14686	  https://bugzilla.gnome.org/show_bug.cgi?id=730997
14687
146882014-10-29 15:46:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14689
14690	* gst/vaapi/gstvaapiencode.c:
14691	* gst/vaapi/gstvaapiencode.h:
14692	* gst/vaapi/gstvaapiencode_h264.c:
14693	  encode: Attach the codec-data to out caps only based on negotiated caps
14694	  Attach the codec_data to out_caps only if downstream needed.
14695	  For eg: h264 encoder doesn't need to stuff codec_data to the
14696	  src caps if the negotiated caps has a stream format of byte-stream.
14697	  https://bugzilla.gnome.org/show_bug.cgi?id=734902
14698
146992014-10-29 15:45:44 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14700
14701	* configure.ac:
14702	  configure: echoing installation prefix path
14703
147042014-09-24 10:14:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14705
14706	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
14707	  display: add support for DRM Render-Nodes.
14708	  Add support for DRM Render-Nodes. This is a new feature that appeared
14709	  in kernel 3.12 for experimentation purposes, but was later declared
14710	  stable enough in kernel 3.15 for getting enabled by default.
14711	  This allows headless usages without authentication at all, i.e. usages
14712	  through plain ssh connections is possible.
14713
147142014-09-24 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14715
14716	* gst/vaapi/gstvaapisink.c:
14717	  vaapisink: clean-ups (indentation, drop unused variables).
14718
147192014-09-24 13:39:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14720
14721	* configure.ac:
14722	* gst/vaapi/gstvaapisink.c:
14723	  vaapisink: fix GstNavigation "key-press" / "key-release" events.
14724	  Fix arguments to XkbKeycodeToKeysym() for converting an X11 keycode
14725	  to a KeySym. In particular, there is no such Window argument. Also
14726	  make sure to check for, and use, the correct <X11/XKBlib.h> header
14727	  where that new function is defined. Otherwise, default to the older
14728	  XKeycodeToKeysym() function.
14729
147302014-09-24 13:23:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14731
14732	* gst/vaapi/gstvaapisink.c:
14733	  vaapisink: fix GstNavigation "mouse-move" event.
14734	  Really use the motion event coordinates to propagate the "mouse-move"
14735	  event to upper layer, instead of those from a button event. Those are
14736	  technically the same though.
14737
147382014-09-16 14:25:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14739
14740	* gst/vaapi/gstvaapisink.c:
14741	  vaapisink: implement the GstNavigation interface
14742	  This is useful for things like DVD menus, where key/mouse events
14743	  would need to be forwarded from the upstream sink element.
14744	  https://bugzilla.gnome.org/show_bug.cgi?id=711479
14745
147462014-03-13 18:38:33 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14747
14748	* gst/vaapi/gstvaapipluginbase.c:
14749	  vaapipostproc: fix deinterlacing from non VA memory buffers.
14750	  When we copy a buffer because we're moving it into VA-API memory, we
14751	  need to copy flags. Otherwise, interlaced YUV buffers from a capture
14752	  source (e.g. V4L2) don't get flagged as interlaced.
14753	  https://bugzilla.gnome.org/show_bug.cgi?id=726270
14754	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14755	  [reversed order of gst_buffer_copy_into() flags to match <1.0 code]
14756	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14757
147582014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14759
14760	* gst/vaapi/gstvaapipostproc.c:
14761	  vaapipostproc: add support for GLTextureUploadMeta output.
14762	  This allows for vaapipostproc to be chained to the glimagesink element
14763	  for instance.
14764	  https://bugzilla.gnome.org/show_bug.cgi?id=735231
14765
147662014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14767
14768	* gst/vaapi/gstvaapipluginutil.c:
14769	* gst/vaapi/gstvaapipluginutil.h:
14770	* gst/vaapi/gstvaapipostproc.c:
14771	  vaapipostproc: add support for "download" capability.
14772	  Allow implicit conversions to raw video formats, while still keeping
14773	  VA surfaces underneath. This allows for chaining the vaapipostproc
14774	  element to a software-only element that takes care of maps/unmaps.
14775	  e.g. xvimagesink.
14776	  https://bugzilla.gnome.org/show_bug.cgi?id=720174
14777
147782014-08-22 18:10:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14779
14780	* gst/vaapi/gstvaapipostproc.c:
14781	* gst/vaapi/gstvaapipostproc.h:
14782	  vaapipostproc: use pooled vaapi video meta.
14783	  Use pooled GstVaapiVideoMeta information, i.e. always allocate that on
14784	  video buffer allocation. Also optimize copy of additional metadata info
14785	  into the resulting video buffer: only copy the video cropping info and
14786	  the source surface proxy.
14787	  https://bugzilla.gnome.org/show_bug.cgi?id=720311
14788	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14789	  [fixed proxy leak, fixed double free on error, optimized meta copy]
14790	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14791
147922014-08-22 15:17:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14793
14794	* gst/vaapi/gstvaapipostproc.c:
14795	  vaapipostproc: fix passthrough mode.
14796	  If no explicit output surface format is supplied try to keep the one
14797	  supplied through the sink pad caps. This avoids a useless copy, even
14798	  if things are kept in GPU memory.
14799	  This is a performance regression from git commit dfa70b9.
14800
148012014-07-05 21:00:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14802
14803	* gst/vaapi/gstvaapipostproc.c:
14804	* gst/vaapi/gstvaapipostproc.h:
14805	  vaapipostproc: fix output buffer to have a GstVaapiVideoMemory.
14806	  https://bugzilla.gnome.org/show_bug.cgi?id=720311
14807	  [used new infrastructure through base decide_allocation() impl]
14808	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14809
148102014-08-22 11:13:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14811
14812	* gst/vaapi/gstvaapipostproc.c:
14813	  vaapipostproc: enable advanced deinterlacing with same format.
14814	  If only advanced deinterlacing is requested, i.e. deinterlacing is
14815	  the only active algorithm to apply with source and output surface
14816	  formats being the same, then make sure to enable VPP processing.
14817	  Otherwise, allow fallback to bob-deinterlacing with simple rendering
14818	  flags alteration.
14819
148202014-08-21 15:04:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14821
14822	* gst/vaapi/gstvaapivideomemory.c:
14823	  vaapivideomemory: avoid NULL pointer unref if GstVaapiImage creation failed.
14824	  https://bugzilla.gnome.org/show_bug.cgi?id=735156
14825
148262014-08-22 13:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14827
14828	* gst/vaapi/gstvaapipluginbase.c:
14829	* gst/vaapi/gstvaapipluginutil.c:
14830	  plugins: fix memory leaks.
14831
148322014-08-21 14:10:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14833
14834	* gst/vaapi/gstvaapidecode.c:
14835	* gst/vaapi/gstvaapipluginbase.c:
14836	* gst/vaapi/gstvaapipluginbase.h:
14837	  plugins: factor out decide_allocation() hook.
14838	  Add a default decide_allocation() hook to GstVaapiPluginBase. The caps
14839	  feature argument can be used to force a bufferpool with a specific kind
14840	  of memory.
14841
148422014-08-21 11:12:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14843
14844	* gst/vaapi/gstvaapivideobufferpool.c:
14845	* gst/vaapi/gstvaapivideobufferpool.h:
14846	* gst/vaapi/gstvaapivideomemory.c:
14847	  plugins: allow bufferpool to not allocate vaapi video meta.
14848	  Add GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC params flag that
14849	  can be used to disable early allocations of vaapi video metas on buffers,
14850	  thus delagating that to the bufferpool user.
14851
148522014-08-21 10:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14853
14854	* gst/vaapi/gstvaapivideobuffer.c:
14855	* gst/vaapi/gstvaapivideobuffer.h:
14856	* gst/vaapi/gstvaapivideobufferpool.c:
14857	* gst/vaapi/gstvaapivideobufferpool.h:
14858	* gst/vaapi/gstvaapivideocontext.c:
14859	* gst/vaapi/gstvaapivideocontext.h:
14860	* gst/vaapi/gstvaapivideoconverter_glx.c:
14861	* gst/vaapi/gstvaapivideoconverter_glx.h:
14862	* gst/vaapi/gstvaapivideoconverter_x11.c:
14863	* gst/vaapi/gstvaapivideoconverter_x11.h:
14864	* gst/vaapi/gstvaapivideomemory.c:
14865	* gst/vaapi/gstvaapivideomemory.h:
14866	* gst/vaapi/gstvaapivideometa.c:
14867	* gst/vaapi/gstvaapivideometa.h:
14868	* gst/vaapi/gstvaapivideometa_texture.c:
14869	* gst/vaapi/gstvaapivideometa_texture.h:
14870	  plugins: re-indent all GstVaapiVideo* related source code.
14871
148722014-08-22 15:12:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14873
14874	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
14875	  surfaceproxy: fix copy to propagate view_id.
14876	  Fix gst_vaapi_surface_proxy_copy() to copy the view-id element, thus
14877	  fixing random frames skipped when vaapipostproc element is used in
14878	  passthrough mode. In that mode, GstMemory is copied, thus including
14879	  the underlying GstVaapiVideoMeta and associated GstVaapiSurfaceProxy.
14880
148812014-08-20 16:38:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14882
14883	* gst/vaapi/gstvaapipostproc.c:
14884	  vaapipostproc: fix detection of output surface format changes.
14885	  Default to I420 format for output surfaces so that to match the usual
14886	  GStreamer pipelines. Though, internally, we could still opt for NV12
14887	  surface formats, i.e. default format=ENCODED is a hint for that, thus
14888	  delegating the decision to the VA driver.
14889
148902014-08-20 10:59:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14891
14892	* gst/vaapi/gstvaapipostproc.c:
14893	  vaapipostproc: fix construction of allowed sink pad caps.
14894	  Fix construction of the set of caps allowed on the sink pad to filter
14895	  out unsupported raw video caps with GStreamer >= 1.2.
14896
148972014-08-20 10:37:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14898
14899	* gst/vaapi/gstvaapipostproc.c:
14900	* gst/vaapi/gstvaapipostproc.h:
14901	  vaapipostproc: improve heuristics for detecting native VA surfaces.
14902	  Use the new gst_caps_has_vaapi_surface() helper function to detect
14903	  whether the sink pad caps contain native VA surfaces, or not, i.e.
14904	  no raw video caps.
14905	  Also rename is_raw_yuv to get_va_surfaces to make the variable more
14906	  explicit as we just want a way to differentiate raw video caps from
14907	  VA surfaces actually.
14908
149092014-08-12 18:33:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14910
14911	* gst/vaapi/gstvaapipostproc.c:
14912	  vaapipostproc: disable discontinuity detection code.
14913	  The "discontinuity" tracking code, whereby lost frames are tentatively
14914	  detected, is inoperant if the sink pad buffer timestamps are not right
14915	  to begin with.
14916	  This is a temporary workaround until the following bug is fixed:
14917	  https://bugzilla.gnome.org/show_bug.cgi?id=734386
14918
149192014-08-07 14:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14920
14921	* gst/vaapi/gstvaapipostproc.c:
14922	  vaapipostproc: fix heuristic for detecting discontinuity.
14923	  In order to make the discontinuity detection code useful, we need to
14924	  detect the lost frames in the history as early as the previous frame.
14925	  This is because some VA implementations only support one reference
14926	  frame for advanced deinterlacing.
14927	  In practice, turn the condition for detecting new frame that is beyond
14928	  the previous frame from field_duration*2 to field_duration*3, i.e.
14929	  nothing received for the past frame and a half because of possible
14930	  rounding errors when calculating the field-duration either in this
14931	  element (vaapipostproc), or from the upstream element (parser element).
14932	  This is a regression introduced with commit faefd62.
14933	  https://bugzilla.gnome.org/show_bug.cgi?id=734135
14934
149352014-08-20 11:43:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14936
14937	* gst/vaapi/gstvaapipluginbase.c:
14938	* gst/vaapi/gstvaapipluginbase.h:
14939	  plugins: fix detection of raw video caps.
14940	  Use the new gst_caps_has_vaapi_surface() helper function to better
14941	  detect raw video caps, and in particular those from RGB colorspace.
14942	  https://bugzilla.gnome.org/show_bug.cgi?id=734665
14943
149442014-08-20 11:30:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14945
14946	* gst/vaapi/gstvaapipluginutil.c:
14947	* gst/vaapi/gstvaapipluginutil.h:
14948	  plugins: add helper for detecting VA surfaces in caps.
14949	  Introduce new gst_caps_has_vaapi_surface() helper function to detect
14950	  whether the supplied caps has VA surfaces. With GStreamer >= 1.2, this
14951	  implies a check for memory:VASurface caps features, and format=ENCODED
14952	  for earlier versions of GStreamer.
14953
149542014-08-12 13:01:57 +0300  Sebastian Dröge <sebastian@centricular.com>
14955
14956	* gst/vaapi/gstvaapidecode.c:
14957	  vaapidecode: start the decoder task again after finishing
14958	  This allows the element to accept data again after draining without
14959	  a hard reset or caps change happening in between.
14960	  https://bugzilla.gnome.org/show_bug.cgi?id=734616
14961
149622014-08-12 13:00:03 +0300  Sebastian Dröge <sebastian@centricular.com>
14963
14964	* gst/vaapi/gstvaapidecode.c:
14965	  vaapidecode: unlock condition variables before shutting down the element
14966	  Otherwise threads might wait for them, causing the shutdown of the element
14967	  to deadlock on the streaming thread.
14968	  https://bugzilla.gnome.org/show_bug.cgi?id=734616
14969
149702014-08-11 17:15:24 +0300  Sebastian Dröge <sebastian@centricular.com>
14971
14972	* gst/vaapi/gstvaapidecode.c:
14973	  vaapidecode: reset decoder_finish variable after stopping the decoder thread
14974	  Otherwise the element is not usable again after draining/EOS.
14975	  https://bugzilla.gnome.org/show_bug.cgi?id=734616
14976
149772014-08-11 17:14:53 +0300  Sebastian Dröge <sebastian@centricular.com>
14978
14979	* gst/vaapi/gstvaapidecode.c:
14980	  vaapidecode: don't try flushing the decoder instance if we didn't create one yet
14981	  This otherwise results in unnecessary error messages.
14982	  https://bugzilla.gnome.org/show_bug.cgi?id=734616
14983
149842014-08-01 06:32:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14985
14986	* gst-libs/gst/vaapi/Makefile.am:
14987	* gst/vaapi/Makefile.am:
14988	  build: fix with --no-undefined linker flags.
14989	  https://bugzilla.gnome.org/show_bug.cgi?id=729352
14990
149912014-01-23 15:44:09 +0000  Changzhi Wei <changzhix.wei@intel.com>
14992
14993	* gst/vaapi/gstvaapisink.c:
14994	* gst/vaapi/gstvaapisink.h:
14995	  vaapisink: add support for GstColorBalance interface.
14996	  https://bugzilla.gnome.org/show_bug.cgi?id=722390
14997	  [fixed channel names, simplified range factor, fixed memory leak]
14998	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14999
150002014-01-23 15:23:00 +0000  Changzhi Wei <changzhix.wei@intel.com>
15001
15002	* gst/vaapi/gstvaapisink.c:
15003	* gst/vaapi/gstvaapisink.h:
15004	  vaapisink: add support for colorbalance adjustment.
15005	  https://bugzilla.gnome.org/show_bug.cgi?id=722390
15006	  [fixed and simplified tracking of colorbalance value changes]
15007	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15008
150092014-07-31 13:18:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15010
15011	* gst/vaapi/gstvaapisink.c:
15012	  vaapisink: improve installation of properties.
15013	  Simplify the creation and installation process of properties, by first
15014	  accumulating them into a g_properties[] array, and next calling into
15015	  g_object_class_install_properties().
15016	  Also add missing docs and flags to some properties.
15017
150182014-07-31 10:48:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15019
15020	* gst/vaapi/gstvaapisink.c:
15021	* gst/vaapi/gstvaapisink.h:
15022	  vaapisink: code clean-ups.
15023	  Move code around in a more logical way. Introduce GST_VAAPISINK_CAST()
15024	  helper macro and use it wherever we know the object is a GstBaseSink or
15025	  any base class. Drop explicit initializers for values that have defaults
15026	  set to zero.
15027
150282014-07-31 10:37:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15029
15030	* gst/vaapi/gstvaapisink.c:
15031	* gst/vaapi/gstvaapisink.h:
15032	  vaapisink: re-indent all GstVaapiSink related source code.
15033
150342014-07-30 17:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15035
15036	* gst/vaapi/gstvaapisink.c:
15037	* gst/vaapi/gstvaapisink.h:
15038	  vaapisink: introduce separate backends.
15039	  Introduce new backends vtable so that to have clean separation between
15040	  display dependent code and common base code. That's a "soft" separation,
15041	  we don't really need dedicated objects.
15042	  https://bugzilla.gnome.org/show_bug.cgi?id=722248
15043
150442014-07-30 16:47:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15045
15046	* gst/vaapi/gstvaapisink.c:
15047	* gst/vaapi/gstvaapisink.h:
15048	  vaapisink: drop unused "synchronous" mode.
15049	  Support for X11 "synchronous" mode was never implemented, and was only
15050	  to be useful for debugging. Drop that altogether, that's not going to
15051	  be useful in practice.
15052	  https://bugzilla.gnome.org/show_bug.cgi?id=733985
15053
150542014-07-30 17:32:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15055
15056	* gst/vaapi/gstvaapisink.c:
15057	* gst/vaapi/gstvaapisink.h:
15058	  vaapisink: drop unused variables.
15059	  Drop obsolete, and now unused, video_buffer_pool and video_buffer_size
15060	  variables. They got merged into the GstVaapiPluginBase object.
15061
150622014-07-30 16:35:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15063
15064	* gst/vaapi/gstvaapisink.c:
15065	* gst/vaapi/gstvaapisink.h:
15066	  vaapisink: drop GLX rendering and fancy effects.
15067	  Rendering with GLX in vaapisink is kind of useless nowadays, including
15068	  OpenGL related fancy effects. Plain VA/GLX interfaces are also getting
15069	  deprecated in favor of EGL, or more direct buffer sharing with actual
15070	  GL textures.
15071	  Should testing of interop with GLX be needed, one could still be using
15072	  the modern cluttersink or glimagesink elements.
15073	  https://bugzilla.gnome.org/show_bug.cgi?id=733984
15074
150752013-11-05 14:01:11 +0100  Holger Kaelberer <hk@getslash.de>
15076
15077	* gst/vaapi/gstvaapisink.c:
15078	* gst/vaapi/gstvaapisink.h:
15079	  vaapisink: listen to window size changes on X11.
15080	  Allow dynamic changes to the window, e.g. performed by the user, and
15081	  make sure to refresh its contents, while preserving aspect ratio.
15082	  In practice, Expose and ConfigureNotify events are tracked in X11
15083	  display mode by default. This occurs in a separte event thread, and
15084	  this is similar to what xvimagesink does. Any of those events will
15085	  trigger a reconfiguration of the window "soft" size, subsequently
15086	  the render-rect when necessary, and finally _expose() the result.
15087	  The default of handle_events=true can be changed programatically via
15088	  gst_x_overlay_handle_events().
15089	  Thanks to Fabrice Bellet for rebasing the patch.
15090	  https://bugzilla.gnome.org/show_bug.cgi?id=711478
15091	  [dropped XInitThreads(), cleaned up the code a little]
15092	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15093
150942014-07-29 15:47:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15095
15096	* gst/vaapi/gstvaapidecode.c:
15097	  vaapidecode: decode and output all pending frames on normal EOS.
15098	  The gst_vaapidecode_decode_loop() function is called within a separate
15099	  task to fetch and output all frames that were decoded so far. So, if
15100	  the decoder_loop_status is forcibly set to EOS when _finish() is called,
15101	  then we are bound to exist the task without submitting the pending
15102	  frames.
15103	  If the downstream element error'ed out, then the gst_pad_push() would
15104	  propagate up an error and so we will get it right for cutting off
15105	  _finish() early in that case.
15106	  This is a regression from 6003596.
15107	  https://bugzilla.gnome.org/show_bug.cgi?id=733897
15108
151092014-07-29 13:24:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15110
15111	* configure.ac:
15112	  Bump version for development.
15113
151142014-07-29 10:31:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15115
15116	* AUTHORS:
15117	  AUTHORS: updates.
15118
151192014-07-29 10:31:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15120
15121	* NEWS:
15122	  NEWS: updates.
15123
151242014-07-29 16:22:01 +1000  Matthew Waters <ystreet00@gmail.com>
15125
15126	* gst/vaapi/gstvaapidecode.c:
15127	  vaapidecode: properly return from decode loop on downstream errors.
15128	  Fixes a hang/race on shutdown where _decode_loop() had already completed
15129	  its execution and _finish() was waiting on a GCond for decode_loop()
15130	  to complete.  Also fixes the possible race where _finish() is called
15131	  but _decode_loop() endlessly returns before signalling completion
15132	  iff the decoder instance returns GST_FLOW_OK.
15133	  Found with: ... ! vaapidecode ! {glimagesink,cluttersink}
15134	  https://bugzilla.gnome.org/show_bug.cgi?id=733897
15135	  [factored out GST_VIDEO_DECODER_STREAM_UNLOCK() call]
15136	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15137
151382014-07-28 18:45:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15139
15140	* NEWS:
15141	* configure.ac:
15142	  0.5.9.
15143
151442014-07-28 18:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15145
15146	* gst/vaapi/gstvaapisink.c:
15147	  vaapisink: fix GstVideoOverlay::expose() implementation.
15148	  Now that we always track the currently active video buffer, it is
15149	  not necessary to automatically increase its reference since this is
15150	  implicitly performed in ::show_frame() through the get_input_buffer()
15151	  helper from GstVaapiPluginBase class.
15152	  This is a regression from a26df80.
15153
151542014-07-28 18:00:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15155
15156	* gst/vaapi/gstvaapidecode.c:
15157	* gst/vaapi/gstvaapipluginutil.c:
15158	  vaapidecode: simplify bufferpool configuration.
15159	  Rework the logics behind the configuration of an adequate bufferpool,
15160	  especially when OpenGL meta or additional capsfeatures are needed.
15161	  Besides, for GStreamer >= 1.4, the first capsfeatures that gets matched,
15162	  and that is not system memory, is now selected by default.
15163
151642014-07-28 16:43:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15165
15166	* gst/vaapi/gstvaapidecode.c:
15167	  vaapidecode: fix auto-plugging of vaapisink element.
15168	  Make sure to propagate memory:VASurface capsfeature to srcpad caps
15169	  only for GStreamer >= 1.5 as the plug-in elements in GStreamer 1.4
15170	  core currently miss additional patches available in 1.5-git (1.6).
15171	  This is a temporary workaround.
15172
151732014-07-28 15:54:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15174
15175	* configure.ac:
15176	  configure: allow builds against GStreamer git (1.5.x).
15177	  https://bugzilla.gnome.org/show_bug.cgi?id=733688
15178
151792014-07-28 14:20:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15180
15181	* configure.ac:
15182	  configure: fix build with GStreamer 1.4.0 release.
15183
151842014-03-04 19:40:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15185
15186	* configure.ac:
15187	* debian.upstream/Makefile.am:
15188	* debian.upstream/control.in:
15189	  debian: fix packaging for new naming scheme.
15190
151912014-07-28 11:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15192
15193	* NEWS:
15194	  NEWS: updates.
15195
151962014-07-28 11:39:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15197
15198	* configure.ac:
15199	  configure: mark support for GStreamer < 1.2 as deprecated.
15200	  Supporting anything thing below GStreamer 1.2 is asking for trouble
15201	  for keeping up with the required facilities to make efficient pipelines.
15202	  Users are invited to upgrade to the very latest GStreamer 1.2.x release,
15203	  at the minimum.
15204
152052014-07-28 11:35:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15206
15207	* configure.ac:
15208	  configure: mark support for GStreamer 0.10 as obsolete.
15209	  Support for GStreamer 0.10 is obsolete. i.e. it is no longer supported
15210	  and may actually be removed altogether for a future release. There is
15211	  no real point to maintain a build for such an ancient GStreamer version
15212	  that is not even supported upstream.
15213
152142014-07-28 10:25:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15215
15216	* gst/vaapi/gstvaapisink.c:
15217	* gst/vaapi/gstvaapisink.h:
15218	  vaapisink: allow a specific view component to be displayed.
15219	  If a multiview stream is decoded, multiple view components are submitted
15220	  as is downstream. It is the responsibility of the sink element to display
15221	  the required view components. By default, always select the frame buffer
15222	  that matches the view-id of the very first frame to be displayed.
15223	  However, introduce a "view-id" property to allow the selection of a
15224	  specific view component of interest to display.
15225
152262014-07-28 10:09:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15227
15228	* gst/vaapi/gstvaapisink.c:
15229	  vaapisink: always keep the last displayed buffer around.
15230	  Always record the VA surface that is currently being rendered, no matter
15231	  the fact we are using texturedblit or overlay. That's because in some
15232	  occasions, we need to refresh or resize the displayed contents based on
15233	  new events. e.g. user-resized window.
15234	  Besides, it's simpler to track the last video buffer in GstVaapiSink than
15235	  through the base sink "last-sample".
15236
152372014-07-25 11:13:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15238
15239	* gst/vaapi/gstvaapipluginbase.c:
15240	* gst/vaapi/gstvaapipluginbase.h:
15241	* gst/vaapi/gstvaapipluginutil.c:
15242	* gst/vaapi/gstvaapisink.c:
15243	  vaapisink: add support for "display-name" property.
15244	  Add a "display-name" property to vaapisink so that the end user could
15245	  select the desired output. Keep "display-name" in-line with the existing
15246	  "display" (GstVaapiDisplayXXX type).
15247	  So, for X11 or GLX, the "display-name" is the usual display name as we
15248	  know for XOpenDisplay(); for Wayland, the "display-name" is the name used
15249	  for wl_display_connect(); and for DRM, the "display-name" is actually the
15250	  DRI device name.
15251	  https://bugzilla.gnome.org/show_bug.cgi?id=722247
15252
152532014-07-25 17:29:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15254
15255	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
15256	  window: make gst_vaapi_window_reconfigure() thread-safe.
15257	  Ensure the X11 implementation for GstVaapiWindow::get_geometry() is
15258	  thread-safe by default, so that upper layer users don't need to handle
15259	  that explicitly.
15260
152612013-07-29 09:28:28 +0200  Holger Kaelberer <hk@getslash.de>
15262
15263	* gst-libs/gst/vaapi/gstvaapiwindow.c:
15264	* gst-libs/gst/vaapi/gstvaapiwindow.h:
15265	  window: allow for updating size from current geometry.
15266	  Add gst_vaapi_window_reconfigure() interface to force an update of
15267	  the GstVaapiWindow "soft" size, based on the current geometry of the
15268	  underlying native window.
15269	  This can be useful for instance to synchronize the window size when
15270	  the user changed it.
15271	  Thanks to Fabrice Bellet for rebasing the patch.
15272	  [changed interface to gst_vaapi_window_reconfigure()]
15273	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15274
152752014-07-25 16:53:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15276
15277	* gst-libs/gst/vaapi/gstvaapiwindow.c:
15278	* gst-libs/gst/vaapi/gstvaapiwindow.h:
15279	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
15280	* gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
15281	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
15282	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
15283	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
15284	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
15285	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
15286	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
15287	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
15288	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
15289	  window: re-indent all GstVaapiWindow related source code.
15290
152912014-07-25 11:24:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15292
15293	* gst-libs/gst/vaapi/gstvaapidisplay.c:
15294	* gst-libs/gst/vaapi/gstvaapidisplay.h:
15295	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
15296	  display: add interface to retrieve the display name.
15297	  Add gst_vaapi_display_get_display_name() helper function to determine
15298	  the name associated with the underlying native display. Note that for
15299	  raw DRM backends, the display name is actually the device path.
15300
153012014-07-25 10:55:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15302
15303	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
15304	  display: fix comparison of X11 display names.
15305	  Make sure to not only compare display host names, but also the actual
15306	  display number. The screen number does not need to be checked at this
15307	  time.
15308
153092014-07-25 15:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15310
15311	* gst/vaapi/gstvaapidecode.c:
15312	* gst/vaapi/gstvaapivideobufferpool.c:
15313	  vaapidecode: add support for VideoAlignment bufferpool option.
15314	  Always add VideoAlignment bufferpool option if the downstream element
15315	  expects its own pool to be used but does not offer it through a proper
15316	  propose_allocation() implementation for instance, and that the ALLOCATION
15317	  query does not expose the availability of the Video Meta API.
15318	  This fixes propagation of video buffer stride information to Firefox.
15319
153202014-07-25 15:44:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15321
15322	* gst/vaapi/gstvaapivideomemory.c:
15323	  vaapivideomemory: always prefer native VA surface formats.
15324	  Make sure to always prefer native internal formats for the VA surfaces
15325	  that get allocated. Also disable "direct-rendering" mode in this case.
15326	  This is needed so that to make sure that anything that gets out of the
15327	  decoder, or anything that gets into the encoder, is in native format
15328	  for the hardware, and thus the driver doesn't need to perform implicit
15329	  conversions in there. Interop with SW elements is still available with
15330	  fast implementations of VA imaging APIs.
15331
153322014-07-24 11:58:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15333
15334	* gst/vaapi/gstvaapivideomemory.c:
15335	  vaapivideomemory: disallow memory shares across buffers, use a copy.
15336	  Forbid shares of GstMemory instances, and rather make copy of it. This
15337	  effectively copies the GstMemory structure and enclosed metadata, but
15338	  this does not copy the VA surface contents itself. It should though.
15339	  This fixes preroll and makes sure to not download garbage for the first
15340	  frame when a SW rendering sink is used.
15341
153422014-07-24 06:46:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15343
15344	* gst/vaapi/gstvaapivideomemory.c:
15345	* gst/vaapi/gstvaapivideomemory.h:
15346	  vaapivideomemory: use an image pool to cache objects.
15347	  Use an image pool to hold VA images to be used for downloads/uploads
15348	  of contents for the associated surface.
15349	  This is an optmization for size. So, instead of creating as many VA
15350	  images as there are buffers (then VA surfaces) allocated, we only
15351	  maintain a minimal set of live VA images, thus preserving memory
15352	  resources.
15353
153542014-07-24 00:14:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15355
15356	* gst/vaapi/gstvaapivideomemory.c:
15357	  vaapivideomemory: forbid R/W mappings if non direct-rendering mode.
15358	  Disable read-write mappings if "direct-rendering" is not supported.
15359	  Since the ordering of read and write operations is not specified,
15360	  this would require to always download the VA surface on _map(), then
15361	  commit the temporary VA image back to the VA surface on _unmap().
15362	  Some SW decoding plug-in elements still use R/W mappings though.
15363	  https://bugzilla.gnome.org/show_bug.cgi?id=733242
15364
153652014-07-23 23:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15366
15367	* gst/vaapi/gstvaapivideomemory.c:
15368	  vaapivideomemory: minor code clean-ups.
15369	  Fix error messages introduced in the previous commit for the _map()
15370	  imaplementation. Also use the new get_image_data() helper function
15371	  to determine the base pixels data buffer from a GstVaapiImage when
15372	  updating the video info structure from it.
15373
153742014-07-23 18:54:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15375
15376	* gst/vaapi/gstvaapivideomemory.c:
15377	* gst/vaapi/gstvaapivideomemory.h:
15378	  vaapivideomemory: add support for raw pixels mappings.
15379	  Allow raw pixels of the whole frame to be mapped read-only. i.e. in
15380	  cases where the buffer pool is allocated without VideoMeta API, thus
15381	  individual planes cannot be mapped.
15382	  This is initial support for Firefox >= 30.
15383	  https://bugzilla.gnome.org/show_bug.cgi?id=731886
15384
153852014-07-03 18:41:11 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15386
15387	* gst/vaapi/gstvaapivideomemory.c:
15388	  vaapivideomemory: fix determination of the surface pool format.
15389	  While creating the vaapi video allocator, make sure the associated
15390	  surface pool has correct format instead of defaulting to NV12 video
15391	  format even though there is no direct rendering support.
15392	  https://bugzilla.gnome.org/show_bug.cgi?id=732691
15393
153942014-07-23 18:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15395
15396	* gst/vaapi/gstvaapivideomemory.c:
15397	  vaapivideomemory: fix association of surface to proxy.
15398	  Make sure to always update the VA surface pointer whenever the proxy
15399	  changes. This used to only work when the VA surface is written to, in
15400	  interop with SW element ("upload" feature), and this now fixes cases
15401	  when the VA surface is needed for reading, in interop with SW element
15402	  ("download" feature).
15403
154042014-07-23 10:23:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15405
15406	* gst/vaapi/gstvaapidecode.c:
15407	* gst/vaapi/gstvaapipluginutil.c:
15408	* gst/vaapi/gstvaapivideomemory.c:
15409	  plugins: expose I420 format for interop with SW elements.
15410	  Always expose I420 format by default when the VA surface could be
15411	  mapped for interoperability with non harware accelerated elements.
15412	  However, the default behaviour remains the auto-plugging of vaapi
15413	  elements, down to the sink.
15414	  Side effect: "direct-rendering" mode is also disabled most of the
15415	  times as plain memcpy() from uncached speculative write combining
15416	  memory is not going to be efficient enough.
15417
154182014-07-22 18:54:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15419
15420	* gst/vaapi/gstvaapidecode.c:
15421	* gst/vaapi/gstvaapivideomemory.c:
15422	  plugins: allow download capability to vaapidecode element.
15423	  Fix support for VA surface download capability in vaapidecode element
15424	  for GStreamer >= 1.2. This is a fix to supporting libva-vdpau-driver,
15425	  but also the libva-intel-driver while performing hardware accelerated
15426	  conversions from the native VA surface format (NV12) to the desired
15427	  output VA image format.
15428	  For instance, this fixes pipelines involving vaapidecode ! xvimagesink.
15429	  https://bugzilla.gnome.org/show_bug.cgi?id=733243
15430
154312014-07-17 01:51:36 +0200  Fabrice Bellet <fabrice@bellet.info>
15432
15433	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
15434	  decoder: mpeg4: fix picture decoder return value for skipped frames.
15435	  The picture decoder should return GST_VAAPI_DECODER_STATUS_DROP_FRAME
15436	  when a frame should be skipped, so the stream processing is not stalled.
15437	  https://bugzilla.gnome.org/show_bug.cgi?id=733324
15438
154392014-07-04 15:13:32 +1000  Jan Schmidt <jan@centricular.com>
15440
15441	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
15442	  decoder: mpeg2: respect any input PTS provided for a frame.
15443	  The timestamp generator in gstvaapidecoder_mpeg2.c always interpolated
15444	  frame timestamps within a GOP, even when it's been fed input PTS for
15445	  every frame.
15446	  That leads to incorrect output timestamps in some situations - for example
15447	  live playback where input timestamps have been scaled based on arrival time
15448	  from the network and don't exactly match the framerate.
15449	  https://bugzilla.gnome.org/show_bug.cgi?id=732719
15450
154512014-01-22 08:20:59 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15452
15453	* gst-libs/gst/vaapi/gstvaapiobject.c:
15454	  GstVaapiObject: make gst_vaapi_object_new() more robust.
15455	  Forbid GstVaapiObject to be created without an associated klass spec.
15456	  It is mandatory that the subclass implements an adequate .finalize()
15457	  hook, so it shall provide a valid GstVaapiObjectClass.
15458	  https://bugzilla.gnome.org/show_bug.cgi?id=722757
15459	  [made non-NULL klass argument to gst_vaapi_object_new() a requirement]
15460	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15461
154622014-01-21 15:43:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15463
15464	* gst-libs/gst/vaapi/gstvaapiobject.c:
15465	  GstVaapiObject: initialize the derived object data with init() hook.
15466	  Call the subclass .init() function in gst_vaapi_object_new(), if
15467	  needed. The default behaviour is to zero initialize the subclass
15468	  object data, then the .init() function can be used to initialize
15469	  fields to non-default values, e.g. VA object ids to VA_INVALID_ID.
15470	  Also fix the gst_vaapi_object_new() description, which was merely
15471	  copied from GstVaapiMiniObject.
15472	  https://bugzilla.gnome.org/show_bug.cgi?id=722757
15473	  [changed to always zero initialize the subclass]
15474	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15475
154762014-06-13 21:45:04 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
15477
15478	* gst/vaapi/gstvaapidecode.c:
15479	  vaapidecode: make decoder work with playbin
15480	  When playbin/decodebin builds the pipeline, it puts decoders and sinks
15481	  into different bins and forwards the queries from bins to bins. So in
15482	  the initials steps the pipeline is built iteratively by playbin and
15483	  looks like this :
15484	  [filesrc]
15485	  [filesrc] -> [typefind]
15486	  [filesrc] -> [typefind] -> [demuxer]
15487	  [filesrc] -> [typefind] -> [demuxer] -> [decoder]
15488	  At this point the decoder is asked for its SRC caps and it will make a
15489	  choice based on what gst_pad_peer_query_caps() returns. The problem is
15490	  that the caps returns at that point includes caps features like ANY,
15491	  essentially because playbin can plug in additional elements like
15492	  videoscale, videoconv or deinterlace.
15493	  This patch adds a another call to
15494	  gst_vaapi_find_preferred_caps_feature() when the decoder decides its
15495	  allocation, to make sure we asks the downstream elements when the
15496	  entire pipeline has been built.
15497	  https://bugzilla.gnome.org/show_bug.cgi?id=731645
15498
154992014-06-27 11:57:11 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15500
15501	* gst/vaapi/gstvaapipostproc.c:
15502	  vaapipostproc: don't let tmp_rect go out of scope.
15503	  A compiler change showed me that tmp_rect went out of scope before
15504	  it was used. Move it to the beginning of the function instead.
15505	  https://bugzilla.gnome.org/show_bug.cgi?id=726363
15506	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15507	  [added guards for GStreamer 0.10 builds]
15508	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15509
155102014-07-03 22:44:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15511
15512	* AUTHORS:
15513	  AUTHORS: updates.
15514
155152014-07-03 22:34:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15516
15517	* README:
15518	  README: updates.
15519	  Drop references to deprecated plugins (vaapiupload, vaapidownload),
15520	  mention that support for GStreamer 0.10 is deprecated, make overview
15521	  more descriptive in certain aspects.
15522
155232014-07-03 22:21:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15524
15525	* NEWS:
15526	  NEWS: updates.
15527
155282014-07-03 19:42:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15529
15530	* README:
15531	* configure.ac:
15532	  build: mention that support for GStreamer 0.10 is deprecated.
15533
155342014-07-03 17:17:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15535
15536	* configure.ac:
15537	* gst/vaapi/gstvaapidecode.c:
15538	  build: fix for GStreamer 0.10.
15539
155402014-07-03 18:01:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15541
15542	* patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
15543	* patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
15544	* patches/videoparsers/series.frag:
15545	  build: fix for GStreamer 1.0.x.
15546
155472014-07-03 13:48:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15548
15549	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15550	  decoder: h264: detect incorrectly paired fields in frames.
15551	  When a DPB flush is required, e.g. at a natural and of stream or issued
15552	  explicitly through an IDR, try to detect any frame left in the DPB that
15553	  is interlaced but does not contain two decoded fields. In that case, mark
15554	  the picture as having a single field only.
15555	  This avoids a hang while decoding tv_cut.mkv.
15556
155572014-07-03 11:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15558
15559	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15560	  decoder: h264: simplify the DPB output process.
15561	  Simplify the dpb_output() function to exclusively rely on the frame store
15562	  buffer to output, since this is now always provided. Besides, also fix
15563	  cases where split fields would not be displayed.
15564	  This is a regression from f48b1e0.
15565
155662014-07-01 17:20:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15567
15568	* patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
15569	* patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
15570	* patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
15571	* patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
15572	* patches/videoparsers/series.frag:
15573	  h264parse: drop patches merged upstream.
15574	  0003-h264parse-fix-and-optimize-NAL-collection-function.patch
15575	  0005-h264parse-introduce-new-state-tracking-variables.patch
15576	  0006-h264parse-improve-conditions-for-skipping-NAL-units.patch
15577	  0007-h264parse-fix-collection-of-access-units-to-preserve.patch
15578
155792014-07-01 17:18:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15580
15581	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15582	  decoder: h264: fix memory leak in PPS.
15583	  Cope with latest changes from codecparsers/h264. It is now required
15584	  to explicitly clear the GstH264PPS structure as it could contain
15585	  additional allocations (slice_group_ids).
15586
155872014-07-01 17:13:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15588
15589	* ext/codecparsers:
15590	  codecparsers: update to gst-vaapi-branch commit 2d53b69.
15591	  c4ace00 h264parse: fix collection of access units to preserve config headers
15592	  0f9f7c9 h264parse: improve conditions for skipping NAL units
15593	  9ffb25c h264parse: introduce new state tracking variables
15594	  64955d3 h264parse: fix and optimize NAL collection function
15595	  13cd2a3 h264: clarifications and documentation fixes
15596	  53e7dd1 h264: fix identification of EOSEQ and EOS NALs
15597	  18f0de0 h264: fix memory leak in GstH264PPS
15598	  fdcb54c h264: fix typo in GstH264VUIParams description
15599	  fd4dae9 vp8: move up built-in range decoder private data
15600
156012014-06-30 19:01:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15602
15603	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15604	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
15605	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
15606	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
15607	  decoder: propagate MVC metadata ("view-id", head of multiview set).
15608	  Add new GstVaapiSurfaceProxy flag FFB, which means "first frame in
15609	  bundle", and really expresses the first view component of a multi
15610	  view coded frame. e.g. in H.264 MVC, the surface proxy has flag FFB
15611	  set if VOIdx = 0.
15612	  Likewise, new API is exposed to retrieve the associated "view-id".
15613
156142014-06-30 18:46:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15615
15616	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15617	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
15618	  decoder: propagate "one-field" flags.
15619	  Allow decoders to set the "one-field" attribute when the decoded frame
15620	  genuinely has a single field, or if the second field was mis-decoded but
15621	  we still want to display the first field.
15622
156232014-06-30 18:34:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15624
15625	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15626	  decoder: output decoded frames only once.
15627	  Make sure to output the decoded picture, and push the associated
15628	  GstVideoCodecFrame, only once. The frame fully represents what needs
15629	  to be output, included for interlaced streams. Otherwise, the base
15630	  GstVideoDecoder class would release the frame twice.
15631	  Anyway, the general process is to output decoded frames only when
15632	  they are complete. By complete, we mean a full frame was decoded or
15633	  both fields of a frame were decoded.
15634
156352014-06-30 16:12:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15636
15637	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15638	  decoder: h264: decode current picture earlier.
15639	  Slightly optimize decoding process by submitting the current VA surface
15640	  for decoding earlier to the hardware, and perform the reference picture
15641	  marking process and DPB update process afterwards.
15642	  This is a minor optimization to let the video decode engine kick in work
15643	  earlier, thus improving parallel resources utilization.
15644
156452014-06-30 16:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15646
15647	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15648	  decoder: h264: fix output of second field when first field is not in DPB.
15649	  Fix decoding of interlaced streams where a first field (e.g. B-slice)
15650	  was immediately output and the current decoded field is to be paired
15651	  with that former frame, which is no longer in DPB.
15652	  https://bugzilla.gnome.org/show_bug.cgi?id=701340
15653
156542014-06-30 11:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15655
15656	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15657	  decoder: h264: slightly optimize the process to detect new pictures.
15658	  Optimize the process to detect new pictures or start of new access
15659	  units by checking if the previous NAL unit was the end of a picture,
15660	  or the end of the previous access unit.
15661
156622014-06-13 15:42:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15663
15664	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15665	  decoder: h264: handle access unit ("au") optimization.
15666	  Optimize parsing when buffers are supplied with access unit alignment.
15667	  This helps determining faster when the end of an access unit is reached.
15668
156692014-06-28 07:25:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15670
15671	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15672	  decoder: h264: fix tracking of DPB size changes.
15673	  Add support for MVC streams with multiple SPS and subset SPS headers
15674	  emitted regularly, e.g. at around every I-frame. Track the maximum
15675	  number of views in ensure_context() and really reset the DPB size to
15676	  the expected value, always. i.e. even if it decreased. dpb_reset()
15677	  only cares of ensuring the DPB allocation.
15678
156792014-06-27 20:44:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15680
15681	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15682	  decoder: h264: fix the DPB compaction process.
15683	  Fix the compaction process when the DPB is cleared for a specific
15684	  view, i.e. fix the process of filling in the holes resulting from
15685	  removing frame buffers matching the current picture.
15686
156872014-06-27 16:38:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15688
15689	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15690	  encoder: h264: generate new SPS only when codec config changed.
15691	  It is not necessary to periodically send SPS or subset SPS headers.
15692	  This is up to the upper layer (e.g. transport layer) to decide on
15693	  if/how to periodically submit those. For now, only generate new SPS
15694	  or subset SPS headers when the codec config changed.
15695	  Note: the upper layer could readily determine the config headers
15696	  (SPS/PPS) through the gst_vaapi_encoder_h264_get_codec_data() function.
15697	  https://bugzilla.gnome.org/show_bug.cgi?id=732083
15698	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15699
157002014-06-27 18:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15701
15702	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15703	  encoder: h264: track encoder config changes.
15704	  Track and report when encoder configuration changed. For now, this covers
15705	  resolution, profile/level and bitrate changes.
15706
157072014-06-27 13:15:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15708
15709	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15710	  encoder: h264: add pixel-aspect-ratio to VUI parameters.
15711	  Report sample aspect ratio (SAR) as present, and make it match what
15712	  we have obtained from the user as pixel-aspect-ratio (PAR). i.e. the
15713	  VUI parameter aspect_ratio_info_present_flag now defaults to TRUE.
15714
157152014-06-27 00:49:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15716
15717	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15718	  encoder: h264: fix number of anchor and non-anchor reference pictures.
15719	  Set the value of num_anchor_refs_l0, num_anchor_refs_l1, num_non_anchor_refs_l0,
15720	  and num_non_anchor_refs_l1 to zero since the inter-view prediction is not yet
15721	  supported.
15722
157232014-06-27 10:37:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15724
15725	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15726	  encoder: h264: fix timing_info_present_flag value in subset SPS.
15727	  When the seq_parameter_set_data() syntax structure is present in a subset
15728	  sequence parameter set and vui_parameters_present_flag is equal to 1, then
15729	  timing_info_present_flag shall be equal to 0 (H.7.4.2.1.1).
15730
157312014-06-26 14:39:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15732
15733	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15734	  encoder: h264: add cpbBrNalFactor values for MVC profiles.
15735
157362014-06-26 14:51:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15737
15738	* patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
15739	  h264parse: fix detection of access unit boundaries for MVC.
15740	  The gst_h264_parse_collect_nal() function is a misnomer. In reality,
15741	  this function is used to determine access unit boundaries, i.e. that
15742	  is the key function for alignment=au output format generation.
15743
157442014-06-26 14:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15745
15746	* patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
15747	* patches/videoparsers/series.frag:
15748	  h264parse: fix collection of access units to preserve config headers.
15749	  Always use a GstAdapter when collecting access units (alignment="au")
15750	  in either byte-stream or avcC format. This is required to properly
15751	  preserve config headers like SPS and PPS when invalid or broken NAL
15752	  units are subsequently parsed.
15753	  More precisely, this fixes scenario like:
15754	  <SPS> <PPS> <invalid-NAL> <slice>
15755	  where we used to reset the output frame buffer when an invalid or
15756	  broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
15757	  preventing the next slice unit to be decoded, should this also
15758	  represent any valid data.
15759	  https://bugzilla.gnome.org/show_bug.cgi?id=732203
15760
157612014-06-26 14:48:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15762
15763	* patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
15764	* patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
15765	* patches/videoparsers/series.frag:
15766	  h264parse: improve conditions for skipping NAL units.
15767	  Carefully track cases when skipping broken or invalid NAL units is
15768	  necessary. In particular, always allow NAL units to be processed
15769	  and let that gst_h264_parse_process_nal() function decide on whether
15770	  the current NAL needs to be dropped or not.
15771	  This fixes parsing of streams with SEI NAL buffering_period() message
15772	  inserted between SPS and PPS, or SPS-Ext NAL following a traditional
15773	  SPS NAL unit, among other cases too.
15774	  Practical examples from the H.264 AVC conformance suite include
15775	  alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
15776	  when parsing in stream-format=byte-stream,alignment=au mode.
15777	  https://bugzilla.gnome.org/show_bug.cgi?id=732203
15778
157792014-06-26 14:45:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15780
15781	* patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
15782	* patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
15783	* patches/videoparsers/series.frag:
15784	  h264parse: introduce new state tracking variables.
15785	  Improve parser state tracking by introducing new flags reflecting
15786	  it: "got-sps", "got-pps" and "got-slice". This is an addition for
15787	  robustness purposes.
15788	  Older have_sps and have_pps variables are kept because they have
15789	  a different meaning. i.e. they are used for deciding on when to
15790	  submit updated caps or not, and rather mean "have new SPS/PPS to
15791	  be submitted?"
15792
157932014-06-26 14:39:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15794
15795	* patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
15796	* patches/videoparsers/series.frag:
15797	  h264parse: default to byte-stream/nalu format (Annex B).
15798	  Always default to stream-format=byte-stream,alignment=nalu if avcC
15799	  format was not detected. This is the natural stream format specified
15800	  in the standard (Annex.B): a series of NAL units prefixed with the
15801	  usual start code.
15802	  https://bugzilla.gnome.org/show_bug.cgi?id=732167
15803
158042014-06-26 14:37:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15805
15806	* patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
15807	* patches/videoparsers/series.frag:
15808	  h264parse: fix and optimize NAL collection function.
15809	  Use gst_h264_parser_identify_nalu_unchecked() to identify the next
15810	  NAL unit. We don't want to parse the full NAL unit, but only the
15811	  header bytes and possibly the first RBSP byte for identifying the
15812	  first_mb_in_slice syntax element.
15813	  Also fix check for failure when returning from that function. The
15814	  only success condition for that is GST_H264_PARSER_OK, so use it.
15815	  https://bugzilla.gnome.org/show_bug.cgi?id=732154
15816
158172014-06-26 11:39:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15818
15819	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15820	  encoder: h264: fix NAL unit types in packed headers.
15821	  Submit Prefix NAL headers (nal_unit_type = 14) before every packed
15822	  slice header (nal_unit_type = 1 or 5) only for the base view. In non
15823	  base views, a Coded Slice Extension NAL header (nal_unit_type = 20)
15824	  is required, with an appropriate nal_unit_header_mvc_extension() in
15825	  the NAL header bytes.
15826	  https://bugzilla.gnome.org/show_bug.cgi?id=732083
15827
158282014-06-25 22:05:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15829
15830	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15831	  encoder: h264: add missing field in packed Subset SPS header.
15832	  Write the missing num_level_values_signalled_minus1 syntax element
15833	  into the packed header for subset sequence parameter set.
15834	  https://bugzilla.gnome.org/show_bug.cgi?id=732083
15835
158362014-06-25 22:26:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15837
15838	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15839	  decoder: h264: fix marking of non-reference picture into DPB.
15840	  Fix search for a picture in the DPB that has a lower POC value than
15841	  the current picture. The dpb_find_lowest_poc() function will return
15842	  a picture with the lowest POC in DPB and that is marked as "needed
15843	  for output", but an additional check against the actual POC value
15844	  of the current picture is needed.
15845	  This is a regression from 1c46990.
15846	  https://bugzilla.gnome.org/show_bug.cgi?id=732130
15847
158482014-06-19 17:08:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15849
15850	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15851	  decoder: h264: fix DPB clear when no decoding actually started.
15852	  Fix dpb_clear() to clear previous frame buffers only if they actually
15853	  exist to begin with. If the decoder bailed out early, e.g. when it
15854	  does not support a specific profile, that array of previous frames
15855	  might not be allocated beforehand.
15856
158572014-02-06 08:30:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15858
15859	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15860	* gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
15861	* gst/vaapi/gstvaapidecode.c:
15862	  decoder: h264: add support for NALU "alignment" optimization.
15863	  We can avoid scanning for start codes again if the bitstream is fed
15864	  in NALU chunks. Currently, we always scan for start codes, and keep
15865	  track of remaining bits in a GstAdapter, even if, in practice, we
15866	  are likely receiving one GstBuffer per NAL unit. i.e. h264parse with
15867	  "nal" alignment.
15868	  https://bugzilla.gnome.org/show_bug.cgi?id=723284
15869	  [use gst_adapter_available_fast() to determine the top buffer size]
15870	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15871
158722014-06-18 18:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15873
15874	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15875	  decoder: h264: fix caps to report interlace-mode accordingly.
15876	  The `vaapipostproc' element could never determine if the H.264 stream
15877	  was interlaced, and thus always assumed it to be progressive. Fix the
15878	  H.264 decoder to report interlace-mode accordingly, thus allowing the
15879	  vaapipostproc element to automatically enable deinterlacing.
15880
158812014-06-19 13:35:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15882
15883	* gst/vaapi/gstvaapipostproc.c:
15884	  vaapipostproc: don't crash with dynamic framerate (0/1).
15885	  Avoid reaching an assert if dynamic framerates (0/1) are used. One
15886	  way to solve this problem is to just stick field_duration to zero.
15887	  However, this means that, in presence of interlaced streams, the
15888	  very first field will never be displayed if precise presentation
15889	  timestamps are honoured.
15890	  https://bugzilla.gnome.org/show_bug.cgi?id=729604
15891
158922014-02-07 12:27:50 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15893
15894	* gst/vaapi/gstvaapipostproc.c:
15895	  vaapipostproc: create filter surface pool if it does not exist yet.
15896	  ensure_srcpad_buffer_pool() tries to avoid unnecessarily deleting and
15897	  recreating filter_pool. Unfortunately, this also meant it didn't create
15898	  it if it did not exist.
15899	  Fix it to always create the buffer pool if it does not exist.
15900	  https://bugzilla.gnome.org/show_bug.cgi?id=723834
15901	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15902
159032013-12-12 10:01:13 +0800  Zhao, Halley <halley.zhao@intel.com>
15904
15905	* gst/vaapi/gstvaapipostproc.c:
15906	  vaapipostproc: reset deinterlacer state when there is a discontinuity.
15907	  Reset deinterlacer state, i.e. past reference frames used for advanced
15908	  deinterlacing, when there is some discontinuity detected in the course
15909	  of processing source buffers.
15910	  This fixes support for advanced deinterlacing when a seek occurred.
15911	  https://bugzilla.gnome.org/show_bug.cgi?id=720375
15912	  [fixed type of pts_diff variable, fetch previous buffer PTS from the
15913	  history buffer, reduce heuristic for detecting discontinuity]
15914	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15915
159162014-06-18 16:16:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15917
15918	* gst/vaapi/gstvaapipostproc.c:
15919	  vaapipostproc: add support for crop regions in VPP mode.
15920	  Apply video cropping regions stored in GstVideoCropMeta, or in older
15921	  GstVaapiSurfaceProxy representation, to VPP pipelines. In non-VPP modes,
15922	  the crop meta are already propagated to the output buffers.
15923	  https://bugzilla.gnome.org/show_bug.cgi?id=720730
15924
159252014-03-14 17:49:40 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15926
15927	* gst/vaapi/gstvaapipostproc.c:
15928	  vaapipostproc: make deinterlace-mode behave as expected.
15929	  deinterlace-mode didn't behave in the way you'd expect if you have
15930	  past experience of the deinterlace element. There were two bugs:
15931	  1. "auto" mode wouldn't deinterlace "interleaved" buffers, only "mixed".
15932	  2. "force" mode wouldn't deinterlace "mixed" buffers flagged as progressive.
15933	  Fix these up, and add assertions and error messages to detect cases that
15934	  aren't handled.
15935	  https://bugzilla.gnome.org/show_bug.cgi?id=726361
15936	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15937	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15938
159392014-01-15 16:36:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15940
15941	* gst/vaapi/gstvaapidecode.c:
15942	  vaapidecode: do not discard video info props when the format changed.
15943	  gst_video_info_set_format() does not preserve video info properties. In
15944	  order to keep important information in the caps such as interlace mode,
15945	  framerate, pixel aspect ratio, ... we need to manually copy back those
15946	  properties after setting the new video format.
15947	  https://bugzilla.gnome.org/show_bug.cgi?id=722276
15948
159492014-02-23 01:43:39 +1100  Matthew Waters <ystreet00@gmail.com>
15950
15951	* gst/vaapi/gstvaapidecode.c:
15952	  vaapidecode: plug a memory leak.
15953	  It can happen that there is a pool provided that does not advertise
15954	  the vappivideometa. We should unref that pool before using our own.
15955	  Discovered with vaapidecode ! {glimagesink,cluttersink}
15956	  https://bugzilla.gnome.org/show_bug.cgi?id=724957
15957	  [fixed compilation by adding the missing semi-colon]
15958	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15959
159602014-06-18 13:47:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15961
15962	* gst/vaapi/gstvaapidecode.c:
15963	  vaapidecode: parse source data until a frame is obtained.
15964	  Parse any pending data until a complete frame is obtained. This is a
15965	  memory optimization to avoid expansion of video packets stuffed into
15966	  the GstAdapter, and a fix to EOS condition to detect there is actually
15967	  pending data that needs to be decoded, and subsequently output.
15968	  https://bugzilla.gnome.org/show_bug.cgi?id=731831
15969
159702014-06-05 15:32:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15971
15972	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15973	  encoder: h264: fix multiple slices support in packed headers mode.
15974	  Handle packedi slice headers and packed raw data on a per-slice basis,
15975	  which is necessary for multi slice encoding.
15976
159772014-06-05 15:30:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15978
15979	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15980	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
15981	  encoder: add infrastructure for per-slice handling of packed headers.
15982	  The packed slice header and packed raw data need to be paired with
15983	  the submission of VAEncSliceHeaderParameterBuffer. So handle them
15984	  on a per-slice basis insted of a per-picture basis.
15985	  [removed useless initializer]
15986	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15987
159882014-03-07 17:40:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15989
15990	* gst/vaapi/gstvaapisink.c:
15991	  vaapisink: fix initialization with "drm" display type.
15992	  Force early initializatin of the GstVaapiDisplay so that to make sure
15993	  that the sink element display object is presented first to upstream
15994	  elements, as it will be correctly featuring the requested display type
15995	  by the user.
15996	  Otherwise, we might end up in situations where a VA/X11 display is
15997	  initialized in vaapidecode, then we try VA/DRM display in vaapisink
15998	  (as requested by the "display" property), but this would cause a failure
15999	  because we cannot acquire a DRM display that was previously acquired
16000	  through another backend (e.g. VA/X11).
16001
160022014-03-07 17:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16003
16004	* gst/vaapi/gstvaapipluginbase.c:
16005	  plugins: fix initialization with foreign context.
16006	  When a new display is settled through GstElement::set_context() (>= 1.2),
16007	  or GstVideoContext::set_context() (<= 1.0), then we shall also update the
16008	  associated display type.
16009
160102014-04-28 17:44:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16011
16012	* Makefile.am:
16013	* configure.ac:
16014	* ext/Makefile.am:
16015	* gst/vaapi/Makefile.am:
16016	* gst/vaapi/gstvaapiparse.c:
16017	* gst/vaapi/gstvaapiparse.h:
16018	* patches/Makefile.am:
16019	* patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
16020	* patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
16021	* patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
16022	* patches/videoparsers/Makefile.am:
16023	* patches/videoparsers/series.frag:
16024	  plugins: add built-in video parsers as "vaapiparse" element.
16025	  The built-in video parsers elements are built into a single DSO named
16026	  libgstvaapi_parse.so. The various video parsers could be accessed as
16027	  vaapiparse_CODEC.
16028	  For now, this only includes a modified version of h264parse so that to
16029	  support H.264 MVC encoded streams.
16030
160312014-06-13 11:36:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16032
16033	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16034	  decoder: h264: cope with new gst_h264_quant_matrix_*() interfaces.
16035	  New gst_h264_quant_matrix_*_get_raster_from_zigzag() were renamed
16036	  from gst_h264_video_quant_matrix_*_get_raster_from_zigzag().
16037
160382014-06-13 11:34:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16039
16040	* ext/codecparsers:
16041	  codecparsers: update to gst-vaapi-branch commit d6325ac.
16042	  7d8d045 h264parse: use new gst_h264_video_calculate_framerate()
16043	  d2f965a h264parse: set field_pic_flag when parsing a slice header
16044	  24c15b8 Import h264parse
16045	  a9283e5 bytereader: Use concistant derefence method
16046	  a8252c6 bytereader: Use pointer instead of index access
16047	  b1bebfc Import GstBitReader and GstByteReader
16048	  2f58788 h264: recognize SVC NAL units
16049	  4335da5 h264: fix SPS copy code for MVC
16050	  cf9b6dc h264: fix quantization matrix conversion routine names
16051	  b11ce2a h264: add gst_h264_video_calculate_framerate()
16052	  126dc6f add C++ guards for MPEG-4 and VP8 parsers
16053
160542014-06-10 18:30:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16055
16056	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16057	  decoder: h264: factor out DPB pruning for MVC.
16058	  Factor out the removal process of unused inter-view only reference
16059	  pictures from the DPB, prior to the possible insertion of the current
16060	  picture.
16061	  Ideally, the compiler could still opt for generating two loops. But
16062	  at least, the code is now clearer for maintenance.
16063
160642014-06-10 17:42:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16065
16066	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16067	  decoder: h264: clean-ups.
16068	  Fix GST_VAAPI_PICTURE_IS_{INTER_VIEW,ANCHOR}() definitions to use
16069	  the base GST_VAAPI_PICTURE_FLAG_IS_SET() macro.
16070
160712014-06-10 16:07:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16072
16073	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16074	  decoder: h264: improve pruning of unused MVC inter-view frames.
16075	  Improve process for the removal of pictures from DPB before possible
16076	  insertion of the current picture (C.4.4) for H.264 MVC inter-view only
16077	  reference components. In particular, handle cases where picture to be
16078	  inserted is not the last one of the access unit and if it was already
16079	  output and is no longer marked as used for reference, including for
16080	  decoding next view components within the same access unit.
16081
160822014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16083
16084	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16085	  decoder: h264: improve DPB bumping process for MVC.
16086	  While invoking the DPB bumping process in presence of many views,
16087	  it could be necessary to output previous pictures that are ready,
16088	  in a whole. i.e. emitting all view components from the very first
16089	  view order index zero to the very last one in its original access
16090	  unit; and not starting from the view order index of the picture
16091	  that caused the DPB bumping process to be invoked.
16092	  As a reminder, the maximum number of frames in DPB for MultiView
16093	  High profile with more than 2 views is not necessarily a multiple
16094	  of the number of views.
16095	  This fixes decoding of MVCNV-4.264.
16096
160972014-06-06 17:56:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16098
16099	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16100	  decoder: h264: fix inter-view references array growth.
16101	  Let the utility layer handle dynamic growth of the inter-view pictures
16102	  array. By definition, setting a new size to the array will effectively
16103	  grow the array, but would also fill in the newly created elements with
16104	  empty entries (NULL), thus also increasing the reported length, which
16105	  is not correct.
16106
161072014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16108
16109	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16110	  decoder: h264: reduce ReferenceFrames entries to the essential set.
16111	  When decoding Multiview High profile streams with a large number of
16112	  views, it is not possible to make the VAPictureParameterBufferH264.
16113	  ReferenceFrames[] array hold the complete DPB, with all possibly
16114	  active pictures to be used for inter-view prediction in the current
16115	  access unit.
16116	  So reduce the scope of the ReferenceFrames[] array to only include
16117	  the set of reference pictures that are going to be used for decoding
16118	  the current picture. Basically, this is a union of all RefPicListX[]
16119	  array, for all slices constituting the decoded picture.
16120
161212014-06-04 19:10:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16122
16123	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16124	  decoder: h264: fix MVC inter-view prediction process.
16125	  The inter-view reference components and inter-view only reference
16126	  components that are included in the reference picture lists shall
16127	  be considered as not being marked as "used for short-term reference"
16128	  or "used for long-term reference". This means that reference flags
16129	  should all be removed from VAPictureH264.flags.
16130	  This fixes decoding of MVCNV-2.264.
16131
161322014-06-04 19:03:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16133
16134	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16135	  decoder: h264: fix detection of profile changes for MVC.
16136	  If the VA driver exposes ad-hoc H.264 MVC profiles, then we have to
16137	  be careful to detect profiles changes and not reset the underlying
16138	  VA context erroneously. In MVC situations, we could indeed get a
16139	  profile_idc change for every SPS that gets activated, alternatively
16140	  (base-view -> non-base view -> base-view, etc.).
16141	  An improved fix would be to characterize the exact profile to use
16142	  once and for all when SPS NAL units are parsed. This would also
16143	  allow for fallbacks to a base-view decoding only mode.
16144
161452014-06-03 14:30:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16146
16147	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16148	  encoder: h264: drop extraneous definitions.
16149	  Re-use definitions from the codecparser headers instead of duplicating
16150	  them here again. That covers NALU definitions and slice types.
16151
161522014-04-01 11:26:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16153
16154	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16155	  encoder: h264: remove unnecessary calcualtion of max_pic_order_cnt.
16156	  https://bugzilla.gnome.org/show_bug.cgi?id=727418
16157
161582014-04-01 14:23:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16159
16160	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16161	  encoder: h264: don't allow CABAC with Extended profile.
16162	  The H.264 specification does not support CABAC entropy coding for the
16163	  Extended profile.
16164	  https://bugzilla.gnome.org/show_bug.cgi?id=727418
16165
161662014-05-07 00:12:39 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16167
16168	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16169	  encoder: h264: use packed headers mode for MVC encoding.
16170	  Exclusively use VA drivers that support raw packed headers for encoding.
16171	  i.e. simply submit packed headers Subset SPS and Prefix NAL units. This
16172	  provides for better compatibility accross the various VA drivers and HW
16173	  generations since no particular API is needed beyond what readily exists.
16174
161752014-05-07 00:09:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16176
16177	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16178	  encoder: h264: add support for packed slice headers.
16179	  https://bugzilla.gnome.org/show_bug.cgi?id=722905
16180
161812014-05-07 00:09:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16182
16183	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16184	  encoder: h264: store subset sps to generate the codec-data
16185	  Store the SubsetSPS nal unit which we need for MVC specific
16186	  codec_data generation.
16187
161882014-05-07 00:08:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16189
16190	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16191	  encoder: h264: fix MVC pipeline hang while encoding with B-frames.
16192	  Since we are encoding each view independently from each other, we
16193	  need a higher number of pre-allocated surfaces to be used as the
16194	  reconstructed frames. For Stereo High profile encoding, this means
16195	  to effectively double the number of frames to be stored in the DPB.
16196
161972014-02-17 15:51:43 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
16198
16199	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16200	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
16201	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16202	* gst/vaapi/gstvaapiencode_h264.c:
16203	  encoder: h264: add initial support for H.264 Stereo High profile.
16204	  Add initial support for Subset SPS, Prefix NAL and Slice Extension NAL
16205	  for non-base-view streams encoding, and the usual SPS, PPS and Slice
16206	  NALs for base-view encoding.
16207	  The H.264 Stereo High profile encoding mode will be turned on when the
16208	  "num-views" parameter is set to 2. The source (raw) YUV frames will be
16209	  considered as Left/Right view, alternatively.
16210	  Each of the two views has its own frames reordering pool and reference
16211	  frames list management system. Inter-view references are not supported
16212	  yet, so the views are encoded independently from each other.
16213	  Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
16214	  [limited to Stereo High profile per the definition of MAX_NUM_VIEWS]
16215	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16216
162172014-02-17 11:10:26 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
16218
16219	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16220	  encoder: h264: wrap pools for refs and frames reordering.
16221	  Create structures to maintain the reference frames list (RefPool) and
16222	  frames reordering (ReorderPool) logic.
16223	  This is a prerequisite for H.264 MVC support.
16224	  Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
16225
162262014-02-14 15:33:15 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
16227
16228	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16229	  encoder: h264: add provisional support for subset SPS headers.
16230	  Add provisions to write subset SPS headers to the bitstream in view
16231	  to supporting the H.264 MVC specification.
16232	  This assumes the libva "staging" branch is in use.
16233	  Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
16234
162352013-12-18 13:47:32 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
16236
16237	* gst-libs/gst/vaapi/gstvaapiprofile.c:
16238	* gst-libs/gst/vaapi/gstvaapiutils.c:
16239	  utils: add H.264 MVC profiles.
16240	  Add "MultiView High" and "Stereo High" definitions.
16241	  Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
16242	  [require VA-API >= 0.35.2 for MVC profiles]
16243	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16244
162452014-06-02 16:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16246
16247	* gst-libs/gst/vaapi/gstvaapiprofile.c:
16248	* gst-libs/gst/vaapi/gstvaapiutils.c:
16249	  utils: only enable VP8 profiles for newer VA-API versions.
16250	  VP8 decoding API appeared in VA-API >= 0.35.0. So, disable mappings
16251	  involving VP8 codec on earlier versions of the API.
16252
162532014-05-22 10:04:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16254
16255	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16256	  decoder: h264: compute view ids only once per slice.
16257	  Optimize lookups of view ids / view order indices by caching the result
16258	  of the calculatiosn right into the GstVaapiParserInfoH264 struct. This
16259	  terribly simplifies is_new_access_unit() and find_first_field() functions.
16260
162612014-05-21 17:57:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16262
16263	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16264	  decoder: h264: add support for MVC interlaced streams.
16265	  Fix support for MVC Stereo High profile streams with interlaced frames.
16266	  Also improve the detection logic of the first field.
16267
162682014-05-20 18:08:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16269
16270	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16271	  decoder: h264: add MVC profiles compatibility logic.
16272	  Add safe fallbacks for MVC profiles:
16273	  - all MultiView High profile streams with 2 views at most can be decoded
16274	  with a Stereo High profile compliant decoder ;
16275	  - all Stereo High profile streams with only progressive views can be
16276	  decoded with a MultiView High profile compliant decoder ;
16277	  - all drivers that support slice-level decoding could normally support
16278	  MVC profiles when the DPB holds at most 16 frames.
16279
162802014-05-02 14:58:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16281
16282	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16283	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
16284	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
16285	  decoder: h264: add initial support for MVC.
16286	  https://bugzilla.gnome.org/show_bug.cgi?id=721772
16287
162882014-05-01 19:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16289
16290	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16291	  decoder: h264: dynamically allocate the DPB.
16292	  Dynamically allocate the Decoded Picture Buffer (DPB) and add provisions
16293	  for supporting the MVC allocation requirements.
16294
162952014-05-01 19:33:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16296
16297	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16298	  decoder: h264: fix detection of access unit boundaries.
16299	  In order to have a stricter conforming implementation, we need to carefully
16300	  detect access unit boundaries. Additional operations could be necessary to
16301	  perform at those boundaries.
16302
163032013-03-13 11:44:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16304
16305	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16306	  decoder: h264: detect the first VCL NAL unit of a picture for MVC.
16307	  Detect the first VCL NAL unit of a picture for MVC, based on the
16308	  view_id as per H.7.4.1.2.4. Note that we only need to detect new
16309	  view components.
16310	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16311
163122013-10-31 19:32:55 +0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16313
16314	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16315	  decoder: h264: properly handle Prefix NAL units.
16316	  Always cache the previous NAL unit so that we could check whether
16317	  there is a Prefix NAL unit immediately preceding the current slice
16318	  or IDR NAL unit. In that case, the NAL unit metadata is copied into
16319	  the current NAL unit. Otherwise, some default values are inferred,
16320	  tentatively. e.g. view_id shall be set to 0 and inter_view_flag to 1.
16321	  [infer default values for slice if previous NAL was not a Prefix]
16322	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16323
163242013-02-28 15:59:55 +0800  Xiaowei Li <xiaowei.a.li@intel.com>
16325
16326	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16327	  decoder: h264: add support for MVC base views.
16328	  Allow decoding for base views of MVC encoded streams. For now, just skip
16329	  the slice extension and prefix NAL units, and skip non-base view frames.
16330	  Signed-off-by: Xiaowei Li <xiaowei.a.li@intel.com>
16331	  [fixed memory leak, improved check for MVC NAL units]
16332	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16333
163342014-05-04 14:49:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16335
16336	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16337	  decoder: h264: simplify storage of decoded picture into DPB.
16338	  Factor out process by which the decoded picture with the lowest POC
16339	  is found, and possibly output. Likewise, the storage and marking of
16340	  a reference decoded, or non-reference decoded picture, into the DPB
16341	  could also be simplified as they mostly share the same operations.
16342
163432014-05-02 22:40:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16344
16345	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16346	  decoder: h264: minor clean-ups.
16347	  Make init_picture_ref_lists() more consistent with other functions
16348	  related to the reference marking process by supplying the current
16349	  picture as argument.
16350
163512014-05-20 11:36:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16352
16353	* gst-libs/gst/vaapi/gstvaapidisplay.c:
16354	* gst-libs/gst/vaapi/gstvaapidisplay.h:
16355	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
16356	  display: add utility function to query VA driver name.
16357	  Add gst_vaapi_display_get_vendor_string() helper function to query
16358	  the underlying VA driver name. The display object owns the resulting
16359	  string, so it shall not be deallocated.
16360	  That function is thread-safe. It could be used for debugging purposes,
16361	  for instance.
16362
163632014-03-07 14:50:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16364
16365	* gst-libs/gst/vaapi/gstvaapidisplay.c:
16366	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
16367	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
16368	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
16369	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
16370	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
16371	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
16372	  display: make cache maintenance really MT-safe.
16373	  Make sure to initialize one GstVaapiDisplay at a time, even in threaded
16374	  environments. This makes sure the display cache is also consistent
16375	  during the whole display creation process. In the former implementation,
16376	  there were risks that display cache got updated in another thread.
16377
163782014-05-03 15:56:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16379
16380	* gst-libs/gst/vaapi/gstvaapicontext.c:
16381	  context: allow dynamic growth of VA surfaces pool.
16382	  Add support for dynamic growth of the VA surfaces pool. For decoding,
16383	  this implies the recreation of the underlying VA context, as per the
16384	  requirement from VA-API. Besides, only increases are supported, not
16385	  shrinks.
16386
163872014-05-03 15:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16388
16389	* gst-libs/gst/vaapi/gstvaapicontext.c:
16390	  context: reset VA context if VA surfaces set changed.
16391	  It is a requirement from VA-API specification that the VA context got
16392	  from vaCreateContext(), for decoding purposes, binds the supplied set
16393	  of VA surfaces. This means that if the set of VA surfaces is to be
16394	  changed for the current decode session, then the VA context needs to
16395	  be recreated with the new set of VA surfaces.
16396
163972014-05-12 19:23:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16398
16399	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16400	  decoder: h264: fix assignment of LongTermFrameIdx.
16401	  Complement fix committed as e95a42e.
16402	  The H.264 AVC standard has to say: if the field is part of a reference
16403	  frame or a complementary reference field pair, and the other field of
16404	  the same reference frame or complementary reference field pair is also
16405	  marked as "used for long-term reference", the reference frame or
16406	  complementary reference field pair is also marked as "used for long-term
16407	  reference" and assigned LongTermFrameIdx equal to long_term_frame_idx.
16408	  This fixes decoding of MR9_BT_B in strict mode.
16409	  https://bugs.freedesktop.org/show_bug.cgi?id=64624
16410	  https://bugzilla.gnome.org/show_bug.cgi?id=724518
16411
164122014-05-10 06:23:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16413
16414	* gst-libs/gst/vaapi/gstvaapicontext.c:
16415	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16416	* gst-libs/gst/vaapi/gstvaapiutils.c:
16417	* gst-libs/gst/vaapi/gstvaapiutils.h:
16418	  decoder: h264: properly support grayscale formats.
16419	  Request the correct chroma format for decoding grayscale streams.
16420	  i.e. make lookups of the VA chroma format more generic, thus possibly
16421	  supporting more formats in the future.
16422	  This means that, if a VA driver doesn't support grayscale formats,
16423	  it is now going to fail. We cannot safely assume that maybe grayscale
16424	  was implemented on top of some YUV 4:2:0 with the chroma components
16425	  all set to 0x80.
16426
164272014-02-06 11:14:09 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
16428
16429	* gst-libs/gst/vaapi/gstvaapifilter.c:
16430	* gst-libs/gst/vaapi/gstvaapifilter.h:
16431	* tests/test-filter.c:
16432	  build: fix source file modes.
16433	  A few source files are marked executable in error - fix them
16434	  https://bugzilla.gnome.org/show_bug.cgi?id=723748
16435	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
16436
164372014-04-29 13:22:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16438
16439	* configure.ac:
16440	* gst-libs/gst/vaapi/Makefile.am:
16441	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16442	* gst/vaapi/gstvaapidecode.c:
16443	  build: fix conditional compilation of VP8 decoder.
16444	  https://bugzilla.gnome.org/show_bug.cgi?id=729170
16445	  [added check for VASliceParameterBufferBase fields]
16446	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16447
164482014-04-27 08:55:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16449
16450	* gst-libs/gst/codecparsers/Makefile.am:
16451	  build: fix make dist for codecparsers.
16452
164532014-04-28 09:42:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16454
16455	* ext/codecparsers:
16456	  codecparsers: update to gst-vaapi-branch commit eaa3f7e.
16457	  h264: fix parsing of slice groups for map type = 2
16458
164592014-04-26 22:35:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16460
16461	* ext/codecparsers:
16462	  codecparsers: update to gst-vaapi branch commit f44edfc.
16463	  h264: fix derivation of default scaling lists
16464
164652013-05-24 19:00:54 +0800  Cong Zhong <congx.zhong@intel.com>
16466
16467	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16468	  decoder: h264: fix long-term reference picture marking process.
16469	  Fix reference picture marking process with memory_management_control_op
16470	  set to 3 and 6, i.e. assign LongTermFrameIdx to a short-term reference
16471	  picture, or the current picture.
16472	  This fixes decoding of FRExt_MMCO4_Sony_B.
16473	  https://bugs.freedesktop.org/show_bug.cgi?id=64624
16474	  https://bugzilla.gnome.org/show_bug.cgi?id=724518
16475	  [squashed, edited to use GST_VAAPI_PICTURE_IS_COMPLETE() macro]
16476	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16477
164782014-04-26 20:21:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16479
16480	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16481	  decoder: h264: fix initialization of RefPicLists for multiple slices.
16482	  The initialization of reference picture lists (8.2.4.2) applies to all
16483	  slices. So, the RefPicList0/1 lists need to be constructed prior to
16484	  each slice submission to the HW decoder.
16485	  This fixes decoding of video sequences where frames are encoded with
16486	  multiple slices of different types, e.g. 4 slices in this order I, P,
16487	  I, and P. More precisely, CABAST3_Sony_E and CABASTBR3_Sony_B.
16488	  https://bugzilla.gnome.org/show_bug.cgi?id=724518
16489
164902013-06-04 15:01:46 +0800  Zhong Cong <congx.zhong@intel.com>
16491
16492	* ext/codecparsers:
16493	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16494	  decoder: h264: skip SPS extension and auxiliary slice NALs.
16495	  When NAL units of type 13 (SPS extension) or type 19 (auxiliary slice)
16496	  are present in a video, decoders shall perform the (optional) decoding
16497	  process specified for these NAL units or shall ignore them (7.4.1).
16498	  Implement option 2 (skip) for now, as alpha composition is not
16499	  supported yet during the decoding process.
16500	  This fixes decoding of the primary coded video in alphaconformanceG.
16501	  https://bugzilla.gnome.org/show_bug.cgi?id=703928
16502	  https://bugzilla.gnome.org/show_bug.cgi?id=728869
16503	  https://bugzilla.gnome.org/show_bug.cgi?id=724518
16504	  [skip NAL units earlier, i.e. at parsing time]
16505	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16506
165072013-03-07 11:32:20 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
16508
16509	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16510	  decoder: h264: fix slice data bit offset with MVC NAL units.
16511	  When MVC slice NAL units (coded slice extension and prefix NAL) are
16512	  present, the number of NAL header bytes is 3, not 1 as usual.
16513	  Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
16514	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16515
165162014-04-25 19:11:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16517
16518	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16519	  decoder: h264: fix activation of picture and sequence parameters.
16520	  At the time the first VCL NAL unit of a primary coded picture is found,
16521	  and if that NAL unit was parsed to be an SPS or PPS, then the entries
16522	  in the parser may have been overriden. This means that, when the picture
16523	  is to be decoded, slice_hdr->pps could point to an invalid (the next)
16524	  PPS entry.
16525	  So, one way to solve this problem is to not use the parser PPS and
16526	  SPS info but rather maintain our own activation chain in the decoder.
16527	  https://bugzilla.gnome.org/show_bug.cgi?id=724519
16528	  https://bugzilla.gnome.org/show_bug.cgi?id=724518
16529
165302014-04-25 16:24:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16531
16532	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16533	  decoder: h264: retain SEI messages until the end of frame.
16534	  Retain the SEI messages that were parsed from the access unit until we
16535	  have completely decoded the current frame. This is done so that we can
16536	  peek at that data whenever necessary during decoding. e.g. for exposing
16537	  3D stereoscopic information at a later stage.
16538
165392014-04-25 14:23:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16540
16541	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16542	  decoder: h264: add support for grayscale encoded clips.
16543	  Fix support for grayscale encoded video clips, and possibly others if
16544	  the underlying driver supports the non-YUV 4:2:0 formats. i.e. defer
16545	  the decision that a surface with the desired chroma format is not
16546	  supported to the actual VA driver implementation.
16547	  https://bugzilla.gnome.org/show_bug.cgi?id=728144
16548
165492014-04-25 14:16:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16550
16551	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16552	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
16553	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
16554	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
16555	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
16556	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16557	  decoder: default to YUV 4:2:0 VA surfaces.
16558	  Cope with context changes to support non-YUV 4:2:0 VA surfaces. Still,
16559	  make sure all codecs use YUV 4:2:0 output format for now, by default.
16560
165612014-04-25 13:57:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16562
16563	* gst-libs/gst/vaapi/gstvaapidecoder.c:
16564	* gst-libs/gst/vaapi/gstvaapidecoder.h:
16565	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
16566	  decoder: re-indent GstVaapiDecoder base object.
16567
165682014-04-25 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16569
16570	* gst-libs/gst/vaapi/gstvaapiencoder.c:
16571	  encoder: derive chroma type from video format.
16572	  Cope with previous VA context change to derive the correct surface chroma
16573	  type from the input video format.
16574
165752014-04-25 13:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16576
16577	* gst-libs/gst/vaapi/gstvaapicontext.c:
16578	* gst-libs/gst/vaapi/gstvaapicontext.h:
16579	  context: add support for non-YUV 4:2:0 formats.
16580	  Don't force allocation of VA surfaces in YUV 4:2:0 format. Rather, allow
16581	  for the upper layer to specify the desired chroma type. If the chroma
16582	  type field is not set (or yields zero), then YUV 4:2:0 format is used
16583	  by default.
16584
165852014-04-22 19:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16586
16587	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16588	  vp8: fix per-segment deblocking filter level in relative mode.
16589	  Fix possible bug when a per-segment deblocking filter level value
16590	  needs to be set in non-absolute mode, i.e. when the loop filter update
16591	  value is negative in delta mode.
16592	  Also clamp the resulting filter level value to 0..63 range.
16593
165942014-04-22 17:25:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16595
16596	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16597	  vp8: fix check for disabling the loop filter (again).
16598	  Improve condition to disable the loop filter. The previous heuristic
16599	  used to check all filter levels, for all segments. It turns out that
16600	  only the base filter_level value defined in the frame header needs
16601	  to be checked.
16602	  This fixes 00-comprehensive-013.
16603
166042014-04-21 18:02:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16605
16606	* gst-libs/gst/codecparsers/Makefile.am:
16607	* gst/vaapi/Makefile.am:
16608	  build: fix make dist with certain conditionals not met.
16609	  Fix generation of source tarballs when certain conditionals are not
16610	  met. e.g. always include all buildable codecparsers sources in the
16611	  distribution tarball, fix plug-in element sources set to include X11
16612	  and encoder bits.
16613
166142014-04-21 17:34:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16615
16616	* ext/Makefile.am:
16617	  build: add missing files for GStreamer 0.10.
16618	  Add missing GstVideoEncoder implementation files to fix build with ancient
16619	  GStreamer 0.10 stack.
16620	  https://bugzilla.gnome.org/show_bug.cgi?id=723964
16621
166222014-04-19 10:17:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16623
16624	* ext/Makefile.am:
16625	  build: add missing files for VP8 bitstream parser.
16626	  Fix make dist for building the VP8 bitstream parser.
16627
166282014-04-21 17:49:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16629
16630	* configure.ac:
16631	* ext/libvpx/Makefile.am:
16632	* gst-libs/gst/codecparsers/Makefile.am:
16633	  vp8: allow compilation without the built-in libvpx.
16634	  The built-in libvpx serves multiple purposes, among which the most
16635	  important ones could be: track the most up-to-date, and optimized,
16636	  range decoder; allow for future hybrid implementations (non-VLD);
16637	  and have a completely independent range decoder implementation.
16638
166392014-04-21 17:28:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16640
16641	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16642	  vp8: propagate PTS from demux frame.
16643	  gst_adapter_prev_pts() is forbidden within libgstvaapi. Besides, the demuxer
16644	  or parser would already have determined the PTS from a previous stage.
16645
166462014-04-19 07:49:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16647
16648	* Makefile.am:
16649	* debian.upstream/libgstvaapi.install.in:
16650	* ext/libvpx/Makefile.am:
16651	* ext/libvpx/sources.frag:
16652	* gst-libs/gst/codecparsers/Makefile.am:
16653	  vp8: fix compilation with built-in libvpx.
16654	  Apply correct patch from fd.o #722760 to fix several issues: update the
16655	  license terms to LGPLv2.1+, fix dependencies to built-in libvpx and fix
16656	  make dist.
16657
166582014-02-13 21:17:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16659
16660	* .gitmodules:
16661	* autogen.sh:
16662	* configure.ac:
16663	* ext/Makefile.am:
16664	* ext/libvpx/Makefile.am:
16665	* ext/libvpx/gstlibvpx.c:
16666	* ext/libvpx/gstlibvpx.h:
16667	* ext/libvpx/libgstcodecparsers_vpx.vers:
16668	* ext/libvpx/sources.frag:
16669	* ext/libvpx/upstream:
16670	* gst-libs/gst/codecparsers/Makefile.am:
16671	* gst-libs/gst/codecparsers/gstvaapilibvpx.c:
16672	  vp8: use range decoder from libvpx.
16673	  Add libvpx submodule that tracks the upstream version 1.3.0. This is
16674	  needed to build a libgstcodecparsers_vpx.so library with all symbols
16675	  placed into the GSTREAMER namespace.
16676
166772014-04-04 19:17:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16678
16679	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16680	  vp8: fix check for disabling the loop filter.
16681
166822013-12-27 07:18:24 +0800  Zhao, Halley <halley.zhao@intel.com>
16683
16684	* configure.ac:
16685	* ext/Makefile.am:
16686	* gst-libs/gst/codecparsers/Makefile.am:
16687	* gst-libs/gst/vaapi/Makefile.am:
16688	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
16689	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
16690	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
16691	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
16692	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16693	* gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
16694	* gst-libs/gst/vaapi/gstvaapiprofile.c:
16695	* gst-libs/gst/vaapi/gstvaapiprofile.h:
16696	* gst/vaapi/gstvaapidecode.c:
16697	  Add initial VP8 decoder.
16698	  https://bugzilla.gnome.org/show_bug.cgi?id=722761
16699	  [complete overhaul, fixed support for resolution changes]
16700	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16701
167022014-03-21 15:15:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16703
16704	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16705	  decoder: h264: cope with new gst_h264_parser_parse_sei() interface.
16706	  The gst_h264_parse_parse_sei() function now returns an array of SEI
16707	  messages, instead of a single SEI message. Reason: it is allowed to
16708	  have several SEI messages packed into a single SEI NAL unit, instead
16709	  of multiple NAL units.
16710
167112014-04-18 19:36:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16712
16713	* ext/codecparsers:
16714	  codecparsers: update to gst-vaapi-branch commit a454f86.
16715	  b2eb5f6 vp8: rename dboolhuff symbols
16716	  b74a881 vp8: add GStreamer native utilities
16717	  2940ac6 add VP8 bitstream parser
16718
167192014-04-18 19:16:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16720
16721	* ext/codecparsers:
16722	  codecparsers: update to gst-vaapi-branch commit d459bc5.
16723	  d459bc5 h264: set framerate even for interlaced videos
16724	  c78b82c h264: add support for Recovery Point SEI message
16725	  7693bac h264: add support for Frame Packing Arrangement SEI message
16726	  31fafa7 h264: add support for Stereo Video Information SEI message
16727	  8b113a6 h264: parse seq_parameter_set_mvc_extension()
16728	  040f9b8 h264: parse MVC syntax elements
16729	  cc18ef3 h264: add nal_reader_skip_long() helper
16730	  7e76a48 h264: fix slice_header() parsing for MVC
16731	  caf46d8 h264: add gst_h264_parse_nalu_header() helper
16732	  f75074e h264: add gst_h264_parse_sps_data() helper
16733	  798c397 h264: clean-up gst_h264_parser_parse_sei_message()
16734	  4e36737 h264: fix skipping of unsupported SEI messages
16735	  5300766 h264: fix SEI buffering_period() parsing
16736
167372014-03-21 15:09:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16738
16739	* ext/codecparsers:
16740	* gst-libs/gst/codecparsers/Makefile.am:
16741	  codecparsers: update to gst-vaapi-branch commit 8fadf40.
16742	  8fadf40 h264: Fix multiple SEI messages in one SEI RBSP parsing.
16743	  644825f h265: remove trailling 0x00 bytes as the spec doesn't allow them
16744	  95f9f0f h264: remove trailling 0x00 bytes as the spec doesn't allow them
16745	  766007b h265: Initialize pointer correctly that is never assigned but freed in error cases
16746	  8ec5816 h265: Fix segfault when parsing HRD parameter
16747	  5b1730f h265: Fix segfault when parsing VPS
16748	  983b7f7 h265: prevent to overrun chroma_weight_l0_flag
16749	  7ba641d h265: Fix debug output
16750	  d9f9f9b h264: not all startcodes should have 3-byte 0 prefix
16751
167522014-02-04 18:35:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16753
16754	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16755	  decoder: h264: fix robustness patch for bytestream format.
16756	  Fix parser and decoder state to sync at the right locations. This is
16757	  because we could reset the parser state, while the decoder state was
16758	  not copied yet, e.g. when parsing several NAL units from multiple frames
16759	  whereas the current frame was not decoded yet.
16760	  This is a regression brought in by commit 6fe5496.
16761
167622014-02-18 06:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16763
16764	* configure.ac:
16765	* pkgconfig/Makefile.am:
16766	* pkgconfig/gstreamer-vaapi-drm.pc.in:
16767	* pkgconfig/gstreamer-vaapi-glx.pc.in:
16768	* pkgconfig/gstreamer-vaapi-wayland.pc.in:
16769	* pkgconfig/gstreamer-vaapi-x11.pc.in:
16770	  build: fix pkgconfig file names (again).
16771	  It turns out it is more convenient to have only pkgconfig files named
16772	  after the installed GStreamer API version (1.0) instead of using all
16773	  possible subsequent names from that (1.0, 1.2, 1.4). i.e. they conflict
16774	  altogether anyway, so align pkgconfig file names to that.
16775
167762014-02-07 09:43:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16777
16778	* debian.upstream/libgstvaapi-dev.install.in:
16779	* gst-libs/gst/vaapi/Makefile.am:
16780	* pkgconfig/gstreamer-vaapi.pc.in:
16781	  build: fix packaging for GStreamer 1.2.
16782	  Fix gstreamer-vaapi includedir for GStreamer 1.2 setups. i.e. use
16783	  the pkgconfig version (1.0) instead of the intended API version (1.2).
16784	  libgstvaapi1.0-dev and libgstvaapi1.2-dev packages will now conflict,
16785	  as would core GStreamer 1.0 and GStreamer 1.2 dev packages anyway.
16786
167872014-01-24 11:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16788
16789	* configure.ac:
16790	  Bump version for development.
16791
167922014-01-24 10:55:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16793
16794	* debian.upstream/control.in:
16795	  debian: fix trailing whitespace in description.
16796
167972014-01-23 23:24:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16798
16799	* debian.upstream/control.in:
16800	* debian.upstream/copyright:
16801	  debian: fix package description.
16802	  Try to improve package description for the compiled plug-in elements
16803	  available in there. e.g. only display vaapidownload and vaapiupload
16804	  for GStreamer 0.10 builds, display vaapiencode_* elements when VA
16805	  encoding is enabled, etc.
16806	  Also increase the copyright notice date.
16807
168082014-01-23 22:47:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16809
16810	* gst-libs/gst/vaapi/gstvaapidecoder.c:
16811	  build: fix warnings on 64-bit platforms.
16812
168132014-01-23 22:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16814
16815	* gst-libs/gst/vaapi/gstvaapicontext.c:
16816	* gst-libs/gst/vaapi/gstvaapiutils.c:
16817	  build: fix for older versions of VA-API (< 0.34.0).
16818	  Fix build with older versions of VA-API (< 0.34.0), or versions without
16819	  good enough headers for encoding support for instance.
16820
168212014-01-23 19:36:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16822
16823	* NEWS:
16824	* configure.ac:
16825	  0.5.8.
16826
168272014-01-23 19:32:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16828
16829	* README:
16830	  README: updates.
16831	  VA-API up to 0.34.0 is actually supported. Mention new video encoding
16832	  support. Update copyright years, list of supported Intel HD Graphics
16833	  hardware.
16834
168352014-01-23 19:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16836
16837	* NEWS:
16838	  NEWS: updates.
16839
168402014-01-20 14:16:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16841
16842	* tests/test-filter.c:
16843	  tests: test-filter: fix "deinterlace" option parse.
16844	  Default to GST_VAAPI_DEINTERLACE_METHOD_NONE if no "deinterlace" option
16845	  string was provided, i.e. if it remained set to NULL.
16846
168472014-01-23 18:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16848
16849	* gst-libs/gst/vaapi/Makefile.am:
16850	* gst-libs/gst/vaapi/gstvaapicontext.c:
16851	* gst-libs/gst/vaapi/gstvaapicontext.h:
16852	* gst-libs/gst/vaapi/gstvaapiencoder.c:
16853	* gst-libs/gst/vaapi/gstvaapiutils_core.c:
16854	* gst-libs/gst/vaapi/gstvaapiutils_core.h:
16855	  libs: factor out usages of vaGetConfigAttributes().
16856	  Add gst_vaapi_get_config_attribute() helper function that takes a
16857	  GstVaapiDisplay and the rest of the arguments with VA types. The aim
16858	  is to have thread-safe VA helpers by default.
16859
168602014-01-23 17:41:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16861
16862	* gst-libs/gst/vaapi/gstvaapiutils.c:
16863	* gst-libs/gst/vaapi/gstvaapiutils.h:
16864	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
16865	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
16866	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16867	* gst-libs/gst/vaapi/gstvaapiutils_h264.h:
16868	* gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
16869	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
16870	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
16871	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
16872	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
16873	  libs: re-indent all source code related to VA utilities.
16874
168752014-01-23 17:06:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16876
16877	* gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
16878	  libs: add missing file (libgstvaapi_priv_check.h).
16879
168802014-01-23 15:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16881
16882	* gst-libs/gst/vaapi/gstvaapicontext.c:
16883	* gst-libs/gst/vaapi/gstvaapicontext.h:
16884	* gst-libs/gst/vaapi/gstvaapiencoder.c:
16885	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16886	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16887	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16888	  encoder: notify the encoder of the submitted packed headers.
16889	  Make sure to configure the encoder with the set of packed headers we
16890	  intend to generate and submit. i.e. make selection of packed headers
16891	  to submit more robust.
16892
168932014-01-23 15:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16894
16895	* gst-libs/gst/vaapi/gstvaapiencoder.c:
16896	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16897	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16898	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16899	  encoder: fix and factor out check for supported rate-control modes.
16900	  Cache the first compatible GstVaapiProfile found if the encoder is not
16901	  configured yet. Next, factor out the code to check for the supported
16902	  rate-control modes by moving out vaGetConfigAttributes() to a separate
16903	  function, while also making sure that the attribute type is actually
16904	  supported by the encoder.
16905	  Also fix the default set of supported rate control modes to not the
16906	  "none" variant. It's totally useless to expose it at this point.
16907
169082014-01-23 14:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16909
16910	* gst-libs/gst/vaapi/gstvaapicontext.c:
16911	* gst-libs/gst/vaapi/gstvaapicontext.h:
16912	* gst-libs/gst/vaapi/gstvaapiencoder.c:
16913	  context: move rate-control mode to encoder specific config.
16914	  Move usage-specific config out of the common GstVaapiContextInfo.
16915	  Create a specialized config for encoding and move rate-control mode
16916	  to there.
16917
169182014-01-23 13:30:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16919
16920	* gst-libs/gst/vaapi/gstvaapicontext.c:
16921	* gst-libs/gst/vaapi/gstvaapicontext.h:
16922	* gst-libs/gst/vaapi/gstvaapidecoder.c:
16923	* gst-libs/gst/vaapi/gstvaapiencoder.c:
16924	  context: introduce concept of usage.
16925	  Introduce GstVaapiContextUsage so that to explicitly determine the
16926	  usage of a VA context. This is useful in view to simplifying the
16927	  creation of VA context for VPP too.
16928
169292014-01-23 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16930
16931	* gst-libs/gst/vaapi/gstvaapicontext.c:
16932	  context: fix get_attribute() value result.
16933	  Unknown attributes, or attributes that are not supported for the given
16934	  profile/entrypoint pair have a return value of VA_ATTRIB_NOT_SUPPORTED.
16935	  So, return failure in this case.
16936
169372014-01-23 10:59:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16938
16939	* gst-libs/gst/vaapi/Makefile.am:
16940	* gst-libs/gst/vaapi/gstvaapicontext.c:
16941	* gst-libs/gst/vaapi/gstvaapicontext.h:
16942	* gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
16943	* gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
16944	* gst-libs/gst/vaapi/gstvaapisurface.c:
16945	  context: move overlay composition to separate files.
16946	  Move GstVideoOverlayComposition handling to separate source files.
16947	  This helps keeing GstVaapiContext core implementation to the bare
16948	  minimal, i.e. simpy helpers to create a VA context and handle pool
16949	  of associated VA surfaces.
16950
169512014-01-23 09:41:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16952
16953	* gst-libs/gst/vaapi/gstvaapicontext.c:
16954	* gst-libs/gst/vaapi/gstvaapicontext.h:
16955	* gst-libs/gst/vaapi/gstvaapidecoder.c:
16956	* gst-libs/gst/vaapi/gstvaapiencoder.c:
16957	  context: clean-ups. Strip down APIs.
16958	  Improve documentation and debug messages. Clean-up APIs, i.e. strip
16959	  them down to the minimal set of interfaces. They are private, so no
16960	  need expose getters for instance.
16961
169622014-01-23 09:27:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16963
16964	* gst-libs/gst/vaapi/gstvaapicontext.c:
16965	* gst-libs/gst/vaapi/gstvaapicontext.h:
16966	  context: re-indent all GstVaapiContext related source code.
16967
169682014-01-23 10:20:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16969
16970	* gst-libs/gst/vaapi/Makefile.am:
16971	* gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
16972	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
16973	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
16974	* gst-libs/gst/vaapi/gstvaapiminiobject.h:
16975	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
16976	* gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
16977	* gst-libs/gst/vaapi/gstvaapiutils.h:
16978	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
16979	* gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
16980	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
16981	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
16982	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
16983	  libs: check that private headers remain private.
16984	  Make sure that libgstvaapi private headers remain internally used to
16985	  build libgstvaapi libraries only. All header dependencies were reviewed
16986	  and checks for IN_LIBGSTVAAPI definition were added accordingly.
16987	  Also rename GST_VAAPI_CORE definition to IN_LIBGSTVAAPI_CORE to keep
16988	  consistency.
16989
169902014-01-22 19:04:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16991
16992	* configure.ac:
16993	  Bump library major version.
16994	  Bump the library major version due to API/ABI changes that occurred in
16995	  the imaging API. In particular, GstVaapiDisplay interfaces no longer
16996	  expose any GstCaps but provide GArray based ones e.g. to determine the
16997	  set of supported decode/encode profiles.
16998
169992014-01-22 18:54:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17000
17001	* gst-libs/gst/vaapi/glibcompat.h:
17002	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
17003	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
17004	* gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
17005	* gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
17006	* gst-libs/gst/vaapi/gstvaapicontext.c:
17007	* gst-libs/gst/vaapi/gstvaapicontext.h:
17008	* gst-libs/gst/vaapi/gstvaapidecoder.c:
17009	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17010	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17011	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17012	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
17013	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17014	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17015	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17016	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17017	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17018	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
17019	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17020	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17021	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
17022	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17023	* gst-libs/gst/vaapi/gstvaapifilter.c:
17024	* gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
17025	* gst-libs/gst/vaapi/gstvaapisurface.c:
17026	* gst-libs/gst/vaapi/gstvaapisurface.h:
17027	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
17028	* gst-libs/gst/vaapi/gstvaapitypes.h:
17029	* gst-libs/gst/vaapi/gstvaapiutils.c:
17030	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
17031	* gst-libs/gst/vaapi/gstvaapiutils_h264.h:
17032	* gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
17033	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
17034	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
17035	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
17036	* gst-libs/gst/vaapi/gstvaapivalue.c:
17037	* gst-libs/gst/vaapi/gstvaapivalue.h:
17038	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
17039	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
17040	* gst/vaapi/gstvaapidecode.c:
17041	* gst/vaapi/gstvaapiencode.c:
17042	* gst/vaapi/gstvaapiencode.h:
17043	* gst/vaapi/gstvaapiencode_h264.c:
17044	* gst/vaapi/gstvaapiencode_h264.h:
17045	* gst/vaapi/gstvaapiencode_mpeg2.c:
17046	* gst/vaapi/gstvaapiencode_mpeg2.h:
17047	* gst/vaapi/gstvaapipluginbase.c:
17048	* gst/vaapi/gstvaapipluginutil.c:
17049	* gst/vaapi/gstvaapipluginutil.h:
17050	* gst/vaapi/gstvaapipostproc.c:
17051	* gst/vaapi/gstvaapipostproc.h:
17052	* gst/vaapi/gstvaapisink.c:
17053	* gst/vaapi/gstvaapisink.h:
17054	* gst/vaapi/gstvaapivideometa_texture.c:
17055	* tests/simple-decoder.c:
17056	  legal: update copyright notice dates.
17057
170582014-01-22 18:49:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17059
17060	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17061	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17062	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17063	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17064	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17065	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
17066	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17067	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17068	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
17069	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17070	* gst/vaapi/gstvaapiencode.c:
17071	* gst/vaapi/gstvaapiencode.h:
17072	* gst/vaapi/gstvaapiencode_h264.c:
17073	* gst/vaapi/gstvaapiencode_h264.h:
17074	* gst/vaapi/gstvaapiencode_mpeg2.c:
17075	* gst/vaapi/gstvaapiencode_mpeg2.h:
17076	  legal: add per-file authorship information.
17077
170782014-01-22 18:11:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17079
17080	* gst-libs/gst/vaapi/gstvaapidecoder.c:
17081	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
17082	  decoder: fix video codec frame number in standalone mode.
17083	  Set a valid GstVideoCodecFrame.system_frame_number when decoding a
17084	  stream in standalone mode. While we are at it, improve the debugging
17085	  messages to also include that frame number.
17086
170872014-01-17 16:56:53 +0800  Wind Yuan <feng.yuan@intel.com>
17088
17089	* gst-libs/gst/vaapi/gstvaapidecoder.c:
17090	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
17091	  decoder: fix crash on invalid pointer for GST_DEBUG().
17092	  When decoding failed, or that the frame was dropped, the associated
17093	  surface proxy is not guaranteed to be present. Thus, the GST_DEBUG()
17094	  message needs to check whether the proxy is actually present or not.
17095	  https://bugzilla.gnome.org/show_bug.cgi?id=722403
17096	  [fixed gst_vaapi_surface_proxy_get_surface_id() to return VA_INVALID_ID]
17097	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17098
170992014-01-22 17:07:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17100
17101	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17102	  encoder: h264: disable NAL HRD parameters for now.
17103	  Don't emit NAL HRD parameters for now in the SPS headers because the
17104	  SEI buffering_period() and picture_timing() messages are not handled
17105	  yet. Some additional changes are necessary to get it right.
17106	  https://bugzilla.gnome.org/show_bug.cgi?id=722734
17107
171082014-01-21 19:04:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17109
17110	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17111	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17112	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
17113	* gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
17114	  encoder: h264: fix default CPB buffer size.
17115	  Fix default CPB buffer size to something more reasonable (1500 ms)
17116	  and that still fits the level limits. This is a non configurable
17117	  property for now. The initial CPB removal delay is also fixed to
17118	  750 ms.
17119	  https://bugzilla.gnome.org/show_bug.cgi?id=722087
17120
171212014-01-22 14:43:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17122
17123	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17124	  encoder: h264: fix bitrate encoding for HRD conformance.
17125	  Round down the calculated, or supplied, bitrate (kbps) into a multiple
17126	  of the HRD bitrate scale factor. Use a bitrate scale factor of 64 so
17127	  that to have less losses in precision. Likewise, don't round up because
17128	  that could be a strict constraint imposed by the user.
17129
171302014-01-22 11:25:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17131
17132	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17133	  encoder: h264: fix level lookup constraints wrt. bitrate.
17134	  Fix the level calculation involving bitrate limits. Since we are
17135	  targetting NAL HRD conformance, the check against MaxBR from the
17136	  Table A-1 limits shall involve cpbBrNalFactor depending on the
17137	  active profile.
17138
171392014-01-21 18:01:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17140
17141	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17142	  encoder: h264: submit sequence parameter only once.
17143	  Submit sequence parameter buffers only once, or when the bitstream
17144	  was reconfigured in a way that requires such. Always submit packed
17145	  sequence parameter buffers at I-frame period, if the VA driver needs
17146	  those.
17147	  https://bugzilla.gnome.org/show_bug.cgi?id=722737
17148
171492014-01-21 18:35:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17150
17151	* gst-libs/gst/vaapi/gstvaapicontext.c:
17152	* gst-libs/gst/vaapi/gstvaapicontext.h:
17153	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17154	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17155	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17156	  encoder: h264: only submit packed headers when required.
17157	  Make sure to submit the packed headers only if the underlying VA driver
17158	  requires those. Currently, only handle packed sequence and picture
17159	  headers.
17160	  https://bugzilla.gnome.org/show_bug.cgi?id=722737
17161
171622014-01-21 17:35:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17163
17164	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17165	  encoder: h264: fix ip_period value in sequence parameter.
17166	  The VAEncSequenceParameterBuffer.ip_period value reprents the distance
17167	  between the I-frame and the next P-frame. So, this also accounts for
17168	  any additional B-frame in the middle of it.
17169	  This fixes rate control heuristics for certain VA drivers.
17170	  https://bugzilla.gnome.org/show_bug.cgi?id=722735
17171
171722014-01-21 17:04:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17173
17174	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17175	  encoder: h264: fix level when bitrate is automatically computed.
17176	  Fix level characterisation when the bitrate is automatically computed
17177	  from the active coding tools. i.e. ensure the bitrate once the profile
17178	  is completely characterized but before the level calculation process.
17179
171802014-01-21 16:05:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17181
17182	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17183	  encoder: h264: clean-ups.
17184	  Document and rename a few functions here and there. Drop code that
17185	  caps num_bframes variable in reset_properties() since they shall
17186	  have been checked beforehand, during properties initialization.
17187
171882014-01-21 15:28:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17189
17190	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17191	  encoder: h264: clean-up bitwriter related utilities.
17192	  Clean-up GstBitWriter related utility functions and simplify notations.
17193	  While we are at it, also make bitstream writing more robust should an
17194	  overflow occur. We could later optimize for writing headers capped to
17195	  their maximum possible size by using the _unchecked() helper variants.
17196
171972014-01-21 15:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17198
17199	* gst-libs/gst/vaapi/Makefile.am:
17200	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17201	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17202	  encoder: h264: completely remove private headers.
17203	  Drop private header since it was originally used to expose internals
17204	  to the plugin element. The proper interface is now the properties API,
17205	  thus rendering private headers totally obsolete.
17206
172072014-01-15 15:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17208
17209	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17210	  encoder: h264: fix PPS header packing with profile < high.
17211	  Fix PPS header packing when profile is below High since 8x8 transform
17212	  mode and scaling lists are High Profile features.
17213
172142014-01-15 15:46:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17215
17216	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17217	  encoder: h264: always emit VUI parameters for framerate.
17218	  Always emit VUI parameters for timing_info, which includes framerate
17219	  information.
17220
172212014-01-15 15:10:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17222
17223	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17224	  encoder: h264: really fix frame cropping rectangle calculation.
17225	  Make frame cropping rectangle calculation future proof, i.e. exactly
17226	  follow the specification (7-18) to (7-21), and subsampling definitions
17227	  from Table 6-1.
17228	  https://bugzilla.gnome.org/show_bug.cgi?id=722089
17229	  https://bugzilla.gnome.org/show_bug.cgi?id=722238
17230
172312014-01-15 12:09:14 +0100  Holger Kaelberer <hk@getslash.de>
17232
17233	* gst/vaapi/gstvaapisink.c:
17234	* gst/vaapi/gstvaapisink.h:
17235	  vaapisink: set csc render flags from sinkpad caps.
17236	  This maps GstVideoColorimetry information in vaapisink's sinkpad caps
17237	  to GST_VAAPI_COLOR_STANDARD_* flags, if per-buffer information was not
17238	  available.
17239	  https://bugzilla.gnome.org/show_bug.cgi?id=722255
17240	  [factored out code, added SMPTE240M, handle per-buffer flags]
17241	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17242
172432012-03-28 15:05:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17244
17245	* gst-libs/gst/vaapi/gstvaapisurface.h:
17246	* gst-libs/gst/vaapi/gstvaapiutils.c:
17247	* gst/vaapi/gstvaapipostproc.c:
17248	  surface: rework render flags.
17249	  Pack render flags per category and provide more flags into the color
17250	  standard category. In particular, cover for SMPTE-240M.
17251
172522013-12-13 04:14:41 +0800  Zhao, Halley <halley.zhao@intel.com>
17253
17254	* gst-libs/gst/vaapi/gstvaapifilter.c:
17255	* gst/vaapi/gstvaapipostproc.c:
17256	* gst/vaapi/gstvaapipostproc.h:
17257	  vaapipostproc: add support for colorbalance filters.
17258	  Add support for hue, saturation, brightness and constrat adjustments.
17259	  Also fix cap info local copy to match the really expected cap subtype
17260	  of interest.
17261	  https://bugzilla.gnome.org/show_bug.cgi?id=720376
17262	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17263
172642013-12-12 08:38:12 +0800  Zhao, Halley <halley.zhao@intel.com>
17265
17266	* gst/vaapi/gstvaapipostproc.c:
17267	  vaapipostproc: fix support for "sharpen" filter.
17268	  Fix copy/paste error when submitting the "sharpen" value to the
17269	  GstVaapiFilter instance.
17270	  https://bugzilla.gnome.org/show_bug.cgi?id=720375
17271	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17272
172732013-12-20 12:05:42 +0000  Lionel Landwerlin <llandwerlin@gmail.com>
17274
17275	* configure.ac:
17276	* pkgconfig/gstreamer-vaapi-drm.pc.in:
17277	* pkgconfig/gstreamer-vaapi-glx.pc.in:
17278	* pkgconfig/gstreamer-vaapi-wayland.pc.in:
17279	* pkgconfig/gstreamer-vaapi-x11.pc.in:
17280	* pkgconfig/gstreamer-vaapi.pc.in:
17281	  pkgconfig: plugin dir should use PKG version not API version.
17282	  Fix the pluginsdir and includedir variables in the generated pkgconfig
17283	  (.pc) files. The location needs to be built with the PKG version in
17284	  mind instead of the API version.
17285	  While we are at it, also fix the PKG version for GStreamer >= 1.3.
17286	  https://bugzilla.gnome.org/show_bug.cgi?id=720820
17287	  [additional fixes for includedir and pkg requirements]
17288	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17289
172902014-01-15 10:05:45 +0100  Holger Kaelberer <hk@getslash.de>
17291
17292	* gst/vaapi/gstvaapisink.c:
17293	  vaapisink: fix display initialization in GstVideoOverlay implementation.
17294	  When gst_vaapisink_video_overlay_set_window_handle() is called early,
17295	  before the pipeline has been set to PLAYING, the display has not yet
17296	  been initialized and _PLUGIN_BASE_DISPLAY_TYPE() is not yet
17297	  up-to-date. For this reason the foreign XID is not attached.
17298	  Now _ensure_display() is called earlier.
17299	  https://bugzilla.gnome.org/show_bug.cgi?id=722244
17300	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17301
173022013-10-09 13:47:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17303
17304	* gst/vaapi/gstvaapisink.c:
17305	  vaapisink: expose the raw video formats in static caps template.
17306	  Expose all raw video formats in the static caps template since the
17307	  vaapisink is supporting raw data. We will get the exact set of formats
17308	  supported by the driver dynamically through the _get_caps() routine.
17309	  https://bugzilla.gnome.org/show_bug.cgi?id=703271
17310	  https://bugzilla.gnome.org/show_bug.cgi?id=720737
17311	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17312
173132013-12-11 18:08:26 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
17314
17315	* gst/vaapi/gstvaapidecode.c:
17316	  vaapidecode: query downstream caps features like GLTextureUploadMeta.
17317	  Fix vaapidecode to correctly report caps features downstream, when
17318	  a custom pipeline is built manually.
17319	  https://bugzilla.gnome.org/show_bug.cgi?id=719372
17320	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17321
173222013-12-17 15:27:10 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
17323
17324	* gst/vaapi/gstvaapidecode.c:
17325	  vaapidecode: add system memory caps to template caps.
17326	  Since vaapidecode provides buffer that can be mapped as regular memory,
17327	  those caps should be added to the template caps. That only applies to
17328	  GStreamer >= 1.2.
17329	  https://bugzilla.gnome.org/show_bug.cgi?id=720608
17330	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17331
173322013-12-17 10:26:03 +0800  Wind Yuan <feng.yuan@intel.com>
17333
17334	* gst/vaapi/gstvaapidecode.c:
17335	  vaapidecode: fix hang on SIGINT.
17336	  vaapidecode hangs when pipeline is stopped without any EOS, e.g. when
17337	  <Ctrl>+C is pressed, thus causing the srcpad task to keep running and
17338	  locked. This fixes a deadlock on state change from PAUSED to READY.
17339	  https://bugzilla.gnome.org/show_bug.cgi?id=720584
17340	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17341
173422013-12-17 04:23:42 -0500  Wind Yuan <feng.yuan@intel.com>
17343
17344	* gst/vaapi/gstvaapiencode.c:
17345	  vaapiencode: fix possible hang on SIGINT.
17346	  vaapiencode might hang when the pipeline is stopped without any EOS,
17347	  e.g. when <Ctrl>+C is pressed, thus causing the srcpad task to keep
17348	  running and locked. This fixes a possible deadlock on state change
17349	  from PAUSED to READY.
17350	  https://bugzilla.gnome.org/show_bug.cgi?id=720584
17351	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17352
173532014-01-14 16:33:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17354
17355	* gst/vaapi/gstvaapiencode.c:
17356	  vaapiencode: fix typo in error message.
17357	  Fix incomplete error message in gst_vaapiencode_push_frame().
17358
173592014-01-14 19:08:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17360
17361	* gst/vaapi/gstvaapipluginutil.c:
17362	* gst/vaapi/gstvaapipluginutil.h:
17363	  plugins: add helpers to create video caps with features.
17364	  Add gst_vaapi_video_format_new_template_caps_with_features() helper
17365	  function to add the supplied caps feature string on GStreamer >= 1.2.
17366	  Add gst_vaapi_find_preferred_caps_feature() helper function to discover
17367	  the "best" caps feature to use for the supplied pad. In practice, we
17368	  will always favor memory:VASurface first, then meta:GLTextureUploadMeta,
17369	  and finally the system memory caps.
17370	  https://bugzilla.gnome.org/show_bug.cgi?id=719372
17371
173722014-01-09 11:54:11 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
17373
17374	* gst/vaapi/gstvaapivideometa_texture.c:
17375	  plugins: don't apply overlay composition in GLTextureUpload function.
17376	  The GLTextureUpload function is not in charge of doing the overlay
17377	  composition if any.
17378	  https://bugzilla.gnome.org/show_bug.cgi?id=721859
17379	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17380
173812014-01-14 13:47:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17382
17383	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17384	  encoder: re-order submission of VA objects.
17385	  Change the submission order of VA objects so that to make that process
17386	  more logical. i.e. submit sequence parameter first, if any; next the
17387	  packed headers associated to sequece, picture or slices; and finally
17388	  the actual picture and associated slices.
17389
173902014-01-14 12:01:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17391
17392	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17393	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17394	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17395	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17396	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
17397	  encoder: clean-up objects.
17398	  Various clean-ups to improve consistency and readability: rename some
17399	  variables, drop unused macro definitions, drop initialization of vars
17400	  that are zero-initialized from the base class, drop un-necessary casts,
17401	  allocate GPtrArrays with a destroy function.
17402
174032014-01-13 13:41:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17404
17405	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17406	  encoder: h264: fix frame cropping rectangle calculation.
17407	  Fix frame cropping rectangle calculation to handle horizontal resolutions
17408	  that don't match a multiple of 16 pixels, but also the vertical resolution
17409	  that was incorrectly computed for progressive sequences too.
17410	  https://bugzilla.gnome.org/show_bug.cgi?id=722089
17411
174122014-01-13 11:49:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17413
17414	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17415	  encoder: h264: improve automatic bitrate calculation.
17416	  For non "Constant-QP" modes, we could provide more reasonable heuristics
17417	  for the target bitrate. In general, 48 bits per macroblock with all the
17418	  useful coding tools enable looks safe enough. Then, this rate is raised
17419	  by +10% to +15% for each coding tool that is disabled.
17420	  https://bugzilla.gnome.org/show_bug.cgi?id=719699
17421
174222014-01-13 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17423
17424	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17425	  encoder: h264: support "high-compression" tuning option.
17426	  Add support for "high-compression" tuning option. First, determine the
17427	  largest supported profile by the hardware. Next, check any target limit
17428	  set by the user. Then, enable each individual coding tool based on the
17429	  resulting profile_idc value to use.
17430	  https://bugzilla.gnome.org/show_bug.cgi?id=719696
17431
174322014-01-12 22:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17433
17434	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17435	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17436	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17437	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
17438	* gst-libs/gst/vaapi/gstvaapiutils_h264.h:
17439	* gst/vaapi/gstvaapiencode_h264.c:
17440	  encoder: h264: allow target decoder constraints.
17441	  Allow user to precise the largest profile to use for encoding due
17442	  to target decoder constraints. For instance, if CABAC entropy coding
17443	  mode is requested by "constrained-baseline" profile only is desired,
17444	  then an error is returned during codec configuration.
17445	  Also make sure that the suitable profile we derived actually matches
17446	  what the HW can cope with.
17447	  https://bugzilla.gnome.org/show_bug.cgi?id=719694
17448
174492014-01-12 22:14:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17450
17451	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17452	  encoder: h264: refine size of coded buffer.
17453	  Refine the heuristic to determine the maximum size of a coded buffer
17454	  to account for the exact number of slices. set_context_info() is the
17455	  last step during codec reconfiguration, no additional change is done
17456	  afterwards, so re-using the num_slices field here is fine.
17457	  https://bugzilla.gnome.org/show_bug.cgi?id=719953
17458
174592013-12-13 17:36:08 +0800  Wind Yuan <feng.yuan@intel.com>
17460
17461	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17462	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17463	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17464	  encoder: h264: expose more coding tools.
17465	  Add new H.264 coding tools to improve compression:
17466	  - "cabac": enable CABAC entropy coding (default: FALSE);
17467	  - "dct8x8": enable spatial transform 8x8 (default: FALSE).
17468	  https://bugzilla.gnome.org/show_bug.cgi?id=719693
17469	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17470
174712014-01-10 18:18:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17472
17473	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17474	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17475	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17476	  encoder: h264: derive profile and level from active coding tools.
17477	  Automatically derive the minimum profile and level to be used for
17478	  encoding, based on the activated coding tools. The encoder will
17479	  be trying to generate a bitstream that has the best chances to be
17480	  decoded on most platforms by default.
17481	  Also change the default profile to "constrained-baseline" so that
17482	  to ensure maximum compatibility when the stream is decoded.
17483	  https://bugzilla.gnome.org/show_bug.cgi?id=719691
17484
174852014-01-10 17:02:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17486
17487	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17488	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17489	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17490	  encoder: h264: fix hardware profile lookup.
17491	  Fix lookup for a suitable HW profile, as to be used by the underlying
17492	  hardware, based on heuristics that lead to characterize the SW profile,
17493	  i.e. the one used by the SW level encoding logic.
17494	  Also fix constraint_set0_flag (A.2.1) and constraint_set1_flag (A.2.2)
17495	  as they should respectively match the baseline and main profile.
17496	  https://bugzilla.gnome.org/show_bug.cgi?id=719827
17497
174982014-01-10 14:46:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17499
17500	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17501	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17502	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17503	  encoder: h264: support only the byte-stream format.
17504	  The libgstvaapi core encoders are meant to support raw bitstreams only.
17505	  Henceforth, we are always producing a stream in "byte-stream" format.
17506	  However, the "codec-data" buffer which holds SPS and PPS headers is
17507	  always available. The "lengthSizeMinusOne" field is always set to 3
17508	  so that in-place "byte-stream" format to "avc" format conversion could
17509	  be performed.
17510
175112014-01-10 14:05:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17512
17513	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17514	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17515	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17516	* gst/vaapi/gstvaapiencode_h264.c:
17517	  encoder: h264: clean-ups.
17518	  Various clean-ups to improve consistency and readability: rename some
17519	  variables, drop unused macro definitions, drop initialization of vars
17520	  that are zero-initialized from the base class, drop un-necessary casts.
17521
175222014-01-13 17:11:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17523
17524	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17525	  encoder: mpeg2: fix hardware profile lookup.
17526	  Fix lookup for a suitable HW profile, as to be used by the underlying
17527	  hardware, based on heuristics that lead to characterize the SW profile,
17528	  i.e. the one used by the SW level encoding logic.
17529
175302014-01-13 16:56:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17531
17532	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17533	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17534	  encoder: mpeg2: derive profile and level from active coding tools.
17535	  Automatically derive the minimum profile and level to be used for
17536	  encoding, based on the activated coding tools. Improve lookup for
17537	  the best suitable level with the new MPEG-2 helper functions.
17538	  Also change the default profile to "simple" so that to ensure maximum
17539	  compatibility when the stream is decoded.
17540	  https://bugzilla.gnome.org/show_bug.cgi?id=719703
17541
175422014-01-13 14:41:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17543
17544	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17545	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
17546	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17547	  encoder: mpeg2: clean-ups.
17548	  Various clean-ups to improve consistency and readability: drop unused
17549	  macro definitions, drop initialization of vars that are zero-initialized
17550	  from the base class, drop un-necessary casts.
17551
175522014-01-13 10:48:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17553
17554	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17555	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17556	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17557	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17558	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17559	  encoder: add tuning options API.
17560	  Add encoder "tune" option to override the default behaviour that is to
17561	  favor maximum decoder compatibility at the expense of lower compression
17562	  ratios.
17563	  Expected tuning options to be developed are:
17564	  - "high-compression": improve compression, target best-in-class decoders;
17565	  - "low-latency": tune for low-latency decoding;
17566	  - "low-power": tune for encoding in low power / resources conditions.
17567
175682014-01-12 23:17:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17569
17570	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17571	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17572	  encoder: fix bitrate units to match kbps.
17573	  Bitrate is expressed in kilobits per second (kbps). So, this exactly
17574	  means in multiple of 1000 bits, not 1024 bits.
17575	  https://bugzilla.gnome.org/show_bug.cgi?id=722086
17576
175772014-01-12 21:57:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17578
17579	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17580	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17581	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17582	  encoder: clean-ups.
17583	  Drop obsolete and unused macros. Add a few doc comments. Slightly
17584	  improve indentation of a few leftovers.
17585
175862014-01-12 18:52:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17587
17588	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17589	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17590	* gst-libs/gst/vaapi/gstvaapivalue.c:
17591	* gst-libs/gst/vaapi/gstvaapivalue.h:
17592	  encoder: filter out the supported set of rate-control properties.
17593	  Only expose the exact static set of supported rate-control properties
17594	  to the upper layer. For instance, if the GstVaapiEncoderXXX class does
17595	  only support CQP rate control, then only add it the the exposed enum
17596	  type.
17597	  Add helper macros and functions to build a GType for an enum subset.
17598
175992014-01-10 13:23:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17600
17601	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17602	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17603	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17604	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17605	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17606	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17607	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
17608	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17609	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17610	  encoder: add keyframe period API.
17611	  Add gst_vaapi_encoder_set_keyframe_period() interface to allow the
17612	  user control the maximum distance between two keyframes. This new
17613	  property can only be set prior to gst_vaapi_encoder_set_codec_state().
17614	  A value of zero for "keyframe-period" gets it re-evaluated to the
17615	  actual framerate during encoder reconfiguration.
17616
176172014-01-10 12:01:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17618
17619	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17620	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17621	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17622	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17623	  encoder: improve codec reconfiguration.
17624	  Improve codec reconfiguration to be performed only through a single
17625	  function. That is, remove the _set_context_info() hook as subclass
17626	  should not alter the parent GstVaapiContextInfo itself. Besides, the
17627	  VA context is constructed only at the final stages of reconfigure().
17628
176292014-01-10 11:30:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17630
17631	* gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
17632	* gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
17633	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17634	  encoder: fix possible memory leak of coded buffer pools.
17635	  Fix gst_vaapi_encoder_reconfigure_internal() to re-/allocate the coded
17636	  buffer pool only if the coded buffer size actually changed.
17637
176382014-01-10 10:54:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17639
17640	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17641	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17642	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17643	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17644	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17645	* gst/vaapi/gstvaapiencode.c:
17646	* gst/vaapi/gstvaapiencode.h:
17647	  encoder: add video codec-state API.
17648	  Add interface to communicate the encoder resolution and related info
17649	  like framerate, interlaced vs. progressive, etc. This new interface
17650	  supersedes gst_vaapi_encoder_set_format() and doesn't use any GstCaps
17651	  but rather use GstVideoCodecState.
17652	  Note that gst_vaapi_encoder_set_codec_state() is also a synchronization
17653	  point for codec config. This means that the encoder is reconfigured
17654	  there to match the latest properties.
17655
176562014-01-13 17:18:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17657
17658	* gst/vaapi/gstvaapiencode.c:
17659	  vaapiencode: don't crash on NULL encoder on _finish().
17660	  Don't try to destroy an encoder, in GstVideoEncoder::finish() handler,
17661	  if it was not created in the first place. Return "not-negotiated" error
17662	  since this means we did not even reach GstVideoEncoder::set_format(),
17663	  where the encoder could have been created.
17664	  This fixes a crash when the vaapiencode_* plug-in elements get deallocated
17665	  and that we failed to negotiate either pad.
17666	  https://bugzilla.gnome.org/show_bug.cgi?id=719704
17667
176682014-01-09 18:20:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17669
17670	* gst/vaapi/gstvaapiencode.c:
17671	* gst/vaapi/gstvaapiencode.h:
17672	* gst/vaapi/gstvaapiencode_h264.c:
17673	  vaapiencode: use more GstVaapiPluginBase facilities.
17674	  Avoid duplication of pad references or query functions since they are
17675	  provided through the GstVaapiPluginBase object.
17676
176772014-01-09 18:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17678
17679	* gst/vaapi/gstvaapiencode.c:
17680	* gst/vaapi/gstvaapiencode.h:
17681	* gst/vaapi/gstvaapiencode_h264.c:
17682	* gst/vaapi/gstvaapiencode_h264.h:
17683	* gst/vaapi/gstvaapiencode_mpeg2.c:
17684	  vaapiencode: fix negotiation process of output caps.
17685	  The specified caps in gst_video_encoder_set_output_state() function
17686	  arguments should not contain any resolution, pixel-aspect-ratio,
17687	  framerate, codec-data et al. Those rather should be set through the
17688	  returned GstVideoCodecState. This means that output caps creation
17689	  could be delayed until before gst_video_encoder_finish_frame() is
17690	  called.
17691	  This greatly simplifies the GstVideoEncoder::set_format() callback
17692	  by the way.
17693
176942014-01-08 18:56:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17695
17696	* gst/vaapi/gstvaapiencode.c:
17697	  vaapiencode: make GstVaapiEncode an abstract type.
17698	  Make base GstVaapiEncode class an abstract type so that we cannot
17699	  create an instance from it without going through any of the codec
17700	  specific derived class.
17701
177022014-01-09 10:09:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17703
17704	* gst/vaapi/gstvaapiencode.c:
17705	* gst/vaapi/gstvaapiencode.h:
17706	* gst/vaapi/gstvaapiencode_h264.c:
17707	* gst/vaapi/gstvaapiencode_mpeg2.c:
17708	  vaapiencode: rename a few member functions.
17709	  Rename a few member functions to make them more consistent:
17710	  - alloc_encoder(): now reduced to allocate the encoder object only;
17711	  - alloc_buffer(): allocate buffer from srcpad, and copy bitstream.
17712
177132014-01-08 18:36:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17714
17715	* gst/vaapi/gstvaapiencode.c:
17716	* gst/vaapi/gstvaapiencode.h:
17717	* gst/vaapi/gstvaapiencode_h264.c:
17718	* gst/vaapi/gstvaapiencode_h264.h:
17719	* gst/vaapi/gstvaapiencode_mpeg2.c:
17720	  vaapiencode: update for new properties API.
17721	  Update MPEG-2 and H.264 encode elements to cope with the new core
17722	  libgstvaapi properties API. i.e. all configurable properties are now
17723	  directly handled at the GstVaapiEncoder level.
17724	  Besides, this also makes sure to not use or modify the GstVaapiEncoder
17725	  private definitions directly. Private data need to remain private.
17726	  https://bugzilla.gnome.org/show_bug.cgi?id=719529
17727
177282014-01-06 17:46:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17729
17730	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17731	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17732	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17733	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17734	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17735	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
17736	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17737	  encoder: add properties API.
17738	  Add interface to communicate configurable properties to the encoder.
17739	  This covers both the common ones (rate-control, bitrate), and the
17740	  codec specific properties.
17741	  https://bugzilla.gnome.org/show_bug.cgi?id=719529
17742
177432014-01-06 18:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17744
17745	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17746	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17747	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17748	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17749	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17750	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17751	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17752	* gst/vaapi/gstvaapiencode.c:
17753	* gst/vaapi/gstvaapiencode_h264.c:
17754	* gst/vaapi/gstvaapiencode_mpeg2.c:
17755	  encoder: add bitrate API.
17756	  Add gst_vaapi_encoder_set_bitrate() interface to allow the user control
17757	  the bitrate for encoding. Currently, changing this parameter is only
17758	  valid before the first frame is encoded. Should the value be modified
17759	  afterwards, then GST_VAAPI_ENCODER_STATUS_ERROR_OPERATION_FAILED is
17760	  returned.
17761	  https://bugzilla.gnome.org/show_bug.cgi?id=719529
17762
177632014-01-06 15:10:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17764
17765	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17766	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17767	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17768	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17769	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17770	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17771	* gst-libs/gst/vaapi/gstvaapitypes.h:
17772	* gst/vaapi/gstvaapiencode.c:
17773	* gst/vaapi/gstvaapiencode.h:
17774	* gst/vaapi/gstvaapiencode_h264.c:
17775	* gst/vaapi/gstvaapiencode_mpeg2.c:
17776	  encoder: add rate control API.
17777	  Add gst_vaapi_encoder_set_rate_control() interface to request a new
17778	  rate control mode for encoding. Changing the rate control mode is
17779	  only valid prior to encoding the very first frame. Afterwards, an
17780	  error ("operation-failed") is issued.
17781	  https://bugzilla.gnome.org/show_bug.cgi?id=719529
17782
177832014-01-03 16:57:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17784
17785	* gst/vaapi/gstvaapiencode.c:
17786	* gst/vaapi/gstvaapiencode_h264.c:
17787	* gst/vaapi/gstvaapiencode_mpeg2.c:
17788	  vaapiencode: fix indentation.
17789
177902014-01-03 16:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17791
17792	* gst-libs/gst/vaapi/gstvaapiencoder.c:
17793	* gst-libs/gst/vaapi/gstvaapiencoder.h:
17794	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17795	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17796	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17797	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17798	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17799	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17800	* gst/vaapi/gstvaapiencode.h:
17801	  encoder: fix indentation.
17802
178032014-01-13 16:20:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17804
17805	* gst-libs/gst/vaapi/Makefile.am:
17806	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
17807	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
17808	* gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
17809	  utils: add new MPEG-2 helper functions.
17810	  Add various helper functions to convert profile, level, chroma formats
17811	  from gstreamer-vaapi world and the MPEG-2 specification world.
17812
178132014-01-10 19:49:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17814
17815	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
17816	  utils: h264: don't use fatal asserts.
17817	  Replace g_assert() with a g_debug() so that to not make the program
17818	  abort when an unsupported value is supplied.
17819
178202014-01-10 19:37:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17821
17822	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
17823	* gst-libs/gst/vaapi/gstvaapiutils_h264.h:
17824	  utils: h264: add helpers for profile and level string mappings.
17825	  Add profile and level helper functions to convert to/from strings.
17826
178272014-01-10 18:27:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17828
17829	* gst-libs/gst/vaapi/Makefile.am:
17830	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17831	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
17832	* gst-libs/gst/vaapi/gstvaapiutils_h264.h:
17833	* gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
17834	  utils: h264: expose levels in public header.
17835	  Instal <gst/vaapi/gstvaapiutils_h264.h> header but only expose the
17836	  H.264 levels in there. The additional helper functions are meant
17837	  to be private for now.
17838
178392014-01-09 09:27:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17840
17841	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
17842	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
17843	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17844	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17845	  codec: add helper macros to maintain object refcount.
17846	  Add gst_vaapi_mini_object_{ref,unref,replace}() helper macros so that
17847	  to avoid explicit casts to GstVaapiMiniObject in all caller sites.
17848
178492014-01-09 09:30:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17850
17851	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17852	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17853	  codec: re-indent decoder objects.
17854
178552014-01-09 09:10:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17856
17857	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
17858	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
17859	  codec: re-indent base codec objects.
17860
178612014-01-03 12:49:05 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
17862
17863	* gst/vaapi/gstvaapipluginbase.c:
17864	  plugins: do not free debug category in finalize method.
17865	  Fixes a crash when multiple vaapidecode elements are finalized since
17866	  the debug category is created once in the class init method.
17867	  This is a regression from git commit 7e58d60.
17868	  https://bugzilla.gnome.org/show_bug.cgi?id=721390
17869	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17870
178712014-01-02 11:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17872
17873	* gst-libs/gst/vaapi/glibcompat.h:
17874	* tests/simple-decoder.c:
17875	  tests: simple-decoder: don't use deprecated g_thread_create().
17876	  Use g_thread_try_new() instead of the deprecated g_thread_create()
17877	  function. Provide compatibility glue for any GLib version < 2.31.2.
17878
178792014-01-02 11:17:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17880
17881	* gst-libs/gst/vaapi/gstvaapidecoder.c:
17882	* gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
17883	* gst-libs/gst/vaapi/gstvaapisurface.c:
17884	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
17885	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
17886	* gst/vaapi/gstvaapiencode.c:
17887	  Fix printf()-like formats.
17888	  Fix formts for various GST_DEBUG et al. invocations. More precisely,
17889	  make size_t arguments use the %zu format specifier accordingly; force
17890	  XID formats to be a 32-bit unsigned integer; and fix the format used
17891	  for gst_vaapi_create_surface_with_format() error cases since we have
17892	  been using strings nowadays.
17893
178942013-12-21 07:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17895
17896	* gst-libs/gst/vaapi/video-format.c:
17897	* gst-libs/gst/vaapi/video-format.h:
17898	  utils: format: drop unused helper functions.
17899	  The following helper functions are no longer used, thus are removed:
17900	  - gst_vaapi_video_format_from_structure()
17901	  - gst_vaapi_video_format_from_caps()
17902	  - gst_vaapi_video_format_to_caps()
17903
179042013-12-21 07:29:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17905
17906	* gst-libs/gst/vaapi/video-format.c:
17907	* gst-libs/gst/vaapi/video-format.h:
17908	  utils: re-indent GstVideoFormat related helpers.
17909
179102013-12-21 08:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17911
17912	* gst/vaapi/gstvaapidownload.c:
17913	  download: use GstVideoInfo facilities to build output caps.
17914	  Use standard GstVideoInfo related functions to build the output caps,
17915	  thus directly preserving additional fields as needed, instead of
17916	  manually copying them over through gst_vaapi_append_surface_caps().
17917	  Also ensure that the input caps are fixated first.
17918
179192013-12-21 10:41:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17920
17921	* gst/vaapi/gstvaapidownload.c:
17922	* gst/vaapi/gstvaapipluginutil.c:
17923	* gst/vaapi/gstvaapipluginutil.h:
17924	* gst/vaapi/gstvaapiuploader.c:
17925	  plugins: factor out construction of template caps.
17926	  Add new helper functions to build video template caps.
17927	  - gst_vaapi_video_format_new_template_caps():
17928	  create GstCaps with size, frame rate and PAR to full range
17929	  - gst_vaapi_video_format_new_template_caps_from_list():
17930	  try to create a "simplified" list from the supplied formats
17931
179322013-12-21 06:41:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17933
17934	* gst/vaapi/gstvaapipluginutil.c:
17935	* gst/vaapi/gstvaapipluginutil.h:
17936	* gst/vaapi/gstvaapipostproc.c:
17937	  plugins: factor out construction of GValue from GstVideoFormat.
17938	  Add new helper functions to build GValues from GstVideoFormat:
17939	  - gst_vaapi_value_set_format():
17940	  build a GValue from the supplied video format
17941	  - gst_vaapi_value_set_format_list():
17942	  build a GValue list from the supplied array of video formats
17943
179442013-12-21 06:22:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17945
17946	* gst/vaapi/gstvaapipluginutil.c:
17947	* gst/vaapi/gstvaapipluginutil.h:
17948	* gst/vaapi/gstvaapivideocontext.c:
17949	* gst/vaapi/gstvaapivideocontext.h:
17950	  plugins: re-indent common and video context creation utils.
17951
179522013-12-20 15:31:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17953
17954	* gst-libs/gst/vaapi/gstvaapidisplay.c:
17955	* gst-libs/gst/vaapi/gstvaapidisplay.h:
17956	* gst/vaapi/gstvaapidecode.c:
17957	* tests/test-display.c:
17958	  display: don't use GstCaps for decode or encode profiles list.
17959	  Replace gst_vaapi_display_get_{decode,encode}_caps() APIs with more
17960	  more convenient APIs that return an array of GstVaapiProfile instead
17961	  of GstCaps: gst_vaapi_display_get_{decode,encode}_profiles().
17962
179632013-12-20 15:15:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17964
17965	* gst-libs/gst/vaapi/gstvaapidisplay.c:
17966	* gst-libs/gst/vaapi/gstvaapidisplay.h:
17967	* gst/vaapi/gstvaapidownload.c:
17968	* gst/vaapi/gstvaapiuploader.c:
17969	* tests/test-display.c:
17970	  display: don't use GstCaps for image or subpicture formats list.
17971	  Replace gst_vaapi_display_get_{image,subpicture}_caps() APIs, that
17972	  returned GstCaps, with more convenient APIs that return an array of
17973	  GstVideoFormat: gst_vaapi_display_get_{image,subpicture}_formats().
17974
179752013-12-20 14:01:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17976
17977	* gst-libs/gst/vaapi/gstvaapidisplay.c:
17978	* gst-libs/gst/vaapi/gstvaapidisplay.h:
17979	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
17980	  display: allocate queried resources on-demand.
17981	  Allocate the set of decoders or encoders on-demand, when they are
17982	  queried. Likewise for VA display attributes, image and subpicture
17983	  formats.
17984
179852013-12-20 13:27:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17986
17987	* gst-libs/gst/vaapi/gstvaapidisplay.c:
17988	* gst-libs/gst/vaapi/gstvaapidisplay.h:
17989	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
17990	* gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
17991	* gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
17992	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
17993	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
17994	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
17995	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
17996	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
17997	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
17998	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
17999	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
18000	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
18001	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
18002	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
18003	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
18004	  display: re-indent all GstVaapiDisplay related source code.
18005
180062013-12-20 16:04:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18007
18008	* gst-libs/gst/vaapi/gstvaapiprofile.c:
18009	* gst-libs/gst/vaapi/gstvaapiprofile.h:
18010	  utils: add helper functions to get codec or profile name.
18011
180122013-12-20 17:08:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18013
18014	* gst/vaapi/gstvaapipostproc.c:
18015	* gst/vaapi/gstvaapipostproc.h:
18016	* gst/vaapi/gstvaapiuploader.c:
18017	  plugins: fix permissions for certain files.
18018	  Drop the execute bit for gstvaapiuploader.c and gstvaapipostproc.[ch]
18019	  files.
18020
180212013-12-12 17:01:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
18022
18023	* gst/vaapi/gstvaapivideometa_texture.c:
18024	  plugins: implement GLTextureUploadMeta user data copy.
18025	  Makes the copies of a buffer reference their own GLTextureUploadMeta
18026	  user data and prevent the original buffer accessing already freed
18027	  memory if its copies has been released and freed.
18028	  https://bugzilla.gnome.org/show_bug.cgi?id=720336
18029	  [Propagate the original meta texture to the copy too]
18030	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18031
180322013-12-17 18:52:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18033
18034	* gst/vaapi/gstvaapiencode.c:
18035	* gst/vaapi/gstvaapiencode.h:
18036	* gst/vaapi/gstvaapipluginbase.c:
18037	* gst/vaapi/gstvaapipluginbase.h:
18038	* gst/vaapi/gstvaapipostproc.c:
18039	* gst/vaapi/gstvaapipostproc.h:
18040	* gst/vaapi/gstvaapisink.c:
18041	* gst/vaapi/gstvaapisink.h:
18042	  plugins: factor out support for raw YUV buffers on sink pads.
18043	  Factor out propose_allocation() hooks, creation of video buffer pool
18044	  for the sink pad, conversion from raw YUV buffers to VA surface backed
18045	  buffers. Update vaapidecode, vaapiencode and vaapipostproc to cope
18046	  with the new GstVaapiPluginBase abilities.
18047
180482013-12-17 18:46:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18049
18050	* gst-libs/gst/vaapi/gstcompat.h:
18051	* gst/vaapi/gstvaapidecode.c:
18052	* gst/vaapi/gstvaapidecode.h:
18053	* gst/vaapi/gstvaapidownload.c:
18054	* gst/vaapi/gstvaapipluginbase.c:
18055	* gst/vaapi/gstvaapipluginbase.h:
18056	* gst/vaapi/gstvaapipostproc.c:
18057	* gst/vaapi/gstvaapipostproc.h:
18058	* gst/vaapi/gstvaapisink.c:
18059	* gst/vaapi/gstvaapiupload.c:
18060	  plugins: factor out pad caps.
18061
180622013-12-13 16:03:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18063
18064	* gst/vaapi/gstvaapidecode.c:
18065	* gst/vaapi/gstvaapidownload.c:
18066	* gst/vaapi/gstvaapiencode.c:
18067	* gst/vaapi/gstvaapipluginbase.c:
18068	* gst/vaapi/gstvaapipostproc.c:
18069	* gst/vaapi/gstvaapisink.c:
18070	* gst/vaapi/gstvaapiupload.c:
18071	  plugins: factor out video context sharing code.
18072
180732013-12-13 13:24:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18074
18075	* gst/vaapi/gstvaapidecode.c:
18076	* gst/vaapi/gstvaapidownload.c:
18077	* gst/vaapi/gstvaapiencode.c:
18078	* gst/vaapi/gstvaapipluginbase.c:
18079	* gst/vaapi/gstvaapipluginbase.h:
18080	* gst/vaapi/gstvaapipostproc.c:
18081	* gst/vaapi/gstvaapisink.c:
18082	* gst/vaapi/gstvaapiupload.c:
18083	  plugins: factor out GstImplementsInterface.
18084
180852013-12-13 12:00:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18086
18087	* gst-libs/gst/vaapi/gstvaapidisplay.c:
18088	* gst-libs/gst/vaapi/gstvaapidisplay.h:
18089	* gst/vaapi/gstvaapipluginbase.c:
18090	* gst/vaapi/gstvaapipluginutil.c:
18091	  plugins: check type of display obtained from neighbours.
18092	  Fix display creation code to check that any display obtained from a
18093	  neighbour actually has the type we expect. Note: if display type is
18094	  set to "any", we can then accept any VA display type.
18095
180962013-12-13 11:52:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18097
18098	* gst/vaapi/gstvaapidecode.c:
18099	* gst/vaapi/gstvaapidownload.c:
18100	* gst/vaapi/gstvaapiencode.c:
18101	* gst/vaapi/gstvaapipluginbase.c:
18102	* gst/vaapi/gstvaapipluginbase.h:
18103	* gst/vaapi/gstvaapipluginutil.c:
18104	* gst/vaapi/gstvaapipluginutil.h:
18105	* gst/vaapi/gstvaapipostproc.c:
18106	* gst/vaapi/gstvaapisink.c:
18107	* gst/vaapi/gstvaapisink.h:
18108	* gst/vaapi/gstvaapiupload.c:
18109	  plugins: factor out display creation process.
18110	  Move common VA display creation code to GstVaapiPluginBase, with the
18111	  default display type remaining "any". Also add a "display-changed"
18112	  hook so that subclasses could perform additional tasks when/if the
18113	  VA display changed, due to a new display type request for instance.
18114	  All plug-ins are updated to cope with the new internal APIs.
18115
181162013-12-13 10:24:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18117
18118	* gst/vaapi/Makefile.am:
18119	* gst/vaapi/gstvaapidecode.c:
18120	* gst/vaapi/gstvaapidecode.h:
18121	* gst/vaapi/gstvaapidownload.c:
18122	* gst/vaapi/gstvaapidownload.h:
18123	* gst/vaapi/gstvaapiencode.c:
18124	* gst/vaapi/gstvaapiencode.h:
18125	* gst/vaapi/gstvaapipluginbase.c:
18126	* gst/vaapi/gstvaapipluginbase.h:
18127	* gst/vaapi/gstvaapipostproc.c:
18128	* gst/vaapi/gstvaapipostproc.h:
18129	* gst/vaapi/gstvaapisink.c:
18130	* gst/vaapi/gstvaapisink.h:
18131	* gst/vaapi/gstvaapiupload.c:
18132	* gst/vaapi/gstvaapiupload.h:
18133	  plugins: add new base object, store display in there.
18134	  Introduce a new GstVaapiPluginBase object that will contain all common
18135	  data structures and perform all common tasks. First step is to have a
18136	  single place to hold VA displays.
18137	  While we are at it, also make sure to store and subsequently release
18138	  the appropriate debug category for the subclasses.
18139
181402013-12-11 14:04:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18141
18142	* gst-libs/gst/vaapi/gstvaapiobject.h:
18143	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
18144	* gst/vaapi/gstvaapivideometa_texture.c:
18145	* gst/vaapi/gstvaapivideometa_texture.h:
18146	  plugins: fix GLTextureUploadMeta to work with different texture ids.
18147	  The GLTextureUploadMeta implementation assumed that for each upload()
18148	  sequence, the supplied texture id is always the same as the one that
18149	  was previously cached into the underlying GstVaapiTexture. Cope with
18150	  any texture id change the expense to recreate the underlying VA/GLX
18151	  resources.
18152	  https://bugzilla.gnome.org/show_bug.cgi?id=719643
18153
181542013-12-11 13:25:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18155
18156	* gst/vaapi/gstvaapidecode.c:
18157	* gst/vaapi/gstvaapivideobufferpool.c:
18158	* gst/vaapi/gstvaapivideometa_texture.c:
18159	  plugins: allow builds without GLX enabled for GStreamer 1.2.
18160	  Don't try to build GLTextureUploadMeta related code if GLX is not
18161	  enabled during GStreamer >= 1.2 builds.
18162
181632013-11-20 17:20:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
18164
18165	* gst/vaapi/gstvaapidecode.c:
18166	* gst/vaapi/gstvaapivideobufferpool.c:
18167	* gst/vaapi/gstvaapivideobufferpool.h:
18168	* gst/vaapi/gstvaapivideometa_texture.c:
18169	* gst/vaapi/gstvaapivideometa_texture.h:
18170	  plugins: request GLTextureUpload meta on buffers in the buffer pool.
18171	  Requesting the GLTextureUpload meta on buffers in the bufferpool
18172	  prevents such metas from being de-allocated when buffers are released
18173	  in the sink.
18174	  This is particulary useful in terms of performance when using the
18175	  GLTextureUploadMeta API since the GstVaapiTexture associated with
18176	  the target texture is stored in the meta.
18177	  https://bugzilla.gnome.org/show_bug.cgi?id=712558
18178	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18179
181802013-12-11 10:51:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18181
18182	* gst/vaapi/gstvaapivideometa_texture.c:
18183	  plugins: robustify GstVideoGLTextureUploadMeta implementation.
18184	  Make GstVideoGLTextureUploadMeta::upload() implementation more robust
18185	  when the GstVaapiTexture associated with the supplied texture id could
18186	  not be created.
18187
181882013-12-10 16:14:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18189
18190	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18191	  h264: improve robustness when packets are missing.
18192	  Improve robustness when some expected packets where not received yet
18193	  or that were not correctly decoded. For example, don't try to decode
18194	  a picture if there was no valid frame headers parsed so far.
18195	  https://bugs.freedesktop.org/show_bug.cgi?id=57902
18196
181972013-12-10 14:20:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18198
18199	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18200	  decoder: h264: fix decoding of BA3_SVA_C.264.
18201	  Conformance test Base_Ext_Main_profiles/BA3_SVA_C.264 complys with
18202	  extended profile specifications. However, the SPS header has the
18203	  constraint_set1_flag syntax element set to 1. This means that, if
18204	  a Main profile compliant decoder is available, then it should be
18205	  able to decode this stream.
18206	  This changes makes it possible to fall-back from Extended profile
18207	  to Main profile if constraint_set1_flag is set to 1.
18208	  https://bugzilla.gnome.org/show_bug.cgi?id=720190
18209
182102013-12-10 11:13:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18211
18212	* gst-libs/gst/vaapi/gstvaapiprofile.h:
18213	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
18214	  utils: h264: add more profiles.
18215	  Add extended profile (A.2.3), high 4:2:2 profile (A.2.6), high 4:2:2
18216	  profiles (A.2.7, A.2.10), scalable profiles (G.10.1.1, G.10.1.2) and
18217	  multiview profiles (H.10.1.1, H.10.1.2).
18218	  Document "Constrained Baseline" and "High 10" profiles.
18219
182202013-12-10 15:21:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18221
18222	* ext/codecparsers:
18223	  codecparsers: update to gst-vaapi-branch commit e7d0e18.
18224	  e7d0e18 h264: complete set of NAL unit types
18225
182262013-12-06 15:08:26 +0800  Wind Yuan <feng.yuan@intel.com>
18227
18228	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18229	* gst-libs/gst/vaapi/gstvaapiprofile.c:
18230	  decoder: h264: add support for constrained baseline profile.
18231	  Recognize streams marked as conforming to the "Constrained Baseline
18232	  Profile". If VA driver supports that as is, fine. Otherwise, fallback
18233	  to baseline, main or high profile.
18234	  Constrained Baseline Profile conveys coding tools that are common
18235	  to baseline profile and main profile.
18236	  https://bugzilla.gnome.org/show_bug.cgi?id=719947
18237	  [Added fallbacks to main and high profiles]
18238	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18239
182402013-12-09 12:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18241
18242	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18243	  decoder: h264: fix decoding of scaling lists.
18244	  The GStreamer codecparser layer now parses the scaling lists in zigzag
18245	  scan order, as expected, so that to match the original bitstream layout
18246	  and specification. However, further convert the scaling lists into
18247	  raster scan order to fit the existing practice in most VA drivers.
18248	  https://bugzilla.gnome.org/show_bug.cgi?id=706406
18249
182502013-12-09 12:07:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18251
18252	* ext/codecparsers:
18253	  codecparsers: update to gst-vaapi-branch commit 177c73b.
18254	  a7e3255 add H.265 (HEVC) bitstream parser
18255	  177c73b h264: fix picture level scaling lists derivation (rule B)
18256	  14733f1 h264: fix parsing of VCL HRD parameters
18257	  59a0b47 h264: store quantization matrices in zig-zag order
18258	  ffb6e26 h264: add helpers to convert quantization matrices
18259	  c78a504 mpeg2: also initialize debug category in parse_sequence_header()
18260	  719d1b0 mpeg2: turn internal consistency check into a g_assert()
18261	  5241d8e all: remove some unused functions
18262	  18eb312 all: fix for GST_DISABLE_GST_DEBUG
18263	  963c04a all: make warnings more meaningful
18264
182652013-12-06 19:05:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18266
18267	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18268	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
18269	* gst-libs/gst/vaapi/gstvaapiutils_h264.h:
18270	  utils: add helpers for H.264 levels.
18271	  - gst_vaapi_utils_h264_get_level():
18272	  Returns GstVaapiLevelH264 from H.264 level_idc value
18273	  - gst_vaapi_utils_h264_get_level_idc():
18274	  Returns H.264 level_idc value from GstVaapiLevelH264
18275	  - gst_vaapi_utils_h264_get_level_limits():
18276	  Returns level limits as specified in Table A-1 of the H.264 standard
18277	  - gst_vaapi_utils_h264_get_level_limits_table():
18278	  Returns the Table A-1 specification
18279
182802013-12-06 17:34:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18281
18282	* gst-libs/gst/vaapi/gstvaapiprofile.c:
18283	* gst-libs/gst/vaapi/gstvaapiprofile.h:
18284	* gst-libs/gst/vaapi/gstvaapiutils_h264.c:
18285	  utils: add new H.264 profiles.
18286	  Add "Constrained Baseline Profile" and "High 10 Profile" definitions
18287	  and helper functiions.
18288
182892013-12-06 17:21:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18290
18291	  utils: add new H.264 helper functions.
18292	  * Profiles:
18293	  - gst_vaapi_utils_h264_get_profile():
18294	  Returns GstVaapiProfile from H.264 profile_idc value
18295	  - gst_vaapi_utils_h264_get_profile_idc():
18296	  Returns H.264 profile_idc value from GstVaapiProfile
18297	  * Chroma formats:
18298	  - gst_vaapi_utils_h264_get_chroma_type():
18299	  Returns GstVaapiChromaType from H.264 chroma_format_idc value
18300	  - gst_vaapi_utils_h264_get_chroma_format_idc():
18301	  Returns H.264 chroma_format_idc value from GstVaapiChromaType
18302
183032013-12-03 11:05:17 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
18304
18305	* gst-libs/gst/base/Makefile.am:
18306	* gst-libs/gst/vaapi/Makefile.am:
18307	  Fix missing files in distribution tarball.
18308	  https://bugzilla.gnome.org/show_bug.cgi?id=719776
18309	  [Additional fixes and clean-ups]
18310	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18311
183122013-12-05 18:13:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18313
18314	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18315	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18316	  encoder: fix computation of max coded buffer size (again).
18317	  The previous fix was only valid to express the maximum size of the
18318	  macroblock layer, i.e. without any headers. Now, also account for
18319	  the slice headers and top picture header, but also any other header
18320	  we might stuff into the VA coded buffer, e.g. sequence headers.
18321
183222013-12-04 19:10:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18323
18324	* gst-libs/gst/vaapi/gstvaapiencoder.c:
18325	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18326	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18327	  encoder: fix computation of max coded buffer size.
18328	  Fix coded buffer size for each codec. A generic issue was that the
18329	  number of macroblocks was incorrectly computed. The second issue was
18330	  specific to MPEG-2 were the max number of bits per macroblock, and
18331	  as defined by the standard, was incorrectly mapped to the (lower)
18332	  H.264 requirement. i.e. 4608 bits vs. 3200 bits limit.
18333
183342013-12-04 18:48:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18335
18336	* gst-libs/gst/vaapi/gstvaapiencoder.c:
18337	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18338	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18339	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
18340	  encoder: simplify VA context initialization process.
18341	  Change get_context_info() into a set_context_info() function that
18342	  initializes common defaults into the base class, thus allowing the
18343	  subclasses to specialize the context info further on.
18344	  The set_context_info() hook is also the location where additional
18345	  context specific data could be initialized. At this point, we are
18346	  guaranteed to have valid video resolution size and framerate. i.e.
18347	  gst_vaapi_encoder_set_format() was called beforehand.
18348
183492013-11-26 14:38:23 +0800  Wind Yuan <feng.yuan@intel.com>
18350
18351	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18352	  encoder: fix mpeg2 compilation error.
18353	  https://bugzilla.gnome.org/show_bug.cgi?id=719746
18354	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18355
183562013-12-04 17:55:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18357
18358	* gst-libs/gst/vaapi/gstvaapiencoder.c:
18359	* gst-libs/gst/vaapi/gstvaapiencoder.h:
18360	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18361	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18362	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
18363	* gst/vaapi/gstvaapiencode.c:
18364	  encoder: clean-ups and document public APIs.
18365	  Clean public APIs up so that to better align with the decoder APIs.
18366	  Most importantly, gst_vaapi_encoder_get_buffer() is changed to only
18367	  return the VA coded buffer proxy. Also provide useful documentation
18368	  for the public APIs.
18369
183702013-12-04 17:05:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18371
18372	* gst-libs/gst/vaapi/gstvaapiencoder.c:
18373	* gst-libs/gst/vaapi/gstvaapiencoder.h:
18374	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
18375	  encoder: avoid extra allocations of GstVaapiEncoderSyncPic objects.
18376	  Kill GstVaapiEncoderSyncPic objects that are internally and temporarily
18377	  allocated. Rather, associate a GstVaapiEncPicture to a coded buffer
18378	  through GstVaapiCodedBufferProxy user-data facility.
18379	  Besides, use a GAsyncQueue to maintain a thread-safe queue object of
18380	  coded buffers.
18381	  Partial fix for the following report:
18382	  https://bugzilla.gnome.org/show_bug.cgi?id=719530
18383
183842013-12-03 17:04:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18385
18386	* gst-libs/gst/vaapi/gstvaapiencoder.c:
18387	* gst-libs/gst/vaapi/gstvaapiencoder.h:
18388	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18389	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18390	* gst/vaapi/gstvaapiencode.c:
18391	  encoder: refactor status codes.
18392	  Drop obsolete or unused status codes. Align some status codes with the
18393	  decoder counterparts.
18394
183952013-12-04 11:54:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18396
18397	* gst-libs/gst/vaapi/gstvaapiencoder.c:
18398	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18399	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
18400	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18401	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
18402	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
18403	  encoder: fix subclassing process.
18404	  Fix the GstVaapiEncoderClass parent class type. Make sure to validate
18405	  subclass hooks as early as possible, i.e. in gst_vaapi_encoder_init(),
18406	  thus avoiding useless run-time checks. Also simplify the subclass
18407	  initialization process to be less error prone.
18408
184092013-12-03 16:11:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18410
18411	  encoder: rework GstVaapiCodedBuffer and related proxy.
18412	  Refactor the GstVaapiCodedBuffer APIs so that to more clearly separate
18413	  public and private interfaces. Besides, the map/unmap APIs should not
18414	  be exposed as is but appropriate accessors should be provided instead.
18415	  * GstVaapiCodedBuffer: VA coded buffer abstraction
18416	  - gst_vaapi_coded_buffer_get_size(): get coded buffer size.
18417	  - gst_vaapi_coded_buffer_copy_into(): copy coded buffer into GstBuffer
18418	  * GstVaapiCodedBufferPool: pool of VA coded buffer objects
18419	  - gst_vaapi_coded_buffer_pool_new(): create a pool of coded buffers of
18420	  the specified max size, and bound to the supplied encoder
18421	  * GstVaapiCodedBufferProxy: pool-allocated VA coded buffer object proxy
18422	  - gst_vaapi_coded_buffer_proxy_new_from_pool(): create coded buf from pool
18423	  - gst_vaapi_coded_buffer_proxy_get_buffer(): get underlying coded buffer
18424	  - gst_vaapi_coded_buffer_proxy_get_buffer_size(): get coded buffer size
18425	  Rationale: more optimized transfer functions might be provided in the
18426	  future, thus rendering the map/unmap mechanism obsolete or sub-optimal.
18427	  https://bugzilla.gnome.org/show_bug.cgi?id=719775
18428
184292013-11-29 14:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18430
18431	* gst/vaapi/gstvaapidecode.c:
18432	* gst/vaapi/gstvaapiencode.c:
18433	* gst/vaapi/gstvaapipostproc.c:
18434	* gst/vaapi/gstvaapisink.c:
18435	  plugins: fix reference leaks of VA display objects.
18436	  Fix GstElement::set_context() implementation for all plug-in elements
18437	  to avoid leaking an extra reference to the VA display, thus preventing
18438	  correct cleanup of VA resources in GStreamer 1.2 builds.
18439
184402013-11-29 13:56:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18441
18442	* gst/vaapi/gstvaapipluginutil.c:
18443	* gst/vaapi/gstvaapivideocontext.c:
18444	  plugins: simplify gst_vaapi_ensure_display().
18445	  Return earlier if the creation of a VA display failed. Likewise, simplify
18446	  gst_vaapi_video_context_propagate() now that we are guaranteed to have a
18447	  valid VA display.
18448
184492013-11-28 19:08:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18450
18451	* gst/vaapi/gstvaapivideomemory.c:
18452	  plugins: fix memory leaks through GstVideoMeta maps.
18453	  When GstVideoMeta maps were used, the supporting functions incorrectly
18454	  used gst_buffer_get_memory() instead of gst_buffer_peek_memory(), thus
18455	  always increasing the associated GstMemory reference count and giving
18456	  zero chance to actually release that, and subsequently the VA display.
18457
184582013-11-28 14:15:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18459
18460	* gst-libs/gst/vaapi/gstvaapifilter.c:
18461	* gst/vaapi/gstvaapiencode_h264.c:
18462	* gst/vaapi/gstvaapiencode_mpeg2.c:
18463	* gst/vaapi/gstvaapipostproc.c:
18464	* gst/vaapi/gstvaapisink.c:
18465	* gst/vaapi/gstvaapiuploader.c:
18466	  plugins: use G_PARAM_STATIC_STRINGS.
18467	  This avoids a few string copies during initialization.
18468
184692013-11-28 17:28:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18470
18471	* gst/vaapi/gstvaapivideometa.c:
18472	  plugins: simplify VA video meta to only reference surface proxies.
18473	  Simplify GstVaapiVideoMeta to only hold a surface proxy, which is
18474	  now allocated from a surface pool. This also means that the local
18475	  reference to the VA surface is also gone, as it could be extracted
18476	  from the associated surface proxy.
18477
184782013-11-28 16:51:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18479
18480	* gst/vaapi/gstvaapivideobuffer.c:
18481	* gst/vaapi/gstvaapivideobuffer.h:
18482	* gst/vaapi/gstvaapivideometa.c:
18483	* gst/vaapi/gstvaapivideometa.h:
18484	  plugins: drop obsolete functions.
18485	  Drop the following functions that are not longer used:
18486	  - gst_vaapi_video_buffer_new_with_surface()
18487	  - gst_vaapi_video_meta_new_with_surface()
18488	  - gst_vaapi_video_meta_set_surface()
18489	  - gst_vaapi_video_meta_set_surface_from_pool()
18490
184912013-11-28 16:37:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18492
18493	* gst/vaapi/gstvaapivideometa.c:
18494	  plugins: allow VA video meta to be allocated from surface proxy pools.
18495	  Fix gst_vaapi_video_meta_new_from_pool() to allocate VA surface proxies
18496	  from surface pools instead of plain VA surfaces. This is to simplify
18497	  allocations now that surface proxies are created from a surface pool.
18498
184992013-11-28 17:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18500
18501	* docs/reference/libs/libs-sections.txt:
18502	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18503	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
18504	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18505	  surfaceproxy: add copy function.
18506	  Add gst_vaapi_surface_proxy_copy() function that creates a new surface
18507	  proxy with the same information from the parent proxy, except that the
18508	  user-defined destroy notify function is not copied over.
18509	  The underlying VA surface is pushed back to the video pool only when
18510	  the last reference to the parent surface proxy is released.
18511
185122013-11-28 15:56:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18513
18514	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
18515	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
18516	* gst/vaapi/gstvaapiencode.c:
18517	  vaapiencode: optimize _handle_frame() to avoid extra allocation.
18518	  Optimize gst_vaapiencode_handle_frame() to avoid extra memory allocation,
18519	  and in particular the GstVaapiEncObjUserData object. i.e. directly use
18520	  the VA surface proxy from the source buffer. This also makes the user
18521	  data attached to the GstVideoCodecFrame more consistent between both
18522	  the decoder and encoder plug-in elements.
18523
185242013-11-28 15:14:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18525
18526	* gst/vaapi/gstvaapiencode.c:
18527	  vaapiencode: fix memory leaks in _push_frame() on error.
18528	  Simplify gst_vaapiencode_push_frame(), while also removing the call
18529	  to gst_video_encoder_negotiate() since this is implicit in _finish()
18530	  if caps changed. Also fixed memory leaks that occured on error.
18531
185322013-11-28 13:57:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18533
18534	* gst/vaapi/gstvaapiencode.c:
18535	* gst/vaapi/gstvaapiencode.h:
18536	* gst/vaapi/gstvaapiencode_h264.c:
18537	* gst/vaapi/gstvaapiencode_h264.h:
18538	* gst/vaapi/gstvaapiencode_mpeg2.c:
18539	  vaapiencode: additional clean-ups.
18540	  Constify pointers wherever possible. Drop unused variables, and use
18541	  consistent variable names. Fix gst_vaapiencode_h264_allocate_buffer()
18542	  to correctly report errors, especially when in-place conversion from
18543	  bytestream to avcC format failed.
18544
185452013-11-28 13:26:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18546
18547	* gst/vaapi/gstvaapiencode.c:
18548	* gst/vaapi/gstvaapiencode.h:
18549	* gst/vaapi/gstvaapiencode_h264.c:
18550	* gst/vaapi/gstvaapiencode_h264.h:
18551	* gst/vaapi/gstvaapiencode_mpeg2.c:
18552	* gst/vaapi/gstvaapiencode_mpeg2.h:
18553	  vaapiencode: move common properties to base class.
18554	  Move "rate-control" mode and "bitrate" properties to the GstVaapiEncode
18555	  base class. The actual range of supported rate control modes is currently
18556	  implemented as a plug-in element hook. This ought to be determined from
18557	  the GstVaapiEncoder object instead, i.e. from libgstvaapi.
18558
185592013-11-28 10:54:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18560
18561	* gst/vaapi/gstvaapiencode_h264.c:
18562	* gst/vaapi/gstvaapiencode_mpeg2.c:
18563	  vaapiencode: fix plugin description and debug name.
18564	  Align the plug-in debug category to its actual name. i.e. enable debug
18565	  logs through vaapiencode_<CODEC> where <CODEC> is mpeg2, h264, etc. Fix
18566	  the plug-in element description to make it more consistent with other
18567	  VA-API plug-ins.
18568
185692013-11-27 16:27:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18570
18571	* configure.ac:
18572	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18573	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18574	* gst-libs/gst/video/Makefile.am:
18575	* gst/vaapi/gstvaapiencode.c:
18576	* gst/vaapi/gstvaapiencode.h:
18577	* gst/vaapi/gstvaapiencode_h264.c:
18578	* gst/vaapi/gstvaapiencode_mpeg2.c:
18579	  vaapiencode: add initial support for GStreamer 0.10.
18580
185812013-11-27 16:25:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18582
18583	* gst-libs/gst/vaapi/gstcompat.h:
18584	  libs: add more GstBuffer compat glue for GStreamer 0.10.
18585	  Add gst_buffer_new_allocate() and gst_buffer_fill() implementations.
18586	  Fix gst_buffer_new_wrapped_full() implementation to handle the destroy
18587	  notify function.
18588
185892013-11-27 15:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18590
18591	* configure.ac:
18592	* gst-libs/gst/video/Makefile.am:
18593	  libs: always use built-in videoutils for GStreamer 0.10.
18594	  GStreamer 0.10.36 is the latest and ultimate version to be released
18595	  from the GStreamer 0.10 branch. i.e. no further releases are to be
18596	  made. So, we can safely enable the built-in videoutils replacement
18597	  now that they are in sync with the 0.10 branch.
18598
185992013-11-27 15:47:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18600
18601	* ext/videoutils:
18602	  videoutils: update to master commit d4a15a5.
18603	  d4a15a5 video: fix compiler warning in header with C++11 / clang-3.1
18604	  86096cc videodecoder: minor cosmetic changes to align a bit more with master
18605	  b4b8b52 videodecoder: allow parse function to not use all data on adapter
18606	  2145495 videodecoder: warn if frame list gets long
18607	  36c3753 videodecoder: Also use the object lock to protect the output_state
18608	  518c93d videodecoder: fix seeking again
18609	  185fb63 video: Correct usage of the base class stream lock
18610	  170e944 videodecoder: Expose _negotiate function
18611
186122013-11-26 12:06:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
18613
18614	* configure.ac:
18615	* gst-libs/gst/vaapi/Makefile.am:
18616	* tests/Makefile.am:
18617	  Fix build with GStreamer >= 1.3.
18618	  http://bugzilla.gnome.org/show_bug.cgi?id=715183
18619	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18620
186212013-11-26 17:56:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18622
18623	* configure.ac:
18624	  configure: disable encoders with GStreamer 0.10.
18625	  Don't try to build video encoders for GStreamer 0.10. Support code is
18626	  not there yet, and probably will never for such an ancient version.
18627
186282013-11-26 17:26:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18629
18630	* gst/vaapi/gstvaapiencode.c:
18631	  vaapiencode: fix error handling while allocating output buffers.
18632	  Fix default GstVideoEncoder::allocate_buffer() implementation to properly
18633	  unmap the coded buffer prior to returning an error.
18634
186352013-11-26 17:11:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18636
18637	* gst/vaapi/gstvaapiencode.c:
18638	  vaapiencode: fix error handling in _finish() hook.
18639	  Fix GstVideoEncoder::finish() implementation to really return possible
18640	  errors instead of GST_FLOW_OK. That is, fix check for timeout status.
18641
186422013-11-26 16:34:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18643
18644	* gst/vaapi/gstvaapiencode.c:
18645	* gst/vaapi/gstvaapiencode.h:
18646	* gst/vaapi/gstvaapiencode_h264.c:
18647	* gst/vaapi/gstvaapiencode_h264.h:
18648	* gst/vaapi/gstvaapiencode_mpeg2.c:
18649	* gst/vaapi/gstvaapiencode_mpeg2.h:
18650	  vaapiencode: minor clean-ups.
18651	  Add a GST_VAAPIENCODE_CAST() helper to avoid run-time checks against
18652	  the GObject type system. We are guaranteed to only deal with the same
18653	  plug-in element object.
18654
186552013-11-26 15:31:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18656
18657	* gst/vaapi/gstvaapiencode.c:
18658	* gst/vaapi/gstvaapiencode_h264.c:
18659	* gst/vaapi/gstvaapiencode_mpeg2.c:
18660	  vaapiencode: fix support for raw YUV sink buffers.
18661	  Allow vaapiencode plug-in elements to encode from raw YUV buffers.
18662	  The most efficient way to do so is to let the vaapiencode elements
18663	  allocate a buffer pool, and subsequently buffers from it. This means
18664	  that upstream elements are expected to honour downstream pools.
18665	  If upstream elements insist on providing their own allocated buffers
18666	  to the vaapiencode elements, then it possibly would be more efficient
18667	  to insert a vaapipostproc element before the vaapiencode element.
18668	  This is because vaapipostproc currently has better support than other
18669	  elements for "foreign" raw YUV buffers.
18670
186712013-11-26 15:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18672
18673	* gst/vaapi/gstvaapiencode.c:
18674	  vaapiencode: fix support for GStreamer 1.2.
18675
186762013-11-07 17:42:21 +0800  Wind Yuan <feng.yuan@intel.com>
18677
18678	* gst/vaapi/gstvaapiencode.c:
18679	* gst/vaapi/gstvaapiencode_h264.c:
18680	* gst/vaapi/gstvaapiencode_mpeg2.c:
18681	  vaapiencode: initial port to GStreamer 1.2.
18682	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18683
186842013-11-20 16:21:32 +0800  XuGuangxin <guangxin.xu@intel.com>
18685
18686	* gst/vaapi/Makefile.am:
18687	* gst/vaapi/gstvaapi.c:
18688	* gst/vaapi/gstvaapiencode_mpeg2.c:
18689	* gst/vaapi/gstvaapiencode_mpeg2.h:
18690	  plugins: add mpeg2 encoder element.
18691	  Add GstVaapiEncodeMPEG2 element object. The actual plug-in element
18692	  is called "vaapiencode_mpeg2".
18693	  Valid properties:
18694	  - rate-control: rate control mode (default: cqp - constant QP)
18695	  - bitrate: desired bitrate in kbps (default: auto-calculated)
18696	  - key-period: maximal distance between two key frames (default: 30)
18697	  - max-bframes: number of B-frames between I and P (default: 2)
18698	  - quantizer: constant quantizer (default: 8)
18699	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18700
187012013-07-29 16:02:56 +0800  Wind Yuan <feng.yuan@intel.com>
18702
18703	* gst/vaapi/Makefile.am:
18704	* gst/vaapi/gstvaapi.c:
18705	* gst/vaapi/gstvaapiencode_h264.c:
18706	* gst/vaapi/gstvaapiencode_h264.h:
18707	  plugins: add h264 encoder element.
18708	  Add GstVaapiEncodeH264 element object. The actual plug-in element
18709	  is called "vaapiencode_h264".
18710	  Valid properties:
18711	  - rate-control: rate control mode (default: none)
18712	  - bitrate: desired bitrate in kbps (default: auto-calculated)
18713	  - key-period: maximal distance between two key frames (default: 30)
18714	  - num-slices: number of slices per frame (default: 1)
18715	  - max-bframes: number of B-frames between I and P (default: 0)
18716	  - min-qp: minimal quantizer (default: 1)
18717	  - init-qp: initial quantizer (default: 26)
18718	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18719
187202013-07-29 13:44:48 +0800  Wind Yuan <feng.yuan@intel.com>
18721
18722	* gst/vaapi/Makefile.am:
18723	* gst/vaapi/gstvaapiencode.c:
18724	* gst/vaapi/gstvaapiencode.h:
18725	  plugins: add base encoder element.
18726	  vaapiencode element is based on GstVideoEncoder APIs.
18727	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18728
187292013-11-20 16:20:15 +0800  XuGuangxin <guangxin.xu@intel.com>
18730
18731	* gst-libs/gst/vaapi/Makefile.am:
18732	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18733	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
18734	* gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
18735	  encoder: add mpeg2 encoder.
18736	  Add initial support for MPEG-2 encoding. I/P/B frames are supported.
18737	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18738
187392013-07-29 15:46:11 +0800  Wind Yuan <feng.yuan@intel.com>
18740
18741	* gst-libs/gst/vaapi/Makefile.am:
18742	* gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18743	* gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
18744	* gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
18745	  encoder: add h264 encoder.
18746	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18747
187482013-07-29 13:34:06 +0800  Wind Yuan <feng.yuan@intel.com>
18749
18750	* configure.ac:
18751	* gst-libs/gst/vaapi/Makefile.am:
18752	* gst-libs/gst/vaapi/gstvaapiencoder.c:
18753	* gst-libs/gst/vaapi/gstvaapiencoder.h:
18754	* gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
18755	* gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
18756	* gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
18757	  Add initial infrastructure for video encoding.
18758	  Add initial API for video encoding: only basic interfaces and small
18759	  encoder objects are implemented so far.
18760	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18761
187622013-07-29 15:41:23 +0800  Wind Yuan <feng.yuan@intel.com>
18763
18764	* configure.ac:
18765	* gst-libs/gst/Makefile.am:
18766	* gst-libs/gst/base/Makefile.am:
18767	* gst-libs/gst/base/gstbitwriter.c:
18768	* gst-libs/gst/base/gstbitwriter.h:
18769	* gst-libs/gst/vaapi/Makefile.am:
18770	  libs: add generic bitstream writer.
18771	  GstBitWriter provides a bit writer that can write any number of bits
18772	  to a pre-allocated memory buffer. Helper functions are also provided
18773	  to write any number of bits from 8, 16, 32 and 64 bit variables.
18774	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18775
187762013-07-12 22:07:59 +0800  Wind Yuan <feng.yuan@intel.com>
18777
18778	* gst-libs/gst/vaapi/gstvaapicontext.c:
18779	* gst-libs/gst/vaapi/gstvaapicontext.h:
18780	  libs: add support for rate-control to GstVaapiContext.
18781	  Extend GstVaapiContextInfo structure to hold the desired rate control
18782	  mode for encoding purposes. For decoding purposes, this field is not
18783	  used and it is initialized to GST_VAAPI_RATECONTROL_NONE.
18784	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18785
187862013-07-12 21:33:32 +0800  Wind Yuan <feng.yuan@intel.com>
18787
18788	* gst-libs/gst/vaapi/gstvaapitypes.h:
18789	* gst-libs/gst/vaapi/gstvaapiutils.c:
18790	* gst-libs/gst/vaapi/gstvaapiutils.h:
18791	* gst-libs/gst/vaapi/gstvaapivalue.c:
18792	* gst-libs/gst/vaapi/gstvaapivalue.h:
18793	  libs: add rate-control attributes.
18794	  Add GstVaapiRateControl types and GType values in view to supporting
18795	  rate controls for encoding. This is meant to be used for instance in
18796	  GstVaapiContext.
18797	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18798
187992013-11-22 11:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18800
18801	* configure.ac:
18802	  Bump version for development.
18803
188042013-11-22 11:28:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18805
18806	* gst/vaapi/Makefile.am:
18807	  build: fix for Wayland headers not in standard include dirs.
18808	  Fix build when Wayland headers don't live in plain system include dirs
18809	  like /usr/include but rather in /usr/include/wayland for instance.
18810	  Original patch written by Dominique Leuenberger <dimstar@opensuse.org>
18811	  https://bugzilla.gnome.org/show_bug.cgi?id=712282
18812
188132013-11-14 10:58:37 +0000  Ross Burton <ross.burton@intel.com>
18814
18815	* gst-libs/gst/vaapi/Makefile.am:
18816	  build: link libgstvaapi-wayland against videoutils.
18817	  This library is using symbols that don't exist in GStreamer 0.10 so
18818	  it needs to link to built-in implementation (libgstvaapi-videoutils).
18819	  https://bugzilla.gnome.org/show_bug.cgi?id=712282
18820	  Signed-off-by: Ross Burton <ross.burton@intel.com>
18821	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18822
188232013-11-22 11:15:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18824
18825	* gst-libs/gst/vaapi/gstvaapifilter.c:
18826	* gst/vaapi/gstvaapipostproc.c:
18827	  vaapostproc: fix memory leaks.
18828	  Destroy VPP output surface pool on exit. Also avoid a possible crash
18829	  in double-free situation caused by insufficiently reference counted
18830	  array of formats returned during initialization.
18831
188322013-11-22 10:19:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18833
18834	* gst/vaapi/gstvaapipostproc.c:
18835	* gst/vaapi/gstvaapipostproc.h:
18836	  vaapipostproc: fix and optimize advanced deinterlacing mode.
18837	  Fix advanced deinterlacing modes with VPP to track only up to 2 past
18838	  reference buffers. This used to be 3 past reference buffers but this
18839	  doesn't fit with the existing decode pipeline that only has 4 extra
18840	  scratch surfaces.
18841	  Also optimize references tracking to be only enabled when needed, i.e.
18842	  when advanced deinterlacing mode is used. This means that we don't
18843	  need to track past references for basic bob or weave deinterlacing.
18844
188452013-11-22 10:04:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18846
18847	* gst/vaapi/gstvaapipostproc.c:
18848	  vaapipostproc: fix "mixed" mode deinterlacing.
18849	  In "mixed" interlaced streams, the buffer contains additional flags that
18850	  specify whether the frame contained herein is interlaced or not. This means
18851	  that we can alternatively get progressive or interlaced frames. Make sure
18852	  to disable deinterlacing at the VPP level when the source buffer is no longer
18853	  interlaced.
18854
188552013-11-22 09:49:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18856
18857	* gst/vaapi/gstvaapipostproc.c:
18858	  vaapipostproc: fix memory leaks with advanced deinterlacing.
18859	  Fix memory leaks with advanced deinterlacing, i.e. when we keep track
18860	  of past buffers. Completely reset the deinterlace state, thus destroying
18861	  any buffer currently held, on _start(), _stop() and _destroy().
18862
188632013-11-22 06:59:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18864
18865	* README:
18866	  README: updates.
18867	  - GStreamer 1.2 APIs are supported ;
18868	  - Video Processing (VA/VPP) features.
18869
188702013-11-22 06:45:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18871
18872	* README:
18873	  README: update for GStreamer >= 1.0.x and VPP features.
18874
188752013-11-22 06:37:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18876
18877	* gst-libs/gst/vaapi/glibcompat.h:
18878	* gst-libs/gst/vaapi/gstvaapicontext.h:
18879	* gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
18880	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
18881	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
18882	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
18883	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
18884	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
18885	* gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
18886	* gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
18887	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
18888	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
18889	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
18890	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
18891	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
18892	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
18893	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
18894	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
18895	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
18896	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
18897	* gst-libs/gst/vaapi/gstvaapiimage.c:
18898	* gst-libs/gst/vaapi/gstvaapiimage.h:
18899	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
18900	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
18901	* gst-libs/gst/vaapi/gstvaapiminiobject.h:
18902	* gst-libs/gst/vaapi/gstvaapiobject.c:
18903	* gst-libs/gst/vaapi/gstvaapiobject.h:
18904	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
18905	* gst-libs/gst/vaapi/gstvaapiprofile.c:
18906	* gst-libs/gst/vaapi/gstvaapisurface.h:
18907	* gst-libs/gst/vaapi/gstvaapisurface_priv.h:
18908	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
18909	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
18910	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18911	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
18912	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18913	* gst-libs/gst/vaapi/gstvaapitexture.c:
18914	* gst-libs/gst/vaapi/gstvaapitexture.h:
18915	* gst-libs/gst/vaapi/gstvaapitypes.h:
18916	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
18917	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
18918	* gst-libs/gst/vaapi/gstvaapivalue.c:
18919	* gst-libs/gst/vaapi/gstvaapivalue.h:
18920	* gst-libs/gst/vaapi/gstvaapivideopool.c:
18921	* gst-libs/gst/vaapi/gstvaapivideopool.h:
18922	* gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
18923	* gst-libs/gst/vaapi/gstvaapiwindow.c:
18924	* gst-libs/gst/vaapi/gstvaapiwindow.h:
18925	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
18926	* gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
18927	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
18928	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
18929	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
18930	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
18931	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
18932	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
18933	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
18934	* gst/vaapi/gstvaapi.c:
18935	* gst/vaapi/gstvaapidecode.h:
18936	* gst/vaapi/gstvaapidownload.h:
18937	* gst/vaapi/gstvaapipluginutil.c:
18938	* gst/vaapi/gstvaapipluginutil.h:
18939	* gst/vaapi/gstvaapipostproc.h:
18940	* gst/vaapi/gstvaapisink.h:
18941	* gst/vaapi/gstvaapivideoconverter_glx.h:
18942	* tests/image.c:
18943	* tests/image.h:
18944	* tests/output.h:
18945	* tests/test-display.c:
18946	* tests/test-jpeg.c:
18947	* tests/test-jpeg.h:
18948	* tests/test-mpeg4.c:
18949	* tests/test-mpeg4.h:
18950	* tests/test-surfaces.c:
18951	* tests/test-windows.c:
18952	  legal: update copyright notice dates.
18953
189542013-11-22 05:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18955
18956	* gst-libs/gst/vaapi/glibcompat.h:
18957	* gst-libs/gst/vaapi/gstcompat.h:
18958	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
18959	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
18960	* gst-libs/gst/vaapi/gstvaapicompat.h:
18961	* gst-libs/gst/vaapi/gstvaapicontext.c:
18962	* gst-libs/gst/vaapi/gstvaapicontext.h:
18963	* gst-libs/gst/vaapi/gstvaapidebug.h:
18964	* gst-libs/gst/vaapi/gstvaapidecoder.c:
18965	* gst-libs/gst/vaapi/gstvaapidecoder.h:
18966	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
18967	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
18968	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18969	* gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
18970	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
18971	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
18972	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18973	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
18974	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
18975	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
18976	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
18977	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
18978	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
18979	* gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
18980	* gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
18981	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
18982	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
18983	* gst-libs/gst/vaapi/gstvaapidisplay.c:
18984	* gst-libs/gst/vaapi/gstvaapidisplay.h:
18985	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
18986	* gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
18987	* gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
18988	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
18989	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
18990	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
18991	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
18992	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
18993	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
18994	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
18995	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
18996	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
18997	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
18998	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
18999	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
19000	* gst-libs/gst/vaapi/gstvaapifilter.c:
19001	* gst-libs/gst/vaapi/gstvaapifilter.h:
19002	* gst-libs/gst/vaapi/gstvaapiimage.c:
19003	* gst-libs/gst/vaapi/gstvaapiimage.h:
19004	* gst-libs/gst/vaapi/gstvaapiimage_priv.h:
19005	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
19006	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
19007	* gst-libs/gst/vaapi/gstvaapiminiobject.c:
19008	* gst-libs/gst/vaapi/gstvaapiminiobject.h:
19009	* gst-libs/gst/vaapi/gstvaapiobject.c:
19010	* gst-libs/gst/vaapi/gstvaapiobject.h:
19011	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
19012	* gst-libs/gst/vaapi/gstvaapiparser_frame.c:
19013	* gst-libs/gst/vaapi/gstvaapiparser_frame.h:
19014	* gst-libs/gst/vaapi/gstvaapipixmap.c:
19015	* gst-libs/gst/vaapi/gstvaapipixmap.h:
19016	* gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
19017	* gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
19018	* gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
19019	* gst-libs/gst/vaapi/gstvaapiprofile.c:
19020	* gst-libs/gst/vaapi/gstvaapiprofile.h:
19021	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
19022	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
19023	* gst-libs/gst/vaapi/gstvaapisurface.c:
19024	* gst-libs/gst/vaapi/gstvaapisurface.h:
19025	* gst-libs/gst/vaapi/gstvaapisurface_priv.h:
19026	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19027	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19028	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19029	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19030	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
19031	* gst-libs/gst/vaapi/gstvaapitexture.c:
19032	* gst-libs/gst/vaapi/gstvaapitexture.h:
19033	* gst-libs/gst/vaapi/gstvaapitypes.h:
19034	* gst-libs/gst/vaapi/gstvaapiutils.c:
19035	* gst-libs/gst/vaapi/gstvaapiutils.h:
19036	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
19037	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
19038	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
19039	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
19040	* gst-libs/gst/vaapi/gstvaapivalue.c:
19041	* gst-libs/gst/vaapi/gstvaapivalue.h:
19042	* gst-libs/gst/vaapi/gstvaapivideopool.c:
19043	* gst-libs/gst/vaapi/gstvaapivideopool.h:
19044	* gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
19045	* gst-libs/gst/vaapi/gstvaapiwindow.c:
19046	* gst-libs/gst/vaapi/gstvaapiwindow.h:
19047	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
19048	* gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
19049	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19050	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
19051	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19052	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19053	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
19054	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19055	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
19056	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
19057	* gst-libs/gst/vaapi/gstvaapiworkarounds.h:
19058	* gst-libs/gst/vaapi/sysdeps.h:
19059	* gst-libs/gst/vaapi/video-format.c:
19060	* gst-libs/gst/vaapi/video-format.h:
19061	* gst/vaapi/gstvaapi.c:
19062	* gst/vaapi/gstvaapidecode.c:
19063	* gst/vaapi/gstvaapidecode.h:
19064	* gst/vaapi/gstvaapidownload.c:
19065	* gst/vaapi/gstvaapidownload.h:
19066	* gst/vaapi/gstvaapipluginutil.c:
19067	* gst/vaapi/gstvaapipluginutil.h:
19068	* gst/vaapi/gstvaapipostproc.c:
19069	* gst/vaapi/gstvaapipostproc.h:
19070	* gst/vaapi/gstvaapisink.c:
19071	* gst/vaapi/gstvaapisink.h:
19072	* gst/vaapi/gstvaapiupload.c:
19073	* gst/vaapi/gstvaapiupload.h:
19074	* gst/vaapi/gstvaapiuploader.c:
19075	* gst/vaapi/gstvaapiuploader.h:
19076	* gst/vaapi/gstvaapivideobuffer.c:
19077	* gst/vaapi/gstvaapivideobuffer.h:
19078	* gst/vaapi/gstvaapivideobufferpool.c:
19079	* gst/vaapi/gstvaapivideobufferpool.h:
19080	* gst/vaapi/gstvaapivideocontext.c:
19081	* gst/vaapi/gstvaapivideocontext.h:
19082	* gst/vaapi/gstvaapivideoconverter_glx.c:
19083	* gst/vaapi/gstvaapivideoconverter_glx.h:
19084	* gst/vaapi/gstvaapivideoconverter_x11.c:
19085	* gst/vaapi/gstvaapivideoconverter_x11.h:
19086	* gst/vaapi/gstvaapivideomemory.c:
19087	* gst/vaapi/gstvaapivideomemory.h:
19088	* gst/vaapi/gstvaapivideometa.c:
19089	* gst/vaapi/gstvaapivideometa.h:
19090	* gst/vaapi/gstvaapivideometa_texture.c:
19091	* gst/vaapi/gstvaapivideometa_texture.h:
19092	* tests/codec.c:
19093	* tests/codec.h:
19094	* tests/decoder.c:
19095	* tests/decoder.h:
19096	* tests/image.c:
19097	* tests/image.h:
19098	* tests/output.c:
19099	* tests/output.h:
19100	* tests/simple-decoder.c:
19101	* tests/test-decode.c:
19102	* tests/test-decode.h:
19103	* tests/test-display.c:
19104	* tests/test-filter.c:
19105	* tests/test-h264.c:
19106	* tests/test-h264.h:
19107	* tests/test-jpeg.c:
19108	* tests/test-jpeg.h:
19109	* tests/test-mpeg2.c:
19110	* tests/test-mpeg2.h:
19111	* tests/test-mpeg4.c:
19112	* tests/test-mpeg4.h:
19113	* tests/test-surfaces.c:
19114	* tests/test-textures.c:
19115	* tests/test-vc1.c:
19116	* tests/test-vc1.h:
19117	* tests/test-windows.c:
19118	  legal: add per-file authorship information.
19119	  Credit original authors on a per-file basis as we cannot expect people
19120	  to know all country-specific rules, or bother browsing through the git
19121	  history.
19122
191232013-11-21 23:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19124
19125	* NEWS:
19126	* configure.ac:
19127	  0.5.7.
19128
191292013-11-21 23:51:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19130
19131	* NEWS:
19132	  NEWS: updates.
19133
191342013-11-21 23:17:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19135
19136	* gst-libs/gst/vaapi/gstvaapidecoder.h:
19137	  decoder: don't include obsolete headers.
19138	  The <gst/vaapi/gstvaapicontext.h> header was removed from the public
19139	  set of APIs. So, don't make public headers (gstvaapidecoder.h) depend
19140	  on private files.
19141
191422013-11-18 16:20:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19143
19144	* gst/vaapi/Makefile.am:
19145	* gst/vaapi/gstvaapi.c:
19146	* gst/vaapi/gstvaapipostproc.c:
19147	  vaapipostproc: add initial support for GStreamer 1.2.
19148	  Port vaapipostproc element to GStreamer 1.2. Support is quite minimal
19149	  right now so that to cope with auto-plugging issues/regressions. e.g.
19150	  this happens when the correct set of expected caps are being exposed.
19151	  This means that, currently, the proposed caps are not fully accurate.
19152
191532013-11-01 10:22:17 +0800  Halley Zhao <halley.zhao@intel.com>
19154
19155	* gst/vaapi/gstvaapipostproc.c:
19156	* gst/vaapi/gstvaapipostproc.h:
19157	  vaapipostproc: add support for denoise and sharpen filters.
19158	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19159
191602013-11-21 19:52:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19161
19162	* gst/vaapi/gstvaapipostproc.c:
19163	* gst/vaapi/gstvaapipostproc.h:
19164	  vaapipostproc: add support for advanced deinterlacing.
19165	  Add initial support for advanced deinterlacing. The history buffer
19166	  size is arbitrarily set to 3 references for now.
19167
191682013-11-21 22:32:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19169
19170	* gst/vaapi/gstvaapipostproc.c:
19171	  vaapipostproc: fix deinterlacing with VPP.
19172	  Fix basic deinterlacing flags provided to gst_vaapi_set_deinterlacing()
19173	  for the first field. Render flags were supplied instead of the actual
19174	  deinterlacing flags (deint_flags).
19175
191762013-11-21 15:08:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19177
19178	* gst/vaapi/gstvaapipostproc.c:
19179	  vaapipostproc: fix transform caps.
19180	  Fix GstBaseTransform::transform_caps() implementation to always return
19181	  the complete set of allowed sink pad caps (unfixated) even if the src
19182	  pad caps we are getting are fixated. Rationale: there are just so many
19183	  possible combinations, and it was wrong to provide a unique set anyway.
19184	  As a side effect, this greatly simplifies the ability to derive src pad
19185	  caps from fixated sink pad caps.
19186
191872013-11-01 10:31:13 +0800  Halley Zhao <halley.zhao@intel.com>
19188
19189	* docs/reference/libs/libs-sections.txt:
19190	* gst-libs/gst/vaapi/gstvaapifilter.c:
19191	* gst-libs/gst/vaapi/gstvaapifilter.h:
19192	  filter: add helper to specify references for deinterlacing.
19193	  Add gst_vaapi_fitler_set_deinterlacing_references() API to submit the
19194	  list of surfaces used for forward or backward reference in advanced
19195	  deinterlacing mode, e.g. Motion-Adaptive, Motion-Compensated.
19196	  The list of surfaces used as deinterlacing references shall be live
19197	  until the next call to gst_vaapi_filter_process().
19198	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19199
192002013-11-21 18:44:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19201
19202	* gst-libs/gst/vaapi/gstvaapifilter.c:
19203	* gst-libs/gst/vaapi/gstvaapifilter.h:
19204	* gst-libs/gst/vaapi/gstvaapiutils.c:
19205	* gst/vaapi/gstvaapipostproc.c:
19206	* tests/test-filter.c:
19207	  filter: fix semantics of deinterlacing flags.
19208	  Fix deinterlacing flags to make more sense. The TFF (top-field-first)
19209	  flag is meant to specify the organization of reference frames used in
19210	  advanced deinterlacing modes. Introduce the more explicit flag TOPFIELD
19211	  to specify that the top-field of the supplied input surface is to be
19212	  used for deinterlacing. Conversely, if not set, this means that the
19213	  bottom field of the supplied input surface will be used instead.
19214
192152013-11-21 17:20:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19216
19217	* docs/reference/libs/libs-sections.txt:
19218	* gst-libs/gst/vaapi/gstvaapifilter.c:
19219	* gst-libs/gst/vaapi/gstvaapifilter.h:
19220	  filter: add helpers to check for supported/active operation.
19221	  Add a couple of helper functions:
19222	  - gst_vaapi_filter_has_operation(): checks whether the VA driver
19223	  advertises support for the supplied operation ;
19224	  - gst_vaapi_filter_use_operation(): checks whether the supplied
19225	  operation was already enabled to its non-default value.
19226
192272013-11-20 15:10:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19228
19229	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19230	  libs: fix GstVaapiSurfaceProxy destroy notify call site.
19231	  The user-defined destroy notify function is meant to be called only when
19232	  the surface proxy was fully released, i.e. once it actually released the
19233	  VA surface back to the underlying pool.
19234
192352013-08-29 13:44:22 +0800  XuGuangxin <guangxin.xu@intel.com>
19236
19237	* gst-libs/gst/vaapi/gstvaapivideopool.c:
19238	* gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
19239	  libs: make GstVaapiVideoPool thread-safe.
19240	  https://bugzilla.gnome.org/show_bug.cgi?id=707108
19241	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19242
192432013-08-29 14:04:06 +0800  XuGuangxin <guangxin.xu@intel.com>
19244
19245	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19246	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19247	  libs: robustify decoder objects and surface proxy initialization.
19248	  Fix GstVaapiPicture, GstVaapiSlice and GstVaapiSurfaceProxy initialization
19249	  sequences to have the expected default values set beforehand in case of an
19250	  error raising up further during creation. i.e. make it possible to cleanly
19251	  destroy those partially initialized objects.
19252	  https://bugzilla.gnome.org/show_bug.cgi?id=707108
19253	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19254
192552013-11-21 11:01:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19256
19257	* gst/vaapi/gstvaapidecode.c:
19258	  vaapidecode: fix decoder flush.
19259	  There are situations where gst_video_decoder_flush() is called, and
19260	  this subsequently produces a gst_video_decoder_reset() that kills the
19261	  currently active GstVideoCodecFrame. This means that it no longer
19262	  exists by the time we reach GstVideoDecoder::finish() callback, thus
19263	  possibly resulting in a crash if we assumed spare data was still
19264	  available for decode (current_frame_size > 0).
19265	  Try to honour GstVideoDecoder::reset() behaviour from GStreamer 1.0
19266	  that means a flush, thus performing the actual operations there like
19267	  calling gst_video_decoder_have_frame() if pending data is available.
19268
192692013-11-20 19:21:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19270
19271	* gst/vaapi/gstvaapidecode.c:
19272	* gst/vaapi/gstvaapidecode.h:
19273	  vaapidecode: fix dead-locks with decoder task.
19274	  Review all interactions between the main video decoder stream thread
19275	  and the decode task to derive a correct sequence of operations for
19276	  decoding. Also avoid extra atomic operations that become implicit under
19277	  the GstVideoDecoder stream lock.
19278
192792013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
19280
19281	* gst/vaapi/gstvaapidecode.c:
19282	  vaapidecode: fix hard reset for seek cases.
19283	  Fix hard reset for seek cases by flushing the GstVaapiDecoder queue
19284	  and completely purge any decoded output frame that may come out from
19285	  it. At this stage, the GstVaapiDecoder shall be in a complete clean
19286	  state to start decoding over new buffers.
19287	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19288
192892013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
19290
19291	* gst/vaapi/gstvaapidecode.c:
19292	* gst/vaapi/gstvaapidecode.h:
19293	  vaapidecode: drop decode timeout, always wait for a free surface.
19294	  vaapidecode used to wait up to one second past the expected time of
19295	  presentation for the last decoded frame. This is not realistic in
19296	  practice when it comes to video pause/resume. Changed behaviour to
19297	  unconditionnally wait for a free VA surface prior to continuing the
19298	  decoding. The decode task will continue pushing the output frames to
19299	  the downstream element while also reporting errors at the same time
19300	  to the main thread.
19301	  https://bugzilla.gnome.org/show_bug.cgi?id=707108
19302	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19303
193042013-11-20 10:56:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19305
19306	* gst/vaapi/gstvaapidecode.c:
19307	  vaapidecode: fix srcpad caps for GStreamer 1.2.
19308	  The srcpad caps exposed for GStreamer 1.2 were missing any useful info
19309	  like framerate, pixel-aspect-ratio, interlace-mode et al. Not to mention
19310	  that it relied on possibly un-initialized data. Fix srcpad caps to be
19311	  initialized from a sanitized copy of GstVideoDecoder output state caps.
19312	  Note: the correct way to expose the srcpad caps triggers an additional
19313	  issue in core GStreamer auto-plugging capabilities as the correct caps
19314	  to be exposed should be format=ENCODED with memory:VASurface caps feature
19315	  at the minimum. In some situations, we could determine the underlying
19316	  VA surface format, but this is not always possible. e.g. cases where it
19317	  is not allowed to expose the underlying VA surface data, or when the
19318	  VA driver implementation cannot actually provide such information.
19319
193202013-11-20 10:45:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19321
19322	* gst/vaapi/gstvaapidecode.c:
19323	* gst/vaapi/gstvaapisink.c:
19324	  plugins: streamline VA formats exposed in caps to a realistic set.
19325	  Currently, the decoder only supports YUV 4:2:0 output. So, expose the
19326	  output formats for GStreamer 1.2 in caps to a realistic subset. This
19327	  means NV12, I420 or YV12 but also ENCODED if we cannot determine the
19328	  underlying VA surface format, or if it is actually not allowed to get
19329	  access to the surface contents.
19330
193312013-11-20 10:37:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19332
19333	* gst/vaapi/gstvaapidecode.c:
19334	* gst/vaapi/gstvaapisink.c:
19335	  plugins: expose the expected format for GstVideoGLTextureUploadMeta.
19336	  Fix vaapidecode srcpad caps to only expose RGBA video format for the
19337	  meta:GstVideoGLTextureUploadMeta feature. That's only what is supported
19338	  so far. Besides, drop this meta from the vaapisink sinkpad caps since
19339	  we really don't support that for rendering.
19340	  https://bugzilla.gnome.org/show_bug.cgi?id=711828
19341
193422013-11-18 18:25:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19343
19344	* configure.ac:
19345	  configure: automatically detect GStreamer API version.
19346	  Automatically detect GStreamer API version. The --with-gstreamer-api
19347	  configure option now defaults to "autodetect" and configure then tries
19348	  to derive the GStreamer API version from the highest version based on
19349	  what pkg-config --modversion would report.
19350	  https://bugzilla.gnome.org/show_bug.cgi?id=711657
19351
193522013-11-01 13:43:11 +0800  Wind Yuan <feng.yuan@intel.com>
19353
19354	* gst/vaapi/gstvaapipostproc.c:
19355	  vaapipostproc: fix support for raw YUV data upload on GStreamer 1.0.
19356	  Fix raw YUV data uploaded as in the following pipeline:
19357	  $ gst-launch-1.0 filesrc video.yuv ! videoparse ! vaapipostproc ! vaapisink
19358	  The main reason why it failed was that the videoparse element simply
19359	  allocates GstBuffer with raw data chunk'ed off the sink pad without
19360	  any prior knowledge of the actual frame info. i.e. it basically just
19361	  calls gst_adapter_take_buffer().
19362	  We could avoid the extra copy performed in vaapipostproc if the videoparse
19363	  element was aware of the downstream pool and bothers copying line by
19364	  line, for each plane. This means that, for a single frame per buffer,
19365	  the optimizatin will be to allocate the video buffer downstream, map
19366	  it, and copy each line that is coming through until we need to fills
19367	  in the successive planes.
19368	  Still, optimized raw YUV uploads already worked with the following:
19369	  $ gst-launch-1.0 videotestsrc ! vaapipostproc ! vaapisink
19370	  https://bugzilla.gnome.org/show_bug.cgi?id=711250
19371	  [clean-ups, fixed error cases to unmap and unref outbuf]
19372	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19373
193742013-11-16 07:02:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19375
19376	* gst/vaapi/gstvaapipostproc.c:
19377	  vaapipostproc: try to downgrade deinterlace-method when needed.
19378	  If the currently selected deinterlacing method is not supported by the
19379	  underlying hardware, then try to downgrade the method to a supported one.
19380	  At the minimum, basic bob-deinterlacing shall always be supported.
19381
193822013-11-15 19:04:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19383
19384	* gst/vaapi/gstvaapipostproc.c:
19385	  vaapipostproc: add initial support for deinterlacing with VPP.
19386	  Allow basic bob-deinterlacing to work when VPP is enabled. Currently,
19387	  this only covers bob-deinterlacing when the output pixel format is
19388	  explicitly set.
19389
193902013-11-15 17:14:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19391
19392	* gst/vaapi/gstvaapipostproc.c:
19393	  vaapipostproc: fix build on 64-bit platforms with GStreamer 0.10.
19394	  The size argument for GstBaseTransform::transform_size() hook is a
19395	  guint in GStreamer 0.10 APIs but a gsize in GStreamer >= 1.0.X APIs.
19396
193972013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19398
19399	* gst/vaapi/gstvaapipostproc.c:
19400	* gst/vaapi/gstvaapipostproc.h:
19401	  vaapipostproc: add initial support for scaling.
19402	  Add initial support for basic scaling with size specified through the
19403	  "width" and "height" properties. If either user-provided dimension is
19404	  zero and "force-aspect-ratio" is set to true (the default), then the
19405	  other dimension is scaled to preserve the aspect ratio.
19406
194072013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19408
19409	* gst/vaapi/gstvaapipostproc.c:
19410	* gst/vaapi/gstvaapipostproc.h:
19411	  vaapipostproc: add initial support for color conversion.
19412	  If VPP is available, we always try to implicitly convert the source
19413	  buffer to the "native" surface format for the underlying accelerator.
19414	  This means that no optimization is performed yet to propagate raw YUV
19415	  buffers to the downstream element as is, if VPP is available. i.e. it
19416	  will always cause a color conversion.
19417
194182013-10-16 11:23:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19419
19420	* gst/vaapi/gstvaapipostproc.c:
19421	  vaapipostproc: fix bug when user disabled deinterlacing.
19422	  Fix pipeline error / hang when the user disabled deinterlacing through
19423	  the deinterlace-mode=disabled property setting.
19424
194252013-10-16 11:20:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19426
19427	* gst/vaapi/gstvaapipostproc.c:
19428	* gst/vaapi/gstvaapipostproc.h:
19429	  vaapipostproc: factor out operations to be applied into flags.
19430	  Even if we only support deinterlacing for now, use flags to specify
19431	  which filters are to be applied to each frame we receive in transform().
19432	  This is preparatory work for integrating new filters.
19433
194342013-10-04 15:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19435
19436	* gst/vaapi/gstvaapipostproc.c:
19437	* gst/vaapi/gstvaapipostproc.h:
19438	  vaapipostproc: add support for raw YUV video source buffers.
19439	  Allow video processing from raw YUV buffers coming from the sink pad,
19440	  while still producing a VA surface for the downstream elements.
19441
194422013-10-04 16:00:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19443
19444	* gst/vaapi/gstvaapipluginutil.c:
19445	* gst/vaapi/gstvaapipluginutil.h:
19446	* gst/vaapi/gstvaapipostproc.c:
19447	  vaapipostproc: add support for "mixed" interlace mode.
19448	  Add support for "mixed" interlace-mode, whereby the video frame buffer
19449	  shall be deinterlaced only if its flags mention that's actually an
19450	  interlaced frame buffer.
19451
194522013-10-03 19:04:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19453
19454	* gst-libs/gst/vaapi/gstcompat.h:
19455	* gst/vaapi/gstvaapipostproc.c:
19456	* gst/vaapi/gstvaapipostproc.h:
19457	* gst/vaapi/gstvaapivideobuffer.c:
19458	* gst/vaapi/gstvaapivideobuffer.h:
19459	  vaapipostproc: rework plug-in element.
19460	  Rewrite the vaapipostproc plug-in element so that it derives from
19461	  GstBaseTransform, thus simplifying the caps negotiation process.
19462
194632013-10-09 17:25:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19464
19465	* gst/vaapi/gstvaapivideobufferpool.c:
19466	* gst/vaapi/gstvaapivideomemory.c:
19467	* gst/vaapi/gstvaapivideomemory.h:
19468	  plugins: fix and optimize check for buffer pool allocator params.
19469	  Reset the buffer pool allocator only if the config caps changed in a
19470	  sensible way: format or resolution change. i.e. don't bother with
19471	  other caps like colorimetry et al. as this doesn't affect the way to
19472	  allocate VA surfaces or images.
19473
194742013-10-09 10:33:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19475
19476	* gst/vaapi/gstvaapivideomemory.c:
19477	  plugins: enable memory maps for read & write with direct-rendering.
19478	  Enable read and write mappings only if direct-rendering is supported.
19479	  Otherwise, this means that we may need to download data from the VA
19480	  surface first for correctness, even if the VA surface doesn't need to
19481	  be read at all. i.e. sometimes, READWRITE mappings are meant for
19482	  surfaces that are written to first, and read afterwards for further
19483	  processing.
19484	  https://bugzilla.gnome.org/show_bug.cgi?id=704078
19485
194862013-10-09 10:06:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19487
19488	* gst/vaapi/gstvaapivideomemory.c:
19489	  plugins: fix check for direct-rendering support.
19490	  Fix check for direct-rendering if the creation of VA surfaces with
19491	  an explicit pixel format is not support, e.g. VA-API < 0.34.0, and
19492	  that we tried to allocate a VA surface based on the corresponding
19493	  chroma type. i.e. in that particular case, we have to make sure that
19494	  the derived image has actually the expected format.
19495
194962013-10-09 09:47:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19497
19498	* gst/vaapi/gstvaapivideobufferpool.c:
19499	* gst/vaapi/gstvaapivideomemory.c:
19500	* gst/vaapi/gstvaapivideomemory.h:
19501	  plugins: fix buffer pool reset_buffer() to reset memory resources.
19502	  Fix GstVaapiVideoBufferPool::reset_buffer() to reset the underlying
19503	  memory resources, and more particularly the VA surface proxy. Most
19504	  importantly, the GstVaapiVideoMeta is retained. Cached surface in
19505	  memory are released, thus triggering a new allocation the next time
19506	  we need to map the buffer.
19507
195082013-10-09 09:33:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19509
19510	* gst/vaapi/gstvaapivideomemory.c:
19511	* gst/vaapi/gstvaapivideomemory.h:
19512	  plugins: fix GstVaapiVideoMemory to allocate VA surface proxies.
19513	  Make sure GstVaapiVideoMemory allocates VA surface proxies from a
19514	  pool stored in the parent VA memory allocator.
19515	  This fixes the following scenario:
19516	  - VA video buffer 1 is allocated from a buffer pool
19517	  - Another video buffer is created, and inherits info from buffer 1
19518	  - Buffer 1 is released, thus pushing it back to the buffer pool
19519	  - New buffer alloc request comes it, this yields buffer 1 back
19520	  - At this stage, buffers 1 and 2 still share the same underlying VA
19521	  surface, but buffer 2 was already submitted downstream for further
19522	  processing, thus conflicting with additional processing we were
19523	  about to perform on buffer 1.
19524	  Maybe the core GstBufferPool implementation should have been fixed
19525	  instead to actually make sure that the returned GstBuffer memory we
19526	  found from the pool is writable?
19527
195282013-10-04 19:34:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19529
19530	* gst/vaapi/gstvaapiuploader.c:
19531	  plugins: create a proxy for GstVaapiUploader allocated buffers.
19532	  Always make sure to allocate a VA surface proxy for GstVaapiUploader
19533	  allocated buffers, i.e. make gst_vaapi_uploader_get_buffer() allocate
19534	  a proxy surface.
19535	  This fixes cases where we want to retain the underlying surface longer,
19536	  instead of releasing it back to the surface pool right away.
19537
195382013-10-04 19:30:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19539
19540	* gst/vaapi/gstvaapidecode.c:
19541	* gst/vaapi/gstvaapipluginutil.c:
19542	* gst/vaapi/gstvaapipluginutil.h:
19543	* gst/vaapi/gstvaapipostproc.c:
19544	  plugins: add helper function to disable deinterlacing in caps.
19545	  Add gst_caps_set_interlaced() helper function that would reset the
19546	  interlace-mode field to "progressive" for GStreamer >= 1.0, or the
19547	  interlaced field to "false" for GStreamer 0.10.
19548
195492013-10-01 18:26:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19550
19551	* gst-libs/gst/vaapi/gstvaapifilter.c:
19552	  filter: fix memory leak of VPP operations.
19553	  Fix ensure_operations() to release the VPP operations array if non
19554	  NULL, prior to returning to the caller. The former function was also
19555	  renamed to a more meaningful get_operations() since the caller owns
19556	  the returned array that needs to be released.
19557
195582013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
19559
19560	* gst-libs/gst/vaapi/gstvaapifilter.c:
19561	  filter: fix first-time operation lookup.
19562	  Fix first-time operation lookup through find_operation() if the set
19563	  of supported operations was not initially determined through the
19564	  gst_vaapi_filter_get_operations() helper function.
19565	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19566
195672013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
19568
19569	* gst-libs/gst/vaapi/gstvaapifilter.c:
19570	  filter: fix colorbalance related subtypes.
19571	  Fix intiialization of GstVaapiFilterOpData for colorbalance related
19572	  operations. In particular, fill in the va_subtype field accordingly.
19573	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19574
195752013-09-30 17:08:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19576
19577	* gst-libs/gst/vaapi/gstvaapifilter.c:
19578	  filter: fix VA-API 0.34.0 symbol guards.
19579	  VASurfaceAttrib and VAProcFilterParameterBufferType are symbols
19580	  that need to be guarded for libva 0.34 and 0.33, respectively.
19581	  https://bugzilla.gnome.org/show_bug.cgi?id=709102
19582	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19583
195842013-10-01 17:57:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19585
19586	* gst/vaapi/gstvaapidecode.c:
19587	* gst/vaapi/gstvaapipluginutil.c:
19588	* gst/vaapi/gstvaapisink.c:
19589	  plugins: hanle the context query in any pad.
19590	  Also this patch simplifies the code, since now the query is common for the
19591	  decoder and the sink.
19592	  https://bugzilla.gnome.org/show_bug.cgi?id=709200
19593
195942013-10-01 12:09:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19595
19596	* gst/vaapi/gstvaapivideocontext.c:
19597	  plugins: query upstream element for a GstContext.
19598	  Fix gst_vaapi_video_context_prepare() to also query upstream elements
19599	  for a valid GstContext. Improve comments regarding the steps used to
19600	  lookup or build that context, thus conforming to the GstContext API
19601	  recommendations.
19602	  https://bugzilla.gnome.org/show_bug.cgi?id=709112
19603	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19604
196052013-09-26 15:21:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19606
19607	* configure.ac:
19608	* debian.upstream/control.in:
19609	  Fix detection and packaging of GStreamer 1.2.x builds.
19610	  The GStreamer 1.2.x packages sticked to the naming convention for 1.0.x
19611	  packages, i.e. -1.0 suffix. However, for gstreamer-vaapi packaging
19612	  purposes, update the versioning to -1.2 suffix instead.
19613
196142013-07-15 13:41:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19615
19616	* gst/vaapi/Makefile.am:
19617	* gst/vaapi/gstvaapidecode.c:
19618	* gst/vaapi/gstvaapidecode.h:
19619	* gst/vaapi/gstvaapisink.c:
19620	* gst/vaapi/gstvaapivideometa_texture.c:
19621	* gst/vaapi/gstvaapivideometa_texture.h:
19622	  plugins: add support for GstVideoGLTextureUploadMeta.
19623	  If the allocation meta GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE is
19624	  requested, and more specifically under a GLX configuration, then add
19625	  the GstVideoGLTextureUploadMeta to the output buffer.
19626	  https://bugzilla.gnome.org/show_bug.cgi?id=703236
19627	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19628
196292013-07-04 11:03:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19630
19631	* gst/vaapi/gstvaapidecode.c:
19632	* gst/vaapi/gstvaapisink.c:
19633	* gst/vaapi/gstvaapivideomemory.h:
19634	  plugins: add support for GstCaps features.
19635	  Move VA video buffer memory from "video/x-surface,type=vaapi" format,
19636	  as expressed in caps, to the more standard use of caps features. i.e.
19637	  add "memory:VASurface" feature attribute to the associated caps.
19638	  https://bugzilla.gnome.org/show_bug.cgi?id=703271
19639	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19640
196412013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19642
19643	* gst/vaapi/gstvaapidecode.c:
19644	* gst/vaapi/gstvaapisink.c:
19645	  plugins: improve ::query() debugging messages.
19646	  Fix gst_vaapidecode_query() to correctly display the query type name,
19647	  instead of randomly displaying that we shared the underlying display.
19648	  Also add debug info for the GstVaapiSink::query() handler, i.e. the
19649	  supplied query type name actually.
19650	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19651
196522013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19653
19654	* gst/vaapi/gstvaapidecode.c:
19655	* gst/vaapi/gstvaapisink.c:
19656	  plugins: add support for GstContext API.
19657	  Add support for the new GstContext API from GStreamer 1.2.x.
19658	  - implement the GstElement::set_context() hook ;
19659	  - reply to the `context' query from downstream elements.
19660	  https://bugzilla.gnome.org/show_bug.cgi?id=703235
19661	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19662
196632013-05-22 12:07:52 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19664
19665	* gst/vaapi/Makefile.am:
19666	* gst/vaapi/gstvaapipluginutil.c:
19667	* gst/vaapi/gstvaapivideocontext.c:
19668	* gst/vaapi/gstvaapivideocontext.h:
19669	  plugins: add compat layer for GstVideoContext.
19670	  Add thin compatibility layer for the deprecated GstVideoContext API.
19671	  For GStreamer API >= 1.2, this involves the following two functions:
19672	  - gst_vaapi_video_context_prepare(): queries if a context is already
19673	  set in the pipeline ;
19674	  - gst_vaapi_video_context_propagate(): propagates the newly-created
19675	  context to the rest of the pipeline.
19676	  https://bugzilla.gnome.org/show_bug.cgi?id=703235
19677	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19678
196792013-05-21 12:42:39 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19680
19681	* configure.ac:
19682	* gst/vaapi/Makefile.am:
19683	* gst/vaapi/gstvaapi.c:
19684	* gst/vaapi/gstvaapidecode.c:
19685	* gst/vaapi/gstvaapipluginutil.c:
19686	* gst/vaapi/gstvaapisink.c:
19687	* gst/vaapi/gstvaapivideobuffer.c:
19688	  plugins: initial port to GStreamer 1.2.
19689	  Port vaapidecode and vaapisink plugins to GStreamer API >= 1.2. This
19690	  is rather minimalistic so that to test the basic functionality.
19691	  Disable vaapipostproc plugin for now as further polishing is needed.
19692	  Also disable GstVideoContext interface support since this API is now
19693	  gone in 1.2.x. This is preparatory work for GstContext support.
19694	  https://bugzilla.gnome.org/show_bug.cgi?id=703235
19695	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19696
196972013-09-24 16:21:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19698
19699	* tests/simple-decoder.c:
19700	  tests: simple-decoder: fix for non-X11 backends.
19701	  Don't try to create pixmaps if we have not requested that feature. This
19702	  fixes execution for non-X11 backends, and most specifically DRM video
19703	  output mode.
19704
197052013-09-24 16:22:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19706
19707	* ext/codecparsers:
19708	  codecparsers: update to gst-vaapi-branch commit b33bd32.
19709	  b33bd32 jpeg: fix and optimize scan for next marker code
19710
197112013-09-23 19:14:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19712
19713	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19714	  jpeg: fix calculation of MCU count.
19715	  Fix calculation of MCU count for image sizes that are not a multiple
19716	  of 8 pixels in either dimension, but also for non-common sampling
19717	  factors like 4:2:2 in non-interleaved mode.
19718
197192013-09-23 16:49:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19720
19721	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19722	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19723	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
19724	  jpeg: add support for multiscan images.
19725	  Add support for images with multiple scans per frame. The Huffman table
19726	  can be updated before SOS, and thus possibly requiring multiple uploads
19727	  of Huffman tables to the VA driver. So, the latter must be able to cope
19728	  with multiple VA buffers of type 'huffman-table' and with the correct
19729	  sequential order.
19730
197312013-09-23 11:41:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19732
19733	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19734	  jpeg: improve robustness when packets are missing.
19735	  Improve robustness when some expected packets where not received yet
19736	  or that were not correctly decoded. For example, don't try to decode
19737	  a picture if there was no valid frame headers.
19738
197392013-09-20 16:46:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19740
19741	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19742	  jpeg: minor clean-ups.
19743	  Improve debugging and error messages. Rename a few variables to fit the
19744	  existing naming conventions. Change some fatal asserts to non-fatal
19745	  error codes.
19746
197472013-09-20 10:12:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19748
19749	* gst-libs/gst/vaapi/gstvaapidecoder.c:
19750	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19751	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
19752	  jpeg: rework and optimize parser.
19753	  Split the input buffer data into decoder units that represent a JPEG
19754	  segment. Handle scan decoder unit specifically so that it can include
19755	  both the scan header (SOS) but also any other ECS or RSTi segment.
19756	  That way, we parse the input buffer stream only once at the gst-vaapi
19757	  level instead of (i) in gst_vaapi_decoder_jpeg_parse() to split the
19758	  stream into frames SOI .. EOI and (ii) in decode_buffer() to further
19759	  determine segment boundaries and decode them.
19760	  In practice, this is a +15 to +25% performance improvement.
19761
197622013-09-17 14:29:54 +0800  Junfeng Xu <jun.feng.xu@intel.com>
19763
19764	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19765	  jpeg: handle comment segments.
19766	  Fix decode_buffer() function to gracefully skip comment (COM) segments.
19767	  This fixes decoding of streams generated by certain cameras, e.g. like
19768	  the Logitech Pro C920.
19769	  https://bugzilla.gnome.org/show_bug.cgi?id=708208
19770	  Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
19771
197722013-09-18 17:59:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19773
19774	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19775	  jpeg: fix determination of image bounds.
19776	  Look for the exact image bounds characterised by the <SOI> and <EOI>
19777	  markers. Use the gst_jpeg_parse() codec parser utility function to
19778	  optimize the lookup for the next marker segment.
19779	  https://bugzilla.gnome.org/show_bug.cgi?id=707447
19780
197812013-09-10 15:46:09 +0800  Junfeng Xu <jun.feng.xu@intel.com>
19782
19783	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19784	  jpeg: fix calculation of offset to next marker segment.
19785	  Fix calculation of the offset to the next marker segment since the
19786	  correction of the codecparser part to match the API specification.
19787	  i.e. the GstJpegMarkerSegment.size field represents the size in bytes
19788	  of the segment minus any marker prefix.
19789	  https://bugzilla.gnome.org/show_bug.cgi?id=707447
19790	  Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
19791
197922013-09-20 18:30:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19793
19794	* ext/codecparsers:
19795	  codecparsers: update to gst-vaapi-branch commit 23c7dde.
19796	  23c7dde jpeg: fix calculation of segment size
19797
197982013-08-31 16:00:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19799
19800	* configure.ac:
19801	  Bump version for development.
19802
198032013-08-31 15:47:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19804
19805	* NEWS:
19806	* configure.ac:
19807	  0.5.6.
19808
198092013-08-31 15:46:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19810
19811	* NEWS:
19812	  NEWS: updates.
19813
198142013-08-15 17:59:37 +0800  Wind Yuan <feng.yuan@intel.com>
19815
19816	* configure.ac:
19817	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19818	  configure: fix detection of VA/JPEG decoding API.
19819	  Fix detection of VA/JPEG decoding API with non-standard libva packages.
19820	  More precisely, some packages were shipping with a <va/va.h> header that
19821	  did not include <va/va_dec_jpeg.h>.
19822	  https://bugzilla.gnome.org/show_bug.cgi?id=706055
19823	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19824
198252013-04-18 19:49:42 +0800  Zhao Halley <halley.zhao@intel.com>
19826
19827	* gst/vaapi/gstvaapisink.c:
19828	  vaapisink: ensure the uploader is setup for upstream allocated buffers.
19829	  In GStreamer 0.10 builds, make sure that the GstVaapiUploader helper
19830	  is setup in case upstream elements allocate buffers themselves without
19831	  honouring our GstVaapiSink::bufer_alloc() hook.
19832	  In particular, this fixes support for OGG video streams with WebKit.
19833	  https://bugzilla.gnome.org/show_bug.cgi?id=703934
19834	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19835
198362013-08-29 19:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19837
19838	* gst/vaapi/gstvaapisink.c:
19839	  vaapisink: simplify get_render_buffer() for GStreamer 0.10 builds.
19840	  Implement and use gst_vaapisink_get_render_buffer() for GStreamer 0.10
19841	  builds as well.
19842
198432013-08-29 18:34:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19844
19845	* gst/vaapi/gstvaapisink.c:
19846	* gst/vaapi/gstvaapisink.h:
19847	  vaapisink: handle raw buffers not created from VA video buffer pool.
19848	  Handle raw video buffers that were not created from a VA video buffer
19849	  pool. Use the generic GstVideo API to copy buffers in GStreamer 1.0.x
19850	  builds instead of the GstVaapiUploader.
19851	  https://bugs.freedesktop.org/show_bug.cgi?id=55818
19852
198532013-08-29 19:33:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19854
19855	* gst/vaapi/gstvaapidecode.c:
19856	  vaapidecode: remove extraneous size information from allowed caps.
19857	  Fix _getcaps() implementation to not report codecs with size information
19858	  filled in the returned caps. That's totally useless nowadays. Ideally,
19859	  this is a hint to insert a video parser element, thus allowing future
19860	  optimizations, but this is not a strict requirement for gstreamer-vaapi,
19861	  which is able to parse the elementary bitstreams itself.
19862	  https://bugzilla.gnome.org/show_bug.cgi?id=704734
19863
198642013-07-30 14:05:39 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
19865
19866	* gst/vaapi/gstvaapidecode.c:
19867	* gst/vaapi/gstvaapidecode.h:
19868	  vaapidecode: submit the last frame from output adapter to decoder.
19869	  If there is no frame delimiter at the end of the stream, e.g. no
19870	  end-of-stream or end-of-sequence marker, and that the current frame
19871	  was fully parsed correctly, then assume that last frame is complete
19872	  and submit it to the decoder.
19873	  https://bugzilla.gnome.org/show_bug.cgi?id=705123
19874	  Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
19875	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19876
198772013-08-29 11:55:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19878
19879	* gst/vaapi/gstvaapidecode.c:
19880	* gst/vaapi/gstvaapidecode.h:
19881	  vaapidecode: push all decoded frames from within the task.
19882	  Make sure to push all decoded frames from the task so that the unlying
19883	  VA surfaces could all be rendered from the same thread.
19884
198852013-08-27 18:24:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19886
19887	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19888	  wayland: render the raw surface if VPP failed.
19889	  As a last resort, if video processing capabilities (VPP) are not available,
19890	  or they did not produce anything conclusive enough, then try to fallback to
19891	  the original rendering code path whereby the whole VA surface is rendered
19892	  as is, no matter of video cropping or deinterlacing requests.
19893	  Note: under those conditions, the visual outcome won't be correct but at
19894	  least, something gets displayed instead of bailing out.
19895
198962013-08-27 18:20:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19897
19898	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19899	  wayland: add supporting for video processing.
19900	  Try to use VA/VPP processing capabilities to handle video cropping and
19901	  additional rendering flags that may not be directly supported by the
19902	  underlying hardware when exposing a suitable Wayland buffer for the
19903	  supplied VA surface. e.g. deinterlacing, different color primaries than
19904	  BT.601, etc.
19905
199062013-08-27 16:26:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19907
19908	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19909	  wayland: add new frame redraw infrastructure.
19910	  Update the frame redraw infrastructure with a new FrameState stucture
19911	  holds all the necessary information used to display the next pending
19912	  surface.
19913	  While we are at it, delay the sync operation down to when it is actually
19914	  needed. That way, we keep performing additional tasks meanwhile.
19915
199162013-08-27 18:06:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19917
19918	* docs/reference/libs/libs-sections.txt:
19919	* gst-libs/gst/vaapi/gstvaapifilter.c:
19920	* gst-libs/gst/vaapi/gstvaapifilter.h:
19921	  filter: allow specification of render target regions.
19922	  Add support for rendering the source surface to a particular region within
19923	  the supplied target surface. The default background color is black.
19924
199252013-08-26 17:14:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19926
19927	* gst/vaapi/gstvaapivideobuffer.c:
19928	  decode: fix creation of GLX video buffers for GStreamer 0.10.
19929	  Fix creation of GstVaapiVideoBuffer objects (i) to have that type for real;
19930	  and (ii) to correctly extract the GstSurfaceConverter from the video buffer
19931	  object meta.
19932	  This fixes support for cluttersink with GStreamer 0.10 builds.
19933
199342013-08-26 16:15:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19935
19936	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19937	  mpeg2: disable video cropping as picture_display_extension() is missing.
19938	  Disable video cropping in MPEG-2 codec because it is partially implemented
19939	  and actually because nobody implements it that way, and the standard spec
19940	  does not specify the display process either anyway.
19941	  Most notably, there are two possible use cases for sequence_display_extension()
19942	  horizontal_display_size & vertical_display_size: (i) guesstimating the
19943	  pixel-aspect-ratio, or (ii) implement some kind of span & scan process
19944	  in conjunction with picture_display_extension() information.
19945	  https://bugzilla.gnome.org/show_bug.cgi?id=704848
19946
199472013-08-16 16:58:58 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19948
19949	* gst/vaapi/gstvaapisink.c:
19950	* gst/vaapi/gstvaapisink.h:
19951	  vaapisink: allow scaling to ignore aspect ratio.
19952	  Other GStreamer sinks, like xvimagesink, have a force-aspect-ratio property,
19953	  which allows you to say that you don't want the sink to respect aspect
19954	  ratio. Add the same property to vaapisink.
19955	  http://lists.freedesktop.org/archives/libva/2012-September/001298.html
19956	  Signed-off-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
19957
199582013-05-14 15:19:04 +0800  Wind Yuan <feng.yuan@intel.com>
19959
19960	* gst/vaapi/gstvaapisink.c:
19961	  vaapisink: fix memory leak of GstVaapiUploader instance.
19962	  Make sure gst_vaapisink_ensure_uploader() checks for the existence
19963	  of a former GstVaapiUploader instance prior to forcibly creating a
19964	  new one.
19965	  https://bugzilla.gnome.org/show_bug.cgi?id=703980
19966
199672013-07-31 16:49:20 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
19968
19969	* gst/vaapi/gstvaapisink.c:
19970	  vaapisink: fix get_caps() implementation for GStreamer 1.0.
19971	  Fix GstBaseSink::get_caps() implementation for GStreamer 1.0.X builds
19972	  by honouring the filter caps argument. More precisely, this fixes the
19973	  following pipeline: gst-launch-1.0 videotestsrc ! vaapisink
19974	  https://bugzilla.gnome.org/show_bug.cgi?id=705192
19975	  Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
19976	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19977
199782013-08-26 11:31:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19979
19980	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19981	  mpeg4: fix double definition of GstVaapiDecoderMpeg4Class.
19982	  This fixes the following issue:
19983	  CC     libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo
19984	  gstvaapidecoder_mpeg4.c:113: error: redefinition of typedef
19985	  'GstVaapiDecoderMpeg4Class'
19986	  gstvaapidecoder_mpeg4.c:44: note: previous declaration of
19987	  'GstVaapiDecoderMpeg4Class' was here
19988	  make[5]: *** [libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo] Error 1
19989	  make[5]: Leaving directory
19990	  `/builddir/build/BUILD/gstreamer-vaapi-0.5.5.1/gst-libs/gst/vaapi'
19991	  https://bugzilla.gnome.org/show_bug.cgi?id=705148
19992
199932013-07-30 15:59:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19994
19995	* tests/test-filter.c:
19996	  tests: filter: add support for deinterlacing.
19997	  Add --deinterlace option to enable deinterlacing through explicit VA/VPP
19998	  deinterlacing filter. However, if --deinterlace option is not set but the
19999	  --deinterlace-flags option is set with "top-field-first", then the very
20000	  basic bob deinterlacing filter is set through VA/VPP proc pipeline flags.
20001
200022013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
20003
20004	* tests/test-filter.c:
20005	  tests: filter: add support for denoising and sharpening.
20006	  Add --denoise option to enable noise reduction with the level specified
20007	  as the option value (float). Likewise, add --sharpen option to enable
20008	  sharpening.
20009	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20010
200112013-07-24 14:31:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20012
20013	* tests/test-filter.c:
20014	  tests: filter: add support for frame cropping.
20015	  Add support for frame cropping through the --crop-rect|-c argument.
20016	  The format used is either <WIDTH> 'x' <HEIGHT>, with origin at (0,0) ;
20017	  or full specification with '('? <X> ',' <Y> ')'? <WIDTH> 'x' <HEIGHT>.
20018
200192013-07-23 18:00:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20020
20021	* tests/test-filter.c:
20022	  tests: filter: dump supported operations and formats.
20023
200242013-07-08 16:54:55 +0800  Zhao Halley <halley.zhao@intel.com>
20025
20026	* tests/Makefile.am:
20027	* tests/test-filter.c:
20028	  tests: add initial test for video processing.
20029	  Add minimal test case for video processing: scaling and color format
20030	  conversion.
20031	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20032
200332013-07-29 09:23:50 +0800  Zhao Halley <halley.zhao@intel.com>
20034
20035	* docs/reference/libs/libs-sections.txt:
20036	* gst-libs/gst/vaapi/gstvaapifilter.c:
20037	* gst-libs/gst/vaapi/gstvaapifilter.h:
20038	* gst-libs/gst/vaapi/gstvaapiutils.c:
20039	* gst-libs/gst/vaapi/gstvaapiutils.h:
20040	* gst/vaapi/gstvaapipostproc.c:
20041	* gst/vaapi/gstvaapipostproc.h:
20042	  filter: add initial support for deinterlacing.
20043	  Add basic deinterlacing support, i.e. bob-deinterlacing whereby only
20044	  the selected field from the input surface is kept for the target surface.
20045	  Setting gst_vaapi_filter_set_deinterlacing() method argument to
20046	  GST_VAAPI_DEINTERLACE_METHOD_NONE means to disable deinterlacing.
20047	  Also move GstVaapiDeinterlaceMethod definition from vaapipostproc plug-in
20048	  to libgstvaapi core library.
20049	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20050
200512013-07-17 17:40:41 +0800  Zhao Halley <halley.zhao@intel.com>
20052
20053	* docs/reference/libs/libs-sections.txt:
20054	* gst-libs/gst/vaapi/gstvaapifilter.c:
20055	* gst-libs/gst/vaapi/gstvaapifilter.h:
20056	  filter: add support for color balance adjustment.
20057	  Add ProcAmp (color balance) adjustments for hue, saturation, brightness
20058	  and contrast. The respective range for each filter shall be the same as
20059	  for the VA display attributes.
20060	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20061
200622013-07-17 17:37:16 +0800  Zhao Halley <halley.zhao@intel.com>
20063
20064	* docs/reference/libs/libs-sections.txt:
20065	* gst-libs/gst/vaapi/gstvaapifilter.c:
20066	* gst-libs/gst/vaapi/gstvaapifilter.h:
20067	  filter: add support for sharpening.
20068	  Sharpening is configured with a float value. The supported range is
20069	  -1.0 .. 1.0 with 0.0 being the default, and that means no sharpening
20070	  operation at all.
20071	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20072
200732013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
20074
20075	* docs/reference/libs/libs-sections.txt:
20076	* gst-libs/gst/vaapi/gstvaapifilter.c:
20077	* gst-libs/gst/vaapi/gstvaapifilter.h:
20078	  filter: add support for denoising.
20079	  Noise reduction is configured with a float value. The supported range
20080	  is 0.0 .. 1.0 with 0.0 being the default, and that means no denoise
20081	  operation at all.
20082	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20083
200842013-07-24 14:22:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20085
20086	* docs/reference/libs/libs-sections.txt:
20087	* gst-libs/gst/vaapi/gstvaapifilter.c:
20088	* gst-libs/gst/vaapi/gstvaapifilter.h:
20089	  filter: add support for frame cropping.
20090	  Frame cropping is defined with a GstVaapiRectangle value. The default
20091	  behaviour is to treat the source surface as a whole
20092
200932013-07-25 13:55:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20094
20095	* gst-libs/gst/vaapi/gstvaapifilter.c:
20096	  filter: add helper functions.
20097	  Add helper functions to ensure an operation VA buffer is allocated to
20098	  the right size; that filter caps get parsed and assigned to the right
20099	  operation too; and that float parameters are correctly scaled to fit
20100	  the reported range from the VA driver.
20101
201022013-07-23 15:52:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20103
20104	* configure.ac:
20105	* docs/reference/libs/libs-docs.xml.in:
20106	* docs/reference/libs/libs-sections.txt:
20107	* gst-libs/gst/vaapi/Makefile.am:
20108	* gst-libs/gst/vaapi/gstvaapidisplay.c:
20109	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
20110	* gst-libs/gst/vaapi/gstvaapifilter.c:
20111	* gst-libs/gst/vaapi/gstvaapifilter.h:
20112	  Add initial infrastructure for video processing.
20113	  Add initial API for video processing: only scaling and color format
20114	  conversion operations are supported.
20115
201162013-07-24 11:53:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20117
20118	* gst-libs/gst/vaapi/video-format.c:
20119	* gst-libs/gst/vaapi/video-format.h:
20120	  libs: add gst_vaapi_video_format_from_string() helper.
20121	  Add gst_vaapi_video_format_from_string() helper function to convert from
20122	  a video format string representation to a suitable GstVideoFormat. This
20123	  is just an alias to gst_video_format_from_string() for GStreamer 1.0.x
20124	  builds, and a proper iteration over all GstVideoFormat string representations
20125	  otherwise for earlier GStreamer 0.10.x builds.
20126
201272013-07-24 11:37:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20128
20129	* gst-libs/gst/vaapi/video-format.c:
20130	* gst-libs/gst/vaapi/video-format.h:
20131	  libs: add gst_vaapi_video_format_from_va_fourcc() helper.
20132	  Add gst_vaapi_video_format_from_va_fourcc() helper that converts from a
20133	  VA fourcc value to a suitable GstVideoFormat.
20134
201352013-07-24 11:41:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20136
20137	* gst-libs/gst/vaapi/gstvaapivalue.c:
20138	* gst-libs/gst/vaapi/gstvaapivalue.h:
20139	  libs: add type definitions for GstVaapiPoint and GstVaapiRectangle.
20140	  Add helper functions to describe GstVaapiPoint and GstVaapiRectangle
20141	  structures as a standard GType. This could be useful to have them
20142	  described as a GValue later on.
20143
201442013-07-26 13:57:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20145
20146	* docs/reference/libs/libs-docs.xml.in:
20147	* docs/reference/libs/libs-sections.txt:
20148	* gst-libs/gst/vaapi/Makefile.am:
20149	* gst-libs/gst/vaapi/gstvaapicontext.h:
20150	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
20151	  libs: drop some public APIs.
20152	  Don't expose GstVaapiContext APIs and make them totally private to
20153	  libgstvaapi core library. That API would also tend to disappear in
20154	  a future revision. Likewise, don't expose GstVaapiDisplayCache API
20155	  but keep symbols visible so that the various render backends could
20156	  share a common display cache implementation in libgstvaapi.
20157	  Try to clean-up the documentation from any stale entry too.
20158
201592013-08-23 18:35:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20160
20161	* tests/image.c:
20162	* tests/image.h:
20163	  tests: image: allow creation of images with interleaved patterns.
20164	  Add image_generate_full() function to create interleaved color rectangles.
20165	  If flags is zero, the whole frame is generated with a unique pattern. If
20166	  flags is non-zero, then each field is handled individually.
20167
201682013-08-23 16:25:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20169
20170	* tests/image.c:
20171	  tests: image: fix conversion from RGB to YUV.
20172	  Fix RGB to YUV conversion to preserve full data range.
20173
201742013-07-26 13:12:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20175
20176	* tests/image.c:
20177	  tests: image: try to upload images through vaDeriveImage() too.
20178	  On some platforms, vaPutImage() would fail even if it does not involve
20179	  color format conversion or scaling, whereas copying raw pixels through
20180	  vaDeriveImage() could work instead.
20181
201822013-07-26 10:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20183
20184	* tests/image.c:
20185	  tests: image: add support for packed YUV formats.
20186	  Add support for packed YUV 4:2:2 formats, i.e. YUY2 and UYVY.
20187
201882013-07-25 18:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20189
20190	* tests/image.c:
20191	  tests: image: fix generation of I420/YV12 images.
20192	  U/V planes were reversed, thus producing invalid images.
20193
201942013-07-24 13:55:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20195
20196	* tests/image.c:
20197	  tests: image: fix string representation for GstVideoFormat.
20198
201992013-07-26 12:57:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20200
20201	* docs/reference/libs/libs-sections.txt:
20202	* gst-libs/gst/vaapi/Makefile.am:
20203	* gst-libs/gst/vaapi/gstvaapiimage.c:
20204	* gst-libs/gst/vaapi/gstvaapiimage.h:
20205	* gst-libs/gst/vaapi/gstvaapiimage_priv.h:
20206	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
20207	* gst-libs/gst/vaapi/gstvaapisurface.c:
20208	  image: clean image API up.
20209	  Don't expose functions that reference a GstVaapiImageRaw, those are
20210	  meant to be internal only for implementing subpictures sync. Also add
20211	  a few private definitions to avoid functions calls for retrieving
20212	  image size and format information.
20213
202142013-07-26 11:43:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20215
20216	* docs/reference/libs/libs-sections.txt:
20217	* gst-libs/gst/vaapi/gstvaapiimage.c:
20218	* gst-libs/gst/vaapi/gstvaapiimage.h:
20219	  image: add gst_vaapi_image_copy() helper.
20220	  Add gst_vaapi_image_copy() helper function to copy images of same format
20221	  and size.
20222
202232013-07-22 14:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20224
20225	* gst/vaapi/gstvaapivideoconverter_x11.c:
20226	  plugins: handle video cropping in X11 pixmap converter.
20227	  Use GstVideoCropMeta in GStreamer 1.0 or any other render rectangle
20228	  we could decode from the stream.
20229
202302013-07-22 11:58:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20231
20232	* gst/vaapi/Makefile.am:
20233	* gst/vaapi/gstvaapivideobuffer.c:
20234	* gst/vaapi/gstvaapivideoconverter_glx.c:
20235	* gst/vaapi/gstvaapivideoconverter_x11.c:
20236	* gst/vaapi/gstvaapivideoconverter_x11.h:
20237	  plugins: add support for "x11-pixmap" video converter type.
20238	  Install a new video converter that supports X11 pixmap targets for X11
20239	  backends only, or make the GLX converter creation function chain up to
20240	  the X11 converter whenever requested.
20241
202422013-07-22 09:36:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20243
20244	* tests/simple-decoder.c:
20245	  tests: simple-decoder: add support for pixmap API.
20246	  Add support for the new render-to-pixmap API. Avoid flickering on
20247	  platforms supporting video overlay by keeping up to 2 intermediate
20248	  pixmaps.
20249
202502013-07-22 09:12:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20251
20252	* tests/simple-decoder.c:
20253	  tests: simple-decoder: add support for video cropping.
20254	  Handle video cropping information attached to a VA surface proxy.
20255
202562013-07-22 09:03:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20257
20258	* tests/output.c:
20259	* tests/output.h:
20260	* tests/test-decode.c:
20261	  tests: add support for render-to-pixmap.
20262	  Add --pixmap option to test-decode so that to allow copies of VA
20263	  surface to an intermediate pixmap and rendering from that pixmap.
20264	  Only X11 backends are supported for now.
20265
202662013-07-22 09:00:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20267
20268	* configure.ac:
20269	* gst-libs/gst/vaapi/Makefile.am:
20270	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20271	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
20272	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20273	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
20274	  x11: implement pixmap rendering with RENDER extension.
20275	  Use hardware accelerated XRenderComposite() function, from the RENDER
20276	  extension, to blit a pixmap to screen. Besides, this can also support
20277	  cropping and scaling.
20278
202792013-07-19 15:05:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20280
20281	* docs/reference/libs/libs-docs.xml.in:
20282	* docs/reference/libs/libs-sections.txt:
20283	* gst-libs/gst/vaapi/Makefile.am:
20284	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20285	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
20286	* gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
20287	* gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
20288	  x11: implement pixmap API.
20289	  Implement the new render-to-pixmap API. The only supported pixmap format
20290	  that will work is xRGB, with native byte ordering. Others might work but
20291	  they were not tested.
20292
202932013-07-22 10:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20294
20295	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
20296	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
20297	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20298	  x11: update x11_get_geometry() helper function with depth output.
20299	  Allow x11_get_geometry() utility function to also return the depth
20300	  assigned to the X drawable.
20301
203022013-07-22 10:00:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20303
20304	* docs/reference/libs/libs-docs.xml.in:
20305	* docs/reference/libs/libs-sections.txt:
20306	* gst-libs/gst/vaapi/Makefile.am:
20307	* gst-libs/gst/vaapi/gstvaapipixmap.c:
20308	* gst-libs/gst/vaapi/gstvaapipixmap.h:
20309	* gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
20310	* gst-libs/gst/vaapi/gstvaapiwindow.c:
20311	* gst-libs/gst/vaapi/gstvaapiwindow.h:
20312	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
20313	  Add initial Pixmap API.
20314	  Add API to transfer VA urfaces to native pixmaps. Also add an API to
20315	  render a native pixmap, for completeness. In general, rendering to
20316	  pixmap would only be useful to certain VA drivers and use cases on
20317	  X11 display servers. e.g. GLX_EXT_texture_from_pixmap (TFP) handled
20318	  in an upper layer.
20319
203202013-07-22 15:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20321
20322	* docs/reference/libs/libs-sections.txt:
20323	* gst-libs/gst/vaapi/gstvaapiimage.c:
20324	* gst-libs/gst/vaapi/gstvaapisurface.c:
20325	* gst-libs/gst/vaapi/video-format.c:
20326	* gst-libs/gst/vaapi/video-format.h:
20327	  libs: add and expose gst_vaapi_video_format_to_string() helper.
20328	  This is just a wrapper over gst_video_format_to_string() for older
20329	  GStreamer 0.10 builds.
20330
203312013-07-18 02:54:54 -0300  Emilio López <emilio@elopez.com.ar>
20332
20333	* gst/vaapi/gstvaapipluginutil.c:
20334	  plugins: fix display type comparison in gst_vaapi_create_display().
20335	  After the code got moved to create the gst_vaapi_create_display() helper,
20336	  this comparison was not updated to dereference the newly-created
20337	  pointer, so the code was comparing the pointer itself to the type, and
20338	  therefore failing to retrieve the VA display.
20339	  This fixes the following error (and gets gst-vaapi decoding again):
20340	  ERROR vaapidecode gstvaapidecode.c:807:gst_vaapidecode_ensure_allowed_caps: failed to retrieve VA display
20341	  https://bugzilla.gnome.org/show_bug.cgi?id=704410
20342	  Signed-off-by: Emilio López <emilio@elopez.com.ar>
20343
203442013-07-17 11:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20345
20346	* configure.ac:
20347	  Bump version for development.
20348
203492013-07-15 17:49:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20350
20351	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20352	  mpeg2: don't output dummy pictures.
20353	  Mark dummy pictures as output already so that we don't try to submit
20354	  them to the upper layer since this is purely internal / temporary
20355	  picture for helping the decoder.
20356
203572013-07-15 17:43:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20358
20359	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20360	  decoder: dispose GstVideoCodecFrame earlier.
20361	  Once the picture was output, it is no longer necessary to keep an extra
20362	  reference to the underlying GstVideoCodecFrame. So, we can release it
20363	  earlier, and maybe subsequently release the associate surface proxy
20364	  earlier.
20365
203662013-07-15 14:47:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20367
20368	* NEWS:
20369	* configure.ac:
20370	  0.5.5.
20371
203722013-07-15 14:42:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20373
20374	* docs/reference/libs/libs-sections.txt:
20375	* gst-libs/gst/vaapi/Makefile.am:
20376	* gst-libs/gst/vaapi/gstvaapidisplay.c:
20377	* gst-libs/gst/vaapi/gstvaapiimage.c:
20378	* gst-libs/gst/vaapi/gstvaapisurface.c:
20379	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
20380	* gst-libs/gst/vaapi/video-format.c:
20381	* gst-libs/gst/vaapi/video-format.h:
20382	* gst/vaapi/gstvaapidownload.c:
20383	* gst/vaapi/gstvaapiuploader.c:
20384	* tests/image.c:
20385	* tests/test-display.c:
20386	  Fix new video format API.
20387	  Fix new internal video format API, based on GstVideoFormat, to not
20388	  clobber with system symbols. So replace the gst_video_format_* prefix
20389	  with gst_vaapi_video_format_ prefix, even if the format type remains
20390	  GstVideoFormat.
20391
203922013-07-15 14:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20393
20394	* configure.ac:
20395	  Bump library major version.
20396	  Bump the library major version due to API/ABI changes that occurred in
20397	  the imaging API. In particular, GstVaapiImageFormat type was replaced
20398	  with the standard GstVideoFormat type. All dependent APIs were updated
20399	  to match this change.
20400
204012013-07-15 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20402
20403	* NEWS:
20404	  NEWS: updates.
20405
204062013-06-11 15:11:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20407
20408	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20409	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20410	  decoder: fix memory leak when processing interlaced pictures.
20411	  Fix memory leak when processing interlaced pictures and that occurs
20412	  because the first field, represented as a GstVideoCodecFrame, never
20413	  gets released. i.e. when the picture is completed, this is generally
20414	  the case when the second field is successfully decoded, we need to
20415	  propagate the GstVideoCodecFrame of the first field to the original
20416	  GstVideoDecoder so that it could reclaim memory.
20417	  Otherwise, we keep accumulating the first fields into GstVideoDecoder
20418	  private frames list until the end-of-stream is reached. The frames
20419	  are eventually released there, but too late, i.e. too much memory
20420	  may have been consumed.
20421	  https://bugzilla.gnome.org/show_bug.cgi?id=701257
20422
204232013-07-15 11:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20424
20425	* gst/vaapi/gstvaapipluginutil.c:
20426	  plugins: simlpify gst_vaapi_create_display() helper.
20427	  Simplify gst_vaapi_create_display() helper as gst_vaapi_display_XXX_new()
20428	  performs the necessary validation checks for the underlying VA display
20429	  prior to returning to the caller. So, if an error occurred, then NULL is
20430	  really returned in that case.
20431
204322013-05-24 05:04:01 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
20433
20434	* gst/vaapi/gstvaapipluginutil.c:
20435	  plugins: add gst_vaapi_create_display() helper.
20436	  https://bugzilla.gnome.org/show_bug.cgi?id=703235
20437	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20438
204392013-07-12 17:47:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20440
20441	* gst/vaapi/gstvaapivideobufferpool.c:
20442	  plugins: don't reallocate pool allocator for the same caps.
20443	  If the video buffer pool config doesn't have new caps, then it's not
20444	  necessary to reinstantiate the allocator. That could be a costly
20445	  operation as we could do some extra heavy checking in there.
20446
204472013-07-12 17:14:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20448
20449	* gst/vaapi/gstvaapivideomemory.c:
20450	  plugins: fix ref counting of GstVaapiVideoMemory allocator.
20451	  Fix reference counting issue whereby gst_memory_init() does not hold
20452	  an extra reference to the GstAllocator. So, there could be situations
20453	  where the last instance of GstVaapiVideoAllocator gets released before
20454	  a dangling GstVaapiVideoMemory object, thus possibly leading to a crash.
20455
204562013-07-12 15:15:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20457
20458	* gst/vaapi/gstvaapiuploader.c:
20459	  vaapiupload: use implicit color conversion to NV12.
20460	  Always perform conversion of sources buffers to NV12 since this is
20461	  the way we tested for this capability in ensure_allowed_caps(). This
20462	  also saves memory bandwidth for further rendering. However, this may
20463	  not preserve quality since the YUV buffers are down-sampled to 4:2:0.
20464
204652013-07-12 15:01:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20466
20467	* gst-libs/gst/vaapi/gstvaapivideopool.c:
20468	  pool: fix deallocation of video pools.
20469	  The queue of free objects to used was deallocated with g_queue_free_full().
20470	  However, this convenience function shall only be used if the original queue
20471	  was allocated with g_queue_new(). This caused memory corruption, eventually
20472	  leading to a crash.
20473	  The correct solution is to pair the g_queue_init() with the corresponding
20474	  g_queue_clear(), while iterating over all free objects to deallocate them.
20475
204762013-03-13 17:44:52 +0800  Wind Yuan <feng.yuan@intel.com>
20477
20478	* gst/vaapi/gstvaapidownload.c:
20479	  vaapidownload: fix src caps format error.
20480	  This fixes direct linking of vaapidownload element to xvimagesink with
20481	  VA drivers supporting vaGetImage() from the native VA surface format to
20482	  a different VA image format. i.e. color conversion during download.
20483	  http://bugzilla.gnome.org/show_bug.cgi?id=703937
20484	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20485
204862013-07-11 18:26:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20487
20488	* gst/vaapi/gstvaapidownload.c:
20489	  vaapidownload: fix debug string for image formats.
20490	  The image is now expressed as a standard GstVideoFormat, which is not
20491	  a FOURCC but rather a regular enum value.
20492	  This is a regression introduced in commit 09397fa.
20493
204942013-04-24 10:39:03 +0800  Wind Yuan <feng.yuan@intel.com>
20495
20496	* gst-libs/gst/vaapi/gstvaapiimage.c:
20497	  image: add support for raw YUY2/UYVY image copies.
20498	  Implement raw image copies for YUY2 format. Add support for UYVY format
20499	  too, with the same copy function as for YUY2. Even though components
20500	  ordering differs, copying line strides is essentially the same.
20501	  https://bugzilla.gnome.org/show_bug.cgi?id=703939
20502	  https://bugzilla.gnome.org/show_bug.cgi?id=703940
20503	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20504
205052013-07-10 15:15:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20506
20507	* gst/vaapi/gstvaapiuploader.c:
20508	  plugins: clean-up video uploader helper.
20509	  Fix gst_vaapi_uploader_get_buffer() to not assign caps since they
20510	  were already negotiated beforehand, and they are not used from the
20511	  buffer in upstream elements.
20512	  Clean-up gst_vaapi_uploader_ensure_caps() to use the new image caps
20513	  represented as a GstVideoInfo.
20514
205152013-07-10 15:03:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20516
20517	* gst/vaapi/gstvaapiuploader.c:
20518	  plugins: use GstVideoInfo in video uploader helper.
20519
205202013-07-10 10:34:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20521
20522	* gst/vaapi/gstvaapivideomemory.c:
20523	  plugins: allow creation of VA surfaces with explicit pixel format.
20524	  Adapt GstVaapiVideoMemory allocator to support creation of VA surfaces
20525	  with an explicit pixel format. This allows for direct rendering to
20526	  VA surface memory from a software decoder.
20527
205282013-07-10 14:20:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20529
20530	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
20531	  surface: fix surface pool creation with an explicit pixel format.
20532	  Fix creation of surface pool objects to honour explicit pixel format
20533	  specification. If this operation is not supported, then fallback to
20534	  the older interface with chroma format.
20535
205362013-07-10 13:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20537
20538	* gst-libs/gst/vaapi/gstvaapisurface.c:
20539	  surface: try to determine the underlying VA surface format.
20540	  If a VA surface was allocated with the chroma-format interface, try to
20541	  determine the underlying pixel format on gst_vaapi_surface_get_format(),
20542	  or return GST_VIDEO_FORMAT_ENCODED if this is not a supported operation.
20543
205442013-07-09 19:08:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20545
20546	* docs/reference/libs/libs-sections.txt:
20547	* gst-libs/gst/vaapi/gstvaapisurface.c:
20548	* gst-libs/gst/vaapi/gstvaapisurface.h:
20549	* gst-libs/gst/vaapi/gstvaapisurface_priv.h:
20550	  surface: allow creation with explicit pixel format.
20551	  Make it possible to create VA surfaces with a specific pixel format.
20552	  This is a new capability brought in by VA-API >= 0.34.0. If that
20553	  capability is not built-in (e.g. using VA-API < 0.34.0), then
20554	  gst_vaapi_surface_new_with_format() will return NULL.
20555
205562013-07-10 09:48:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20557
20558	* docs/reference/libs/libs-sections.txt:
20559	* gst-libs/gst/vaapi/video-format.c:
20560	* gst-libs/gst/vaapi/video-format.h:
20561	  surface: add helper function to get chroma type from GstVideoFormat.
20562	  Add gst_video_format_get_chroma_type() helper function to determine
20563	  the GstVaapiChromaType from a standard GStreamer video format. It is
20564	  possible to reconstruct that from GstVideoFormatInfo but it is much
20565	  simpler (and faster?) to use the local GstVideoFormatMap table.
20566
205672013-07-09 19:13:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20568
20569	* gst-libs/gst/vaapi/gstvaapisurface.c:
20570	* gst-libs/gst/vaapi/gstvaapisurface.h:
20571	* gst-libs/gst/vaapi/gstvaapiutils.c:
20572	* gst-libs/gst/vaapi/gstvaapiutils.h:
20573	  surface: add new chroma formats.
20574	  Add new chroma formats available with VA-API >= 0.34.0. In particular,
20575	  this includes "RGB" chroma formats, and more YUV subsampled formats.
20576	  Also add a new from_GstVaapiChromaType() helper function to convert
20577	  libgstvaapi chroma type to VA chroma format.
20578
205792013-07-10 13:32:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20580
20581	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
20582	  pool: fix image pool to check for the video format to use.
20583	  Make gst_vaapi_image_pool_new() succeed, and thus returning a valid
20584	  image pool object, only if the underlying VA display does support the
20585	  requested VA image format.
20586
205872013-07-10 13:07:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20588
20589	* gst-libs/gst/vaapi/gstvaapicontext.c:
20590	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
20591	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
20592	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
20593	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
20594	* gst-libs/gst/vaapi/gstvaapivideopool.h:
20595	* gst/vaapi/gstvaapidownload.c:
20596	* gst/vaapi/gstvaapiuploader.c:
20597	* tests/Makefile.am:
20598	* tests/test-surfaces.c:
20599	  Use GstVideoInfo for video pools.
20600	  Get rid of GstCaps to create surface/image pool, and use GstVideoInfo
20601	  structures instead. Those are smaller, and allows for streamlining
20602	  libgstvaapi more.
20603
206042013-07-09 18:03:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20605
20606	* gst-libs/gst/vaapi/gstvaapiimage.c:
20607	* gst-libs/gst/vaapi/video-format.c:
20608	  Add more video formats.
20609	  Add new video format mappings to VA image formats:
20610	  - YUV: packed YUV (YUY2, UYVY), grayscale (Y800) ;
20611	  - RGB: 32-bit RGB without alpha channel (XRGB, XBGR, RGBX, BGRX).
20612
206132013-07-10 15:52:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20614
20615	* gst-libs/gst/vaapi/gstvaapiimage.c:
20616	  image: fix debug message with video format.
20617	  Fix debug message string with image format expressed with GstVideoFormat
20618	  instead of the obsolete format that turned out to be a fourcc.
20619	  This is a regression from git commit e61c5fc.
20620
206212013-07-09 15:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20622
20623	* tests/image.c:
20624	* tests/image.h:
20625	* tests/test-display.c:
20626	* tests/test-textures.c:
20627	* tests/test-windows.c:
20628	  tests: port to new video format API.
20629
206302013-07-09 15:44:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20631
20632	* gst/vaapi/gstvaapidownload.c:
20633	* gst/vaapi/gstvaapiuploader.c:
20634	* gst/vaapi/gstvaapivideomemory.c:
20635	  plugins: port to new video format API.
20636
206372013-07-09 16:26:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20638
20639	* gst-libs/gst/vaapi/gstvaapiimage.c:
20640	  libs: use GstVideoInfo wherever possible.
20641	  In particular, use gst_video_info_from_caps() helper function in VA image
20642	  for implementating gst_vaapi_image_get_buffer() [vaapidownload] and
20643	  gst_vaapi_image_update_from_buffer() [subpictures] in GStreamer 0.10 builds.
20644
206452013-07-09 16:38:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20646
20647	* docs/reference/libs/libs-docs.xml.in:
20648	* docs/reference/libs/libs-sections.txt:
20649	* gst-libs/gst/vaapi/Makefile.am:
20650	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
20651	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
20652	  libs: drop GstVaapiImageFormat helpers.
20653	  Drop GstVaapiImageFormat helpers since everything was moved to the new
20654	  GstVideoFormat based API. Don't bother with backwards compatibility and
20655	  just bump the library major version afterwards.
20656
206572013-07-09 14:03:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20658
20659	* gst-libs/gst/vaapi/gstvaapidisplay.c:
20660	* gst-libs/gst/vaapi/gstvaapidisplay.h:
20661	* gst-libs/gst/vaapi/gstvaapiimage.c:
20662	* gst-libs/gst/vaapi/gstvaapiimage.h:
20663	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
20664	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
20665	  libs: port to new video format API.
20666
206672013-07-09 15:29:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20668
20669	* docs/reference/libs/libs-docs.xml.in:
20670	* docs/reference/libs/libs-sections.txt:
20671	* gst-libs/gst/vaapi/Makefile.am:
20672	* gst-libs/gst/vaapi/video-format.c:
20673	* gst-libs/gst/vaapi/video-format.h:
20674	  Add new video format API.
20675	  Leverage GstVideoFormat utilities from core GStreamer to provide an
20676	  adaptation layer to VA image formats.
20677
206782013-07-09 11:13:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20679
20680	* NEWS:
20681	  NEWS: updates.
20682
206832013-07-08 18:32:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20684
20685	* gst/vaapi/gstvaapisink.c:
20686	  vaapisink: fix creation of GLX texture.
20687	  Fix creation of GLX texture, to not depend on the GstCaps video size that
20688	  could be wrong, especially in presence of frame cropping. So, use the size
20689	  from the source VA surfaces.
20690	  An optimization could be to reduce the texture size to the actual visible
20691	  size on screen. i.e. scale down the texture size to match the screen dimensions,
20692	  while preserving the VA surface aspect ratio. However, some VA drivers don't
20693	  honour that.
20694
206952013-02-18 16:28:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20696
20697	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20698	  mpeg2: add support for video cropping.
20699	  If the stream has a sequence_display_extenion, then attach the
20700	  display_horizontal/display_vertical dimension as the cropping
20701	  rectangle width/height to the GstVaapiPicture.
20702	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20703
207042013-02-18 15:05:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20705
20706	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20707	  vc1: add support for video cropping.
20708	  If the Advanced profile has display_extension fields, then set the display
20709	  width/height dimension as cropping rectangle to the GstVaapiPicture.
20710	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20711
207122013-02-15 18:50:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20713
20714	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20715	  h264: add support for video cropping.
20716	  If the encoded stream has the frame_cropping_flag set, then associate
20717	  the cropping rectangle to GstVaapiPicture.
20718	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20719
207202013-07-08 17:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20721
20722	* tests/decoder.c:
20723	* tests/decoder.h:
20724	* tests/test-decode.c:
20725	* tests/test-subpicture.c:
20726	  tests: add basic support for video cropping.
20727	  Change generic decoder of sample I-frame to return a GstVaapiSurfaceProxy
20728	  instead of a plain GstVaapiSurface. This means that we can now retrieve
20729	  the frame cropping rectangle from the surface proxy, along with additional
20730	  information if ever needed.
20731
207322013-07-08 14:50:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20733
20734	* gst/vaapi/gstvaapidecode.c:
20735	* gst/vaapi/gstvaapisink.c:
20736	* gst/vaapi/gstvaapivideometa.c:
20737	  plugins: add support for video cropping.
20738	  Add support for GstVideoCropMeta in GStreamer >= 1.0.x builds and gst-vaapi
20739	  specific meta information to hold video cropping details. Make the sink
20740	  support video cropping in X11 and GLX modes.
20741
207422013-02-15 18:24:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20743
20744	* gst/vaapi/gstvaapivideometa.c:
20745	* gst/vaapi/gstvaapivideometa.h:
20746	  plugins: add helper functions to set the render rectangle.
20747	  Some video clips may have a clipping region that needs to propogate to
20748	  the renderer. These helper functions make it possible to attach that
20749	  clipping region, as a GstVaapiRectangle, the the video meta associated
20750	  with the buffer.
20751	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20752	  signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20753
207542013-07-08 14:47:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20755
20756	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20757	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
20758	  surfaceproxy: allow for NULL cropping rectangle.
20759	  Make it possible associate an empty cropping rectangle to the surface
20760	  proxy, thus resetting any cropping rectangle that was previously set.
20761	  This allows for returning plain NULL when no cropping rectangle was
20762	  initially set up to the surface proxy, or if it was reset to defaults.
20763
207642013-07-08 11:41:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20765
20766	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
20767	  surfaceproxy: clean-up helper macros.
20768	  Always use the GST_VAAPI_SURFACE_PROXY() helper macro to cast from a
20769	  proxy macro argument to a GstVaapiSurfaceProxy pointer.
20770
207712013-07-08 11:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20772
20773	* gst-libs/gst/vaapi/gstvaapisurface.c:
20774	* gst-libs/gst/vaapi/gstvaapisurface_priv.h:
20775	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20776	* gst-libs/gst/vaapi/gstvaapiwindow.c:
20777	  surface: add simple surface info accessors as helper macros.
20778	  Add helper macros to retrieve the VA surface information like size
20779	  (width, height) or chroma type. This is a micro-optimization to avoid
20780	  useless function calls and NULL pointer re-checks in internal routines.
20781
207822013-02-15 18:42:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20783
20784	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20785	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20786	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20787	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
20788	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
20789	  decoder: add support for video cropping.
20790	  Add gst_vaapi_picture_set_crop_rect() helper function to copy the video
20791	  cropping information from raw bitstreams to each picture being decoded.
20792	  Also add helper function to surface proxy to propagate that information
20793	  outside of libgstvaapi. e.g. plug-in elements or standalone applications.
20794	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20795	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20796
207972013-07-08 17:30:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20798
20799	* ext/codecparsers:
20800	  codecparsers: update to gst-vaapi-branch commit f90de0a.
20801	  f90de0a h264: fix calculation of the frame cropping rectangle
20802	  535515c h264: parse the cropping rectangle separately
20803
208042013-07-05 19:03:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20805
20806	* ext/codecparsers:
20807	  codecparsers: update to gst-vaapi-branch commit 0f68a71.
20808	  0f68a71 mpeg2: fix video packet header size checks
20809
208102013-06-07 20:08:43 +0800  Zhong Cong <congx.zhong@intel.com>
20811
20812	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20813	  mpeg2: reset quantization matrices on new sequence headers.
20814	  The MPEG-2 standard specifies (6.3.7) that all quantisation matrices
20815	  shall be reset to their default values when a Sequence_Header() is
20816	  decoded.
20817	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20818
208192013-07-05 15:49:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20820
20821	* configure.ac:
20822	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20823	  mpeg2: cope with latest codecparser changes.
20824	  Fix build with newer MPEG-2 codecparser where GstMpegVideoPacket are
20825	  used in individual header parsers. Also use the new slice parsing API.
20826
208272013-07-05 17:51:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20828
20829	* ext/codecparsers:
20830	  codecparsers: update to gst-vaapi-branch commit dddd182.
20831	  dddd182 mpeg2: add slice header parsing API
20832	  94e6228 mpeg2: add sequence scalable extension parsing API
20833	  531134f mpeg2: add new API that takes GstMpegVideoPacket arguments
20834	  4b135d3 h264: fix the return value type for the SEI palyload parsing methods
20835
208362013-06-27 12:25:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20837
20838	* gst/vaapi/gstvaapisink.c:
20839	  vaapisink: expose the raw video formats in static caps template.
20840	  Expose all raw video formats in the static caps template since the
20841	  vaapisink is supporting raw data. We will get the exact set of formats
20842	  supported by the driver dynamically through the _get_caps() routine.
20843	  This also fixes an inconsistency wrt. GStreamer 0.10 builds.
20844	  https://bugzilla.gnome.org/show_bug.cgi?id=702178
20845	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20846
208472013-06-27 13:53:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20848
20849	* gst/vaapi/gstvaapisink.c:
20850	* gst/vaapi/gstvaapisink.h:
20851	  vaapisink: add "use-glx" property for OpenGL rendering.
20852	  Now that VA/GLX capable buffers are generated by default on X11, thus
20853	  depending on a VA/GLX display, we stil want to use vaPutSurface() for
20854	  rendering since it is faster.
20855	  Anyway, OpenGL rendering in vaapisink was only meant for testing and
20856	  enabling "fancy" effects to play with. This has no real value. So,
20857	  disable OpenGL rendering by default.
20858
208592013-06-06 05:36:03 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
20860
20861	* gst/vaapi/gstvaapipluginutil.c:
20862	  plugins: try to allocate a GLX display first over an X11 one.
20863	  If the gstreamer-vaapi plug-in elements are built with GLX support, then
20864	  try to allocate a GstVaapiDisplayGLX first before resorting to a VA/X11
20865	  display next.
20866	  https://bugzilla.gnome.org/show_bug.cgi?id=701742
20867
208682013-04-25 17:07:13 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
20869
20870	* configure.ac:
20871	  configure: use GST_PLUGIN_PATH_1_0 instead of GST_PLUGIN_PATH for Gst 1.0.
20872	  jhbuild sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH.
20873	  https://bugzilla.gnome.org/show_bug.cgi?id=698858
20874	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20875
208762013-04-27 15:15:49 +0800  Wind Yuan <feng.yuan@intel.com>
20877
20878	* gst-libs/gst/vaapi/gstvaapiimage.c:
20879	  image: fix wrong check for rect bounds in copy_image().
20880
208812013-06-14 13:41:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20882
20883	* configure.ac:
20884	  Bump version for development.
20885
208862013-06-14 11:47:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20887
20888	* NEWS:
20889	* configure.ac:
20890	  0.5.4.
20891
208922013-06-14 11:43:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20893
20894	* NEWS:
20895	  NEWS: updates.
20896
208972013-06-14 11:39:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20898
20899	* configure.ac:
20900	* gst-libs/gst/codecparsers/Makefile.am:
20901	  configure: always build the MPEG-4 parser.
20902	  Always build the MPEG-4 parser for now as there are also core fixes
20903	  included in the parser that cannot be tested for with API checks.
20904
209052013-06-14 11:32:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20906
20907	* configure.ac:
20908	  configure: add --enable-builtin-codecparsers [default="yes"] option.
20909	  Add flag to have all codecparsers built-in, thus ensuring that the
20910	  resulting binaries have all the necessary bug fixes and this is what
20911	  the QA has been testing anyway.
20912	  Of course, for a completely up-to-date Linux distribution, you could
20913	  also opt for --disable-builtin-codecparsers and use the system ones.
20914	  Though, some core fixes could be missing, and those cannot be tested
20915	  for with API checks.
20916
209172013-06-14 11:14:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20918
20919	* ext/codecparsers:
20920	  codecparsers: update to gst-vaapi-branch commit 843ce3e.
20921	  843ce3e jpeg: fix default Huffman tables generation.
20922	  8655187 mpeg2: fix the pixel-aspect-ratio calculation
20923	  21099dc mpeg2: actually store video bitrate values
20924	  dd02087 mpeg2: fix picture packet extension size check
20925	  25948e9 mpeg2: increase min size for picture coding ext
20926	  f1f5a40 ensure the debug category is properly initialized
20927
209282013-06-12 14:16:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20929
20930	* debian.upstream/Makefile.am:
20931	  debian: fix list of generated files for .deb packaging.
20932
209332013-06-12 13:48:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20934
20935	* configure.ac:
20936	* debian.upstream/Makefile.am:
20937	* debian.upstream/control.in:
20938	  debian: fix libgstvaapi -dev package name.
20939	  Fix libgstvaapi -dev package name so that to allow installation of both
20940	  GStreamer 0.10 and 1.0.x based packages.
20941
209422013-06-05 17:42:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20943
20944	* NEWS:
20945	  NEWS: updates.
20946
209472013-05-31 11:09:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20948
20949	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20950	  wayland: fix memory leak of display resources.
20951
209522013-06-04 07:14:22 +0800  Zhao Halley <halley.zhao@intel.com>
20953
20954	* gst/vaapi/gstvaapisink.c:
20955	  vaapisink: fix build without VA/GLX support.
20956
209572013-06-05 11:01:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20958
20959	* gst/vaapi/gstvaapivideomemory.c:
20960	* gst/vaapi/gstvaapivideomemory.h:
20961	  plugins: allow buffer mappings to GstVaapiSurfaceProxy.
20962	  Allow plain gst_buffer_map() interface to work with gstreamer-vaapi
20963	  video buffers, i.e. expose the underlying GstVaapiSurfaceProxy to the
20964	  caller. This is the only sensible enough thing to do in this mode as
20965	  the underlying surface pixels need to be extracted through an explicit
20966	  call to the gst_video_frame_map() function instead.
20967	  A possible use-case of this is to implement a "handoff" signal handler
20968	  to fakesink or identity element for further processing.
20969
209702013-06-03 10:22:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20971
20972	* gst/vaapi/gstvaapivideomemory.c:
20973	  plugins: silence check for direct-rendering mode in video memory.
20974	  Fix gst_vaapi_video_allocator_new() to silently check for direct-rendering
20975	  mode support, and not trigger fatal-criticals if either test surface or
20976	  image could not be created. Typical case: pixel format mismatch, e.g. NV12
20977	  supported by most hardware vs. I420 supported by most software decoders.
20978
209792013-06-03 10:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20980
20981	* gst/vaapi/gstvaapivideomemory.c:
20982	  plugins: improve video memory flags safety checks.
20983	  On map, ensure we have GST_MAP_WRITE flags since this is only what we
20984	  support for now. Likewise, on unmap, make sure that the VA image is
20985	  unmapped for either read or write, while still committing it to the
20986	  VA surface if write was requested.
20987
209882013-05-30 18:17:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20989
20990	* gst-libs/gst/vaapi/gstvaapisurface.c:
20991	  surface: fix memory leak through unreleased parent context.
20992	  Break the circular references between GstVaapiContext and its children
20993	  GstVaapiSurfaces. Since the VA surfaces held an extra reference to the
20994	  context, which holds a reference to its VA surfaces, then none of those
20995	  were released.
20996	  How does this impact support for subpictures?
20997	  The only situation when the parent context needs to disappear is when
20998	  it is replaced with another one because of a resolution change in the
20999	  video stream for instance, or a normal destroy. In this case, it does
21000	  not really matter to apply subpictures to the peer surfaces since they
21001	  are either gone, or those that are left in the pipe can probably bear
21002	  a reinstantiation of the subpictures for it.
21003	  So, parent_context is set to NULL when the parent context is destroyed,
21004	  other VA surfaces can still get subpictures attached to them, individually
21005	  not as a whole. i.e. subpictures for surface S1 will be created from
21006	  active composition buffers and associated to S1, subpictures for S2 will
21007	  be created from the next active composition buffers, etc. We don't try
21008	  to cache the subpictures in those cases (pending surfaces until EOS
21009	  is reached, or pending surfaces until new surfaces matching new VA context
21010	  get to be used instead).
21011
210122013-05-27 14:01:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21013
21014	* gst/vaapi/gstvaapisink.c:
21015	  vaapisink: fix one-time initialization when display property is set.
21016	  Fix gst_vaapisink_ensure_display() to perform one-time initialization
21017	  tasks even if the `display' property was explicitly set.
21018
210192013-05-27 15:59:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21020
21021	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
21022	  window: fix GLX window initialization.
21023	  Make sure to create the GLX context once the window object has completed
21024	  its creation. Since gl_resize() relies on the newly created window size,
21025	  then we cannot simply overload the GstVaapiWindowClass::create() hook.
21026	  So, we just call into gst_vaapi_window_glx_ensure_context() once the
21027	  window object is created in the gst_vaapi_window_glx_new*() functions.
21028
210292013-05-27 17:18:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21030
21031	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
21032	* gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
21033	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
21034	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21035	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21036	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
21037	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21038	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
21039	* gst-libs/gst/vaapi/gstvaapitexture.c:
21040	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
21041	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
21042	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
21043	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
21044	  display: validate display types.
21045
210462013-05-27 16:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21047
21048	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
21049	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21050	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21051	  display: drop internal NAME_PREFIX, store the real display name.
21052	  Always store a valid display name/device path, instead of adding a
21053	  particular prefix. i.e. make it simply a strdup(), or "" if it was
21054	  initially NULL.
21055
210562013-05-27 13:17:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21057
21058	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
21059	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
21060	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21061	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21062	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21063	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
21064	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
21065	  display: make it possible to lookup the display cache by type.
21066	  Make it possible to add extra an extra filter to most of display cache
21067	  lookup functions so that the GstVaapiDisplay instance can really match
21068	  a compatible and existing display by type, instead of relying on extra
21069	  string tags (e.g. "X11:" prefix, etc.).
21070
210712013-05-24 16:19:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21072
21073	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
21074	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21075	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21076	  display: cope with new display cache API.
21077
210782013-05-24 16:12:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21079
21080	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
21081	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
21082	  display: rework display cache API.
21083	  Simplify display cache API, while making it more flexible. We can now create
21084	  custom lookup functions with gst_vaapi_display_cache_lookup_custom().
21085
210862013-05-24 15:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21087
21088	* tests/test-display.c:
21089	  tests: improve check for display cache.
21090	  Improve check for display cache infrastructure. In particular, for X11 and
21091	  GLX backends, we need to make sure that we can create a GstVaapiDisplayX11
21092	  from another GstVaapiDisplayGLX, i.e. underlying X11 and VA displays can be
21093	  shared. Besides, allocating a GstVaapiDisplayGLX while a GstVaapiDisplayX11
21094	  already exists will have to generate different VA displays.
21095
210962013-05-15 10:33:16 +0800  Zhao Halley <halley.zhao@intel.com>
21097
21098	* gst/vaapi/gstvaapiuploader.c:
21099	  uploader: fix memory leak in GStreamer 0.10 builds.
21100	  In GStreamer 0.10 builds, gst_vaapi_uploader_get_buffer() was used
21101	  but it exhibited a memory leak because the surface generated for the
21102	  GstVaapiVideoMeta totally lost its parent video pool. So, it was not
21103	  possible to release that surface back to the parent pool when the meta
21104	  gets released, and the memory consumption kept growing.
21105	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21106
211072013-05-23 18:56:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21108
21109	* gst/vaapi/gstvaapivideometa.c:
21110	  plugins: fix gst_vaapi_video_meta_new_from_pool().
21111	  Since GST_VAAPI_IS_xxx_VIDEO_POOL() was only testing for NULL and not
21112	  the underlying object type, the gst_vaapi_video_meta_new_from_pool()
21113	  was hereby totally broken. Fixed this regression by using the newly
21114	  provided gst_vaapi_video_pool_get_object_type() function.
21115
211162013-05-23 18:22:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21117
21118	* gst/vaapi/gstvaapiuploader.c:
21119	* gst/vaapi/gstvaapivideomemory.c:
21120	* gst/vaapi/gstvaapivideometa.c:
21121	  plugins: cope with GST_VAAPI_IS_xxx() macros removal.
21122
211232013-05-23 18:19:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21124
21125	* tests/decoder.c:
21126	  tests: cope with GST_VAAPI_IS_xxx() macros removal.
21127
211282013-05-23 18:45:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21129
21130	* docs/reference/libs/libs-sections.txt:
21131	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
21132	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
21133	* gst-libs/gst/vaapi/gstvaapivideopool.c:
21134	* gst-libs/gst/vaapi/gstvaapivideopool.h:
21135	* gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
21136	  libs: add query for GstVaapiVideoPool object types.
21137	  Add API to identify the underlying GstVaapiVideoPool object type.
21138
211392013-05-23 18:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21140
21141	* docs/reference/libs/libs-sections.txt:
21142	* gst-libs/gst/vaapi/gstvaapicontext.c:
21143	* gst-libs/gst/vaapi/gstvaapicontext.h:
21144	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21145	* gst-libs/gst/vaapi/gstvaapidecoder.h:
21146	* gst-libs/gst/vaapi/gstvaapidisplay.c:
21147	* gst-libs/gst/vaapi/gstvaapidisplay.h:
21148	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
21149	* gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
21150	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
21151	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21152	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
21153	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21154	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
21155	* gst-libs/gst/vaapi/gstvaapiimage.c:
21156	* gst-libs/gst/vaapi/gstvaapiimage.h:
21157	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
21158	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
21159	* gst-libs/gst/vaapi/gstvaapiobject.c:
21160	* gst-libs/gst/vaapi/gstvaapiobject.h:
21161	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
21162	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
21163	* gst-libs/gst/vaapi/gstvaapisurface.c:
21164	* gst-libs/gst/vaapi/gstvaapisurface.h:
21165	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
21166	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
21167	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21168	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
21169	* gst-libs/gst/vaapi/gstvaapitexture.c:
21170	* gst-libs/gst/vaapi/gstvaapivideopool.c:
21171	* gst-libs/gst/vaapi/gstvaapivideopool.h:
21172	* gst-libs/gst/vaapi/gstvaapiwindow.c:
21173	* gst-libs/gst/vaapi/gstvaapiwindow.h:
21174	* gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
21175	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
21176	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
21177	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
21178	  libs: drop GST_VAAPI_IS_xxx() helper macros.
21179	  Drop obsolete GST_VAAPI_IS_xxx() helper macros since we are no longer
21180	  deriving from GObject and so those were only checking for whether the
21181	  argument was NULL or not. This is now irrelevant, and even confusing
21182	  to some extent, because we no longer have type checking.
21183	  Note: this incurs more type checking (review) but the libgstvaapi is
21184	  rather small, so this is manageable.
21185
211862013-05-07 18:52:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21187
21188	* configure.ac:
21189	  Bump library major version.
21190	  The whole libgstvaapi libraries got a major refresh to get rid of GObject.
21191	  This is a fundamental change that requires a new SONAME. More changes are
21192	  underway to streamline the core libraries.
21193	  So far, the net result is a reduction of .text size (code) by 32KB, i.e. -10%.
21194	  On one particular test (sintel HD trailer), the total number of executed
21195	  instruction was reduced by 8%.
21196
211972013-05-07 18:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21198
21199	* docs/reference/libs/Makefile.am:
21200	* docs/reference/libs/libs-docs.xml.in:
21201	* docs/reference/libs/libs-sections.txt:
21202	* docs/reference/libs/libs.core.types:
21203	* docs/reference/libs/libs.glx.types:
21204	* docs/reference/libs/libs.x11.types:
21205	  docs: cope with removed APIs.
21206	  Some APIs are dead because they are no longer based on GObject.
21207
212082013-05-06 14:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21209
21210	* gst/vaapi/gstvaapidecode.c:
21211	* gst/vaapi/gstvaapidownload.c:
21212	* gst/vaapi/gstvaapipluginutil.c:
21213	* gst/vaapi/gstvaapipostproc.c:
21214	* gst/vaapi/gstvaapisink.c:
21215	* gst/vaapi/gstvaapiupload.c:
21216	* gst/vaapi/gstvaapiuploader.c:
21217	* gst/vaapi/gstvaapivideobufferpool.c:
21218	* gst/vaapi/gstvaapivideoconverter_glx.c:
21219	* gst/vaapi/gstvaapivideomemory.c:
21220	* gst/vaapi/gstvaapivideometa.c:
21221	  plugins: cope with new GstVaapiMiniObject objects.
21222
212232013-05-07 11:45:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21224
21225	* tests/decoder.c:
21226	* tests/image.c:
21227	* tests/output.c:
21228	* tests/simple-decoder.c:
21229	* tests/test-decode.c:
21230	* tests/test-display.c:
21231	* tests/test-subpicture.c:
21232	* tests/test-surfaces.c:
21233	* tests/test-textures.c:
21234	* tests/test-windows.c:
21235	  tests: cope with new GstVaapiMiniObject objects.
21236
212372013-05-07 15:38:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21238
21239	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21240	  display: fix set_synchronous() to lock display.
21241
212422013-05-03 19:02:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21243
21244	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
21245	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
21246	  videopool: simplify creation of video objects pool.
21247
212482013-05-07 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21249
21250	* gst-libs/gst/vaapi/gstvaapiobject.c:
21251	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21252	* gst-libs/gst/vaapi/gstvaapitypes.h:
21253	  libs: simplify GstVaapiID definitions.
21254	  Make GstVaapiID a gsize instead of guessing an underlying integer large
21255	  enough to hold all bits of a pointer. Also drop GST_VAAPI_ID_NONE since
21256	  this is plain zero and that it is no longer passed as varargs.
21257
212582013-05-02 16:11:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21259
21260	* gst-libs/gst/vaapi/Makefile.am:
21261	* gst-libs/gst/vaapi/gstvaapi_priv.h:
21262	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
21263	* gst-libs/gst/vaapi/gstvaapiparamspecs.h:
21264	* gst-libs/gst/vaapi/gstvaapivalue.c:
21265	* gst-libs/gst/vaapi/gstvaapivalue.h:
21266	  libs: drop obsolete function helpers and objects.
21267	  Drop obsolete GstVaapiID related function helpers for passing them as
21268	  GValues.
21269
212702013-05-07 11:39:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21271
21272	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21273	* gst-libs/gst/vaapi/gstvaapidisplay.c:
21274	* gst-libs/gst/vaapi/gstvaapidisplay.h:
21275	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
21276	* gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
21277	* gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
21278	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
21279	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
21280	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
21281	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21282	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21283	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
21284	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
21285	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21286	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
21287	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
21288	* gst-libs/gst/vaapi/gstvaapiobject.c:
21289	* gst-libs/gst/vaapi/gstvaapivideopool.c:
21290	  libs: use GstVaapiMiniObject for display objects.
21291
212922013-05-06 14:07:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21293
21294	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21295	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21296	* gst-libs/gst/vaapi/gstvaapidecoder.h:
21297	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21298	* gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
21299	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21300	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
21301	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21302	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
21303	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21304	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
21305	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21306	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21307	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21308	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
21309	  libs: use GstVaapiMiniObject for video decoders.
21310	  Port GstVaapiDecoder and GstVaapiDecoder{MPEG2,MPEG4,JPEG,H264,VC1} to
21311	  GstVaapiMiniObject. Add gst_vaapi_decoder_set_codec_state_changed_func()
21312	  helper function to let the user add a callback to a function triggered
21313	  whenever the codec state (e.g. caps) changes.
21314
213152013-05-03 11:01:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21316
21317	* docs/reference/libs/libs-sections.txt:
21318	* gst-libs/gst/vaapi/Makefile.am:
21319	* gst-libs/gst/vaapi/gstvaapicontext.c:
21320	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
21321	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
21322	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
21323	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
21324	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21325	* gst-libs/gst/vaapi/gstvaapivideopool.c:
21326	* gst-libs/gst/vaapi/gstvaapivideopool.h:
21327	* gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
21328	  libs: use GstVaapiMiniObject for video object pools.
21329	  Port GstVaapiVideoPool, GstVaapiSurfacePool and GstVaapiImagePool to
21330	  GstVaapiMiniObject. Drop gst_vaapi_video_pool_get_caps() since it was
21331	  no longer used for a long time. Make object allocators static, i.e.
21332	  local to the shared library.
21333
213342013-04-30 17:22:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21335
21336	* gst-libs/gst/vaapi/gstvaapitexture.c:
21337	* gst-libs/gst/vaapi/gstvaapitexture.h:
21338	  libs: use GstVaapiObject for texture objects.
21339
213402013-04-30 17:20:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21341
21342	* gst-libs/gst/vaapi/Makefile.am:
21343	* gst-libs/gst/vaapi/gstvaapiwindow.c:
21344	* gst-libs/gst/vaapi/gstvaapiwindow.h:
21345	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
21346	* gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
21347	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
21348	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
21349	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
21350	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
21351	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
21352	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
21353	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
21354	* gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
21355	  libs: use GstVaapiObject for window objects.
21356
213572013-04-30 17:22:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21358
21359	* gst-libs/gst/vaapi/gstvaapicontext.c:
21360	* gst-libs/gst/vaapi/gstvaapicontext.h:
21361	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21362	* gst-libs/gst/vaapi/gstvaapiimage.c:
21363	* gst-libs/gst/vaapi/gstvaapiimage.h:
21364	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
21365	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
21366	* gst-libs/gst/vaapi/gstvaapisurface.c:
21367	* gst-libs/gst/vaapi/gstvaapisurface.h:
21368	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21369	* gst-libs/gst/vaapi/gstvaapivideopool.c:
21370	  libs: use GstVaapiObject for VA objects.
21371
213722013-04-30 17:20:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21373
21374	* gst-libs/gst/vaapi/Makefile.am:
21375	* gst-libs/gst/vaapi/gstvaapiobject.c:
21376	* gst-libs/gst/vaapi/gstvaapiobject.h:
21377	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
21378	  Port GstVaapiObject to GstVaapiMiniObject.
21379
213802013-04-30 10:28:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21381
21382	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21383	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
21384	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21385	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21386	* gst-libs/gst/vaapi/gstvaapiminiobject.c:
21387	* gst-libs/gst/vaapi/gstvaapiminiobject.h:
21388	  libs: refine GstVaapiMiniObject.
21389	  Drop support for user-defined data since this capability was not used
21390	  so far and GstVaapiMiniObject represents the smallest reference counted
21391	  object type. Add missing GST_VAAPI_MINI_OBJECT_CLASS() helper macro.
21392	  Besides, since GstVaapiMiniObject is a libgstvaapi internal object, it
21393	  is also possible to further simplify the layout of the object. i.e. merge
21394	  GstVaapiMiniObjectBase into GstVaapiMiniObject.
21395
213962013-05-07 16:43:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21397
21398	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21399	  decoder: update picture size from the bitstream.
21400	  Propagate the picture size from the bitstream to the GstVaapiDecoder,
21401	  and subsequent user who installed a signal on notify::caps. This fixes
21402	  decoding of TS streams when the demuxer failed to extract the required
21403	  information.
21404
214052013-04-25 14:16:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21406
21407	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21408	  decoder: fix raw decoding mode.
21409	  Fix gst_vaapi_decoder_get_surface() to actually transfer ownership of the
21410	  surface proxy to the caller.
21411
214122013-04-25 13:56:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21413
21414	* docs/reference/libs/libs-sections.txt:
21415	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21416	* gst-libs/gst/vaapi/gstvaapidecoder.h:
21417	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21418	* gst/vaapi/gstvaapidecode.c:
21419	  decoder: add gst_vaapi_decoder_get_frame_with_timeout().
21420	  Add gst_vaapi_decoder_get_frame_with_timeout() helper function that will
21421	  wait for a frame to be decoded, until the specified timeout in microseconds,
21422	  prior to returning to the caller.
21423	  This is a fix to performance regression from 851cc0, whereby the vaapidecode
21424	  loop executed on the srcpad task was called to often, thus starving all CPU
21425	  resources.
21426
214272013-04-19 14:38:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21428
21429	* configure.ac:
21430	  Bump version for development.
21431
214322013-04-18 19:09:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21433
21434	* NEWS:
21435	* configure.ac:
21436	  0.5.3.
21437
214382013-04-18 19:08:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21439
21440	* NEWS:
21441	  NEWS: updates.
21442
214432013-04-18 15:55:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21444
21445	* gst/vaapi/gstvaapidecode.c:
21446	  vaapidecode: rework heuristics to detect decode timeout.
21447	  Rework heuristics to detect when downstream element ran into errors,
21448	  and thus failing to release any VA surface in due time for the current
21449	  frame to get decoded. In particular, recalibrate the render time base
21450	  when the first frame gets submitted downstream, or when there is no
21451	  timestamp that could be inferred.
21452
214532013-04-18 15:50:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21454
21455	* gst-libs/gst/vaapi/gstcompat.h:
21456	* gst/vaapi/gstvaapidecode.c:
21457	  vaapidecode: rework GstVideoDecoder::handle_frame() with a task.
21458	  Rework GstVideoDecoder::handle_frame() to decode the current frame,
21459	  while possibly waiting for a free surface, and separately submit all
21460	  decoded frames from a task. This makes it possible to pop and render
21461	  decoded frames as soon as possible.
21462
214632013-04-18 10:06:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21464
21465	* gst/vaapi/gstvaapidecode.c:
21466	* gst/vaapi/gstvaapidownload.c:
21467	* gst/vaapi/gstvaapisink.c:
21468	* gst/vaapi/gstvaapiupload.c:
21469	  plugins: use gst_object_unref() wherever applicable.
21470	  Use gst_object_unref() wherever applicable, e.g. objects derived from
21471	  GstElement, GstVideoPool, etc.
21472
214732013-04-17 14:21:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21474
21475	* docs/reference/plugins/plugins-docs.xml.in:
21476	* docs/reference/plugins/plugins-sections.txt:
21477	* docs/reference/plugins/plugins.types:
21478	  docs: drop obsolete plug-ins.
21479	  Drop documentation for obsolete plug-ins, even for GStreamer 0.10.
21480	  i.e. vaapiupload and vaapidownload are no longer the recommended
21481	  plug-ins to use.
21482
214832013-04-17 13:17:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21484
21485	* debian.upstream/rules:
21486	  debian: fix build of GStreamer 0.10 packages.
21487	  Fix build of Debian packages to scan the actual GStreamer API version
21488	  from the generated changelog file.
21489
214902013-04-17 10:58:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21491
21492	* gst/vaapi/gstvaapipostproc.c:
21493	  vaapipostproc: minor clean-ups.
21494	  Use g_clear_object() wherever appropriate and remove dead-code.
21495
214962013-04-17 10:53:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21497
21498	* gst/vaapi/gstvaapipostproc.c:
21499	  vaapipostproc: fix reference counting buf for passthrough mode.
21500	  Fix reference counting bug for passthrough mode, whereby the input buffer
21501	  was propagated as is downstream through gst_pad_push() without increasing
21502	  its reference count before. The was a problem when gst_pad_push() returns
21503	  an error and we further decrease the reference count of the input buffer.
21504
215052013-04-17 10:18:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21506
21507	* gst-libs/gst/vaapi/gstcompat.h:
21508	* gst/vaapi/Makefile.am:
21509	* gst/vaapi/gstvaapi.c:
21510	* gst/vaapi/gstvaapidecode.c:
21511	* gst/vaapi/gstvaapipluginutil.h:
21512	* gst/vaapi/gstvaapipostproc.c:
21513	  vaapipostproc: port to GStreamer 1.0.
21514	  Add support for interlaced streams with GStreamer 1.0 too. Basically,
21515	  this enables vaapipostproc, though it is not auto-plugged yet. We also
21516	  make sure to reply to CAPS queries, and happily handle CAPS events.
21517
215182013-04-17 10:14:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21519
21520	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21521	  decoder: fix GstVideoCodecFrame flags for interlaced contents.
21522	  Fix support for interlaced contents with GStreamer 0.10. In particular,
21523	  propagate GstVaapiSurfaceProxy frame flags to GstVideoCodecFrame flags
21524	  correctly.
21525	  This is a regression from commit 87e5717.
21526
215272013-04-16 13:23:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21528
21529	* gst-libs/gst/vaapi/Makefile.am:
21530	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21531	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21532	* gst-libs/gst/vaapi/gstvaapiparser_frame.c:
21533	* gst-libs/gst/vaapi/gstvaapiparser_frame.h:
21534	  decoder: rename GstVaapiDecoderFrame to GstVaapiParserFrame.
21535	  Rename GstVaapiDecoderFrame to GstVaapiParserFrame because this data
21536	  structure was only useful to parsing and a proper GstvaapiDecoderFrame
21537	  instance will be created instead.
21538
215392013-04-16 19:09:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21540
21541	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21542	  decoder: export presentation timestamp for raw decoding mode.
21543	  Fix regression from 0.4-branch whereby GstVaapiSurfaceProxy no longer
21544	  held any information about the expected presentation timestamp, frame
21545	  duration or additional flags like interlaced or top-field-first.
21546
215472013-04-16 18:56:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21548
21549	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21550	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21551	  decoder: use new GstVaapiSurfaceProxy utility functions.
21552	  Use new GstVaapiSurfaceProxy internal helper functions to propagate the
21553	  necessary GstVideoCodecFrame flags to vaapidecode (GStreamer 0.10).
21554	  Also make GstVaapiDecoder push_frame() operate similarly to drop_frame().
21555	  i.e. increase the GstVideoCodecFrame reference count in push_frame rather
21556	  than gst_vaapi_picture_output().
21557
215582013-04-16 18:35:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21559
21560	* docs/reference/libs/libs-sections.txt:
21561	* gst-libs/gst/vaapi/Makefile.am:
21562	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21563	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21564	* gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
21565	  surfaceproxy: add more attributes for raw decoding modes.
21566	  Add more attributes for raw decoding modes, i.e. directly through the
21567	  libgstvaapi helper library. In particular, add presentation timestamp,
21568	  duration and a couple of flags (interlaced, TFF, RFF, one-field).
21569
215702013-04-16 13:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21571
21572	* docs/reference/libs/libs-sections.txt:
21573	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21574	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21575	* gst/vaapi/gstvaapidecode.c:
21576	* tests/simple-decoder.c:
21577	  surfaceproxy: drop user-data support from GstVaapiSurfaceProxy.
21578	  Drop user-data support from GstVaapiSurfaceProxy. Rather make it explicit
21579	  to call some user-provided function when the surface proxy is released.
21580
215812013-04-15 12:52:51 +0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
21582
21583	* configure.ac:
21584	* gst-libs/gst/vaapi/Makefile.am:
21585	  build: link libgstvaapi-glx-1.0.so against libdl.
21586	  Ensure libgstvaapi-glx*.so builds against libdl since dlsym() is used
21587	  to resolve glXGetProcAddress() from GLX libraries. This fix builds on
21588	  Fedora 17.
21589	  https://bugzilla.gnome.org/show_bug.cgi?id=698046
21590	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21591
215922013-04-15 14:22:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21593
21594	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21595	  decoder: fix gst_vaapi_decoder_get_codec_state().
21596	  Fix previous commit whereby gst_vaapi_decoder_get_codec_state() was
21597	  supposed to make GstVaapiDecoder own the return GstVideoCodecState
21598	  object. Only comment was updated, not the actual code.
21599
216002013-04-15 13:58:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21601
21602	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21603	* gst/vaapi/gstvaapidecode.c:
21604	  decoder: make gst_vaapi_decoder_get_codec_state() return the original state.
21605	  Make gst_vaapi_decoder_get_codec_state() return the original codec state,
21606	  i.e. make the GstVaapiDecoder object own the return state so that callers
21607	  that want an extra reference to it would just gst_video_codec_state_ref()
21608	  it before usage. This aligns the behaviour with what we had before with
21609	  gst_vaapi_decoder_get_caps().
21610	  This is an ABI incompatible change, library major version was bumped from
21611	  previous release (0.5.2).
21612
216132013-04-15 13:52:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21614
21615	* gst/vaapi/gstvaapivideobufferpool.h:
21616	* gst/vaapi/gstvaapivideoconverter_glx.h:
21617	  plugins: mark a few more functions as internal.
21618	  Mark the following functions are internal, i.e. private to the vaapi plug-in:
21619	  - gst_vaapi_video_buffer_pool_get_type()
21620	  - gst_vaapi_video_converter_glx_get_type()
21621	  - gst_vaapi_video_converter_glx_new()
21622
216232013-04-15 13:48:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21624
21625	* gst/vaapi/gstvaapivideobuffer.c:
21626	  plugins: implement GstSurfaceMeta API.
21627	  Implement GstSurfaceMeta API for GStreamer 1.0.x. Even though this is
21628	  an unstable/deprecated API, this makes it possible to support Clutter
21629	  sink with minimal changes. Tested against clutter-gst 1.9.92.
21630
216312013-04-12 17:12:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21632
21633	* gst/vaapi/gstvaapisink.c:
21634	  vaapisink: optimize GstVideoOverlayInterface::expose().
21635	  When render-mode is "overlay", then it is not really useful to peek into
21636	  the GstBaseSink::last_buffer, since we have our own video_buffer already
21637	  recorded and maintained into GstVaapiSink.
21638
216392013-04-12 17:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21640
21641	* gst/vaapi/gstvaapisink.c:
21642	  vaapisink: fix memory leak of GstSample objects.
21643	  Fix memory leak of GstSample objects in GstVideoOverlayInterface::expose().
21644	  This also fixes extra unreferencing of the underlying GstBuffer in the common
21645	  path afterwards (for both 0.10 or 1.0).
21646
216472013-04-12 13:44:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21648
21649	* gst-libs/gst/vaapi/gstcompat.h:
21650	* gst/vaapi/gstvaapi.c:
21651	  plugins: fix description for gst-inspect.
21652	  Fix the name of the plug-in element reported to gst-inspect-1.0. i.e. we
21653	  need an explicit definition for GStreamer >= 1.0 because the GST_PLUGIN_DEFINE
21654	  incorrectly uses #name for creating the plug-in name, instead of using macro
21655	  expansion (and let further expansion of macros) through e.g. G_STRINGIFY().
21656
216572013-04-11 09:24:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21658
21659	* README:
21660	  README: updates.
21661	  Update build requirements for GStreamer 1.0.x support. Add section for
21662	  ways to report bugs.
21663
216642013-04-10 16:54:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21665
21666	* NEWS:
21667	  NEWS: updates.
21668
216692013-04-10 15:31:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21670
21671	* gst-libs/gst/vaapi/Makefile.am:
21672	* gst/vaapi/Makefile.am:
21673	  Fix make dist to include all source files, in any case.
21674	  Fix make dist to allow build for either GStreamer 0.10 or 1.0. i.e. make
21675	  sure to include all source files in either case while generating source
21676	  tarballs.
21677
216782013-04-10 15:21:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21679
21680	* configure.ac:
21681	  Bump library major version.
21682	  Bump library major version, while preserving a major version of 0 for
21683	  GStreamer 1.0 based libraries, and a major version of 2 for GStreamer
21684	  0.10 based librarieS.
21685
216862013-04-10 14:37:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21687
21688	* gst/vaapi/gstvaapivideomemory.c:
21689	* gst/vaapi/gstvaapivideomemory.h:
21690	  plugins: implement direct-rendering mode for raw YUV buffer uploads.
21691	  Allow direct-rendering (writes) into target VA surfaces.
21692
216932013-04-09 16:02:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21694
21695	* gst/vaapi/gstvaapivideobufferpool.c:
21696	* gst/vaapi/gstvaapivideomemory.c:
21697	* gst/vaapi/gstvaapivideomemory.h:
21698	  plugins: implement uploads from raw YUV buffers for GStreamer 1.0.
21699	  Implement GstVideoMeta::{,un}map() to support raw YUV buffer upload when
21700	  the last component is unmapped. Downloads are not supported yet. The aim
21701	  was to first support SW decoding + HW accelerated rendering (vaapisink).
21702	  e.g. for Wayland.
21703
217042013-04-03 11:10:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21705
21706	* gst/vaapi/gstvaapidecode.c:
21707	  vaapidecode: submit all decoded frames before decoding a new one.
21708	  Make sure to purge all pending frames that were already decoded prior
21709	  to decoding a new one. This helps release VA surfaces as early as
21710	  possible.
21711
217122013-04-02 16:12:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21713
21714	* gst/vaapi/gstvaapidecode.c:
21715	  vaapidecode: reply to CAPS queries.
21716	  Handle GST_QUERY_CAPS, which is the GStreamer 1.0 mechanism to retrieve
21717	  the set of allowed caps, i.e. it works similar to GstPad::get_caps().
21718	  This fixes fallback to SW decoding if no HW decoder is available.
21719
217202013-03-20 11:26:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21721
21722	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21723	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21724	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21725	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21726	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21727	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21728	  decoder: fix unpaired GstBuffer map/unmaps.
21729	  This possibly fixes a few memory leaks along the way.
21730
217312013-03-20 14:40:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21732
21733	* configure.ac:
21734	* gst-libs/gst/vaapi/gstcompat.h:
21735	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
21736	* gst-libs/gst/vaapi/gstvaapiprofile.c:
21737	* gst/vaapi/Makefile.am:
21738	* gst/vaapi/gstvaapi.c:
21739	* gst/vaapi/gstvaapidecode.c:
21740	* gst/vaapi/gstvaapisink.c:
21741	* gst/vaapi/gstvaapisink.h:
21742	* gst/vaapi/gstvaapiuploader.c:
21743	* tests/codec.c:
21744	  Allow build against either GStreamer API (0.10 or 1.0).
21745	  Introduce a new configure option --with-gstreamer-api that determines
21746	  the desired GStreamer API to use. By default, GStreamer 1.0 is selected.
21747	  Also integrate more compatibility glue into gstcompat.h and plugins.
21748
217492012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21750
21751	* gst/vaapi/gstvaapidecode.c:
21752	* gst/vaapi/gstvaapisink.c:
21753	* gst/vaapi/gstvaapisink.h:
21754	  plugins: use new video buffer pools.
21755	  Use new GstVaapiVideoBufferPool to maintain video buffers. Implement
21756	  GstBaseSink::propose_allocation() to expose that pool to upstream
21757	  elements; and also implement GstVideoDecoder::decide_allocation() to
21758	  actually use that pool (from downstream), if any, or create one.
21759	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21760
217612012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21762
21763	* gst/vaapi/Makefile.am:
21764	* gst/vaapi/gstvaapivideobufferpool.c:
21765	* gst/vaapi/gstvaapivideobufferpool.h:
21766	* gst/vaapi/gstvaapivideomemory.c:
21767	* gst/vaapi/gstvaapivideomemory.h:
21768	  plugins: add GstVaapiVideoMemory and GstVaapiVideoBufferPool objects.
21769	  Add initial support for GstVaapiVideoMemory backed buffer pool. The memory
21770	  object currently holds a reference to GstVaapiVideoMeta.
21771	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21772
217732013-04-04 17:36:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21774
21775	* gst/vaapi/gstvaapivideometa.c:
21776	* gst/vaapi/gstvaapivideometa.h:
21777	  plugins: allow copies of GstVaapiVideoMeta objects.
21778	  Make it possible to copy GstVaapiVideoMeta objects, unless they contain VA
21779	  objects created from GstVaapiVideoPool. This is mostly useful to clone a
21780	  GstVaapiVideoMeta object containing a VA surface proxy so that to alter its
21781	  rendering flags.
21782
217832013-04-04 16:16:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21784
21785	* gst/vaapi/gstvaapivideometa.c:
21786	  plugins: make it possible to clear VA objects from GstVaapiVideoMeta.
21787	  Fix GstVaapiVideoMeta to allow VA objects to be destroyed when they are
21788	  reset to NULL. i.e. make gst_vaapi_video_meta_set_{image,surface}() and
21789	  gst_vaapi_video_meta_set_surface_proxy() actually clear VA objects when
21790	  argument is NULL.
21791
217922012-09-03 14:00:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21793
21794	* gst/vaapi/Makefile.am:
21795	* gst/vaapi/gstvaapi.c:
21796	* gst/vaapi/gstvaapidecode.c:
21797	* gst/vaapi/gstvaapidownload.c:
21798	* gst/vaapi/gstvaapipluginutil.c:
21799	* gst/vaapi/gstvaapipostproc.c:
21800	* gst/vaapi/gstvaapisink.c:
21801	* gst/vaapi/gstvaapiupload.c:
21802	* gst/vaapi/gstvaapiuploader.c:
21803	* gst/vaapi/gstvaapivideobuffer.c:
21804	* gst/vaapi/gstvaapivideoconverter_glx.c:
21805	* gst/vaapi/gstvaapivideometa.c:
21806	* gst/vaapi/gstvaapivideometa.h:
21807	  plugins: initial port to GStreamer 1.0.
21808	  Port vaapidecode and vaapisink plugins to GStreamer API >= 1.0. This
21809	  is rather minimalistic so that to test the basic functionality.
21810	  Disable vaapiupload, vaapidownload and vaapipostproc plugins. The latter
21811	  needs polishing wrt. to GStreamer 1.x functionality and the former are
21812	  totally phased out in favor of GstVaapiVideoMemory map/unmap facilities,
21813	  which are yet to be implemented.
21814	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21815
218162013-03-21 10:12:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21817
21818	* gst-libs/gst/vaapi/gstcompat.h:
21819	* tests/codec.c:
21820	* tests/decoder.c:
21821	* tests/simple-decoder.c:
21822	* tests/test-subpicture.c:
21823	  tests: add support for GStreamer 1.0.
21824
218252012-09-04 15:12:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21826
21827	* configure.ac:
21828	* gst-libs/gst/vaapi/gstcompat.h:
21829	* gst-libs/gst/vaapi/gstvaapicontext.c:
21830	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21831	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21832	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21833	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21834	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21835	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21836	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21837	* gst-libs/gst/vaapi/gstvaapidisplay.c:
21838	* gst-libs/gst/vaapi/gstvaapiimage.c:
21839	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
21840	* gst-libs/gst/vaapi/gstvaapiprofile.c:
21841	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
21842	* gst-libs/gst/vaapi/gstvaapisurface.h:
21843	  Add initial support for GStreamer 1.0.
21844	  This integrates support for GStreamer API >= 1.0 only in the libgstvaapi
21845	  core decoding library. The changes are kept rather minimal here so that
21846	  the library retains as little dependency as possible on core GStreamer
21847	  functionality.
21848	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21849
218502013-04-03 15:58:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21851
21852	* gst/vaapi/gstvaapisink.c:
21853	  vaapisink: improve check for raw YUV format mode.
21854	  Improve check for raw YUV format modes by avoiding checks against strings
21855	  ("video/x-raw-yuv") for each new GstBuffer allocation. In the usual case,
21856	  GstBaseSink::set_caps() is called first and if VA surface format mode is
21857	  used, then GstBaseSink::buffer_alloc() is not called. If the latter is
21858	  called before set_caps(), then we just make a full check. This one is
21859	  pretty rare though, e.g. it usually happens once for custom pipelines.
21860
218612013-04-03 15:06:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21862
21863	* gst/vaapi/gstvaapipluginutil.c:
21864	  plugins: don't fail if there is no overlay composition to apply.
21865	  Fix gst_vaapi_apply_composition() to not fail if no overlay composition
21866	  was found. i.e. return success (TRUE). This was harmless though extra
21867	  debug messages are not nice.
21868	  This is a regression introduced by commit 95b8659.
21869
218702013-04-03 14:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21871
21872	* gst/vaapi/gstvaapidecode.c:
21873	* gst/vaapi/gstvaapidecode.h:
21874	  vaapidecode: expose the exact set of supported HW decoders.
21875	  Don't return static caps that don't mean anything for the underlying codecs
21876	  that are actually supported for decoding. i.e. always allocate a VA display
21877	  and retrieve the exact set of HW decoders available. That VA display may be
21878	  re-used later on during negotiation through GstVideoContext "prepare-context".
21879	  This fixes fallback to SW decoding if no HW decoder is available.
21880
218812013-04-03 13:08:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21882
21883	* docs/reference/libs/libs-sections.txt:
21884	* gst-libs/gst/vaapi/gstvaapicontext.c:
21885	* gst-libs/gst/vaapi/gstvaapicontext.h:
21886	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21887	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21888	  decoder: drop obsolete functions.
21889	  Drop the following functions that are now obsolete:
21890	  - gst_vaapi_context_get_surface()
21891	  - gst_vaapi_context_put_surface()
21892	  - gst_vaapi_context_find_surface_by_id()
21893	  - gst_vaapi_surface_proxy_new()
21894	  - gst_vaapi_surface_proxy_get_context()
21895	  - gst_vaapi_surface_proxy_set_context()
21896	  - gst_vaapi_surface_proxy_set_surface()
21897	  This is an API change.
21898
218992013-04-03 13:14:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21900
21901	* gst-libs/gst/vaapi/gstvaapidecoder.c:
21902	  decoder: delegate surface size check to VA context reset.
21903	  Now that the surface pool is reference counted in the surface proxy wrapper,
21904	  we can safely ignore surface size checks in gst_vaapi_decoder_ensure_context().
21905	  Besides, this check is already performed in gst_vaapi_context_reset_full().
21906
219072013-04-03 11:37:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21908
21909	* docs/reference/libs/libs-sections.txt:
21910	* gst-libs/gst/vaapi/gstvaapicontext.c:
21911	* gst-libs/gst/vaapi/gstvaapicontext.h:
21912	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21913	* gst-libs/gst/vaapi/gstvaapisurface.h:
21914	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21915	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21916	  decoder: simplify acquisition/release of spare surface.
21917	  Introduce gst_vaapi_surface_proxy_new_from_pool() to allocate a new surface
21918	  proxy from the context surface pool. This change also makes sure to retain
21919	  the parent surface pool in the proxy.
21920	  Besides, it was also totally useless to attach/detach parent context to
21921	  VA surface each time we acquire/release it. Since the whole context owns
21922	  all associated VA surfaces, we can mark this as such only once and for all.
21923
219242013-03-29 10:39:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21925
21926	* configure.ac:
21927	  Bump version for development.
21928
219292013-03-28 10:18:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21930
21931	* NEWS:
21932	* configure.ac:
21933	  0.5.2.
21934
219352013-03-28 10:15:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21936
21937	* NEWS:
21938	  NEWS: updates.
21939
219402013-03-26 18:57:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21941
21942	* gst/vaapi/gstvaapipluginutil.c:
21943	* gst/vaapi/gstvaapisink.c:
21944	  plugins: fix usage of gst_vaapi_reply_to_query().
21945	  Make gst_vaapi_reply_to_query() first check whether the query argument
21946	  is actually a video-context query, i.e. with type GST_QUERY_TYPE_CUSTOM.
21947	  Then, make sure vaapisink propagates the query to the parent class if
21948	  it is not a video-context query.
21949
219502013-03-26 18:45:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21951
21952	* gst/vaapi/gstvaapivideobuffer.c:
21953	* gst/vaapi/gstvaapivideobuffer.h:
21954	  plugins: streamline video buffers.
21955	  Add new gst_vaapi_video_buffer_new() helper function that allocates a video
21956	  buffer from a GstVaapiVideoMeta. Also remove obsolete and useless function
21957	  gst_vaapi_video_buffer_get_meta().
21958
219592013-03-26 10:31:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21960
21961	* docs/reference/libs/libs-sections.txt:
21962	* gst-libs/gst/vaapi/Makefile.am:
21963	* gst/vaapi/Makefile.am:
21964	* gst/vaapi/gstvaapidecode.c:
21965	* gst/vaapi/gstvaapidownload.c:
21966	* gst/vaapi/gstvaapipostproc.c:
21967	* gst/vaapi/gstvaapisink.c:
21968	* gst/vaapi/gstvaapiupload.c:
21969	* gst/vaapi/gstvaapiuploader.c:
21970	* gst/vaapi/gstvaapivideobuffer.h:
21971	* gst/vaapi/gstvaapivideoconverter_glx.c:
21972	* gst/vaapi/gstvaapivideometa.c:
21973	* gst/vaapi/gstvaapivideometa.h:
21974	  plugins: integrate GstVaapiVideoMeta from libgstvaapi.
21975	  Move GstVaapiVideoMeta from core libgstvaapi decoding library to the
21976	  actual plugin elements. That's only useful there. Also inline reference
21977	  counting code from GstVaapiMiniObject.
21978
219792013-03-21 17:17:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21980
21981	* gst/vaapi/Makefile.am:
21982	* gst/vaapi/gstvaapidecode.c:
21983	* gst/vaapi/gstvaapidownload.c:
21984	* gst/vaapi/gstvaapipluginbuffer.c:
21985	* gst/vaapi/gstvaapipluginbuffer.h:
21986	* gst/vaapi/gstvaapipostproc.c:
21987	* gst/vaapi/gstvaapiupload.c:
21988	* gst/vaapi/gstvaapiuploader.c:
21989	* gst/vaapi/gstvaapivideobuffer.c:
21990	* gst/vaapi/gstvaapivideobuffer.h:
21991	  plugins: drop gstvaapipluginbuffer.[ch] helper files.
21992	  Move all gst_vaapi_video_buffer_new*() helpers from gstvaapipluginbuffer.[ch]
21993	  to gstvaapivideobuffer.[ch], and drop the obsolete files.
21994
219952013-03-21 17:06:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21996
21997	* docs/reference/libs/libs-sections.txt:
21998	* docs/reference/libs/libs.core.types:
21999	* gst-libs/gst/vaapi/Makefile.am:
22000	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
22001	* gst/vaapi/Makefile.am:
22002	* gst/vaapi/gstvaapidownload.h:
22003	* gst/vaapi/gstvaapipluginbuffer.c:
22004	* gst/vaapi/gstvaapipostproc.h:
22005	* gst/vaapi/gstvaapivideobuffer.c:
22006	* gst/vaapi/gstvaapivideobuffer.h:
22007	* gst/vaapi/gstvaapivideoconverter_glx.h:
22008	  plugins: integrate GstVaapiVideoBuffer from libgstvaapi.
22009	  Move GstVaapiVideoBuffer from core libgstvaapi decoding library to the
22010	  actual plugin elements. That's only useful there.
22011
220122013-03-21 16:32:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22013
22014	* gst/vaapi/gstvaapipluginutil.c:
22015	* gst/vaapi/gstvaapipluginutil.h:
22016	* gst/vaapi/gstvaapisink.c:
22017	* gst/vaapi/gstvaapivideoconverter_glx.c:
22018	  plugins: use common helper function to apply compositions.
22019	  Use common gst_vaapi_apply_composition() helper function to apply compositions
22020	  attached to a buffer in vaapisink or GstVaapiVideoConverterGLX.
22021
220222013-03-21 16:09:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22023
22024	* gst-libs/gst/vaapi/Makefile.am:
22025	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
22026	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
22027	* gst/vaapi/Makefile.am:
22028	* gst/vaapi/gstvaapipluginbuffer.c:
22029	* gst/vaapi/gstvaapivideoconverter_glx.c:
22030	* gst/vaapi/gstvaapivideoconverter_glx.h:
22031	  plugins: integrate GstVaapiVideoConverterGLX from libgstvaapi.
22032	  Make sure libgstvaapi core decoding library doesn't include un-needed
22033	  dependencies. So, move out GstVaapiVideoConverterGLX to plugins instead.
22034	  Besides, even if the vaapisink element is not used, we are bound to have
22035	  a correctly populated GstSurfaceBuffer from vaapidecode.
22036	  Also clean-up the file along the way.
22037
220382013-03-21 13:32:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22039
22040	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22041	  vc1: fix use of possibly uninitialized variable.
22042	  In decode_codec_data(), force initialization of format to zero so that
22043	  we can catch up cases where codec-data has neither "format" nor "wmvversion"
22044	  fields, thus making it possible to gracefully fail in this case.
22045
220462013-03-21 13:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22047
22048	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22049	  jpeg: propagate buffer data as a const guchar * pointer (cosmetics).
22050
220512013-03-21 14:36:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22052
22053	* gst-libs/gst/vaapi/gstvaapidecoder.c:
22054	* gst-libs/gst/vaapi/gstvaapidecoder.h:
22055	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22056	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22057	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22058	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22059	  decoder: sanitize codec-data decoding.
22060	  Add a new GstVaapiDecoder::decode_codec_data() hook to actually decode
22061	  codec-data in the decoder sub-class. Provide a common shared helper
22062	  function to do the actual work and delegating further to the sub-class.
22063
220642013-03-21 13:41:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22065
22066	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22067	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22068	* gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
22069	* gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
22070	  decoder: get rid of GstVaapiDecoderUnit::buffer field.
22071	  Drop GstVaapiDecoderUnit buffer field (GstBuffer) since it's totally
22072	  useless nowadays as creating sub-buffers doesn't bring any value. It
22073	  actually means more memory allocations. We can't do without that in
22074	  JPEG and MPEG-4:2 decoders.
22075
220762013-03-21 13:28:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22077
22078	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22079	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22080	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22081	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22082	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22083	  decoder: sanitize uses of codec frame input buffer (cosmetics).
22084	  Alias GST_VAAPI_DECODER_CODEC_FRAME(decoder)->input_buffer to a simple
22085	  "buffer" variable.
22086
220872013-03-20 17:34:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22088
22089	* gst/vaapi/gstvaapisink.c:
22090	  vaapisink: add helper function to apply a composition buffer.
22091	  Simplify application of a composition buffer to a GstVaapiSurface, and
22092	  all its peers, until that function is eventually promoted to libgstvaapi.
22093
220942013-03-20 13:42:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22095
22096	* gst/vaapi/gstvaapisink.c:
22097	  vaapisink: fix support for raw YUV buffers.
22098	  If the raw YUV buffer was created from vaapisink, through the buffer_alloc()
22099	  hook, then it will have a valid GstVaapiVideoMeta object attached to it.
22100	  However, we previously assumed in that case that it was a "native" VA buffer,
22101	  thus not calling into GstVaapiUploader::process().
22102
221032013-03-20 18:41:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22104
22105	* gst-libs/gst/vaapi/gstcompat.h:
22106	* gst/vaapi/gstvaapidecode.c:
22107	* gst/vaapi/gstvaapidownload.c:
22108	* gst/vaapi/gstvaapipostproc.c:
22109	* gst/vaapi/gstvaapisink.c:
22110	* gst/vaapi/gstvaapiupload.c:
22111	  plugins: use modern GstElement metadata information.
22112	  Use gst_element_class_set_static_metadata() from GStreamer 1.0, which
22113	  basically is the same as gst_element_class_set_details_simple() in
22114	  GStreamer 0.10 context.
22115
221162013-03-20 18:04:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22117
22118	* gst/vaapi/gstvaapidecode.c:
22119	* gst/vaapi/gstvaapidownload.c:
22120	* gst/vaapi/gstvaapipostproc.c:
22121	* gst/vaapi/gstvaapisink.c:
22122	* gst/vaapi/gstvaapiupload.c:
22123	  plugins: move up interfaces (cosmetics).
22124	  Move GstImplementsInterface and GstVideoContext support functions up
22125	  so that to keep a clear separation between the plugin element and its
22126	  interface hooks.
22127
221282013-03-20 12:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22129
22130	* gst/vaapi/gstvaapisink.c:
22131	* gst/vaapi/gstvaapiuploader.c:
22132	  plugins: upgrade to newer APIs (GstVideoInfo based helpers).
22133	  Use GstVideoInfo and gst_video_info_from_caps() helper wherever possible.
22134	  Also use the newly added gst_vaapi_image_format_from_structure() helper
22135	  in GstVaapiUploader::ensure_allowed_caps().
22136
221372013-03-20 14:02:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22138
22139	* gst/vaapi/gstvaapipluginbuffer.c:
22140	  plugins: fix creation of video buffer from another source buffer.
22141	  gst_vaapi_video_buffer_new_from_buffer() needs to reference the source
22142	  buffer video meta since it would be unreference'd from the get_buffer()
22143	  helper function. For other cases, we still use (steal) the newly created
22144	  video meta.
22145
221462013-03-20 11:57:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22147
22148	* gst/vaapi/gstvaapipluginbuffer.c:
22149	* gst/vaapi/gstvaapipluginutil.c:
22150	  plugins: include "sysdeps.h" header instead of "config.h".
22151
221522013-03-20 18:33:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22153
22154	* gst-libs/gst/vaapi/gstcompat.h:
22155	* tests/codec.c:
22156	  tests: modernize GstTypeFind functions.
22157	  Use the GstTypeFind hooks from GStreamer 1.0. They look safer and
22158	  exactly correspond to the expected behaviour.
22159
221602013-03-20 11:57:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22161
22162	* tests/image.c:
22163	* tests/image.h:
22164	* tests/test-decode.c:
22165	* tests/test-display.c:
22166	* tests/test-h264.c:
22167	* tests/test-h264.h:
22168	* tests/test-jpeg.c:
22169	* tests/test-jpeg.h:
22170	* tests/test-mpeg2.c:
22171	* tests/test-mpeg2.h:
22172	* tests/test-mpeg4.c:
22173	* tests/test-mpeg4.h:
22174	* tests/test-textures.c:
22175	* tests/test-vc1.c:
22176	* tests/test-vc1.h:
22177	* tests/test-windows.c:
22178	  tests: fix license templates.
22179
221802013-03-20 11:53:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22181
22182	* tests/test-display.c:
22183	  tests: use gst_vaapi_image_format_from_structure() in test-display.
22184	  Use gst_vaapi_image_format_from_structure() helper in test-display and
22185	  then extract a VAImageFormat from it instead of relying on GstCaps for
22186	  YUV and RGB formats.
22187
221882013-03-20 11:50:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22189
22190	* tests/codec.c:
22191	* tests/decoder.c:
22192	* tests/output.c:
22193	* tests/test-decode.c:
22194	* tests/test-display.c:
22195	* tests/test-subpicture.c:
22196	* tests/test-textures.c:
22197	* tests/test-windows.c:
22198	  tests: include "sysdeps.h" header instead of "config.h".
22199
222002013-03-20 18:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22201
22202	* gst-libs/gst/vaapi/gstcompat.h:
22203	* gst-libs/gst/vaapi/gstvaapicontext.c:
22204	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
22205	  subpicture: use gst_video_overlay_rectangle_get_pixels_unscaled_raw().
22206	  Use newer gst_video_overlay_rectangle_get_pixels_unscaled_raw() helper
22207	  function with GStreamer 0.10 compatible semantics, or that tries to
22208	  approach the current meaning. Basically, this is also just about moving
22209	  the helper to gstcompat.h.
22210
222112013-03-20 11:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22212
22213	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
22214	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
22215	  image: add gst_vaapi_image_format_from_structure() helper.
22216	  Add helper function to convert video formats from a GstStructure to a
22217	  plain GstVaapiImageFormat.
22218
222192013-03-20 18:12:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22220
22221	* gst-libs/gst/vaapi/Makefile.am:
22222	* gst-libs/gst/vaapi/gstcompat.h:
22223	* gst-libs/gst/vaapi/sysdeps.h:
22224	  sysdeps: split out GStreamer API compatibility glue to "gstcompat.h".
22225
222262013-03-20 11:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22227
22228	* gst-libs/gst/vaapi/sysdeps.h:
22229	  sysdeps: add more standard includes by default.
22230
222312013-03-20 14:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22232
22233	* configure.ac:
22234	  configure: improve GStreamer API version checks.
22235
222362013-03-20 11:44:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22237
22238	* configure.ac:
22239	* debian.upstream/Makefile.am:
22240	* debian.upstream/changelog.in:
22241	* debian.upstream/control.in:
22242	* debian.upstream/gstreamer-vaapi-doc.install.in:
22243	* debian.upstream/libgstvaapi-dev.install.in:
22244	* debian.upstream/libgstvaapi-drm.install.in:
22245	* debian.upstream/libgstvaapi-glx.install.in:
22246	* debian.upstream/libgstvaapi-wayland.install.in:
22247	* debian.upstream/libgstvaapi-x11.install.in:
22248	* debian.upstream/libgstvaapi.install.in:
22249	* docs/reference/libs/Makefile.am:
22250	* docs/reference/libs/libs-docs.xml.in:
22251	* docs/reference/plugins/Makefile.am:
22252	* docs/reference/plugins/plugins-docs.xml.in:
22253	* gst-libs/gst/vaapi/Makefile.am:
22254	* gst/vaapi/Makefile.am:
22255	* pkgconfig/Makefile.am:
22256	* pkgconfig/gstreamer-vaapi-drm.pc.in:
22257	* pkgconfig/gstreamer-vaapi-glx.pc.in:
22258	* pkgconfig/gstreamer-vaapi-wayland.pc.in:
22259	* pkgconfig/gstreamer-vaapi-x11.pc.in:
22260	* pkgconfig/gstreamer-vaapi.pc.in:
22261	* tests/Makefile.am:
22262	  configure: rename GST_MAJORMINOR to GST_API_VERSION.
22263
222642013-03-20 11:28:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22265
22266	* configure.ac:
22267	  configure: improve check for H.264 codecparser.
22268
222692013-02-26 00:38:24 +0100  Holger Kaelberer <hk@getslash.de>
22270
22271	* gst/vaapi/gstvaapiuploader.c:
22272	  vaapiupload: fix illegal write in ensure_image().
22273	  Fix ensure_image() to only zero-initialize the first line of each plane.
22274	  Properly initializing each plane to their full vertical resolution would
22275	  require to actually compute it based on the image format.
22276	  In particular, for NV12 images, the UV plane has half vertical resolution
22277	  vs. the Y plane. So using the full image height to initialize the UV plane
22278	  will obviously lead to a buffer overflow. Likewise for other YUV format.
22279	  Since ensure_image() is only a helper function to initialize something,
22280	  and not necessarily the whole thing, it is fine to initializ the first
22281	  line only. Besides, the target surface is not rendered either.
22282	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22283
222842013-02-17 16:28:47 +0800  Xiang, Haihao <haihao.xiang@intel.com>
22285
22286	* gst-libs/gst/codecparsers/Makefile.am:
22287	* gst-libs/gst/video/Makefile.am:
22288	  build: fix compiling of local GstVideoDecoder and codecparsers.
22289	  Generated source files were missing a dependency on the complete set of
22290	  generated header files. e.g. gstvideodecoder.c requires gstvideoutils.h
22291	  to build and almost every codec parser source depends on parserutils.h.
22292	  https://bugs.freedesktop.org/show_bug.cgi?id=59575
22293	  Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
22294	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22295
222962013-02-08 11:56:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22297
22298	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22299	  h264: set {luma,chroma}_log2_weight_denom to 0 if no pred_weight_table().
22300	  Force luma_log2_weight_denom and chroma_log2_weight_denom to zero if
22301	  there is no pred_weight_table() that was parsed.
22302	  This is a workaround for the VA intel-driver on Ivy Bridge.
22303
223042013-02-07 15:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22305
22306	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22307	  h264: use new profile definitions from codecparsers.
22308
223092013-02-07 15:29:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22310
22311	* ext/codecparsers:
22312	  codecparsers: update to gst-vaapi-branch commit 500bc02.
22313	  500bc02 h264: add profile enums
22314
223152013-02-06 15:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22316
22317	* NEWS:
22318	  NEWS: updates.
22319
223202013-02-06 15:21:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22321
22322	* ext/codecparsers:
22323	  codecparsers: update to gst-vaapi-branch commit 31b1c57.
22324	  8957fb7 mpeg2: add helpers to convert quantization matrices
22325	  07c4034 mpeg2: store quantization matrices in zigzag scan order
22326
223272013-01-31 11:32:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22328
22329	* tests/simple-decoder.c:
22330	  tests: simple-decoder: fix build on older platforms.
22331	  Make simple-decoder build and execute correctly on older platforms,
22332	  and more precisely older versions of glib.
22333
223342013-01-31 11:30:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22335
22336	* gst-libs/gst/vaapi/glibcompat.h:
22337	  glibcompat: add replacement for g_async_queue_timeout_pop().
22338	  g_async_queue_timeout_pop() appeared in glib 2.31.18. Implement it as
22339	  g_async_queue_timed_pop() with a GTimeVal as the final time to wait for
22340	  new data to arrive in the queue.
22341
223422013-01-31 11:25:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22343
22344	* gst-libs/gst/vaapi/glibcompat.h:
22345	  glibcompat: add replacement for g_cond_wait().
22346
223472013-01-30 18:38:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22348
22349	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22350	  mpeg2: fix decoding of 4K videos.
22351	  Account for slice_vertical_position_extension when vertical_size > 2800.
22352
223532013-01-30 18:54:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22354
22355	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22356	  mpeg2: fix decoding of sequence_end().
22357	  There shall be only one place to call decode_current_picture(), and this
22358	  is in the end_frame() hook. The EOS unit is processed after end_frame()
22359	  so this means we cannot have a valid picture to decode/output at this
22360	  point.
22361
223622013-01-30 15:10:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22363
22364	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22365	  mpeg2: improve robustness when packets are missing.
22366	  Improve robustness when some expected packets where not received yet
22367	  or that were not correctly decoded. For example, don't try to decode
22368	  a picture if there was no valid sequence or picture headers.
22369
223702013-01-30 18:58:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22371
22372	* gst-libs/gst/vaapi/gstvaapidecoder.c:
22373	  decoder: handle decode-only frames in raw API mode.
22374	  Fix gst_vaapi_decoder_get_surface() to only return frames with a valid
22375	  surface proxy, i.e. with a valid VA surface. This means that any frame
22376	  marked as decode-only is simply skipped.
22377
223782013-01-30 16:33:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22379
22380	* gst-libs/gst/vaapi/gstvaapidecoder.c:
22381	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22382	  decoder: allow frames to be dropped.
22383	  If the decoder was not able to decode a frame because insufficient
22384	  information was available, e.g. missing sequence or picture header,
22385	  then allow the frame to be gracefully dropped without generating
22386	  any error.
22387	  It is also possible that a frame is not meant to be displayed but
22388	  only used as a reference, so dropping that frame is also a valid
22389	  operation since GstVideoDecoder base class has extra references to
22390	  that GstVideoCodecFrame that needs to be released.
22391
223922013-01-30 16:26:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22393
22394	* gst/vaapi/gstvaapidecode.c:
22395	  vaapidecode: handle decode-only frames.
22396	  Decode-only frames may not have a valid surface proxy. So, simply discard
22397	  them gracefully, i.e. don't create meta data information. GstVideoDecoder
22398	  base class will properly handle this case and won't try to push any buffer
22399	  to downstream elements.
22400
224012013-01-24 00:49:17 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22402
22403	* gst/vaapi/gstvaapidecode.c:
22404	  vaapidecode: add support for post-seek semantics reset.
22405	  Implement GstVideoDecoder::reset() as a destruction of the VA decoder
22406	  and the creation of a new VA decoder.
22407	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22408
224092013-01-30 09:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22410
22411	* configure.ac:
22412	  Bump version for development.
22413
224142013-01-30 09:37:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22415
22416	* NEWS:
22417	* configure.ac:
22418	  0.5.1.
22419
224202013-01-24 00:48:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22421
22422	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22423	  mpeg2: implement GstVaapiDecoder::flush() as a DPB flush.
22424
224252013-01-24 17:34:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22426
22427	* gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
22428	  decoder: fix documentation for GstVaapiDecoderFrame.
22429	  Drop superfluous reference to prev_slice member.
22430
224312013-01-29 16:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22432
22433	* gst-libs/gst/vaapi/gstvaapidecoder.c:
22434	  decoder: assume current frame is complete at end-of-stream.
22435	  Assume we got a complete frame when the end-of-stream is reached and that
22436	  the current codec frame contains at least one slice data unit.
22437
224382013-01-29 14:14:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22439
22440	* NEWS:
22441	* README:
22442	* debian.upstream/copyright:
22443	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
22444	* gst-libs/gst/vaapi/gstvaapicontext.c:
22445	* gst-libs/gst/vaapi/gstvaapidecoder.c:
22446	* gst-libs/gst/vaapi/gstvaapidecoder.h:
22447	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22448	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
22449	* gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
22450	* gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
22451	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22452	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22453	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22454	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22455	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
22456	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22457	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22458	* gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
22459	* gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
22460	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22461	* gst-libs/gst/vaapi/gstvaapidisplay.c:
22462	* gst-libs/gst/vaapi/gstvaapidisplay.h:
22463	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
22464	* gst-libs/gst/vaapi/gstvaapiminiobject.c:
22465	* gst-libs/gst/vaapi/gstvaapiprofile.h:
22466	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
22467	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
22468	* gst-libs/gst/vaapi/gstvaapisurface.c:
22469	* gst-libs/gst/vaapi/gstvaapiutils.c:
22470	* gst-libs/gst/vaapi/gstvaapiutils.h:
22471	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
22472	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
22473	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
22474	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22475	* gst-libs/gst/vaapi/sysdeps.h:
22476	* gst/vaapi/gstvaapidecode.c:
22477	* gst/vaapi/gstvaapidownload.c:
22478	* gst/vaapi/gstvaapipluginbuffer.c:
22479	* gst/vaapi/gstvaapipluginbuffer.h:
22480	* gst/vaapi/gstvaapipostproc.c:
22481	* gst/vaapi/gstvaapisink.c:
22482	* gst/vaapi/gstvaapiupload.c:
22483	* gst/vaapi/gstvaapiuploader.c:
22484	* tests/output.c:
22485	* tests/test-decode.c:
22486	* tests/test-subpicture.c:
22487	  legal: fix year for some copyright notices (2013).
22488
224892013-01-29 14:03:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22490
22491	* gst-libs/gst/vaapi/gstvaapicontext.h:
22492	* gst-libs/gst/vaapi/gstvaapidecoder.h:
22493	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22494	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
22495	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22496	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
22497	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22498	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
22499	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
22500	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
22501	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
22502	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
22503	* gst-libs/gst/vaapi/gstvaapisurface.c:
22504	* gst-libs/gst/vaapi/gstvaapisurface.h:
22505	* gst-libs/gst/vaapi/gstvaapisurface_priv.h:
22506	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
22507	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
22508	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
22509	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
22510	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
22511	* gst/vaapi/gstvaapidecode.h:
22512	* gst/vaapi/gstvaapisink.h:
22513	* tests/test-subpicture.c:
22514	  legal: fix year for some copyright notices (2012).
22515
225162013-01-29 14:00:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22517
22518	* gst-libs/gst/vaapi/gstvaapicompat.h:
22519	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
22520	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
22521	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
22522	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
22523	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
22524	* gst-libs/gst/vaapi/gstvaapiobject.c:
22525	* gst-libs/gst/vaapi/gstvaapiobject.h:
22526	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
22527	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
22528	* gst-libs/gst/vaapi/gstvaapiparamspecs.h:
22529	* gst-libs/gst/vaapi/gstvaapiprofile.c:
22530	* gst-libs/gst/vaapi/gstvaapiprofile.h:
22531	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
22532	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
22533	* gst-libs/gst/vaapi/gstvaapitexture.c:
22534	* gst-libs/gst/vaapi/gstvaapitexture.h:
22535	* gst-libs/gst/vaapi/gstvaapitypes.h:
22536	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22537	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
22538	* gst-libs/gst/vaapi/gstvaapivalue.c:
22539	* gst-libs/gst/vaapi/gstvaapivalue.h:
22540	* gst-libs/gst/vaapi/gstvaapivideopool.c:
22541	* gst-libs/gst/vaapi/gstvaapivideopool.h:
22542	* gst-libs/gst/vaapi/gstvaapiwindow.h:
22543	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
22544	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
22545	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
22546	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
22547	* tests/test-display.c:
22548	* tests/test-surfaces.c:
22549	* tests/test-windows.c:
22550	  legal: add Intel copyright on modified files.
22551
225522013-01-29 13:37:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22553
22554	* NEWS:
22555	  NEWS: updates.
22556
225572013-01-28 18:09:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22558
22559	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22560	  wayland: use a local event queue to avoid lock contention.
22561	  This improves performance when rendering several surfaces from within
22562	  the same process. e.g. a tee of vaapidecode'd buffers to vaapisink.
22563
225642013-01-28 17:28:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22565
22566	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22567	  wayland: fix thread-safe issues.
22568	  The Wayland API is not fully thread-safe and client applications shall
22569	  perform locking themselves on key functions. Besides, make sure to
22570	  release the lock if the _render() function fails.
22571
225722013-01-28 16:37:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22573
22574	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22575	  wayland: really wait until the pending redraw completed.
22576	  Introduce gst_vaapi_window_wayland_sync() helper function to wait for
22577	  the completion of the redraw request. Use it in _render() function to
22578	  actually block until the previous draw request is completed.
22579
225802013-01-23 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22581
22582	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22583	  wayland: fix frame_redraw callback.
22584	  The redraw callback needs to be attached to the surface prior to the
22585	  commit. Otherwise, the callback notifies the next surface repaint,
22586	  which is not the desired behaviour. i.e. we want to be notified for
22587	  the surface we have just filled.
22588	  Another isse was the redraw_pending was reset before the actual completion
22589	  of the frame redraw callback function, thus causing concurrency issues.
22590	  e.g. the callback could have been called again, but with a NULL buffer.
22591
225922013-01-28 14:45:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22593
22594	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
22595	  wayland: fix display sharing.
22596	  When the Wayland display is shared, we still have to create our own local
22597	  shell and compositor objects, since they are not propagated from the cache.
22598	  Likewise, we also need to determine the display size or vaapisink would
22599	  fail to account for the display aspect ratio, and will try to create a 0x0
22600	  window.
22601
226022013-01-24 17:38:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22603
22604	* ext/codecparsers:
22605	  codecparsers: update to gst-vaapi-branch commit 21a098e.
22606	  21a098e vc1: fix bitplanes decoding (DIFF6 or NORM6) [residual]
22607	  f8c836a vc1: fix bitplanes decoding (DIFF6 or NORM6)
22608
226092013-01-23 16:38:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22610
22611	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22612	  vc1: handle frames with multiple slices.
22613
226142013-01-23 17:01:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22615
22616	* ext/codecparsers:
22617	  codecparsers: update to gst-vaapi-branch commit 3fba492.
22618	  3fba492 vc1: add API to parse slice headers
22619
226202013-01-23 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22621
22622	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22623	  vc1: handle CLOSED_ENTRY.
22624	  When CLOSED_ENTRY == 0, and if the B pictures that follow an entry-point
22625	  lack a reference anchor picture, these B pictures shall be discarded.
22626	  https://bugs.freedesktop.org/show_bug.cgi?id=59505
22627
226282013-01-23 10:25:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22629
22630	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22631	  vc1: cope with latest codecparser changes.
22632	  Fix build with newer VC-1 codecparser where dqsbedge was renamed to
22633	  dqbedge, and now represents either DQSBEDGE or DQDBEDGE depending on
22634	  the actual value of DQPROFILE.
22635
226362013-01-23 10:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22637
22638	* ext/codecparsers:
22639	  codecparsers: update to gst-vaapi-branch commit 3d2c67c.
22640	  3d2c67c vc1: simplify GstVC1VopDquant structure
22641
226422013-01-22 10:51:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22643
22644	* ext/codecparsers:
22645	  codecparsers: update to gst-vaapi-branch commit 5d33da8.
22646	  5d33da8 vc1: fix bitplanes decoding
22647	  562bdc4 vc1: fix VOPDQUANT parser for DQUANT == 2
22648	  0b13d2b vc1: fix calculation of ALTPQUANT
22649	  ba88e63 vc1: fix parser for DQPROFILE in VOPDQUANT
22650
226512013-01-22 15:47:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22652
22653	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22654	  vc1: fix size of encapsulated BDU.
22655	  Fix size of encapsulated BDUs since GstVC1BDU.size actually represents
22656	  the size of the BDU data, starting from offset, i.e. after any start
22657	  code is parsed.
22658	  This fixes a buffer overflow during the unescaping process.
22659
226602013-01-11 17:08:00 +0800  Wind Yuan <feng.yuan@intel.com>
22661
22662	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22663	  vc1: fix decoding of WMV3 videos in AVI format.
22664	  The AVI demuxer (avidemux) does not set a proper "format" attribute
22665	  to the generated caps. So, try to recover the video codec format from
22666	  the "wmvversion" property instead.
22667	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22668
226692013-01-22 13:28:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22670
22671	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22672	  vc1: review and report errors accordingly.
22673	  Use GST_ERROR() to report real errors instead of hiding them into
22674	  GST_DEBUG().
22675
226762013-01-22 13:50:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22677
22678	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22679	  vc1: don't create GstBuffers for all decoder units.
22680	  Don't create temporary GstBuffers for all decoder units, even if they
22681	  are lightweight "sub-buffers", since it is not really necessary to keep
22682	  the buffer data around.
22683
226842013-01-22 16:03:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22685
22686	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22687	  vc1: implement flush() hook.
22688	  Make it a simple DPB flush.
22689
226902013-01-22 13:44:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22691
22692	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22693	  vc1: implement {start,end}_frame() hooks.
22694	  Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
22695	  that to create new VA context earlier and submit VA pictures to the
22696	  HW for decoding as soon as possible. i.e. don't wait for the next
22697	  frame to start decoding the previous one.
22698
226992013-01-22 09:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22700
22701	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22702	  vc1: fix next POC for new sequence layers.
22703	  Fix next POC when a new sequence layer is reached. At this point, we
22704	  need to reset any previous reference picture, i.e. non B-frame.
22705
227062012-08-02 17:15:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22707
22708	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22709	  vc1: port to common GstVaapiDpb interface.
22710	  Use GstVaapiDpb interface instead of maintaining our own prev and next
22711	  picture pointers. While doing so, try to derive a sensible POC value.
22712	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22713
227142013-01-15 17:10:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22715
22716	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22717	  vc1: fix decode_sequence_end() to return success, not EOS.
22718
227192013-01-18 17:00:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22720
22721	* gst-libs/gst/vaapi/gstvaapidecoder.c:
22722	  decoder: simplify gst_vaapi_decoder_get_surface().
22723	  Avoid extraenous branches, i.e. immediately return with success once we
22724	  have a decoded frame available.
22725
227262013-01-18 16:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22727
22728	* gst-libs/gst/vaapi/gstvaapidecoder.c:
22729	  decoder: optimize and clean decode_step() up.
22730	  Avoid usage of goto. Simplify decode_step() process to first accumulate all
22731	  pending buffers into the GstAdapter, and then parse and decode units from
22732	  that input adapter. Stop the process once a frame is fully decoded or an
22733	  error occurred.
22734
227352013-01-18 14:46:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22736
22737	* gst-libs/gst/vaapi/gstvaapidisplay.c:
22738	  display: move "vaapi" debug init to libgstvaapi_init_once().
22739
227402013-01-18 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22741
22742	* configure.ac:
22743	* gst-libs/gst/vaapi/Makefile.am:
22744	* gst-libs/gst/vaapi/gstvaapidisplay.c:
22745	* gst-libs/gst/vaapi/gstvaapiversion.h.in:
22746	  display: dump gstreamer-vaapi version for debugging purposes.
22747
227482013-01-18 14:30:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22749
22750	* tests/Makefile.am:
22751	  tests: simple-decoder: fix build with built-in videoutils.
22752	  Fix build with built-in videoutils, i.e. when system GStreamer installation
22753	  does not know about GstVideoDecoder API.
22754
227552013-01-18 10:35:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22756
22757	* tests/simple-decoder.c:
22758	  tests: simple-decoder: flush decoded frames at EOS.
22759	  Flush the remaining decoded frames when an end-of-stream is reached.
22760
227612013-01-18 10:25:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22762
22763	* tests/simple-decoder.c:
22764	  tests: simple-decoder: drop use of GstVaapiVideoMeta.
22765	  Don't use GstVaapiVideoMeta since that object is not guaranteed to live
22766	  in libgstvaapi forever. Rather, that'd move to plugin elements at some
22767	  point.
22768
227692013-01-16 13:53:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22770
22771	* tests/simple-decoder.c:
22772	  tests: simple-decoder: add benchmark mode.
22773	  Add --benchmark option to enable benchmark mode where rendering is not
22774	  synchronized with presentation timestamps of the decoded surfaces.
22775
227762013-01-16 13:29:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22777
22778	* tests/Makefile.am:
22779	* tests/simple-decoder.c:
22780	  tests: simple-decoder: honour framerate from the bitstream.
22781	  Try to honour the framerate from the bitstream, or cap the playback to
22782	  60 fps by default.
22783
227842013-01-15 18:49:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22785
22786	* tests/simple-decoder.c:
22787	  tests: simple-decoder: set window size to the surface dimensions.
22788	  Set the window size to the decoded surface dimensions, if the user has
22789	  not requested the application to run in full-screen mode. Besides, no
22790	  effort is made to preserve aspect ratio or to center the video within
22791	  the mapped window.
22792
227932013-01-15 17:33:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22794
22795	* tests/Makefile.am:
22796	* tests/simple-decoder.c:
22797	  tests: add simple decoder application.
22798	  Add simple decoder application to show off decoding capabilities from
22799	  raw bitstreams, for debugging or performance evaluation purposes.
22800
228012013-01-15 17:30:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22802
22803	* tests/Makefile.am:
22804	* tests/codec.c:
22805	* tests/codec.h:
22806	  tests: add codec helper utils.
22807	  Add helper functions to determine the codec type from a specific file
22808	  or utility functions to convert from codec type to GstCaps or from
22809	  codec name to codec type.
22810
228112013-01-15 17:47:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22812
22813	* tests/output.c:
22814	  tests: allow fullscreen mode.
22815	  Add new --fullscreen|-f option to create new windows in fullscreen mode.
22816
228172013-01-17 18:35:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22818
22819	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22820	  h264: implement GstVaapiDecoder::flush() as a DPB flush.
22821
228222013-01-17 18:07:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22823
22824	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22825	  h264: handle end-of-stream NALU.
22826	  Handle <end-of-stream> NAL unit to actually flush any pending picture
22827	  from the DPB.
22828
228292013-01-17 18:22:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22830
22831	* gst/vaapi/gstvaapidecode.c:
22832	  vaapidecode: handle EOS events.
22833	  Flush all decoded frames to downstream when EOS is received. This is
22834	  performed by implementing GstVideoDecoder::finish() hook.
22835
228362013-01-17 18:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22837
22838	* gst/vaapi/gstvaapidecode.c:
22839	  vaapidecode: split gvd_handle_frame() into decode/push frames.
22840	  Split GstVideoDecoder::handle_frame() implementation into two functions:
22841	  (i) one for decoding the provided GstVideoCodecFrame and (ii) another one
22842	  for purging all decoded frames and submit them downstream.
22843
228442013-01-17 18:33:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22845
22846	* gst-libs/gst/vaapi/gstvaapidecoder.c:
22847	* gst-libs/gst/vaapi/gstvaapidecoder.h:
22848	  decoder: add GstVaapiDecoder::flush() hook.
22849
228502013-01-15 17:21:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22851
22852	* gst-libs/gst/vaapi/gstvaapidecoder.c:
22853	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22854	  decoder: fix check for end-of-stream in raw API mode.
22855	  Make sure to immediately return GST_VAAPI_DECODER_STATUS_END_OF_STREAM
22856	  if the end-of-stream was already reached at the previous iteration.
22857
228582013-01-15 16:55:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22859
22860	* gst-libs/gst/vaapi/gstvaapidecoder.c:
22861	  decoder: make decode_step() return once the frame is decoded.
22862	  Make sure we always have a free surface left to use for decoding the
22863	  current frame. This means that decode_step() has to return once a frame
22864	  gets decoded. If the current adapter contains more buffers with valid
22865	  frames, they will get parsed and decoded on subsequent iterations.
22866
228672013-01-17 15:47:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22868
22869	* ext/codecparsers:
22870	  codecparsers: update to gst-vaapi-branch commit b47983a.
22871	  8840c2d h264: zero-initialize SPS VUI parameters
22872
228732013-01-15 09:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22874
22875	* configure.ac:
22876	  Bump version for development.
22877
228782013-01-15 09:21:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22879
22880	* NEWS:
22881	* configure.ac:
22882	  0.5.0.
22883
228842013-01-14 11:48:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22885
22886	* docs/reference/libs/libs-docs.xml.in:
22887	* docs/reference/libs/libs-sections.txt:
22888	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22889	* gst-libs/gst/vaapi/gstvaapidisplay.c:
22890	* gst-libs/gst/vaapi/gstvaapiprofile.h:
22891	  docs: expose new interfaces.
22892
228932013-01-14 12:58:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22894
22895	* NEWS:
22896	  NEWS: updates.
22897
228982013-01-14 10:58:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22899
22900	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22901	  dpb: cosmetics (clean-ups).
22902
229032013-01-14 10:46:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22904
22905	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22906	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
22907	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22908	  dpb: port to GstVaapiMiniObject.
22909
229102013-01-14 10:21:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22911
22912	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22913	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
22914	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22915	  dpb: drop GstVaapiDpb2 interface, keep only one class.
22916	  Keep only one DPB interface and rename gst_vaapi_dpb2_get_references()
22917	  to gst_vaapi_dpb_get_neighbours() so that to retrieve pictures in DPB
22918	  around the specified picture POC.
22919
229202012-08-02 15:56:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22921
22922	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22923	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
22924	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22925	  dpb: rename GstVaapiDpbMpeg2 to GstVaapiDpb2.
22926	  Move GstVaapiDpbMpeg2 API to a more generic version that could also be
22927	  useful to other decoders that require 2 reference pictures, e.g. VC-1.
22928	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22929
229302013-01-11 16:04:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22931
22932	* configure.ac:
22933	  Bump version for pre-release.
22934
229352013-01-11 15:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22936
22937	* NEWS:
22938	  NEWS: updates.
22939
229402012-07-20 12:36:33 +0200  Holger Kaelberer <holger.k@elberer.de>
22941
22942	* configure.ac:
22943	* gst-libs/gst/vaapi/gstvaapicontext.c:
22944	* gst-libs/gst/vaapi/gstvaapiutils.c:
22945	* gst-libs/gst/vaapi/sysdeps.h:
22946	* tests/test-subpicture.c:
22947	  overlay: fix build without advanced GstVideoOverlayFormatFlags.
22948	  Check for global-alpha support in GstVideoOverlayComposition API.
22949	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22950
229512013-01-04 10:19:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22952
22953	* tests/test-subpicture.c:
22954	  tests: add support for global-alpha subpictures.
22955	  Add --global-alpha option to test-subpicture.
22956
229572013-01-10 13:09:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22958
22959	* tests/Makefile.am:
22960	* tests/test-subpicture.c:
22961	  tests: use GstVideoOverlayComposition API for subpicture test.
22962
229632013-01-10 11:26:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22964
22965	* tests/Makefile.am:
22966	* tests/test-subpicture.c:
22967	  tests: use common decoder helpers for subpicture test.
22968	  Use common decoder helpers for subpicture test, thus allowing to decode
22969	  sample images in an alternate format.
22970
229712013-01-10 11:22:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22972
22973	* tests/Makefile.am:
22974	* tests/decoder.c:
22975	* tests/decoder.h:
22976	* tests/test-decode.c:
22977	  tests: add decoder helpers.
22978
229792013-01-11 15:19:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22980
22981	* gst-libs/gst/vaapi/gstvaapicontext.c:
22982	  overlay: fix ordering of composition layers.
22983	  Make sure to maintain the association order of composition layers when
22984	  GstVideoOverlayRectangle objects are kept around (cached).
22985
229862012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
22987
22988	* gst-libs/gst/vaapi/gstvaapicontext.c:
22989	  overlay: fix support for global-alpha.
22990	  Fix support for global-alpha subpictures. The previous changes brought
22991	  the ability to check for GstVideoOverlayRectangle changes by comparing
22992	  the underlying pixel buffer pointers. If sequence number and pixel data
22993	  did not change, then this is an indication that only the global-alpha
22994	  value changed. Now, try to update the underlying VA subpicture global-alpha
22995	  value.
22996	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22997
229982013-01-11 11:53:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22999
23000	* gst-libs/gst/vaapi/gstvaapicontext.c:
23001	  overlay: detect render-rect changes.
23002	  Don't re-upload VA subpicture if only the render rectangle changed.
23003	  Rather deassociate the subpicture and re-associate it with the new
23004	  render rectangle.
23005
230062013-01-11 11:12:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23007
23008	* gst-libs/gst/vaapi/gstvaapicontext.c:
23009	  overlay: fix check for pixels buffer change.
23010	  A GstVideoOverlayRectangle is created whenever the underlying pixels data
23011	  change. However, when global-alpha is supported, it is possible to re-use
23012	  the same GstVideoOverlayRectangle but with a change to the global-alpha
23013	  value. This process causes a change of sequence number, so we can no longer
23014	  check for that.
23015	  Still, if sequence numbers did not change, then there was no change in
23016	  global-alpha either. So, we need a way to compare the underlying GstBuffer
23017	  pointers. There is no API to retrieve the original pixels buffer from
23018	  a GstVideoOverlayRectangle. So, we use the following heuristics:
23019	  1. Use gst_video_overlay_rectangle_get_pixels_unscaled_argb() with the same
23020	  format flags from which the GstVideoOverlayRectangle was created. This
23021	  will work if there was no prior consumer of the GstVideoOverlayRectangle
23022	  with alternate (non-"native") format flags.
23023	  2. In overlay_rectangle_has_changed_pixels(), we have to use the same
23024	  gst_video_overlay_rectangle_get_pixels_unscaled_argb() function but
23025	  with flags that match the subpicture. This is needed to cope with
23026	  platforms that don't support global-alpha in HW, so the gst-video
23027	  layer takes care of that and fixes this up with a possibly new
23028	  GstBuffer, and hence pixels data (or) in-place by caching the current
23029	  global-alpha value applied. So we have to determine the rectangle
23030	  was previously used, based on what previous flags were used to
23031	  retrieve the ARGB pixels buffer.
23032
230332013-01-10 18:42:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23034
23035	* gst-libs/gst/vaapi/gstvaapicontext.c:
23036	  overlay: optimize cache at the GstVideoOverlayRectangle level.
23037	  We previously assumed that an overlay composition changed if the number
23038	  of overlay rectangles in there actually changed, or that the rectangle
23039	  was updated, and thus its seqnum was also updated.
23040	  Now, we can cope with cases where the GstVideoOverlayComposition grew
23041	  by one or a few more overlay rectangles, and the initial overlay rectangles
23042	  are kept as is.
23043
230442013-01-10 13:41:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23045
23046	* gst-libs/gst/vaapi/gstvaapicontext.c:
23047	  overlay: simplify caching of GstVideoOverlayComposition objects.
23048	  Create the GPtrArray once in the _init() function and destroy it only
23049	  in the _finalize() function. Then use overlay_clear() to remove all
23050	  subpicture associations for intermediate updates, don't recreate the
23051	  GPtrArray.
23052	  Make GstVaapiOverlayRectangle a reference counted object. Also make
23053	  sure that overlay_rectangle_new() actually creates and associates the
23054	  VA subpicture.
23055
230562012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
23057
23058	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
23059	* gst-libs/gst/vaapi/gstvaapiutils.c:
23060	* gst-libs/gst/vaapi/gstvaapiutils.h:
23061	  overlay: add support for global-alpha.
23062	  Handle global-alpha from GstVideoOverlayComposition API. Likewise,
23063	  the same code path could also work for premultiplied-alpha but this
23064	  was not tested.
23065	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23066
230672012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
23068
23069	* gst-libs/gst/vaapi/gstvaapidisplay.c:
23070	* gst-libs/gst/vaapi/gstvaapidisplay.h:
23071	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
23072	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
23073	* gst-libs/gst/vaapi/gstvaapisurface.c:
23074	* tests/image.c:
23075	* tests/test-subpicture.c:
23076	  subpicture: add support for global-alpha.
23077	  Add the necessary helpers in GstVaapiDisplay to determine whether subpictures
23078	  with global alpha are supported or not. Also add accessors in GstVaapiSubpicture
23079	  to address this feature.
23080	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23081
230822013-01-04 09:41:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23083
23084	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
23085	* gst-libs/gst/vaapi/gstvaapiutils.c:
23086	* gst-libs/gst/vaapi/gstvaapiutils.h:
23087	  subpicture: add premultiplied-alpha and global-alpha feature flags.
23088	  Add premultiplied-alpha and global-alpha feature flags, along with converters
23089	  between VA-API and gstreamer-vaapi definitions. Another round of helpers is
23090	  also necessary for GstVideoOverlayComposition API.
23091
230922013-01-03 18:02:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23093
23094	* gst-libs/gst/vaapi/gstvaapidisplay.c:
23095	  display: allow image/subpicture formats with additional flags.
23096	  Introduce new GstVaapiFormatInfo to store the actual GstVaapiImageFormat
23097	  and any additional flags needed. Currently, all flags are set to zero.
23098
230992013-01-11 13:34:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23100
23101	* gst-libs/gst/codecparsers/Makefile.am:
23102	* gst-libs/gst/video/Makefile.am:
23103	* tests/Makefile.am:
23104	  libs: fix build of submodule wrappers.
23105	  Make sure to build codecparsers/ and videoutils/ sources against the
23106	  newly generated headers when out-of-source builds are used.
23107
231082013-01-11 14:11:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23109
23110	* configure.ac:
23111	  configure: fix checks for packages installed in non-standard roots.
23112
231132013-01-10 10:12:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23114
23115	* gst-libs/gst/vaapi/gstvaapiminiobject.c:
23116	  decoder: fix mini object implementation on 64-bit systems.
23117	  Use GPOINTER_TO_SIZE() instead of GPOINTER_TO_UINT() while manipulating
23118	  pointers. The latter is meant to be 32-bit only, not uintptr_t like size.
23119	  Only a gsize can hold all bits of a pointer.
23120	  Thanks to Ouping Zhang for spotting this error.
23121
231222013-01-09 16:05:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23123
23124	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23125	  mpeg2: optimize scan for the end of the frame.
23126	  Heuristic: if the second start-code is available, check whether that
23127	  one marks the start of a new frame because e.g. this is a sequence
23128	  or picture header. This doesn't save much, since we already cache the
23129	  results.
23130
231312013-01-09 13:44:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23132
23133	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23134	  mpeg2: optimize scan for start codes.
23135	  Accelerate scan for start codes by skipping up to 3 bytes per iteration.
23136	  A start code prefix is defined by the following bytes: 00 00 01. Thus,
23137	  for any group of 3 bytes (xx yy zz), we have the following possible cases:
23138	  1. If zz != 1, this cannot be a start code, then skip 3 bytes;
23139	  2. If yy != 0, this cannot be a start code, then skip 2 bytes;
23140	  3. If xx != 0 or zz != 1, this cannot be a start code, then skip 1 byte;
23141	  4. xx == 00, yy == 00, zz == 1, we have match!
23142	  This algorithm requires to peek bytes from the adapter. This increases the
23143	  amount of bytes copied to a temporary buffer, but this process is much faster
23144	  than scanning for all the bytes and using shift/masks. So, overall, this is
23145	  a win.
23146
231472013-01-08 16:41:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23148
23149	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23150	  mpeg2: drop useless gst_adapter_peek().
23151	  Drop useless gst_adapter_peek() since the returned buffer was not used
23152	  and this could incur superfluous memcpy().
23153
231542013-01-07 16:07:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23155
23156	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23157	  mpeg2: cosmetics: move parse_slice() down.
23158
231592013-01-07 15:24:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23160
23161	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23162	  mpeg2: avoid too many allocations of parser info objects.
23163	  Move parsing back to decoding step, but keep functions separate for now.
23164	  This is needed for future optimizations that may introduce some meta data
23165	  for parsed info attached to codec frames.
23166
231672013-01-07 14:04:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23168
23169	* gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
23170	* gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
23171	  decoder: decoder units are no longer dynamically allocated objects.
23172
231732013-01-07 13:59:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23174
23175	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23176	* gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
23177	* gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
23178	  decoder: optimize pre-allocation of decoder units.
23179	  Optimize pre-allocation of decoder units, thus avoiding un-necessary
23180	  memory reallocations. The heuristic used is that we could have around
23181	  one slice unit per macroblock line.
23182
231832013-01-07 13:41:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23184
23185	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23186	* gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
23187	* gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
23188	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23189	* gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
23190	  decoder: use an array of units instead of a single-linked list.
23191	  Use a GArray to hold decoder units in a frame, instead of a single-linked
23192	  list. This makes 'append' calls faster, but not that much. At least, this
23193	  makes things clearer.
23194
231952013-01-07 11:13:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23196
23197	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23198	* gst-libs/gst/vaapi/gstvaapidecoder.h:
23199	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23200	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23201	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23202	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23203	* gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
23204	* gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
23205	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
23206	  decoder: refactor decoder unit API.
23207	  Allocate decoder unit earlier in the main parse() function and don't
23208	  delegate this task to derived classes. The ultimate purpose is to get
23209	  rid of dynamic allocation of decoder units.
23210
232112013-01-07 10:48:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23212
23213	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23214	  mpeg2: introduce parser info instead of MPEG-2 specific decoder unit.
23215	  Use a new GstVaapiParserInfoMpeg2 data structure instead of deriving
23216	  from GstVaapiDecoderUnit for MPEG-2 specific parser information.
23217
232182013-01-07 10:22:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23219
23220	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23221	  h264: introduce parser info instead of H.264 specific decoder unit.
23222	  Use a new GstVaapiParserInfoH264 data structure instead of deriving
23223	  from GstVaapiDecoderUnit for H.264 specific parser information.
23224
232252013-01-05 12:33:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23226
23227	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23228	  h264: set default values for some header fields.
23229	  The SPS, PPS and slice headers are not fully zero-initialized in the
23230	  codecparsers/ library. Rather, the standard upstream behaviour is to
23231	  initialize only certain syntax elements with some inferred values if
23232	  they are not present in the bitstream.
23233	  At the gstreamer-vaapi decoder level, we need to further initialize
23234	  certain syntax elements with some sensible default values so that to
23235	  not complicate VA drivers that just pass those verbatim to the HW,
23236	  and also avoid an memset() of the whole decoder unit.
23237	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23238	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23239
232402013-01-06 19:05:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23241
23242	* ext/codecparsers:
23243	  codecparsers: update to gst-vaapi-rebased commit b47983a.
23244	  b47983a h264: add inferred value for slice_beta_offset_div2
23245
232462013-01-05 17:55:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23247
23248	* gst/vaapi/gstvaapidecode.c:
23249	* gst/vaapi/gstvaapidownload.c:
23250	* gst/vaapi/gstvaapipluginbuffer.c:
23251	* gst/vaapi/gstvaapipluginbuffer.h:
23252	* gst/vaapi/gstvaapipostproc.c:
23253	* gst/vaapi/gstvaapisink.c:
23254	* gst/vaapi/gstvaapiupload.c:
23255	* gst/vaapi/gstvaapiuploader.c:
23256	  plugins: cope with new GstVaapiVideoMeta API.
23257	  Update plugin elements with the new GstVaapiVideoMeta API.
23258	  This also fixes support for subpictures/overlay because GstVideoDecoder
23259	  generates a sub-buffer from the GstVaapiVideoBuffer. So, that sub-buffer
23260	  is marked as read-only. However, when comes in the textoverlay element
23261	  for example, it checks whether the input buffer is writable. Since that
23262	  buffer read-only, then a new GstBuffer is created. Since gst_buffer_copy()
23263	  does not preserve the parent field, the generated buffer in textoverlay
23264	  is not exploitable because we lost all VA specific information.
23265	  Now, with GstVaapiVideoMeta information attached to a standard GstBuffer,
23266	  all information are preserved through gst_buffer_copy() since the latter
23267	  does copy metadata (qdata in this case).
23268
232692013-01-05 17:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23270
23271	* gst-libs/gst/vaapi/Makefile.am:
23272	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23273	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
23274	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
23275	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
23276	* gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
23277	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
23278	  videobuffer: wrap video meta into a surface buffer.
23279	  Make GstVaapiVideoBuffer a simple wrapper for video meta. This buffer is
23280	  no longer necessary but for compatibility with GStreamer 0.10 APIs or users
23281	  expecting a GstSurfaceBuffer like Clutter.
23282
232832013-01-05 08:31:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23284
23285	* gst-libs/gst/vaapi/Makefile.am:
23286	* gst-libs/gst/vaapi/gstvaapivideometa.c:
23287	* gst-libs/gst/vaapi/gstvaapivideometa.h:
23288	  videobuffer: add video meta information.
23289	  Add new GstVaapiVideoMeta object that holds all information needed to
23290	  convey gst-vaapi specific data as a GstBuffer.
23291
232922013-01-03 13:10:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23293
23294	* gst/vaapi/gstvaapidecode.c:
23295	  vaapidecode: fix calculation of the time-out value.
23296	  Fix calculation of the time-out value for cases where no VA surface is
23297	  available for decoding. In this case, we need to wait until downstream
23298	  sink consumed at least one surface. The time-out was miscalculated as
23299	  it was always set to <current-time> + one second, which is not suitable
23300	  for streams with larger gaps.
23301
233022013-01-03 13:05:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23303
23304	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23305	  decoder: always use the calculated presentation timestamp.
23306	  Use PTS value computed by the decoder, which could also be derived from
23307	  the GstVideoCodecFrame PTS. This makes it possible to fix up the PTS if
23308	  the original one was miscomputed or only represented a DTS instead.
23309
233102013-01-02 17:33:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23311
23312	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23313	  h264: don't create sub-buffer for slice data.
23314
233152013-01-03 11:16:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23316
23317	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23318	  decoder: create new context when encoded resolution changes.
23319	  Create a new VA context if the encoded surface size changes because we
23320	  need to keep the underlying surface pool until the last one was released.
23321	  Otherwise, either of the following cases could have happened: (i) release
23322	  a VA surface to an inexistent pool, or (ii) release VA surface to an
23323	  existing surface pool, but with different size.
23324
233252013-01-02 17:23:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23326
23327	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23328	  mpeg2: don't create sub-buffer for slice data.
23329	  Avoid creating a GstBuffer for slice data. Rather, directly use the codec
23330	  frame input buffer data. This is possible because the codec frame is valid
23331	  until end_frame() where we submit the VA buffers for decoding. Anyway, the
23332	  slice data buffer is copied into the VA buffer when it is created.
23333
233342013-01-02 14:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23335
23336	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23337	  mpeg2: minor clean-ups.
23338	  Drop explicit initialization of most fields that are implicitly set to
23339	  zero. Remove some useless checks for NULL pointers.
23340
233412013-01-02 14:18:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23342
23343	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23344	  mpeg2: optimize scan for the second start code.
23345	  Optimize scan for the second start code, on the next parse() call so that
23346	  to avoid scanning again earlier bytes where we didn't find any start code.
23347
233482013-01-02 14:10:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23349
23350	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23351	  mpeg2: use sequence_display_extension() to compute PAR.
23352	  Also compute pixel-aspect-ratio from sequence_display_extension(),
23353	  should it exist in the bitstream.
23354
233552013-01-02 14:02:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23356
23357	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23358	  mpeg2: handle sequence_display_extension().
23359
233602012-12-27 15:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23361
23362	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23363	  mpeg2: implement {start,end}_frame() hooks.
23364	  Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
23365	  that to create new VA context earlier and submit VA pictures to the
23366	  HW for decoding as soon as possible. i.e. don't wait for the next
23367	  frame to start decoding the previous one.
23368
233692012-12-27 14:54:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23370
23371	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23372	  mpeg2: parse slice() header earlier.
23373	  Parse slice() header and first macroblock position earlier in _parse()
23374	  function instead of waiting for the _decode() stage. This doesn't change
23375	  anything but readability.
23376
233772012-12-27 14:41:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23378
23379	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23380	  mpeg2: add codec specific decoder unit.
23381	  Introduce new GstVaapiDecoderUnitMpeg2 object, which holds the standard
23382	  GstMpegVideoPacket and additional parsed header info. Besides, we now
23383	  parse as early as in the _parse() function so that to avoid un-necessary
23384	  creation of sub-buffers in _decode() for video packets that are not slices.
23385
233862012-12-27 18:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23387
23388	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23389	* gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
23390	* gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
23391	* gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
23392	  decoder: introduce lists of units to decode before/after frame.
23393	  Theory of operations: all units marked as "slice" are moved to the "units"
23394	  list. Since this list only contains slice data units, the prev_slice pointer
23395	  was removed. Besides, we now maintain two extra lists of units to be decoded
23396	  before or after slice data units.
23397	  In particular, all units in the "pre_units" list will be decoded before
23398	  GstVaapiDecoder::start_frame() is called and units in the "post_units"
23399	  list will be decoded after GstVaapiDecoder::end_frame() is called.
23400
234012013-01-02 16:06:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23402
23403	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23404	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23405	  decoder: drop useless checks for codec objects.
23406	  Codec objects are used internally only and they are bound to be created
23407	  with a valid GstVaapiDecoder object.
23408
234092012-12-27 10:35:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23410
23411	* gst/vaapi/gstvaapidecode.c:
23412	  vaapidecode: use GST_ERROR to print error messages.
23413
234142012-12-27 09:55:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23415
23416	* gst/vaapi/gstvaapidecode.c:
23417	  vaapidecode: avoid double release of frame on error.
23418	  Don't call gst_video_decoder_drop_frame() if gst_video_decoder_finish_frame()
23419	  was already called before and it returned an error. In that case, we were
23420	  releasing the frame again, thus leading to a "double-free" condition.
23421
234222012-12-21 14:29:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23423
23424	* .gitmodules:
23425	* autogen.sh:
23426	* configure.ac:
23427	* ext/Makefile.am:
23428	* ext/videoutils:
23429	* gst-libs/gst/Makefile.am:
23430	* gst-libs/gst/vaapi/Makefile.am:
23431	* gst-libs/gst/video/Makefile.am:
23432	* gst/vaapi/Makefile.am:
23433	  Add videoutils submodule for GstVideoDecoder APIs.
23434
234352012-12-18 16:36:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23436
23437	* configure.ac:
23438	  configure: check for GstVideoDecoder API.
23439	  GstVideoDecoder API is part of an unreleased GStreamer 0.10 stack. In particular,
23440	  this is only available in git 0.10 branch or GStreamer >= 1.0 stack. Interested
23441	  parties may either use upstream git 0.10 branch or backport the necessary support
23442	  for GstVideoDecoder API, thus including helper tools like GstVideoCodecFrame et al.
23443
234442012-12-18 16:21:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23445
23446	* docs/reference/libs/libs.core.types:
23447	  docs: remove obsolete gst_vaapi_surface_proxy_get_type().
23448	  GstVaapiSurfaceProxy is no longer based on the GType system.
23449
234502012-12-18 16:17:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23451
23452	* docs/reference/libs/libs-sections.txt:
23453	  docs: fix entries for GstVaapiSurfaceProxy.
23454
234552012-12-18 15:29:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23456
23457	* NEWS:
23458	  NEWS: updates.
23459
234602012-12-18 15:15:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23461
23462	* configure.ac:
23463	* gst-libs/gst/vaapi/Makefile.am:
23464	  Bump library major version.
23465	  Increase library major so that to cope with API/ABI incompatible changes
23466	  since 0.4.x series and avoid user issues.
23467
234682012-12-13 16:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23469
23470	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
23471	  surfaceproxy: minor clean-ups.
23472
234732012-12-13 15:51:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23474
23475	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23476	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
23477	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
23478	  surfaceproxy: drop accessors to obsolete attributes.
23479	  Make GstVaapiSurfaceProxy only a thin wrapper around a VA context and a
23480	  VA surface. i.e. drop any other attribute like timestamp, duration,
23481	  interlaced or top-field-first.
23482
234832012-12-13 15:34:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23484
23485	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23486	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23487	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23488	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23489	* gst/vaapi/gstvaapidecode.c:
23490	  decoder: maintain decoded frames as GstVideoCodecFrame objects.
23491	  Maintain decoded surfaces as GstVideoCodecFrame objects instead of
23492	  GstVaapiSurfaceProxy objects. The latter will tend to be reduced to
23493	  the strict minimum: a context and a surface.
23494
234952012-12-13 14:30:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23496
23497	* gst/vaapi/gstvaapidecode.c:
23498	  vaapidecode: output all decoded frames as soon as possible.
23499	  Make sure to push all decoded frames downstream as soon as possible.
23500	  This makes sure we don't need to wait for a new frame to be ready to
23501	  be decoded before receiving new decoded frames.
23502	  This also separates the decode process and the output process. The latter
23503	  could be moved to a specific GstTask later on.
23504
235052012-12-13 14:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23506
23507	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23508	* gst-libs/gst/vaapi/gstvaapidecoder.h:
23509	  decoder: add gst_vaapi_decoder_get_frame() API.
23510	  Add new gst_vaapi_decoder_get_frame() function meant to be used with
23511	  gst_vaapi_decoder_decode(). The purpose is to return the next decoded
23512	  frame as a GstVideoCodecFrame and the associated GstVaapiSurfaceProxy
23513	  as the user-data object.
23514
235152012-12-13 15:47:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23516
23517	* gst/vaapi/gstvaapipostproc.c:
23518	  vaapipostproc: use GstBuffer flags for TFF.
23519	  Determine whether the buffer represents the top-field only by checking for
23520	  the GST_VIDEO_BUFFER_TFF flag instead of relying on the GstVaapiSurfaceProxy
23521	  flag. Also trust "interlaced" caps to determine whether the input frame
23522	  is interleaved or not.
23523
235242012-12-13 13:27:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23525
23526	* gst/vaapi/gstvaapipostproc.c:
23527	  vaapipostproc: handle video sub-buffers.
23528	  Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
23529	  for non raw YUV cases. Make sure vaapipostproc now understands those buffers.
23530
235312012-12-18 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23532
23533	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23534	  h264: optimize initialization process of decoder units.
23535	  Decoder units were zero-initialized, including the SPS/PPS/slice headers.
23536	  The latter don't require zero-initialization since the codecparsers/ lib
23537	  will do so for key variables already. This is not a great value per se but
23538	  at least it makes it possible to check whether the default initialization
23539	  decisions made in the codecparsers/ lib were right or not.
23540	  This can be reverted if this exposes too many issues.
23541
235422012-12-13 11:48:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23543
23544	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23545	  h264: minor clean-ups.
23546	  Drop explicit initialization of most fields that are implicitly set to
23547	  zero. Drop helper macros for casting to GstVaapiPictureH264 or
23548	  GstVaapiFrameStore. Also remove some useless checks for NULL pointers.
23549
235502012-12-07 17:45:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23551
23552	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23553	  h264: drop GstVaapiSliceH264 object.
23554	  Use standard GstVaapiSlice object from now on since we already have
23555	  parsed and recorded the slice headers (GstH264SliceHdr decode units).
23556
235572012-12-13 10:47:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23558
23559	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23560	  h264: detect new pictures from decode-units.
23561	  Update is_new_picture() to cope with GstVaapiDecoderUnitH264, instead
23562	  of assuming frame boundaries when first_mb_in_slice is zero.
23563
235642012-12-13 10:21:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23565
23566	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23567	  h264: implement {start,end}_frame() hooks.
23568	  Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
23569	  that to create new VA context earlier and submit VA pictures to the
23570	  HW for decoding as soon as possible. i.e. don't wait for the next
23571	  frame to start decoding the previous one.
23572
235732012-12-12 18:33:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23574
23575	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23576	  h264: optimize scan for the second start code.
23577	  Optimize scan for the second start code, on the next parse() call so that
23578	  to avoid scanning again earlier bytes where we didn't find any start code.
23579
235802012-12-06 17:25:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23581
23582	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23583	  h264: add codec specific decoder unit.
23584	  Introduce new GstVaapiDecoderUnitH264 object, which holds the standard
23585	  NAL unit header (GstH264NalUnit) and additional parsed header info.
23586	  Besides, we now parse headers as early as in the _parse() function so
23587	  that to avoid un-necessary creation of sub-buffers in _decode() for
23588	  NAL units that are not slices.
23589	  This is a performance win by ~+1.1% only.
23590
235912012-12-04 11:01:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23592
23593	* gst/vaapi/gstvaapisink.c:
23594	  vaapisink: handle sub video-buffers.
23595	  Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
23596	  for non raw YUV cases. Make sure vaapisink now understands those buffers.
23597
235982012-12-12 15:22:32 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23599
23600	* gst/vaapi/gstvaapidecode.c:
23601	  vaapidecode: use gst_vaapi_decoder_get_codec_state().
23602	  Directly use the GstVideoCodecState associated with the VA decoder
23603	  instead of parsing caps again.
23604	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23605	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23606
236072012-12-04 14:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23608
23609	* gst/vaapi/gstvaapidecode.c:
23610	  vaapidecode: use more standard helpers.
23611	  Use g_clear_object() [glib >= 2.28] and gst_caps_replace() helper functions
23612	  in more places.
23613
236142012-12-04 14:45:29 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23615
23616	* gst/vaapi/gstvaapidecode.c:
23617	* gst/vaapi/gstvaapidecode.h:
23618	  vaapidecode: move to GstVideoDecoder base class.
23619	  Make vaapidecode derive from the standard GstVideoDecoder base element
23620	  class. This simplifies the code to the strict minimum for the decoder
23621	  element and makes it easier to port to GStreamer 1.x API.
23622	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23623	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23624
236252012-12-06 14:02:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23626
23627	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23628	  jpeg: initial port to new GstVaapiDecoder API
23629
236302012-12-06 14:02:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23631
23632	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
23633	  vc1: initial port to new GstVaapiDecoder API
23634
236352012-12-06 14:02:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23636
23637	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23638	  h264: initial port to new GstVaapiDecoder API
23639
236402012-12-17 09:47:20 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23641
23642	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23643	  mpeg4: initial port to new GstVaapiDecoder API
23644
236452012-12-06 14:01:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23646
23647	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23648	  mpeg2: initial port to new GstVaapiDecoder API.
23649
236502012-12-12 15:09:21 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23651
23652	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23653	* gst-libs/gst/vaapi/gstvaapidecoder.h:
23654	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23655	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
23656	* gst-libs/gst/vaapi/gstvaapiprofile.c:
23657	* gst-libs/gst/vaapi/gstvaapiprofile.h:
23658	  decoder: use GstVideoCodecState.
23659	  Use standard GstVideoCodecState throughout GstVaapiDecoder and expose
23660	  it with a new gst_vaapi_decoder_get_codec_state() function. This makes
23661	  it possible to drop picture size (width, height) information, framerate
23662	  (fps_n, fps_d) information, pixel aspect ratio (par_n, par_d) information,
23663	  and interlace mode (is_interlaced field).
23664	  This is a new API with backwards compatibility maintained. In particular,
23665	  gst_vaapi_decoder_get_caps() is still available.
23666	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23667	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23668
236692012-12-12 13:44:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23670
23671	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23672	* gst-libs/gst/vaapi/gstvaapidecoder.h:
23673	* tests/test-decode.c:
23674	* tests/test-subpicture.c:
23675	  decoder: update gst_vaapi_decoder_get_surface() semantics.
23676	  Align gst_vaapi_decoder_get_surface() semantics with the rest of the
23677	  API. That is, return a GstVaapiDecoderStatus and the decoded surface
23678	  as a handle to GstVaapiSurfaceProxy in parameter.
23679	  This is an API/ABI change.
23680
236812012-12-07 16:40:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23682
23683	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23684	  decoder: use standard helper functions.
23685	  Use g_clear_object(), gst_buffer_replace() and gst_caps_replace()
23686	  whenever necessary.
23687
236882012-11-29 15:06:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23689
23690	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23691	* gst-libs/gst/vaapi/gstvaapidecoder.h:
23692	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23693	  decoder: expose new parse/decode API.
23694	  Introduce new decoding process whereby a GstVideoCodecFrame is created
23695	  first. Next, input stream buffers are accumulated into a GstAdapter,
23696	  that is then passed to the _parse() function. The GstVaapiDecoder object
23697	  accumulates all parsed units and when a complete frame or field is
23698	  detected, that GstVideoCodecFrame is passed to the _decode() function.
23699	  Ultimately, the caller receives a GstVaapiSurfaceProxy if decoding
23700	  process was successful.
23701
237022012-12-13 10:20:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23703
23704	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23705	* gst-libs/gst/vaapi/gstvaapidecoder.h:
23706	  decoder: add {start,end}_frame() hooks.
23707	  The start_frame() hook is called prior to traversing all decode-units
23708	  for decoding. The unit argument represents the first slice in the frame.
23709	  Some codecs (e.g. H.264) need to wait for the first slice in order to
23710	  determine the actual VA context parameters.
23711
237122012-12-06 13:57:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23713
23714	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23715	* gst-libs/gst/vaapi/gstvaapidecoder.h:
23716	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23717	  decoder: add new GstVaapiDecoder API.
23718	  Split decoding process into two steps: (i) parse incoming bitstreams
23719	  into simple decoder-units until the frame or field is complete; and
23720	  (ii) decode the whole frame or field at once.
23721	  This is an ABI change.
23722
237232012-12-05 10:51:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23724
23725	* gst-libs/gst/vaapi/Makefile.am:
23726	* gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
23727	* gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
23728	  decoder: add new "decoder-frame" object.
23729	  Introduce a new GstVaapiDecoderFrame that is just a list of decoder units
23730	  (GstVaapiDecoderUnit objects) that constitute a frame. This object is just
23731	  an extension to GstVideoCodecFrame for VA decoder purposes. It is available
23732	  as the user-data member element.
23733	  This is a libgstvaapi internal object.
23734
237352012-12-06 09:44:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23736
23737	* gst-libs/gst/vaapi/Makefile.am:
23738	* gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
23739	* gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
23740	  decoder: add new "decoder-unit" object.
23741	  Introduce GstVaapiDecoderUnit which represents a fragment of the source
23742	  stream to be decoded. For instance, a decode-unit will be a NAL unit for
23743	  H.264 streams, an EBDU for VC-1 streams, and a video packet for MPEG-2
23744	  streams.
23745	  This is a libgstvaapi internal object.
23746
237472012-12-03 14:09:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23748
23749	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23750	  Port GstVaapiFrameStore to GstVaapiMiniObject.
23751
237522012-12-03 11:19:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23753
23754	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23755	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23756	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23757	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23758	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23759	  Port codec objects to GstVaapiMiniObject.
23760
237612012-12-03 13:46:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23762
23763	* gst-libs/gst/vaapi/gstvaapidecoder.c:
23764	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23765	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
23766	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
23767	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23768	* gst/vaapi/gstvaapidecode.c:
23769	* gst/vaapi/gstvaapipluginbuffer.c:
23770	* tests/test-decode.c:
23771	* tests/test-subpicture.c:
23772	  surfaceproxy: port to GstVaapiMiniObject.
23773	  GstVaapiSurfaceProxy does not use any particular functionality from
23774	  GObject. Actually, it only needs a basic object type with reference
23775	  counting.
23776	  This is an API and ABI change.
23777
237782012-11-30 17:25:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23779
23780	* gst-libs/gst/vaapi/Makefile.am:
23781	* gst-libs/gst/vaapi/gstvaapiminiobject.c:
23782	* gst-libs/gst/vaapi/gstvaapiminiobject.h:
23783	  Add GstVaapiMiniObject.
23784	  Introduce a new reference counted object that is very lightweight and
23785	  also provides flags and user-data functionalities. Initialization and
23786	  finalization times are reduced by up to a factor 5x vs GstMiniObject
23787	  from GStreamer 0.10 stack.
23788	  This is a libgstvaapi internal object.
23789
237902012-12-17 02:51:17 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23791
23792	* tests/Makefile.am:
23793	* tests/test-decode.c:
23794	* tests/test-mpeg4.c:
23795	* tests/test-mpeg4.h:
23796	  tests: add test for MPEG-4:2 decoding.
23797
237982012-12-17 04:42:29 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23799
23800	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23801	  h264: initialize VA context before allocating the first slice.
23802	  Fix decode_slice() to ensure a VA context exists prior to creating a
23803	  new GstVaapiSliceH264, which invokes vaCreateBuffer() with some VA
23804	  context ID. i.e. the latter was not initialized, thus causing failures
23805	  on Cedar Trail for example.
23806
238072012-12-05 09:15:32 +0800  Zhao Halley <halley.zhao@intel.com>
23808
23809	* configure.ac:
23810	  configure: install plugin elements in GST_PLUGIN_PATH, if set.
23811	  If GST_PLUGIN_PATH environment variable exists and points to a valid
23812	  directory, then use it as the system installation path for gst-vaapi
23813	  plugin elements.
23814	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23815
238162012-12-17 14:27:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23817
23818	* configure.ac:
23819	  configure: downgrade glib required version to 2.28.
23820
238212012-12-17 09:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23822
23823	* gst-libs/gst/vaapi/glibcompat.h:
23824	* gst/vaapi/gstvaapi.c:
23825	  libs: fix compatibility with glib 2.28.
23826	  Always prefer non deprecated APIs by default and provide compatibility
23827	  glue for older glib versions when necessary.
23828
238292012-12-17 10:10:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23830
23831	* gst-libs/gst/vaapi/gstvaapidisplay.c:
23832	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23833	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
23834	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
23835	  libs: use glib >= 2.32 semantics for mutexes.
23836	  Use glib >= 2.32 semantics for GMutex and GRecMutex wrt. initialization
23837	  and termination. Basically, the new mutex objects can be used as static
23838	  mutex objects from the deprecated APIs, e.g. GStaticMutex and GStaticRecMutex.
23839
238402012-12-17 04:15:53 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23841
23842	* gst-libs/gst/vaapi/Makefile.am:
23843	  libs: only export gst_vaapi_*() symbols.
23844	  This fixes symbol clashes between the gst-vaapi built-in codecparsers/
23845	  library and the system-provided one, mainly used by videoparses/. Now,
23846	  only symbols with the gst_vaapi_* prefix will be exported, if they are
23847	  not marked as "hidden" to libgstvaapi.
23848
238492012-11-20 18:21:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23850
23851	* gst/vaapi/gstvaapiuploader.c:
23852	  vaapiupload: reset direct-rendering to zero when changing caps.
23853	  Make sure to reset direct-rendering flag to zero when caps are changed,
23854	  and only derive it to one when the next checks succeed.
23855
238562012-11-20 14:42:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23857
23858	* gst/vaapi/gstvaapiupload.c:
23859	  vaapiupload: fix sink caps to report the supported set of YUV caps.
23860	  Try to allocate the GstVaapiUploader helper object prior to listing the
23861	  supported image formats. Otherwise, only a single generic caps is output
23862	  with no particular pixel format referenced in there.
23863
238642012-11-20 14:32:40 +0100  Zhao Halley <halley.zhao@intel.com>
23865
23866	* gst/vaapi/gstvaapiupload.c:
23867	* gst/vaapi/gstvaapiupload.h:
23868	  vaapiupload: use new GstVaapiUploader helper.
23869	  Use GstVaapiUploader helper that automatically handles direct rendering
23870	  mode, thus making the "direct-rendering" property obsolete and hence it
23871	  is now removed.
23872	  The "direct-rendering" level 2, i.e. exposing VA surface buffers, was never
23873	  really well supported and it could actually trigger degraded performance.
23874	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23875
238762012-11-20 15:50:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23877
23878	* gst/vaapi/gstvaapisink.c:
23879	* gst/vaapi/gstvaapiuploader.c:
23880	* gst/vaapi/gstvaapiuploader.h:
23881	  vaapisink: compute and expose the supported set of YUV caps.
23882	  Make vaapisink expose only the set of supported caps for raw YUV buffers.
23883	  Add gst_vaapi_uploader_get_caps() helper function to determine the set
23884	  of supported YUV caps as source (for images). This function actually
23885	  tries to zero and upload each image to a 64x64 test surface. Of course,
23886	  this relies on VA drivers to not claim success if vaPutImage() is not
23887	  correctly supported.
23888
238892012-11-20 14:28:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23890
23891	* NEWS:
23892	* gst/vaapi/Makefile.am:
23893	* gst/vaapi/gstvaapisink.c:
23894	* gst/vaapi/gstvaapisink.h:
23895	* gst/vaapi/gstvaapiuploader.c:
23896	* gst/vaapi/gstvaapiuploader.h:
23897	  vaapisink: add support for raw YUV buffers.
23898	  Add new GstVaapiUploader helper to upload raw YUV buffers to VA surfaces.
23899	  It is up to the caller to negotiate source caps (for images) and output
23900	  caps (for surfaces). gst_vaapi_uploader_has_direct_rendering() is available
23901	  to help decide between the creation of a GstVaapiVideoBuffer or a regular
23902	  GstBuffer on sink pads.
23903	  Signed-off-by: Zhao Halley <halley.zhao@intel.com>
23904	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23905
239062012-11-20 14:36:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23907
23908	* gst-libs/gst/vaapi/gstvaapiimage.c:
23909	  image: fix GstVaapiImage map and unmap.
23910	  Fix gst_vaapi_image_map() to return TRUE and the GstVaapiImageRaw
23911	  structure correctly filled in if the image was already mapped.
23912	  Likewise, make gst_vaapi_image_unmap() return TRUE if the image
23913	  was already unmapped.
23914
239152012-10-30 13:15:45 +0800  Wind Yuan <feng.yuan@intel.com>
23916
23917	* NEWS:
23918	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23919	  videobuffer: fix memory leak for surface and image.
23920	  Fix reference leak of surface and image in GstVaapiVideoBuffer wrapper,
23921	  thus resulting on actual memory leak of GstVaapiImage when using them
23922	  for downloads/uploads from VA surfaces and more specifically surfaces
23923	  when the pipeline is shutdown. i.e. vaTerminate() was never called
23924	  because the resources were not unreferenced, and thus not deallocated
23925	  in the end.
23926	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23927
239282012-11-19 10:04:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23929
23930	* NEWS:
23931	  NEWS: updates.
23932
239332012-11-16 18:00:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23934
23935	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23936	  h264: fix picture size in macroblocks.
23937	  The picture size signalled by sps->{width,height} is the actual size with
23938	  cropping applied, not the original size derived from pic_width_in_mbs_minus1
23939	  and pic_height_in_map_units_minus1. VA driver expects that original size,
23940	  uncropped.
23941	  There is another issue pending: frame cropping information needs to be
23942	  taken care of.
23943
239442012-11-16 16:18:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23945
23946	* gst-libs/gst/codecparsers/Makefile.am:
23947	  codecparsers: always build parserutils first.
23948	  Fix commit 18245b4 so that to link and build parserutils.[ch] first.
23949	  This is needed since that's the common dependency for actual codec
23950	  parsers (gstvc1parser.c for instance).
23951
239522012-11-15 17:50:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23953
23954	* gst-libs/gst/codecparsers/Makefile.am:
23955	  codecparsers: always build the VC-1 parser library.
23956	  ... this is useful to make sure pixel-aspect-ratio and framerate
23957	  information are correctly parsed since we have no means to detect
23958	  that at configure time.
23959
239602012-11-08 11:40:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23961
23962	* configure.ac:
23963	* gst-libs/gst/codecparsers/Makefile.am:
23964	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23965	  mpeg2: fix PAR calculation from commit bd11bae.
23966	  Invoke gst_mpeg_video_finalise_mpeg2_sequence_header() to get the
23967	  correct PAR values. While doing so, require a newer version of the
23968	  bitstream parser library.
23969	  Note: it may be necessary to also parse the Sequence_Display_Extension()
23970	  header.
23971	  Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23972	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23973
239742012-11-15 15:00:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23975
23976	* gst-libs/gst/vaapi/Makefile.am:
23977	  Fix build with the GNU gold linker.
23978	  In particular, fix libgstvaapi-glx DSO dependencies to include libgstbase
23979	  and libgstvideo libs, e.g. for gst_video_buffer_get_overlay_composition().
23980
239812012-11-02 18:18:37 +0000  Rob Bradford <rob@linux.intel.com>
23982
23983	* configure.ac:
23984	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23985	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
23986	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23987	  wayland: port to 1.0 version of the protocol.
23988	  This patch updates to relect the 1.0 version of the protocol. The main
23989	  changes are the switch to wl_registry for global object notifications
23990	  and the way that the event queue and file descriptor is processed.
23991	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23992
239932012-11-14 19:22:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23994
23995	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23996	  h264: fix incorrect integration of previous commit (4d31e1e).
23997	  git am got confused somehow, though the end result doesn't change at
23998	  all since we require both SPS and PPS to be parsed prior to decoding
23999	  the first slice.
24000
240012012-11-14 18:40:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24002
24003	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24004	  h264: start decoding slices after first SPS/PPS activation.
24005	  Only start decoding slices when at least one SPS and PPS got activated.
24006	  This fixes cases when a source represents a substream of another stream
24007	  and no SPS and PPS was inserted before the first slice of the generated
24008	  substream.
24009
240102012-11-14 14:25:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24011
24012	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24013	  h264: fix VAPictureParameterBufferH264.ReferenceFrames[] construction.
24014	  ... for interlaced streams. The short_ref[] and long_ref[] arrays may
24015	  contain up to 32 fields but VA ReferenceFrames[] array expects up to
24016	  16 reference frames, thus including both fields.
24017
240182012-11-14 10:27:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24019
24020	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24021	  h264: fix interlaced stream decoding with MMCO.
24022	  Fix decoding of interlaced streams when adaptive_ref_pic_marking_mode_flag
24023	  is equal to 1, i.e. when memory management control operations are used. In
24024	  particular, when field_pic_flag is set to 0, the new reference flags shall
24025	  be applied to both fields.
24026
240272012-11-13 17:14:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24028
24029	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24030	  h264: add initial support for interlaced streams.
24031	  Decoded frames are only output when they are complete, i.e. when both
24032	  fields are decoded. This also means that the "interlaced" caps is not
24033	  propagated to vaapipostproc or vaapisink elements. Another limitation
24034	  is that interlaced bitstreams with MMCO are unlikely to work.
24035
240362012-11-13 16:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24037
24038	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24039	  h264: split remove_reference_at() into finer units.
24040	  Split remove_reference_at() into a function that actually removes the
24041	  specified entry from the short-term or long-term reference picture array,
24042	  and a function that sets reference flags to the desired value, possibly
24043	  zero. The latters marks the picture as "unused for reference".
24044
240452012-10-23 14:04:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24046
24047	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24048	  decoder: fix gst_vaapi_picture_new_field() object type.
24049	  Fix gst_vaapi_picture_new_field() to preserve the original picture type.
24050	  e.g. gst_vaapi_picture_new_field() with a GstVaapiPictureH264 argument
24051	  shall generate a GstVaapiPictureH264 object.
24052
240532012-11-13 14:04:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24054
24055	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24056	  h264: add picture structure for reference picture marking process.
24057	  Introduce new `structure' field to the H.264 specific picture structure
24058	  so that to simplify the reference picture marking process. That local
24059	  picture structure is derived from the original picture structure, as
24060	  defined by the syntax elements field_pic_flag and bottom_field_flag.
24061
240622012-11-02 15:14:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24063
24064	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24065	  h264: introduce new frame store structure.
24066	  The frame store represents a Decoded Picture Buffer entry, which can
24067	  hold up to two fields. So far, the frame store is only used to hold
24068	  full frames.
24069
240702012-11-13 10:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24071
24072	* ext/codecparsers:
24073	  codecparsers: update to gst-vaapi-rebased commit 73d6aab.
24074	  73d6aab h264: fix rbsp_more_data() implementation
24075	  25d04cf h264: fix error code for invalid size parsed in SPS
24076	  84798e5 fix FSF address
24077
240782012-10-31 16:37:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24079
24080	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24081	  h264: minor clean-ups.
24082	  Move DPB flush up if the current picture to decode is an IDR. Besides,
24083	  don't bother to check for IDR pictures in dpb_add() function since an
24084	  explicit DPB flush was already performed in this case.
24085
240862012-10-31 14:24:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24087
24088	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24089	  h264: simplify reference picture marking process.
24090	  ... to build the short_ref[] and long_ref[] lists from the DPB, instead
24091	  of maintaining them separately. This avoids refs/unrefs while making it
24092	  possible to generate the list based on the actual picture structure.
24093	  This also ensures that the list of generated ReferenceFrames[] actually
24094	  matches what reference frames are available in the DPB. i.e. short_ref[]
24095	  and long_ref[] entries are implied from the DPB, so there is no risk of
24096	  having "dangling" references.
24097
240982012-10-31 11:52:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24099
24100	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24101	  h264: introduce per-field POC in GstVaapiPictureH264.
24102	  Use the POC member available in the GstVaapiPicture base class and
24103	  get rid of the dependency on the local VAPictureH264 TopFieldOrderCnt
24104	  and BottomFieldOrderCnt. Rather, use a simple field_poc[] array
24105	  initialized to INT_MAX, so that to simplify picture POC calculation
24106	  for non frame pictures.
24107
241082012-10-31 11:45:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24109
24110	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24111	  h264: introduce GST_VAAPI_PICTURE_{SHORT,LONG}_TERM_REFERENCE flags.
24112	  Further get rid of GstVaapiPictureH264-local VAPictureH264.flags for
24113	  reference bits, thus simplifying the reference picture marking process
24114	  to only track a single set of reference flags. Also introduce a new
24115	  long_term_frame_idx member.
24116
241172012-10-31 11:33:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24118
24119	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24120	  h264: introduce GST_VAAPI_PICTURE_FLAG_IDR flag.
24121
241222012-10-31 10:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24123
24124	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24125	  h264: fill in GstVaapiPicture structure.
24126	  ... and get rid of local VAPictureH264.flags fields in GstVaapiPictureH264.
24127
241282012-10-31 11:07:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24129
24130	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24131	  h264: add vaapi_fill_picture() helper.
24132	  Add vaapi_fill_picture() helper function to convert GstVaapiPictureH264
24133	  to VAPictureH264 structure. This is preparatory work to get rid of the
24134	  local VAPictureH264 member in GstVaapiPictureH264.
24135
241362012-10-26 16:12:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24137
24138	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24139	  h264: fix activation order of picture and sequence parameters.
24140	  Delay ensure_context() until we actually need a VA context for allocating
24141	  new VA surfaces, and then GstVaapiPictures, but also when a real activation
24142	  of a new picture parameter set occurs, thus also implying an activation
24143	  of the related sequence parameter set.
24144	  The most important thing was to drop the global pps and sps pointers since
24145	  they may not have matched the currently activated picture parameter or
24146	  sequence parameter sets at the specified decode point.
24147	  Anoter positive side-effect is that this cleans up all occurrences of
24148	  decode_current_picture() to only keep those useful in decode_picture(),
24149	  before a new picture is allocated, or in decode_sequence_end() when
24150	  an end-of-stream or end-of-sequence condition occurred.
24151
241522012-10-26 13:17:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24153
24154	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24155	  h264: fix scaling list generation.
24156	  ... aka fix regression from efaab79. In particular, ScalingList8x8[]
24157	  array was partially copied to the VAIQMatrixBufferH264. While we are
24158	  at it, also improve bounds checking and avoid copying 8x8 scaling
24159	  lists if transform_8x8_mode_flag is set to 0.
24160
241612012-10-24 18:23:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24162
24163	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24164	  h264: fix detection of picture boundaries.
24165	  Strictly follow the standard (7.4.1.2.4) to detect the first VCL NAL
24166	  unit of a primary coded picture.
24167
241682012-10-23 14:50:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24169
24170	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24171	  h264: optimize handling of scaling lists.
24172	  Don't copy scaling lists twice to an intermediate state. Rather, directly
24173	  use the scaling lists from GstH264PPS since they would match those provided
24174	  by SPS header, if necessary. i.e. if PPS-specific scaling lists are not
24175	  available in the bitstream.
24176
241772012-10-23 10:33:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24178
24179	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24180	  h264: simplify code when MMCO is 5.
24181	  Remove exit_picture() and exit_picture_poc() since PicOrderCnt(CurrPic)
24182	  is now updated accordingly to the standard. Besides, MMCO = 5 specific
24183	  operations are moved up to exec_ref_pic_marking_adaptive_mmco_5().
24184
241852012-10-22 11:52:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24186
24187	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24188	  h264: fix MMCO-based reference picture marking process.
24189	  Fix adaptive memory control decoded reference picture marking process
24190	  implementation for operations 2 to 6, thus also fixing support for
24191	  long-term reference pictures.
24192
241932012-10-22 10:50:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24194
24195	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24196	  h264: move MMCO handlers out of the loop (cosmetics).
24197	  This change only splits each individual MMCO handler into several functions
24198	  dedicated for each operation. This is needed to perform further work later
24199	  on.
24200
242012012-10-17 15:49:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24202
24203	* Makefile.am:
24204	  debian: fix make dist for packaging.
24205	  bzip2 tarballs are now used, so update the deb.upstream dependencies
24206	  to include dist-bzip2 instead of plain old dist, and use the correct
24207	  tar extract options to handle that format.
24208
242092012-10-17 15:42:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24210
24211	* configure.ac:
24212	  configure: generate bzip2 tarballs in ustar format by default.
24213
242142012-10-17 15:38:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24215
24216	* configure.ac:
24217	  configure: bump glib required version to 2.31.2.
24218	  Use new Thread API. In particular, g_mutex_init() and g_cond_init()
24219	  rather than g_mutex_new() and g_cond_new() respectively.
24220
242212012-10-04 17:39:53 +0100  Rob Bradford <rob@linux.intel.com>
24222
24223	* gst/vaapi/gstvaapidecode.c:
24224	* gst/vaapi/gstvaapidecode.h:
24225	  vaapidecode: adopt non-deprecrated glib locking primitive pattern.
24226	  The use of heap allocated GMutex/GCond is deprecated. Instead place them
24227	  inside the structure they are locking.
24228	  These changes switch to use g_mutex_init/g_cond_init rather than the heap
24229	  allocation functions.
24230	  Because we cannot test for a NULL pointer for the GMutex/GCond we must
24231	  initialise inside the GObject _init function and clear inside the _finalize
24232	  which is guaranteed to only be called once and after the object is no longer
24233	  in use.
24234
242352012-10-17 14:52:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24236
24237	* gst/vaapi/gstvaapidecode.c:
24238	  vaapidecode: fix compiler warnings.
24239	  Don't care of the return value for gst_vaapi_decoder_put_buffer()
24240	  during destruction of the element. Don't print out (uninitialised)
24241	  error code when allocation of video buffer failed.
24242
242432012-10-16 16:52:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24244
24245	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24246	  h264: add flag to compile with strict DPB ordering mode.
24247	  Allow build with strict DPB ordering mode whereby evicted entries
24248	  are replaced by the next entries, in order instead of optimizing
24249	  it away with the last entry in the DPB.
24250	  This is only useful for debugging purpose, against a reference SW
24251	  decoder for example.
24252
242532012-10-16 16:46:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24254
24255	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24256	  h264: drop extra code covered by built-in codecparsers.
24257	  GstH264SliceHdr.n_emulation_prevention_bytes is bound to exist now that
24258	  a newer version of codecparsers/ are used if the system provided one is
24259	  now recent enough to have those required extensions.
24260
242612012-10-16 16:43:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24262
24263	* gst-libs/gst/codecparsers/Makefile.am:
24264	  codecparsers: fix generation of symlinks.
24265	  Try to improve dependencies while generating symlinks to externally
24266	  maintained copy of codecparsers (derived from upstream git master
24267	  tree).
24268
242692012-10-11 15:04:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24270
24271	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24272	  vc1: use framerate information from bitstream parser.
24273
242742012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24275
24276	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24277	  vc1: use pixel-aspect-ratio from bitstream parser.
24278	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24279	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24280
242812012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24282
24283	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24284	  mpeg2: use pixel-aspec-ratio information from bitstream parser.
24285	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24286	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24287
242882012-10-11 13:49:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24289
24290	* configure.ac:
24291	* gst-libs/gst/codecparsers/Makefile.am:
24292	  codecparsers: h264: use submodule sources.
24293	  Use newer sources from the codecparsers/ submodule for
24294	  - GstH264SliceHdr.n_emulation_prevention_bytes: EPBs;
24295	  - GstH264VUIParams.{par_n,par_d}: pixel-aspect-ratio.
24296
242972012-10-11 13:23:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24298
24299	* .gitignore:
24300	* configure.ac:
24301	* gst-libs/gst/codecparsers/Makefile.am:
24302	* gst-libs/gst/codecparsers/gstjpegparser.c:
24303	* gst-libs/gst/codecparsers/gstjpegparser.h:
24304	* gst-libs/gst/vaapi/Makefile.am:
24305	  codecparsers: jpeg: use submodule sources.
24306
243072012-10-11 10:03:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24308
24309	* .gitmodules:
24310	* Makefile.am:
24311	* autogen.sh:
24312	* configure.ac:
24313	* ext/Makefile.am:
24314	* ext/codecparsers:
24315	  Add codecparsers submodule.
24316
243172012-10-11 14:17:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24318
24319	* .gitignore:
24320	  .gitignore: updates.
24321
243222012-10-11 13:40:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24323
24324	* autogen.sh:
24325	  autogen: fix check for gtkdocize and autoreconf.
24326	  If gtkdocize or autoreconf programs were not found, then the autogen.sh
24327	  script would fail to report that correctly because test -z was not passed
24328	  any argument (empty string "" in this case).
24329
243302012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24331
24332	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24333	  h264: use pixel-aspect-ratio from SPS header.
24334	  Propagate pixel-aspect-ratio determined by the GStreamer codecparser
24335	  from the sequence headers.
24336	  Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24337	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24338
243392012-10-10 10:35:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24340
24341	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24342	  h264: add decode_nalu() helper function.
24343	  Split decode_buffer() into the core infrastructure that determines
24344	  the NAL units contained in the adapter and the actual function that
24345	  decodes the NAL unit.
24346
243472012-10-10 10:31:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24348
24349	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24350	  h264: fix end-of-stream conditions (flush).
24351	  Decode pending data in the adapter prior to processing the actual
24352	  code for end-of-stream.
24353
243542012-10-10 09:45:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24355
24356	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24357	  mpeg2: add decode_packet() helper function.
24358	  Split decode_buffer() into the core infrastructure that determines
24359	  the packets contained in the adapter and the actual function that
24360	  decodes the packet data.
24361
243622012-10-09 15:34:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24363
24364	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24365	  mpeg2: fix end-of-stream conditions (flush).
24366	  Decode pending data in the adapter prior to processing the actual
24367	  code for end-of-stream. Initial code from Feng Yuan.
24368
243692012-10-09 15:40:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24370
24371	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24372	  mpeg2: fix memory leak of empty packets.
24373	  Fix memory leakage of empty packets, i.e. packets that only contain
24374	  the start code prefix. In particular, free empty user-data packets.
24375	  Besides, the codec parser will already fail gracefully if the packet
24376	  to parse does not have the minimum required size. So, we can also
24377	  completely drop the block of code that used to handle packets of size 4
24378	  (including the start code).
24379
243802012-10-09 15:01:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24381
24382	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24383	  mpeg2: fix return value for "no-data" conditions.
24384	  Fix return value when the second scan for start code fails. This means
24385	  there is not enough data to determine the full extents of the current
24386	  packet and the function shall return GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA
24387	  in this case, instead of GST_VAAPI_DECODER_STATUS_SUCCESS.
24388
243892012-10-09 14:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24390
24391	* gst-libs/gst/vaapi/gstvaapidecoder.c:
24392	  decoder: refine semantics of gst_vaapi_decoder_put_buffer().
24393	  Improve the semantics for gst_vaapi_decoder_put_buffer() when an empty
24394	  buffer is passed on. An empty buffer is a buffer with a NULL data pointer
24395	  or with a size equals to zero. In this case, that buffer is simply
24396	  skipped and the function returns TRUE. A NULL buffer argument still
24397	  marks the end-of-stream.
24398
243992012-10-09 14:40:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24400
24401	* gst-libs/gst/vaapi/gstvaapidecoder.c:
24402	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24403	  decoder: drop unused functions.
24404
244052012-08-26 22:29:04 -0400  Wind Yuan <feng.yuan@intel.com>
24406
24407	* gst/vaapi/gstvaapidecode.c:
24408	  vaapidecode: flush buffers when receiving EOS.
24409	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24410
244112012-10-05 13:36:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24412
24413	* debian.upstream/Makefile.am:
24414	  debian: fix make dist for packaging.
24415
244162012-10-05 12:06:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24417
24418	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24419	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24420	  wayland: cosmetics (remove tabs).
24421
244222012-10-04 17:39:52 +0100  Rob Bradford <rob@linux.intel.com>
24423
24424	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24425	  wayland: add support for windowed mode.
24426	  Rather than always making the surface fullscreen instead implement the
24427	  set_fullscreen vfunc on GstVaapiWindow and then set the shell surface
24428	  fullscreen on not depending on that.
24429	  Reviewed-by: Joe Konno <joe.konno@intel.com>
24430	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24431
244322012-10-01 09:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24433
24434	* configure.ac:
24435	  Bump version for development.
24436
244372012-09-28 17:54:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24438
24439	* README:
24440	* configure.ac:
24441	  Fix and document build dependencies better.
24442
244432012-09-28 17:41:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24444
24445	* debian.upstream/control.in:
24446	  debian: fix GStreamer build dependencies.
24447
244482012-09-28 17:39:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24449
24450	* configure.ac:
24451	* debian.upstream/control.in:
24452	  debian: fix Wayland build dependencies.
24453
244542012-09-28 17:38:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24455
24456	* debian.upstream/control.in:
24457	  debian: fix conditional build of packages.
24458	  Make it still possible to build package even if one of the build dependencies
24459	  for a specific video backend is not available.
24460
244612012-09-27 11:08:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24462
24463	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24464	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24465	  utils: drop unused GLX helpers.
24466	  Remove helpers for GL_ARB_fragment_program and GL_ARB_multitexture
24467	  extensions since they are not used throughout gstreamer-vaapi.
24468
244692012-09-27 11:04:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24470
24471	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24472	  utils: fix build with <GL/glext.h> version >= 85.
24473	  Mesa recently updated the <GL/glext.h> header version to Khronos version 85.
24474	  This caused the PFNGLMULTITEXCOORD2FPROC definition to be moved out of the
24475	  GL_VERSION_1_3_DEPRECATED block. However, since <GL/gl.h> also defines
24476	  GL_VERSION_1_3 to 1, the definitions in <GL/glext.h> are then not enabled,
24477	  thus leaving PFNGLMULTITEXCOORD2FPROC undefined as well.
24478	  Provide a PFNGLMULTITEXCOORD2FPROC replacement as an interim solution for
24479	  newer versions of the <GL/glext.h> header.
24480
244812012-09-26 16:33:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24482
24483	* configure.ac:
24484	  configure: update VA-API version requirements.
24485	  VA/DRM and VA/Wayland API are now promoted to VA-API 0.33.0 (libva 1.1.0).
24486
244872012-09-21 16:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24488
24489	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24490	  h264: review and report errors accordingly.
24491	  Use GST_ERROR() to report real errors instead of hiding them into
24492	  GST_DEBUG().
24493
244942012-09-20 17:58:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24495
24496	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24497	  h264: exclusively use GstAdapter, drop sub-buffer hack.
24498	  Maintaining the sub-buffer is rather suboptimal especially since we
24499	  were also maintaining a GstAdapter. Now, we only use the GstAdapter
24500	  thus requiring minor extra parsing when receiving avcC buffers.
24501
245022012-09-20 16:18:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24503
24504	* README:
24505	  README: updates.
24506
245072012-09-20 16:02:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24508
24509	* NEWS:
24510	  NEWS: updates.
24511
245122012-09-20 14:38:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24513
24514	* debian.upstream/gstreamer-vaapi.install.in:
24515	  debian: fix packaging on recent Ubuntu platforms.
24516	  Use explicit GStreamer plugins path.
24517
245182012-09-17 17:55:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24519
24520	* docs/reference/libs/libs-docs.xml.in:
24521	* docs/reference/libs/libs.core.types:
24522	  docs: fix build for make dist.
24523
245242012-09-14 10:30:35 -0400  Kristian Høgsberg <krh@bitplanet.net>
24525
24526	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24527	  wayland: set opaque region for YUV surface.
24528	  This allows the compositor to optimize redraws and cull away changes
24529	  obscured by the video surface.
24530	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24531
245322012-09-14 17:30:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24533
24534	* configure.ac:
24535	  configure: fix check for libva-glx and libva-drm.
24536
245372012-09-12 13:42:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24538
24539	* gst-libs/gst/vaapi/glibcompat.h:
24540	  glibcompat: add replacement for g_cond_wait_until().
24541
245422012-09-12 13:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24543
24544	* gst/vaapi/gstvaapidecode.c:
24545	* gst/vaapi/gstvaapidownload.c:
24546	* gst/vaapi/gstvaapipostproc.c:
24547	* gst/vaapi/gstvaapisink.c:
24548	* gst/vaapi/gstvaapiupload.c:
24549	  plugins: include "sysdeps.h" instead of "config.h".
24550
245512012-09-12 10:40:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24552
24553	* gst-libs/gst/codecparsers/gstjpegparser.c:
24554	  codecparsers: jpeg: add missing includes.
24555
245562012-09-11 17:03:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24557
24558	* gst-libs/gst/vaapi/gstvaapidecoder.c:
24559	* gst-libs/gst/vaapi/gstvaapidecoder.h:
24560	* gst/vaapi/gstvaapidecode.c:
24561	  vaapidecode: don't reset decoder if codec type is the same.
24562	  Reset, i.e. destroy then create, the decoder in _setcaps() handler only
24563	  if the underlying codec type actually changed. This makes it possible
24564	  to be more tolerant with certain MPEG-2 streams that get parsed to
24565	  form caps that are compatible with the previous state but minor changes
24566	  to "codec-data".
24567
245682012-09-11 16:41:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24569
24570	* gst/vaapi/gstvaapidecode.c:
24571	  vaapidecode: simplify codec lookup from caps.
24572	  Add new gst_vaapi_codec_from_caps() helper to determine codec type from
24573	  the specified caps. Don't globally expose this function since this is
24574	  really trivial and only used in the vaapidecode element.
24575
245762012-09-11 15:54:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24577
24578	* gst/vaapi/gstvaapidecode.c:
24579	* gst/vaapi/gstvaapidecode.h:
24580	  vaapidecode: improve "no free surface" conditions.
24581	  Previously, vaapidecode would wait up to one second until a free surface
24582	  is available, or it aborts decoding. Now, vaapidecode waits until the
24583	  last decoded surface was to be presented, plus one second. Besides, end
24584	  times are now expressed relative to the monotonic clock.
24585
245862012-09-11 10:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24587
24588	* gst-libs/gst/vaapi/gstvaapidecoder.c:
24589	* gst/vaapi/gstvaapidecode.c:
24590	  decoder: propagate buffer duration downstream.
24591
245922012-09-11 10:59:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24593
24594	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24595	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24596	  surfaceproxy: add "duration" property.
24597
245982012-09-10 18:26:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24599
24600	* gst-libs/gst/vaapi/gstvaapidecoder.c:
24601	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24602	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24603	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24604	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24605	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24606	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24607	  decoder: cope with new GstVaapiContextInfo based API.
24608	  Update decoders to report the maximum number of reference frames to use.
24609
246102012-09-10 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24611
24612	* gst-libs/gst/vaapi/gstvaapicontext.c:
24613	  context: JPEG codec does not need any reference frame.
24614
246152012-09-10 18:15:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24616
24617	* gst-libs/gst/vaapi/gstvaapicontext.c:
24618	* gst-libs/gst/vaapi/gstvaapicontext.h:
24619	  context: allow number of reference frames to be set.
24620	  Make it possible to specify the maximum number of references to use within
24621	  a single VA context. This helps reducing GPU memory allocations to the useful
24622	  number of references to be used.
24623
246242012-09-07 16:41:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24625
24626	* gst/vaapi/gstvaapipostproc.c:
24627	  vaapipostproc: fix deinterlace-{mode,method} types definition.
24628
246292012-09-07 16:15:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24630
24631	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24632	  mpeg4: fix debug info for unsupported profile.
24633
246342012-09-07 16:14:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24635
24636	* gst-libs/gst/vaapi/gstvaapicontext.c:
24637	* gst-libs/gst/vaapi/gstvaapidecoder.c:
24638	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24639	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24640	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24641	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24642	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24643	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24644	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24645	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24646	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24647	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24648	* gst-libs/gst/vaapi/gstvaapiimage.c:
24649	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
24650	* gst-libs/gst/vaapi/gstvaapiobject.c:
24651	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
24652	* gst-libs/gst/vaapi/gstvaapisurface.c:
24653	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24654	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24655	* gst-libs/gst/vaapi/gstvaapitexture.c:
24656	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24657	* gst-libs/gst/vaapi/gstvaapivalue.c:
24658	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
24659	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
24660	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
24661	* gst-libs/gst/vaapi/gstvaapivideopool.c:
24662	* gst-libs/gst/vaapi/gstvaapiwindow.c:
24663	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24664	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24665	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24666	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24667	  libs: fix build in strict ISO C mode.
24668
246692012-09-07 16:11:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24670
24671	* gst/vaapi/gstvaapi.c:
24672	* gst/vaapi/gstvaapidecode.c:
24673	* gst/vaapi/gstvaapidownload.c:
24674	* gst/vaapi/gstvaapipostproc.c:
24675	* gst/vaapi/gstvaapisink.c:
24676	* gst/vaapi/gstvaapiupload.c:
24677	  plugins: fix build in strict ISO C mode.
24678
246792012-09-07 15:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24680
24681	* pkgconfig/gstreamer-vaapi-glx.pc.in:
24682	* pkgconfig/gstreamer-vaapi-x11.pc.in:
24683	* pkgconfig/gstreamer-vaapi.pc.in:
24684	  pkgconfig: fix dependencies and slightly improve description.
24685	  Drop @LIBVA_EXTRA_{CFLAGS,LIBS}@ substitutions and slightly improve
24686	  descriptions with clearer renderer names.
24687
246882012-09-04 13:54:19 +0200  Philip Lorenz <philip@bithub.de>
24689
24690	* gst/vaapi/gstvaapidecode.c:
24691	  vaapidecode: acquire lock only if the mutex exists.
24692	  When playback stops the GstVaapiDecode object is reset into a clean
24693	  state. However, surfaces may still be referenced by library users and
24694	  unreferencing them after the reset triggers an access to an unset mutex.
24695	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24696
246972012-09-07 11:58:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24698
24699	* gst-libs/gst/vaapi/gstvaapidecoder.c:
24700	  decoder: drop extraneous return for void function.
24701
247022012-09-07 11:57:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24703
24704	* gst-libs/gst/vaapi/gstvaapiimage.c:
24705	  image: don't use (void *) pointer arithmetic.
24706
247072012-09-04 13:40:04 +0200  Philip Lorenz <philip@bithub.de>
24708
24709	* gst-libs/gst/vaapi/gstvaapidecoder.h:
24710	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24711	* gst-libs/gst/vaapi/gstvaapidisplay.h:
24712	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
24713	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
24714	* gst-libs/gst/vaapi/gstvaapiprofile.h:
24715	* gst-libs/gst/vaapi/gstvaapisurface.h:
24716	* gst-libs/gst/vaapi/gstvaapitypes.h:
24717	* gst/vaapi/gstvaapipostproc.h:
24718	  Do not forward declare enums.
24719	  Forward declaring enums is not allowed by the C standard and aborts
24720	  compilation if the header file is included in a C++ project.
24721	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24722
247232012-09-07 11:44:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24724
24725	* configure.ac:
24726	  configure: fix check for VA/DRM API.
24727
247282012-09-04 11:53:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24729
24730	* gst/vaapi/gstvaapisink.c:
24731	  vaapisink: fix calculation of window size.
24732	  If either dimension is out-of-bounds, then scale window to fit the
24733	  display size, even if the output is to be rotated. Use the standard
24734	  gst_video_sink_center_rect() function to center and scale the window
24735	  wrt. the outer (display) bounds.
24736
247372012-08-28 02:45:22 -0400  Wind Yuan <feng.yuan@intel.com>
24738
24739	* gst/vaapi/gstvaapisink.c:
24740	* gst/vaapi/gstvaapisink.h:
24741	  vaapisink: add video rotation support.
24742	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24743
247442012-09-06 11:47:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24745
24746	* gst/vaapi/gstvaapipluginutil.h:
24747	  pluginutils: add G_PRIMITIVE_SWAP() helper macro.
24748	  This macro helps swapping variables while maintaining the correct underlying
24749	  and primitive type.
24750
247512012-09-06 11:51:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24752
24753	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24754	  display: fix display aspect ratio when display is rotated.
24755
247562012-09-06 11:50:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24757
24758	* configure.ac:
24759	* gst-libs/gst/vaapi/Makefile.am:
24760	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24761	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24762	  display: fix physical display size when display is rotated.
24763
247642012-08-30 16:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24765
24766	* gst-libs/gst/vaapi/gstvaapivalue.c:
24767	  display: fix GstVaapiRotation enumeration of values.
24768
247692012-08-29 13:18:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24770
24771	* docs/reference/libs/libs-docs.xml.in:
24772	* docs/reference/libs/libs-sections.txt:
24773	* gst-libs/gst/vaapi/Makefile.am:
24774	* gst-libs/gst/vaapi/gstvaapivideosink.c:
24775	* gst-libs/gst/vaapi/gstvaapivideosink.h:
24776	* gst/vaapi/gstvaapidecode.c:
24777	* gst/vaapi/gstvaapidownload.c:
24778	* gst/vaapi/gstvaapipostproc.c:
24779	* gst/vaapi/gstvaapisink.c:
24780	* gst/vaapi/gstvaapiupload.c:
24781	  vaapisink: drop obsolete GstVaapiVideoSink interface.
24782	  This interface was deprecated since 0.3.x series when the GstVideoContext
24783	  interface was added to the main GStreamer APIs.
24784
247852012-08-27 18:34:27 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24786
24787	* gst/vaapi/gstvaapisink.c:
24788	* gst/vaapi/gstvaapisink.h:
24789	  vaapisink: automatically detect overlay rendering mode.
24790	  Retain the VA surface until another surface is to be displayed only
24791	  if VA display rendering mode is determined to be "overlay" mode.
24792
247932012-08-24 16:30:33 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24794
24795	* gst/vaapi/gstvaapisink.c:
24796	* gst/vaapi/gstvaapisink.h:
24797	  vaapisink: retain VA surface until another one is displayed.
24798	  Keep VA surface proxy associated with the surface that is currently
24799	  being displayed. This makes sure that surface is not released back
24800	  to the pool of surfaces free to use for decoding. This is necessary
24801	  with VA driver implementations that support rendering to an overlay
24802	  pipe. Otherwise, there could be cases where we are decoding into a
24803	  surface that is being displayed, hence some flickering.
24804
248052012-08-24 14:54:16 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24806
24807	* gst/vaapi/gstvaapisink.h:
24808	  vaapisink: fix build with older toolchains.
24809	  Don't re-declare GstVaapiTexture if USE_GLX mode is set.
24810
248112012-08-29 10:13:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24812
24813	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24814	  display: partially revert 8ebe4d6.
24815	  Don't try to fix up the initial values, this could make things worse.
24816	  Simply assume the driver does not support the capability in this case.
24817
248182012-08-28 16:08:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24819
24820	* tests/test-display.c:
24821	  tests: dump VA display properties.
24822
248232012-08-28 18:11:32 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24824
24825	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24826	  display: fix validation process of properties during discovery.
24827	  Some VA drivers (e.g. EMGD) can have completely random values for initial
24828	  display attributes. So, try to improve the discovery process to check the
24829	  initial display attribute values actually fall within valid bounds. If not,
24830	  try to reset those to some sensible values like the default value reported
24831	  through vaQueryDisplayAttributes().
24832
248332012-08-28 13:59:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24834
24835	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24836	* gst-libs/gst/vaapi/gstvaapidisplay.h:
24837	  display: add color balance properties.
24838	  Add support for hue, saturation, brightness and contrast attributes.
24839
248402012-08-28 14:05:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24841
24842	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24843	  display: initialize default attribute values.
24844	  Ensure the display attribute is actually supported by trying to retrieve
24845	  its current value during GstVaapiDisplay creation.
24846
248472012-08-28 11:09:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24848
24849	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24850	  display: raise "notify" for property changes.
24851
248522012-08-28 10:55:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24853
24854	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24855	* gst-libs/gst/vaapi/gstvaapidisplay.h:
24856	  display: expose display attributes as GObject properties.
24857	  Expose VA display "render-mode" and "rotation" attributes as standard
24858	  GObject properties.
24859
248602012-08-28 16:24:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24861
24862	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24863	  display: install properties in batch.
24864	  Use g_object_class_install_properties() to install GstVaapiDisplay properties.
24865	  It is useful to maintain properties as GParamSpec so that to be able to raise
24866	  "notify" signals by id instead of by name in the future.
24867
248682012-08-27 19:00:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24869
24870	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24871	  display: fix gst_vaapi_display_has_property().
24872	  Append the "render-mode" and "rotation" properties, should they be supported
24873	  by the underlying VA driver.
24874
248752012-08-22 02:18:11 -0400  Wind Yuan <feng.yuan@intel.com>
24876
24877	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24878	* gst-libs/gst/vaapi/gstvaapidisplay.h:
24879	* gst-libs/gst/vaapi/gstvaapitypes.h:
24880	* gst-libs/gst/vaapi/gstvaapiutils.c:
24881	* gst-libs/gst/vaapi/gstvaapiutils.h:
24882	* gst-libs/gst/vaapi/gstvaapivalue.c:
24883	* gst-libs/gst/vaapi/gstvaapivalue.h:
24884	  display: add support for rotation modes.
24885	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24886
248872012-08-27 18:11:37 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24888
24889	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24890	* gst-libs/gst/vaapi/gstvaapidisplay.h:
24891	* gst-libs/gst/vaapi/gstvaapitypes.h:
24892	* gst-libs/gst/vaapi/gstvaapivalue.c:
24893	* gst-libs/gst/vaapi/gstvaapivalue.h:
24894	  display: add support for rendering modes.
24895	  A rendering mode can be "overlay" or "texture"'ed blit.
24896	  The former mode implies that a VA surface used for rendering can't be
24897	  re-used right away for decoding, so the sink shall make provisions to
24898	  retain the associated surface proxy until the next surface is to be
24899	  displayed.
24900	  The latter mode implies that the VA surface is implicitly copied to an
24901	  intermediate backing store, or back buffer of a frame buffer, so the
24902	  associated surface proxy can be disposed right away.
24903
249042012-08-27 17:02:49 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24905
24906	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24907	* gst-libs/gst/vaapi/gstvaapidisplay.h:
24908	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24909	  display: add initial support for display attributes.
24910	  The VA display attributes are mapped to properties so that to maintain the
24911	  GStreamer terminology. Properties are to be identified by name, but internal
24912	  functions are available to lookup the property by the actual VA display
24913	  attribute type.
24914
249152012-08-24 11:36:16 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24916
24917	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24918	  jpeg: fix end-of-image (EOI) handler.
24919	  decode_current_picture() was converted to return a gboolean instead
24920	  of a GstVaapiDecoderStatus, so we were not getting out of the decode
24921	  loop as expected, or could cause an error instead.
24922	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24923
249242012-08-24 18:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24925
24926	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24927	  mpeg2: include start code into VA slice data buffer.
24928	  Integrate the start code prefix in the slice data buffer that is submitted
24929	  to the hardware. VA-API specifies that slice_data_offset is the offset to
24930	  the first byte of slice data. And, for MPEG-2, slice() data begins with
24931	  the slice_start_code. Some VA driver implementations (EMGD) expect this.
24932
249332012-06-28 01:08:03 +0900  Javier Jardón <jjardon@gnome.org>
24934
24935	* autogen.sh:
24936	  autogen: fix configure script generation when srcdir != builddir.
24937	  This patch allows for regenerating the configure script from a build
24938	  directory that is not the actual source directory.
24939	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24940
249412012-06-28 00:22:03 +0900  Javier Jardón <jjardon@gnome.org>
24942
24943	* configure.ac:
24944	  configure: use new libtool syntax.
24945	  This now requires libtool >= 2.2 to regenerate the configure script.
24946	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24947
249482012-08-08 12:50:41 +0900  Javier Jardón <jjardon@gnome.org>
24949
24950	* gst-libs/gst/vaapi/gstvaapidecoder.c:
24951	  decoder: use g_object_notify_by_pspec().
24952	  Use g_object_notify_by_pspec() instead of g_object_notify() so that to
24953	  avoid a property name lookup. i.e. this makes notifications faster to
24954	  the `vaapidecode' element.
24955	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24956
249572012-08-06 19:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24958
24959	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24960	  wayland: handle de-interlacing flags.
24961	  VA/Wayland API was updated to allow flags for bob deinterlacing.
24962	  More elaborated filters will require a complete VA/VPP pipeline.
24963
249642012-08-02 18:27:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24965
24966	* gst-libs/gst/codecparsers/gstjpegparser.c:
24967	  jpeg: fix default quantization tables.
24968	  Two elements in the luminance quantization table were wrong. So,
24969	  gst_jpeg_get_default_quantization_tables() now reconstructs tables
24970	  in zig-zag order from the standard ones (Tables K.1 and K.2).
24971
249722012-08-02 15:17:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24973
24974	* gst-libs/gst/codecparsers/gstjpegparser.c:
24975	  jpeg: compute default Huffman tables.
24976	  ... instead of having them pre-calculated. This saves around 1.5 KB
24977	  of data in the DSO but requires gst_jpeg_get_default_huffman_tables()
24978	  to do more work. Though, the client application may have to call that
24979	  function at most once, only.
24980
249812012-08-01 18:30:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24982
24983	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24984	  display: drop VAProfileNone entries from debug messages.
24985
249862012-07-31 18:24:14 +0800  Yan Yin <yan.yin@intel.com>
24987
24988	* gst-libs/gst/vaapi/gstvaapidisplay.c:
24989	  display: query for supported display attributes.
24990	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24991
249922012-07-31 18:22:48 +0800  Yan Yin <yan.yin@intel.com>
24993
24994	* gst-libs/gst/vaapi/gstvaapiutils.c:
24995	* gst-libs/gst/vaapi/gstvaapiutils.h:
24996	  utils: add string_of_VADisplayAttributeType() helper.
24997	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24998
249992012-08-01 15:46:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25000
25001	* gst/vaapi/gstvaapisink.c:
25002	  vaapisink: handle VA/DRM API.
25003	  This is not useful in practice but for raw performance evaluation when
25004	  the sink is invoked with display=drm sync=false. fakesink could also be
25005	  used though.
25006
250072012-08-01 15:46:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25008
25009	* gst/vaapi/Makefile.am:
25010	* gst/vaapi/gstvaapipluginutil.c:
25011	  plugins: add support for headless pipelines.
25012
250132012-08-01 15:44:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25014
25015	* tests/Makefile.am:
25016	* tests/output.c:
25017	* tests/test-display.c:
25018	* tests/test-windows.c:
25019	  tests: add support for headless decoding.
25020
250212012-08-01 15:44:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25022
25023	* NEWS:
25024	* configure.ac:
25025	* debian.upstream/Makefile.am:
25026	* debian.upstream/control.in:
25027	* debian.upstream/libgstvaapi-drm.install.in:
25028	* gst-libs/gst/vaapi/Makefile.am:
25029	* gst-libs/gst/vaapi/gstvaapidisplay.c:
25030	* gst-libs/gst/vaapi/gstvaapidisplay.h:
25031	* gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
25032	* gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
25033	* gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
25034	* gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
25035	* gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
25036	* pkgconfig/Makefile.am:
25037	* pkgconfig/gstreamer-vaapi-drm.pc.in:
25038	  Add initial support for VA/DRM.
25039
250402012-07-31 17:58:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25041
25042	* configure.ac:
25043	* gst-libs/gst/vaapi/Makefile.am:
25044	  Fix build without X11 (again).
25045	  Don't try to build libgstvaapi-x11.so.* if X11 was disabled. Also shuffle
25046	  files list wrt. x11, glx and wayland backends.
25047
250482012-07-31 11:51:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25049
25050	* configure.ac:
25051	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
25052	* gst-libs/gst/vaapi/gstvaapicompat.h:
25053	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25054	  jpeg: update to the latest VA-API changes (0.32.1+).
25055
250562012-07-27 14:27:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25057
25058	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
25059	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
25060	* gst/vaapi/gstvaapisink.c:
25061	  wayland: implement display ::get_size*() hooks.
25062
250632012-07-27 10:45:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25064
25065	* gst/vaapi/gstvaapipluginutil.c:
25066	  plugins: prefer X11 rendering over GLX.
25067	  Prefer X11 display over GLX so that "vaapisink" uses X11, i.e. vaPutSurface(),
25068	  for rendering instead of texturing.
25069
250702012-07-26 09:28:51 -0400  Kristian Høgsberg <krh@bitplanet.net>
25071
25072	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25073	  wayland: use scale fullscreen method.
25074	  This makes the compositor scale the surface to fit and preserves aspect
25075	  ratio.
25076	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25077
250782012-07-26 09:27:47 -0400  Kristian Høgsberg <krh@bitplanet.net>
25079
25080	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25081	  wayland: respond to ping/pong protocol so we're not deemed unresponsive.
25082	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25083
250842012-07-25 10:39:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25085
25086	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
25087	  wayland: fix double disconnect of display.
25088
250892012-07-24 19:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25090
25091	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
25092	  wayland: mangle display name for cache lookups.
25093
250942012-07-24 15:43:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25095
25096	* configure.ac:
25097	* debian.upstream/Makefile.am:
25098	* debian.upstream/control.in:
25099	* debian.upstream/libgstvaapi-wayland.install.in:
25100	* pkgconfig/Makefile.am:
25101	* pkgconfig/gstreamer-vaapi-wayland.pc.in:
25102	  wayland: add packaging files.
25103
251042012-07-24 15:07:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25105
25106	* gst-libs/gst/vaapi/gstvaapidisplay.c:
25107	* gst/vaapi/gstvaapipluginutil.c:
25108	* gst/vaapi/gstvaapisink.c:
25109	* pkgconfig/Makefile.am:
25110	  Fix build without X11.
25111
251122012-07-24 09:45:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25113
25114	* gst-libs/gst/vaapi/gstvaapidisplay.c:
25115	* gst-libs/gst/vaapi/gstvaapidisplay.h:
25116	* gst/vaapi/Makefile.am:
25117	* gst/vaapi/gstvaapipluginutil.c:
25118	* gst/vaapi/gstvaapisink.c:
25119	  plugins: add support for Wayland.
25120
251212012-07-23 12:56:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25122
25123	* tests/Makefile.am:
25124	* tests/output.c:
25125	* tests/test-display.c:
25126	* tests/test-windows.c:
25127	  tests: add support for Wayland.
25128
251292012-07-19 10:27:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25130
25131	* NEWS:
25132	* configure.ac:
25133	* gst-libs/gst/vaapi/Makefile.am:
25134	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
25135	* gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
25136	* gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
25137	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
25138	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25139	* gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
25140	  Add initial support for VA/Wayland.
25141	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25142
251432012-07-25 15:11:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25144
25145	* gst/vaapi/gstvaapipluginbuffer.c:
25146	  plugins: fix creation of video buffer from surface proxy.
25147	  Fix a regression introduced with commit 8ef490a.
25148
251492012-07-25 14:51:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25150
25151	* gst/vaapi/gstvaapipluginbuffer.c:
25152	* gst/vaapi/gstvaapipluginutil.c:
25153	  plugins: use new display types more.
25154	  In particular, simplify gst_vaapi_reply_to_query() with display types.
25155	  Likewise for creating new video buffers.
25156
251572012-07-25 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25158
25159	* gst/vaapi/gstvaapidecode.c:
25160	* gst/vaapi/gstvaapidownload.c:
25161	* gst/vaapi/gstvaapipluginutil.c:
25162	* gst/vaapi/gstvaapipluginutil.h:
25163	* gst/vaapi/gstvaapipostproc.c:
25164	* gst/vaapi/gstvaapisink.c:
25165	* gst/vaapi/gstvaapiupload.c:
25166	  plugins: fix display type selection and propagation.
25167	  If vaapisink is in the GStreamer pipeline, then we shall allocate a
25168	  unique GstVaapiDisplay and propagate it upstream. i.e. subsequent
25169	  queries from vaapidecode shall get a valid answer from vaapisink.
25170
251712012-07-25 11:37:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25172
25173	* gst-libs/gst/vaapi/gstvaapidisplay.c:
25174	  display: fix destruction of mutex.
25175
251762012-07-25 09:16:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25177
25178	* gst-libs/gst/vaapi/gstvaapidisplay.c:
25179	* gst-libs/gst/vaapi/gstvaapidisplay.h:
25180	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
25181	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
25182	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25183	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
25184	* gst/vaapi/gstvaapipluginutil.c:
25185	* gst/vaapi/gstvaapipluginutil.h:
25186	* gst/vaapi/gstvaapisink.c:
25187	  display: add display types.
25188	  Move display types from gstvaapipluginutil.* to gstvaapidisplay.* so that
25189	  we could simplify characterization of a GstVaapiDisplay. Also rename "auto"
25190	  type to "any", and add a "display-type" attribute.
25191
251922012-07-24 19:43:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25193
25194	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25195	  display: use prefixed display names for cache lookups.
25196	  This improves display name comparisons by always allocating a valid display
25197	  name. This also helps to disambiguate lookups by name in the global display
25198	  cache, should a new backend be implemented.
25199
252002012-07-24 16:14:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25201
25202	* gst/vaapi/gstvaapipluginutil.h:
25203	  plugins: declare helper functions as internal.
25204
252052012-07-24 14:31:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25206
25207	* docs/reference/libs/libs-sections.txt:
25208	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25209	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25210	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
25211	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
25212	* gst/vaapi/Makefile.am:
25213	* gst/vaapi/gstvaapidecode.c:
25214	* gst/vaapi/gstvaapidownload.c:
25215	* gst/vaapi/gstvaapipluginbuffer.c:
25216	* gst/vaapi/gstvaapipluginbuffer.h:
25217	* gst/vaapi/gstvaapipostproc.c:
25218	* gst/vaapi/gstvaapiupload.c:
25219	  videobuffer: drop deprecated functions.
25220	  Move video buffer creation routines to plugin elements. That exclusively
25221	  uses *_typed_new*() variants.
25222
252232012-07-24 14:09:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25224
25225	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25226	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
25227	  videobuffer: mark video buffer creation routines as deprecated.
25228	  The vdeo buffer creation routines shall actually be internal to gstreamer-vaapi
25229	  plugin elements. So deprecate any explicit creation routines that are not the
25230	  new *_typed_new*() variants.
25231
252322012-07-24 13:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25233
25234	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25235	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
25236	* gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
25237	  videobuffer: factor out base and GLX implementations.
25238	  Introduce new typed constructors internal to gstreamer-vaapi plugin elements.
25239	  This avoids duplication of code, and makes it possible to further implement
25240	  generic video buffer creation routines that automatically map to base or GLX
25241	  variants.
25242
252432012-07-24 10:58:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25244
25245	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
25246	  utils: fix gl_create_context() with parent context set.
25247	  If GLX window was created from a foreign Display, then that same Display shall
25248	  be used for subsequent glXMakeCurrent(). This means that gl_create_context()
25249	  will now use the same Display that the parent, if available.
25250	  This fixes cluttersink with the Intel GenX VA driver.
25251
252522012-07-23 18:37:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25253
25254	* gst/vaapi/gstvaapidecode.c:
25255	* gst/vaapi/gstvaapidownload.c:
25256	* gst/vaapi/gstvaapipluginutil.c:
25257	* gst/vaapi/gstvaapipluginutil.h:
25258	* gst/vaapi/gstvaapipostproc.c:
25259	* gst/vaapi/gstvaapisink.c:
25260	* gst/vaapi/gstvaapiupload.c:
25261	  pluginutils: improve automatic display type selection.
25262
252632012-07-23 18:01:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25264
25265	* gst/vaapi/gstvaapipluginutil.c:
25266	* gst/vaapi/gstvaapipluginutil.h:
25267	  pluginutils: cosmetics (indentation fixes).
25268
252692012-07-23 17:54:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25270
25271	* configure.ac:
25272	  configure: simplify video outputs summary.
25273
252742012-07-23 17:49:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25275
25276	* configure.ac:
25277	* gst/vaapi/gstvaapipluginutil.c:
25278	* gst/vaapi/gstvaapipluginutil.h:
25279	* gst/vaapi/gstvaapisink.c:
25280	* gst/vaapi/gstvaapisink.h:
25281	  configure: drop check for --enable-vaapisink-glx.
25282	  vaapisink is now built with support for multiple display types, whenever
25283	  they are enabled. The new "display" attribute is used to select a particular
25284	  renderer.
25285
252862012-07-23 16:15:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25287
25288	* configure.ac:
25289	* gst-libs/gst/vaapi/gstvaapicompat.h:
25290	* gst/vaapi/Makefile.am:
25291	* gst/vaapi/gstvaapidecode.c:
25292	* gst/vaapi/gstvaapidownload.c:
25293	* gst/vaapi/gstvaapipluginutil.c:
25294	* gst/vaapi/gstvaapipostproc.c:
25295	* gst/vaapi/gstvaapiupload.c:
25296	* tests/test-display.c:
25297	  configure: drop check for --enable-vaapi-glx.
25298	  This flag is obsolete. It was meant to explicitly enable/disable VA/GLX API
25299	  support, or fallback to TFP+FBO if this API is not found. Now, we check for
25300	  the VA/GLX API by default if --enable-glx is set. If this API is not found,
25301	  we now default to use TFP+FBO.
25302	  Note: TFP+FBO, i.e. using vaPutSurface() is now also a deprecated usage and
25303	  will be removed in the future. If GLX rendering is requested, then the VA/GLX
25304	  API shall be used as it covers most usages. e.g. AMD driver can't render to
25305	  an X pixmap yet.
25306
253072012-07-23 15:20:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25308
25309	* tests/output.c:
25310	  tests: allow GLX output, if available and selected.
25311
253122012-07-23 15:17:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25313
25314	* tests/Makefile.am:
25315	* tests/output.c:
25316	* tests/output.h:
25317	* tests/test-decode.c:
25318	* tests/test-subpicture.c:
25319	* tests/test-surfaces.c:
25320	  tests: use common display and window creation routines.
25321	  Add new --output option to select the renderer. Use --list-outputs to
25322	  print a list of supported renderers.
25323
253242012-07-23 14:15:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25325
25326	* tests/Makefile.am:
25327	  tests: move encoded bitstreams to libutils.la.
25328
253292012-07-23 14:11:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25330
25331	* tests/Makefile.am:
25332	  tests: build convenience library for common utilities.
25333
253342012-07-20 16:37:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25335
25336	* tests/Makefile.am:
25337	* tests/test-display.c:
25338	  tests: simplify build with various display options.
25339
253402012-07-23 13:28:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25341
25342	* configure.ac:
25343	  configure: improve checks for X11.
25344
253452012-07-20 15:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25346
25347	* tests/Makefile.am:
25348	  configure: fix previous commit for GLX deps.
25349
253502012-07-20 14:44:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25351
25352	* configure.ac:
25353	* gst-libs/gst/vaapi/Makefile.am:
25354	  configure: improve checks for GLX.
25355
253562012-07-20 11:45:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25357
25358	* configure.ac:
25359	* gst-libs/gst/vaapi/gstvaapicompat.h:
25360	* gst-libs/gst/vaapi/gstvaapidisplay.h:
25361	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
25362	* gst-libs/gst/vaapi/gstvaapiutils.h:
25363	  Drop support for obsolete VA-API versions < 0.30.4.
25364
253652012-07-20 11:16:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25366
25367	* configure.ac:
25368	* gst-libs/gst/Makefile.am:
25369	* gst-libs/gst/gstutils_version.h.in:
25370	* gst/vaapi/gstvaapisink.c:
25371	  vaapisink: drop checks for new APIs used by default.
25372	  GStreamer -base plugins >= 0.10.31 are now required, so the checks for
25373	  new APIs like GstXOverlay::set_window_handle() and ::set_render_rectangle()
25374	  are no longer necessary.
25375
253762012-07-20 14:05:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25377
25378	* configure.ac:
25379	  configure: cosmetics and some minor changes.
25380	  - Better grouping of feature checks
25381	  - Sort list of config files to generate
25382
253832012-07-19 17:55:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25384
25385	* configure.ac:
25386	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
25387	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
25388	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25389	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25390	* gst-libs/gst/vaapi/gstvaapisurface_priv.h:
25391	* gst-libs/gst/vaapi/gstvaapiutils.h:
25392	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
25393	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
25394	  Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden.
25395
253962012-07-19 17:41:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25397
25398	* gst-libs/gst/vaapi/Makefile.am:
25399	* gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
25400	* gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
25401	  Drop obsolete GstVaapiTSB.
25402	  It has been replaced with a GstAdapter and gst_adapter_prev_pts().
25403
254042012-07-19 17:27:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25405
25406	* docs/reference/libs/libs-sections.txt:
25407	  docs: add missing entries for the JPEG decoder.
25408
254092012-07-19 17:16:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25410
25411	* configure.ac:
25412	* gst-libs/gst/vaapi/Makefile.am:
25413	* gst/vaapi/gstvaapidecode.c:
25414	* tests/test-decode.c:
25415	* tests/test-subpicture.c:
25416	  Drop all references to USE_CODEC_PARSERS.
25417
254182012-07-19 17:00:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25419
25420	* NEWS:
25421	* configure.ac:
25422	* docs/reference/libs/libs-sections.txt:
25423	* docs/reference/libs/libs.core.types:
25424	* gst-libs/gst/vaapi/Makefile.am:
25425	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25426	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
25427	* gst/vaapi/gstvaapidecode.c:
25428	* gst/vaapi/gstvaapidecode.h:
25429	* tests/test-decode.c:
25430	* tests/test-subpicture.c:
25431	  Drop FFmpeg-based decoders.
25432	  GStreamer codecparsers-based decoders are the only supported decoders now.
25433	  Though, FFmpeg decoders are still available in gstreamer-vaapi 0.3.x series.
25434
254352012-07-01 05:55:05 +0900  Javier Jardón <jjardon@gnome.org>
25436
25437	* configure.ac:
25438	* debian.upstream/control.in:
25439	  configure: bump glib required version to 2.28.
25440	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25441
254422012-06-29 08:45:47 +0900  Javier Jardón <jjardon@gnome.org>
25443
25444	* gst/vaapi/gstvaapidecode.h:
25445	* gst/vaapi/gstvaapidownload.h:
25446	* gst/vaapi/gstvaapipostproc.h:
25447	* gst/vaapi/gstvaapisink.h:
25448	* gst/vaapi/gstvaapiupload.h:
25449	  plugins: declare _get_type() functions as const.
25450	  Declaring a function as const enables better optimization of calls to
25451	  the function.
25452	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25453
254542012-07-01 05:50:17 +0900  Javier Jardón <jjardon@gnome.org>
25455
25456	* gst/vaapi/gstvaapidecode.c:
25457	* gst/vaapi/gstvaapidownload.c:
25458	* gst/vaapi/gstvaapipostproc.c:
25459	* gst/vaapi/gstvaapisink.c:
25460	* gst/vaapi/gstvaapiupload.c:
25461	  plugins: use g_clear_object() wherever applicable.
25462	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25463
254642012-06-29 15:19:51 +0900  Javier Jardón <jjardon@gnome.org>
25465
25466	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
25467	* gst-libs/gst/vaapi/gstvaapicontext.h:
25468	* gst-libs/gst/vaapi/gstvaapidecoder.h:
25469	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
25470	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
25471	* gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
25472	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
25473	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
25474	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
25475	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25476	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
25477	* gst-libs/gst/vaapi/gstvaapidisplay.h:
25478	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
25479	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
25480	* gst-libs/gst/vaapi/gstvaapiimage.h:
25481	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
25482	* gst-libs/gst/vaapi/gstvaapiobject.h:
25483	* gst-libs/gst/vaapi/gstvaapiparamspecs.h:
25484	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
25485	* gst-libs/gst/vaapi/gstvaapisurface.h:
25486	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
25487	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25488	* gst-libs/gst/vaapi/gstvaapitexture.h:
25489	* gst-libs/gst/vaapi/gstvaapivalue.h:
25490	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25491	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
25492	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
25493	* gst-libs/gst/vaapi/gstvaapivideopool.h:
25494	* gst-libs/gst/vaapi/gstvaapivideosink.h:
25495	* gst-libs/gst/vaapi/gstvaapiwindow.h:
25496	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
25497	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
25498	  libs: declare _get_type() functions as const.
25499	  Declaring a function as const enables better optimization of calls
25500	  to the function.
25501	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25502
255032012-07-01 05:34:15 +0900  Javier Jardón <jjardon@gnome.org>
25504
25505	* gst-libs/gst/vaapi/glibcompat.h:
25506	* gst-libs/gst/vaapi/gstvaapicontext.c:
25507	* gst-libs/gst/vaapi/gstvaapidisplay.c:
25508	* gst-libs/gst/vaapi/gstvaapiobject.c:
25509	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
25510	* gst-libs/gst/vaapi/gstvaapisurface.c:
25511	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25512	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25513	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25514	* gst-libs/gst/vaapi/gstvaapivideopool.c:
25515	  libs: use g_clear_object() wherever applicable.
25516	  This is a preferred thread-safe version. Also add an inline version of
25517	  g_clear_object() if compiling with glib < 2.28.
25518	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25519
255202012-07-01 06:02:22 +0900  Javier Jardón <jjardon@gnome.org>
25521
25522	* .gitignore:
25523	* configure.ac:
25524	* docs/reference/libs/Makefile.am:
25525	* gst-libs/gst/vaapi/Makefile.am:
25526	* gst-libs/gst/vaapi/gstvaapimarshal.list:
25527	* gst-libs/gst/vaapi/gstvaapiobject.c:
25528	  libs: use generic g_cclosure_marshal_VOID__VOID().
25529	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25530
255312012-07-19 14:29:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25532
25533	* configure.ac:
25534	* gst-libs/gst/vaapi/glibcompat.h:
25535	  glibcompat: drop explicit check for g_list_free_full().
25536
255372012-07-19 13:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25538
25539	* configure.ac:
25540	  Bump version for development.
25541
255422012-07-19 13:57:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25543
25544	* gst-libs/gst/codecparsers/Makefile.am:
25545	  jpeg: fix make dist.
25546
255472012-06-28 00:39:10 +0900  Javier Jardón <jjardon@gnome.org>
25548
25549	* autogen.sh:
25550	* configure.ac:
25551	* docs/Makefile.am:
25552	  configure: fix build without gtk-doc support.
25553	  Also do not generate tamplate files as all the documentation is inline.
25554	  Drop un-needed code in autogen.sh as well.
25555	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25556
255572012-06-28 00:27:31 +0900  Javier Jardón <jjardon@gnome.org>
25558
25559	* Makefile.am:
25560	* autogen.sh:
25561	* configure.ac:
25562	  configure: put m4 macros and autogenerated files into m4/ directory.
25563	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25564
255652012-06-28 00:20:12 +0900  Javier Jardón <jjardon@gnome.org>
25566
25567	* configure.ac:
25568	  configure: drop deprecated autoconf macros.
25569	  Bump autoconf required version to 2.58, needed for AS_HELP_STRING macro.
25570	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25571
255722012-06-28 00:04:19 +0900  Javier Jardón <jjardon@gnome.org>
25573
25574	* configure.ac:
25575	  configure: don't use AC_SUBST for some variables.
25576	  PKG_CHECK_MODULES already does this for us.
25577	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25578
255792012-07-19 11:43:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25580
25581	* gst/vaapi/gstvaapidecode.c:
25582	* gst/vaapi/gstvaapidownload.c:
25583	* gst/vaapi/gstvaapipostproc.c:
25584	* gst/vaapi/gstvaapiupload.c:
25585	  plugins: add support for GstImplementsInterface.
25586
255872012-07-01 02:58:36 +0900  Javier Jardón <jjardon@gnome.org>
25588
25589	* configure.ac:
25590	* gst/vaapi/gstvaapidecode.c:
25591	* gst/vaapi/gstvaapidownload.c:
25592	* gst/vaapi/gstvaapipostproc.c:
25593	* gst/vaapi/gstvaapisink.c:
25594	* gst/vaapi/gstvaapiupload.c:
25595	  plugins: use G_DEFINE_TYPE_* instead of deprecated GST_BOILERPLATE_*.
25596	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25597
255982012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
25599
25600	* configure.ac:
25601	* gst/vaapi/gstvaapisink.c:
25602	  plugins: do not use deprecated GStreamer -base symbols.
25603	  Bump GStreamer plugins -base required version to 0.10.31, needed for
25604	  gst_x_overlay_got_window_handle().
25605	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25606
256072012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
25608
25609	* configure.ac:
25610	* gst/vaapi/gstvaapidecode.c:
25611	* gst/vaapi/gstvaapidownload.c:
25612	* gst/vaapi/gstvaapipostproc.c:
25613	* gst/vaapi/gstvaapisink.c:
25614	* gst/vaapi/gstvaapiupload.c:
25615	  plugins: do not use deprecated core GStreamer symbols.
25616	  Bump GStreamer required version to 0.10.14, needed for
25617	  gst_element_class_set_details_simple().
25618	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25619
256202012-07-19 10:54:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25621
25622	* tests/test-decode.c:
25623	  tests: fix build without JPEG decoder support.
25624
256252012-07-17 13:44:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25626
25627	* tests/Makefile.am:
25628	* tests/test-decode.c:
25629	* tests/test-jpeg.c:
25630	* tests/test-jpeg.h:
25631	  tests: add test for JPEG decoding.
25632
256332012-07-17 13:43:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25634
25635	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25636	  jpeg: update to match latest parser API.
25637
256382012-07-16 17:35:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25639
25640	* gst-libs/gst/codecparsers/gstjpegparser.c:
25641	* gst-libs/gst/codecparsers/gstjpegparser.h:
25642	  codecparsers: jpeg: tweak parser API.
25643	  ... to allow for more consistent parsing API among various codec parsers.
25644	  In particular, drop use of GList.
25645
256462012-07-16 16:24:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25647
25648	* configure.ac:
25649	  jpeg: fix configure check for VA/JPEG decoding API.
25650
256512012-06-26 15:18:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25652
25653	* gst-libs/gst/vaapi/gstvaapiprofile.c:
25654	  jpeg: fix build with VA-API < 0.32.0.
25655
256562012-06-26 15:04:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25657
25658	* NEWS:
25659	  NEWS: updates.
25660
256612012-06-26 15:02:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25662
25663	* configure.ac:
25664	  Bump version for development.
25665
256662012-06-26 14:46:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25667
25668	* NEWS:
25669	* configure.ac:
25670	  0.3.7.
25671
256722012-06-26 13:34:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25673
25674	* NEWS:
25675	  NEWS: updates.
25676
256772012-06-25 16:07:55 +0800  Yan Yin <yan.yin@intel.com>
25678
25679	* gst/vaapi/gstvaapipluginutil.c:
25680	  vaapiplugin: fix build when compiling without GLX.
25681	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25682
256832012-06-26 11:03:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25684
25685	* configure.ac:
25686	  configure: disable FFmpeg-based decoders.
25687	  FFmpeg decoders are still available through the --enable-ffmpeg option
25688	  but are no longer maintained.
25689
256902012-06-25 17:25:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25691
25692	* gst-libs/gst/vaapi/Makefile.am:
25693	  Fix build with recent GStreamer stack.
25694
256952012-06-25 17:10:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25696
25697	* configure.ac:
25698	* gst-libs/gst/vaapi/gstvaapicompat.h:
25699	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25700	  jpeg: update to current VA/JPEG decoding API.
25701
257022012-06-21 16:06:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25703
25704	* gst-libs/gst/codecparsers/gstjpegparser.c:
25705	* gst-libs/gst/codecparsers/gstjpegparser.h:
25706	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25707	  codecparsers: jpeg: track valid quantization and Huffman tables.
25708	  Add valid flag to GstJpegQuantTable and GstJpegHuffmanTable so that
25709	  to determine whether a table actually changed since the last user
25710	  synchronization point. That way, this makes it possible for some
25711	  hardware accelerated decoding solution to upload only those tables
25712	  that changed.
25713
257142012-06-05 10:10:22 +0800  Wind Yuan <feng.yuan@intel.com>
25715
25716	* gst-libs/gst/codecparsers/gstjpegparser.c:
25717	  codecparsers: jpeg: use U_READ_UINT*() wherever possible.
25718	  Use GstByteReader *_unchecked() variants as much as possible.
25719	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25720
257212012-06-04 16:20:13 +0800  Wind Yuan <feng.yuan@intel.com>
25722
25723	* gst-libs/gst/codecparsers/gstjpegparser.c:
25724	* gst-libs/gst/codecparsers/gstjpegparser.h:
25725	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25726	  jpeg: add new GstJpegHuffmanTables structure.
25727	  Add new GstJpegHuffmanTables helper structure to hold all possible
25728	  AC/DC Huffman tables available to all components.
25729	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25730
257312012-06-04 15:52:19 +0800  Wind Yuan <feng.yuan@intel.com>
25732
25733	* gst-libs/gst/codecparsers/gstjpegparser.c:
25734	* gst-libs/gst/codecparsers/gstjpegparser.h:
25735	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25736	  jpeg: make gst_jpeg_parse() support multiple scans.
25737	  gst_jpeg_parse() now gathers all scans available in the supplied
25738	  buffer. A scan comprises of the scan header and any entropy-coded
25739	  segments or restart marker following it. The size and offset to
25740	  the associated data (ECS + RST segments) are append to a new
25741	  GstJpegScanOffsetSize structure.
25742	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25743
257442012-04-19 23:50:14 +0800  Wind Yuan <feng.yuan@intel.com>
25745
25746	* gst-libs/gst/codecparsers/gstjpegparser.c:
25747	* gst-libs/gst/codecparsers/gstjpegparser.h:
25748	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25749	  jpeg: update to match latest parser API.
25750	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25751
257522012-04-13 01:58:39 -0400  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25753
25754	* gst-libs/gst/codecparsers/gstjpegparser.h:
25755	  jpeg: simplify and optimize parser API.
25756
257572012-04-18 22:30:45 -0400  Wind Yuan <feng.yuan@intel.com>
25758
25759	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25760	  mpeg: fix picture used to determine backward_reference_vop_coding_type.
25761	  Complete fix brought by bf9f77b1afb0829b97e2d502057aec973c5fd7f5
25762	  but Gwenole did not apply all the bits.
25763	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25764
257652012-04-27 04:13:00 -0400  Wind Yuan <feng.yuan@intel.com>
25766
25767	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25768	  mpeg4: map Simple_Scalable profile to Advanced_Simple profile.
25769	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25770
257712012-04-27 04:10:17 -0400  Wind Yuan <feng.yuan@intel.com>
25772
25773	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25774	  mpeg4: handle skipped frames (vop_hdr->coded = 0).
25775	  Gracefully skip non VOP coded frames.
25776	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25777
257782012-04-26 04:00:41 -0400  Wind Yuan <feng.yuan@intel.com>
25779
25780	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25781	  mpeg4: fix timestamp issues on too fast playback.
25782	  Improve generation of presentation timestamps to be less sensitive
25783	  to input stream errors. In practise, GOP is also a synchronization
25784	  point for PTS calculation.
25785	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25786
257872012-04-16 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25788
25789	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
25790	  Fix build without JPEG decoder.
25791
257922012-04-12 11:48:24 +0200  Wind Yuan <feng.yuan@intel.com>
25793
25794	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25795	  mpeg4: fix VOP coding type of backward reference pictures.
25796	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25797
257982012-04-11 23:02:45 -0400  Wind Yuan <feng.yuan@intel.com>
25799
25800	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25801	  mpeg4: fix handling of temporal reference distances.
25802	  TRD and TRB fields are not large enough to hold the difference of PTS
25803	  expressed with nanosecond resolution. So, compute them from the original
25804	  VOP info.
25805	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25806
258072012-04-12 11:00:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25808
25809	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
25810	  dpb: mpeg2: cosmetics.
25811	  Define MAX_MPEG2_REFERENCES to 2 and avoid magic numbers all around.
25812
258132012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
25814
25815	* configure.ac:
25816	* gst-libs/gst/vaapi/Makefile.am:
25817	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
25818	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
25819	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25820	* gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
25821	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25822	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25823	* gst-libs/gst/vaapi/gstvaapiprofile.c:
25824	* gst-libs/gst/vaapi/gstvaapiprofile.h:
25825	* gst/vaapi/gstvaapidecode.c:
25826	  Add initial JPEG decoder.
25827	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25828
258292012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
25830
25831	* configure.ac:
25832	* gst-libs/gst/Makefile.am:
25833	* gst-libs/gst/codecparsers/Makefile.am:
25834	* gst-libs/gst/codecparsers/gstjpegparser.c:
25835	* gst-libs/gst/codecparsers/gstjpegparser.h:
25836	* gst-libs/gst/vaapi/Makefile.am:
25837	  codecparsers: add JPEG parser.
25838	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25839
258402012-04-10 13:29:10 +0200  Wind Yuan <feng.yuan@intel.com>
25841
25842	* gst/vaapi/gstvaapidecode.c:
25843	  vaapidecode: fix VA display type.
25844	  Fix typo whereby plain VADisplay type was used instead of the GstVaapiDisplay
25845	  wrapper.
25846	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25847
258482012-04-10 14:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25849
25850	* gst/vaapi/gstvaapidecode.c:
25851	  vaapidecode: fix includes when compiling for a single API.
25852
258532012-04-02 18:42:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25854
25855	* NEWS:
25856	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25857	  mpeg2: fix calculation of macroblock_offset.
25858	  Fix decoding of streams with extra slice() information before the first
25859	  macroblock(). e.g. this fixes sony-ct3.bs from conformance test.
25860
258612012-04-02 18:09:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25862
25863	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25864	  mpeg2: fix interpolation of GOP TSN from new PTS.
25865	  New GOP TSN base could be mis-calculated. In particular, this fixes
25866	  decoding of uruseiyatsura.vob from <http://samples.mplayerhq.hu/>.
25867
258682012-04-02 16:07:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25869
25870	* NEWS:
25871	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25872	* gst-libs/gst/vaapi/gstvaapiprofile.h:
25873	  mpeg2: fix decoding of high profile streams.
25874	  Allow MPEG-2 High profile streams only if the HW supports that profile
25875	  or no High profile specific bits are used, and thus Main profile could
25876	  be used instead. i.e. chroma_format is 4:2:0, intra_dc_precision is not
25877	  set to 11 and no sequence_scalable_extension() was parsed.
25878
258792012-04-02 14:51:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25880
25881	* NEWS:
25882	* gst/vaapi/gstvaapidecode.c:
25883	  vaapidecode: report unsupported codec profiles.
25884	  Try to gracefully abort when the HW does not support the requested
25885	  profile. There is no fallback unless profiles are correctly parsed
25886	  and matched through caps beforehand.
25887
258882012-02-07 15:23:22 +0100  Holger Kaelberer <holger.k@elberer.de>
25889
25890	* NEWS:
25891	* gst/vaapi/gstvaapisink.c:
25892	  vaapisink: don't resize a 'foreign' X-window.
25893	  Don't forcibly resize foreign X windows. The user is responsible for
25894	  their size and vaapisink shall not change this.
25895	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25896
258972012-02-07 15:21:05 +0100  Holger Kaelberer <holger.k@elberer.de>
25898
25899	* NEWS:
25900	* gst/vaapi/gstvaapisink.c:
25901	* gst/vaapi/gstvaapisink.h:
25902	  vaapisink: recalculate render rect only if caps are negotiated.
25903	  Fix gst_vaapisink_xoverlay_set_window_handle() when it is called before
25904	  caps got negotiated. Besides, when a foreign window is provided by the
25905	  user, so should the render rect.
25906	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25907
259082012-04-02 13:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25909
25910	* configure.ac:
25911	  Bump version for development.
25912
259132012-04-02 10:07:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25914
25915	* configure.ac:
25916	  0.3.6.
25917
259182012-04-02 12:52:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25919
25920	* docs/reference/libs/libs-docs.xml.in:
25921	* docs/reference/libs/libs-sections.txt:
25922	* docs/reference/plugins/plugins-docs.xml.in:
25923	* docs/reference/plugins/plugins-sections.txt:
25924	* docs/reference/plugins/plugins.types:
25925	* gst-libs/gst/vaapi/gstvaapiimage.c:
25926	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25927	* gst/vaapi/gstvaapipostproc.c:
25928	  Fix a few documentation issues.
25929
259302012-04-02 10:05:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25931
25932	* NEWS:
25933	* README:
25934	  Update introduction and changelog.
25935
259362012-04-02 11:29:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25937
25938	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
25939	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
25940	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25941	  mpeg2: allocate dummy picture for first field based I-frame.
25942	  In P-pictures, prediction shall be made from the two most recently
25943	  decoded reference fields. However, when the first I-frame is a field,
25944	  the next field of the current picture could be a P-picture but only a
25945	  single field was decoded so far. In this case, create a dummy picture
25946	  with POC = -1 that will be used as reference.
25947	  Some VA drivers would error out if P-pictures don't have a forward
25948	  reference picture. This is true in general but not in this very specific
25949	  initial case.
25950
259512012-04-02 10:43:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25952
25953	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25954	  mpeg2: fix simple to main profile fallback.
25955	  Allow fallback from simple to main profile when the HW decoder does
25956	  not support the former profile and that no sequence_header_extension()
25957	  is available to point out this.
25958
259592012-03-30 03:04:40 -0400  Wind Yuan <feng.yuan@intel.com>
25960
25961	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25962	  mpeg4: improve error checking while decoding packets.
25963	  decode_picture() could return an error when an MPEG-4 profile is not
25964	  supported for example. In this case, the underlying VA context is not
25965	  allocated and no other proper action can be taken. Likewise on exit
25966	  from decode_slice().
25967	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25968
259692012-03-30 17:03:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25970
25971	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
25972	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25973	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25974	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25975	  decoder: use POC to maintain the DPB.
25976	  Introduce a POC field in GstVaapiPicture so that to store simpler sequential
25977	  numbers. A signed 32-bit integer should be enough for 1 year of continuous
25978	  video streaming at 60 Hz.
25979	  Use this new POC value to maintain the DPB, instead of 64-bit timestamps.
25980	  This also aligns with H.264 that will be migrated to GstVaapiDpb infrastructure.
25981
259822012-03-30 16:23:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25983
25984	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25985	  mpeg2: rework generation of presentation timestamps.
25986	  Always prefer PTS from the demuxer layer for GOP times. If this is invalid,
25987	  i.e. demuxer could not determine the PTS or the generated PTS is lower than
25988	  max PTS from past pictures, then try to fix it up based on the duration of
25989	  a frame.
25990	  For picture PTS, simply use the GOP PTS formerly computed then use TSN to
25991	  reconstruct a current time. Also now handle wrapped TSN correctly.
25992
259932012-03-30 17:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25994
25995	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25996	  mpeg2: ignore empty user-data packets.
25997	  Fix tcela-8.bits conformance test.
25998
259992012-03-29 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26000
26001	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26002	  mpeg2: review and report errors accordingly.
26003	  Use GST_ERROR() to report real errors instead of hiding them into
26004	  GST_DEBUG().
26005
260062012-03-28 19:15:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26007
26008	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26009	  mpeg2: fix invalid interlaced frame in progressive sequence.
26010	  Some streams, badly constructed, could have signaled an interlaced
26011	  frame while the sequence was meant to be progressive. Warn and force
26012	  frame to be progressive in this case.
26013
260142012-03-28 16:08:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26015
26016	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26017	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26018	  mpeg2: add support for interlaced streams.
26019	  Pictures are submitted to the HW for rendering only when both fields
26020	  are decoded or current picture is a full frame.
26021
260222012-03-28 14:36:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26023
26024	* gst-libs/gst/vaapi/Makefile.am:
26025	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
26026	* gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
26027	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26028	  mpeg2: add new decoded picture buffer infrastructure.
26029	  Decoded pictures are now maintained into DPB, similarly to H.264.
26030	  The same mechanism could be re-used for VC-1 and MPEG-4:2 codecs.
26031
260322012-03-28 17:50:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26033
26034	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26035	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26036	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26037	  decoder: add first-field flag to picture.
26038	  Add first-field (FF) flag to GstVaapiPicture, thus not requiring is_first_field
26039	  member in each decoder. Rather, when a GstVaapiPicture is created, it is considered
26040	  as the first field. Any subsequent allocated field will become the second field.
26041
260422012-03-28 16:05:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26043
26044	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26045	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
26046	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26047	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26048	  decoder: allow pictures to be cloned for field decoding.
26049	  Add gst_vaapi_picture_new_field() function that clones a picture, while
26050	  preserving the parent picture surface. i.e. the surface proxy reference
26051	  count is increased and other fields copied as is. Besides, the picture
26052	  is reset into a "non-output" mode.
26053
260542012-03-28 16:07:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26055
26056	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26057	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26058	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26059	  decoder: rework picture field flags.
26060	  Add top-field-first (TFF) and interlaced flags to GstVaapiPicture so they
26061	  could be propagated to the surface proxy when it is pushed for rendering.
26062	  Besides, top and bottom fields are now expressed with picture structure flags
26063	  from GstVaapiSurfaceRenderFlags.
26064
260652012-03-28 14:28:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26066
26067	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26068	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26069	  decoder: add OUTPUT flag to pictures.
26070	  Allow pictures to be marked as output gst_vaapi_picture_output().
26071
260722012-03-28 14:24:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26073
26074	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26075	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26076	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26077	  decoder: fix semantics of SKIPPED pictures.
26078	  If GstVaapiPicture has flag SKIPPED set, this means gst_vaapi_picture_output()
26079	  will not push the underlying surface for rendering. Besides, VC-1 skipped P-frame
26080	  has nothing to do with rendering. This only means that the currently decoded
26081	  picture is just a copy of its reference picture.
26082
260832012-03-28 15:16:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26084
26085	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26086	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26087	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26088	* gst/vaapi/gstvaapipostproc.c:
26089	  vaapipostproc: get "interlaced" attribute from surface proxy.
26090	  Add new "interlaced" attribute to GstVaapiSurfaceProxy. Use this in
26091	  vaapipostproc so that to handles cases where bitstream is interlaced
26092	  but almost only frame pictures are generated. In this case, we should
26093	  not be alternating between top/bottom fields.
26094
260952012-03-26 14:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26096
26097	* README:
26098	* debian.upstream/control.in:
26099	* gst/vaapi/Makefile.am:
26100	* gst/vaapi/gstvaapi.c:
26101	* gst/vaapi/gstvaapipostproc.c:
26102	* gst/vaapi/gstvaapipostproc.h:
26103	  vaapipostproc: add new element for video postprocessing.
26104	  Add vaapipostproc element for video postprocessing. So far, only basic
26105	  bob deinterlacing is implemented. Interlaced mode is automatically
26106	  detected based on sink caps ("interlaced" field).
26107
261082012-03-26 12:01:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26109
26110	* docs/reference/libs/libs-sections.txt:
26111	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26112	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26113	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
26114	* gst/vaapi/gstvaapisink.c:
26115	  videobuffer: add surface render flags.
26116	  Allow rendering flags, as a combination of GstVaapiSurfaceRenderFlags,
26117	  to be set to the video buffer. In particular, this is mostly useful for
26118	  basic deinterlacing.
26119
261202012-03-23 17:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26121
26122	* gst-libs/gst/vaapi/gstvaapicompat.h:
26123	  compat: add compatibility glue with VA-API 0.34+ (WIP).
26124
261252012-03-23 17:11:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26126
26127	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26128	  h264: skip all Filler Data NALs.
26129
261302012-03-22 03:28:22 -0400  Wind Yuan <feng.yuan@intel.com>
26131
26132	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26133	  mpeg4: check for decoder status prior to decoding packet.
26134	  Make sure there is a VA surface free prior to decoding the current frame.
26135	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26136
261372012-03-15 04:58:04 -0400  Wind Yuan <feng.yuan@intel.com>
26138
26139	* gst/vaapi/gstvaapidecode.c:
26140	* gst/vaapi/gstvaapidecode.h:
26141	  decode: delay NEWSEGMENT event if vaapidecode element was not linked.
26142	  Rationale: playbin2 links all elements at run-time. Once vaapidecode
26143	  is created and a NEWSEGMENT event arrives, downstream element may not
26144	  be ready yet. So, delay this event until next element is chained in,
26145	  otherwise basesink could output "Received buffer without a new-segment.
26146	  Assuming timestamps start from 0".
26147	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26148
261492012-03-13 20:33:41 -0400  Wind Yuan <feng.yuan@intel.com>
26150
26151	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26152	  mpeg2: fix GOP timestamps when incorrect data is received.
26153	  Some streams have incorrect GOP timestamps, or nothing set at all.
26154	  i.e. GOP time is 00:00:00 for all GOPs. Try to recover in this case
26155	  from demuxer timestamps, which are monotonic.
26156	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26157
261582012-03-13 02:03:31 -0400  Wind Yuan <feng.yuan@intel.com>
26159
26160	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26161	  mpeg2: don't decode anything before the first sequence_header().
26162	  Skip all pictures prior to the first sequence_header(). Besides,
26163	  skip all picture_data() if there was no prior picture_header().
26164	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26165
261662012-02-07 15:57:14 +0100  Holger Kaelberer <holger.k@elberer.de>
26167
26168	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26169	  ffmpeg: add support for interlaced streams.
26170	  Evaluate interlaced stream properties.
26171	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26172
261732012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
26174
26175	* gst/vaapi/gstvaapidecode.c:
26176	  vaapidecode: propagate interlaced and TFF properties downstream.
26177	  Propagate "interlaced" caps downstream and set "tff" buffer flag
26178	  appropriately to output buffers for interlaced pictures.
26179	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26180
261812012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
26182
26183	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26184	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26185	  decoder: maintain caps for interlaced streams.
26186	  Extend GstVaapiDecoder base object to maintain caps with "interlaced"
26187	  property.
26188	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26189
261902012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
26191
26192	* docs/reference/libs/libs-sections.txt:
26193	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26194	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26195	  surfaceproxy: add TFF property.
26196	  Add TFF (top-field-first) property to GstVaapiSurfaceProxy.
26197	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26198
261992012-03-16 14:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26200
26201	* AUTHORS:
26202	  AUTHORS: update to match current authors.
26203
262042012-02-28 11:58:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26205
26206	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26207	  mpeg2: fix is_first_field calculation.
26208	  Reset is_first_field for frame pictures. Factor out locations where
26209	  the flag is updated.
26210
262112012-02-24 12:56:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26212
26213	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26214	  mpeg2: catch incorrect picture_structure from bitstreams.
26215	  Assume "frame" picture structure if the syntax element was zero or if
26216	  progressive_frame is set.
26217
262182012-02-24 12:53:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26219
26220	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26221	  mpeg2: fix slice_vertical_position calculation (again).
26222	  VA-API expects slice_vertical_position as the initial position from the
26223	  bitstream. i.e. the direct slice() information. VA drivers will be fixed
26224	  accordingly.
26225
262262012-03-02 15:03:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26227
26228	* gst/vaapi/gstvaapidecode.c:
26229	  Revert "vaapidecode: fix another pad template ref leak" (Holger Kaelberer)
26230	  This reverts commit 2f127d6af473afd647a2c88f75faafd1cd718437.
26231	  For gst_element_class_get_pad_template(), no unreferencing is necessary
26232	  according to the GStreamer documentation.
26233
262342012-03-02 13:41:16 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26235
26236	* configure.ac:
26237	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26238	  h264: fix slice_data_bit_offset calculation.
26239	  Unlike what VA-API documentation defines, the slice_data_bit_offset
26240	  represents the offset to the first macroblock in the slice data, minus
26241	  any emulation prevention bytes in the slice_header().
26242	  This fix copes with binary-only VA drivers that won't be fixed any
26243	  time soon. Besides, this aligns with the current FFmpeg behaviour
26244	  that was based on those proprietary drivers implementing the API
26245	  incorrectly.
26246
262472012-02-21 02:11:20 -0500  Wind Yuan <feng.yuan@intel.com>
26248
26249	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26250	  h264: skip all Access Unit (AU) NALs.
26251	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26252
262532012-02-29 03:08:46 -0500  Wind Yuan <feng.yuan@intel.com>
26254
26255	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26256	  h264: fix modification process of reference picture lists.
26257	  Construction of RefPicList0/1 could be off by one element.
26258	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26259
262602012-02-12 11:21:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26261
26262	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26263	  mpeg2: fix size calculation from sequence_extension().
26264	  Original values from sequence_header() are 12-bit and the remaining
26265	  2 most significant bits are coming from sequence_extension().
26266	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26267
262682012-02-23 16:39:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26269
26270	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26271	  mpeg2: fix slice_vertical_position calculation.
26272	  Make sure to adjust slice_vertical_position if picture structure
26273	  is a top or bottom field.
26274
262752012-02-23 16:23:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26276
26277	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26278	  decoder: add picture structure flags.
26279
262802012-02-23 14:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26281
26282	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26283	  mpeg2: fix decoding at end-of-sequence.
26284
262852012-02-23 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26286
26287	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26288	  mpeg2: fix slice_horizontal_position calculation.
26289
262902012-02-23 16:14:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26291
26292	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26293	  mpeg2: drop useless mb_y and mb_height members.
26294
262952012-02-23 11:19:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26296
26297	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26298	  mpeg2: fix decoding of multiple slices with same slice_vertical_position.
26299	  6.3.15 says that "some slices may have the same slice_vertical_position,
26300	  since slices may start and finish anywhere". So, we can't submit the current
26301	  picture to the HW right away since subsequent slices would be missing.
26302
263032012-02-15 14:08:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26304
26305	* gst-libs/gst/vaapi/gstvaapiimage.c:
26306	  image: fix source stride in picture copy.
26307
263082012-02-13 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26309
26310	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26311	  decoder: fix double buffer free with some VA drivers.
26312	  vaRenderPicture() implicitly disposes VA buffers. Some VA drivers would
26313	  push the VA buffer object into a list of free buffers to be re-used. However,
26314	  reference pictures (and data) that was kept would explicitly release the VA
26315	  buffer object later on, thus possibly destroying a valid (re-used) object.
26316	  Besides, some other VA drivers don't support correctly the vaRenderPicture()
26317	  semantics for VA buffers disposal and would leak memory if there is no explicit
26318	  vaDestroyBuffer(). The temporary workaround is to explcitily destroy VA buffers
26319	  right after vaRenderPicture(). All VA drivers need to be aligned.
26320
263212012-02-08 18:08:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26322
26323	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26324	  h264: complete any current picture decoder before SPS / PPS change.
26325	  This ensures the VA context is clear when the encoded resolution
26326	  changes. i.e. make sure older picture is decoded with the older
26327	  VA context before it changes.
26328
263292012-02-08 18:07:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26330
26331	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26332	  h264: create VA context earlier when SPS is parsed.
26333
263342012-02-08 17:57:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26335
26336	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26337	  h264: don't allocate too big data structures on stack.
26338
263392012-02-07 11:07:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26340
26341	* gst-libs/gst/vaapi/glibcompat.h:
26342	* gst-libs/gst/vaapi/gstvaapidisplay.c:
26343	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26344	  glib: map deprecated API to glib >= 2.32 equivalents.
26345	  GStaticMutex and GStaticRecMutex are now replaced with GMutex and
26346	  GRecMutex, which no longer require any prior call to g_thread_init().
26347
263482012-02-07 10:01:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26349
26350	* gst-libs/gst/vaapi/gstvaapiutils.h:
26351	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
26352	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
26353	  glib: fix includes.
26354
263552012-02-07 10:05:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26356
26357	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26358	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26359	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26360	* gst-libs/gst/vaapi/gstvaapidisplay.c:
26361	  cosmetics: fix warnings (drop unused variables).
26362
263632012-02-06 16:11:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26364
26365	* gst/vaapi/gstvaapidecode.c:
26366	  vaapidecode: fix another pad template ref leak.
26367
263682012-02-06 15:54:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26369
26370	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26371	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26372	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26373	  mpeg2: fix crash when there is no free surface to decode into.
26374
263752012-01-31 16:38:58 +0800  Zhao Halley <halley.zhao@intel.com>
26376
26377	* gst-libs/gst/vaapi/gstvaapidisplay.c:
26378	  display: skip profiles which have no entrypoints.
26379	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26380
263812012-02-05 18:28:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26382
26383	* gst/vaapi/gstvaapiupload.c:
26384	  vaapiupload: use g_object_unref() for GstVaapiImage.
26385
263862012-02-05 18:24:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26387
26388	* gst/vaapi/gstvaapidecode.c:
26389	* gst/vaapi/gstvaapidownload.c:
26390	* gst/vaapi/gstvaapisink.c:
26391	* gst/vaapi/gstvaapiupload.c:
26392	  plugins: fix pad template ref leaks.
26393
263942012-02-02 09:23:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26395
26396	* configure.ac:
26397	  Bump version for development.
26398
263992012-02-01 23:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26400
26401	* NEWS:
26402	* configure.ac:
26403	  0.3.4.
26404
264052012-02-01 23:32:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26406
26407	* README:
26408	  README: updates.
26409	  Mention codecparsers-based decoders, FFmpeg is now optional. Update
26410	  list of support HW.
26411
264122012-02-01 23:28:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26413
26414	* NEWS:
26415	  NEWS: updates.
26416
264172012-01-31 11:34:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26418
26419	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26420	  decoder: allocate proxy surface earlier.
26421	  This simplifies gst_vaapi_picture_output() to only update the presentation
26422	  timestamp and submit the proxy to the decoder for output.
26423
264242012-01-31 11:26:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26425
26426	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26427	  decoder: fix memory leak of VA objects on exit.
26428	  On sequence end, if the last decoded picture is not output for rendering,
26429	  then the proxy surface is not created. In this case, the original surface
26430	  must be released explicitly to the context.
26431
264322012-01-31 10:47:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26433
26434	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26435	  mpeg2: use GstAdapter to track input sequence.
26436	  This fixes possible memory leaks and improves performance by removing
26437	  some extra copies.
26438
264392012-01-30 18:25:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26440
26441	* configure.ac:
26442	* gst-libs/gst/vaapi/Makefile.am:
26443	* gst-libs/gst/vaapi/glibcompat.h:
26444	* gst-libs/gst/vaapi/sysdeps.h:
26445	  Add glib compatibility glue for older versions.
26446
264472012-01-30 18:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26448
26449	* gst-libs/gst/vaapi/Makefile.am:
26450	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26451	* gst-libs/gst/vaapi/gstvaapicontext.c:
26452	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26453	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26454	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26455	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26456	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26457	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26458	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26459	* gst-libs/gst/vaapi/gstvaapidisplay.c:
26460	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26461	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26462	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26463	* gst-libs/gst/vaapi/gstvaapiimage.c:
26464	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
26465	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
26466	* gst-libs/gst/vaapi/gstvaapiobject.c:
26467	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
26468	* gst-libs/gst/vaapi/gstvaapiprofile.c:
26469	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
26470	* gst-libs/gst/vaapi/gstvaapisurface.c:
26471	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26472	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26473	* gst-libs/gst/vaapi/gstvaapitexture.c:
26474	* gst-libs/gst/vaapi/gstvaapiutils.c:
26475	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26476	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
26477	* gst-libs/gst/vaapi/gstvaapivalue.c:
26478	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26479	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
26480	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
26481	* gst-libs/gst/vaapi/gstvaapivideopool.c:
26482	* gst-libs/gst/vaapi/gstvaapivideosink.c:
26483	* gst-libs/gst/vaapi/gstvaapiwindow.c:
26484	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26485	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26486	* gst-libs/gst/vaapi/sysdeps.h:
26487	  Add header for system-dependent definitions.
26488
264892012-01-30 10:15:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26490
26491	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26492	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26493	* gst-libs/gst/vaapi/gstvaapiutils.c:
26494	* gst-libs/gst/vaapi/gstvaapiutils.h:
26495	  decoder: optimize slice data buffers initialization.
26496	  VA drivers may have a faster means to transfer user buffers to GPU
26497	  buffers than using memcpy(). In particular, on Intel Gen graphics, we
26498	  can use pwrite(). This provides for faster upload of bitstream and can
26499	  help higher bitrates.
26500	  vaapi_create_buffer() helper function was also updated to allow for
26501	  un-mapped buffers and pre-initialized data for buffers.
26502
265032012-01-27 17:28:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26504
26505	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26506	  h264: simplify RefPicList reconstruction.
26507
265082012-01-27 16:08:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26509
26510	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26511	  h264: flush DPB when the end of the sequence is reached.
26512
265132012-01-24 15:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26514
26515	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26516	  h264: handle Decoded Picture Buffer (DPB).
26517
265182012-01-24 09:20:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26519
26520	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26521	  h264: fix pred_weight_table() reconstruction.
26522	  Only the explicit pred_weight_table(), possibly with the inferred default
26523	  values, shall be required. e.g. don't fill in the table if weighted_pred_flag
26524	  is not set for P/SP slices.
26525
265262012-01-23 15:03:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26527
26528	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26529	  h264: execute reference picture marking process (MMCO).
26530
265312012-01-23 15:20:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26532
26533	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26534	  h264: fix presentation timestamps.
26535
265362012-01-18 13:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26537
26538	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26539	  h264: execute reference picture marking process (sliding window).
26540
265412012-01-17 10:42:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26542
26543	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26544	  h264: handle avcC format for decoding buffers.
26545
265462011-11-25 14:37:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26547
26548	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26549	  h264: handle codec-data.
26550	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26551
265522011-08-12 17:43:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26553
26554	* gst-libs/gst/vaapi/Makefile.am:
26555	* gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26556	* gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
26557	* gst/vaapi/gstvaapidecode.c:
26558	* tests/test-decode.c:
26559	  Add initial H.264 decoder.
26560
265612012-01-26 15:28:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26562
26563	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26564	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26565	  decoder: retain proxy surface until the GstVaapiPicture is destroyed.
26566	  Keep a valid reference to the proxy in GstVaapiPicture so that frames
26567	  marked as "used for reference" could be kept during the lifetime of the
26568	  picture. i.e. don't release them too soon as they could be re-used right
26569	  away.
26570
265712012-01-26 15:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26572
26573	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26574	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26575	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26576	  decoder: properly reference count pictures.
26577	  This fixes cases where a GstVaapiPicture would be destroyed whereas
26578	  there is still a valid instance of it in either prev, current or
26579	  next picture.
26580
265812012-01-26 14:54:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26582
26583	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26584	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26585	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26586	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26587	  decoder: simplify output of decoded frames.
26588	  Drop obsolete gst_vaapi_decoder_push_surface() that was no longer used.
26589	  Change gst_vaapi_decoder_push_surface_proxy() semantics to assume PTS
26590	  is already set correctly and reference count increased, if necessary.
26591
265922012-01-26 09:48:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26593
26594	* gst-libs/gst/vaapi/Makefile.am:
26595	* gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26596	* gst-libs/gst/vaapi/gstvaapicodec_objects.h:
26597	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26598	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26599	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26600	* gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26601	* gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26602	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26603	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26604	  decoder: rework the internal VA objects API.
26605	  The new API simplifies a lot reference counting and makes it more
26606	  flexible for future additions/changes. The GstVaapiCodecInfo is
26607	  also gone. Rather, new helper macros are provided to allocate
26608	  picture, slice and quantization matrix parameter buffers.
26609
266102012-01-24 10:21:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26611
26612	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26613	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26614	  decoder: allow slices to be attached to pictures later.
26615
266162011-11-21 18:39:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26617
26618	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26619	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26620	  decoder: add ref_count to GstVaapiPicture.
26621
266222012-01-23 11:48:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26623
26624	* gst/vaapi/gstvaapisink.c:
26625	  vaapisink: cap window size to the maximum display size.
26626
266272012-01-18 10:23:41 +0100  Zhao Halley <halley.zhao@intel.com>
26628
26629	* gst-libs/gst/vaapi/gstvaapiprofile.c:
26630	* gst-libs/gst/vaapi/gstvaapiworkarounds.h:
26631	  profile: match video/x-h263 as H.263 Baseline profile.
26632	  HACK: qtdemux does not report profiles for H.263. So, assume plain
26633	  "video/x-h263" is H.263 Baseline profile.
26634	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26635
266362012-01-18 10:22:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26637
26638	* gst-libs/gst/vaapi/gstvaapidisplay.c:
26639	* gst-libs/gst/vaapi/gstvaapiworkarounds.h:
26640	  display: report H.263 Baseline profile.
26641	  HACK: expose GST_VAAPI_PROFILE_H263_BASELINE for decoding if MPEG-4:2 Simple
26642	  profile (VAProfileMPEG4Simple) is supported.
26643
266442012-01-24 10:06:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26645
26646	* gst-libs/gst/vaapi/Makefile.am:
26647	* gst-libs/gst/vaapi/gstvaapiworkarounds.h:
26648	  Add template for workarounds.
26649
266502012-01-18 10:47:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26651
26652	* tests/test-decode.c:
26653	  tests: error out if FFmpeg|codecparsers are not supported.
26654
266552012-01-18 10:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26656
26657	* docs/reference/libs/libs-sections.txt:
26658	* gst-libs/gst/vaapi/gstvaapisurface.h:
26659	* gst-libs/gst/vaapi/gstvaapisurface_priv.h:
26660	  surface: don't expose gst_vaapi_surface_get_parent_context().
26661	  gst_vaapi_surface_get_parent_context() was not meant to be exposed globally.
26662	  It's just an internal helper function. However, it's still possible to get
26663	  the parent context through the "parent-context" property.
26664
266652012-01-16 14:19:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26666
26667	* tests/Makefile.am:
26668	* tests/test-subpicture.c:
26669	  tests: fix build without FFmpeg.
26670
266712012-01-16 14:09:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26672
26673	* configure.ac:
26674	  Bump version for development.
26675
266762012-01-16 11:05:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26677
26678	* NEWS:
26679	* configure.ac:
26680	  0.3.3.
26681
266822012-01-16 11:03:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26683
26684	* README:
26685	* debian.upstream/copyright:
26686	* gst-libs/gst/vaapi/gstvaapicontext.c:
26687	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26688	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26689	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26690	* gst-libs/gst/vaapi/gstvaapidisplay.c:
26691	* gst-libs/gst/vaapi/gstvaapidisplay.h:
26692	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26693	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26694	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26695	* gst-libs/gst/vaapi/gstvaapiimage.c:
26696	* gst-libs/gst/vaapi/gstvaapiimage.h:
26697	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26698	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26699	* gst-libs/gst/vaapi/gstvaapiutils.c:
26700	* gst-libs/gst/vaapi/gstvaapiutils.h:
26701	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26702	* gst-libs/gst/vaapi/gstvaapiwindow.c:
26703	* gst/vaapi/gstvaapi.c:
26704	* gst/vaapi/gstvaapidecode.c:
26705	* gst/vaapi/gstvaapidownload.c:
26706	* gst/vaapi/gstvaapidownload.h:
26707	* gst/vaapi/gstvaapipluginutil.c:
26708	* gst/vaapi/gstvaapipluginutil.h:
26709	* gst/vaapi/gstvaapisink.c:
26710	* gst/vaapi/gstvaapiupload.c:
26711	* gst/vaapi/gstvaapiupload.h:
26712	* tests/test-decode.c:
26713	  legal: fix year for some copyright notices.
26714
267152012-01-16 10:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26716
26717	* gst-libs/gst/vaapi/gstvaapicontext.c:
26718	* gst-libs/gst/vaapi/gstvaapicontext.h:
26719	* gst-libs/gst/vaapi/gstvaapidecoder.h:
26720	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26721	* gst-libs/gst/vaapi/gstvaapidisplay.c:
26722	* gst-libs/gst/vaapi/gstvaapidisplay.h:
26723	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26724	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26725	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26726	* gst-libs/gst/vaapi/gstvaapiimage.c:
26727	* gst-libs/gst/vaapi/gstvaapiimage.h:
26728	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
26729	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
26730	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
26731	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
26732	* gst-libs/gst/vaapi/gstvaapisurface.c:
26733	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26734	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26735	* gst-libs/gst/vaapi/gstvaapiutils.c:
26736	* gst-libs/gst/vaapi/gstvaapiutils.h:
26737	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26738	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
26739	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26740	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26741	* gst-libs/gst/vaapi/gstvaapiwindow.c:
26742	* gst/vaapi/gstvaapidownload.h:
26743	* gst/vaapi/gstvaapisink.h:
26744	* gst/vaapi/gstvaapiupload.h:
26745	* tests/test-decode.c:
26746	  legal: add Intel copyright on modified files.
26747
267482012-01-16 10:41:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26749
26750	* gst-libs/gst/vaapi/gstvaapi_priv.h:
26751	* gst-libs/gst/vaapi/gstvaapicompat.h:
26752	* gst-libs/gst/vaapi/gstvaapicontext.c:
26753	* gst-libs/gst/vaapi/gstvaapicontext.h:
26754	* gst-libs/gst/vaapi/gstvaapidebug.h:
26755	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26756	* gst-libs/gst/vaapi/gstvaapidecoder.h:
26757	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26758	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26759	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26760	* gst-libs/gst/vaapi/gstvaapidisplay.c:
26761	* gst-libs/gst/vaapi/gstvaapidisplay.h:
26762	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26763	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26764	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
26765	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26766	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26767	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26768	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26769	* gst-libs/gst/vaapi/gstvaapiimage.c:
26770	* gst-libs/gst/vaapi/gstvaapiimage.h:
26771	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
26772	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
26773	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
26774	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
26775	* gst-libs/gst/vaapi/gstvaapiobject.c:
26776	* gst-libs/gst/vaapi/gstvaapiobject.h:
26777	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
26778	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
26779	* gst-libs/gst/vaapi/gstvaapiparamspecs.h:
26780	* gst-libs/gst/vaapi/gstvaapiprofile.c:
26781	* gst-libs/gst/vaapi/gstvaapiprofile.h:
26782	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
26783	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
26784	* gst-libs/gst/vaapi/gstvaapisurface.c:
26785	* gst-libs/gst/vaapi/gstvaapisurface.h:
26786	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26787	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26788	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26789	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26790	* gst-libs/gst/vaapi/gstvaapitexture.c:
26791	* gst-libs/gst/vaapi/gstvaapitexture.h:
26792	* gst-libs/gst/vaapi/gstvaapitypes.h:
26793	* gst-libs/gst/vaapi/gstvaapiutils.c:
26794	* gst-libs/gst/vaapi/gstvaapiutils.h:
26795	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26796	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
26797	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
26798	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
26799	* gst-libs/gst/vaapi/gstvaapivalue.c:
26800	* gst-libs/gst/vaapi/gstvaapivalue.h:
26801	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26802	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26803	* gst-libs/gst/vaapi/gstvaapivideopool.c:
26804	* gst-libs/gst/vaapi/gstvaapivideopool.h:
26805	* gst-libs/gst/vaapi/gstvaapivideosink.c:
26806	* gst-libs/gst/vaapi/gstvaapivideosink.h:
26807	* gst-libs/gst/vaapi/gstvaapiwindow.c:
26808	* gst-libs/gst/vaapi/gstvaapiwindow.h:
26809	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26810	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
26811	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26812	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
26813	* gst/vaapi/gstvaapidecode.c:
26814	* gst/vaapi/gstvaapidecode.h:
26815	* gst/vaapi/gstvaapidownload.c:
26816	* gst/vaapi/gstvaapidownload.h:
26817	* gst/vaapi/gstvaapisink.c:
26818	* gst/vaapi/gstvaapisink.h:
26819	* gst/vaapi/gstvaapiupload.c:
26820	* gst/vaapi/gstvaapiupload.h:
26821	* tests/image.c:
26822	* tests/image.h:
26823	* tests/test-decode.c:
26824	* tests/test-decode.h:
26825	* tests/test-display.c:
26826	* tests/test-h264.c:
26827	* tests/test-h264.h:
26828	* tests/test-mpeg2.c:
26829	* tests/test-mpeg2.h:
26830	* tests/test-surfaces.c:
26831	* tests/test-textures.c:
26832	* tests/test-vc1.c:
26833	* tests/test-vc1.h:
26834	* tests/test-windows.c:
26835	  legal: fix copyright notices to include "Copyright" term.
26836
268372011-12-09 16:44:03 +0800  Zhao Halley <halley.zhao@intel.com>
26838
26839	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26840	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
26841	  mpeg4: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
26842	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26843
268442011-12-09 16:28:11 +0800  Zhao Halley <halley.zhao@intel.com>
26845
26846	* gst-libs/gst/vaapi/Makefile.am:
26847	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26848	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
26849	* gst/vaapi/gstvaapidecode.c:
26850	  Add initial MPEG-4 decoder.
26851	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26852
268532011-11-18 15:41:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26854
26855	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26856	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
26857	  vc1: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
26858	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26859
268602011-10-07 11:50:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26861
26862	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26863	  vc1: fix codec-data decoding for WMV3 format.
26864
268652011-10-07 11:12:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26866
26867	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26868	  vc1: fix presentation timestamps.
26869
268702011-10-06 15:59:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26871
26872	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26873	  vc1: fix MV mode packing.
26874
268752011-10-05 16:41:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26876
26877	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26878	  vc1: handle codec-data.
26879
268802011-10-05 15:56:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26881
26882	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26883	  vc1: handle encapsulated bitstreams.
26884
268852011-10-04 17:51:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26886
26887	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26888	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26889	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26890	  vc1: fix bitplanes decoding.
26891
268922011-10-04 14:15:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26893
26894	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26895	  vc1: fix BFRACTION reconstruction.
26896
268972011-09-30 17:16:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26898
26899	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26900	  vc1: fix framerate calculation.
26901
269022011-09-30 13:40:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26903
26904	* gst-libs/gst/vaapi/Makefile.am:
26905	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26906	* gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
26907	* gst/vaapi/gstvaapidecode.c:
26908	* tests/test-decode.c:
26909	  Add initial VC-1 decoder.
26910
269112012-01-09 17:37:34 +0100  Zhao Halley <halley.zhao@intel.com>
26912
26913	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26914	  mpeg2: fix first field detection.
26915	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26916
269172012-01-06 16:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26918
26919	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26920	  mpeg2: fix quantisation matrix construction.
26921
269222011-11-18 15:06:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26923
26924	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26925	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
26926	  mpeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).
26927	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26928
269292011-09-14 18:11:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26930
26931	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26932	  mpeg2: fix packets spanning over two buffers.
26933
269342011-09-12 18:20:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26935
26936	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26937	  mpeg2: ignore system start codes (PES headers).
26938
269392011-09-12 18:02:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26940
26941	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26942	  mpeg2: handle closed_gop.
26943
269442011-08-05 11:55:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26945
26946	* gst-libs/gst/vaapi/Makefile.am:
26947	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26948	* gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
26949	* gst/vaapi/gstvaapidecode.c:
26950	* tests/test-decode.c:
26951	  Add initial MPEG-2 decoder.
26952
269532011-08-12 10:21:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26954
26955	* configure.ac:
26956	* gst-libs/gst/vaapi/Makefile.am:
26957	* gst/vaapi/gstvaapidecode.c:
26958	* tests/test-decode.c:
26959	  Allow conditional build of GStreamer/FFmpeg bitstream parsers.
26960
269612011-08-05 11:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26962
26963	* gst-libs/gst/vaapi/gstvaapidecoder.c:
26964	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26965	  Add VA decoder helpers.
26966
269672011-08-05 11:52:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26968
26969	* gst-libs/gst/vaapi/gstvaapidecoder.h:
26970	  decoder: add new error codes.
26971	  GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: for unsupported profile
26972	  GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: for unsupported chroma format
26973
269742011-09-12 13:00:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26975
26976	* gst-libs/gst/vaapi/Makefile.am:
26977	* gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
26978	* gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
26979	  Add timestamp buffer store helper utils.
26980
269812011-08-04 17:29:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26982
26983	* gst-libs/gst/vaapi/gstvaapiutils.c:
26984	* gst-libs/gst/vaapi/gstvaapiutils.h:
26985	  Add VA buffer helpers.
26986
269872012-01-13 15:03:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26988
26989	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26990	  utils: slight improvements to gl_bind_texture().
26991
269922012-01-13 14:13:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26993
26994	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26995	  utils: pretty-print output of gl_get_error_string().
26996
269972012-01-13 14:03:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26998
26999	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27000	  utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
27001
270022012-01-13 12:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27003
27004	* gst-libs/gst/vaapi/gstvaapiutils.c:
27005	  utils: simplify string of VAProfile/VAEntrypoint.
27006
270072012-01-13 11:46:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27008
27009	* gst-libs/gst/vaapi/gstvaapidisplay.c:
27010	* gst-libs/gst/vaapi/gstvaapiutils.c:
27011	* gst-libs/gst/vaapi/gstvaapiutils.h:
27012	  utils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.
27013
270142012-01-12 17:18:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27015
27016	* NEWS:
27017	  NEWS: updates.
27018
270192012-01-12 15:34:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27020
27021	* tests/test-decode.c:
27022	  tests: check for shared VA displays (display cache).
27023
270242012-01-12 15:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27025
27026	* gst-libs/gst/vaapi/gstvaapidisplay.c:
27027	  display: always free VA display cache if it is empty.
27028
270292012-01-12 15:03:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27030
27031	* gst-libs/gst/vaapi/gstvaapidisplay.c:
27032	* gst-libs/gst/vaapi/gstvaapidisplay.h:
27033	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27034	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
27035	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27036	  display: use VA display cache for X11 and GLX winsys.
27037
270382012-01-12 12:46:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27039
27040	* gst-libs/gst/vaapi/Makefile.am:
27041	* gst-libs/gst/vaapi/gstvaapidisplay.h:
27042	* gst-libs/gst/vaapi/gstvaapidisplaycache.c:
27043	* gst-libs/gst/vaapi/gstvaapidisplaycache.h:
27044	  display: implement a VA display cache.
27045
270462012-01-11 14:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27047
27048	* gst/vaapi/gstvaapipluginutil.c:
27049	  vaapiplugin: fix gst_vaapi_ensure_display() to use system defaults.
27050	  This ensures the display name provided to gst_vaapi_display_*_new()
27051	  maps to the system defaults, instead of forcing "" that could be different
27052	  from the current DISPLAY name.
27053
270542011-08-26 15:44:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27055
27056	* gst/vaapi/gstvaapiupload.c:
27057	  vaapiupload: only set caps on newly created buffers.
27058	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27059
270602012-01-11 14:11:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27061
27062	* gst/vaapi/gstvaapisink.c:
27063	  vaapisink: ensure VA display in GstBaseSink::start() hook.
27064	  This ensures a VA display is ready by the time upstream elements request
27065	  for it.
27066
270672011-08-26 15:44:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27068
27069	* gst/vaapi/gstvaapisink.c:
27070	  vaapisink: don't leak GL texture.
27071	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27072
270732012-01-09 16:51:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27074
27075	* gst/vaapi/gstvaapisink.c:
27076	  vaapisink: fix calculation of render region.
27077
270782012-01-09 11:23:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27079
27080	* gst/vaapi/gstvaapisink.c:
27081	  vaapisink: automatically fit video to window.
27082
270832012-01-09 10:37:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27084
27085	* gst/vaapi/gstvaapisink.c:
27086	  vaapisink: implement GstXOverlay::set_render_rectangle().
27087
270882012-01-09 11:04:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27089
27090	* gst-libs/gst/vaapi/gstvaapiwindow.c:
27091	  window: always check geometry when the window is mapped.
27092
270932012-01-06 17:51:59 +0100  Zhao Halley <halley.zhao@intel.com>
27094
27095	* gst-libs/gst/vaapi/gstvaapiutils.c:
27096	  Add missing profiles from VA-API 0.32.0.
27097	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27098
270992012-01-06 16:48:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27100
27101	* .gitignore:
27102	  .gitignore: add test-subpicture.
27103
271042012-01-06 11:23:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27105
27106	* configure.ac:
27107	  Bump version for development.
27108
271092012-01-06 11:20:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27110
27111	* NEWS:
27112	* configure.ac:
27113	  0.3.2.
27114
271152012-01-06 11:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27116
27117	* tests/Makefile.am:
27118	  tests: fix make dist (ship with test-subpicture-data.h).
27119
271202012-01-05 17:35:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27121
27122	* NEWS:
27123	  NEWS: updates.
27124
271252012-01-05 17:09:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27126
27127	* gst-libs/gst/vaapi/gstvaapidecoder.c:
27128	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27129	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27130	  decoder: fix possible leak of VA surfaces.
27131	  Under some circumstances, we could have leaked a surface, thus not
27132	  releasing it to the pool of available surfaces in the VA context.
27133	  The strategy is now to use a proxy earlier and automatically ref/unref
27134	  whenever necessary. In particular, during the lifetime needed for FFmpeg.
27135
271362012-01-05 16:59:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27137
27138	* docs/reference/libs/libs-sections.txt:
27139	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27140	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27141	  surfaceproxy: add helper to retrieve the VA surface ID.
27142
271432012-01-05 16:44:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27144
27145	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27146	  surfaceproxy: simplify destruction.
27147	  Also make sure to always make sure to release the surface back to the
27148	  pool of surfaces in the associated VA context, if any.
27149
271502012-01-05 16:26:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27151
27152	* gst/vaapi/gstvaapidecode.c:
27153	  vaapidecode: fix deinitialization order.
27154
271552012-01-05 14:50:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27156
27157	* gst-libs/gst/vaapi/gstvaapicontext.c:
27158	  context: avoid self reference loops with surfaces.
27159
271602012-01-05 11:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27161
27162	* debian.upstream/control.in:
27163	  debian: update control.in description for new plugins.
27164
271652012-01-05 11:01:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27166
27167	* gst/vaapi/gstvaapiupload.c:
27168	  vaapiupload: use new gst_vaapi_append_surface_caps() helper.
27169	  This also fixes extra structures, beyond the one at index 0, to hold
27170	  the right additional values.
27171
271722012-01-05 10:55:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27173
27174	* gst/vaapi/gstvaapiupload.c:
27175	  vaapiupload: fix sink (YUV) caps to not report type and opengl fields.
27176
271772012-01-05 10:50:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27178
27179	* README:
27180	* docs/reference/plugins/plugins-docs.xml.in:
27181	* docs/reference/plugins/plugins-sections.txt:
27182	* docs/reference/plugins/plugins.types:
27183	* gst/vaapi/Makefile.am:
27184	* gst/vaapi/gstvaapi.c:
27185	* gst/vaapi/gstvaapidownload.c:
27186	* gst/vaapi/gstvaapidownload.h:
27187	  vaapidownload: add new plugin to download pixels from VA surfaces.
27188
271892012-01-05 11:00:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27190
27191	* gst/vaapi/gstvaapipluginutil.c:
27192	* gst/vaapi/gstvaapipluginutil.h:
27193	  vaapipluingutils: add helper to append surface caps to YUV caps.
27194
271952012-01-05 10:29:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27196
27197	* docs/reference/libs/libs-sections.txt:
27198	* gst-libs/gst/vaapi/gstvaapiimage.c:
27199	* gst-libs/gst/vaapi/gstvaapiimage.h:
27200	  image: add helpers to extract pixels to user buffers.
27201
272022012-01-04 11:34:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27203
27204	* gst-libs/gst/vaapi/gstvaapiimage.c:
27205	  image: simplify initialization of raw images from video buffers.
27206
272072012-01-04 11:29:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27208
27209	* gst-libs/gst/vaapi/gstvaapiimage.c:
27210	  image: fix update from NV12 buffers.
27211
272122012-01-03 18:16:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27213
27214	* gst/vaapi/gstvaapiupload.c:
27215	  vaapiupload: fix memory leak in _init() function.
27216
272172012-01-03 14:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27218
27219	* NEWS:
27220	* README:
27221	* debian.upstream/control.in:
27222	* docs/reference/plugins/plugins-docs.xml.in:
27223	* docs/reference/plugins/plugins-sections.txt:
27224	* docs/reference/plugins/plugins.types:
27225	* gst/vaapi/Makefile.am:
27226	* gst/vaapi/gstvaapi.c:
27227	* gst/vaapi/gstvaapiupload.c:
27228	* gst/vaapi/gstvaapiupload.h:
27229	  Rename vaapiconvert element to vaapiupload.
27230
272312012-01-03 13:54:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27232
27233	* configure.ac:
27234	  Bump version for development.
27235
272362012-01-03 13:42:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27237
27238	* NEWS:
27239	* configure.ac:
27240	  0.3.1.
27241
272422011-12-14 15:22:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27243
27244	* NEWS:
27245	  NEWS: updates.
27246
272472011-12-14 14:40:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27248
27249	* gst-libs/gst/vaapi/gstvaapisurface.c:
27250	* gst-libs/gst/vaapi/gstvaapisurface.h:
27251	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27252	* gst/vaapi/gstvaapisink.c:
27253	  surface: apply composition to the parent context, if requested.
27254
272552011-12-14 14:35:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27256
27257	* docs/reference/libs/libs-sections.txt:
27258	* gst-libs/gst/vaapi/gstvaapicontext.c:
27259	* gst-libs/gst/vaapi/gstvaapicontext.h:
27260	  context: make it possible to apply composition globally.
27261
272622011-12-14 14:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27263
27264	* gst-libs/gst/vaapi/gstvaapisurface.c:
27265	  surface: fix associate subpicture to not report deassociation errors.
27266
272672011-12-14 13:46:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27268
27269	* gst-libs/gst/vaapi/gstvaapisurface.c:
27270	  surface: fix typo in debug message.
27271
272722011-12-14 13:16:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27273
27274	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
27275	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
27276	* gst-libs/gst/vaapi/gstvaapisurface.c:
27277	  subpicture: add helper to create subpicture from GstVideoOverlayRectangle.
27278
272792011-12-13 16:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27280
27281	* docs/reference/libs/libs-sections.txt:
27282	* gst-libs/gst/vaapi/Makefile.am:
27283	* gst-libs/gst/vaapi/gstvaapicontext.c:
27284	* gst-libs/gst/vaapi/gstvaapisurface.c:
27285	* gst-libs/gst/vaapi/gstvaapisurface.h:
27286	* gst-libs/gst/vaapi/gstvaapisurface_priv.h:
27287	  surface: record parent context.
27288
272892011-12-13 15:59:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27290
27291	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27292	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27293	* gst/vaapi/gstvaapidecode.c:
27294	* gst/vaapi/gstvaapisink.c:
27295	  Fix warnings.
27296
272972011-12-13 15:51:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27298
27299	* gst-libs/gst/vaapi/gstvaapisurface.c:
27300	* gst-libs/gst/vaapi/gstvaapisurface.h:
27301	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27302	* gst/vaapi/gstvaapisink.c:
27303	  Rename gst_vaapi_surface_update_composition() to gst_vaapi_surface_set_subpictures_from_composition().
27304
273052011-12-13 13:40:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27306
27307	* configure.ac:
27308	  configure: check for GstVideoOverlayComposition.
27309
273102011-12-12 18:42:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27311
27312	* NEWS:
27313	  NEWS: updates.
27314
273152011-11-25 15:00:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27316
27317	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27318	  converter: add support for GstVideoOverlayComposition planes.
27319	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27320
273212011-11-23 16:45:46 -0300  Thibault Saunier <thibault.saunier@collabora.com>
27322
27323	* gst/vaapi/gstvaapisink.c:
27324	  vaapisink: handle GstVideoOverlayComposition planes.
27325	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27326
273272011-12-12 18:27:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27328
27329	* gst-libs/gst/vaapi/gstvaapisurface.c:
27330	  surface: use unscaled overlay rectangle for blending.
27331
273322011-12-12 18:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27333
27334	* gst-libs/gst/vaapi/gstvaapisurface.c:
27335	  surface: fix VA image leak when an error occurred.
27336
273372011-11-25 14:59:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27338
27339	* gst-libs/gst/vaapi/gstvaapisurface.c:
27340	* gst-libs/gst/vaapi/gstvaapisurface.h:
27341	  surface: add helper to handle GstVideoOverlayComposition.
27342	  This helper resets the subpictures to reflect the current composition
27343	  layers provided with the buffers.
27344	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27345
273462011-12-12 18:13:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27347
27348	* docs/reference/libs/libs-sections.txt:
27349	* gst-libs/gst/vaapi/Makefile.am:
27350	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
27351	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
27352	* gst/vaapi/gstvaapiconvert.c:
27353	  image: add gst_vaapi_image_format_from_video() helper.
27354
273552011-12-12 16:34:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27356
27357	* gst-libs/gst/vaapi/gstvaapiimage.c:
27358	* gst-libs/gst/vaapi/gstvaapiimage.h:
27359	  image: allow updates from GstVaapiImageRaw.
27360
273612011-12-12 14:34:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27362
27363	* gst-libs/gst/vaapi/gstvaapiimage.c:
27364	* gst-libs/gst/vaapi/gstvaapiimage.h:
27365	* gst/vaapi/gstvaapiconvert.c:
27366	* tests/test-subpicture.c:
27367	  image: allow partial updates.
27368
273692011-12-12 15:31:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27370
27371	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
27372	  subpicture: fix doc for gst_vaapi_subpicture_set_image().
27373
273742011-12-12 13:39:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27375
27376	* gst-libs/gst/vaapi/gstvaapidisplay.c:
27377	  display: fix has_image_format() to check against subpicture formats.
27378
273792011-10-17 18:43:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27380
27381	* tests/test-subpicture.c:
27382	  tests: fix subpicture test.
27383
273842011-10-14 13:00:12 -0300  Thibault Saunier <thibault.saunier@collabora.com>
27385
27386	* tests/Makefile.am:
27387	* tests/test-subpicture-data.c:
27388	* tests/test-subpicture-data.h:
27389	* tests/test-subpicture.c:
27390	  tests: add test for subpictures.
27391	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27392
273932011-11-25 12:28:04 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27394
27395	* gst/vaapi/gstvaapiconvert.c:
27396	* gst/vaapi/gstvaapidecode.c:
27397	  Add missing video context queries.
27398	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27399
274002011-12-12 13:22:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27401
27402	* configure.ac:
27403	  Bump version for development.
27404
274052011-12-12 10:04:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27406
27407	* gst-libs/gst/video/Makefile.am:
27408	* gst-libs/gst/video/gstbasevideocodec.c:
27409	* gst-libs/gst/video/gstbasevideocodec.h:
27410	* gst-libs/gst/video/gstbasevideodecoder.c:
27411	* gst-libs/gst/video/gstbasevideodecoder.h:
27412	* gst-libs/gst/video/gstbasevideoutils.c:
27413	* gst-libs/gst/video/gstbasevideoutils.h:
27414	  Drop unused copy of GstBaseVideoDecoder.
27415
274162011-12-09 11:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27417
27418	* NEWS:
27419	* configure.ac:
27420	  0.3.0.
27421
274222011-12-09 11:38:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27423
27424	* README:
27425	  README: update dependencies.
27426
274272011-12-09 11:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27428
27429	* NEWS:
27430	  NEWS: updates.
27431
274322011-12-09 11:20:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27433
27434	* configure.ac:
27435	  configure: check for GstBaseSink 'query' vfunc.
27436
274372011-12-09 10:45:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27438
27439	* gst/vaapi/Makefile.am:
27440	  vaapiplugin: include local build dir to CFLAGS for generated files.
27441
274422011-12-09 10:44:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27443
27444	* autogen.sh:
27445	  autogen: don't configure if NO_CONFIGURE variable is set.
27446
274472011-12-08 11:54:59 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27448
27449	* gst/vaapi/gstvaapidecode.c:
27450	* gst/vaapi/gstvaapidecode.h:
27451	  vaapidecode: return sink caps template if decoder is in NULL state.
27452	  Otherwise, the decoder would always create its own X display instead
27453	  of probing it from the downstream element, which is not reliable.
27454	  e.g. DISPLAY is not :0 or when running on Wayland.
27455	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27456
274572011-12-08 15:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27458
27459	* gst/vaapi/gstvaapiconvert.c:
27460	* gst/vaapi/gstvaapidecode.c:
27461	  vaapiplugin: properly set surface type to "vaapi" in caps.
27462
274632011-12-08 15:16:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27464
27465	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27466	  decoder: drop unused headers.
27467
274682011-11-04 19:47:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27469
27470	* gst/vaapi/gstvaapiconvert.c:
27471	* gst/vaapi/gstvaapidecode.c:
27472	  vaapiplugin: properly set opengl support in caps.
27473	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27474
274752011-11-04 20:07:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27476
27477	* gst/vaapi/gstvaapiconvert.c:
27478	* gst/vaapi/gstvaapidecode.c:
27479	  vaapiplugin: allocate GLX buffers when supported.
27480	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27481
274822011-11-04 19:47:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27483
27484	* gst-libs/gst/vaapi/Makefile.am:
27485	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27486	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
27487	* gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
27488	* gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
27489	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27490	* gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
27491	  videobuffer: add GLX buffer support.
27492	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27493
274942011-10-06 16:06:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27495
27496	* gst-libs/gst/vaapi/Makefile.am:
27497	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27498	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27499	  Port to GstSurfaceBuffer interface.
27500	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27501
275022011-10-06 16:04:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27503
27504	* gst/vaapi/gstvaapidecode.c:
27505	* gst/vaapi/gstvaapisink.c:
27506	  Don't use downstream buffer allocation.
27507	  With the new video/x-surface abstraction, we can't rely on having a VA
27508	  specific sink downstream. Also, there was no particular reason to do that.
27509	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27510
275112011-11-04 17:16:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27512
27513	* gst-libs/gst/vaapi/Makefile.am:
27514	* gst-libs/gst/vaapi/gstvaapicontext.c:
27515	* gst-libs/gst/vaapi/gstvaapisurface.h:
27516	* gst/vaapi/gstvaapiconvert.c:
27517	* gst/vaapi/gstvaapisink.c:
27518	* tests/Makefile.am:
27519	* tests/test-surfaces.c:
27520	  Change caps to use new video/x-surface generic type.
27521	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27522
275232011-11-04 16:50:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27524
27525	* configure.ac:
27526	* gst-libs/gst/vaapi/Makefile.am:
27527	* gst-libs/gst/vaapi/gstvaapiutils_gst.c:
27528	* gst/vaapi/Makefile.am:
27529	* gst/vaapi/gstvaapiconvert.c:
27530	* gst/vaapi/gstvaapidecode.c:
27531	* gst/vaapi/gstvaapipluginutil.c:
27532	* gst/vaapi/gstvaapipluginutil.h:
27533	* gst/vaapi/gstvaapisink.c:
27534	* gst/vaapi/gstvaapisink.h:
27535	  Port to GstVideoContext interface.
27536	  This new interface allows for upstream and downstream display sharing
27537	  that works in both static and dynamic pipelines.
27538	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27539
275402011-12-08 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27541
27542	* gst/vaapi/gstvaapisink.c:
27543	  vaapisink: use GST_ERROR to print error messages.
27544
275452011-12-08 13:30:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27546
27547	* gst/vaapi/Makefile.am:
27548	  vaapiplugin: link against VA/GLX when enabled.
27549
275502011-12-07 19:09:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27551
27552	* gst/vaapi/gstvaapiconvert.c:
27553	* gst/vaapi/gstvaapisink.c:
27554	  Add Intel copyright information.
27555
275562011-12-07 19:04:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27557
27558	* gst/vaapi/gstvaapisink.c:
27559	  vaapisink: allow compatibility with gst-plugins-base < 0.10.31.
27560
275612011-12-07 18:40:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27562
27563	* .gitignore:
27564	* configure.ac:
27565	* gst-libs/gst/Makefile.am:
27566	* gst-libs/gst/gstutils_version.h.in:
27567	  Add new GStreamer version check utilities.
27568
275692011-07-28 11:14:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27570
27571	* gst/vaapi/gstvaapisink.c:
27572	  vaapisink: replace the deprecated xoverlay API with the new one.
27573	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27574
275752011-12-07 17:31:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27576
27577	* configure.ac:
27578	  configure: allow for pre-releases.
27579
275802011-10-13 17:08:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27581
27582	* gst-libs/gst/vaapi/gstvaapidisplay.c:
27583	  display: destroy display on creation failure.
27584	  This allows element to detect that the display creation has actually
27585	  failed.
27586	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27587
275882011-10-13 17:07:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27589
27590	* gst-libs/gst/vaapi/gstvaapidisplay.c:
27591	  display: don't crash when config is empty.
27592	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27593
275942011-12-07 14:42:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27595
27596	* README:
27597	* debian.upstream/copyright:
27598	  doc: mention Collabora copyrights.
27599
276002011-12-07 14:40:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27601
27602	* .gitignore:
27603	  .gitignore: refine for generated docs.
27604
276052011-09-14 15:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27606
27607	* configure.ac:
27608	* docs/reference/plugins/Makefile.am:
27609	* gst/Makefile.am:
27610	* gst/vaapi/Makefile.am:
27611	* gst/vaapi/gstvaapi.c:
27612	* gst/vaapi/gstvaapiconvert.c:
27613	* gst/vaapi/gstvaapiconvert.h:
27614	* gst/vaapi/gstvaapidecode.c:
27615	* gst/vaapi/gstvaapidecode.h:
27616	* gst/vaapi/gstvaapisink.c:
27617	* gst/vaapi/gstvaapisink.h:
27618	* gst/vaapiconvert/Makefile.am:
27619	* gst/vaapidecode/Makefile.am:
27620	  Group all plugins into the same bundle
27621	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27622
276232011-07-21 14:31:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27624
27625	* configure.ac:
27626	  Bump version for development.
27627
276282011-12-07 14:17:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27629
27630	* configure.ac:
27631	* debian.upstream/control.in:
27632	  debian: build against upstream libva packages.
27633
276342011-12-07 13:52:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27635
27636	* docs/reference/libs/Makefile.am:
27637	* docs/reference/plugins/Makefile.am:
27638	* tests/Makefile.am:
27639	  Fix build on Ubuntu 11.10 (Oneric).
27640
276412011-12-07 13:14:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27642
27643	* NEWS:
27644	  0.2.7.
27645
276462011-09-12 16:20:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27647
27648	* .gitignore:
27649	  Adding ignore file
27650	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27651
276522011-10-24 16:18:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27653
27654	* gst/vaapiconvert/gstvaapiconvert.c:
27655	* gst/vaapidecode/gstvaapidecode.c:
27656	* gst/vaapisink/gstvaapisink.c:
27657	  Update license in plugin definition
27658	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27659
276602011-10-12 14:00:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27661
27662	* NEWS:
27663	* gst-libs/gst/vaapi/gstvaapidecoder.c:
27664	  decoder: fix use of invalid data at the end-of-stream.
27665
276662011-10-19 14:47:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27667
27668	* gst/vaapiconvert/gstvaapiconvert.c:
27669	  vaapiconvert: fix some warnings.
27670
276712011-10-19 14:43:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27672
27673	* configure.ac:
27674	* debian.upstream/changelog.in:
27675	* debian.upstream/control.in:
27676	* debian.upstream/copyright:
27677	* gst/vaapiconvert/gstvaapiconvert.c:
27678	* gst/vaapidecode/gstvaapidecode.c:
27679	* gst/vaapisink/gstvaapisink.c:
27680	  Update with my current e-mail address.
27681
276822011-10-19 14:39:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27683
27684	* NEWS:
27685	* README:
27686	  Splitted-Desktop systems relicensed plugins and tests to LGPL v2.1+.
27687
276882011-10-18 09:18:20 +0200  warly <warly@warly.org>
27689
27690	* tests/image.c:
27691	* tests/image.h:
27692	* tests/test-decode.c:
27693	* tests/test-decode.h:
27694	* tests/test-display.c:
27695	* tests/test-h264.c:
27696	* tests/test-h264.h:
27697	* tests/test-mpeg2.c:
27698	* tests/test-mpeg2.h:
27699	* tests/test-surfaces.c:
27700	* tests/test-textures.c:
27701	* tests/test-vc1.c:
27702	* tests/test-vc1.h:
27703	* tests/test-windows.c:
27704	  switch tests licence to LGPL v2.1+
27705
277062011-10-18 09:06:52 +0200  warly <warly@warly.org>
27707
27708	* COPYING:
27709	* README:
27710	* debian.upstream/copyright:
27711	* gst/vaapiconvert/gstvaapiconvert.c:
27712	* gst/vaapiconvert/gstvaapiconvert.h:
27713	* gst/vaapidecode/gstvaapidecode.c:
27714	* gst/vaapidecode/gstvaapidecode.h:
27715	* gst/vaapisink/gstvaapisink.c:
27716	* gst/vaapisink/gstvaapisink.h:
27717	  move plugins to LGPL v2.1+
27718
277192011-09-14 13:07:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27720
27721	* gst/vaapidecode/gstvaapidecode.c:
27722	  vaapidecode: fix sink caps to not expose size information.
27723	  This fixes this particular issue:
27724	  GStreamer-WARNING **: pad vaapidecode0:sink returned caps which are not
27725	  a real subset of its template caps
27726
277272011-09-14 11:34:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27728
27729	* NEWS:
27730	* gst/vaapidecode/gstvaapidecode.c:
27731	  vaapidecode: fix decoding of MPEG-2 PS files.
27732
277332011-09-12 13:00:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27734
27735	* gst-libs/gst/vaapi/Makefile.am:
27736	  Cosmetics (sort source files).
27737
277382011-09-08 14:50:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27739
27740	* gst/vaapiconvert/gstvaapiconvert.c:
27741	* gst/vaapiconvert/gstvaapiconvert.h:
27742	  vaapiconvert: fix direct-rendering caps detection.
27743
277442011-09-08 14:40:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27745
27746	* gst-libs/gst/vaapi/gstvaapiimage.c:
27747	  Fix gst_vaapi_image_new_with_image().
27748
277492011-09-08 13:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27750
27751	* gst/vaapiconvert/gstvaapiconvert.c:
27752	  vaapiconvert: warn when surface failed to be updated with image.
27753
277542011-09-06 18:34:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27755
27756	* gst/vaapiconvert/gstvaapiconvert.c:
27757	  vaapiconvert: fix autodetection for vaDeriveImage() support.
27758
277592011-09-06 17:47:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27760
27761	* gst/vaapiconvert/gstvaapiconvert.c:
27762	  vaapiconvert: fix memory leak (VA surface image).
27763
277642011-09-05 16:20:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27765
27766	* NEWS:
27767	* gst/vaapiconvert/gstvaapiconvert.c:
27768	  vaapiconvert: fix direct-rendering mode.
27769
277702011-09-06 16:49:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27771
27772	* docs/reference/libs/libs-sections.txt:
27773	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27774	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27775	  Add gst_vaapi_video_buffer_new_from_buffer().
27776	  Add helper function to bind a foreign buffer into a GstVaapiVideoBuffer.
27777	  Any image, surface or surface proxy will be inherited from the source buffer
27778	  if it is a GstVaapiVideoBuffer.
27779
277802011-09-05 17:23:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27781
27782	* gst/vaapiconvert/gstvaapiconvert.c:
27783	  vaapiconvert: protect access to direct_rendering.
27784
277852011-09-05 16:18:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27786
27787	* gst/vaapiconvert/gstvaapiconvert.c:
27788	  vaapiconvert: use gst_vaapi_display_lookup_downstream() helper to get a VA display.
27789
277902011-08-01 14:15:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27791
27792	* NEWS:
27793	* README:
27794	* debian.upstream/copyright:
27795	* gst-libs/gst/vaapi/gstvaapidecoder.c:
27796	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27797	* gst-libs/gst/vaapi/gstvaapisurface.h:
27798	* gst/vaapidecode/gstvaapidecode.c:
27799	* gst/vaapidecode/gstvaapidecode.h:
27800	  Add Intel copyright information.
27801
278022011-07-22 15:59:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27803
27804	* NEWS:
27805	  Updates.
27806
278072011-07-22 15:55:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27808
27809	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27810	  Fix build with newer FFmpeg versions.
27811
278122011-07-22 15:39:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27813
27814	* gst/vaapidecode/gstvaapidecode.c:
27815	* gst/vaapidecode/gstvaapidecode.h:
27816	  Fix decoding of MPEG-2 TS files.
27817
278182011-07-22 15:34:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27819
27820	* gst-libs/gst/vaapi/gstvaapidecoder.c:
27821	  Report caps update only once per video resolution change.
27822
278232011-07-22 15:33:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27824
27825	* gst-libs/gst/vaapi/gstvaapisurface.h:
27826	  Add canonical form (type name) of VA surface caps.
27827
278282011-07-22 15:42:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27829
27830	* configure.ac:
27831	  Bump version for development.
27832
278332011-07-19 17:38:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27834
27835	* configure.ac:
27836	  Use pretty build output with automake >= 1.11.
27837
278382011-07-15 16:08:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27839
27840	* gst/vaapiconvert/Makefile.am:
27841	* gst/vaapidecode/Makefile.am:
27842	* gst/vaapisink/Makefile.am:
27843	* tests/Makefile.am:
27844	  Fix build with libva headers not in a standard include dir.
27845
278462011-06-14 15:59:08 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
27847
27848	* configure.ac:
27849	  0.2.6.
27850
278512011-06-14 13:52:56 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
27852
27853	* gst-libs/gst/vaapi/gstvaapi_priv.h:
27854	* gst-libs/gst/vaapi/gstvaapicompat.h:
27855	* gst-libs/gst/vaapi/gstvaapicontext.c:
27856	* gst-libs/gst/vaapi/gstvaapicontext.h:
27857	* gst-libs/gst/vaapi/gstvaapidebug.h:
27858	* gst-libs/gst/vaapi/gstvaapidecoder.c:
27859	* gst-libs/gst/vaapi/gstvaapidecoder.h:
27860	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27861	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
27862	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27863	* gst-libs/gst/vaapi/gstvaapidisplay.c:
27864	* gst-libs/gst/vaapi/gstvaapidisplay.h:
27865	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27866	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
27867	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
27868	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
27869	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27870	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
27871	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
27872	* gst-libs/gst/vaapi/gstvaapiimage.c:
27873	* gst-libs/gst/vaapi/gstvaapiimage.h:
27874	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
27875	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
27876	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
27877	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
27878	* gst-libs/gst/vaapi/gstvaapiobject.c:
27879	* gst-libs/gst/vaapi/gstvaapiobject.h:
27880	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27881	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27882	* gst-libs/gst/vaapi/gstvaapiparamspecs.h:
27883	* gst-libs/gst/vaapi/gstvaapiprofile.c:
27884	* gst-libs/gst/vaapi/gstvaapiprofile.h:
27885	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
27886	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
27887	* gst-libs/gst/vaapi/gstvaapisurface.c:
27888	* gst-libs/gst/vaapi/gstvaapisurface.h:
27889	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
27890	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
27891	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27892	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27893	* gst-libs/gst/vaapi/gstvaapitexture.c:
27894	* gst-libs/gst/vaapi/gstvaapitexture.h:
27895	* gst-libs/gst/vaapi/gstvaapitypes.h:
27896	* gst-libs/gst/vaapi/gstvaapiutils.c:
27897	* gst-libs/gst/vaapi/gstvaapiutils.h:
27898	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27899	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27900	* gst-libs/gst/vaapi/gstvaapiutils_gst.c:
27901	* gst-libs/gst/vaapi/gstvaapiutils_gst.h:
27902	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27903	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
27904	* gst-libs/gst/vaapi/gstvaapivalue.c:
27905	* gst-libs/gst/vaapi/gstvaapivalue.h:
27906	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27907	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27908	* gst-libs/gst/vaapi/gstvaapivideopool.c:
27909	* gst-libs/gst/vaapi/gstvaapivideopool.h:
27910	* gst-libs/gst/vaapi/gstvaapivideosink.c:
27911	* gst-libs/gst/vaapi/gstvaapivideosink.h:
27912	* gst-libs/gst/vaapi/gstvaapiwindow.c:
27913	* gst-libs/gst/vaapi/gstvaapiwindow.h:
27914	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27915	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27916	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27917	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27918	* gst/vaapiconvert/gstvaapiconvert.c:
27919	* gst/vaapiconvert/gstvaapiconvert.h:
27920	* gst/vaapidecode/gstvaapidecode.c:
27921	* gst/vaapidecode/gstvaapidecode.h:
27922	* gst/vaapisink/gstvaapisink.c:
27923	* gst/vaapisink/gstvaapisink.h:
27924	* tests/image.c:
27925	* tests/image.h:
27926	* tests/test-decode.c:
27927	* tests/test-decode.h:
27928	* tests/test-display.c:
27929	* tests/test-h264.c:
27930	* tests/test-h264.h:
27931	* tests/test-mpeg2.c:
27932	* tests/test-mpeg2.h:
27933	* tests/test-surfaces.c:
27934	* tests/test-textures.c:
27935	* tests/test-vc1.c:
27936	* tests/test-vc1.h:
27937	* tests/test-windows.c:
27938	  Update copyright notice.
27939
279402011-06-14 13:51:41 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
27941
27942	* NEWS:
27943	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
27944	* gst-libs/gst/vaapi/gstvaapisurface.c:
27945	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
27946	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27947	* gst-libs/gst/vaapi/gstvaapitexture.c:
27948	* gst-libs/gst/vaapi/gstvaapiutils.c:
27949	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27950	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27951	* gst-libs/gst/vaapi/gstvaapivalue.c:
27952	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27953	* gst-libs/gst/vaapi/gstvaapivideopool.c:
27954	* gst-libs/gst/vaapi/gstvaapivideosink.c:
27955	* gst-libs/gst/vaapi/gstvaapiwindow.c:
27956	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27957	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27958	  Fix licensing terms.
27959
279602010-07-20 11:23:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27961
27962	* NEWS:
27963	  0.2.5.
27964
279652010-07-20 11:21:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27966
27967	* debian.upstream/copyright:
27968	  Fix license terms...
27969
279702010-07-01 13:19:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27971
27972	* gst/vaapisink/gstvaapisink.c:
27973	  Render pretty background only in use-reflection=true mode.
27974
279752010-07-01 11:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27976
27977	* NEWS:
27978	  Updates.
27979
279802010-07-01 11:41:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27981
27982	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27983	  Drop the GLX 1.3 requirement.
27984
279852010-07-01 11:38:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27986
27987	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27988	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27989	  Call the GLX/Pixmap related functions through the vtable.
27990
279912010-07-01 11:11:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27992
27993	* NEWS:
27994	* configure.ac:
27995	* gst-libs/gst/vaapi/Makefile.am:
27996	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27997	  Drop dependency on libavformat.
27998
279992010-06-22 15:15:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28000
28001	* gst-libs/gst/video/gstbasevideodecoder.c:
28002	* gst-libs/gst/video/gstbasevideodecoder.h:
28003	  Add gst_base_video_decoder_update_src_caps(). Don't forcibly set "interlaced" field if upstream elements did not have any.
28004
280052010-06-22 14:06:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28006
28007	* gst-libs/gst/video/gstbasevideodecoder.c:
28008	* gst-libs/gst/video/gstbasevideoutils.c:
28009	* gst-libs/gst/video/gstbasevideoutils.h:
28010	  Drop superfluous functions.
28011
280122010-06-22 13:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28013
28014	* gst-libs/gst/video/gstbasevideodecoder.c:
28015	  Really drop any dependency on libgstvideo. i.e. inline the helpers.
28016
280172010-06-22 13:48:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28018
28019	* gst-libs/gst/video/gstbasevideodecoder.c:
28020	  Further drop dependency on libgstvideo.
28021
280222010-06-22 12:57:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28023
28024	* gst-libs/gst/video/Makefile.am:
28025	* gst-libs/gst/video/gstbasevideocodec.c:
28026	* gst-libs/gst/video/gstbasevideocodec.h:
28027	* gst-libs/gst/video/gstbasevideodecoder.c:
28028	* gst-libs/gst/video/gstbasevideodecoder.h:
28029	* gst-libs/gst/video/gstbasevideoutils.c:
28030	* gst-libs/gst/video/gstbasevideoutils.h:
28031	  Add GstBaseVideoDecoder from gst-plugins-bad git.
28032
280332010-06-15 12:36:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28034
28035	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28036	  Fix GLX version check.
28037
280382010-06-14 14:46:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28039
28040	* NEWS:
28041	* configure.ac:
28042	  Bump version for development.
28043
280442010-06-14 14:14:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28045
28046	* NEWS:
28047	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28048	  Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer.
28049
280502010-06-14 12:58:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28051
28052	* NEWS:
28053	  Update changelog.
28054
280552010-06-14 09:20:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28056
28057	* gst-libs/gst/vaapi/gstvaapicompat.h:
28058	  Fix build with older VA-API 0.29-sds.
28059
280602010-05-18 11:22:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28061
28062	* gst/vaapisink/gstvaapisink.c:
28063	* gst/vaapisink/gstvaapisink.h:
28064	  Fix upscaling in foreign window (Totem).
28065
280662010-05-17 12:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28067
28068	* gst/vaapisink/gstvaapisink.c:
28069	  Soft validate caps since we only care about video/x-vaapi-surface as input. _setcaps() will check for other fields.
28070
280712010-05-17 08:55:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28072
28073	* NEWS:
28074	* gst/vaapisink/gstvaapisink.c:
28075	  Fix video rendering rect within an embedder window (Totem).
28076
280772010-05-17 08:28:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28078
28079	* NEWS:
28080	* gst/vaapisink/gstvaapisink.c:
28081	  Disable GLX rendering when vaapisink uses a foreign X window.
28082
280832010-05-17 08:24:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28084
28085	* gst/vaapisink/gstvaapisink.c:
28086	  Simplify GLX rendering code.
28087
280882010-05-17 07:32:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28089
28090	* configure.ac:
28091	  Bump version for development.
28092
280932010-05-16 21:44:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28094
28095	* NEWS:
28096	  0.2.3.
28097
280982010-05-16 21:35:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28099
28100	* gst/vaapidecode/gstvaapidecode.c:
28101	  Wait for at most one second for a VA surface to become available.
28102
281032010-05-16 21:18:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28104
28105	* README:
28106	* configure.ac:
28107	  Build-Requires: gstreamer0.10 >= 0.10.10 for gst_caps_merge().
28108
281092010-05-16 21:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28110
28111	* NEWS:
28112	* README:
28113	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28114	  Fix decoder caps to report codec aliases.
28115
281162010-05-16 21:04:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28117
28118	* NEWS:
28119	* gst/vaapidecode/gstvaapidecode.c:
28120	* gst/vaapidecode/gstvaapidecode.h:
28121	  Fix VC-1 decoding through the playbin2 pipeline.
28122
281232010-05-15 15:33:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28124
28125	* docs/reference/libs/libs-sections.txt:
28126	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28127	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28128	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28129	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28130	  Regularly update and expose decoder caps.
28131
281322010-05-15 09:43:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28133
28134	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28135	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28136	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28137	  Add mechanism to reinsert buffer leftovers into the queue.
28138
281392010-05-15 06:59:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28140
28141	* NEWS:
28142	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28143	  Fix memory leak of encoded buffers.
28144
281452010-05-15 05:36:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28146
28147	* docs/reference/libs/libs-sections.txt:
28148	* gst-libs/gst/vaapi/gstvaapicontext.c:
28149	* gst-libs/gst/vaapi/gstvaapicontext.h:
28150	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28151	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28152	  Check for out-of-free-surfaces condition.
28153
281542010-05-15 04:35:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28155
28156	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28157	  Change GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN value to something more generic (-1).
28158
281592010-05-15 04:25:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28160
28161	* gst/vaapisink/gstvaapisink.c:
28162	  Improve debug info for gst_vaapisink_ensure_render_rect().
28163
281642010-05-14 05:02:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28165
28166	* configure.ac:
28167	  Bump version for development.
28168
281692010-05-13 21:52:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28170
28171	* NEWS:
28172	  0.2.2.
28173
281742010-05-13 21:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28175
28176	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28177	  Improve previous fix.
28178
281792010-05-13 21:27:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28180
28181	* NEWS:
28182	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28183	  Fix a crash in the FFmpeg decoder on close.
28184
281852010-05-13 16:41:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28186
28187	* README:
28188	  Sort platforms by name.
28189
281902010-05-13 09:40:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28191
28192	* NEWS:
28193	* configure.ac:
28194	  Bump version for development.
28195
281962010-05-13 09:38:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28197
28198	* gst/vaapisink/gstvaapisink.c:
28199	  Add debug info for _show_frame().
28200
282012010-05-13 07:19:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28202
28203	* Makefile.am:
28204	  Nuke older build dir.
28205
282062010-05-13 07:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28207
28208	* debian.upstream/control.in:
28209	  Fix packaging deps.
28210
282112010-05-13 06:12:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28212
28213	* NEWS:
28214	  Cosmetics.
28215
282162010-05-13 06:11:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28217
28218	* NEWS:
28219	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28220	  Fix OpenGL texture internal format (Clutter).
28221
282222010-05-13 04:40:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28223
28224	* NEWS:
28225	  Respin release.
28226
282272010-05-13 04:27:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28228
28229	* gst/vaapisink/gstvaapisink.c:
28230	  Debug video & display PARs.
28231
282322010-05-13 04:22:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28233
28234	* gst/vaapisink/gstvaapisink.c:
28235	  Use XGetGeometry() to retrieve the window size.
28236
282372010-05-12 19:40:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28238
28239	* gst/vaapisink/gstvaapisink.c:
28240	  Move code around.
28241
282422010-05-12 19:35:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28243
28244	* gst/vaapisink/gstvaapisink.c:
28245	  Ensure VA display is created prior to initializing the window from a specific XID. Also move code down.
28246
282472010-05-12 19:18:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28248
28249	* README:
28250	  Drop obsolete comment.
28251
282522010-05-12 19:14:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28253
28254	* NEWS:
28255	  0.2.1.
28256
282572010-05-12 19:14:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28258
28259	* gst/vaapidecode/gstvaapidecode.c:
28260	  Fix GstVaapiDisplay refcounting in vaapidecode.
28261
282622010-05-12 14:10:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28263
28264	* gst-libs/gst/vaapi/gstvaapiutils_gst.c:
28265	  Fix comment.
28266
282672010-05-12 12:58:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28268
28269	* gst/vaapisink/gstvaapisink.c:
28270	* gst/vaapisink/gstvaapisink.h:
28271	  Fix render rect when the foreign window size changes.
28272
282732010-05-12 11:43:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28274
28275	* NEWS:
28276	* configure.ac:
28277	* gst/vaapisink/Makefile.am:
28278	* gst/vaapisink/gstvaapisink.c:
28279	  Add GstXOverlay interface to vaapisink (e.g. for Totem).
28280
282812010-05-12 10:51:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28282
28283	* README:
28284	  Update deps to match configure.ac versions.
28285
282862010-05-12 09:34:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28287
28288	* gst/vaapiconvert/gstvaapiconvert.c:
28289	* gst/vaapidecode/gstvaapidecode.c:
28290	* gst/vaapisink/gstvaapisink.c:
28291	  Cosmetics.
28292
282932010-05-12 09:22:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28294
28295	* NEWS:
28296	* gst/vaapidecode/Makefile.am:
28297	* gst/vaapidecode/gstvaapidecode.c:
28298	* gst/vaapidecode/gstvaapidecode.h:
28299	  Fix vaapidecode to expose the HW supported caps only.
28300
283012010-05-12 08:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28302
28303	* gst/vaapidecode/gstvaapidecode.c:
28304	  Initialize decoder earlier.
28305
283062010-05-12 08:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28307
28308	* NEWS:
28309	* README:
28310	* gst/vaapidecode/gstvaapidecode.c:
28311	  Fix integration within the playbin2 pipeline.
28312
283132010-05-12 08:02:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28314
28315	* docs/reference/libs/Makefile.am:
28316	  Exclude gstvaapiutils_gst.h from docs for now.
28317
283182010-05-12 08:00:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28319
28320	* gst/vaapiconvert/gstvaapiconvert.c:
28321	* gst/vaapidecode/gstvaapidecode.c:
28322	* gst/vaapisink/gstvaapisink.c:
28323	  Raise VA-API plugins ranks.
28324
283252010-05-12 07:57:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28326
28327	* gst-libs/gst/vaapi/Makefile.am:
28328	* gst-libs/gst/vaapi/gstvaapiutils_gst.c:
28329	* gst-libs/gst/vaapi/gstvaapiutils_gst.h:
28330	  Add gst_vaapi_display_lookup_downstream() helper.
28331
283322010-05-11 16:23:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28333
28334	* gst/vaapidecode/gstvaapidecode.c:
28335	  Use fixed caps on the src pad, they are not meant to change from video/x-vaapi-surface.
28336
283372010-05-11 16:19:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28338
28339	* docs/reference/libs/libs-sections.txt:
28340	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28341	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28342	* gst/vaapisink/gstvaapisink.c:
28343	  Expose VA display through GstVaapiVideoBuffer.
28344
283452010-05-11 16:09:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28346
28347	* gst/vaapidecode/gstvaapidecode.c:
28348	  Simplify gst_vaapidecode_set_caps() and fix memory leak.
28349
283502010-05-11 12:06:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28351
28352	* docs/reference/libs/libs-sections.txt:
28353	* gst-libs/gst/vaapi/gstvaapivideopool.c:
28354	* gst-libs/gst/vaapi/gstvaapivideopool.h:
28355	  Expose video pool display.
28356
283572010-05-11 12:03:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28358
28359	* gst-libs/gst/vaapi/gstvaapivideosink.c:
28360	  Stop iteration if there is no more element to examine.
28361
283622010-05-10 09:32:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28363
28364	* gst/vaapiconvert/gstvaapiconvert.c:
28365	* gst/vaapidecode/gstvaapidecode.c:
28366	* gst/vaapisink/gstvaapisink.c:
28367	  Improve plugin details.
28368
283692010-05-07 06:35:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28370
28371	* gst-libs/gst/vaapi/gstvaapisurface.h:
28372	* gst/vaapiconvert/gstvaapiconvert.c:
28373	* gst/vaapidecode/gstvaapidecode.c:
28374	* gst/vaapisink/gstvaapisink.c:
28375	  Factor out VA surface caps.
28376
283772010-05-05 15:36:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28378
28379	* gst/vaapidecode/gstvaapidecode.c:
28380	  Add gst_vaapidecode_ensure_display() helper for set-caps.
28381
283822010-05-05 12:57:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28383
28384	* configure.ac:
28385	  Bump version for development.
28386
283872010-05-05 12:29:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28388
28389	* NEWS:
28390	  Really make it 0.2.0.
28391
283922010-05-05 12:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28393
28394	* README:
28395	  More docs.
28396
283972010-05-05 11:48:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28398
28399	* docs/reference/libs/Makefile.am:
28400	  Don't exclude GstVaapiParamSpecs.
28401
284022010-05-05 11:44:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28403
28404	* docs/reference/libs/Makefile.am:
28405	* docs/reference/libs/libs-sections.txt:
28406	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28407	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28408	  Fix docs.
28409
284102010-05-05 06:06:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28411
28412	* gst/vaapiconvert/gstvaapiconvert.c:
28413	* gst/vaapidecode/gstvaapidecode.c:
28414	* gst/vaapisink/gstvaapisink.c:
28415	  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.
28416
284172010-05-04 15:03:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28418
28419	* gst-libs/gst/vaapi/Makefile.am:
28420	  Really link all helper libraries with libtool -no-undefined.
28421
284222010-05-04 15:02:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28423
28424	* gst-libs/gst/vaapi/Makefile.am:
28425	  Link helper libraries with libtool -no-undefined.
28426
284272010-05-04 14:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28428
28429	* configure.ac:
28430	* debian.upstream/gstreamer-vaapi.install.in:
28431	* gst/vaapiconvert/Makefile.am:
28432	* gst/vaapidecode/Makefile.am:
28433	* gst/vaapisink/Makefile.am:
28434	  Don't build plugins with SONAME. Make them plain *.so.
28435
284362010-05-04 08:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28437
28438	* README:
28439	  Improve documentation for release.
28440
284412010-05-03 22:50:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28442
28443	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28444	  Fix build with older VA-API 0.29.
28445
284462010-05-03 22:43:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28447
28448	* NEWS:
28449	  0.2.0.
28450
284512010-05-03 22:42:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28452
28453	* tests/Makefile.am:
28454	  Fix make dist.
28455
284562010-05-03 22:36:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28457
28458	* docs/reference/libs/Makefile.am:
28459	* docs/reference/libs/libs-docs.xml.in:
28460	* docs/reference/libs/libs-sections.txt:
28461	* docs/reference/libs/libs.core.types:
28462	* docs/reference/plugins/Makefile.am:
28463	* docs/reference/plugins/plugins-docs.xml.in:
28464	* docs/reference/plugins/plugins-sections.txt:
28465	* docs/reference/plugins/plugins.types:
28466	  Add missing docs.
28467
284682010-05-03 22:34:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28469
28470	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28471	  Fix doc.
28472
284732010-05-03 22:28:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28474
28475	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28476	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
28477	* gst/vaapidecode/gstvaapidecode.c:
28478	* tests/test-decode.c:
28479	  Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new().
28480
284812010-05-03 22:02:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28482
28483	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28484	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28485	  Extract framerate information from caps.
28486
284872010-05-03 21:49:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28488
28489	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28490	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28491	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28492	  Move caps initialization to parent class.
28493
284942010-05-03 21:25:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28495
28496	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28497	  Simplify.
28498
284992010-05-03 21:25:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28500
28501	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28502	  Fix doc.
28503
285042010-05-03 21:14:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28505
28506	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28507	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28508	  More simplifications.
28509
285102010-05-03 20:55:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28511
28512	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28513	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28514	* tests/test-decode.c:
28515	  Simplify GstVaapiDecoder API.
28516
285172010-05-03 20:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28518
28519	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28520	  Drop obsolete defs.
28521
285222010-05-03 20:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28523
28524	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28525	  Drop obsolete decls.
28526
285272010-05-03 17:36:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28528
28529	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28530	* gst/vaapidecode/gstvaapidecode.c:
28531	  Add more aliases for MPEG-4 decoding.
28532
285332010-05-03 17:04:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28534
28535	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28536	  Use avctx->coded_{width,height} info to create the VA context.
28537
285382010-05-03 16:54:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28539
28540	* tests/test-decode.c:
28541	* tests/test-decode.h:
28542	  Use gst_vaapi_decoder_ffmpeg_new_from_caps().
28543
285442010-05-03 16:41:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28545
28546	* tests/test-decode.c:
28547	* tests/test-decode.h:
28548	* tests/test-h264.c:
28549	* tests/test-h264.h:
28550	* tests/test-mpeg2.c:
28551	* tests/test-mpeg2.h:
28552	* tests/test-vc1.c:
28553	* tests/test-vc1.h:
28554	  Simplify tests info.
28555
285562010-05-03 16:17:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28557
28558	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28559	  Try to improve heuristics to use an AVCodecContextParser.
28560
285612010-05-03 15:35:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28562
28563	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28564	  Fix VC-1 decoding, it does not require any specific parser.
28565
285662010-05-03 15:34:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28567
28568	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28569	  Fix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one).
28570
285712010-05-03 15:29:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28572
28573	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28574	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28575	  Use size information from the demuxer, whenever available. i.e. fix WMV3 decoding.
28576
285772010-05-03 15:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28578
28579	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28580	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28581	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
28582	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28583	* gst/vaapidecode/gstvaapidecode.c:
28584	* gst/vaapidecode/gstvaapidecode.h:
28585	  Add gst_vaapi_decoder_ffmpeg_new_from_caps() helper.
28586
285872010-05-03 14:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28588
28589	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28590	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28591	* gst-libs/gst/vaapi/gstvaapiprofile.h:
28592	  Improve WMV3 detection yet further.
28593
285942010-05-03 13:44:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28595
28596	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28597	  Fix detection of plain old WMV3 contents.
28598
285992010-05-03 12:25:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28600
28601	* tests/test-vc1.c:
28602	  Add End-of-Sequence start code.
28603
286042010-05-03 11:44:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28605
28606	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28607	* gst/vaapidecode/gstvaapidecode.c:
28608	  Fix VC-1 detection.
28609
286102010-05-03 08:51:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28611
28612	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28613	  Fix build with older gstreamer libs where gst_buffer_unref() is not a plain function.
28614
286152010-05-03 08:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28616
28617	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28618	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28619	  Drop obsolete (and wrong) code.
28620
286212010-05-03 08:33:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28622
28623	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28624	  Cosmetics (spelling).
28625
286262010-05-03 08:32:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28627
28628	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28629	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28630	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28631	  Try to fix timestamps (step 1). Looks OK on H55.
28632
286332010-05-03 07:10:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28634
28635	* debian.upstream/Makefile.am:
28636	  Ship with COPYING.LIB.
28637
286382010-05-03 07:07:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28639
28640	* COPYING.LIB:
28641	* NEWS:
28642	* README:
28643	* gst-libs/gst/vaapi/gstvaapi_priv.h:
28644	* gst-libs/gst/vaapi/gstvaapicompat.h:
28645	* gst-libs/gst/vaapi/gstvaapicontext.c:
28646	* gst-libs/gst/vaapi/gstvaapicontext.h:
28647	* gst-libs/gst/vaapi/gstvaapidebug.h:
28648	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28649	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28650	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28651	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
28652	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28653	* gst-libs/gst/vaapi/gstvaapidisplay.c:
28654	* gst-libs/gst/vaapi/gstvaapidisplay.h:
28655	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
28656	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
28657	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
28658	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
28659	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28660	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28661	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
28662	* gst-libs/gst/vaapi/gstvaapiimage.c:
28663	* gst-libs/gst/vaapi/gstvaapiimage.h:
28664	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
28665	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
28666	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
28667	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
28668	* gst-libs/gst/vaapi/gstvaapiobject.c:
28669	* gst-libs/gst/vaapi/gstvaapiobject.h:
28670	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
28671	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
28672	* gst-libs/gst/vaapi/gstvaapiparamspecs.h:
28673	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28674	* gst-libs/gst/vaapi/gstvaapiprofile.h:
28675	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
28676	* gst-libs/gst/vaapi/gstvaapisurface.h:
28677	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28678	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28679	* gst-libs/gst/vaapi/gstvaapitexture.h:
28680	* gst-libs/gst/vaapi/gstvaapitypes.h:
28681	* gst-libs/gst/vaapi/gstvaapiutils.h:
28682	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
28683	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
28684	* gst-libs/gst/vaapi/gstvaapivalue.h:
28685	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28686	* gst-libs/gst/vaapi/gstvaapivideopool.h:
28687	* gst-libs/gst/vaapi/gstvaapivideosink.h:
28688	* gst-libs/gst/vaapi/gstvaapiwindow.h:
28689	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
28690	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
28691	  Relicense gst-libs/ code to LGPL v2.1+.
28692
286932010-05-03 06:49:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28694
28695	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28696	  Drop extraneous comma.
28697
286982010-05-03 06:49:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28699
28700	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28701	  Drop variant=itu field to help codec detection.
28702
287032010-04-30 15:50:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28704
28705	* gst/vaapidecode/gstvaapidecode.c:
28706	  Decode as many surfaces as possible in gst_vaapidecode_step().
28707
287082010-04-30 15:37:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28709
28710	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28711	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28712	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28713	* gst/vaapidecode/gstvaapidecode.c:
28714	* gst/vaapidecode/gstvaapidecode.h:
28715	* tests/test-decode.c:
28716	  Drop excessive threading that over-complicates synchronisation. MPEG-2 & H.264 videos now play but there are other problems (timestamps).
28717
287182010-04-30 13:13:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28719
28720	* configure.ac:
28721	  0.2.0.
28722
287232010-04-30 12:04:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28724
28725	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28726	  Move VA context reset to AVCodecContext.get_context() as the surface sizes can change.
28727
287282010-04-30 09:52:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28729
28730	* gst-libs/gst/vaapi/gstvaapidisplay.c:
28731	* gst-libs/gst/vaapi/gstvaapidisplay.h:
28732	  Fix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too.
28733
287342010-04-30 09:48:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28735
28736	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28737	* gst-libs/gst/vaapi/gstvaapiprofile.h:
28738	  Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.
28739
287402010-04-30 08:18:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28741
28742	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28743	  Document H.264 / AVC1 format case better.
28744
287452010-04-29 23:09:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28746
28747	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28748	  Fix H.264 decoding with AVC1 format bitstreams.
28749
287502010-04-29 22:00:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28751
28752	* gst/vaapidecode/gstvaapidecode.c:
28753	  Complete initialization of the GstVaapiVideoBuffer. Some frames start to show up.
28754
287552010-04-29 21:59:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28756
28757	* gst/vaapisink/gstvaapisink.c:
28758	  Add missing GstBaseSink::buffer_alloc() override. i.e. make sure to allocate a GstVaapiVideoBuffer instead of a plain GstBuffer from the peer pad.
28759
287602010-04-29 21:56:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28761
28762	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28763	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28764	  Export gst_vaapi_video_buffer_new().
28765
287662010-04-29 21:12:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28767
28768	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28769	  Fix gst_vaapi_profile_get_caps() to include the "profile" field.
28770
287712010-04-29 17:56:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28772
28773	* configure.ac:
28774	  Fix comment.
28775
287762010-04-29 17:55:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28777
28778	* NEWS:
28779	* configure.ac:
28780	* gst/Makefile.am:
28781	* gst/vaapidecode/Makefile.am:
28782	* gst/vaapidecode/gstvaapidecode.c:
28783	* gst/vaapidecode/gstvaapidecode.h:
28784	  Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.
28785
287862010-04-29 17:51:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28787
28788	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28789	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28790	  Add gst_vaapi_decoder_pause().
28791
287922010-04-29 17:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28793
28794	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28795	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28796	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28797	  Use a GstTask with start/stop semantics for the decoder thread.
28798
287992010-04-29 16:08:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28800
28801	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28802	  Drop extraneous var.
28803
288042010-04-29 15:45:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28805
28806	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28807	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28808	  Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.
28809
288102010-04-29 14:58:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28811
28812	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28813	  Fix gst_vaapi_decoder_get_surface() status.
28814
288152010-04-29 14:28:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28816
28817	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28818	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28819	  Try to set correct timestamps to the decoded surface proxy.
28820
288212010-04-29 12:52:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28822
28823	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28824	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28825	* tests/test-decode.c:
28826	  Add timestamps to GstVaapiSurfaceProxy.
28827
288282010-04-29 09:43:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28829
28830	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28831	  Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.
28832
288332010-04-29 09:40:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28834
28835	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28836	  Fix destructor, av_parser_close() does destroy the struct already, unliker avcodec_close()...
28837
288382010-04-29 09:35:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28839
28840	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28841	  Prefer profile from codec-data if any was found there.
28842
288432010-04-29 09:34:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28844
28845	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28846	  Improve heuristics to find the best profile. Use the highest one if no explicit match on "profile" field.
28847
288482010-04-28 23:09:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28849
28850	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28851	  Make sure gst_vaapi_decoder_get_surface() gets unblocked on error.
28852
288532010-04-28 22:30:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28854
28855	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28856	  Fix VC-1 codec initialization, it really needs an extradata buffer.
28857
288582010-04-28 22:16:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28859
28860	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28861	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28862	  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.
28863
288642010-04-28 21:58:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28865
28866	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28867	  Move gst_vaapi_decoder_ffmpeg_create() call to object constructor.
28868
288692010-04-28 21:50:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28870
28871	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28872	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28873	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
28874	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28875	* tests/test-decode.c:
28876	  Add "codec-data" property for additional codec data. e.g. VC-1 sequence headers for elementary streams.
28877
288782010-04-28 21:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28879
28880	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28881	  Cosmetics (weird indentation).
28882
288832010-04-28 21:15:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28884
28885	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28886	  Cosmetics (extraneous variable, debug message).
28887
288882010-04-28 09:07:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28889
28890	* configure.ac:
28891	  Fix check for VA-API enabled FFmpeg.
28892
288932010-04-27 15:26:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28894
28895	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28896	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28897	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28898	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28899	  - Add PTS and framerate information. - Simplify parsing with an AVCodeParserContext.
28900
289012010-04-27 11:59:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28902
28903	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28904	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28905	  Add more error codes. Fix documentation.
28906
289072010-04-26 13:30:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28908
28909	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28910	  Fix gst_vaapi_profile_get_codec(). Improve gst_vaapi_profile_from_caps() for H.264 & caps with "codec-data".
28911
289122010-04-26 11:44:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28913
28914	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28915	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28916	* tests/test-decode.c:
28917	  Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.
28918
289192010-04-26 11:36:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28920
28921	* tests/test-vc1.c:
28922	  Drop useless End-of-Sequence marker.
28923
289242010-04-26 08:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28925
28926	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28927	  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.
28928
289292010-04-26 08:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28930
28931	* gst-libs/gst/vaapi/gstvaapidisplay.c:
28932	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
28933	  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.
28934
289352010-04-26 08:15:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28936
28937	* tests/test-h264.c:
28938	* tests/test-vc1.c:
28939	  Regenerate correct clips.
28940
289412010-04-23 16:11:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28942
28943	* tests/Makefile.am:
28944	* tests/test-decode.c:
28945	* tests/test-h264.c:
28946	* tests/test-h264.h:
28947	* tests/test-mpeg2.c:
28948	* tests/test-mpeg2.h:
28949	* tests/test-vc1.c:
28950	* tests/test-vc1.h:
28951	  Add decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
28952	  XXX: only VC-1 decoding works at this time because of awful
28953	  bugs left in GstVaapiDecoderFfmpeg et al.
28954
289552010-04-23 16:05:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28956
28957	* configure.ac:
28958	* gst-libs/gst/vaapi/Makefile.am:
28959	* gst-libs/gst/vaapi/gstvaapidecoder.c:
28960	* gst-libs/gst/vaapi/gstvaapidecoder.h:
28961	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28962	* gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
28963	* gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28964	  Add initial (multithreaded) decoder based on FFmpeg.
28965	  There are tons of bugs left:
28966	  - Decoder API not nice enough with error conditions
28967	  - FFmpeg parser is sometimes broken
28968	  - Packets queue can be lost
28969
289702010-04-23 16:00:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28971
28972	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28973	* gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28974	  Add surface proxy that holds a reference to the parent surface and that returns the surface to that context on destruction.
28975
289762010-04-23 15:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28977
28978	* gst-libs/gst/vaapi/gstvaapicontext.c:
28979	* gst-libs/gst/vaapi/gstvaapicontext.h:
28980	  Add VA context abstraction.
28981
289822010-04-23 10:58:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28983
28984	* gst-libs/gst/vaapi/gstvaapiprofile.h:
28985	  Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
28986
289872010-04-21 15:03:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28988
28989	* gst-libs/gst/vaapi/gstvaapivideopool.c:
28990	* gst-libs/gst/vaapi/gstvaapivideopool.h:
28991	  Add a means to cap the number of objects allocated in the pool.
28992
289932010-04-21 15:02:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28994
28995	* gst-libs/gst/vaapi/gstvaapiprofile.c:
28996	* gst-libs/gst/vaapi/gstvaapiprofile.h:
28997	  Add VA entrypoint abstraction.
28998
289992010-04-20 13:36:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29000
29001	* docs/reference/libs/libs-docs.xml.in:
29002	* docs/reference/libs/libs-sections.txt:
29003	* gst-libs/gst/vaapi/Makefile.am:
29004	* gst-libs/gst/vaapi/gstvaapidisplay.c:
29005	* gst-libs/gst/vaapi/gstvaapidisplay.h:
29006	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
29007	* gst-libs/gst/vaapi/gstvaapiprofile.c:
29008	* gst-libs/gst/vaapi/gstvaapiprofile.h:
29009	* tests/test-display.c:
29010	  Add VA profile abstraction.
29011
290122010-04-20 07:51:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29013
29014	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29015	  Fix OpenGL rendering on G45 systems.
29016
290172010-04-16 13:47:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29018
29019	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29020	  Fix gl_create_context() to find a GLXFBConfig compatible with the parent GL context.
29021
290222010-04-02 11:27:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29023
29024	* gst-libs/gst/vaapi/gstvaapitexture.c:
29025	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29026	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29027	  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.
29028
290292010-04-01 16:11:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29030
29031	* gst-libs/gst/vaapi/gstvaapitexture.c:
29032	  Fix get-out conditions.
29033
290342010-04-01 15:38:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29035
29036	* gst-libs/gst/vaapi/gstvaapitexture.c:
29037	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29038	  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.
29039
290402010-04-01 13:55:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29041
29042	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29043	  Shorter structs.
29044
290452010-04-01 13:41:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29046
29047	* docs/reference/libs/libs-sections.txt:
29048	* gst-libs/gst/vaapi/Makefile.am:
29049	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
29050	* gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
29051	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
29052	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29053	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
29054	* gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
29055	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29056	* gst-libs/gst/vaapi/gstvaapitexture.c:
29057	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29058	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29059	* tests/test-windows.c:
29060	  Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way.
29061
290622010-04-01 09:47:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29063
29064	* gst-libs/gst/vaapi/Makefile.am:
29065	* gst-libs/gst/vaapi/gstvaapi_priv.h:
29066	* gst-libs/gst/vaapi/gstvaapidisplay.c:
29067	* gst-libs/gst/vaapi/gstvaapidisplay.h:
29068	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
29069	* gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
29070	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29071	* gst-libs/gst/vaapi/gstvaapiimage.c:
29072	* gst-libs/gst/vaapi/gstvaapiobject.c:
29073	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29074	* gst-libs/gst/vaapi/gstvaapisurface.c:
29075	* gst-libs/gst/vaapi/gstvaapitexture.c:
29076	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29077	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29078	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29079	  Move GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapidisplay_priv.h.
29080
290812010-03-31 15:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29082
29083	* gst-libs/gst/vaapi/gstvaapitexture.c:
29084	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29085	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29086	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29087	  Improve handling of GL contexts.
29088
290892010-03-30 16:41:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29090
29091	* configure.ac:
29092	  Simplify summary.
29093
290942010-03-30 13:33:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29095
29096	* configure.ac:
29097	  Bump version for development.
29098
290992010-03-30 13:29:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29100
29101	* configure.ac:
29102	* debian.upstream/Makefile.am:
29103	* debian.upstream/control.in:
29104	  Rename -dev package to libgstvaapi-dev.
29105
291062010-03-30 13:17:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29107
29108	* NEWS:
29109	* README:
29110	  Updates.
29111
291122010-03-30 13:05:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29113
29114	* gst-libs/gst/vaapi/gstvaapiutils.c:
29115	  Fix build with VA-API < 0.30.
29116
291172010-03-30 13:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29118
29119	* configure.ac:
29120	* gst-libs/gst/vaapi/gstvaapicompat.h:
29121	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
29122	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
29123	* gst-libs/gst/vaapi/gstvaapitexture.c:
29124	* tests/test-display.c:
29125	  Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO.
29126
291272010-03-30 12:59:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29128
29129	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29130	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29131	  Add TFP and FBO helpers.
29132
291332010-03-30 12:55:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29134
29135	* gst-libs/gst/vaapi/gstvaapiutils.c:
29136	* gst-libs/gst/vaapi/gstvaapiutils.h:
29137	  Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.
29138
291392010-03-30 08:13:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29140
29141	* gst-libs/gst/vaapi/gstvaapitexture.c:
29142	* gst-libs/gst/vaapi/gstvaapiutils.c:
29143	* gst-libs/gst/vaapi/gstvaapiutils.h:
29144	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29145	  Use a shorter function name.
29146
291472010-03-30 08:11:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29148
29149	* docs/reference/libs/libs-sections.txt:
29150	* gst-libs/gst/vaapi/gstvaapisurface.c:
29151	* gst-libs/gst/vaapi/gstvaapisurface.h:
29152	* gst-libs/gst/vaapi/gstvaapiutils.c:
29153	* gst-libs/gst/vaapi/gstvaapiutils.h:
29154	  Add gst_vaapi_surface_query_status() wrapper.
29155
291562010-03-30 07:50:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29157
29158	* docs/reference/plugins/Makefile.am:
29159	  Fix leftover during migration.
29160
291612010-03-30 07:46:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29162
29163	* Makefile.am:
29164	* configure.ac:
29165	* docs/reference/plugins/Makefile.am:
29166	* gst/Makefile.am:
29167	* gst/vaapiconvert/Makefile.am:
29168	* gst/vaapiconvert/gstvaapiconvert.c:
29169	* gst/vaapiconvert/gstvaapiconvert.h:
29170	* gst/vaapisink/Makefile.am:
29171	* gst/vaapisink/gstvaapisink.c:
29172	* gst/vaapisink/gstvaapisink.h:
29173	  Rename to gst/ as sys/ was too vague.
29174
291752010-03-30 07:39:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29176
29177	* gst-libs/gst/vaapi/gstvaapiimage.c:
29178	* gst-libs/gst/vaapi/gstvaapiimage.h:
29179	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29180	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
29181	* gst-libs/gst/vaapi/gstvaapisurface.c:
29182	* gst-libs/gst/vaapi/gstvaapisurface.h:
29183	  Try to not reference VA-API types directly.
29184
291852010-03-29 16:24:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29186
29187	* sys/vaapisink/gstvaapisink.c:
29188	  Fix reflection code to preserve aspect ratio.
29189
291902010-03-29 16:17:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29191
29192	* sys/vaapisink/gstvaapisink.c:
29193	* sys/vaapisink/gstvaapisink.h:
29194	  Fix fullscreen mode.
29195
291962010-03-29 15:59:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29197
29198	* sys/vaapisink/gstvaapisink.c:
29199	* sys/vaapisink/gstvaapisink.h:
29200	  Add OpenGL reflection effect ("use-reflection").
29201
292022010-03-29 15:51:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29203
29204	* configure.ac:
29205	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29206	  Use a projection suitable for rotation around the Y axis.
29207
292082010-03-29 15:03:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29209
29210	* configure.ac:
29211	* sys/vaapisink/Makefile.am:
29212	* sys/vaapisink/gstvaapisink.c:
29213	* sys/vaapisink/gstvaapisink.h:
29214	  Don't build vaapisink/gl by default. However, if this is enabled, use the GL renderer by default.
29215
292162010-03-29 14:50:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29217
29218	* configure.ac:
29219	* debian.upstream/Makefile.am:
29220	* debian.upstream/control.in:
29221	* debian.upstream/libgstvaapi-glx.install.in:
29222	  Add libgstvaapi-glx-0 package.
29223
292242010-03-29 14:47:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29225
29226	* pkgconfig/Makefile.am:
29227	  Really fix make distclean.
29228
292292010-03-29 14:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29230
29231	* docs/reference/libs/Makefile.am:
29232	  Fix make dist.
29233
292342010-03-29 14:42:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29235
29236	* pkgconfig/Makefile.am:
29237	  Fix make distclean.
29238
292392010-03-29 14:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29240
29241	* tests/Makefile.am:
29242	  Fix make dist.
29243
292442010-03-29 14:31:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29245
29246	* docs/reference/libs/Makefile.am:
29247	* docs/reference/libs/libs.core.types:
29248	* docs/reference/libs/libs.glx.types:
29249	* docs/reference/libs/libs.x11.types:
29250	  Fix doc build.
29251
292522010-03-29 14:21:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29253
29254	* sys/vaapisink/gstvaapisink.h:
29255	  Fix build without GLX.
29256
292572010-03-29 14:13:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29258
29259	* NEWS:
29260	  0.1.2.
29261
292622010-03-29 14:13:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29263
29264	* sys/vaapisink/Makefile.am:
29265	* sys/vaapisink/gstvaapisink.c:
29266	* sys/vaapisink/gstvaapisink.h:
29267	  Add VA/GLX support to vaapisink.
29268
292692010-03-29 13:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29270
29271	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29272	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29273	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29274	  Add glXSwapBuffers() workaround for NVIDIA.
29275
292762010-03-29 13:27:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29277
29278	* tests/Makefile.am:
29279	* tests/test-textures.c:
29280	  Improve VA/GLX textures test.
29281
292822010-03-29 12:51:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29283
29284	* gst-libs/gst/vaapi/gstvaapitexture.c:
29285	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29286	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29287	  Fix texture rendering.
29288
292892010-03-29 11:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29290
29291	* docs/reference/libs/libs-docs.xml.in:
29292	* docs/reference/libs/libs-sections.txt:
29293	* gst-libs/gst/vaapi/gstvaapidisplay.c:
29294	* gst-libs/gst/vaapi/gstvaapitexture.c:
29295	  Fix documentation.
29296
292972010-03-29 10:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29298
29299	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29300	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
29301	  Add gst_vaapi_window_glx_put_texture() helper.
29302
293032010-03-29 09:09:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29304
29305	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29306	  Fix typos.
29307
293082010-03-26 17:00:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29309
29310	* tests/image.c:
29311	* tests/image.h:
29312	* tests/test-windows.c:
29313	  Move code around.
29314
293152010-03-26 16:52:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29316
29317	* gst-libs/gst/vaapi/Makefile.am:
29318	* gst-libs/gst/vaapi/gstvaapitexture.c:
29319	* gst-libs/gst/vaapi/gstvaapitexture.h:
29320	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29321	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29322	  Add initial VA/GLX texture abstraction though the API is not good enough yet.
29323
293242010-03-26 15:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29325
29326	* docs/reference/libs/libs-sections.txt:
29327	* gst-libs/gst/vaapi/gstvaapiobject.c:
29328	* gst-libs/gst/vaapi/gstvaapiobject.h:
29329	  Add gst_vaapi_object_{,un}lock_display() helpers.
29330
293312010-03-26 15:16:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29332
29333	* tests/Makefile.am:
29334	* tests/image.c:
29335	* tests/image.h:
29336	* tests/test-windows.c:
29337	  Factor out image utilities.
29338
293392010-03-26 11:54:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29340
29341	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29342	  MT-Safe: lock display.
29343
293442010-03-26 11:50:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29345
29346	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29347	  Make sure window resize completed prior to resizing the GL viewport.
29348
293492010-03-26 11:39:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29350
29351	* gst-libs/gst/vaapi/Makefile.am:
29352	  gstvaapicompat.h is a private header, don't install it.
29353
293542010-03-26 11:35:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29355
29356	* docs/reference/libs/libs-sections.txt:
29357	* gst-libs/gst/vaapi/gstvaapidisplay.c:
29358	* gst-libs/gst/vaapi/gstvaapidisplay.h:
29359	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29360	  Add gst_vaapi_display_{sync,flush}() helpers.
29361
293622010-03-26 11:30:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29363
29364	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29365	* sys/vaapisink/gstvaapisink.c:
29366	* sys/vaapisink/gstvaapisink.h:
29367	  Add "synchronous" mode.
29368
293692010-03-26 11:02:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29370
29371	* gst-libs/gst/vaapi/gstvaapidisplay.c:
29372	* gst-libs/gst/vaapi/gstvaapidisplay.h:
29373	  Only add _display suffix to open & close members because they could be #define to some arbitrary value. lock/unlock are safe names.
29374
293752010-03-26 10:09:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29376
29377	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29378	  Restore GLX context only if there is one.
29379
293802010-03-26 09:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29381
29382	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29383	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29384	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29385	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
29386	  Add gst_vaapi_window_glx_make_current(). Handle X11 window size changes and reset the GL viewport.
29387
293882010-03-26 08:35:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29389
29390	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29391	  Check GstVaapiWindow::render() is available prior to calling it.
29392
293932010-03-26 08:10:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29394
29395	* tests/Makefile.am:
29396	* tests/test-display.c:
29397	* tests/test-textures.c:
29398	  Add VA/GLX display tests.
29399
294002010-03-26 08:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29401
29402	* configure.ac:
29403	* gst-libs/gst/vaapi/Makefile.am:
29404	  Fix compile flags.
29405
294062010-03-25 17:39:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29407
29408	* docs/reference/libs/Makefile.am:
29409	* docs/reference/libs/libs-docs.xml.in:
29410	* docs/reference/libs/libs-sections.txt:
29411	* docs/reference/libs/libs.types:
29412	  Add missing API documentation.
29413
294142010-03-25 17:28:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29415
29416	* configure.ac:
29417	* gst-libs/gst/vaapi/Makefile.am:
29418	* gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
29419	* gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
29420	* gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29421	* gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29422	* gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29423	* gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
29424	* pkgconfig/Makefile.am:
29425	* pkgconfig/gstreamer-vaapi-glx.pc.in:
29426	* tests/Makefile.am:
29427	* tests/test-textures.c:
29428	  Add initial VA/GLX support.
29429
294302010-03-25 17:21:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29431
29432	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29433	  Add missing includes (for vaapi_check_status()).
29434
294352010-03-25 17:21:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29436
29437	* gst-libs/gst/vaapi/gstvaapidebug.h:
29438	  Only enable GST_DEBUG() if DEBUG is defined. Drop old D(bug()) stuff.
29439
294402010-03-25 17:18:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29441
29442	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29443	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
29444	  Add gst_vaapi_window_x11_is_foreign_xid() helper.
29445
294462010-03-25 17:18:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29447
29448	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
29449	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
29450	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29451	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
29452	  Allow derived classes to specify custom Visual and Colormap.
29453
294542010-03-25 13:54:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29455
29456	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
29457	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
29458	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29459	  Allow window creation with a specific visual (e.g. for GLX support).
29460
294612010-03-25 13:21:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29462
29463	* gst-libs/gst/vaapi/gstvaapiimage.c:
29464	  Fix return value on error (though it's the same in the end).
29465
294662010-03-25 12:39:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29467
29468	* gst-libs/gst/vaapi/gstvaapidisplay.c:
29469	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29470	  Simplify initialization of VADisplay.
29471
294722010-03-25 10:04:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29473
29474	* configure.ac:
29475	  Move __attribute__((visibility("hidden"))) check down.
29476
294772010-03-25 09:49:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29478
29479	* docs/reference/libs/libs-sections.txt:
29480	* gst-libs/gst/vaapi/gstvaapiimage.c:
29481	* gst-libs/gst/vaapi/gstvaapiimage.h:
29482	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29483	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
29484	* gst-libs/gst/vaapi/gstvaapisurface.c:
29485	* gst-libs/gst/vaapi/gstvaapisurface.h:
29486	* tests/test-surfaces.c:
29487	  Restore the gst_vaapi_{surface,image,subpicture}_get_id() interfaces.
29488
294892010-03-25 09:39:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29490
29491	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29492	  Use the parent display object, no need to maintain another one.
29493	  In the end, libgstvaapi-x11 reduced by 1 KB in .text vs. 0.1.1.
29494
294952010-03-25 09:37:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29496
29497	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29498	  Add more internal helpers.
29499
295002010-03-24 17:40:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29501
29502	* gst-libs/gst/vaapi/gstvaapiimage.c:
29503	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29504	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29505	* gst-libs/gst/vaapi/gstvaapisurface.c:
29506	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29507	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29508	  Rename to GST_VAAPI_OBJECT_DISPLAY().
29509
295102010-03-24 17:38:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29511
29512	* docs/reference/libs/libs-sections.txt:
29513	* gst-libs/gst/vaapi/gstvaapiimage.c:
29514	* gst-libs/gst/vaapi/gstvaapiobject.c:
29515	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
29516	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29517	* gst-libs/gst/vaapi/gstvaapisurface.c:
29518	* gst-libs/gst/vaapi/gstvaapitypes.h:
29519	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29520	  All GstVaapiID are initialized to GST_VAAPI_ID_NONE by default. Besides, all GstVaapiObject derived class shall initialize "id" to a valid value.
29521
295222010-03-24 17:22:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29523
29524	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29525	* gst-libs/gst/vaapi/gstvaapiwindow.h:
29526	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29527	  Make GstVaapiWindow* derive from GstVaapiObject.
29528
295292010-03-24 16:37:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29530
29531	* configure.ac:
29532	  Factor out use gstreamer-vaapi (PACKAGE name).
29533
295342010-03-24 16:35:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29535
29536	* configure.ac:
29537	  Improve versioning summary.
29538
295392010-03-24 16:27:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29540
29541	* gst-libs/gst/vaapi/Makefile.am:
29542	  gstvaapicompat.h is now a private header (not installed).
29543
295442010-03-24 16:25:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29545
29546	* gst-libs/gst/vaapi/gstvaapiimage.c:
29547	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
29548	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
29549	* gst-libs/gst/vaapi/gstvaapiobject.c:
29550	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29551	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29552	  Include gstvaapicompat.h in source files only, not headers.
29553
295542010-03-24 16:21:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29555
29556	* configure.ac:
29557	* gst-libs/gst/vaapi/Makefile.am:
29558	* sys/vaapiconvert/Makefile.am:
29559	* sys/vaapisink/Makefile.am:
29560	* tests/Makefile.am:
29561	  Drop tedious LIBVA_EXTRA_{CFLAGS,LIBS} definitions in Makefile.am. Override CFLAGS & LIBS instead.
29562
295632010-03-24 16:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29564
29565	* NEWS:
29566	* configure.ac:
29567	* gst-libs/gst/vaapi/Makefile.am:
29568	* gst-libs/gst/vaapi/gstvaapicompat.h:
29569	* gst-libs/gst/vaapi/gstvaapidisplay.h:
29570	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
29571	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
29572	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
29573	* gst-libs/gst/vaapi/gstvaapisurface.c:
29574	* gst-libs/gst/vaapi/gstvaapiutils.c:
29575	* gst-libs/gst/vaapi/gstvaapiutils.h:
29576	* pkgconfig/gstreamer-vaapi-x11.pc.in:
29577	* pkgconfig/gstreamer-vaapi.pc.in:
29578	* sys/vaapiconvert/Makefile.am:
29579	* sys/vaapisink/Makefile.am:
29580	* tests/Makefile.am:
29581	  Add compatibility with the original VA-API 0.29.
29582
295832010-03-24 15:18:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29584
29585	* gst-libs/gst/vaapi/gstvaapivalue.h:
29586	  Add missing file (gstvaapivalue.h).
29587
295882010-03-24 15:12:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29589
29590	* gst-libs/gst/vaapi/gstvaapiimage.c:
29591	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29592	* gst-libs/gst/vaapi/gstvaapisurface.c:
29593	  Fix g_warning() invocation.
29594
295952010-03-24 15:11:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29596
29597	* gst-libs/gst/vaapi/gstvaapisurface.c:
29598	  Deassociate subpictures while destroying the surface.
29599
296002010-03-24 14:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29601
29602	* gst-libs/gst/vaapi/gstvaapisurface.c:
29603	  Fix destruction order of subpictures. They should be destroyed first.
29604
296052010-03-24 14:46:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29606
29607	* NEWS:
29608	* gst-libs/gst/vaapi/gstvaapiimage.c:
29609	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
29610	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
29611	* tests/test-windows.c:
29612	  Add support for AYUV format.
29613
296142010-03-24 14:36:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29615
29616	* tests/test-windows.c:
29617	  Simplify upload process and fallback to subpictures.
29618
296192010-03-24 13:44:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29620
29621	* docs/reference/libs/libs-docs.xml.in:
29622	* docs/reference/libs/libs-sections.txt:
29623	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
29624	  Fix documentation.
29625
296262010-03-24 13:37:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29627
29628	* gst-libs/gst/vaapi/Makefile.am:
29629	* gst-libs/gst/vaapi/gstvaapiobject.c:
29630	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
29631	* gst-libs/gst/vaapi/gstvaapitypes.h:
29632	* gst-libs/gst/vaapi/gstvaapivalue.c:
29633	  Move GValue specific stuff to a dedicated file.
29634
296352010-03-24 13:22:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29636
29637	* tests/test-surfaces.c:
29638	  Cosmetics (lowercase for consistency).
29639
296402010-03-24 13:21:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29641
29642	* gst-libs/gst/vaapi/gstvaapiobject.c:
29643	  Cosmetics (vertical alignment).
29644
296452010-03-24 13:20:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29646
29647	* gst-libs/gst/vaapi/gstvaapiobject.c:
29648	  Fix return value on error.
29649
296502010-03-24 13:19:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29651
29652	* docs/reference/libs/libs-sections.txt:
29653	* gst-libs/gst/vaapi/gstvaapiimage.c:
29654	* gst-libs/gst/vaapi/gstvaapiimage.h:
29655	* gst-libs/gst/vaapi/gstvaapiobject.c:
29656	* gst-libs/gst/vaapi/gstvaapiobject.h:
29657	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29658	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29659	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
29660	* gst-libs/gst/vaapi/gstvaapisurface.c:
29661	* gst-libs/gst/vaapi/gstvaapisurface.h:
29662	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29663	* tests/test-surfaces.c:
29664	  Move "id" down to the GstVaapiObject base.
29665
296662010-03-24 12:59:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29667
29668	* gst-libs/gst/vaapi/gstvaapitypes.c:
29669	  Cosmetics (drop extraneous empty line).
29670
296712010-03-24 12:57:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29672
29673	* gst-libs/gst/vaapi/Makefile.am:
29674	* gst-libs/gst/vaapi/gstvaapiparamspecs.c:
29675	* gst-libs/gst/vaapi/gstvaapiparamspecs.h:
29676	  Add GParamSpecs for GstVaapiID.
29677
296782010-03-24 12:54:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29679
29680	* docs/reference/libs/libs.types:
29681	  Drop gst_vaapi_id_get_type().
29682
296832010-03-24 12:38:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29684
29685	* docs/reference/libs/libs-sections.txt:
29686	* gst-libs/gst/vaapi/gstvaapitypes.h:
29687	  Add GST_VAAPI_ID_FORMAT() and GST_VAAPI_ID_ARGS() helpers.
29688
296892010-03-24 09:52:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29690
29691	* docs/reference/libs/libs-sections.txt:
29692	* docs/reference/libs/libs.types:
29693	* gst-libs/gst/vaapi/Makefile.am:
29694	* gst-libs/gst/vaapi/gstvaapitypes.c:
29695	* gst-libs/gst/vaapi/gstvaapitypes.h:
29696	  Add GstVaapiID abstraction.
29697
296982010-03-24 09:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29699
29700	* docs/reference/libs/libs.types:
29701	  Sort types.
29702
297032010-03-24 08:35:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29704
29705	* gst-libs/gst/vaapi/gstvaapidisplay.c:
29706	* gst-libs/gst/vaapi/gstvaapiimage.c:
29707	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29708	* gst-libs/gst/vaapi/gstvaapisurface.c:
29709	  Drop useless include (<va/va_backend.h>).
29710
297112010-03-24 08:34:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29712
29713	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29714	  Optimize GST_VAAPI_OBJECT_GET_DISPLAY to avoid a run-time check.
29715
297162010-03-24 08:32:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29717
29718	* gst-libs/gst/vaapi/Makefile.am:
29719	* gst-libs/gst/vaapi/gstvaapiimage.c:
29720	* gst-libs/gst/vaapi/gstvaapiobject.c:
29721	* gst-libs/gst/vaapi/gstvaapiobject.h:
29722	* gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29723	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29724	* gst-libs/gst/vaapi/gstvaapisurface.c:
29725	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29726	  Move private definitions and accessors to gstvaapiobject_priv.h.
29727
297282010-03-24 08:16:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29729
29730	* gst-libs/gst/vaapi/gstvaapidisplay.c:
29731	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29732	* gst-libs/gst/vaapi/gstvaapiimage.c:
29733	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
29734	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
29735	* gst-libs/gst/vaapi/gstvaapiobject.c:
29736	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29737	* gst-libs/gst/vaapi/gstvaapisurface.c:
29738	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
29739	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29740	* gst-libs/gst/vaapi/gstvaapivideopool.c:
29741	* gst-libs/gst/vaapi/gstvaapivideosink.c:
29742	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29743	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29744	  Fix short descriptions.
29745
297462010-03-23 18:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29747
29748	* Makefile.am:
29749	* configure.ac:
29750	* debian.upstream/Makefile.am:
29751	* debian.upstream/changelog.in:
29752	* debian.upstream/compat:
29753	* debian.upstream/control.in:
29754	* debian.upstream/copyright:
29755	* debian.upstream/gstreamer-vaapi-doc.install.in:
29756	* debian.upstream/gstreamer-vaapi.install.in:
29757	* debian.upstream/libgstvaapi-dev.install.in:
29758	* debian.upstream/libgstvaapi-x11.install.in:
29759	* debian.upstream/libgstvaapi.install.in:
29760	* debian.upstream/rules:
29761	  Generate upstream packages through make deb.upstream.
29762
297632010-03-23 17:40:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29764
29765	* configure.ac:
29766	  Bump version for development.
29767
297682010-03-23 17:29:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29769
29770	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
29771	  Use a black background for new windows.
29772
297732010-03-23 17:18:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29774
29775	* NEWS:
29776	  0.1.1.
29777
297782010-03-23 17:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29779
29780	* configure.ac:
29781	* docs/reference/libs/libs.types:
29782	* gst-libs/gst/vaapi/Makefile.am:
29783	* gst-libs/gst/vaapi/gstvaapimarshal.list:
29784	* gst-libs/gst/vaapi/gstvaapiobject.c:
29785	* gst-libs/gst/vaapi/gstvaapiobject.h:
29786	* tests/test-surfaces.c:
29787	  Add "destroy" signal.
29788
297892010-03-23 16:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29790
29791	* docs/reference/libs/libs-docs.xml.in:
29792	  Improve gst-plugins-vaapi Library reference template.
29793
297942010-03-23 16:21:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29795
29796	* docs/reference/libs/libs-docs.xml.in:
29797	* docs/reference/libs/libs-sections.txt:
29798	* gst-libs/gst/vaapi/Makefile.am:
29799	* gst-libs/gst/vaapi/gstvaapiimage.c:
29800	* gst-libs/gst/vaapi/gstvaapiimage.h:
29801	* gst-libs/gst/vaapi/gstvaapiobject.c:
29802	* gst-libs/gst/vaapi/gstvaapiobject.h:
29803	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29804	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
29805	* gst-libs/gst/vaapi/gstvaapisurface.c:
29806	* gst-libs/gst/vaapi/gstvaapisurface.h:
29807	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29808	  Make GstVaapi{Surface,Image,Subpicture} derive from a GstVaapiObject.
29809
298102010-03-23 16:11:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29811
29812	* sys/vaapisink/gstvaapisink.c:
29813	  Fix return value.
29814
298152010-03-23 15:34:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29816
29817	* sys/vaapisink/gstvaapisink.c:
29818	  Make sure VA display is valid when created with an explicit "display" name.
29819
298202010-03-23 15:28:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29821
29822	* sys/vaapisink/gstvaapisink.c:
29823	  Use plain "display" property for the X11 display name.
29824
298252010-03-23 15:22:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29826
29827	* sys/vaapiconvert/gstvaapiconvert.c:
29828	* sys/vaapisink/gstvaapisink.c:
29829	  Document vaapiconvert & vaapisink plugins.
29830
298312010-03-23 14:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29832
29833	* configure.ac:
29834	* docs/reference/Makefile.am:
29835	* docs/reference/plugins/Makefile.am:
29836	* docs/reference/plugins/plugins-docs.xml.in:
29837	* docs/reference/plugins/plugins-overrides.txt:
29838	* docs/reference/plugins/plugins-sections.txt:
29839	* docs/reference/plugins/plugins.types:
29840	  Add plugins documentation template.
29841
298422010-03-23 14:06:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29843
29844	* sys/vaapisink/gstvaapisink.c:
29845	* sys/vaapisink/gstvaapisink.h:
29846	  Don't export gst_vaapisink_get_display().
29847
298482010-03-23 13:32:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29849
29850	* configure.ac:
29851	* docs/reference/libs/libs-docs.xml.in:
29852	* gst-libs/gst/vaapi/gstvaapidisplay.c:
29853	* gst-libs/gst/vaapi/gstvaapiimage.c:
29854	* gst-libs/gst/vaapi/gstvaapisurface.c:
29855	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29856	  Drop introspection annotations since they require gtk-doc >= 1.12.
29857
298582010-03-23 10:51:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29859
29860	* gst-libs/gst/vaapi/gstvaapisurface.c:
29861	  Add note about the fact that the surface holds an extra reference to the subpicture.
29862
298632010-03-23 10:49:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29864
29865	* gst-libs/gst/vaapi/gstvaapiimage.c:
29866	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
29867	* gst-libs/gst/vaapi/gstvaapisurface.c:
29868	  Improve debugging messages.
29869
298702010-03-23 10:48:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29871
29872	* tests/test-windows.c:
29873	  Unref subpicture earlier as the surface is supposed to hold a reference to it.
29874
298752010-03-23 10:36:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29876
29877	* docs/reference/libs/libs-sections.txt:
29878	* gst-libs/gst/vaapi/gstvaapisurface.c:
29879	* gst-libs/gst/vaapi/gstvaapisurface.h:
29880	* tests/test-windows.c:
29881	  Add gst_vaapi_surface_{,de}associate_subpicture() API.
29882
298832010-03-23 08:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29884
29885	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29886	  Wait for MapNotify or UnmapNotify events on foreign windows too.
29887
298882010-03-23 07:42:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29889
29890	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29891	  Check whether the foreign XID is mapped at binding time.
29892
298932010-03-23 07:34:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29894
29895	* sys/vaapisink/gstvaapisink.c:
29896	  Add missing includes.
29897
298982010-03-23 07:31:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29899
29900	* configure.ac:
29901	* debian/Makefile.am:
29902	* debian/control.in:
29903	* debian/gstreamer-vaapi-doc.install.in:
29904	* debian/rules:
29905	  Add -doc package.
29906
299072010-03-23 06:41:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29908
29909	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29910	  Fix warnings (drop extraneous var).
29911
299122010-03-23 06:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29913
29914	* docs/reference/libs/libs-sections.txt:
29915	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
29916	  Add GST_VAAPI_WINDOW_XWINDOW() helper macro.
29917
299182010-03-22 16:59:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29919
29920	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29921	  Shorten condition.
29922
299232010-03-22 16:57:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29924
29925	* gst-libs/gst/vaapi/Makefile.am:
29926	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29927	* gst-libs/gst/vaapi/gstvaapiwindow.h:
29928	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
29929	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29930	  Try to improve switch to fullscreen mode.
29931
299322010-03-22 16:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29933
29934	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
29935	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
29936	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29937	  Improve display locking and rework X event wait functions.
29938
299392010-03-22 13:06:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29940
29941	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29942	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
29943	  Move _GstVaapiWindowPrivate declaration to gstvaapiwindow_priv.h.
29944
299452010-03-22 13:05:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29946
29947	* gst-libs/gst/vaapi/Makefile.am:
29948	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29949	* gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
29950	  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.
29951
299522010-03-22 12:47:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29953
29954	* docs/reference/libs/libs-sections.txt:
29955	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29956	* gst-libs/gst/vaapi/gstvaapiwindow.h:
29957	  Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property.
29958
299592010-03-22 12:39:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29960
29961	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29962	* gst-libs/gst/vaapi/gstvaapiwindow.h:
29963	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29964	  Add gst_vaapi_window_get_display() to base.
29965
299662010-03-22 12:16:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29967
29968	* docs/reference/libs/libs-docs.xml.in:
29969	* docs/reference/libs/libs-sections.txt:
29970	* gst-libs/gst/vaapi/Makefile.am:
29971	* gst-libs/gst/vaapi/gstvaapitypes.h:
29972	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29973	* gst-libs/gst/vaapi/gstvaapiwindow.h:
29974	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29975	* sys/vaapisink/gstvaapisink.c:
29976	* sys/vaapisink/gstvaapisink.h:
29977	  Add GstVaapiPoint & GstVaapiRectangle data structures.
29978
299792010-03-22 12:05:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29980
29981	* NEWS:
29982	  0.1.1.
29983
299842010-03-22 12:03:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29985
29986	* NEWS:
29987	* sys/vaapisink/gstvaapisink.c:
29988	* sys/vaapisink/gstvaapisink.h:
29989	  Allow `vaapisink` to render videos in fullscreen mode.
29990
299912010-03-22 10:51:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29992
29993	* docs/reference/libs/libs-sections.txt:
29994	* gst-libs/gst/vaapi/gstvaapiwindow.c:
29995	* gst-libs/gst/vaapi/gstvaapiwindow.h:
29996	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29997	  Add gst_vaapi_window_set_fullscreen() API.
29998
299992010-03-22 10:03:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30000
30001	* sys/vaapisink/gstvaapisink.c:
30002	  Size window so that to respect the video and pixel aspect ratio.
30003
300042010-03-22 09:32:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30005
30006	* docs/reference/libs/libs-sections.txt:
30007	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30008	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30009	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30010	* tests/test-display.c:
30011	  Add gst_vaapi_display_get_pixel_aspect_ratio().
30012
300132010-03-22 08:45:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30014
30015	* docs/reference/libs/libs-sections.txt:
30016	  Updates.
30017
300182010-03-22 08:44:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30019
30020	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30021	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30022	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30023	* tests/test-display.c:
30024	  Add display size accessors.
30025
300262010-03-22 08:03:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30027
30028	* configure.ac:
30029	* debian/control.in:
30030	  Build-Requires: gstreamer-plugins-base >= 0.10.16.
30031
300322010-03-21 08:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30033
30034	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30035	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30036	* gst-libs/gst/vaapi/gstvaapiimage.h:
30037	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
30038	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
30039	* gst-libs/gst/vaapi/gstvaapisurface.h:
30040	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
30041	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30042	* gst-libs/gst/vaapi/gstvaapivideopool.h:
30043	* gst-libs/gst/vaapi/gstvaapiwindow.h:
30044	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
30045	  Fix documentation of *Class'es.
30046
300472010-03-21 08:38:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30048
30049	* gst-libs/gst/vaapi/gstvaapiutils.c:
30050	* gst-libs/gst/vaapi/gstvaapiutils.h:
30051	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30052	  Move GstVaapiSurfaceRenderFlags conversion to get_PutSurface_flags_from_GstVaapiSurfaceRenderFlags().
30053
300542010-03-21 08:22:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30055
30056	* docs/reference/libs/libs-sections.txt:
30057	* gst-libs/gst/vaapi/gstvaapisurface.h:
30058	* gst-libs/gst/vaapi/gstvaapiwindow.h:
30059	  Move GstVaapiSurfaceRenderFlags to gstvaapisurface.h since this will also be useful for e.g. a gstvaapitexture.h.
30060
300612010-03-21 08:12:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30062
30063	* docs/reference/libs/libs-sections.txt:
30064	* gst-libs/gst/vaapi/gstvaapiwindow.c:
30065	* gst-libs/gst/vaapi/gstvaapiwindow.h:
30066	* sys/vaapisink/gstvaapisink.c:
30067	* tests/test-windows.c:
30068	  Rename gst_vaapi_window_put_surface_full() to plain gst_vaapi_window_put_surface().
30069
300702010-03-19 17:15:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30071
30072	* docs/reference/libs/Makefile.am:
30073	  Fix make dist for --enable-gtk-doc builds.
30074
300752010-03-19 17:13:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30076
30077	* autogen.sh:
30078	  Improve autogen.sh.
30079
300802010-03-19 17:11:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30081
30082	* Makefile.am:
30083	* autogen.sh:
30084	  Generate gtk-doc.make from gtkdocize.
30085
300862010-03-19 17:04:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30087
30088	* Makefile.am:
30089	* NEWS:
30090	* configure.ac:
30091	* docs/Makefile.am:
30092	* docs/reference/Makefile.am:
30093	* docs/reference/libs/Makefile.am:
30094	* docs/reference/libs/libs-docs.xml.in:
30095	* docs/reference/libs/libs-overrides.txt:
30096	* docs/reference/libs/libs-sections.txt:
30097	* docs/reference/libs/libs.types:
30098	  Document public API for libgstvaapi-*.so.*.
30099
301002010-03-19 16:41:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30101
30102	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30103	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30104	  Document GstVaapiVideoBuffer.
30105
301062010-03-19 16:08:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30107
30108	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
30109	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
30110	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
30111	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
30112	* gst-libs/gst/vaapi/gstvaapivideopool.c:
30113	* gst-libs/gst/vaapi/gstvaapivideopool.h:
30114	  Document surface & image pools. Drop obsolete gst_vaapi_video_pool_new() function.
30115
301162010-03-19 15:45:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30117
30118	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30119	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30120	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30121	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30122	* gst-libs/gst/vaapi/gstvaapiimage.c:
30123	* gst-libs/gst/vaapi/gstvaapiimage.h:
30124	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
30125	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
30126	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
30127	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
30128	* gst-libs/gst/vaapi/gstvaapisurface.c:
30129	* gst-libs/gst/vaapi/gstvaapisurface.h:
30130	* gst-libs/gst/vaapi/gstvaapivideosink.c:
30131	* gst-libs/gst/vaapi/gstvaapivideosink.h:
30132	* gst-libs/gst/vaapi/gstvaapiwindow.c:
30133	* gst-libs/gst/vaapi/gstvaapiwindow.h:
30134	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30135	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
30136	  Add tedious documentation.
30137
301382010-03-19 10:42:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30139
30140	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30141	  Beautify append_formats().
30142
301432010-03-19 10:38:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30144
30145	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30146	  Simplify GstVaapiDisplay (use GArray).
30147
301482010-03-19 08:42:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30149
30150	* NEWS:
30151	* sys/vaapiconvert/gstvaapiconvert.c:
30152	* sys/vaapiconvert/gstvaapiconvert.h:
30153	  Factor out direct-rendering infrastructure.
30154
301552010-03-18 16:18:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30156
30157	* sys/vaapiconvert/gstvaapiconvert.c:
30158	* sys/vaapiconvert/gstvaapiconvert.h:
30159	  Allow user to specify inout-buffers & derive-image optimizations.
30160
301612010-03-18 15:58:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30162
30163	* sys/vaapiconvert/gstvaapiconvert.c:
30164	  Reduce number of debug messaged printed out.
30165
301662010-03-18 15:53:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30167
30168	* sys/vaapiconvert/gstvaapiconvert.c:
30169	* sys/vaapiconvert/gstvaapiconvert.h:
30170	  Add vaDeriveImage() optimization.
30171
301722010-03-18 15:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30173
30174	* gst-libs/gst/vaapi/gstvaapiimage.c:
30175	  Fix gst_vaapi_image_create() from a foreign VA image.
30176
301772010-03-18 15:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30178
30179	* gst-libs/gst/vaapi/gstvaapiimage.c:
30180	* gst-libs/gst/vaapi/gstvaapiimage.h:
30181	* gst-libs/gst/vaapi/gstvaapisurface.c:
30182	* gst-libs/gst/vaapi/gstvaapisurface.h:
30183	  Add gst_vaapi_surface_derive_image() API.
30184
301852010-03-18 13:49:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30186
30187	* gst-libs/gst/vaapi/gstvaapiwindow.c:
30188	* gst-libs/gst/vaapi/gstvaapiwindow.h:
30189	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30190	  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().
30191
301922010-03-18 13:08:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30193
30194	* tests/test-windows.c:
30195	  Try YV12 & I420 image formats too.
30196
301972010-03-18 12:59:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30198
30199	* gst-libs/gst/vaapi/gstvaapiimage.c:
30200	  Split map/unmap functions into internal functions that don't check preconditions.
30201
302022010-03-18 12:56:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30203
30204	* gst-libs/gst/vaapi/gstvaapiimage.c:
30205	  Improve gst_vaapi_image_new() sanity checks.
30206
302072010-03-18 12:52:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30208
30209	* tests/test-windows.c:
30210	  Fix typo.
30211
302122010-03-18 08:45:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30213
30214	* sys/vaapiconvert/gstvaapiconvert.c:
30215	  Check if our inout buffer is still alive or default to a separate output buffer.
30216
302172010-03-18 08:16:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30218
30219	* sys/vaapiconvert/gstvaapiconvert.c:
30220	* sys/vaapiconvert/gstvaapiconvert.h:
30221	  Factor out buffers negotiation and optimization checks.
30222
302232010-03-18 08:02:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30224
30225	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30226	* gst-libs/gst/vaapi/gstvaapiimage.c:
30227	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
30228	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
30229	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30230	* sys/vaapiconvert/gstvaapiconvert.h:
30231	  Use gtypes.
30232
302332010-03-17 10:43:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30234
30235	* gst-libs/gst/vaapi/gstvaapiimage.c:
30236	  Optimize gst_vaapi_image_is_linear() and simplify gst_vaapi_image_update_from_buffer().
30237
302382010-03-17 07:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30239
30240	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30241	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30242	* gst-libs/gst/vaapi/gstvaapiimage.c:
30243	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
30244	* gst-libs/gst/vaapi/gstvaapisurface.c:
30245	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30246	  Add VA display locking utilities.
30247
302482010-03-17 07:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30249
30250	* sys/vaapisink/gstvaapisink.c:
30251	  Initialize the X window in a ::set_caps() handler. Also fix build with GStreamer < 0.10.25. i.e. use preroll/render hooks.
30252
302532010-03-17 07:17:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30254
30255	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30256	* tests/test-windows.c:
30257	  Don't show window by default during creation.
30258
302592010-03-17 06:49:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30260
30261	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30262	  Fix gst_vaapi_window_x11_destroy().
30263
302642010-03-16 17:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30265
30266	* sys/vaapiconvert/gstvaapiconvert.c:
30267	* sys/vaapiconvert/gstvaapiconvert.h:
30268	  Alias sink & src pad buffers whenever possible.
30269
302702010-03-16 17:57:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30271
30272	* gst-libs/gst/vaapi/gstvaapiimage.c:
30273	* gst-libs/gst/vaapi/gstvaapiimage.h:
30274	  Extend GstVaapiImage API with *_get_image(), *_is_linear(), *_get_data_size().
30275
302762010-03-16 17:10:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30277
30278	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30279	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30280	  Make GstVaapiVideoBuffer handle two pools. i.e. both image & surface at the same time.
30281
302822010-03-16 14:37:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30283
30284	* sys/vaapiconvert/gstvaapiconvert.c:
30285	  Fix image & surface size cache.
30286
302872010-03-16 14:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30288
30289	* configure.ac:
30290	  Move gstreamer-vaapi package versioning to the top.
30291
302922010-03-16 14:11:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30293
30294	* configure.ac:
30295	  Bump version for development.
30296
302972010-03-16 14:07:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30298
30299	* configure.ac:
30300	  Cosmetics (shorten lines).
30301
303022010-03-16 13:58:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30303
30304	* NEWS:
30305	* README:
30306	  Update docs.
30307
303082010-03-16 13:53:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30309
30310	* debian/Makefile.am:
30311	* debian/changelog.in:
30312	* debian/compat:
30313	* debian/control.in:
30314	* debian/copyright:
30315	* debian/gstreamer-vaapi.install.in:
30316	* debian/libgstvaapi-dev.install.in:
30317	* debian/libgstvaapi-x11.install.in:
30318	* debian/libgstvaapi.install.in:
30319	* debian/rules:
30320	  Add debian packaging.
30321
303222010-03-16 13:53:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30323
30324	* Makefile.am:
30325	* configure.ac:
30326	  Add debian packaging.
30327
303282010-03-16 10:13:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30329
30330	* pkgconfig/Makefile.am:
30331	  Silence GNU make extensions warning.
30332
303332010-03-16 09:59:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30334
30335	* configure.ac:
30336	  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'
30337
303382010-03-16 09:57:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30339
30340	* Makefile.am:
30341	* configure.ac:
30342	* pkgconfig/Makefile.am:
30343	* pkgconfig/gstreamer-vaapi-x11.pc.in:
30344	* pkgconfig/gstreamer-vaapi.pc.in:
30345	  Add pkgconfig files.
30346
303472010-03-16 09:39:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30348
30349	* configure.ac:
30350	* gst-libs/gst/vaapi/Makefile.am:
30351	* sys/vaapisink/Makefile.am:
30352	* tests/Makefile.am:
30353	  Split X11 support to libgstvaapi-x11-*.so.*
30354
303552010-03-16 09:21:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30356
30357	* gst-libs/gst/vaapi/Makefile.am:
30358	  Don't install private headers.
30359
303602010-03-16 09:18:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30361
30362	* gst-libs/gst/vaapi/gstvaapidebug.h:
30363	* gst-libs/gst/vaapi/gstvaapiutils.c:
30364	* gst-libs/gst/vaapi/gstvaapiutils.h:
30365	  Fix header guards.
30366
303672010-03-16 09:17:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30368
30369	* gst-libs/gst/vaapi/Makefile.am:
30370	* gst-libs/gst/vaapi/gstvaapidebug.h:
30371	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30372	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30373	* gst-libs/gst/vaapi/gstvaapiimage.c:
30374	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
30375	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
30376	* gst-libs/gst/vaapi/gstvaapisurface.c:
30377	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
30378	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30379	* gst-libs/gst/vaapi/gstvaapivideopool.c:
30380	* gst-libs/gst/vaapi/gstvaapiwindow.c:
30381	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30382	  Rename vaapi_debug.h to gstvaapidebug.h.
30383
303842010-03-16 09:15:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30385
30386	* gst-libs/gst/vaapi/Makefile.am:
30387	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30388	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30389	* gst-libs/gst/vaapi/gstvaapiimage.c:
30390	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
30391	* gst-libs/gst/vaapi/gstvaapisurface.c:
30392	* gst-libs/gst/vaapi/gstvaapiutils.c:
30393	* gst-libs/gst/vaapi/gstvaapiutils.h:
30394	* gst-libs/gst/vaapi/vaapi_debug.h:
30395	  Move vaapi_utils.* to gstvaapiutils.*
30396
303972010-03-16 09:13:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30398
30399	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
30400	  Cosmetics (remove an extra line).
30401
304022010-03-16 09:12:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30403
30404	* gst-libs/gst/vaapi/Makefile.am:
30405	* gst-libs/gst/vaapi/gstvaapiutils_x11.c:
30406	* gst-libs/gst/vaapi/gstvaapiutils_x11.h:
30407	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30408	  Move X11 utilties to gstvaapiutils_x11.[ch].
30409
304102010-03-16 09:03:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30411
30412	* gst-libs/gst/vaapi/Makefile.am:
30413	* gst-libs/gst/vaapi/gstvaapivideosink.c:
30414	* gst-libs/gst/vaapi/gstvaapivideosink.h:
30415	* sys/vaapiconvert/gstvaapiconvert.c:
30416	* sys/vaapisink/gstvaapisink.c:
30417	  Rename GstVaapiSinkBase to GstVaapiVideoSink.
30418
304192010-03-16 08:49:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30420
30421	* configure.ac:
30422	* tests/Makefile.am:
30423	* tests/examples/Makefile.am:
30424	* tests/examples/generic/Makefile.am:
30425	* tests/test-display.c:
30426	* tests/test-surfaces.c:
30427	* tests/test-windows.c:
30428	  Move tests to top-level tests/ directory.
30429
304302010-03-16 08:43:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30431
30432	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30433	* gst-libs/gst/vaapi/gstvaapiimage.c:
30434	* sys/vaapiconvert/gstvaapiconvert.c:
30435	* sys/vaapiconvert/gstvaapiconvert.h:
30436	  Handle I420 formats internally in GstVaapiImage.
30437
304382010-03-15 17:44:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30439
30440	* sys/vaapiconvert/gstvaapiconvert.c:
30441	* sys/vaapiconvert/gstvaapiconvert.h:
30442	  Implement I420 (resp. YV12) with YV12 (resp. I420) if the driver does not.
30443
304442010-03-15 17:43:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30445
30446	* gst-libs/gst/vaapi/gstvaapiimage.c:
30447	  Implement I420 and YV12 if the underlying implementation does not.
30448
304492010-03-15 17:10:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30450
30451	* sys/vaapiconvert/Makefile.am:
30452	* sys/vaapiconvert/gstvaapiconvert.c:
30453	* sys/vaapiconvert/gstvaapiconvert.h:
30454	  Add initial vaapiconvert plugin.
30455
304562010-03-15 17:09:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30457
30458	* sys/vaapisink/gstvaapisink.c:
30459	* sys/vaapisink/gstvaapisink.h:
30460	  Display frames.
30461
304622010-03-15 16:57:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30463
30464	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30465	  Factor out.
30466
304672010-03-15 16:57:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30468
30469	* tests/examples/generic/test-windows.c:
30470	  Generate R/G/B rects.
30471
304722010-03-15 16:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30473
30474	* gst-libs/gst/vaapi/gstvaapisurface.c:
30475	* gst-libs/gst/vaapi/gstvaapisurface.h:
30476	  Add gst_vaapi_surface_sync().
30477
304782010-03-15 16:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30479
30480	* gst-libs/gst/vaapi/gstvaapiimage.c:
30481	  Cosmetics (reverse args order).
30482
304832010-03-15 15:55:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30484
30485	* gst-libs/gst/vaapi/gstvaapiimage.c:
30486	* gst-libs/gst/vaapi/gstvaapiimage.h:
30487	* gst-libs/gst/vaapi/gstvaapisurface.c:
30488	  Cosmetics.
30489
304902010-03-15 15:12:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30491
30492	* gst-libs/gst/vaapi/Makefile.am:
30493	* gst-libs/gst/vaapi/gstvaapiwindow.c:
30494	* gst-libs/gst/vaapi/gstvaapiwindow.h:
30495	* gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30496	* gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
30497	* tests/examples/generic/Makefile.am:
30498	* tests/examples/generic/test-windows.c:
30499	  Add VA/X11 window abstraction.
30500
305012010-03-15 14:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30502
30503	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30504	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30505	  Add VA and X11 display accessors.
30506
305072010-03-15 14:57:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30508
30509	* gst-libs/gst/vaapi/gstvaapiimage.c:
30510	  Fix preconditions.
30511
305122010-03-15 13:32:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30513
30514	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30515	  Cosmetics.
30516
305172010-03-15 11:49:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30518
30519	* gst-libs/gst/vaapi/gstvaapiimage.c:
30520	* gst-libs/gst/vaapi/gstvaapiimage.h:
30521	* gst-libs/gst/vaapi/gstvaapisurface.c:
30522	* gst-libs/gst/vaapi/gstvaapisurface.h:
30523	  Add gst_vaapi_{get,put}_image() API.
30524
305252010-03-15 10:27:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30526
30527	* gst-libs/gst/vaapi/gstvaapiimage.c:
30528	* gst-libs/gst/vaapi/gstvaapiimage.h:
30529	  Add gst_vaapi_image_update_from_buffer() helper.
30530
305312010-03-12 23:53:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30532
30533	* sys/vaapisink/Makefile.am:
30534	* sys/vaapisink/gstvaapisink.c:
30535	* sys/vaapisink/gstvaapisink.h:
30536	  Implement GstVaapiSinkBase interface and integrate with GST_DEBUG better.
30537
305382010-03-12 23:50:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30539
30540	* tests/examples/generic/Makefile.am:
30541	* tests/examples/generic/test-surfaces.c:
30542	  Add surface tests.
30543
305442010-03-12 23:48:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30545
30546	* gst-libs/gst/vaapi/Makefile.am:
30547	* gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30548	* gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30549	  Add basic GstVaapiVideoBuffer.
30550
305512010-03-12 23:47:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30552
30553	* gst-libs/gst/vaapi/Makefile.am:
30554	* gst-libs/gst/vaapi/gstvaapiimagepool.c:
30555	* gst-libs/gst/vaapi/gstvaapiimagepool.h:
30556	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
30557	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
30558	* gst-libs/gst/vaapi/gstvaapivideopool.c:
30559	* gst-libs/gst/vaapi/gstvaapivideopool.h:
30560	  Add GstVaapiImagePool and factor out GstVaapiSurfacePool from a base GstVaapiVideoPool.
30561
305622010-03-12 22:32:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30563
30564	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
30565	  Simplify format conversion code.
30566
305672010-03-12 22:28:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30568
30569	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
30570	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
30571	  Add gst_vaapi_image_format_from_caps() helper.
30572
305732010-03-12 17:45:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30574
30575	* gst-libs/gst/vaapi/Makefile.am:
30576	* gst-libs/gst/vaapi/gstvaapisurfacepool.c:
30577	* gst-libs/gst/vaapi/gstvaapisurfacepool.h:
30578	  Add VA surface pool (lazy allocator).
30579
305802010-03-12 17:39:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30581
30582	* gst-libs/gst/vaapi/gstvaapisurface.c:
30583	* gst-libs/gst/vaapi/gstvaapisurface.h:
30584	  Add gst_vaapi_surface_get_size() helper.
30585
305862010-03-12 10:52:08 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30587
30588	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
30589	  Avoid use of GstStaticCaps since older gstreamer versions (0.10.22) write to it.
30590
305912010-03-11 15:35:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30592
30593	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30594	  Reset display-name if the user provided his own X11 display.
30595
305962010-03-11 15:21:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30597
30598	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30599	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30600	* tests/examples/generic/test-display.c:
30601	  Add gst_vaapi_display_x11_new_with_display() API.
30602
306032010-03-11 15:04:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30604
30605	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30606	* gst-libs/gst/vaapi/gstvaapiimage.h:
30607	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
30608	* gst-libs/gst/vaapi/gstvaapisurface.h:
30609	  Fix *_GET_CLASS() definitions...
30610
306112010-03-11 15:01:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30612
30613	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30614	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30615	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30616	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30617	* tests/examples/generic/test-display.c:
30618	  API change: gst_vaapi_display_x11_new() now takes an X11 display name.
30619
306202010-03-11 13:58:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30621
30622	* gst-libs/gst/vaapi/gstvaapisurface.c:
30623	* gst-libs/gst/vaapi/gstvaapisurface.h:
30624	  Use GstVaapiChromaType abstraction.
30625
306262010-03-11 12:30:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30627
30628	* gst-libs/gst/vaapi/gstvaapiimage.c:
30629	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
30630	* gst-libs/gst/vaapi/gstvaapisurface.c:
30631	  New refcounting policy. All getters return a reference, not a copy. So the user shall reference the object itself, should he wish so.
30632
306332010-03-11 12:14:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30634
30635	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
30636	  Don't warn on failure, just return an appropriate error or value.
30637
306382010-03-11 12:11:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30639
30640	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30641	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
30642	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
30643	  Filter out any format that is not supported by the library (libgstvaapi). Also sort the formats by HW preference.
30644
306452010-03-11 10:50:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30646
30647	* gst-libs/gst/vaapi/Makefile.am:
30648	* gst-libs/gst/vaapi/gstvaapisinkbase.c:
30649	* gst-libs/gst/vaapi/gstvaapisinkbase.h:
30650	  Add helper interface that all VA-API sinks must implement. e.g. vaapisink.
30651
306522010-03-10 13:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30653
30654	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30655	* gst-libs/gst/vaapi/gstvaapiimage.c:
30656	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
30657	* gst-libs/gst/vaapi/gstvaapisurface.c:
30658	* gst-libs/gst/vaapi/vaapi_debug.h:
30659	  Use GST_DEBUG.
30660
306612010-03-10 13:10:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30662
30663	* gst-libs/gst/vaapi/gstvaapiimage.c:
30664	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
30665	  Fix GstVaapiImage and GstVaapiSubpicture initialization.
30666
306672010-03-10 13:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30668
30669	* gst-libs/gst/vaapi/gstvaapisurface.c:
30670	  Fix GstVaapiSurface initialization, override constructed() method, not constructor(). GObject C is awful...
30671
306722010-03-10 12:25:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30673
30674	* tests/examples/generic/test-display.c:
30675	  Dump caps.
30676
306772010-03-10 12:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30678
30679	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30680	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30681	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30682	  Fix GstVaapiDisplay initialization.
30683
306842010-03-10 10:43:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30685
30686	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30687	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30688	  Get VA image & subpicture formats as GstCaps.
30689
306902010-03-10 10:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30691
30692	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
30693	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
30694	  Add helper to convert from GstVaapiImageFormat to GstCaps.
30695
306962010-03-09 12:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30697
30698	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30699	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30700	* gst-libs/gst/vaapi/gstvaapisurface.c:
30701	  Cosmetics (drop unused variables).
30702
307032010-03-05 17:11:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30704
30705	* configure.ac:
30706	* sys/vaapiconvert/Makefile.am:
30707	* sys/vaapiconvert/gstvaapiconvert.c:
30708	* sys/vaapiconvert/gstvaapiconvert.h:
30709	* sys/vaapisink/Makefile.am:
30710	* sys/vaapisink/gstvaapisink.c:
30711	* sys/vaapisink/gstvaapisink.h:
30712	  Add boilerplate for vaapiconvert and vaapisink elements.
30713
307142010-03-05 15:29:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30715
30716	* configure.ac:
30717	* sys/Makefile.am:
30718	* sys/vaapiconvert/Makefile.am:
30719	  Add vaapiconvert element hierarchy.
30720
307212010-03-05 15:26:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30722
30723	* sys/vaapisink/Makefile.am:
30724	  Rename to vaapisink.
30725
307262010-03-05 10:07:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30727
30728	* gst-libs/gst/vaapi/gstvaapisurface.c:
30729	  Shorter code (and more correct).
30730
307312010-03-05 10:04:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30732
30733	* gst-libs/gst/vaapi/gstvaapisurface.c:
30734	* gst-libs/gst/vaapi/gstvaapisurface.h:
30735	  Add helper to get GstVaapiDisplay from a surface.
30736
307372010-03-05 08:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30738
30739	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30740	  Fix subpicture formats list length.
30741
307422010-03-04 17:41:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30743
30744	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30745	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30746	  Add utilities to check whether a VA-API driver supports specific image or subpicture format. Likewise for VA profile.
30747
307482010-03-04 17:40:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30749
30750	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30751	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30752	  Cosmetics (more checks, includes).
30753
307542010-03-04 17:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30755
30756	* gst-libs/gst/vaapi/gstvaapisubpicture.c:
30757	* gst-libs/gst/vaapi/gstvaapisubpicture.h:
30758	  Really add VA subpicture abstraction.
30759
307602010-03-04 17:39:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30761
30762	* gst-libs/gst/vaapi/Makefile.am:
30763	* gst-libs/gst/vaapi/gstvaapiimage.c:
30764	* gst-libs/gst/vaapi/gstvaapiimage.h:
30765	* gst-libs/gst/vaapi/gstvaapiimageformat.c:
30766	* gst-libs/gst/vaapi/gstvaapiimageformat.h:
30767	* gst-libs/gst/vaapi/gstvaapisurface.c:
30768	* gst-libs/gst/vaapi/gstvaapisurface.h:
30769	  Add VA surface, image, subpicture abstractions. Ported over from Gnash.
30770
307712010-01-25 16:15:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30772
30773	* configure.ac:
30774	* gst-libs/gst/vaapi/Makefile.am:
30775	* gst-libs/gst/vaapi/gstvaapidisplay.c:
30776	* gst-libs/gst/vaapi/gstvaapidisplay.h:
30777	* gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30778	* gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30779	* gst-libs/gst/vaapi/vaapi_debug.h:
30780	* gst-libs/gst/vaapi/vaapi_utils.c:
30781	* gst-libs/gst/vaapi/vaapi_utils.h:
30782	* tests/examples/generic/Makefile.am:
30783	* tests/examples/generic/test-display.c:
30784	  Add initial VA display abstraction.
30785
307862010-01-25 15:04:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30787
30788	* Makefile.am:
30789	* configure.ac:
30790	* tests/Makefile.am:
30791	* tests/examples/Makefile.am:
30792	* tests/examples/generic/Makefile.am:
30793	  Add tests infrastructure.
30794
307952010-01-25 14:59:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30796
30797	* configure.ac:
30798	  Clean up VA-API checks.
30799
308002010-01-25 13:49:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30801
30802	* configure.ac:
30803	  Check for __attribute__((visibility("hidden"))).
30804
30805