Commit graph

819 commits

Author SHA1 Message Date
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
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
d1332bc2e1 Fix GLX version check. 2010-09-20 12:55:47 +02:00
gb
6735dc6b68 Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer. 2010-09-20 12:55:47 +02:00
gb
ade43e8016 Fix build with older VA-API 0.29-sds. 2010-09-20 12:55:47 +02:00
gb
fa6385cd39 Fix decoder caps to report codec aliases. 2010-09-20 12:55:46 +02:00
gb
86d0b2ade9 Regularly update and expose decoder caps. 2010-09-20 12:55:46 +02:00
gb
a777a98f2f Add mechanism to reinsert buffer leftovers into the queue. 2010-09-20 12:55:46 +02:00
gb
9a3b4a7844 Fix memory leak of encoded buffers. 2010-09-20 12:55:46 +02:00
gb
5e8e268e26 Check for out-of-free-surfaces condition. 2010-09-20 12:55:46 +02:00
gb
0047bb1553 Change GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN value to something more generic (-1). 2010-09-20 12:55:46 +02:00
gb
0fb0c49dbb Improve previous fix. 2010-09-20 12:55:46 +02:00
gb
d5df97625e Fix a crash in the FFmpeg decoder on close. 2010-09-20 12:55:46 +02:00
gb
0e0426582e Fix OpenGL texture internal format (Clutter). 2010-09-20 12:55:46 +02:00
gb
91c4c2c6b5 Fix comment. 2010-09-20 12:55:45 +02:00
gb
453164d0c5 Add gst_vaapi_display_lookup_downstream() helper. 2010-09-20 12:55:45 +02:00
gb
39dbd70c8f Expose VA display through GstVaapiVideoBuffer. 2010-09-20 12:55:45 +02:00
gb
6f5e593abd Expose video pool display. 2010-09-20 12:55:45 +02:00
gb
bceab0254c Stop iteration if there is no more element to examine. 2010-09-20 12:55:44 +02:00
gb
80e5b1ba17 Factor out VA surface caps. 2010-09-20 12:55:44 +02:00
gb
e739b7a289 Fix docs. 2010-09-20 12:55:44 +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
85466028ad Fix build with older VA-API 0.29. 2010-09-20 12:55:44 +02:00
gb
79c34f823b Fix doc. 2010-09-20 12:55:44 +02:00
gb
f6314162e0 Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new(). 2010-09-20 12:55:44 +02:00
gb
edae9f068c Extract framerate information from caps. 2010-09-20 12:55:44 +02:00
gb
2d5434cb0b Move caps initialization to parent class. 2010-09-20 12:55:43 +02:00
gb
5851086b92 Simplify. 2010-09-20 12:55:43 +02:00
gb
fe35801572 Fix doc. 2010-09-20 12:55:43 +02:00
gb
09552b1559 More simplifications. 2010-09-20 12:55:43 +02:00
gb
73766f9466 Simplify GstVaapiDecoder API. 2010-09-20 12:55:43 +02:00
gb
5128ed9951 Drop obsolete defs. 2010-09-20 12:55:43 +02:00
gb
bcf57bb4f9 Drop obsolete decls. 2010-09-20 12:55:43 +02:00
gb
e39709453e Add more aliases for MPEG-4 decoding. 2010-09-20 12:55:43 +02:00
gb
1a341a1c02 Use avctx->coded_{width,height} info to create the VA context. 2010-09-20 12:55:43 +02:00
gb
24d918b7a3 Try to improve heuristics to use an AVCodecContextParser. 2010-09-20 12:55:43 +02:00
gb
dbe1d622ef Fix VC-1 decoding, it does not require any specific parser. 2010-09-20 12:55:43 +02:00
gb
ffb74abe0f Fix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one). 2010-09-20 12:55:43 +02:00
gb
4285c2cc02 Use size information from the demuxer, whenever available. i.e. fix WMV3 decoding. 2010-09-20 12:55:43 +02:00
gb
477e3b8530 Add gst_vaapi_decoder_ffmpeg_new_from_caps() helper. 2010-09-20 12:55:42 +02:00
gb
fa7505c0c5 Improve WMV3 detection yet further. 2010-09-20 12:55:42 +02:00
gb
64479eb8f2 Fix detection of plain old WMV3 contents. 2010-09-20 12:55:42 +02:00
gb
587b39cdd5 Fix VC-1 detection. 2010-09-20 12:55:42 +02:00
gb
34764d2c2c Fix build with older gstreamer libs where gst_buffer_unref() is not a plain function. 2010-09-20 12:55:42 +02:00
gb
021d2ab947 Drop obsolete (and wrong) code. 2010-09-20 12:55:42 +02:00
gb
26790878a1 Cosmetics (spelling). 2010-09-20 12:55:42 +02:00
gb
ecff33db03 Try to fix timestamps (step 1). Looks OK on H55. 2010-09-20 12:55:42 +02:00
gb
4754317e70 Relicense gst-libs/ code to LGPL v2.1+. 2010-09-20 12:55:42 +02:00
gb
8d9b365a5b Drop extraneous comma. 2010-09-20 12:55:42 +02:00
gb
e6b3cfeacd Drop variant=itu field to help codec detection. 2010-09-20 12:55:42 +02:00
gb
a4d201aaf9 Drop excessive threading that over-complicates synchronisation.
MPEG-2 & H.264 videos now play but there are other problems (timestamps).
2010-09-20 12:55:42 +02:00
gb
49f8bad478 Move VA context reset to AVCodecContext.get_context() as the
surface sizes can change.
2010-09-20 12:55:41 +02:00
gb
ee000a357b Fix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too. 2010-09-20 12:55:41 +02:00
gb
1b76d72b98 Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE. 2010-09-20 12:55:41 +02:00
gb
800faf9ea7 Document H.264 / AVC1 format case better. 2010-09-20 12:55:41 +02:00
gb
fcede672df Fix H.264 decoding with AVC1 format bitstreams. 2010-09-20 12:55:41 +02:00
gb
f1fc4b52c5 Export gst_vaapi_video_buffer_new(). 2010-09-20 12:55:41 +02:00
gb
8c17e2f99d Fix gst_vaapi_profile_get_caps() to include the "profile" field. 2010-09-20 12:55:41 +02:00
gb
5d1eb8ce89 Add gst_vaapi_decoder_pause(). 2010-09-20 12:55:41 +02:00
gb
2356ceb0d9 Use a GstTask with start/stop semantics for the decoder thread. 2010-09-20 12:55:41 +02:00
gb
5f5ed724dd Drop extraneous var. 2010-09-20 12:55:41 +02:00
gb
a1fddf8bcc Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer. 2010-09-20 12:55:41 +02:00
gb
0596777703 Fix gst_vaapi_decoder_get_surface() status. 2010-09-20 12:55:41 +02:00
gb
bda32435c2 Try to set correct timestamps to the decoded surface proxy. 2010-09-20 12:55:41 +02:00
gb
a14711b935 Add timestamps to GstVaapiSurfaceProxy. 2010-09-20 12:55:41 +02:00
gb
7a3934d01d Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer. 2010-09-20 12:55:41 +02:00
gb
6a3b05dbca Fix destructor, av_parser_close() does destroy the struct already, unliker avcodec_close()... 2010-09-20 12:55:41 +02:00
gb
4350de601b Prefer profile from codec-data if any was found there. 2010-09-20 12:55:40 +02:00
gb
1f4e67503c Improve heuristics to find the best profile. Use the highest one if no
explicit match on "profile" field.
2010-09-20 12:55:40 +02:00
gb
1c48fa3a23 Make sure gst_vaapi_decoder_get_surface() gets unblocked on error. 2010-09-20 12:55:40 +02:00
gb
1def875b95 Fix VC-1 codec initialization, it really needs an extradata buffer. 2010-09-20 12:55:40 +02:00
gb
61ae27d84c Split decoder creation with actual resources allocation
and codec setup (probe). This fixes a memory leak (avctx, pctx)
on destroy and most interestingly makes it possible to
detect unsupported codecs.
2010-09-20 12:55:40 +02:00
gb
ff193a22b9 Move gst_vaapi_decoder_ffmpeg_create() call to object constructor. 2010-09-20 12:55:37 +02:00
gb
89c094d659 Add "codec-data" property for additional codec data.
e.g. VC-1 sequence headers for elementary streams.
2010-09-20 12:55:32 +02:00
gb
664542fe2e Cosmetics (weird indentation). 2010-09-20 12:55:32 +02:00
gb
42248445f2 Cosmetics (extraneous variable, debug message). 2010-09-20 12:55:32 +02:00
gb
cc28cdbd60 - Add PTS and framerate information.
- Simplify parsing with an AVCodeParserContext.
2010-09-20 12:55:32 +02:00
gb
29f1784dd7 Add more error codes. Fix documentation. 2010-09-20 12:55:32 +02:00
gb
eddf6b0d6c Fix gst_vaapi_profile_get_codec().
Improve gst_vaapi_profile_from_caps() for H.264 & caps with "codec-data".
2010-09-20 12:55:32 +02:00
gb
d7e4bca05b Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers. 2010-09-20 12:55:32 +02:00
gb
0d7164c96c Flush stream only if avcodec_decode_video() read something.
Otherwise, we might still have to seek into the stream.
i.e. keep the data longer.
2010-09-20 12:55:32 +02:00
gb
da3948bdeb Use a recursive mutex so that a single thread can lock
several times. This fixes decoding of MPEG-2 and H.264
because those created a GstVaapiContext later through
avcodec_decode_video() that was a protected call.
2010-09-20 12:55:32 +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
5fb146c298 Add surface proxy that holds a reference to the parent surface
and that returns the surface to that context on destruction.
2010-04-23 16:00:50 +00:00
gb
ecf60d2284 Add VA context abstraction. 2010-04-23 15:59:31 +00:00
gb
6cb6c387e9 Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work. 2010-04-23 10:58:19 +00:00
gb
b0493e729c Add a means to cap the number of objects allocated in the pool. 2010-04-21 15:03:31 +00:00
gb
30fbcb1ee8 Add VA entrypoint abstraction. 2010-04-21 15:02:23 +00:00
gb
508edba9a0 Add VA profile abstraction. 2010-04-20 13:36:04 +00:00
gb
fa11094655 Fix OpenGL rendering on G45 systems. 2010-04-20 07:51:23 +00:00
gb
d1709fef62 Fix gl_create_context() to find a GLXFBConfig compatible with the parent GL context. 2010-04-16 13:47:30 +00:00
gb
b8aadb9e82 Fix TFP logic and simplify the FBO model. i.e. it's not necessary
to create another texture (and storage) for the TFP, simply a new texture name.
2010-04-02 11:27:23 +00:00
gb
8e6dea5b74 Fix get-out conditions. 2010-04-01 16:11:54 +00:00
gb
3ddab3f253 The shared GL context in GstVaapiTexture is only useful for cases
where TFP+FBO are used, thus avoiding the need fully preserve the states
and call into glGet*() functions that need synchronization.
2010-04-01 15:38:59 +00:00
gb
9075c8d23d Shorter structs. 2010-04-01 13:55:19 +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
702f844a7e Improve handling of GL contexts. 2010-03-31 15:25:19 +00:00
gb
ea1fdba723 Fix build with VA-API < 0.30. 2010-03-30 13:05:31 +00:00
gb
28f73fb582 Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO. 2010-03-30 13:01:34 +00:00
gb
502dec7c1c Add TFP and FBO helpers. 2010-03-30 12:59:15 +00:00
gb
4ff830812f Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages. 2010-03-30 12:55:27 +00:00
gb
c58a45f099 Use a shorter function name. 2010-03-30 08:13:34 +00:00
gb
a1dbe90077 Add gst_vaapi_surface_query_status() wrapper. 2010-03-30 08:11:50 +00:00
gb
05a1ed2d23 Try to not reference VA-API types directly. 2010-03-30 07:39:16 +00:00
gb
201a7c9ce1 Use a projection suitable for rotation around the Y axis. 2010-03-29 15:51:54 +00:00
gb
1165419fd0 Add glXSwapBuffers() workaround for NVIDIA. 2010-03-29 13:40:27 +00:00
gb
9255310311 Fix texture rendering. 2010-03-29 12:51:38 +00:00
gb
ab8b90aa59 Fix documentation. 2010-03-29 11:25:20 +00:00
gb
dd92195093 Add gst_vaapi_window_glx_put_texture() helper. 2010-03-29 10:40:26 +00:00
gb
504dc9bf98 Fix typos. 2010-03-29 09:09:30 +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
9981f37de7 Add gst_vaapi_object_{,un}lock_display() helpers. 2010-03-26 15:22:00 +00:00
gb
22fe28b823 MT-Safe: lock display. 2010-03-26 11:54:43 +00:00
gb
d84d6b0f80 Make sure window resize completed prior to resizing the GL viewport. 2010-03-26 11:50:31 +00:00
gb
b50e7f1050 gstvaapicompat.h is a private header, don't install it. 2010-03-26 11:39:20 +00:00
gb
9f369020b5 Add gst_vaapi_display_{sync,flush}() helpers. 2010-03-26 11:35:20 +00:00
gb
8ea56134da Add "synchronous" mode. 2010-03-26 11:30:54 +00:00
gb
15b2a9beec Only add _display suffix to open & close members because they could be #define to some arbitrary value. lock/unlock are safe names. 2010-03-26 11:02:12 +00:00
gb
72fb4f6def Restore GLX context only if there is one. 2010-03-26 10:09:23 +00:00
gb
c9f62b7405 Add gst_vaapi_window_glx_make_current(). Handle X11 window size changes and reset the GL viewport. 2010-03-26 09:41:12 +00:00
gb
c3dcabd90c Check GstVaapiWindow::render() is available prior to calling it. 2010-03-26 08:35:24 +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
511463c699 Add missing includes (for vaapi_check_status()). 2010-03-25 17:21:56 +00:00
gb
d56fcd0c2b Only enable GST_DEBUG() if DEBUG is defined. Drop old D(bug()) stuff. 2010-03-25 17:21:13 +00:00
gb
fddeb54248 Add gst_vaapi_window_x11_is_foreign_xid() helper. 2010-03-25 17:18:36 +00:00
gb
b36a2142e4 Allow derived classes to specify custom Visual and Colormap. 2010-03-25 17:18:06 +00:00
gb
86954a32c5 Allow window creation with a specific visual (e.g. for GLX support). 2010-03-25 13:54:06 +00:00
gb
6ad73da390 Fix return value on error (though it's the same in the end). 2010-03-25 13:21:19 +00:00
gb
67de515e63 Simplify initialization of VADisplay. 2010-03-25 12:39:54 +00:00
gb
1703ef2aca Restore the gst_vaapi_{surface,image,subpicture}_get_id() interfaces. 2010-03-25 09:49:17 +00:00
gb
e4775c4e16 Use the parent display object, no need to maintain another one.
In the end, libgstvaapi-x11 reduced by 1 KB in .text vs. 0.1.1.
2010-03-25 09:39:17 +00:00
gb
56658c7aac Add more internal helpers. 2010-03-25 09:37:40 +00:00
gb
2ecadd45b8 Rename to GST_VAAPI_OBJECT_DISPLAY(). 2010-03-24 17:40:19 +00:00
gb
9961c03c6a All GstVaapiID are initialized to GST_VAAPI_ID_NONE by default.
Besides, all GstVaapiObject derived class shall initialize "id" to a valid value.
2010-03-24 17:38:23 +00:00
gb
0881507989 Make GstVaapiWindow* derive from GstVaapiObject. 2010-03-24 17:22:18 +00:00
gb
3fe6ca16e2 gstvaapicompat.h is now a private header (not installed). 2010-03-24 16:27:36 +00:00
gb
520f7ac5b6 Include gstvaapicompat.h in source files only, not headers. 2010-03-24 16:25:56 +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
afa9b9be06 Add missing file (gstvaapivalue.h). 2010-03-24 15:18:33 +00:00
gb
4f7af960cb Fix g_warning() invocation. 2010-03-24 15:12:56 +00:00
gb
ae6c1637f3 Deassociate subpictures while destroying the surface. 2010-03-24 15:11:26 +00:00
gb
c8ec504343 Fix destruction order of subpictures. They should be destroyed first. 2010-03-24 14:57:33 +00:00
gb
9713d1a950 Add support for AYUV format. 2010-03-24 14:46:33 +00:00
gb
e4d9e06945 Fix documentation. 2010-03-24 13:44:01 +00:00
gb
b182366483 Move GValue specific stuff to a dedicated file. 2010-03-24 13:37:38 +00:00
gb
1959fa5b20 Cosmetics (vertical alignment). 2010-03-24 13:21:54 +00:00
gb
358be3dda9 Fix return value on error. 2010-03-24 13:20:34 +00:00
gb
a91206bbc1 Move "id" down to the GstVaapiObject base. 2010-03-24 13:19:58 +00:00
gb
1a90e11ae5 Cosmetics (drop extraneous empty line). 2010-03-24 12:59:22 +00:00
gb
2cbcd31488 Add GParamSpecs for GstVaapiID. 2010-03-24 12:57:54 +00:00
gb
a09c84b04d Add GST_VAAPI_ID_FORMAT() and GST_VAAPI_ID_ARGS() helpers. 2010-03-24 12:38:40 +00:00
gb
647621cf3c Add GstVaapiID abstraction. 2010-03-24 09:52:43 +00:00
gb
63add8fd63 Drop useless include (<va/va_backend.h>). 2010-03-24 08:35:27 +00:00
gb
9233fcf676 Optimize GST_VAAPI_OBJECT_GET_DISPLAY to avoid a run-time check. 2010-03-24 08:34:11 +00:00
gb
b8b82d3337 Move private definitions and accessors to gstvaapiobject_priv.h. 2010-03-24 08:32:12 +00:00
gb
755f198a74 Fix short descriptions. 2010-03-24 08:16:32 +00:00
gb
9df9f60d62 Use a black background for new windows. 2010-03-23 17:29:47 +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
b271ebd760 Drop introspection annotations since they require gtk-doc >= 1.12. 2010-03-23 13:32:36 +00:00
gb
b4aaa2e8c1 Add note about the fact that the surface holds an extra reference to the subpicture. 2010-03-23 10:51:35 +00:00
gb
95edba8907 Improve debugging messages. 2010-03-23 10:49:33 +00:00
gb
6a8c6ad04c Add gst_vaapi_surface_{,de}associate_subpicture() API. 2010-03-23 10:36:20 +00:00
gb
55c5b220cd Wait for MapNotify or UnmapNotify events on foreign windows too. 2010-03-23 08:13:37 +00:00
gb
0bf40c2d44 Check whether the foreign XID is mapped at binding time. 2010-03-23 07:42:05 +00:00
gb
e4a4fd9742 Fix warnings (drop extraneous var). 2010-03-23 06:41:29 +00:00
gb
a1b25e8807 Add GST_VAAPI_WINDOW_XWINDOW() helper macro. 2010-03-23 06:40:27 +00:00
gb
df9e25d473 Shorten condition. 2010-03-22 16:59:29 +00:00
gb
3136cdc991 Try to improve switch to fullscreen mode. 2010-03-22 16:57:20 +00:00
gb
1c647d1f69 Improve display locking and rework X event wait functions. 2010-03-22 16:01:34 +00:00
gb
729f4fc9c6 Move _GstVaapiWindowPrivate declaration to gstvaapiwindow_priv.h. 2010-03-22 13:06:41 +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
8e773e6d10 Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property. 2010-03-22 12:47:13 +00:00
gb
cc10345448 Add gst_vaapi_window_get_display() to base. 2010-03-22 12:39:02 +00:00
gb
873d5b7a04 Add GstVaapiPoint & GstVaapiRectangle data structures. 2010-03-22 12:16:47 +00:00
gb
b8daf624c5 Add gst_vaapi_window_set_fullscreen() API. 2010-03-22 10:51:49 +00:00
gb
c13c3c3620 Add gst_vaapi_display_get_pixel_aspect_ratio(). 2010-03-22 09:32:01 +00:00
gb
01cc10fe51 Add display size accessors. 2010-03-22 08:44:38 +00:00
gb
4f00d5657b Fix documentation of *Class'es. 2010-03-21 08:45:09 +00:00
gb
edea5998f5 Move GstVaapiSurfaceRenderFlags conversion to get_PutSurface_flags_from_GstVaapiSurfaceRenderFlags(). 2010-03-21 08:38:17 +00:00
gb
6179b6495e Move GstVaapiSurfaceRenderFlags to gstvaapisurface.h since this will
also be useful for e.g. a gstvaapitexture.h.
2010-03-21 08:22:46 +00:00
gb
27307a6c1b Rename gst_vaapi_window_put_surface_full() to plain gst_vaapi_window_put_surface(). 2010-03-21 08:12:52 +00:00
gb
e24ba07b41 Document GstVaapiVideoBuffer. 2010-03-19 16:41:52 +00:00
gb
dabb757458 Document surface & image pools. Drop obsolete gst_vaapi_video_pool_new() function. 2010-03-19 16:08:48 +00:00
gb
d63f196c73 Add tedious documentation. 2010-03-19 15:45:21 +00:00
gb
9a1741a193 Beautify append_formats(). 2010-03-19 10:42:11 +00:00
gb
a318326f7f Simplify GstVaapiDisplay (use GArray). 2010-03-19 10:38:45 +00:00
gb
55b45d964d Fix gst_vaapi_image_create() from a foreign VA image. 2010-03-18 15:52:20 +00:00
gb
ea2c6c502c Add gst_vaapi_surface_derive_image() API. 2010-03-18 15:28:59 +00:00
gb
b9bf5678f9 Make it possible to bin an X11 window to GstVaapiWindowX11 with plain
g_object_new() and "xid" property. i.e. get foreign window size in
gst_vaapi_window_x11_create().
2010-03-18 13:49:50 +00:00
gb
087b1dabda Split map/unmap functions into internal functions that don't check preconditions. 2010-03-18 12:59:55 +00:00
gb
f80e194549 Improve gst_vaapi_image_new() sanity checks. 2010-03-18 12:56:53 +00:00
gb
c561cead2b Use gtypes. 2010-03-18 08:02:25 +00:00
gb
cf432f9ec8 Optimize gst_vaapi_image_is_linear() and simplify gst_vaapi_image_update_from_buffer(). 2010-03-17 10:43:02 +00:00
gb
bcb5d3f138 Add VA display locking utilities. 2010-03-17 07:59:31 +00:00
gb
912684b904 Don't show window by default during creation. 2010-03-17 07:17:17 +00:00
gb
69943d51ff Fix gst_vaapi_window_x11_destroy(). 2010-03-17 06:49:27 +00:00
gb
f016dc50c2 Extend GstVaapiImage API with *_get_image(), *_is_linear(), *_get_data_size(). 2010-03-16 17:57:23 +00:00
gb
21a9a0aac2 Make GstVaapiVideoBuffer handle two pools. i.e. both image & surface at the same time. 2010-03-16 17:10:02 +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
58d3c36658 Fix header guards. 2010-03-16 09:18:57 +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
506122d970 Cosmetics (remove an extra line). 2010-03-16 09:13:16 +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
69d58a0857 Handle I420 formats internally in GstVaapiImage. 2010-03-16 08:43:16 +00:00
gb
6bc69b5592 Implement I420 and YV12 if the underlying implementation does not. 2010-03-15 17:43:29 +00:00
gb
f8c91368e9 Factor out. 2010-03-15 16:57:37 +00:00
gb
606c016263 Add gst_vaapi_surface_sync(). 2010-03-15 16:13:51 +00:00
gb
17d221d7d6 Cosmetics (reverse args order). 2010-03-15 16:13:37 +00:00
gb
eca4c7da42 Cosmetics. 2010-03-15 15:55:20 +00:00
gb
7fe02f31a5 Add VA/X11 window abstraction. 2010-03-15 15:12:27 +00:00
gb
f87dfaacba Add VA and X11 display accessors. 2010-03-15 14:57:57 +00:00
gb
a3f2975309 Fix preconditions. 2010-03-15 14:57:30 +00:00
gb
fe4740d35a Cosmetics. 2010-03-15 13:32:37 +00:00
gb
d69e59ffee Add gst_vaapi_{get,put}_image() API. 2010-03-15 11:49:03 +00:00
gb
541d740ea3 Add gst_vaapi_image_update_from_buffer() helper. 2010-03-15 10:27:10 +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
56827ae5b6 Simplify format conversion code. 2010-03-12 22:32:35 +00:00
gb
d5253e6e2c Add gst_vaapi_image_format_from_caps() helper. 2010-03-12 22:28:01 +00:00
gb
d1f3c3e6b0 Add VA surface pool (lazy allocator). 2010-03-12 17:45:18 +00:00
gb
5fa32d3cf4 Add gst_vaapi_surface_get_size() helper. 2010-03-12 17:39:11 +00:00
gb
8e72746f35 Avoid use of GstStaticCaps since older gstreamer versions (0.10.22) write to it. 2010-03-12 10:52:08 +00:00
gb
a0255faa07 Reset display-name if the user provided his own X11 display. 2010-03-11 15:35:43 +00:00
gb
e4ae48029f Add gst_vaapi_display_x11_new_with_display() API. 2010-03-11 15:21:43 +00:00
gb
0d4b65b758 Fix *_GET_CLASS() definitions... 2010-03-11 15:04:18 +00:00
gb
a42754e31e API change: gst_vaapi_display_x11_new() now takes an X11 display name. 2010-03-11 15:01:00 +00:00
gb
e284e5e0d0 Use GstVaapiChromaType abstraction. 2010-03-11 13:58:32 +00:00
gb
ac1243b28c New refcounting policy. All getters return a reference, not a copy. So the user shall reference the object itself, should he wish so. 2010-03-11 12:30:12 +00:00
gb
e59eff6902 Don't warn on failure, just return an appropriate error or value. 2010-03-11 12:14:10 +00:00
gb
acbab7a1c1 Filter out any format that is not supported by the library (libgstvaapi).
Also sort the formats by HW preference.
2010-03-11 12:11:36 +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
5c5b45f4d8 Use GST_DEBUG. 2010-03-10 13:13:51 +00:00
gb
0bf78c5ef2 Fix GstVaapiImage and GstVaapiSubpicture initialization. 2010-03-10 13:10:59 +00:00
gb
e3b4eff9dc Fix GstVaapiSurface initialization, override constructed() method, not constructor(). GObject C is awful... 2010-03-10 13:02:45 +00:00
gb
5fdc1dc943 Fix GstVaapiDisplay initialization. 2010-03-10 12:25:19 +00:00
gb
0dd58839e1 Get VA image & subpicture formats as GstCaps. 2010-03-10 10:43:31 +00:00
gb
b5548b7efd Add helper to convert from GstVaapiImageFormat to GstCaps. 2010-03-10 10:41:12 +00:00
gb
1689ee112d Cosmetics (drop unused variables). 2010-03-09 12:00:32 +00:00
gb
ffb296984e Shorter code (and more correct). 2010-03-05 10:07:22 +00:00
gb
372e9f5d4d Add helper to get GstVaapiDisplay from a surface. 2010-03-05 10:04:55 +00:00
gb
38b0fe7d57 Fix subpicture formats list length. 2010-03-05 08:52:20 +00:00
gb
0b3d5ddd0c Add utilities to check whether a VA-API driver supports specific image or subpicture format. Likewise for VA profile. 2010-03-04 17:41:34 +00:00
gb
5809b63aaf Cosmetics (more checks, includes). 2010-03-04 17:40:47 +00:00
gb
ee75347973 Really add VA subpicture abstraction. 2010-03-04 17:39:58 +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