profile/ivi/gstreamer-vaapi.git
12 years agoh264: handle codec-data.
Sreerenj Balachandran [Fri, 25 Nov 2011 12:37:00 +0000 (14:37 +0200)]
h264: handle codec-data.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoAdd initial H.264 decoder.
Gwenole Beauchesne [Fri, 12 Aug 2011 15:43:55 +0000 (17:43 +0200)]
Add initial H.264 decoder.

12 years agodecoder: retain proxy surface until the GstVaapiPicture is destroyed.
Gwenole Beauchesne [Thu, 26 Jan 2012 14:28:42 +0000 (15:28 +0100)]
decoder: retain proxy surface until the GstVaapiPicture is destroyed.

Keep a valid reference to the proxy in GstVaapiPicture so that frames
marked as "used for reference" could be kept during the lifetime of the
picture. i.e. don't release them too soon as they could be re-used right
away.

12 years agodecoder: properly reference count pictures.
Gwenole Beauchesne [Thu, 26 Jan 2012 14:19:14 +0000 (15:19 +0100)]
decoder: properly reference count pictures.

This fixes cases where a GstVaapiPicture would be destroyed whereas
there is still a valid instance of it in either prev, current or
next picture.

12 years agodecoder: simplify output of decoded frames.
Gwenole Beauchesne [Thu, 26 Jan 2012 13:54:31 +0000 (14:54 +0100)]
decoder: simplify output of decoded frames.

Drop obsolete gst_vaapi_decoder_push_surface() that was no longer used.
Change gst_vaapi_decoder_push_surface_proxy() semantics to assume PTS
is already set correctly and reference count increased, if necessary.

12 years agodecoder: rework the internal VA objects API.
Gwenole Beauchesne [Thu, 26 Jan 2012 08:48:11 +0000 (09:48 +0100)]
decoder: rework the internal VA objects API.

The new API simplifies a lot reference counting and makes it more
flexible for future additions/changes. The GstVaapiCodecInfo is
also gone. Rather, new helper macros are provided to allocate
picture, slice and quantization matrix parameter buffers.

12 years agodecoder: allow slices to be attached to pictures later.
Gwenole Beauchesne [Tue, 24 Jan 2012 09:21:45 +0000 (10:21 +0100)]
decoder: allow slices to be attached to pictures later.

12 years agodecoder: add ref_count to GstVaapiPicture.
Gwenole Beauchesne [Mon, 21 Nov 2011 17:39:49 +0000 (18:39 +0100)]
decoder: add ref_count to GstVaapiPicture.

12 years agovaapisink: cap window size to the maximum display size.
Gwenole Beauchesne [Mon, 23 Jan 2012 10:48:42 +0000 (11:48 +0100)]
vaapisink: cap window size to the maximum display size.

12 years agoprofile: match video/x-h263 as H.263 Baseline profile.
Zhao Halley [Wed, 18 Jan 2012 09:23:41 +0000 (10:23 +0100)]
profile: match video/x-h263 as H.263 Baseline profile.

HACK: qtdemux does not report profiles for H.263. So, assume plain
"video/x-h263" is H.263 Baseline profile.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agodisplay: report H.263 Baseline profile.
Gwenole Beauchesne [Wed, 18 Jan 2012 09:22:58 +0000 (10:22 +0100)]
display: report H.263 Baseline profile.

HACK: expose GST_VAAPI_PROFILE_H263_BASELINE for decoding if MPEG-4:2 Simple
profile (VAProfileMPEG4Simple) is supported.

12 years agoAdd template for workarounds.
Gwenole Beauchesne [Tue, 24 Jan 2012 09:06:37 +0000 (10:06 +0100)]
Add template for workarounds.

12 years agotests: error out if FFmpeg|codecparsers are not supported.
Gwenole Beauchesne [Wed, 18 Jan 2012 09:47:56 +0000 (10:47 +0100)]
tests: error out if FFmpeg|codecparsers are not supported.

