gb [Fri, 30 Apr 2010 15:37:28 +0000 (15:37 +0000)]
Drop excessive threading that over-complicates synchronisation.
MPEG-2 & H.264 videos now play but there are other problems (timestamps).
gb [Fri, 30 Apr 2010 13:13:50 +0000 (13:13 +0000)]
0.2.0.
gb [Fri, 30 Apr 2010 12:04:12 +0000 (12:04 +0000)]
Move VA context reset to AVCodecContext.get_context() as the
surface sizes can change.
gb [Fri, 30 Apr 2010 09:52:29 +0000 (09:52 +0000)]
Fix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too.
gb [Fri, 30 Apr 2010 09:48:41 +0000 (09:48 +0000)]
Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.
gb [Fri, 30 Apr 2010 08:18:07 +0000 (08:18 +0000)]
Document H.264 / AVC1 format case better.
gb [Thu, 29 Apr 2010 23:09:07 +0000 (23:09 +0000)]
Fix H.264 decoding with AVC1 format bitstreams.
gb [Thu, 29 Apr 2010 22:00:37 +0000 (22:00 +0000)]
Complete initialization of the GstVaapiVideoBuffer. Some frames start to show up.
gb [Thu, 29 Apr 2010 21:59:14 +0000 (21:59 +0000)]
Add missing GstBaseSink::buffer_alloc() override. i.e. make sure
to allocate a GstVaapiVideoBuffer instead of a plain GstBuffer
from the peer pad.
gb [Thu, 29 Apr 2010 21:56:10 +0000 (21:56 +0000)]
Export gst_vaapi_video_buffer_new().
gb [Thu, 29 Apr 2010 21:12:30 +0000 (21:12 +0000)]
Fix gst_vaapi_profile_get_caps() to include the "profile" field.
gb [Thu, 29 Apr 2010 17:56:42 +0000 (17:56 +0000)]
Fix comment.
gb [Thu, 29 Apr 2010 17:55:58 +0000 (17:55 +0000)]
Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.
gb [Thu, 29 Apr 2010 17:51:57 +0000 (17:51 +0000)]
Add gst_vaapi_decoder_pause().
gb [Thu, 29 Apr 2010 17:11:32 +0000 (17:11 +0000)]
Use a GstTask with start/stop semantics for the decoder thread.
gb [Thu, 29 Apr 2010 16:08:46 +0000 (16:08 +0000)]
Drop extraneous var.
gb [Thu, 29 Apr 2010 15:45:44 +0000 (15:45 +0000)]
Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.
gb [Thu, 29 Apr 2010 14:58:45 +0000 (14:58 +0000)]
Fix gst_vaapi_decoder_get_surface() status.
gb [Thu, 29 Apr 2010 14:28:43 +0000 (14:28 +0000)]
Try to set correct timestamps to the decoded surface proxy.
gb [Thu, 29 Apr 2010 12:52:27 +0000 (12:52 +0000)]
Add timestamps to GstVaapiSurfaceProxy.
gb [Thu, 29 Apr 2010 09:43:40 +0000 (09:43 +0000)]
Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.
gb [Thu, 29 Apr 2010 09:40:38 +0000 (09:40 +0000)]
Fix destructor, av_parser_close() does destroy the struct already, unliker avcodec_close()...
gb [Thu, 29 Apr 2010 09:35:54 +0000 (09:35 +0000)]
Prefer profile from codec-data if any was found there.
gb [Thu, 29 Apr 2010 09:34:54 +0000 (09:34 +0000)]
Improve heuristics to find the best profile. Use the highest one if no
explicit match on "profile" field.
gb [Wed, 28 Apr 2010 23:09:52 +0000 (23:09 +0000)]
Make sure gst_vaapi_decoder_get_surface() gets unblocked on error.
gb [Wed, 28 Apr 2010 22:30:50 +0000 (22:30 +0000)]
Fix VC-1 codec initialization, it really needs an extradata buffer.
gb [Wed, 28 Apr 2010 22:16:10 +0000 (22:16 +0000)]
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.
gb [Wed, 28 Apr 2010 21:58:58 +0000 (21:58 +0000)]
Move gst_vaapi_decoder_ffmpeg_create() call to object constructor.
gb [Wed, 28 Apr 2010 21:50:44 +0000 (21:50 +0000)]
Add "codec-data" property for additional codec data.
e.g. VC-1 sequence headers for elementary streams.
gb [Wed, 28 Apr 2010 21:20:19 +0000 (21:20 +0000)]
Cosmetics (weird indentation).
gb [Wed, 28 Apr 2010 21:15:55 +0000 (21:15 +0000)]
Cosmetics (extraneous variable, debug message).
gb [Wed, 28 Apr 2010 09:07:45 +0000 (09:07 +0000)]
Fix check for VA-API enabled FFmpeg.
gb [Tue, 27 Apr 2010 15:26:19 +0000 (15:26 +0000)]
- Add PTS and framerate information.
- Simplify parsing with an AVCodeParserContext.
gb [Tue, 27 Apr 2010 11:59:23 +0000 (11:59 +0000)]
Add more error codes. Fix documentation.
gb [Mon, 26 Apr 2010 13:30:27 +0000 (13:30 +0000)]
Fix gst_vaapi_profile_get_codec().
Improve gst_vaapi_profile_from_caps() for H.264 & caps with "codec-data".
gb [Mon, 26 Apr 2010 11:44:32 +0000 (11:44 +0000)]
Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.
gb [Mon, 26 Apr 2010 11:36:12 +0000 (11:36 +0000)]
Drop useless End-of-Sequence marker.
gb [Mon, 26 Apr 2010 08:53:18 +0000 (08:53 +0000)]
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.
gb [Mon, 26 Apr 2010 08:40:27 +0000 (08:40 +0000)]
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.
gb [Mon, 26 Apr 2010 08:15:58 +0000 (08:15 +0000)]
Regenerate correct clips.
gb [Fri, 23 Apr 2010 16:11:55 +0000 (16:11 +0000)]
Add decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
XXX: only VC-1 decoding works at this time because of awful
bugs left in GstVaapiDecoderFfmpeg et al.
gb [Fri, 23 Apr 2010 16:05:58 +0000 (16:05 +0000)]
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
gb [Fri, 23 Apr 2010 16:00:50 +0000 (16:00 +0000)]
Add surface proxy that holds a reference to the parent surface
and that returns the surface to that context on destruction.
gb [Fri, 23 Apr 2010 15:59:31 +0000 (15:59 +0000)]
Add VA context abstraction.
gb [Fri, 23 Apr 2010 10:58:19 +0000 (10:58 +0000)]
Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
gb [Wed, 21 Apr 2010 15:03:31 +0000 (15:03 +0000)]
Add a means to cap the number of objects allocated in the pool.
gb [Wed, 21 Apr 2010 15:02:23 +0000 (15:02 +0000)]
Add VA entrypoint abstraction.
gb [Tue, 20 Apr 2010 13:36:04 +0000 (13:36 +0000)]
Add VA profile abstraction.
gb [Tue, 20 Apr 2010 07:51:23 +0000 (07:51 +0000)]
Fix OpenGL rendering on G45 systems.
gb [Fri, 16 Apr 2010 13:47:30 +0000 (13:47 +0000)]
Fix gl_create_context() to find a GLXFBConfig compatible with the parent GL context.
gb [Fri, 2 Apr 2010 11:27:23 +0000 (11:27 +0000)]
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.
gb [Thu, 1 Apr 2010 16:11:54 +0000 (16:11 +0000)]
Fix get-out conditions.
gb [Thu, 1 Apr 2010 15:38:59 +0000 (15:38 +0000)]
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.
gb [Thu, 1 Apr 2010 13:55:19 +0000 (13:55 +0000)]
Shorter structs.
gb [Thu, 1 Apr 2010 13:41:24 +0000 (13:41 +0000)]
Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way.
gb [Thu, 1 Apr 2010 09:47:59 +0000 (09:47 +0000)]
Move GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapidisplay_priv.h.
gb [Wed, 31 Mar 2010 15:25:19 +0000 (15:25 +0000)]
Improve handling of GL contexts.
gb [Tue, 30 Mar 2010 16:41:21 +0000 (16:41 +0000)]
Simplify summary.
gb [Tue, 30 Mar 2010 13:33:12 +0000 (13:33 +0000)]
Bump version for development.
gb [Tue, 30 Mar 2010 13:29:34 +0000 (13:29 +0000)]
Rename -dev package to libgstvaapi-dev.
gb [Tue, 30 Mar 2010 13:17:12 +0000 (13:17 +0000)]
Updates.
gb [Tue, 30 Mar 2010 13:05:31 +0000 (13:05 +0000)]
Fix build with VA-API < 0.30.
gb [Tue, 30 Mar 2010 13:01:34 +0000 (13:01 +0000)]
Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO.
gb [Tue, 30 Mar 2010 12:59:15 +0000 (12:59 +0000)]
Add TFP and FBO helpers.
gb [Tue, 30 Mar 2010 12:55:27 +0000 (12:55 +0000)]
Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.
gb [Tue, 30 Mar 2010 08:13:34 +0000 (08:13 +0000)]
Use a shorter function name.
gb [Tue, 30 Mar 2010 08:11:50 +0000 (08:11 +0000)]
Add gst_vaapi_surface_query_status() wrapper.
gb [Tue, 30 Mar 2010 07:50:11 +0000 (07:50 +0000)]
Fix leftover during migration.
gb [Tue, 30 Mar 2010 07:46:47 +0000 (07:46 +0000)]
Rename to gst/ as sys/ was too vague.
gb [Tue, 30 Mar 2010 07:39:16 +0000 (07:39 +0000)]
Try to not reference VA-API types directly.
gb [Mon, 29 Mar 2010 16:24:37 +0000 (16:24 +0000)]
Fix reflection code to preserve aspect ratio.
gb [Mon, 29 Mar 2010 16:17:38 +0000 (16:17 +0000)]
Fix fullscreen mode.
gb [Mon, 29 Mar 2010 15:59:44 +0000 (15:59 +0000)]
Add OpenGL reflection effect ("use-reflection").
gb [Mon, 29 Mar 2010 15:51:54 +0000 (15:51 +0000)]
Use a projection suitable for rotation around the Y axis.
gb [Mon, 29 Mar 2010 15:03:30 +0000 (15:03 +0000)]
Don't build vaapisink/gl by default. However, if this is enabled, use the GL renderer by default.
gb [Mon, 29 Mar 2010 14:50:52 +0000 (14:50 +0000)]
Add libgstvaapi-glx-0 package.
gb [Mon, 29 Mar 2010 14:47:49 +0000 (14:47 +0000)]
Really fix make distclean.
gb [Mon, 29 Mar 2010 14:43:22 +0000 (14:43 +0000)]
Fix make dist.
gb [Mon, 29 Mar 2010 14:42:57 +0000 (14:42 +0000)]
Fix make distclean.
gb [Mon, 29 Mar 2010 14:40:26 +0000 (14:40 +0000)]
Fix make dist.
gb [Mon, 29 Mar 2010 14:31:17 +0000 (14:31 +0000)]
Fix doc build.
gb [Mon, 29 Mar 2010 14:21:51 +0000 (14:21 +0000)]
Fix build without GLX.
gb [Mon, 29 Mar 2010 14:13:55 +0000 (14:13 +0000)]
0.1.2.
gb [Mon, 29 Mar 2010 14:13:26 +0000 (14:13 +0000)]
Add VA/GLX support to vaapisink.
gb [Mon, 29 Mar 2010 13:40:27 +0000 (13:40 +0000)]
Add glXSwapBuffers() workaround for NVIDIA.
gb [Mon, 29 Mar 2010 13:27:16 +0000 (13:27 +0000)]
Improve VA/GLX textures test.
gb [Mon, 29 Mar 2010 12:51:38 +0000 (12:51 +0000)]
Fix texture rendering.
gb [Mon, 29 Mar 2010 11:25:20 +0000 (11:25 +0000)]
Fix documentation.
gb [Mon, 29 Mar 2010 10:40:26 +0000 (10:40 +0000)]
Add gst_vaapi_window_glx_put_texture() helper.
gb [Mon, 29 Mar 2010 09:09:30 +0000 (09:09 +0000)]
Fix typos.
gb [Fri, 26 Mar 2010 17:00:45 +0000 (17:00 +0000)]
Move code around.
gb [Fri, 26 Mar 2010 16:52:07 +0000 (16:52 +0000)]
Add initial VA/GLX texture abstraction though the API is not good enough yet.
gb [Fri, 26 Mar 2010 15:22:00 +0000 (15:22 +0000)]
Add gst_vaapi_object_{,un}lock_display() helpers.
gb [Fri, 26 Mar 2010 15:16:01 +0000 (15:16 +0000)]
Factor out image utilities.
gb [Fri, 26 Mar 2010 11:54:43 +0000 (11:54 +0000)]
MT-Safe: lock display.
gb [Fri, 26 Mar 2010 11:50:31 +0000 (11:50 +0000)]
Make sure window resize completed prior to resizing the GL viewport.
gb [Fri, 26 Mar 2010 11:39:20 +0000 (11:39 +0000)]
gstvaapicompat.h is a private header, don't install it.
gb [Fri, 26 Mar 2010 11:35:20 +0000 (11:35 +0000)]
Add gst_vaapi_display_{sync,flush}() helpers.
gb [Fri, 26 Mar 2010 11:30:54 +0000 (11:30 +0000)]
Add "synchronous" mode.
gb [Fri, 26 Mar 2010 11:02:12 +0000 (11:02 +0000)]
Only add _display suffix to open & close members because they could be #define to some arbitrary value. lock/unlock are safe names.