platform/upstream/gstreamer.git
8 years agoplugins: remove param in gst_vaapi_plugin_base_decide_allocation()
Víctor Manuel Jáquez Leal [Thu, 10 Mar 2016 15:43:16 +0000 (16:43 +0100)]
plugins: remove param in gst_vaapi_plugin_base_decide_allocation()

8 years agovaapidecode: bail early if not caps in decide_allocation()
Víctor Manuel Jáquez Leal [Thu, 10 Mar 2016 15:42:04 +0000 (16:42 +0100)]
vaapidecode: bail early if not caps in decide_allocation()

8 years agoplugin: use allowed caps filter from element
Víctor Manuel Jáquez Leal [Tue, 29 Mar 2016 12:17:54 +0000 (14:17 +0200)]
plugin: use allowed caps filter from element

Instead of using the srcpad template caps for filtering the peer caps, the
function gst_vaapi_find_preferred_caps_feature(), now receives a new parameter
for the element's allowed caps.

With this modification, the vaapipostproc element simplifies a bit its code.

https://bugzilla.gnome.org/show_bug.cgi?id=765223

8 years agoplugin: remove function parameter
Víctor Manuel Jáquez Leal [Mon, 18 Apr 2016 15:28:51 +0000 (17:28 +0200)]
plugin: remove function parameter

The native format parameter in gst_vaapi_find_preferred_caps_feature() can be
saved if the out format is used for both: in and out. Thus the code is more
readable.

https://bugzilla.gnome.org/show_bug.cgi?id=765223

8 years agovaapidecode: warns if driver will do color conversions
Víctor Manuel Jáquez Leal [Mon, 18 Apr 2016 15:17:58 +0000 (17:17 +0200)]
vaapidecode: warns if driver will do color conversions

If the downstream feature is system memory, the surface has to be mapped,
hence a warning message is logged saying that the driver has to do color
conversions. This might be troublesome because not all the color conversion
combinations are supported by the VA-API drivers, and there is not a reliable
way to know them before hand.

https://bugzilla.gnome.org/show_bug.cgi?id=765223

8 years agoplugin: honour negotiated format
Víctor Manuel Jáquez Leal [Tue, 29 Mar 2016 11:28:27 +0000 (13:28 +0200)]
plugin: honour negotiated format

Instead of setting the requested format by the caller, the function
gst_vaapi_find_preferred_caps_feature() now returns, in the output parameter,
the negotiated format.

A new helper function was added: gst_vaapi_find_preferred_format(), which,
given the format list from the negotiated caps, will choose the best one, if
possible, given the native format.

https://bugzilla.gnome.org/show_bug.cgi?id=765223

8 years agoplugin: simplify caps feature selection
Víctor Manuel Jáquez Leal [Mon, 28 Mar 2016 17:26:02 +0000 (19:26 +0200)]
plugin: simplify caps feature selection

This patch simplifies the function gst_vaapi_find_preferred_caps_feature().

Instead of intersecting custom caps to find the preferred feature, the peer
caps are traversed in order to find the preferred feature, according to an
ordered feature priority list.

In the case of GLTextureUploadMeta, the colour format is computed using
GstVideoInfo of the selected fixed caps.

https://bugzilla.gnome.org/show_bug.cgi?id=765223

8 years agovaapidecode: use macros for GstVideoInfo
Víctor Manuel Jáquez Leal [Thu, 31 Mar 2016 14:39:08 +0000 (16:39 +0200)]
vaapidecode: use macros for GstVideoInfo

Instead of accessing directly to the members of the structure, use the macros.

8 years agovaapidecode: refactor is_display_resolution_changed()
Víctor Manuel Jáquez Leal [Thu, 14 Apr 2016 15:02:23 +0000 (17:02 +0200)]
vaapidecode: refactor is_display_resolution_changed()

Make the comparisons more readable and simple.

https://bugzilla.gnome.org/show_bug.cgi?id=764316

8 years agovaapidecode: keep only display_{width,height}
Víctor Manuel Jáquez Leal [Thu, 14 Apr 2016 14:43:07 +0000 (16:43 +0200)]
vaapidecode: keep only display_{width,height}

Instead of keeping the structure GstVideoInfo when we are using its width and
height, we only keep these two guints.

https://bugzilla.gnome.org/show_bug.cgi?id=764316

8 years agovaapidecode: decoded_info is valid at src caps update
Víctor Manuel Jáquez Leal [Thu, 14 Apr 2016 14:31:34 +0000 (16:31 +0200)]
vaapidecode: decoded_info is valid at src caps update