12 years agosurface: don't expose gst_vaapi_surface_get_parent_context().
Gwenole Beauchesne [Wed, 18 Jan 2012 09:42:38 +0000 (10:42 +0100)]
surface: don't expose gst_vaapi_surface_get_parent_context().

gst_vaapi_surface_get_parent_context() was not meant to be exposed globally.
It's just an internal helper function. However, it's still possible to get
the parent context through the "parent-context" property.

12 years agotests: fix build without FFmpeg.
Gwenole Beauchesne [Mon, 16 Jan 2012 13:19:00 +0000 (14:19 +0100)]
tests: fix build without FFmpeg.

12 years agoBump version for development.
Gwenole Beauchesne [Mon, 16 Jan 2012 13:09:57 +0000 (14:09 +0100)]
Bump version for development.

12 years ago0.3.3.
Gwenole Beauchesne [Mon, 16 Jan 2012 10:05:31 +0000 (11:05 +0100)]
0.3.3.

12 years agolegal: fix year for some copyright notices.
Gwenole Beauchesne [Mon, 16 Jan 2012 10:03:51 +0000 (11:03 +0100)]
legal: fix year for some copyright notices.

12 years agolegal: add Intel copyright on modified files.
Gwenole Beauchesne [Mon, 16 Jan 2012 09:42:55 +0000 (10:42 +0100)]
legal: add Intel copyright on modified files.

12 years agolegal: fix copyright notices to include "Copyright" term.
Gwenole Beauchesne [Mon, 16 Jan 2012 09:41:10 +0000 (10:41 +0100)]
legal: fix copyright notices to include "Copyright" term.

12 years agompeg4: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
Zhao Halley [Fri, 9 Dec 2011 08:44:03 +0000 (16:44 +0800)]
mpeg4: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoAdd initial MPEG-4 decoder.
Zhao Halley [Fri, 9 Dec 2011 08:28:11 +0000 (16:28 +0800)]
Add initial MPEG-4 decoder.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agovc1: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
Sreerenj Balachandran [Fri, 18 Nov 2011 13:41:40 +0000 (15:41 +0200)]
vc1: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agovc1: fix codec-data decoding for WMV3 format.
Gwenole Beauchesne [Fri, 7 Oct 2011 09:50:20 +0000 (11:50 +0200)]
vc1: fix codec-data decoding for WMV3 format.

12 years agovc1: fix presentation timestamps.
Gwenole Beauchesne [Fri, 7 Oct 2011 09:12:33 +0000 (11:12 +0200)]
vc1: fix presentation timestamps.

12 years agovc1: fix MV mode packing.
Gwenole Beauchesne [Thu, 6 Oct 2011 13:59:22 +0000 (15:59 +0200)]
vc1: fix MV mode packing.

12 years agovc1: handle codec-data.
Gwenole Beauchesne [Wed, 5 Oct 2011 14:41:57 +0000 (16:41 +0200)]
vc1: handle codec-data.

12 years agovc1: handle encapsulated bitstreams.
Gwenole Beauchesne [Wed, 5 Oct 2011 13:56:36 +0000 (15:56 +0200)]
vc1: handle encapsulated bitstreams.

12 years agovc1: fix bitplanes decoding.
Gwenole Beauchesne [Tue, 4 Oct 2011 15:51:51 +0000 (17:51 +0200)]
vc1: fix bitplanes decoding.

12 years agovc1: fix BFRACTION reconstruction.
Gwenole Beauchesne [Tue, 4 Oct 2011 12:15:55 +0000 (14:15 +0200)]
vc1: fix BFRACTION reconstruction.

12 years agovc1: fix framerate calculation.
Gwenole Beauchesne [Fri, 30 Sep 2011 15:16:23 +0000 (17:16 +0200)]
vc1: fix framerate calculation.

