vaapi:windyuan-gstreamer-vaapi.git
6 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6 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>
6 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>
6 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>
6 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>
6 years agoFix build without JPEG decoder.
Gwenole Beauchesne [Mon, 16 Apr 2012 08:02:29 +0000 (10:02 +0200)]
Fix build without JPEG decoder.

6 years agompeg4: fix VOP coding type of backward reference pictures.
Wind Yuan [Thu, 12 Apr 2012 09:48:24 +0000 (11:48 +0200)]
mpeg4: fix VOP coding type of backward reference pictures.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
6 years agompeg4: fix handling of temporal reference distances.
Wind Yuan [Thu, 12 Apr 2012 03:02:45 +0000 (23:02 -0400)]
mpeg4: fix handling of temporal reference distances.

TRD and TRB fields are not large enough to hold the difference of PTS
expressed with nanosecond resolution. So, compute them from the original
VOP info.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
6 years agodpb: mpeg2: cosmetics.
Gwenole Beauchesne [Thu, 12 Apr 2012 09:00:22 +0000 (11:00 +0200)]
dpb: mpeg2: cosmetics.

Define MAX_MPEG2_REFERENCES to 2 and avoid magic numbers all around.

6 years agoAdd initial JPEG decoder.
Wind Yuan [Thu, 9 Feb 2012 16:21:04 +0000 (00:21 +0800)]
Add initial JPEG decoder.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
6 years agocodecparsers: add JPEG parser.
Wind Yuan [Thu, 9 Feb 2012 16:21:04 +0000 (00:21 +0800)]
codecparsers: add JPEG parser.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
6 years agovaapidecode: fix VA display type.
Wind Yuan [Tue, 10 Apr 2012 11:29:10 +0000 (13:29 +0200)]
vaapidecode: fix VA display type.

Fix typo whereby plain VADisplay type was used instead of the GstVaapiDisplay
wrapper.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
6 years agovaapidecode: fix includes when compiling for a single API.
Gwenole Beauchesne [Tue, 10 Apr 2012 12:28:31 +0000 (14:28 +0200)]
vaapidecode: fix includes when compiling for a single API.

6 years agompeg2: fix calculation of macroblock_offset.
Gwenole Beauchesne [Mon, 2 Apr 2012 16:42:12 +0000 (18:42 +0200)]
mpeg2: fix calculation of macroblock_offset.

Fix decoding of streams with extra slice() information before the first
macroblock(). e.g. this fixes sony-ct3.bs from conformance test.

6 years agompeg2: fix interpolation of GOP TSN from new PTS.
Gwenole Beauchesne [Mon, 2 Apr 2012 16:09:21 +0000 (18:09 +0200)]
mpeg2: fix interpolation of GOP TSN from new PTS.

New GOP TSN base could be mis-calculated. In particular, this fixes
decoding of uruseiyatsura.vob from <http://samples.mplayerhq.hu/>.

6 years agompeg2: fix decoding of high profile streams.
Gwenole Beauchesne [Mon, 2 Apr 2012 14:07:58 +0000 (16:07 +0200)]
mpeg2: fix decoding of high profile streams.

Allow MPEG-2 High profile streams only if the HW supports that profile
or no High profile specific bits are used, and thus Main profile could
be used instead. i.e. chroma_format is 4:2:0, intra_dc_precision is not
set to 11 and no sequence_scalable_extension() was parsed.