As decoded_info is assured to be valid when gst_vaapidecode_update_src_caps()
is called, then we don't need to verify or replace it with the sinkpad info
(reference state).

https://bugzilla.gnome.org/show_bug.cgi?id=764316

8 years agovaapidecode: always a valid format in decoded_info
Víctor Manuel Jáquez Leal [Thu, 14 Apr 2016 14:22:25 +0000 (16:22 +0200)]
vaapidecode: always a valid format in decoded_info

Always set a valid format in decoded_info class variable.

https://bugzilla.gnome.org/show_bug.cgi?id=764316

8 years agovaapidecode: code style fixes
Víctor Manuel Jáquez Leal [Fri, 25 Mar 2016 14:31:28 +0000 (15:31 +0100)]
vaapidecode: code style fixes

No functional changes.

https://bugzilla.gnome.org/show_bug.cgi?id=764316

8 years agovaapidecode: init {decoded,display}_info at open()
Víctor Manuel Jáquez Leal [Thu, 14 Apr 2016 14:10:02 +0000 (16:10 +0200)]
vaapidecode: init {decoded,display}_info at open()

It is required to initialize {decoded,display}_info variables when the decoder
is open, not only at instance initialization.

https://bugzilla.gnome.org/show_bug.cgi?id=764316

8 years agovaapidecode: remove spurious class variables
Víctor Manuel Jáquez Leal [Mon, 28 Mar 2016 13:30:28 +0000 (15:30 +0200)]
vaapidecode: remove spurious class variables

active, do_pool_renego and do_outstate_renego class variables were used to
indicate when negotiate downstream once, but now that each time a new surface
resolution is pop out a renegotation verified, these variable are not required
anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=764316

8 years agoremove custom allocation query
Víctor Manuel Jáquez Leal [Thu, 14 Apr 2016 13:46:32 +0000 (15:46 +0200)]
remove custom allocation query

When resolving bug 753914, a custom allocation query was added, overlapping
the responsibilities of GstVideoDecoder.

But with the merge of the patches from bug 764421 this overlapping was not
required anymore. This patch restores this situation setting the
allocation_caps in the GstVideoCodecState when needed.

https://bugzilla.gnome.org/show_bug.cgi?id=764316

8 years agoAutomatic update of common submodule
Julien Isorce [Thu, 14 Apr 2016 09:04:47 +0000 (10:04 +0100)]
Automatic update of common submodule

From 6f2d209 to ac2f647

8 years agoplugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX
Víctor Manuel Jáquez Leal [Wed, 13 Apr 2016 13:44:20 +0000 (15:44 +0200)]
plugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX

The plugins should not expose the feature meta:GstVideoGLTextureUploadMeta in
their caps templates if they were not compiled either with GLX or EGL support.

8 years agoplugins: fix compilation when EGL/GLX is disabled
Víctor Manuel Jáquez Leal [Wed, 13 Apr 2016 18:33:32 +0000 (20:33 +0200)]
plugins: fix compilation when EGL/GLX is disabled

The compiler might complain of gst_vaapi_create_display_from_handle() being
unused if both EGL and GLX are disabled. This patch avoid that compilation
error.

8 years agolibs: fix deleting a GstVaapiCodedBufferPool object
Michael Olbrich [Wed, 13 Apr 2016 12:09:00 +0000 (14:09 +0200)]
libs: fix deleting a GstVaapiCodedBufferPool object

Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
Otherwise it is not called when the pool is destroyed and all objects
referenced by the GstVaapiVideoPool are never released.

https://bugzilla.gnome.org/show_bug.cgi?id=764993

8 years agosurface: destroy derived image
Víctor Manuel Jáquez Leal [Thu, 7 Apr 2016 16:03:42 +0000 (18:03 +0200)]
surface: destroy derived image

If gst_vaapi_image_new_with_image() fails, the created derived image should be
destroyed, otherwise the surface cannot be processed because is being used.

https://bugzilla.gnome.org/show_bug.cgi?id=764607

8 years agovaapidecode: add stop function
Thiago Santos [Fri, 18 Mar 2016 23:00:52 +0000 (20:00 -0300)]
vaapidecode: add stop function

Clear any status on the current stream:

stored frames, caps and decoder configuration

https://bugzilla.gnome.org/show_bug.cgi?id=763460