12 years agoAdd initial VC-1 decoder.
Gwenole Beauchesne [Fri, 30 Sep 2011 11:40:11 +0000 (13:40 +0200)]
Add initial VC-1 decoder.

12 years agompeg2: fix first field detection.
Zhao Halley [Mon, 9 Jan 2012 16:37:34 +0000 (17:37 +0100)]
mpeg2: fix first field detection.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agompeg2: fix quantisation matrix construction.
Gwenole Beauchesne [Fri, 6 Jan 2012 15:44:09 +0000 (16:44 +0100)]
mpeg2: fix quantisation matrix construction.

12 years agompeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).
Sreerenj Balachandran [Fri, 18 Nov 2011 13:06:07 +0000 (15:06 +0200)]
mpeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agompeg2: fix packets spanning over two buffers.
Gwenole Beauchesne [Wed, 14 Sep 2011 16:11:57 +0000 (18:11 +0200)]
mpeg2: fix packets spanning over two buffers.

12 years agompeg2: ignore system start codes (PES headers).
Gwenole Beauchesne [Mon, 12 Sep 2011 16:20:00 +0000 (18:20 +0200)]
mpeg2: ignore system start codes (PES headers).

12 years agompeg2: handle closed_gop.
Gwenole Beauchesne [Mon, 12 Sep 2011 16:02:53 +0000 (18:02 +0200)]
mpeg2: handle closed_gop.

12 years agoAdd initial MPEG-2 decoder.
Gwenole Beauchesne [Fri, 5 Aug 2011 09:55:11 +0000 (11:55 +0200)]
Add initial MPEG-2 decoder.

12 years agoAllow conditional build of GStreamer/FFmpeg bitstream parsers.
Gwenole Beauchesne [Fri, 12 Aug 2011 08:21:19 +0000 (10:21 +0200)]
Allow conditional build of GStreamer/FFmpeg bitstream parsers.

12 years agoAdd VA decoder helpers.
Gwenole Beauchesne [Fri, 5 Aug 2011 09:53:50 +0000 (11:53 +0200)]
Add VA decoder helpers.

12 years agodecoder: add new error codes.
Gwenole Beauchesne [Fri, 5 Aug 2011 09:52:43 +0000 (11:52 +0200)]
decoder: add new error codes.

GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: for unsupported profile
GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: for unsupported chroma format

12 years agoAdd timestamp buffer store helper utils.
Gwenole Beauchesne [Mon, 12 Sep 2011 11:00:59 +0000 (13:00 +0200)]
Add timestamp buffer store helper utils.

12 years agoAdd VA buffer helpers.
Gwenole Beauchesne [Thu, 4 Aug 2011 15:29:41 +0000 (17:29 +0200)]
Add VA buffer helpers.

12 years agoutils: slight improvements to gl_bind_texture().
Gwenole Beauchesne [Fri, 13 Jan 2012 14:03:38 +0000 (15:03 +0100)]
utils: slight improvements to gl_bind_texture().

12 years agoutils: pretty-print output of gl_get_error_string().
Gwenole Beauchesne [Fri, 13 Jan 2012 13:13:55 +0000 (14:13 +0100)]
utils: pretty-print output of gl_get_error_string().

12 years agoutils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
Gwenole Beauchesne [Fri, 13 Jan 2012 13:03:29 +0000 (14:03 +0100)]
utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.

12 years agoutils: simplify string of VAProfile/VAEntrypoint.
Gwenole Beauchesne [Fri, 13 Jan 2012 11:09:07 +0000 (12:09 +0100)]
utils: simplify string of VAProfile/VAEntrypoint.

12 years agoutils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.
Gwenole Beauchesne [Fri, 13 Jan 2012 10:46:55 +0000 (11:46 +0100)]
utils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.

12 years agoNEWS: updates.
Gwenole Beauchesne [Thu, 12 Jan 2012 16:18:47 +0000 (17:18 +0100)]
NEWS: updates.

