vaapi:lorenzphs-gstreamer-vaapi.git
5 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.

5 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>
5 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>
5 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>
5 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.

5 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).

5 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.

5 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.

5 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>
5 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>
5 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.

5 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.

5 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.

5 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.

5 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.

5 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+).

5 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.

5 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.

5 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>
5 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>
5 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.

5 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.

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

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

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

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

5 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>
5 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.

5 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.

5 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.

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

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

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

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

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

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

5 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.

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

5 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.

5 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.

5 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

5 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.

5 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().

5 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.

5 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.

5 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.

5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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().

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

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

5 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>
5 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>
5 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>
5 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>
5 years agoplugins: add support for GstImplementsInterface.
Gwenole Beauchesne [Thu, 19 Jul 2012 09:43:03 +0000 (11:43 +0200)]
plugins: add support for GstImplementsInterface.

5 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>
5 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>
5 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>
5 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.

5 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.

5 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.

5 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.

5 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.

5 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.

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

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

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

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

5 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>
5 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.

5 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.

5 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.

5 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.

5 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>
5 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>
5 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>
5 years agojpeg: update to match latest parser API.
Wind Yuan [Thu, 19 Apr 2012 15:50:14 +0000 (23:50 +0800)]
jpeg: update to match latest parser API.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
5 years agojpeg: simplify and optimize parser API.
Gwenole Beauchesne [Fri, 13 Apr 2012 05:58:39 +0000 (01:58 -0400)]
jpeg: simplify and optimize parser API.

5 years agompeg: fix picture used to determine backward_reference_vop_coding_type.
Wind Yuan [Thu, 19 Apr 2012 02:30:45 +0000 (22:30 -0400)]
mpeg: fix picture used to determine backward_reference_vop_coding_type.

Complete fix brought by bf9f77b1afb0829b97e2d502057aec973c5fd7f5
but Gwenole did not apply all the bits.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
5 years agompeg4: map Simple_Scalable profile to Advanced_Simple profile.
Wind Yuan [Fri, 27 Apr 2012 08:13:00 +0000 (04:13 -0400)]
mpeg4: map Simple_Scalable profile to Advanced_Simple profile.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
5 years agompeg4: handle skipped frames (vop_hdr->coded = 0).
Wind Yuan [Fri, 27 Apr 2012 08:10:17 +0000 (04:10 -0400)]
mpeg4: handle skipped frames (vop_hdr->coded = 0).

Gracefully skip non VOP coded frames.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
5 years agompeg4: fix timestamp issues on too fast playback.
Wind Yuan [Thu, 26 Apr 2012 08:00:41 +0000 (04:00 -0400)]
mpeg4: fix timestamp issues on too fast playback.

Improve generation of presentation timestamps to be less sensitive
to input stream errors. In practise, GOP is also a synchronization
point for PTS calculation.

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