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>
Gwenole Beauchesne [Fri, 12 Aug 2011 15:43:55 +0000 (17:43 +0200)]
Add initial H.264 decoder.
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.
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.
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.
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.
Gwenole Beauchesne [Tue, 24 Jan 2012 09:21:45 +0000 (10:21 +0100)]
decoder: allow slices to be attached to pictures later.
Gwenole Beauchesne [Mon, 21 Nov 2011 17:39:49 +0000 (18:39 +0100)]
decoder: add ref_count to GstVaapiPicture.
Gwenole Beauchesne [Mon, 23 Jan 2012 10:48:42 +0000 (11:48 +0100)]
vaapisink: cap window size to the maximum display size.
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>
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.
Gwenole Beauchesne [Tue, 24 Jan 2012 09:06:37 +0000 (10:06 +0100)]
Add template for workarounds.
Gwenole Beauchesne [Wed, 18 Jan 2012 09:47:56 +0000 (10:47 +0100)]
tests: error out if FFmpeg|codecparsers are not supported.
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.
Gwenole Beauchesne [Mon, 16 Jan 2012 13:19:00 +0000 (14:19 +0100)]
tests: fix build without FFmpeg.
Gwenole Beauchesne [Mon, 16 Jan 2012 13:09:57 +0000 (14:09 +0100)]
Bump version for development.
Gwenole Beauchesne [Mon, 16 Jan 2012 10:05:31 +0000 (11:05 +0100)]
0.3.3.
Gwenole Beauchesne [Mon, 16 Jan 2012 10:03:51 +0000 (11:03 +0100)]
legal: fix year for some copyright notices.
Gwenole Beauchesne [Mon, 16 Jan 2012 09:42:55 +0000 (10:42 +0100)]
legal: add Intel copyright on modified files.
Gwenole Beauchesne [Mon, 16 Jan 2012 09:41:10 +0000 (10:41 +0100)]
legal: fix copyright notices to include "Copyright" term.
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>
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>
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>
Gwenole Beauchesne [Fri, 7 Oct 2011 09:50:20 +0000 (11:50 +0200)]
vc1: fix codec-data decoding for WMV3 format.
Gwenole Beauchesne [Fri, 7 Oct 2011 09:12:33 +0000 (11:12 +0200)]
vc1: fix presentation timestamps.
Gwenole Beauchesne [Thu, 6 Oct 2011 13:59:22 +0000 (15:59 +0200)]
vc1: fix MV mode packing.
Gwenole Beauchesne [Wed, 5 Oct 2011 14:41:57 +0000 (16:41 +0200)]
vc1: handle codec-data.
Gwenole Beauchesne [Wed, 5 Oct 2011 13:56:36 +0000 (15:56 +0200)]
vc1: handle encapsulated bitstreams.
Gwenole Beauchesne [Tue, 4 Oct 2011 15:51:51 +0000 (17:51 +0200)]
vc1: fix bitplanes decoding.
Gwenole Beauchesne [Tue, 4 Oct 2011 12:15:55 +0000 (14:15 +0200)]
vc1: fix BFRACTION reconstruction.
Gwenole Beauchesne [Fri, 30 Sep 2011 15:16:23 +0000 (17:16 +0200)]
vc1: fix framerate calculation.
Gwenole Beauchesne [Fri, 30 Sep 2011 11:40:11 +0000 (13:40 +0200)]
Add initial VC-1 decoder.
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>
Gwenole Beauchesne [Fri, 6 Jan 2012 15:44:09 +0000 (16:44 +0100)]
mpeg2: fix quantisation matrix construction.
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>
Gwenole Beauchesne [Wed, 14 Sep 2011 16:11:57 +0000 (18:11 +0200)]
mpeg2: fix packets spanning over two buffers.
Gwenole Beauchesne [Mon, 12 Sep 2011 16:20:00 +0000 (18:20 +0200)]
mpeg2: ignore system start codes (PES headers).
Gwenole Beauchesne [Mon, 12 Sep 2011 16:02:53 +0000 (18:02 +0200)]
mpeg2: handle closed_gop.
Gwenole Beauchesne [Fri, 5 Aug 2011 09:55:11 +0000 (11:55 +0200)]
Add initial MPEG-2 decoder.
Gwenole Beauchesne [Fri, 12 Aug 2011 08:21:19 +0000 (10:21 +0200)]
Allow conditional build of GStreamer/FFmpeg bitstream parsers.
Gwenole Beauchesne [Fri, 5 Aug 2011 09:53:50 +0000 (11:53 +0200)]
Add VA decoder helpers.
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
Gwenole Beauchesne [Mon, 12 Sep 2011 11:00:59 +0000 (13:00 +0200)]
Add timestamp buffer store helper utils.
Gwenole Beauchesne [Thu, 4 Aug 2011 15:29:41 +0000 (17:29 +0200)]
Add VA buffer helpers.
Gwenole Beauchesne [Fri, 13 Jan 2012 14:03:38 +0000 (15:03 +0100)]
utils: slight improvements to gl_bind_texture().
Gwenole Beauchesne [Fri, 13 Jan 2012 13:13:55 +0000 (14:13 +0100)]
utils: pretty-print output of gl_get_error_string().
Gwenole Beauchesne [Fri, 13 Jan 2012 13:03:29 +0000 (14:03 +0100)]
utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
Gwenole Beauchesne [Fri, 13 Jan 2012 11:09:07 +0000 (12:09 +0100)]
utils: simplify string of VAProfile/VAEntrypoint.
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.
Gwenole Beauchesne [Thu, 12 Jan 2012 16:18:47 +0000 (17:18 +0100)]
NEWS: updates.
Gwenole Beauchesne [Thu, 12 Jan 2012 14:34:59 +0000 (15:34 +0100)]
tests: check for shared VA displays (display cache).
Gwenole Beauchesne [Thu, 12 Jan 2012 14:30:04 +0000 (15:30 +0100)]
display: always free VA display cache if it is empty.
Gwenole Beauchesne [Thu, 12 Jan 2012 14:03:04 +0000 (15:03 +0100)]
display: use VA display cache for X11 and GLX winsys.
Gwenole Beauchesne [Thu, 12 Jan 2012 11:46:34 +0000 (12:46 +0100)]
display: implement a VA display cache.
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.
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>
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.
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>
Gwenole Beauchesne [Mon, 9 Jan 2012 15:51:35 +0000 (16:51 +0100)]
vaapisink: fix calculation of render region.
Gwenole Beauchesne [Mon, 9 Jan 2012 10:23:39 +0000 (11:23 +0100)]
vaapisink: automatically fit video to window.
Gwenole Beauchesne [Mon, 9 Jan 2012 09:37:30 +0000 (10:37 +0100)]
vaapisink: implement GstXOverlay::set_render_rectangle().
Gwenole Beauchesne [Mon, 9 Jan 2012 10:04:21 +0000 (11:04 +0100)]
window: always check geometry when the window is mapped.
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>
Gwenole Beauchesne [Fri, 6 Jan 2012 15:48:15 +0000 (16:48 +0100)]
.gitignore: add test-subpicture.
Gwenole Beauchesne [Fri, 6 Jan 2012 10:23:21 +0000 (11:23 +0100)]
Bump version for development.
Gwenole Beauchesne [Fri, 6 Jan 2012 10:20:48 +0000 (11:20 +0100)]
0.3.2.
Gwenole Beauchesne [Fri, 6 Jan 2012 10:18:55 +0000 (11:18 +0100)]
tests: fix make dist (ship with test-subpicture-data.h).
Gwenole Beauchesne [Thu, 5 Jan 2012 16:35:12 +0000 (17:35 +0100)]
NEWS: updates.
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.
Gwenole Beauchesne [Thu, 5 Jan 2012 15:59:57 +0000 (16:59 +0100)]
surfaceproxy: add helper to retrieve the VA surface ID.
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.
Gwenole Beauchesne [Thu, 5 Jan 2012 15:26:49 +0000 (16:26 +0100)]
vaapidecode: fix deinitialization order.
Gwenole Beauchesne [Thu, 5 Jan 2012 13:50:26 +0000 (14:50 +0100)]
context: avoid self reference loops with surfaces.
Gwenole Beauchesne [Thu, 5 Jan 2012 10:23:01 +0000 (11:23 +0100)]
debian: update control.in description for new plugins.
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.
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.
Gwenole Beauchesne [Thu, 5 Jan 2012 09:50:59 +0000 (10:50 +0100)]
vaapidownload: add new plugin to download pixels from VA surfaces.
Gwenole Beauchesne [Thu, 5 Jan 2012 10:00:39 +0000 (11:00 +0100)]
vaapipluingutils: add helper to append surface caps to YUV caps.
Gwenole Beauchesne [Thu, 5 Jan 2012 09:29:48 +0000 (10:29 +0100)]
image: add helpers to extract pixels to user buffers.
Gwenole Beauchesne [Wed, 4 Jan 2012 10:34:34 +0000 (11:34 +0100)]
image: simplify initialization of raw images from video buffers.
Gwenole Beauchesne [Wed, 4 Jan 2012 10:29:11 +0000 (11:29 +0100)]
image: fix update from NV12 buffers.
Gwenole Beauchesne [Tue, 3 Jan 2012 17:16:35 +0000 (18:16 +0100)]
vaapiupload: fix memory leak in _init() function.
Gwenole Beauchesne [Tue, 3 Jan 2012 13:34:09 +0000 (14:34 +0100)]
Rename vaapiconvert element to vaapiupload.
Gwenole Beauchesne [Tue, 3 Jan 2012 12:54:03 +0000 (13:54 +0100)]
Bump version for development.
Gwenole Beauchesne [Tue, 3 Jan 2012 12:42:12 +0000 (13:42 +0100)]
0.3.1.
Gwenole Beauchesne [Wed, 14 Dec 2011 14:22:24 +0000 (15:22 +0100)]
NEWS: updates.
Gwenole Beauchesne [Wed, 14 Dec 2011 13:40:37 +0000 (14:40 +0100)]
surface: apply composition to the parent context, if requested.
Gwenole Beauchesne [Wed, 14 Dec 2011 13:35:13 +0000 (14:35 +0100)]
context: make it possible to apply composition globally.
Gwenole Beauchesne [Wed, 14 Dec 2011 13:13:58 +0000 (14:13 +0100)]
surface: fix associate subpicture to not report deassociation errors.
Gwenole Beauchesne [Wed, 14 Dec 2011 12:46:26 +0000 (13:46 +0100)]
surface: fix typo in debug message.
Gwenole Beauchesne [Wed, 14 Dec 2011 12:16:21 +0000 (13:16 +0100)]
subpicture: add helper to create subpicture from GstVideoOverlayRectangle.
Gwenole Beauchesne [Tue, 13 Dec 2011 15:53:15 +0000 (16:53 +0100)]
surface: record parent context.
Gwenole Beauchesne [Tue, 13 Dec 2011 14:59:02 +0000 (15:59 +0100)]
Fix warnings.
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().
Gwenole Beauchesne [Tue, 13 Dec 2011 12:40:55 +0000 (13:40 +0100)]
configure: check for GstVideoOverlayComposition.
Gwenole Beauchesne [Mon, 12 Dec 2011 17:42:44 +0000 (18:42 +0100)]
NEWS: updates.
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>
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>
Gwenole Beauchesne [Mon, 12 Dec 2011 17:27:14 +0000 (18:27 +0100)]
surface: use unscaled overlay rectangle for blending.
Gwenole Beauchesne [Mon, 12 Dec 2011 17:37:13 +0000 (18:37 +0100)]
surface: fix VA image leak when an error occurred.