platform/upstream/gstreamer-vaapi.git
11 years agodisplay: install properties in batch.
Gwenole Beauchesne [Tue, 28 Aug 2012 14:24:15 +0000 (16:24 +0200)]
display: install properties in batch.

Use g_object_class_install_properties() to install GstVaapiDisplay properties.
It is useful to maintain properties as GParamSpec so that to be able to raise
"notify" signals by id instead of by name in the future.

11 years agodisplay: fix gst_vaapi_display_has_property().
Gwenole Beauchesne [Mon, 27 Aug 2012 17:00:37 +0000 (19:00 +0200)]
display: fix gst_vaapi_display_has_property().

Append the "render-mode" and "rotation" properties, should they be supported
by the underlying VA driver.

11 years agodisplay: add support for rotation modes.
Wind Yuan [Wed, 22 Aug 2012 06:18:11 +0000 (02:18 -0400)]
display: add support for rotation modes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agodisplay: add support for rendering modes.
Gwenole Beauchesne [Mon, 27 Aug 2012 15:11:37 +0000 (18:11 +0300)]
display: add support for rendering modes.

A rendering mode can be "overlay" or "texture"'ed blit.

The former mode implies that a VA surface used for rendering can't be
re-used right away for decoding, so the sink shall make provisions to
retain the associated surface proxy until the next surface is to be
displayed.

The latter mode implies that the VA surface is implicitly copied to an
intermediate backing store, or back buffer of a frame buffer, so the
associated surface proxy can be disposed right away.

11 years agodisplay: add initial support for display attributes.
Gwenole Beauchesne [Mon, 27 Aug 2012 14:02:49 +0000 (17:02 +0300)]
display: add initial support for display attributes.

The VA display attributes are mapped to properties so that to maintain the
GStreamer terminology. Properties are to be identified by name, but internal
functions are available to lookup the property by the actual VA display
attribute type.

11 years agojpeg: fix end-of-image (EOI) handler.
Sreerenj Balachandran [Fri, 24 Aug 2012 08:36:16 +0000 (11:36 +0300)]
jpeg: fix end-of-image (EOI) handler.

decode_current_picture() was converted to return a gboolean instead
of a GstVaapiDecoderStatus, so we were not getting out of the decode
loop as expected, or could cause an error instead.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agompeg2: include start code into VA slice data buffer.
Gwenole Beauchesne [Fri, 24 Aug 2012 16:41:47 +0000 (18:41 +0200)]
mpeg2: include start code into VA slice data buffer.

Integrate the start code prefix in the slice data buffer that is submitted
to the hardware. VA-API specifies that slice_data_offset is the offset to
the first byte of slice data. And, for MPEG-2, slice() data begins with
the slice_start_code. Some VA driver implementations (EMGD) expect this.

11 years agoautogen: fix configure script generation when srcdir != builddir.
Javier Jardón [Wed, 27 Jun 2012 16:08:03 +0000 (01:08 +0900)]
autogen: fix configure script generation when srcdir != builddir.

This patch allows for regenerating the configure script from a build
directory that is not the actual source directory.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoconfigure: use new libtool syntax.
Javier Jardón [Wed, 27 Jun 2012 15:22:03 +0000 (00:22 +0900)]
configure: use new libtool syntax.

This now requires libtool >= 2.2 to regenerate the configure script.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agodecoder: use g_object_notify_by_pspec().
Javier Jardón [Wed, 8 Aug 2012 03:50:41 +0000 (12:50 +0900)]
decoder: use g_object_notify_by_pspec().