8 years agodecoder: vp9: Align with the ABI changes in vp9 codecparser
Sreerenj Balachandran [Fri, 1 Apr 2016 11:00:28 +0000 (14:00 +0300)]
decoder: vp9: Align with the ABI changes in vp9 codecparser

The subsampling_x, subsampling_y, bit_depth, color_space and color_range
fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
These fields are only present in keyframe or intra-only frame, no need to
duplicate them for inter-frames.

https://bugzilla.gnome.org/show_bug.cgi?id=764082

8 years agodecoder: vp9 : Add 10bit decoding support (Profile2)
Sreerenj Balachandran [Fri, 1 Apr 2016 10:59:59 +0000 (13:59 +0300)]
decoder: vp9 : Add 10bit decoding support (Profile2)

https://bugzilla.gnome.org/show_bug.cgi?id=764082

8 years agogstvaapiporfile: Add more VP9 profile definitions
Sreerenj Balachandran [Fri, 1 Apr 2016 10:57:45 +0000 (13:57 +0300)]
gstvaapiporfile: Add more VP9 profile definitions

https://bugzilla.gnome.org/show_bug.cgi?id=764082

8 years agobuild: possibility to disable tests
Víctor Manuel Jáquez Leal [Wed, 3 Feb 2016 19:34:49 +0000 (20:34 +0100)]
build: possibility to disable tests

The configuration option --disable-examples will disable the compilation of
the sample apps in tests/ directory.

8 years agounify caps template for VAAPI encoders and decoders
Víctor Manuel Jáquez Leal [Tue, 29 Mar 2016 12:25:55 +0000 (14:25 +0200)]
unify caps template for VAAPI encoders and decoders

There is no difference in VAAPI surface caps between encoders and decoders.
Thus, the patch makes a simplification by removing encoders specific caps and
shares the same definition of VAAPI surfaces caps for all the elements.

8 years agovaapidecode: move gst_vaapidecode_negotiate() code
Víctor Manuel Jáquez Leal [Thu, 10 Mar 2016 16:42:55 +0000 (17:42 +0100)]
vaapidecode: move gst_vaapidecode_negotiate() code

With it we can remove a function declaration, making the code a bit
more readable.

https://bugzilla.gnome.org/show_bug.cgi?id=764316

8 years agodocs: generate vaapijpegdec documentation
Víctor Manuel Jáquez Leal [Tue, 29 Mar 2016 11:50:00 +0000 (13:50 +0200)]
docs: generate vaapijpegdec documentation

https://bugzilla.gnome.org/show_bug.cgi?id=764314

8 years agodecoder: h265: Fix offset calculation when there is more than one vps/sps/pps present...
Sreerenj Balachandran [Wed, 30 Mar 2016 11:37:21 +0000 (14:37 +0300)]
decoder: h265: Fix offset calculation when there is more than one vps/sps/pps present in codec_data

The array_completeness, reserved bit and num_nal_units fields
in HEVCDecoderConfigurationRecord will be present for each VPS/SPS/PPS array list,
but not for each occurance of similar headers.

https://bugzilla.gnome.org/show_bug.cgi?id=764274

8 years agovideo-format: Keep the HW order preference while mapping to GstVideoFormats
Sreerenj Balachandran [Tue, 29 Mar 2016 12:34:38 +0000 (15:34 +0300)]
video-format: Keep the HW order preference while mapping to GstVideoFormats

8 years agogst/vaapi: keep precedence for NV12 over I420
Sreerenj Balachandran [Tue, 29 Mar 2016 12:02:46 +0000 (15:02 +0300)]
gst/vaapi: keep precedence for NV12 over I420

Use NV12 as default "assumption" format all over.
NV12 is the default high priority format used my most of the
vaapi-drivers.

8 years agovaapidecode: Use video format derived from decoded surface as default src pad format
Sreerenj Balachandran [Tue, 29 Mar 2016 11:34:37 +0000 (14:34 +0300)]
vaapidecode: Use video format derived from decoded surface as default src pad format

Use the surface format derived from first decoded surface
to negotiate the downstream video format capabilities.

https://bugzilla.gnome.org/show_bug.cgi?id=759181

8 years agoAdd P010 video format support
Scott D Phillips [Tue, 29 Mar 2016 11:34:00 +0000 (14:34 +0300)]
Add P010 video format support

The P010 video format is the native format used by the vaapi intel driver
for HEVCMain10 decode . Add support for planes and images of this video format.

https://bugzilla.gnome.org/show_bug.cgi?id=759181