12 years agotests: check for shared VA displays (display cache).
Gwenole Beauchesne [Thu, 12 Jan 2012 14:34:59 +0000 (15:34 +0100)]
tests: check for shared VA displays (display cache).

12 years agodisplay: always free VA display cache if it is empty.
Gwenole Beauchesne [Thu, 12 Jan 2012 14:30:04 +0000 (15:30 +0100)]
display: always free VA display cache if it is empty.

12 years agodisplay: use VA display cache for X11 and GLX winsys.
Gwenole Beauchesne [Thu, 12 Jan 2012 14:03:04 +0000 (15:03 +0100)]
display: use VA display cache for X11 and GLX winsys.

12 years agodisplay: implement a VA display cache.
Gwenole Beauchesne [Thu, 12 Jan 2012 11:46:34 +0000 (12:46 +0100)]
display: implement a VA display cache.

12 years agovaapiplugin: fix gst_vaapi_ensure_display() to use system defaults.
Gwenole Beauchesne [Wed, 11 Jan 2012 13:13:06 +0000 (14:13 +0100)]
vaapiplugin: fix gst_vaapi_ensure_display() to use system defaults.

This ensures the display name provided to gst_vaapi_display_*_new()
maps to the system defaults, instead of forcing "" that could be different
from the current DISPLAY name.

12 years agovaapiupload: only set caps on newly created buffers.
Nicolas Dufresne [Fri, 26 Aug 2011 19:44:25 +0000 (15:44 -0400)]
vaapiupload: only set caps on newly created buffers.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agovaapisink: ensure VA display in GstBaseSink::start() hook.
Gwenole Beauchesne [Wed, 11 Jan 2012 13:11:30 +0000 (14:11 +0100)]
vaapisink: ensure VA display in GstBaseSink::start() hook.

This ensures a VA display is ready by the time upstream elements request
for it.

12 years agovaapisink: don't leak GL texture.
Nicolas Dufresne [Fri, 26 Aug 2011 19:44:46 +0000 (15:44 -0400)]
vaapisink: don't leak GL texture.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agovaapisink: fix calculation of render region.
Gwenole Beauchesne [Mon, 9 Jan 2012 15:51:35 +0000 (16:51 +0100)]
vaapisink: fix calculation of render region.

12 years agovaapisink: automatically fit video to window.
Gwenole Beauchesne [Mon, 9 Jan 2012 10:23:39 +0000 (11:23 +0100)]
vaapisink: automatically fit video to window.

12 years agovaapisink: implement GstXOverlay::set_render_rectangle().
Gwenole Beauchesne [Mon, 9 Jan 2012 09:37:30 +0000 (10:37 +0100)]
vaapisink: implement GstXOverlay::set_render_rectangle().

12 years agowindow: always check geometry when the window is mapped.
Gwenole Beauchesne [Mon, 9 Jan 2012 10:04:21 +0000 (11:04 +0100)]
window: always check geometry when the window is mapped.

12 years agoAdd missing profiles from VA-API 0.32.0.
Zhao Halley [Fri, 6 Jan 2012 16:51:59 +0000 (17:51 +0100)]
Add missing profiles from VA-API 0.32.0.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years ago.gitignore: add test-subpicture.
Gwenole Beauchesne [Fri, 6 Jan 2012 15:48:15 +0000 (16:48 +0100)]
.gitignore: add test-subpicture.

12 years agoBump version for development.
Gwenole Beauchesne [Fri, 6 Jan 2012 10:23:21 +0000 (11:23 +0100)]
Bump version for development.

12 years ago0.3.2.
Gwenole Beauchesne [Fri, 6 Jan 2012 10:20:48 +0000 (11:20 +0100)]
0.3.2.

12 years agotests: fix make dist (ship with test-subpicture-data.h).
Gwenole Beauchesne [Fri, 6 Jan 2012 10:18:55 +0000 (11:18 +0100)]
tests: fix make dist (ship with test-subpicture-data.h).