Use g_object_notify_by_pspec() instead of g_object_notify() so that to
avoid a property name lookup. i.e. this makes notifications faster to
the `vaapidecode' element.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agowayland: handle de-interlacing flags.
Gwenole Beauchesne [Mon, 6 Aug 2012 17:21:03 +0000 (19:21 +0200)]
wayland: handle de-interlacing flags.

VA/Wayland API was updated to allow flags for bob deinterlacing.
More elaborated filters will require a complete VA/VPP pipeline.

11 years agojpeg: fix default quantization tables.
Gwenole Beauchesne [Thu, 2 Aug 2012 16:27:48 +0000 (18:27 +0200)]
jpeg: fix default quantization tables.

Two elements in the luminance quantization table were wrong. So,
gst_jpeg_get_default_quantization_tables() now reconstructs tables
in zig-zag order from the standard ones (Tables K.1 and K.2).

11 years agojpeg: compute default Huffman tables.
Gwenole Beauchesne [Thu, 2 Aug 2012 13:17:57 +0000 (15:17 +0200)]
jpeg: compute default Huffman tables.

... instead of having them pre-calculated. This saves around 1.5 KB
of data in the DSO but requires gst_jpeg_get_default_huffman_tables()
to do more work. Though, the client application may have to call that
function at most once, only.

11 years agodisplay: drop VAProfileNone entries from debug messages.
Gwenole Beauchesne [Wed, 1 Aug 2012 16:30:27 +0000 (18:30 +0200)]
display: drop VAProfileNone entries from debug messages.

11 years agodisplay: query for supported display attributes.
Yan Yin [Tue, 31 Jul 2012 10:24:14 +0000 (18:24 +0800)]
display: query for supported display attributes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoutils: add string_of_VADisplayAttributeType() helper.
Yan Yin [Tue, 31 Jul 2012 10:22:48 +0000 (18:22 +0800)]
utils: add string_of_VADisplayAttributeType() helper.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agovaapisink: handle VA/DRM API.
Gwenole Beauchesne [Wed, 1 Aug 2012 13:46:35 +0000 (15:46 +0200)]
vaapisink: handle VA/DRM API.

This is not useful in practice but for raw performance evaluation when
the sink is invoked with display=drm sync=false. fakesink could also be
used though.

11 years agoplugins: add support for headless pipelines.
Gwenole Beauchesne [Wed, 1 Aug 2012 13:46:19 +0000 (15:46 +0200)]
plugins: add support for headless pipelines.

11 years agotests: add support for headless decoding.
Gwenole Beauchesne [Wed, 1 Aug 2012 13:44:49 +0000 (15:44 +0200)]
tests: add support for headless decoding.

11 years agoAdd initial support for VA/DRM.
Gwenole Beauchesne [Wed, 1 Aug 2012 13:44:02 +0000 (15:44 +0200)]
Add initial support for VA/DRM.

11 years agoFix build without X11 (again).
Gwenole Beauchesne [Tue, 31 Jul 2012 15:58:43 +0000 (17:58 +0200)]
Fix build without X11 (again).

Don't try to build libgstvaapi-x11.so.* if X11 was disabled. Also shuffle
files list wrt. x11, glx and wayland backends.

11 years agojpeg: update to the latest VA-API changes (0.32.1+).
Gwenole Beauchesne [Tue, 31 Jul 2012 09:51:57 +0000 (11:51 +0200)]
jpeg: update to the latest VA-API changes (0.32.1+).

11 years agowayland: implement display ::get_size*() hooks.
Gwenole Beauchesne [Fri, 27 Jul 2012 12:27:05 +0000 (14:27 +0200)]
wayland: implement display ::get_size*() hooks.

11 years agoplugins: prefer X11 rendering over GLX.
Gwenole Beauchesne [Fri, 27 Jul 2012 08:45:41 +0000 (10:45 +0200)]
plugins: prefer X11 rendering over GLX.

Prefer X11 display over GLX so that "vaapisink" uses X11, i.e. vaPutSurface(),
for rendering instead of texturing.

11 years agowayland: use scale fullscreen method.
Kristian Høgsberg [Thu, 26 Jul 2012 13:28:51 +0000 (09:28 -0400)]
wayland: use scale fullscreen method.

This makes the compositor scale the surface to fit and preserves aspect
ratio.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agowayland: respond to ping/pong protocol so we're not deemed unresponsive.
Kristian Høgsberg [Thu, 26 Jul 2012 13:27:47 +0000 (09:27 -0400)]
wayland: respond to ping/pong protocol so we're not deemed unresponsive.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agowayland: fix double disconnect of display.
Gwenole Beauchesne [Wed, 25 Jul 2012 08:39:04 +0000 (10:39 +0200)]
wayland: fix double disconnect of display.

11 years agowayland: mangle display name for cache lookups.
Gwenole Beauchesne [Tue, 24 Jul 2012 17:58:55 +0000 (19:58 +0200)]
wayland: mangle display name for cache lookups.

11 years agowayland: add packaging files.
Gwenole Beauchesne [Tue, 24 Jul 2012 13:43:44 +0000 (15:43 +0200)]
wayland: add packaging files.

11 years agoFix build without X11.
Gwenole Beauchesne [Tue, 24 Jul 2012 13:07:48 +0000 (15:07 +0200)]
Fix build without X11.

11 years agoplugins: add support for Wayland.
Gwenole Beauchesne [Tue, 24 Jul 2012 07:45:25 +0000 (09:45 +0200)]
plugins: add support for Wayland.

11 years agotests: add support for Wayland.
Gwenole Beauchesne [Mon, 23 Jul 2012 10:56:33 +0000 (12:56 +0200)]
tests: add support for Wayland.

11 years agoAdd initial support for VA/Wayland.
Sreerenj Balachandran [Thu, 19 Jul 2012 08:27:23 +0000 (10:27 +0200)]
Add initial support for VA/Wayland.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoplugins: fix creation of video buffer from surface proxy.
Gwenole Beauchesne [Wed, 25 Jul 2012 13:11:51 +0000 (15:11 +0200)]
plugins: fix creation of video buffer from surface proxy.

Fix a regression introduced with commit 8ef490a.

11 years agoplugins: use new display types more.
Gwenole Beauchesne [Wed, 25 Jul 2012 12:51:28 +0000 (14:51 +0200)]
plugins: use new display types more.

In particular, simplify gst_vaapi_reply_to_query() with display types.
Likewise for creating new video buffers.

11 years agoplugins: fix display type selection and propagation.
Gwenole Beauchesne [Wed, 25 Jul 2012 08:02:29 +0000 (10:02 +0200)]
plugins: fix display type selection and propagation.

If vaapisink is in the GStreamer pipeline, then we shall allocate a
unique GstVaapiDisplay and propagate it upstream. i.e. subsequent
queries from vaapidecode shall get a valid answer from vaapisink.

11 years agodisplay: fix destruction of mutex.
Gwenole Beauchesne [Wed, 25 Jul 2012 09:37:26 +0000 (11:37 +0200)]
display: fix destruction of mutex.

11 years agodisplay: add display types.
Gwenole Beauchesne [Wed, 25 Jul 2012 07:16:02 +0000 (09:16 +0200)]
display: add display types.

Move display types from gstvaapipluginutil.* to gstvaapidisplay.* so that
we could simplify characterization of a GstVaapiDisplay. Also rename "auto"
type to "any", and add a "display-type" attribute.

11 years agodisplay: use prefixed display names for cache lookups.
Gwenole Beauchesne [Tue, 24 Jul 2012 17:43:40 +0000 (19:43 +0200)]
display: use prefixed display names for cache lookups.

This improves display name comparisons by always allocating a valid display
name. This also helps to disambiguate lookups by name in the global display
cache, should a new backend be implemented.

11 years agoplugins: declare helper functions as internal.
Gwenole Beauchesne [Tue, 24 Jul 2012 14:14:51 +0000 (16:14 +0200)]
plugins: declare helper functions as internal.

11 years agovideobuffer: drop deprecated functions.
Gwenole Beauchesne [Tue, 24 Jul 2012 12:31:25 +0000 (14:31 +0200)]
videobuffer: drop deprecated functions.

Move video buffer creation routines to plugin elements. That exclusively
uses *_typed_new*() variants.

11 years agovideobuffer: mark video buffer creation routines as deprecated.
Gwenole Beauchesne [Tue, 24 Jul 2012 12:09:09 +0000 (14:09 +0200)]
videobuffer: mark video buffer creation routines as deprecated.

The vdeo buffer creation routines shall actually be internal to gstreamer-vaapi
plugin elements. So deprecate any explicit creation routines that are not the
new *_typed_new*() variants.

11 years agovideobuffer: factor out base and GLX implementations.
Gwenole Beauchesne [Tue, 24 Jul 2012 11:52:06 +0000 (13:52 +0200)]
videobuffer: factor out base and GLX implementations.

Introduce new typed constructors internal to gstreamer-vaapi plugin elements.
This avoids duplication of code, and makes it possible to further implement
generic video buffer creation routines that automatically map to base or GLX
variants.

11 years agoutils: fix gl_create_context() with parent context set.
Gwenole Beauchesne [Tue, 24 Jul 2012 08:58:32 +0000 (10:58 +0200)]
utils: fix gl_create_context() with parent context set.

If GLX window was created from a foreign Display, then that same Display shall
be used for subsequent glXMakeCurrent(). This means that gl_create_context()
will now use the same Display that the parent, if available.

This fixes cluttersink with the Intel GenX VA driver.

11 years agopluginutils: improve automatic display type selection.
Gwenole Beauchesne [Mon, 23 Jul 2012 16:37:38 +0000 (18:37 +0200)]
pluginutils: improve automatic display type selection.

11 years agopluginutils: cosmetics (indentation fixes).
Gwenole Beauchesne [Mon, 23 Jul 2012 16:01:26 +0000 (18:01 +0200)]
pluginutils: cosmetics (indentation fixes).

11 years agoconfigure: simplify video outputs summary.
Gwenole Beauchesne [Mon, 23 Jul 2012 15:54:58 +0000 (17:54 +0200)]
configure: simplify video outputs summary.

11 years agoconfigure: drop check for --enable-vaapisink-glx.
Gwenole Beauchesne [Mon, 23 Jul 2012 15:49:08 +0000 (17:49 +0200)]
configure: drop check for --enable-vaapisink-glx.

vaapisink is now built with support for multiple display types, whenever
they are enabled. The new "display" attribute is used to select a particular
renderer.

11 years agoconfigure: drop check for --enable-vaapi-glx.
Gwenole Beauchesne [Mon, 23 Jul 2012 14:15:38 +0000 (16:15 +0200)]
configure: drop check for --enable-vaapi-glx.

This flag is obsolete. It was meant to explicitly enable/disable VA/GLX API
support, or fallback to TFP+FBO if this API is not found. Now, we check for
the VA/GLX API by default if --enable-glx is set. If this API is not found,
we now default to use TFP+FBO.

Note: TFP+FBO, i.e. using vaPutSurface() is now also a deprecated usage and
will be removed in the future. If GLX rendering is requested, then the VA/GLX
API shall be used as it covers most usages. e.g. AMD driver can't render to
an X pixmap yet.

11 years agotests: allow GLX output, if available and selected.
Gwenole Beauchesne [Mon, 23 Jul 2012 13:20:23 +0000 (15:20 +0200)]
tests: allow GLX output, if available and selected.

11 years agotests: use common display and window creation routines.
Gwenole Beauchesne [Mon, 23 Jul 2012 13:17:03 +0000 (15:17 +0200)]
tests: use common display and window creation routines.

Add new --output option to select the renderer. Use --list-outputs to
print a list of supported renderers.

11 years agotests: move encoded bitstreams to libutils.la.
Gwenole Beauchesne [Mon, 23 Jul 2012 12:15:42 +0000 (14:15 +0200)]
tests: move encoded bitstreams to libutils.la.

11 years agotests: build convenience library for common utilities.
Gwenole Beauchesne [Mon, 23 Jul 2012 12:11:16 +0000 (14:11 +0200)]
tests: build convenience library for common utilities.

11 years agotests: simplify build with various display options.
Gwenole Beauchesne [Fri, 20 Jul 2012 14:37:01 +0000 (16:37 +0200)]
tests: simplify build with various display options.

11 years agoconfigure: improve checks for X11.
Gwenole Beauchesne [Mon, 23 Jul 2012 11:28:42 +0000 (13:28 +0200)]
configure: improve checks for X11.

11 years agoconfigure: fix previous commit for GLX deps.
Gwenole Beauchesne [Fri, 20 Jul 2012 13:57:26 +0000 (15:57 +0200)]
configure: fix previous commit for GLX deps.

11 years agoconfigure: improve checks for GLX.
Gwenole Beauchesne [Fri, 20 Jul 2012 12:44:27 +0000 (14:44 +0200)]
configure: improve checks for GLX.

11 years agoDrop support for obsolete VA-API versions < 0.30.4.
Gwenole Beauchesne [Fri, 20 Jul 2012 09:45:15 +0000 (11:45 +0200)]
Drop support for obsolete VA-API versions < 0.30.4.

11 years agovaapisink: drop checks for new APIs used by default.
Gwenole Beauchesne [Fri, 20 Jul 2012 09:16:27 +0000 (11:16 +0200)]
vaapisink: drop checks for new APIs used by default.

GStreamer -base plugins >= 0.10.31 are now required, so the checks for
new APIs like GstXOverlay::set_window_handle() and ::set_render_rectangle()
are no longer necessary.

11 years agoconfigure: cosmetics and some minor changes.
Gwenole Beauchesne [Fri, 20 Jul 2012 12:05:23 +0000 (14:05 +0200)]
configure: cosmetics and some minor changes.

- Better grouping of feature checks
- Sort list of config files to generate

11 years agoUse standard G_GNUC_INTERNAL keyword instead of attribute_hidden.
Gwenole Beauchesne [Thu, 19 Jul 2012 15:55:00 +0000 (17:55 +0200)]
Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden.

11 years agoDrop obsolete GstVaapiTSB.
Gwenole Beauchesne [Thu, 19 Jul 2012 15:41:25 +0000 (17:41 +0200)]
Drop obsolete GstVaapiTSB.

It has been replaced with a GstAdapter and gst_adapter_prev_pts().

11 years agodocs: add missing entries for the JPEG decoder.
Gwenole Beauchesne [Thu, 19 Jul 2012 15:27:06 +0000 (17:27 +0200)]
docs: add missing entries for the JPEG decoder.

11 years agoDrop all references to USE_CODEC_PARSERS.
Gwenole Beauchesne [Thu, 19 Jul 2012 15:16:28 +0000 (17:16 +0200)]
Drop all references to USE_CODEC_PARSERS.

11 years agoDrop FFmpeg-based decoders.
Gwenole Beauchesne [Thu, 19 Jul 2012 15:00:36 +0000 (17:00 +0200)]
Drop FFmpeg-based decoders.

GStreamer codecparsers-based decoders are the only supported decoders now.
Though, FFmpeg decoders are still available in gstreamer-vaapi 0.3.x series.

11 years agoconfigure: bump glib required version to 2.28.
Javier Jardón [Sat, 30 Jun 2012 20:55:05 +0000 (05:55 +0900)]
configure: bump glib required version to 2.28.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoplugins: declare _get_type() functions as const.
Javier Jardón [Thu, 28 Jun 2012 23:45:47 +0000 (08:45 +0900)]
plugins: declare _get_type() functions as const.

Declaring a function as const enables better optimization of calls to
the function.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoplugins: use g_clear_object() wherever applicable.
Javier Jardón [Sat, 30 Jun 2012 20:50:17 +0000 (05:50 +0900)]
plugins: use g_clear_object() wherever applicable.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agolibs: declare _get_type() functions as const.
Javier Jardón [Fri, 29 Jun 2012 06:19:51 +0000 (15:19 +0900)]
libs: declare _get_type() functions as const.

Declaring a function as const enables better optimization of calls
to the function.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agolibs: use g_clear_object() wherever applicable.
Javier Jardón [Sat, 30 Jun 2012 20:34:15 +0000 (05:34 +0900)]
libs: use g_clear_object() wherever applicable.

This is a preferred thread-safe version. Also add an inline version of
g_clear_object() if compiling with glib < 2.28.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agolibs: use generic g_cclosure_marshal_VOID__VOID().
Javier Jardón [Sat, 30 Jun 2012 21:02:22 +0000 (06:02 +0900)]
libs: use generic g_cclosure_marshal_VOID__VOID().

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoglibcompat: drop explicit check for g_list_free_full().
Gwenole Beauchesne [Thu, 19 Jul 2012 12:29:33 +0000 (14:29 +0200)]
glibcompat: drop explicit check for g_list_free_full().

11 years agoBump version for development.
Gwenole Beauchesne [Thu, 19 Jul 2012 11:58:31 +0000 (13:58 +0200)]
Bump version for development.

11 years agojpeg: fix make dist.
Gwenole Beauchesne [Thu, 19 Jul 2012 11:57:05 +0000 (13:57 +0200)]
jpeg: fix make dist.

11 years agoconfigure: fix build without gtk-doc support.
Javier Jardón [Wed, 27 Jun 2012 15:39:10 +0000 (00:39 +0900)]
configure: fix build without gtk-doc support.

Also do not generate tamplate files as all the documentation is inline.
Drop un-needed code in autogen.sh as well.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoconfigure: put m4 macros and autogenerated files into m4/ directory.
Javier Jardón [Wed, 27 Jun 2012 15:27:31 +0000 (00:27 +0900)]
configure: put m4 macros and autogenerated files into m4/ directory.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoconfigure: drop deprecated autoconf macros.
Javier Jardón [Wed, 27 Jun 2012 15:20:12 +0000 (00:20 +0900)]
configure: drop deprecated autoconf macros.

Bump autoconf required version to 2.58, needed for AS_HELP_STRING macro.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoconfigure: don't use AC_SUBST for some variables.
Javier Jardón [Wed, 27 Jun 2012 15:04:19 +0000 (00:04 +0900)]
configure: don't use AC_SUBST for some variables.

PKG_CHECK_MODULES already does this for us.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoplugins: add support for GstImplementsInterface.
Gwenole Beauchesne [Thu, 19 Jul 2012 09:43:03 +0000 (11:43 +0200)]
plugins: add support for GstImplementsInterface.

11 years agoplugins: use G_DEFINE_TYPE_* instead of deprecated GST_BOILERPLATE_*.
Javier Jardón [Sat, 30 Jun 2012 17:58:36 +0000 (02:58 +0900)]
plugins: use G_DEFINE_TYPE_* instead of deprecated GST_BOILERPLATE_*.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoplugins: do not use deprecated GStreamer -base symbols.
Javier Jardón [Sat, 30 Jun 2012 18:57:13 +0000 (03:57 +0900)]
plugins: do not use deprecated GStreamer -base symbols.

Bump GStreamer plugins -base required version to 0.10.31, needed for
gst_x_overlay_got_window_handle().

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoplugins: do not use deprecated core GStreamer symbols.
Javier Jardón [Sat, 30 Jun 2012 18:57:13 +0000 (03:57 +0900)]
plugins: do not use deprecated core GStreamer symbols.

Bump GStreamer required version to 0.10.14, needed for
gst_element_class_set_details_simple().

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agotests: fix build without JPEG decoder support.
Gwenole Beauchesne [Thu, 19 Jul 2012 08:54:33 +0000 (10:54 +0200)]
tests: fix build without JPEG decoder support.

11 years agotests: add test for JPEG decoding.
Gwenole Beauchesne [Tue, 17 Jul 2012 11:44:45 +0000 (13:44 +0200)]
tests: add test for JPEG decoding.

11 years agojpeg: update to match latest parser API.
Gwenole Beauchesne [Tue, 17 Jul 2012 11:43:32 +0000 (13:43 +0200)]
jpeg: update to match latest parser API.

11 years agocodecparsers: jpeg: tweak parser API.
Gwenole Beauchesne [Mon, 16 Jul 2012 15:35:19 +0000 (17:35 +0200)]
codecparsers: jpeg: tweak parser API.

... to allow for more consistent parsing API among various codec parsers.
In particular, drop use of GList.

11 years agojpeg: fix configure check for VA/JPEG decoding API.
Gwenole Beauchesne [Mon, 16 Jul 2012 14:24:04 +0000 (16:24 +0200)]
jpeg: fix configure check for VA/JPEG decoding API.

12 years agojpeg: fix build with VA-API < 0.32.0.
Gwenole Beauchesne [Tue, 26 Jun 2012 13:18:53 +0000 (15:18 +0200)]
jpeg: fix build with VA-API < 0.32.0.

12 years agoNEWS: updates.
Gwenole Beauchesne [Tue, 26 Jun 2012 13:04:58 +0000 (15:04 +0200)]
NEWS: updates.

12 years agoBump version for development.
Gwenole Beauchesne [Tue, 26 Jun 2012 13:02:44 +0000 (15:02 +0200)]
Bump version for development.

12 years ago0.3.7.
Gwenole Beauchesne [Tue, 26 Jun 2012 12:46:40 +0000 (14:46 +0200)]
0.3.7.

12 years agoNEWS: updates.
Gwenole Beauchesne [Tue, 26 Jun 2012 11:34:39 +0000 (13:34 +0200)]
NEWS: updates.

12 years agovaapiplugin: fix build when compiling without GLX.
Yan Yin [Mon, 25 Jun 2012 08:07:55 +0000 (16:07 +0800)]
vaapiplugin: fix build when compiling without GLX.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoconfigure: disable FFmpeg-based decoders.
Gwenole Beauchesne [Tue, 26 Jun 2012 09:03:25 +0000 (11:03 +0200)]
configure: disable FFmpeg-based decoders.

FFmpeg decoders are still available through the --enable-ffmpeg option
but are no longer maintained.

12 years agoFix build with recent GStreamer stack.
Gwenole Beauchesne [Mon, 25 Jun 2012 15:25:44 +0000 (17:25 +0200)]
Fix build with recent GStreamer stack.

12 years agojpeg: update to current VA/JPEG decoding API.
Gwenole Beauchesne [Mon, 25 Jun 2012 15:10:49 +0000 (17:10 +0200)]
jpeg: update to current VA/JPEG decoding API.

12 years agocodecparsers: jpeg: track valid quantization and Huffman tables.
Gwenole Beauchesne [Thu, 21 Jun 2012 14:06:47 +0000 (16:06 +0200)]
codecparsers: jpeg: track valid quantization and Huffman tables.

Add valid flag to GstJpegQuantTable and GstJpegHuffmanTable so that
to determine whether a table actually changed since the last user
synchronization point. That way, this makes it possible for some
hardware accelerated decoding solution to upload only those tables
that changed.

12 years agocodecparsers: jpeg: use U_READ_UINT*() wherever possible.
Wind Yuan [Tue, 5 Jun 2012 02:10:22 +0000 (10:10 +0800)]
codecparsers: jpeg: use U_READ_UINT*() wherever possible.

Use GstByteReader *_unchecked() variants as much as possible.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agojpeg: add new GstJpegHuffmanTables structure.
Wind Yuan [Mon, 4 Jun 2012 08:20:13 +0000 (16:20 +0800)]
jpeg: add new GstJpegHuffmanTables structure.

Add new GstJpegHuffmanTables helper structure to hold all possible
AC/DC Huffman tables available to all components.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agojpeg: make gst_jpeg_parse() support multiple scans.
Wind Yuan [Mon, 4 Jun 2012 07:52:19 +0000 (15:52 +0800)]
jpeg: make gst_jpeg_parse() support multiple scans.

gst_jpeg_parse() now gathers all scans available in the supplied
buffer. A scan comprises of the scan header and any entropy-coded
segments or restart marker following it. The size and offset to
the associated data (ECS + RST segments) are append to a new
GstJpegScanOffsetSize structure.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>