8 years agolibs: x11: allows 30-bit colour depth
Stephen [Sun, 27 Mar 2016 09:11:00 +0000 (09:11 +0000)]
libs: x11: allows 30-bit colour depth

The colour depth is clamped to 24 when it is not equal {15,16,24,32}. But this
fails with the NVIDIA binary driver as it doesn't advertise a TrueColor visual
with a depth of 24 (only 30 and 32). Allowing the depth to be 30, lets everything
work as expected.

https://bugzilla.gnome.org/show_bug.cgi?id=764256

8 years agogltextureupload: use an array for texture type
Víctor Manuel Jáquez Leal [Mon, 28 Mar 2016 11:13:56 +0000 (13:13 +0200)]
gltextureupload: use an array for texture type

Instead of using a single value for the texture type, use an array with 4
elements, just as the GstVideoGLTextureUploadMeta, avoiding a buffer
overflow.

https://bugzilla.gnome.org/show_bug.cgi?id=764231

8 years agovaapidecode: Fix decide_allocation handling
Sreerenj Balachandran [Thu, 24 Mar 2016 13:09:43 +0000 (15:09 +0200)]
vaapidecode: Fix decide_allocation handling

Set the already configured pool in decide_allocation query
in cases where pool renegotiation is not required.

https://bugzilla.gnome.org/show_bug.cgi?id=753914

8 years agovaapidecode: Derive and save the decoded surface format
Sreerenj Balachandran [Thu, 24 Mar 2016 13:09:15 +0000 (15:09 +0200)]
vaapidecode: Derive and save the decoded surface format

After the decoding of first frame, try to extract the exact
decoded surface format using vaDeriveImage and keep this
as the format in decoded_info.

https://bugzilla.gnome.org/show_bug.cgi?id=753914

8 years agoMake vaapidecode to advertise the cropped values in srcpad, but negotiate pool only...
Sreerenj Balachandran [Thu, 24 Mar 2016 13:08:50 +0000 (15:08 +0200)]
Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed

-- Maintaing decoded surface resoluton and actual display resoultion separately
-- Before pushing every frames downstream, check for the requirement of pool negoation and
output_state negotiation: This is needed to avoid multiple issuses with cropping,
multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
This is slight overhead, but safe enough. Optimization could be possible though.

https://bugzilla.gnome.org/show_bug.cgi?id=753914

8 years agovaapidecode: Delay the output format setting until we have a decoded surface
Sreerenj Balachandran [Thu, 24 Mar 2016 13:08:27 +0000 (15:08 +0200)]
vaapidecode: Delay the output format setting until we have a decoded surface

This will help to consoidate the out caps negotiation to a single place,
which will make the code simpler, allows to get the exact decoded format
if needed and the selected chroma type too.

https://bugzilla.gnome.org/show_bug.cgi?id=753914

8 years agovaapidecode: GST_VAAPIDECODE macro is a cast
Víctor Manuel Jáquez Leal [Thu, 24 Mar 2016 12:36:24 +0000 (13:36 +0100)]
vaapidecode: GST_VAAPIDECODE macro is a cast

This patch is the continuation of commit 1e1d3b1d because the function
gst_vaapidecode_get_type() got undefined since then.

Now, the macro GST_VAAPIDECODE is a simple cast to the GstVaapiDecode
structure. The rest of the GObject handling macros were deleted too.

8 years agoBack to development
Sebastian Dröge [Thu, 24 Mar 2016 11:34:18 +0000 (13:34 +0200)]
Back to development

8 years agoRelease 1.8.0
Sebastian Dröge [Thu, 24 Mar 2016 11:11:05 +0000 (13:11 +0200)]
Release 1.8.0

8 years agoRelease 1.7.91
Sebastian Dröge [Tue, 15 Mar 2016 10:39:20 +0000 (12:39 +0200)]
Release 1.7.91

8 years agodecoder: h265: Fix offset calculation in codec_data parsing
Sreerenj Balachandran [Fri, 11 Mar 2016 15:44:07 +0000 (17:44 +0200)]
decoder: h265: Fix offset calculation in codec_data parsing

https://bugzilla.gnome.org/show_bug.cgi?id=762922

8 years agovaapidecodebin: don't handle jpeg decoding
Víctor Manuel Jáquez Leal [Wed, 9 Mar 2016 19:26:31 +0000 (20:26 +0100)]
vaapidecodebin: don't handle jpeg decoding

As JPEG decoder has been split and demoted, it cannot be handled by
vaapidecodebin

Added a fixme comment regarding the future removal of vaapidecode.

