Commit graph

1051 commits

Author SHA1 Message Date
Gwenole Beauchesne
a5144358d1 videobuffer: add surface render flags.
Allow rendering flags, as a combination of GstVaapiSurfaceRenderFlags,
to be set to the video buffer. In particular, this is mostly useful for
basic deinterlacing.
2012-03-26 12:01:36 +02:00
Wind Yuan
d43f3dc50a decode: delay NEWSEGMENT event if vaapidecode element was not linked.
Rationale: playbin2 links all elements at run-time. Once vaapidecode
is created and a NEWSEGMENT event arrives, downstream element may not
be ready yet. So, delay this event until next element is chained in,
otherwise basesink could output "Received buffer without a new-segment.
Assuming timestamps start from 0".

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-03-22 14:33:17 +01:00
Holger Kaelberer
0d0cff695f vaapidecode: propagate interlaced and TFF properties downstream.
Propagate "interlaced" caps downstream and set "tff" buffer flag
appropriately to output buffers for interlaced pictures.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-03-19 18:43:06 +01:00
Gwenole Beauchesne
6c8b052bd3 Revert "vaapidecode: fix another pad template ref leak" (Holger Kaelberer)
This reverts commit 2f127d6af4.

For gst_element_class_get_pad_template(), no unreferencing is necessary
according to the GStreamer documentation.
2012-03-02 15:03:57 +01:00
Gwenole Beauchesne
2f127d6af4 vaapidecode: fix another pad template ref leak. 2012-02-06 16:11:38 +01:00
Gwenole Beauchesne
843f528f95 vaapiupload: use g_object_unref() for GstVaapiImage. 2012-02-05 18:28:51 +01:00
Gwenole Beauchesne
f64bafea59 plugins: fix pad template ref leaks. 2012-02-05 18:24:08 +01:00
Gwenole Beauchesne
c071f80f40 Add initial H.264 decoder. 2012-01-29 15:27:59 +01:00
Gwenole Beauchesne
990fe81fe2 vaapisink: cap window size to the maximum display size. 2012-01-24 10:15:47 +01:00
Gwenole Beauchesne
92f11799d1 legal: fix year for some copyright notices. 2012-01-16 11:40:51 +01:00
Gwenole Beauchesne
1594d99d55 legal: add Intel copyright on modified files. 2012-01-16 11:40:51 +01:00
Gwenole Beauchesne
14cc1cf061 legal: fix copyright notices to include "Copyright" term. 2012-01-16 11:40:51 +01:00
Zhao Halley
6502783474 Add initial MPEG-4 decoder.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-01-16 11:40:51 +01:00
Gwenole Beauchesne
b865d4a740 Add initial VC-1 decoder. 2012-01-16 11:40:51 +01:00
Gwenole Beauchesne
49b4702fb6 Add initial MPEG-2 decoder. 2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
8f0eda8964 Allow conditional build of GStreamer/FFmpeg bitstream parsers. 2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
6b03d30162 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.
2012-01-12 16:09:08 +01:00
Nicolas Dufresne
b7e5a48e5e vaapiupload: only set caps on newly created buffers.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-01-12 16:09:08 +01:00
Gwenole Beauchesne
0385750fa7 vaapisink: ensure VA display in GstBaseSink::start() hook.
This ensures a VA display is ready by the time upstream elements request
for it.
2012-01-12 16:09:08 +01:00
Nicolas Dufresne
c432e82e44 vaapisink: don't leak GL texture.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-01-12 16:09:08 +01:00
Gwenole Beauchesne
8866a7c223 vaapisink: fix calculation of render region. 2012-01-11 09:38:57 +01:00
Gwenole Beauchesne
b1aee91aa0 vaapisink: automatically fit video to window. 2012-01-11 09:38:56 +01:00
Gwenole Beauchesne
3ca1d0820c vaapisink: implement GstXOverlay::set_render_rectangle(). 2012-01-11 09:38:56 +01:00
Gwenole Beauchesne
48cefaf9ce vaapidecode: fix deinitialization order. 2012-01-05 16:26:49 +01:00
Gwenole Beauchesne
f0486c5716 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.
2012-01-05 11:04:29 +01:00
Gwenole Beauchesne
0de8b8cce1 vaapiupload: fix sink (YUV) caps to not report type and opengl fields. 2012-01-05 11:04:29 +01:00
Gwenole Beauchesne
6ca190b4c5 vaapidownload: add new plugin to download pixels from VA surfaces. 2012-01-05 11:04:29 +01:00
Gwenole Beauchesne
872694fda5 vaapipluingutils: add helper to append surface caps to YUV caps. 2012-01-05 11:04:29 +01:00
Gwenole Beauchesne
12c85f69ff vaapiupload: fix memory leak in _init() function. 2012-01-03 18:16:35 +01:00
Gwenole Beauchesne
42fa974391 Rename vaapiconvert element to vaapiupload. 2012-01-03 14:34:09 +01:00
Gwenole Beauchesne
ac7c4cfe78 surface: apply composition to the parent context, if requested. 2011-12-14 14:40:37 +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
Thibault Saunier
e4d7e90568 vaapisink: handle GstVideoOverlayComposition planes.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-12 18:38:51 +01:00
Gwenole Beauchesne
55738da35b image: add gst_vaapi_image_format_from_video() helper. 2011-12-12 18:32:29 +01:00
Gwenole Beauchesne
9337fb9a74 image: allow partial updates. 2011-12-12 18:32:29 +01:00
Nicolas Dufresne
cbf81d7d51 Add missing video context queries.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-12 15:02:15 +01:00
Gwenole Beauchesne
0df67b5e89 vaapiplugin: include local build dir to CFLAGS for generated files. 2011-12-09 10:45:20 +01:00
Sreerenj Balachandran
809e087cca vaapidecode: return sink caps template if decoder is in NULL state.
Otherwise, the decoder would always create its own X display instead
of probing it from the downstream element, which is not reliable.
e.g. DISPLAY is not :0 or when running on Wayland.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-08 15:48:42 +01:00
Gwenole Beauchesne
dc08d1eae0 vaapiplugin: properly set surface type to "vaapi" in caps. 2011-12-08 15:44:09 +01:00
Nicolas Dufresne
36e0f582a8 vaapiplugin: properly set opengl support in caps.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-08 15:13:42 +01:00
Nicolas Dufresne
bb22317e39 vaapiplugin: allocate GLX buffers when supported.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-08 15:13:42 +01:00
Nicolas Dufresne
b170d1a982 Don't use downstream buffer allocation.
With the new video/x-surface abstraction, we can't rely on having a VA
specific sink downstream. Also, there was no particular reason to do that.

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
2df43791d4 vaapisink: use GST_ERROR to print error messages. 2011-12-08 14:57:36 +01:00
Gwenole Beauchesne
f3d89f8bc0 vaapiplugin: link against VA/GLX when enabled. 2011-12-08 13:30:51 +01:00
Gwenole Beauchesne
04d4c9f225 Add Intel copyright information. 2011-12-07 19:09:55 +01:00
Gwenole Beauchesne
513b9c700b vaapisink: allow compatibility with gst-plugins-base < 0.10.31. 2011-12-07 19:05:50 +01:00
Sreerenj Balachandran
820c52f953 vaapisink: replace the deprecated xoverlay API with the new one.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-07 18:02:22 +01:00
Nicolas Dufresne
48b3d02143 Group all plugins into the same bundle
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-07 14:33:59 +01:00