Gwenole Beauchesne
4ffdc98ab4
libs: drop obsolete function helpers and objects.
...
Drop obsolete GstVaapiID related function helpers for passing them as
GValues.
2013-05-07 17:51:27 +02:00
Gwenole Beauchesne
2e6ff64a34
libs: use GstVaapiMiniObject for video object pools.
...
Port GstVaapiVideoPool, GstVaapiSurfacePool and GstVaapiImagePool to
GstVaapiMiniObject. Drop gst_vaapi_video_pool_get_caps() since it was
no longer used for a long time. Make object allocators static, i.e.
local to the shared library.
2013-05-07 17:51:27 +02:00
Gwenole Beauchesne
8402b04ac9
libs: use GstVaapiObject for window objects.
2013-05-07 17:51:27 +02:00
Gwenole Beauchesne
1f15c28a1b
Port GstVaapiObject to GstVaapiMiniObject.
2013-05-07 17:51:27 +02:00
Gwenole Beauchesne
a24e216466
decoder: rename GstVaapiDecoderFrame to GstVaapiParserFrame.
...
Rename GstVaapiDecoderFrame to GstVaapiParserFrame because this data
structure was only useful to parsing and a proper GstvaapiDecoderFrame
instance will be created instead.
2013-04-16 19:11:02 +02:00
Gwenole Beauchesne
c7dff071c7
surfaceproxy: add more attributes for raw decoding modes.
...
Add more attributes for raw decoding modes, i.e. directly through the
libgstvaapi helper library. In particular, add presentation timestamp,
duration and a couple of flags (interlaced, TFF, RFF, one-field).
2013-04-16 19:07:24 +02:00
Víctor Manuel Jáquez Leal
2db47c0ade
build: link libgstvaapi-glx-1.0.so against libdl.
...
Ensure libgstvaapi-glx*.so builds against libdl since dlsym() is used
to resolve glXGetProcAddress() from GLX libraries. This fix builds on
Fedora 17.
https://bugzilla.gnome.org/show_bug.cgi?id=698046
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-04-15 15:04:29 +02:00
Gwenole Beauchesne
aedef381b2
Fix make dist to include all source files, in any case.
...
Fix make dist to allow build for either GStreamer 0.10 or 1.0. i.e. make
sure to include all source files in either case while generating source
tarballs.
2013-04-10 15:43:28 +02:00
Gwenole Beauchesne
140fa66be3
plugins: integrate GstVaapiVideoMeta from libgstvaapi.
...
Move GstVaapiVideoMeta from core libgstvaapi decoding library to the
actual plugin elements. That's only useful there. Also inline reference
counting code from GstVaapiMiniObject.
2013-03-26 10:33:27 +01:00
Gwenole Beauchesne
4cf44e3ad2
plugins: integrate GstVaapiVideoBuffer from libgstvaapi.
...
Move GstVaapiVideoBuffer from core libgstvaapi decoding library to the
actual plugin elements. That's only useful there.
2013-03-21 18:16:14 +01:00
Gwenole Beauchesne
17e7e67c1f
plugins: integrate GstVaapiVideoConverterGLX from libgstvaapi.
...
Make sure libgstvaapi core decoding library doesn't include un-needed
dependencies. So, move out GstVaapiVideoConverterGLX to plugins instead.
Besides, even if the vaapisink element is not used, we are bound to have
a correctly populated GstSurfaceBuffer from vaapidecode.
Also clean-up the file along the way.
2013-03-21 18:16:14 +01:00
Gwenole Beauchesne
833ebf9cae
sysdeps: split out GStreamer API compatibility glue to "gstcompat.h".
2013-03-20 18:30:09 +01:00
Gwenole Beauchesne
4dd6035dac
configure: rename GST_MAJORMINOR to GST_API_VERSION.
2013-03-20 11:44:10 +01:00
Gwenole Beauchesne
655f400e1c
display: dump gstreamer-vaapi version for debugging purposes.
2013-01-18 14:49:15 +01:00
Gwenole Beauchesne
d6bbc652b4
videobuffer: wrap video meta into a surface buffer.
...
Make GstVaapiVideoBuffer a simple wrapper for video meta. This buffer is
no longer necessary but for compatibility with GStreamer 0.10 APIs or users
expecting a GstSurfaceBuffer like Clutter.
2013-01-05 18:02:31 +01:00
Gwenole Beauchesne
b1636c3585
videobuffer: add video meta information.
...
Add new GstVaapiVideoMeta object that holds all information needed to
convey gst-vaapi specific data as a GstBuffer.
2013-01-05 18:02:31 +01:00
Gwenole Beauchesne
9e643a6147
Add videoutils submodule for GstVideoDecoder APIs.
2012-12-21 16:01:16 +01:00
Gwenole Beauchesne
f5294b813a
Bump library major version.
...
Increase library major so that to cope with API/ABI incompatible changes
since 0.4.x series and avoid user issues.
2012-12-18 15:31:52 +01:00
Gwenole Beauchesne
f5e6444b78
decoder: add new "decoder-frame" object.
...
Introduce a new GstVaapiDecoderFrame that is just a list of decoder units
(GstVaapiDecoderUnit objects) that constitute a frame. This object is just
an extension to GstVideoCodecFrame for VA decoder purposes. It is available
as the user-data member element.
This is a libgstvaapi internal object.
2012-12-18 15:31:51 +01:00
Gwenole Beauchesne
49dbb9af50
decoder: add new "decoder-unit" object.
...
Introduce GstVaapiDecoderUnit which represents a fragment of the source
stream to be decoded. For instance, a decode-unit will be a NAL unit for
H.264 streams, an EBDU for VC-1 streams, and a video packet for MPEG-2
streams.
This is a libgstvaapi internal object.
2012-12-18 15:31:51 +01:00
Gwenole Beauchesne
44945ac9eb
Add GstVaapiMiniObject.
...
Introduce a new reference counted object that is very lightweight and
also provides flags and user-data functionalities. Initialization and
finalization times are reduced by up to a factor 5x vs GstMiniObject
from GStreamer 0.10 stack.
This is a libgstvaapi internal object.
2012-12-18 15:31:50 +01:00
Gwenole Beauchesne
1d669a3e12
libs: only export gst_vaapi_*() symbols.
...
This fixes symbol clashes between the gst-vaapi built-in codecparsers/
library and the system-provided one, mainly used by videoparses/. Now,
only symbols with the gst_vaapi_* prefix will be exported, if they are
not marked as "hidden" to libgstvaapi.
2012-12-17 14:12:15 +01:00
Gwenole Beauchesne
ca8b5035de
Fix build with the GNU gold linker.
...
In particular, fix libgstvaapi-glx DSO dependencies to include libgstbase
and libgstvideo libs, e.g. for gst_video_buffer_get_overlay_composition().
2012-11-15 15:02:23 +01:00
Gwenole Beauchesne
cee782a177
codecparsers: jpeg: use submodule sources.
2012-10-11 14:19:38 +02:00
Gwenole Beauchesne
30a8c566b7
display: fix physical display size when display is rotated.
2012-09-06 13:39:50 +02:00
Gwenole Beauchesne
4a1127dd7c
vaapisink: drop obsolete GstVaapiVideoSink interface.
...
This interface was deprecated since 0.3.x series when the GstVideoContext
interface was added to the main GStreamer APIs.
2012-08-29 13:20:17 +02:00
Gwenole Beauchesne
657f0a4a6f
Add initial support for VA/DRM.
2012-08-01 16:40:17 +02:00
Gwenole Beauchesne
7070961202
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.
2012-07-31 17:58:43 +02:00
Sreerenj Balachandran
621bb12be6
Add initial support for VA/Wayland.
...
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-07-25 15:31:42 +02:00
Gwenole Beauchesne
b6c97e31ee
configure: improve checks for GLX.
2012-07-20 14:44:27 +02:00
Gwenole Beauchesne
562d98ec56
Drop obsolete GstVaapiTSB.
...
It has been replaced with a GstAdapter and gst_adapter_prev_pts().
2012-07-19 17:58:21 +02:00
Gwenole Beauchesne
9d440fafb3
Drop all references to USE_CODEC_PARSERS.
2012-07-19 17:30:36 +02:00
Gwenole Beauchesne
7f47ac3bea
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.
2012-07-19 17:30:36 +02:00
Javier Jardón
c415868f26
libs: use generic g_cclosure_marshal_VOID__VOID().
...
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-07-19 15:19:16 +02:00
Gwenole Beauchesne
a9bd8400db
Fix build with recent GStreamer stack.
2012-06-26 10:57:34 +02:00
Wind Yuan
75e8a7d6f8
Add initial JPEG decoder.
...
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-04-11 19:38:12 +02:00
Wind Yuan
c350a0809d
codecparsers: add JPEG parser.
...
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-04-11 19:38:12 +02:00
Gwenole Beauchesne
ac4fc0d36c
mpeg2: add new decoded picture buffer infrastructure.
...
Decoded pictures are now maintained into DPB, similarly to H.264.
The same mechanism could be re-used for VC-1 and MPEG-4:2 codecs.
2012-03-28 19:36:52 +02:00
Gwenole Beauchesne
b54bf3175c
Add glib compatibility glue for older versions.
2012-01-30 19:53:13 +01:00
Gwenole Beauchesne
0fb1147d9c
Add header for system-dependent definitions.
2012-01-30 19:52:10 +01:00
Gwenole Beauchesne
c071f80f40
Add initial H.264 decoder.
2012-01-29 15:27:59 +01:00
Gwenole Beauchesne
e5d12e8853
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.
2012-01-27 13:28:11 +01:00
Gwenole Beauchesne
29623239b9
Add template for workarounds.
2012-01-24 10:11:59 +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
9764e35acb
Add timestamp buffer store helper utils.
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
773272475f
display: implement a VA display cache.
2012-01-12 16:09:08 +01:00
Gwenole Beauchesne
317c4e639e
surface: record parent context.
2011-12-13 16:53:15 +01:00
Gwenole Beauchesne
55738da35b
image: add gst_vaapi_image_format_from_video() helper.
2011-12-12 18:32:29 +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
bd74adeffa
Cosmetics (sort source files).
2011-09-14 11:40:02 +02:00
gb
fcb65d60f5
Drop dependency on libavformat.
2010-09-20 12:55:47 +02:00
gb
453164d0c5
Add gst_vaapi_display_lookup_downstream() helper.
2010-09-20 12:55:45 +02:00
gb
01af005ec2
Really link all helper libraries with libtool -no-undefined.
2010-09-20 12:55:44 +02:00
gb
eec67a5972
Link helper libraries with libtool -no-undefined.
2010-09-20 12:55:44 +02:00
gb
a203d19a35
Add initial (multithreaded) decoder based on FFmpeg.
...
There are tons of bugs left:
- Decoder API not nice enough with error conditions
- FFmpeg parser is sometimes broken
- Packets queue can be lost
2010-04-23 16:05:58 +00:00
gb
508edba9a0
Add VA profile abstraction.
2010-04-20 13:36:04 +00:00
gb
7edf8c9bb7
Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way.
2010-04-01 13:41:24 +00:00
gb
6b56ca0068
Move GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapidisplay_priv.h.
2010-04-01 09:47:59 +00:00
gb
10c454e801
Add initial VA/GLX texture abstraction though the API is not good enough yet.
2010-03-26 16:52:07 +00:00
gb
b50e7f1050
gstvaapicompat.h is a private header, don't install it.
2010-03-26 11:39:20 +00:00
gb
ec3a04d74d
Fix compile flags.
2010-03-26 08:00:32 +00:00
gb
89a99d828c
Add initial VA/GLX support.
2010-03-25 17:28:49 +00:00
gb
3fe6ca16e2
gstvaapicompat.h is now a private header (not installed).
2010-03-24 16:27:36 +00:00
gb
1727295d2c
Drop tedious LIBVA_EXTRA_{CFLAGS,LIBS} definitions in Makefile.am. Override CFLAGS & LIBS instead.
2010-03-24 16:21:20 +00:00
gb
725bc7a607
Add compatibility with the original VA-API 0.29.
2010-03-24 16:17:49 +00:00
gb
b182366483
Move GValue specific stuff to a dedicated file.
2010-03-24 13:37:38 +00:00
gb
2cbcd31488
Add GParamSpecs for GstVaapiID.
2010-03-24 12:57:54 +00:00
gb
647621cf3c
Add GstVaapiID abstraction.
2010-03-24 09:52:43 +00:00
gb
b8b82d3337
Move private definitions and accessors to gstvaapiobject_priv.h.
2010-03-24 08:32:12 +00:00
gb
e403f26bc5
Add "destroy" signal.
2010-03-23 17:12:40 +00:00
gb
2155318d12
Make GstVaapi{Surface,Image,Subpicture} derive from a GstVaapiObject.
2010-03-23 16:21:28 +00:00
gb
3136cdc991
Try to improve switch to fullscreen mode.
2010-03-22 16:57:20 +00:00
gb
6407e5339a
Add private API to set window size & fullscreen modes
...
without triggering any notification or virtual functions.
This is useful for derived class to fix up sizes whenever appropriate.
2010-03-22 13:05:05 +00:00
gb
873d5b7a04
Add GstVaapiPoint & GstVaapiRectangle data structures.
2010-03-22 12:16:47 +00:00
gb
ad54bcf903
Split X11 support to libgstvaapi-x11-*.so.*
2010-03-16 09:39:07 +00:00
gb
d6a6c1ef98
Don't install private headers.
2010-03-16 09:21:15 +00:00
gb
d6f883f73a
Rename vaapi_debug.h to gstvaapidebug.h.
2010-03-16 09:17:41 +00:00
gb
4e2db9d8e4
Move vaapi_utils.* to gstvaapiutils.*
2010-03-16 09:15:48 +00:00
gb
2ca21f9e41
Move X11 utilties to gstvaapiutils_x11.[ch].
2010-03-16 09:12:47 +00:00
gb
f2af51eefc
Rename GstVaapiSinkBase to GstVaapiVideoSink.
2010-03-16 09:03:10 +00:00
gb
7fe02f31a5
Add VA/X11 window abstraction.
2010-03-15 15:12:27 +00:00
gb
c465394864
Add basic GstVaapiVideoBuffer.
2010-03-12 23:48:50 +00:00
gb
809933a46b
Add GstVaapiImagePool and factor out GstVaapiSurfacePool from a base GstVaapiVideoPool.
2010-03-12 23:47:47 +00:00
gb
d1f3c3e6b0
Add VA surface pool (lazy allocator).
2010-03-12 17:45:18 +00:00
gb
224d06a03d
Add helper interface that all VA-API sinks must implement. e.g. vaapisink.
2010-03-11 10:50:27 +00:00
gb
6f20d84fa3
Add VA surface, image, subpicture abstractions. Ported over from Gnash.
2010-03-04 17:39:01 +00:00
gb
693277e278
Add initial VA display abstraction.
2010-01-25 16:15:01 +00:00
gb
c89e9afc5d
Initial import of the gstreamer-vaapi hierarchy.
2010-01-12 15:51:39 +00:00