https://bugzilla.gnome.org/show_bug.cgi?id=734093

8 years agovaapidecode: split out jpeg decoder
Víctor Manuel Jáquez Leal [Wed, 9 Mar 2016 19:25:08 +0000 (20:25 +0100)]
vaapidecode: split out jpeg decoder

Split, as a different element, the JPEG decoder.

https://bugzilla.gnome.org/show_bug.cgi?id=734093

8 years agovaapidecode: register decoder with internal GType
Víctor Manuel Jáquez Leal [Wed, 9 Mar 2016 17:41:49 +0000 (18:41 +0100)]
vaapidecode: register decoder with internal GType

Don't expose the the vaapidecode GType, instead expose a function
which will register element.

This is the first step to split the decoder by codecs.

https://bugzilla.gnome.org/show_bug.cgi?id=734093

8 years agovaapidecode: remove unused function declaration
Víctor Manuel Jáquez Leal [Thu, 10 Mar 2016 11:47:49 +0000 (12:47 +0100)]
vaapidecode: remove unused function declaration

There is no need to pre-declare gst_vaapidecode_update_sink_caps(). And fixed
code-style of the other pre-declared functions.

8 years agobuild: git ignore gtkdoc generated files
Víctor Manuel Jáquez Leal [Wed, 9 Mar 2016 17:58:13 +0000 (18:58 +0100)]
build: git ignore gtkdoc generated files

8 years agobuild: handle git ignore in m4 directory
Víctor Manuel Jáquez Leal [Wed, 9 Mar 2016 17:55:39 +0000 (18:55 +0100)]
build: handle git ignore in m4 directory

8 years agovaapidecoder_h265: plug leak of h265 parsing info
Thiago Santos [Fri, 4 Mar 2016 23:17:54 +0000 (20:17 -0300)]
vaapidecoder_h265: plug leak of h265 parsing info

If something goes wrong while parsing, the info object is
being leaked

https://bugzilla.gnome.org/show_bug.cgi?id=763121

8 years agovaapidecoder_h264: plug leak of h264 parsing info
Thiago Santos [Fri, 4 Mar 2016 23:17:20 +0000 (20:17 -0300)]
vaapidecoder_h264: plug leak of h264 parsing info

If something goes wrong while parsing, the info object is
being leaked

https://bugzilla.gnome.org/show_bug.cgi?id=763121

8 years agoplugins: fix gstgl and vaapi memory leaks
Vineeth TM [Wed, 9 Mar 2016 02:03:28 +0000 (11:03 +0900)]
plugins: fix gstgl and vaapi memory leaks

1\ Unref gl_display and gl_window as soon they are not needed.
2\ Remove an unneeded display type check, since is handled by
   gst_vaapi_created_display_from_handle()
3\ Unref vaapi's display if the display cannot be bind to a GL API.

Modified-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
https://bugzilla.gnome.org/show_bug.cgi?id=763354

8 years agovaapidisplay: Fix uninitialized value error for VA attribute
Vineeth TM [Wed, 9 Mar 2016 05:13:24 +0000 (14:13 +0900)]
vaapidisplay: Fix uninitialized value error for VA attribute

https://bugzilla.gnome.org/show_bug.cgi?id=763362

8 years agoplugins: proxy information from downstream caps
Víctor Manuel Jáquez Leal [Tue, 8 Mar 2016 09:47:56 +0000 (10:47 +0100)]
plugins: proxy information from downstream caps

Propagate to upstream the downstream information, such as fps, par, etc.

This will fix several "getcaps" critical warnings in gst-validate.

https://bugzilla.gnome.org/show_bug.cgi?id=763300

8 years agodecoder: vp9: Assign values for profile and bit_depth from frame header
Sreerenj Balachandran [Fri, 4 Mar 2016 08:51:42 +0000 (10:51 +0200)]
decoder: vp9: Assign values for profile and bit_depth from frame header

bit_depth field has added only in VA-API 0.39.0, added version check.

8 years agobuild: Dist gstreamer-vaapi.doap and configure.ac/autogen.sh
Sebastian Dröge [Fri, 4 Mar 2016 07:12:13 +0000 (09:12 +0200)]
build: Dist gstreamer-vaapi.doap and configure.ac/autogen.sh

https://bugzilla.gnome.org/show_bug.cgi?id=763067

8 years agoRelease 1.7.90
Sebastian Dröge [Tue, 1 Mar 2016 17:23:51 +0000 (19:23 +0200)]
Release 1.7.90

