Commit graph

304 commits

Author SHA1 Message Date
Gwenole Beauchesne
3e1d235c1a 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.
2012-01-05 17:35:43 +01:00
Gwenole Beauchesne
4e72aa587c surfaceproxy: add helper to retrieve the VA surface ID. 2012-01-05 17:35:43 +01:00
Gwenole Beauchesne
40f44ab60e 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.
2012-01-05 17:35:37 +01:00
Gwenole Beauchesne
0afd2e5c42 context: avoid self reference loops with surfaces. 2012-01-05 14:50:26 +01:00
Gwenole Beauchesne
7f8eaa6cbf image: add helpers to extract pixels to user buffers. 2012-01-05 10:29:48 +01:00
Gwenole Beauchesne
13f00c67e6 image: simplify initialization of raw images from video buffers. 2012-01-04 11:34:34 +01:00
Gwenole Beauchesne
ad390f3569 image: fix update from NV12 buffers. 2012-01-04 11:32:21 +01:00
Gwenole Beauchesne
ac7c4cfe78 surface: apply composition to the parent context, if requested. 2011-12-14 14:40:37 +01:00
Gwenole Beauchesne
17538a340e context: make it possible to apply composition globally. 2011-12-14 14:35:13 +01:00
Gwenole Beauchesne
0634dc768d surface: fix associate subpicture to not report deassociation errors. 2011-12-14 14:13:58 +01:00
Gwenole Beauchesne
bf63fe671f surface: fix typo in debug message. 2011-12-14 13:46:26 +01:00
Gwenole Beauchesne
3227168487 subpicture: add helper to create subpicture from GstVideoOverlayRectangle. 2011-12-14 13:16:21 +01:00
Gwenole Beauchesne
317c4e639e surface: record parent context. 2011-12-13 16:53:15 +01:00
Gwenole Beauchesne
9c8c33857f Fix warnings. 2011-12-13 15:59:02 +01:00
Gwenole Beauchesne
a4244820af Rename gst_vaapi_surface_update_composition() to
gst_vaapi_surface_set_subpictures_from_composition().
2011-12-13 15:51:58 +01:00
Nicolas Dufresne
f6fb267903 converter: add support for GstVideoOverlayComposition planes.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-12 18:38:51 +01:00
Gwenole Beauchesne
b014567502 surface: use unscaled overlay rectangle for blending. 2011-12-12 18:38:46 +01:00
Gwenole Beauchesne
010f94b85d surface: fix VA image leak when an error occurred. 2011-12-12 18:37:13 +01:00
Nicolas Dufresne
c997607c6f surface: add helper to handle GstVideoOverlayComposition.
This helper resets the subpictures to reflect the current composition
layers provided with the buffers.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-12 18:34:57 +01:00
Gwenole Beauchesne
55738da35b image: add gst_vaapi_image_format_from_video() helper. 2011-12-12 18:32:29 +01:00
Gwenole Beauchesne
efcdec08fb image: allow updates from GstVaapiImageRaw. 2011-12-12 18:32:29 +01:00
Gwenole Beauchesne
9337fb9a74 image: allow partial updates. 2011-12-12 18:32:29 +01:00
Gwenole Beauchesne
6352c7d5fa subpicture: fix doc for gst_vaapi_subpicture_set_image(). 2011-12-12 18:32:29 +01:00
Gwenole Beauchesne
697b96c30c display: fix has_image_format() to check against subpicture formats. 2011-12-12 15:09:37 +01:00
Gwenole Beauchesne
e0fc705de3 Drop unused copy of GstBaseVideoDecoder. 2011-12-12 10:04:32 +01:00
Gwenole Beauchesne
e3c6a78da6 decoder: drop unused headers. 2011-12-08 15:16:14 +01:00
Nicolas Dufresne
c5b18c27d5 videobuffer: add GLX buffer support.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-08 15:13:35 +01:00
Nicolas Dufresne
a6717334f9 Port to GstSurfaceBuffer interface.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-08 14:58:58 +01:00
Nicolas Dufresne
075374cda3 Change caps to use new video/x-surface generic type.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-08 14:58:58 +01:00
Nicolas Dufresne
99c5d18f41 Port to GstVideoContext interface.
This new interface allows for upstream and downstream display sharing
that works in both static and dynamic pipelines.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-08 14:58:58 +01:00
Gwenole Beauchesne
f35a7f8fb0 Add new GStreamer version check utilities. 2011-12-07 19:05:50 +01:00
Nicolas Dufresne
e5abbe0440 display: destroy display on creation failure.
This allows element to detect that the display creation has actually
failed.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-07 17:20:55 +01:00
Nicolas Dufresne
8a1dc4978f display: don't crash when config is empty.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-07 17:19:42 +01:00
Gwenole Beauchesne
3b9a165037 decoder: fix use of invalid data at the end-of-stream. 2011-10-19 17:33:36 +02:00
Gwenole Beauchesne
bd74adeffa Cosmetics (sort source files). 2011-09-14 11:40:02 +02:00
Gwenole Beauchesne
857a024c62 Fix gst_vaapi_image_new_with_image(). 2011-09-08 14:51:30 +02:00
Gwenole Beauchesne
e00ec1f576 Add gst_vaapi_video_buffer_new_from_buffer().
Add helper function to bind a foreign buffer into a GstVaapiVideoBuffer.
Any image, surface or surface proxy will be inherited from the source buffer
if it is a GstVaapiVideoBuffer.
2011-09-06 18:37:11 +02:00
Gwenole Beauchesne
00bb1ca6b4 Add Intel copyright information. 2011-08-01 14:15:39 +02:00
Gwenole Beauchesne
a9a9d72e96 Fix build with newer FFmpeg versions. 2011-07-22 15:56:22 +02:00
Gwenole Beauchesne
2f91c9e8c1 Report caps update only once per video resolution change. 2011-07-22 15:42:26 +02:00
Gwenole Beauchesne
ab6efa04ca Add canonical form (type name) of VA surface caps. 2011-07-22 15:42:26 +02:00
Gwenole Beauchesne
1701ce3107 Update copyright notice. 2011-06-14 13:54:07 +02:00
Gwenole Beauchesne
b614ec9c9b Fix licensing terms. 2011-06-14 13:54:03 +02:00
gb
8ee1ffa857 Drop the GLX 1.3 requirement. 2010-09-20 12:55:47 +02:00
gb
982a06b1c7 Call the GLX/Pixmap related functions through the vtable. 2010-09-20 12:55:47 +02:00
gb
fcb65d60f5 Drop dependency on libavformat. 2010-09-20 12:55:47 +02:00
gb
781a7edd57 Add gst_base_video_decoder_update_src_caps().
Don't forcibly set "interlaced" field if upstream
elements did not have any.
2010-09-20 12:55:47 +02:00
gb
e708f89b67 Drop superfluous functions. 2010-09-20 12:55:47 +02:00
gb
b5b650c6ee Really drop any dependency on libgstvideo. i.e. inline the helpers. 2010-09-20 12:55:47 +02:00
gb
7bd568f293 Further drop dependency on libgstvideo. 2010-09-20 12:55:47 +02:00