12 years agoNEWS: updates.
Gwenole Beauchesne [Thu, 5 Jan 2012 16:35:12 +0000 (17:35 +0100)]
NEWS: updates.

12 years agodecoder: fix possible leak of VA surfaces.
Gwenole Beauchesne [Thu, 5 Jan 2012 16:09:35 +0000 (17:09 +0100)]
decoder: fix possible leak of VA surfaces.

Under some circumstances, we could have leaked a surface, thus not
releasing it to the pool of available surfaces in the VA context.
The strategy is now to use a proxy earlier and automatically ref/unref
whenever necessary. In particular, during the lifetime needed for FFmpeg.

12 years agosurfaceproxy: add helper to retrieve the VA surface ID.
Gwenole Beauchesne [Thu, 5 Jan 2012 15:59:57 +0000 (16:59 +0100)]
surfaceproxy: add helper to retrieve the VA surface ID.

12 years agosurfaceproxy: simplify destruction.
Gwenole Beauchesne [Thu, 5 Jan 2012 15:44:44 +0000 (16:44 +0100)]
surfaceproxy: simplify destruction.

Also make sure to always make sure to release the surface back to the
pool of surfaces in the associated VA context, if any.

12 years agovaapidecode: fix deinitialization order.
Gwenole Beauchesne [Thu, 5 Jan 2012 15:26:49 +0000 (16:26 +0100)]
vaapidecode: fix deinitialization order.

12 years agocontext: avoid self reference loops with surfaces.
Gwenole Beauchesne [Thu, 5 Jan 2012 13:50:26 +0000 (14:50 +0100)]
context: avoid self reference loops with surfaces.

12 years agodebian: update control.in description for new plugins.
Gwenole Beauchesne [Thu, 5 Jan 2012 10:23:01 +0000 (11:23 +0100)]
debian: update control.in description for new plugins.

12 years agovaapiupload: use new gst_vaapi_append_surface_caps() helper.
Gwenole Beauchesne [Thu, 5 Jan 2012 10:01:56 +0000 (11:01 +0100)]
vaapiupload: use new gst_vaapi_append_surface_caps() helper.

This also fixes extra structures, beyond the one at index 0, to hold
the right additional values.

12 years agovaapiupload: fix sink (YUV) caps to not report type and opengl fields.
Gwenole Beauchesne [Thu, 5 Jan 2012 09:55:34 +0000 (10:55 +0100)]
vaapiupload: fix sink (YUV) caps to not report type and opengl fields.

12 years agovaapidownload: add new plugin to download pixels from VA surfaces.
Gwenole Beauchesne [Thu, 5 Jan 2012 09:50:59 +0000 (10:50 +0100)]
vaapidownload: add new plugin to download pixels from VA surfaces.

12 years agovaapipluingutils: add helper to append surface caps to YUV caps.
Gwenole Beauchesne [Thu, 5 Jan 2012 10:00:39 +0000 (11:00 +0100)]
vaapipluingutils: add helper to append surface caps to YUV caps.

12 years agoimage: add helpers to extract pixels to user buffers.
Gwenole Beauchesne [Thu, 5 Jan 2012 09:29:48 +0000 (10:29 +0100)]
image: add helpers to extract pixels to user buffers.

12 years agoimage: simplify initialization of raw images from video buffers.
Gwenole Beauchesne [Wed, 4 Jan 2012 10:34:34 +0000 (11:34 +0100)]
image: simplify initialization of raw images from video buffers.

12 years agoimage: fix update from NV12 buffers.
Gwenole Beauchesne [Wed, 4 Jan 2012 10:29:11 +0000 (11:29 +0100)]
image: fix update from NV12 buffers.

12 years agovaapiupload: fix memory leak in _init() function.
Gwenole Beauchesne [Tue, 3 Jan 2012 17:16:35 +0000 (18:16 +0100)]
vaapiupload: fix memory leak in _init() function.