8 years agoconfigure: Use AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO to set release date
Sebastian Dröge [Tue, 1 Mar 2016 14:14:47 +0000 (16:14 +0200)]
configure: Use AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO to set release date

8 years agovaapidecode: intersect with filter in getcaps()
Víctor Manuel Jáquez Leal [Tue, 1 Mar 2016 10:35:49 +0000 (11:35 +0100)]
vaapidecode: intersect with filter in getcaps()

In commit 6034734d I forgot to add the caps filter intersection in the
getcaps() vmethod generating a regression when a capsfilter is set in the
pipeline.

This commit adds the caps filter intersection.

8 years agoAdd memset to initialize value for VAEncSliceParameterBufferJPEG
Lim Siew Hoon [Mon, 29 Feb 2016 09:55:27 +0000 (11:55 +0200)]
Add memset to initialize value for VAEncSliceParameterBufferJPEG

https://bugzilla.gnome.org/show_bug.cgi?id=762850

8 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 26 Feb 2016 10:42:46 +0000 (12:42 +0200)]
Automatic update of common submodule

From b64f03f to 6f2d209

8 years agobuild: add m4 directory
Víctor Manuel Jáquez Leal [Wed, 24 Feb 2016 11:36:33 +0000 (12:36 +0100)]
build: add m4 directory

Instead of rely on the automatic creation of m4 directory by aclocal, we
already control it. Later we could create our own m4 scripts in order to
unclutter configure.ac

https://bugzilla.gnome.org/show_bug.cgi?id=762528

8 years agodecoder: hevc: Fill dependent slice segment headers while parsing
Scott D Phillips [Tue, 23 Feb 2016 08:55:02 +0000 (10:55 +0200)]
decoder: hevc: Fill dependent slice segment headers while parsing

Copy the data into the dependent slice segment header from the
corresponding independent slice segment header during parsing.

Previously the reference to the "previous" independent header was
held through the parsing phase and then dereferenced during the
decoding phase. This caused all dependent headers to be populated
with the data of the AU's last independent header instead of the
proper corresponding header.

https://bugzilla.gnome.org/show_bug.cgi?id=762352

Changes since v1:
- Reworded commit message

8 years agovaapidecode: use video decoder getcaps()
Víctor Manuel Jáquez Leal [Wed, 17 Feb 2016 12:43:48 +0000 (13:43 +0100)]
vaapidecode: use video decoder getcaps()

The usage of getcaps() vmethod is preferred than to handle manually the sink's
caps query.

In order to avoid function declarations, this patch moves the class_init()
method to the end of the file.

8 years agoplugins: remove deprecated code
Víctor Manuel Jáquez Leal [Wed, 17 Feb 2016 11:51:45 +0000 (12:51 +0100)]
plugins: remove deprecated code

Since we are only supporting current GStreamer version, since 1.3
gst_buffer_pool_config_add_option() checks if the option to add is
already set. There is no need to do it ourselves.

8 years agovaapidecoder_h265: fix parsing of NALU aligned data
Thiago Santos [Fri, 19 Feb 2016 22:03:44 +0000 (19:03 -0300)]
vaapidecoder_h265: fix parsing of NALU aligned data

Don't assume the whole buffer is a single NAL, instead look for the
next start code in case there are multiple NALs per buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=762328

8 years agovaapidecoder_h264: fix parsing of NALU aligned data
Thiago Santos [Fri, 19 Feb 2016 14:10:25 +0000 (11:10 -0300)]
vaapidecoder_h264: fix parsing of NALU aligned data

Don't assume the whole buffer is a single NAL, instead look for the
next start code in case there are multiple NALs per buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=762328

8 years agovaapisink: Fix event,pad,structure memory leaks
Vineeth TM [Thu, 18 Feb 2016 01:13:53 +0000 (10:13 +0900)]
vaapisink: Fix event,pad,structure memory leaks

https://bugzilla.gnome.org/show_bug.cgi?id=762229

8 years agoAdd icamerasrc as dmabuf capable peer element
Lim Siew Hoon [Wed, 17 Feb 2016 13:40:54 +0000 (15:40 +0200)]
Add icamerasrc as dmabuf capable peer element

icamerasrc is another gstreamer plugin using to capture RAW
frames from camera device. It is based on libcamhal library.
There are some properties available to control icamera behavior.

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Tested & Reviewed: Zhu Haiyang <haiyang.zhu@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=759481

Fixme: This is the similar workaround we done for v4l2src.
The workaround will be removed once we fix #755072

8 years agovaapipluginbase: Fix structure memory leak
Vineeth TM [Wed, 17 Feb 2016 08:15:28 +0000 (17:15 +0900)]
vaapipluginbase: Fix structure memory leak

config structure is not being freed in all cases

https://bugzilla.gnome.org/show_bug.cgi?id=762172

8 years agovaapidecode: Fix videocodec state memory leak
Vineeth TM [Wed, 17 Feb 2016 08:20:08 +0000 (17:20 +0900)]
vaapidecode: Fix videocodec state memory leak

When state is not NULL and either width/height of video info is 0, then state leaks

https://bugzilla.gnome.org/show_bug.cgi?id=762173

8 years agovaapisink: post message for application for unhandled keyboard/mouse events
Tim-Philipp Müller [Tue, 16 Feb 2016 15:44:48 +0000 (15:44 +0000)]
vaapisink: post message for application for unhandled keyboard/mouse events

Makes (most) keyboard shortcuts work in gst-play-1.0 when
the video window has focus.

8 years agovaapidecode: Fix capsfeature memory leak
Vineeth TM [Mon, 15 Feb 2016 23:48:43 +0000 (08:48 +0900)]
vaapidecode: Fix capsfeature memory leak

https://bugzilla.gnome.org/show_bug.cgi?id=762116

8 years agovaapisink: Fix capsfeature memory leak
Vineeth TM [Mon, 15 Feb 2016 23:15:40 +0000 (08:15 +0900)]
vaapisink: Fix capsfeature memory leak

caps feature allocated is not being freeing in some cases

https://bugzilla.gnome.org/show_bug.cgi?id=762111

8 years agovaapi: Fix various compiler warnings and disable -Wredundant-decls for now
Sebastian Dröge [Tue, 16 Feb 2016 13:09:01 +0000 (15:09 +0200)]
vaapi: Fix various compiler warnings and disable -Wredundant-decls for now

8 years agoconfigure: Fix setting of extra compiler warning flags
Sebastian Dröge [Tue, 16 Feb 2016 12:36:39 +0000 (14:36 +0200)]
configure: Fix setting of extra compiler warning flags

8 years agolibs: fix build error
Víctor Manuel Jáquez Leal [Mon, 15 Feb 2016 17:00:49 +0000 (18:00 +0100)]
libs: fix build error

gst_vaapi_buffer_proxy_{acquire_handle,release_handle,finalize,class}
functions are used only when libva's API version is greater than 0.36.0

This patch guards those functions completely rather than just their
content. The patch is a continuation of commit 38f8fea4

Original-patch-by: Vineeth TM <vineeth.tm@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=762055

8 years agotests: simple-encoder: fix build error
Vineeth TM [Mon, 15 Feb 2016 01:01:54 +0000 (10:01 +0900)]
tests: simple-encoder: fix build error

argument mismatch of gsize with 'long unsigned int'

https://bugzilla.gnome.org/show_bug.cgi?id=762055

8 years agovaapisink: Fix wrong caps advertising
Sreerenj Balachandran [Thu, 4 Feb 2016 08:16:00 +0000 (10:16 +0200)]
vaapisink: Fix wrong caps advertising

The get_caps() should only report the supported formats.

https://bugzilla.gnome.org/show_bug.cgi?id=761147

8 years agoAutomatic update of common submodule
Thiago Santos [Fri, 5 Feb 2016 21:11:29 +0000 (18:11 -0300)]
Automatic update of common submodule

From e97c9bb to b64f03f

8 years agorename encoders to vaapi{codec}enc
Víctor Manuel Jáquez Leal [Wed, 3 Feb 2016 18:07:40 +0000 (19:07 +0100)]
rename encoders to vaapi{codec}enc

Trying to comply with GStreamer's element names, this patch renames the
encoders using the name format vaapi{codec}enc.

In this way, the plugin documentation is linked correctly.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agoUse new AG_GST_ARG_ENABLE_EXTRA_CHECKS #define
Víctor Manuel Jáquez Leal [Wed, 3 Feb 2016 17:42:36 +0000 (18:42 +0100)]
Use new AG_GST_ARG_ENABLE_EXTRA_CHECKS #define

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agobuild: remove vp9 parser check
Víctor Manuel Jáquez Leal [Wed, 3 Feb 2016 17:02:21 +0000 (18:02 +0100)]
build: remove vp9 parser check