12 years agoRename vaapiconvert element to vaapiupload.
Gwenole Beauchesne [Tue, 3 Jan 2012 13:34:09 +0000 (14:34 +0100)]
Rename vaapiconvert element to vaapiupload.

12 years agoBump version for development.
Gwenole Beauchesne [Tue, 3 Jan 2012 12:54:03 +0000 (13:54 +0100)]
Bump version for development.

12 years ago0.3.1.
Gwenole Beauchesne [Tue, 3 Jan 2012 12:42:12 +0000 (13:42 +0100)]
0.3.1.

12 years agoNEWS: updates.
Gwenole Beauchesne [Wed, 14 Dec 2011 14:22:24 +0000 (15:22 +0100)]
NEWS: updates.

12 years agosurface: apply composition to the parent context, if requested.
Gwenole Beauchesne [Wed, 14 Dec 2011 13:40:37 +0000 (14:40 +0100)]
surface: apply composition to the parent context, if requested.

12 years agocontext: make it possible to apply composition globally.
Gwenole Beauchesne [Wed, 14 Dec 2011 13:35:13 +0000 (14:35 +0100)]
context: make it possible to apply composition globally.

12 years agosurface: fix associate subpicture to not report deassociation errors.
Gwenole Beauchesne [Wed, 14 Dec 2011 13:13:58 +0000 (14:13 +0100)]
surface: fix associate subpicture to not report deassociation errors.

12 years agosurface: fix typo in debug message.
Gwenole Beauchesne [Wed, 14 Dec 2011 12:46:26 +0000 (13:46 +0100)]
surface: fix typo in debug message.

12 years agosubpicture: add helper to create subpicture from GstVideoOverlayRectangle.
Gwenole Beauchesne [Wed, 14 Dec 2011 12:16:21 +0000 (13:16 +0100)]
subpicture: add helper to create subpicture from GstVideoOverlayRectangle.

12 years agosurface: record parent context.
Gwenole Beauchesne [Tue, 13 Dec 2011 15:53:15 +0000 (16:53 +0100)]
surface: record parent context.

12 years agoFix warnings.
Gwenole Beauchesne [Tue, 13 Dec 2011 14:59:02 +0000 (15:59 +0100)]
Fix warnings.

12 years agoRename gst_vaapi_surface_update_composition() to
Gwenole Beauchesne [Tue, 13 Dec 2011 14:51:58 +0000 (15:51 +0100)]
Rename gst_vaapi_surface_update_composition() to
gst_vaapi_surface_set_subpictures_from_composition().

12 years agoconfigure: check for GstVideoOverlayComposition.
Gwenole Beauchesne [Tue, 13 Dec 2011 12:40:55 +0000 (13:40 +0100)]
configure: check for GstVideoOverlayComposition.

12 years agoNEWS: updates.
Gwenole Beauchesne [Mon, 12 Dec 2011 17:42:44 +0000 (18:42 +0100)]
NEWS: updates.

12 years agoconverter: add support for GstVideoOverlayComposition planes.
Nicolas Dufresne [Fri, 25 Nov 2011 20:00:25 +0000 (15:00 -0500)]
converter: add support for GstVideoOverlayComposition planes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agovaapisink: handle GstVideoOverlayComposition planes.
Thibault Saunier [Wed, 23 Nov 2011 19:45:46 +0000 (16:45 -0300)]
vaapisink: handle GstVideoOverlayComposition planes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agosurface: use unscaled overlay rectangle for blending.
Gwenole Beauchesne [Mon, 12 Dec 2011 17:27:14 +0000 (18:27 +0100)]
surface: use unscaled overlay rectangle for blending.

12 years agosurface: fix VA image leak when an error occurred.
Gwenole Beauchesne [Mon, 12 Dec 2011 17:37:13 +0000 (18:37 +0100)]
surface: fix VA image leak when an error occurred.