Since the VP9 parser was added in gst-plugins-bad 1.7.1 we can remove safely
the check of the parser, as we did for the others.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agoBack to development
Víctor Manuel Jáquez Leal [Wed, 3 Feb 2016 16:06:48 +0000 (17:06 +0100)]
Back to development

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agoRelease 1.6.0
Víctor Manuel Jáquez Leal [Wed, 3 Feb 2016 15:53:41 +0000 (16:53 +0100)]
Release 1.6.0

8 years agolibs: fix compiler warnings
Víctor Manuel Jáquez Leal [Wed, 3 Feb 2016 15:45:18 +0000 (16:45 +0100)]
libs: fix compiler warnings

After setting the release flags, the compiler warns about a couple
initialized variables.

Also marked a couple of set variables as unused, because they are only
used for assertion.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agodocs: update plugin documentation
Víctor Manuel Jáquez Leal [Fri, 29 Jan 2016 19:41:27 +0000 (20:41 +0100)]
docs: update plugin documentation

Update all the documentation of elements of the vaapi plugin.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agoresurrect gtk-doc machinery
Víctor Manuel Jáquez Leal [Fri, 29 Jan 2016 14:39:09 +0000 (15:39 +0100)]
resurrect gtk-doc machinery

Our auto-generated documentation has been a bit neglected. This patch replaces
the 'normal' gtk-doc with the one used in GStreamer, which is adapted for
plugins, elements and libraries.

This patch also re-enables documentation generation.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agouse gst-common submodule
Víctor Manuel Jáquez Leal [Thu, 28 Jan 2016 18:35:24 +0000 (19:35 +0100)]
use gst-common submodule

This is 'the' big change in gstreamer-vaapi autoconf. Now it uses the official
GStreamer common submodule.

The documentation generation has been disable temporarily since it needs a
major rework, which will be done in the following commit.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agoadd gst-common submodule
Víctor Manuel Jáquez Leal [Mon, 25 Jan 2016 15:06:03 +0000 (16:06 +0100)]
add gst-common submodule

Pointing to branch 1.6

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agoadd doap descriptor
Víctor Manuel Jáquez Leal [Thu, 28 Jan 2016 12:28:30 +0000 (13:28 +0100)]
add doap descriptor

DOAP (Description of a Project) is an RDF Schema and XML vocabulary to
describe software projects, in particular free and open source software.

The description is used in GStreamer as in many other open source projects.

This patch adds the doap description of this project.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agolibs: humongous code style fix
Víctor Manuel Jáquez Leal [Wed, 3 Feb 2016 10:50:13 +0000 (11:50 +0100)]
libs: humongous code style fix

As part of the upstreaming process of gstreamer-vaapi into the GStreamer
umbrella, we need to comply with the project's code style. This meant to
change a lot of code.

It was decided to use a single massive patch to update the code style.

I would like to apologize with the original developers of this code because of
the history breakage.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agolibs: small refactors to enhance the code style
Víctor Manuel Jáquez Leal [Wed, 3 Feb 2016 10:04:15 +0000 (11:04 +0100)]
libs: small refactors to enhance the code style

As gst-indent generated ugly code in these cases, this patch changes the used
idiomatic into other one.

No functional changes were introduced.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agolibs: small code style fixes
Víctor Manuel Jáquez Leal [Tue, 2 Feb 2016 16:59:57 +0000 (17:59 +0100)]
libs: small code style fixes

This a set of small code style fixes detected as-is by gst-indent.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agolibs: trivial comment style fixes
Víctor Manuel Jáquez Leal [Tue, 2 Feb 2016 16:50:19 +0000 (17:50 +0100)]
libs: trivial comment style fixes

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agolibs: avoid gst-indent mess up
Víctor Manuel Jáquez Leal [Tue, 2 Feb 2016 16:31:02 +0000 (17:31 +0100)]
libs: avoid gst-indent mess up

Guard pieces of code to avoid gst-ident to mess up the following code.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agoplugins: fix code style
Víctor Manuel Jáquez Leal [Wed, 3 Feb 2016 11:17:59 +0000 (12:17 +0100)]
plugins: fix code style

Minor code style changes by executing gst-indent in gst/vaapi directory.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8 years agoFix some more compiler warning
Tim-Philipp Müller [Mon, 1 Feb 2016 13:22:10 +0000 (13:22 +0000)]
Fix some more compiler warning

Two (false) compiler warnings about variables potentially
being used uninitialized, and one about a variable being
set but not used.

https://bugzilla.gnome.org/show_bug.cgi?id=759192