profile/ivi/gstreamer-vaapi.git
14 years agoDrop excessive threading that over-complicates synchronisation.
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).

14 years ago0.2.0.
gb [Fri, 30 Apr 2010 13:13:50 +0000 (13:13 +0000)]
0.2.0.

14 years agoMove VA context reset to AVCodecContext.get_context() as the
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.

14 years agoFix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too.
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.

14 years agoAdd GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.
gb [Fri, 30 Apr 2010 09:48:41 +0000 (09:48 +0000)]
Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.

14 years agoDocument H.264 / AVC1 format case better.
gb [Fri, 30 Apr 2010 08:18:07 +0000 (08:18 +0000)]
Document H.264 / AVC1 format case better.

14 years agoFix H.264 decoding with AVC1 format bitstreams.
gb [Thu, 29 Apr 2010 23:09:07 +0000 (23:09 +0000)]
Fix H.264 decoding with AVC1 format bitstreams.

14 years agoComplete initialization of the GstVaapiVideoBuffer. Some frames start to show up.
gb [Thu, 29 Apr 2010 22:00:37 +0000 (22:00 +0000)]
Complete initialization of the GstVaapiVideoBuffer. Some frames start to show up.

14 years agoAdd missing GstBaseSink::buffer_alloc() override. i.e. make sure
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.

14 years agoExport gst_vaapi_video_buffer_new().
gb [Thu, 29 Apr 2010 21:56:10 +0000 (21:56 +0000)]
Export gst_vaapi_video_buffer_new().

14 years agoFix gst_vaapi_profile_get_caps() to include the "profile" field.
gb [Thu, 29 Apr 2010 21:12:30 +0000 (21:12 +0000)]
Fix gst_vaapi_profile_get_caps() to include the "profile" field.

14 years agoFix comment.
gb [Thu, 29 Apr 2010 17:56:42 +0000 (17:56 +0000)]
Fix comment.

14 years agoAdd FFmpeg/VAAPI decoder for the new `vaapidecode' element.
gb [Thu, 29 Apr 2010 17:55:58 +0000 (17:55 +0000)]
Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.

14 years agoAdd gst_vaapi_decoder_pause().
gb [Thu, 29 Apr 2010 17:51:57 +0000 (17:51 +0000)]
Add gst_vaapi_decoder_pause().

14 years agoUse a GstTask with start/stop semantics for the decoder thread.
gb [Thu, 29 Apr 2010 17:11:32 +0000 (17:11 +0000)]
Use a GstTask with start/stop semantics for the decoder thread.

14 years agoDrop extraneous var.
gb [Thu, 29 Apr 2010 16:08:46 +0000 (16:08 +0000)]
Drop extraneous var.

14 years agoAdd support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.
gb [Thu, 29 Apr 2010 15:45:44 +0000 (15:45 +0000)]
Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.

14 years agoFix gst_vaapi_decoder_get_surface() status.
gb [Thu, 29 Apr 2010 14:58:45 +0000 (14:58 +0000)]
Fix gst_vaapi_decoder_get_surface() status.

14 years agoTry to set correct timestamps to the decoded surface proxy.
gb [Thu, 29 Apr 2010 14:28:43 +0000 (14:28 +0000)]
Try to set correct timestamps to the decoded surface proxy.

14 years agoAdd timestamps to GstVaapiSurfaceProxy.
gb [Thu, 29 Apr 2010 12:52:27 +0000 (12:52 +0000)]
Add timestamps to GstVaapiSurfaceProxy.

14 years agoFix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.
gb [Thu, 29 Apr 2010 09:43:40 +0000 (09:43 +0000)]
Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.

14 years agoFix destructor, av_parser_close() does destroy the struct already, unliker avcodec_cl...
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()...

14 years agoPrefer profile from codec-data if any was found there.
gb [Thu, 29 Apr 2010 09:35:54 +0000 (09:35 +0000)]
Prefer profile from codec-data if any was found there.

14 years agoImprove heuristics to find the best profile. Use the highest one if no
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.

14 years agoMake sure gst_vaapi_decoder_get_surface() gets unblocked on error.
gb [Wed, 28 Apr 2010 23:09:52 +0000 (23:09 +0000)]
Make sure gst_vaapi_decoder_get_surface() gets unblocked on error.

14 years agoFix VC-1 codec initialization, it really needs an extradata buffer.
gb [Wed, 28 Apr 2010 22:30:50 +0000 (22:30 +0000)]
Fix VC-1 codec initialization, it really needs an extradata buffer.

14 years agoSplit decoder creation with actual resources allocation
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.

14 years agoMove gst_vaapi_decoder_ffmpeg_create() call to object constructor.
gb [Wed, 28 Apr 2010 21:58:58 +0000 (21:58 +0000)]
Move gst_vaapi_decoder_ffmpeg_create() call to object constructor.

14 years agoAdd "codec-data" property for additional codec data.
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.

14 years agoCosmetics (weird indentation).
gb [Wed, 28 Apr 2010 21:20:19 +0000 (21:20 +0000)]
Cosmetics (weird indentation).

14 years agoCosmetics (extraneous variable, debug message).
gb [Wed, 28 Apr 2010 21:15:55 +0000 (21:15 +0000)]
Cosmetics (extraneous variable, debug message).

14 years agoFix check for VA-API enabled FFmpeg.
gb [Wed, 28 Apr 2010 09:07:45 +0000 (09:07 +0000)]
Fix check for VA-API enabled FFmpeg.

14 years ago- Add PTS and framerate information.
gb [Tue, 27 Apr 2010 15:26:19 +0000 (15:26 +0000)]
- Add PTS and framerate information.
- Simplify parsing with an AVCodeParserContext.

14 years agoAdd more error codes. Fix documentation.
gb [Tue, 27 Apr 2010 11:59:23 +0000 (11:59 +0000)]
Add more error codes. Fix documentation.

14 years agoFix gst_vaapi_profile_get_codec().
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".

14 years agoHandle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.
gb [Mon, 26 Apr 2010 11:44:32 +0000 (11:44 +0000)]
Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.

14 years agoDrop useless End-of-Sequence marker.
gb [Mon, 26 Apr 2010 11:36:12 +0000 (11:36 +0000)]
Drop useless End-of-Sequence marker.

14 years agoFlush stream only if avcodec_decode_video() read something.
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.

14 years agoUse a recursive mutex so that a single thread can lock
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.

14 years agoRegenerate correct clips.
gb [Mon, 26 Apr 2010 08:15:58 +0000 (08:15 +0000)]
Regenerate correct clips.

14 years agoAdd decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
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.

14 years agoAdd initial (multithreaded) decoder based on FFmpeg.
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

14 years agoAdd surface proxy that holds a reference to the parent surface
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.

14 years agoAdd VA context abstraction.
gb [Fri, 23 Apr 2010 15:59:31 +0000 (15:59 +0000)]
Add VA context abstraction.

14 years agoFix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
gb [Fri, 23 Apr 2010 10:58:19 +0000 (10:58 +0000)]
Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.

14 years agoAdd a means to cap the number of objects allocated in the pool.
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.

14 years agoAdd VA entrypoint abstraction.
gb [Wed, 21 Apr 2010 15:02:23 +0000 (15:02 +0000)]
Add VA entrypoint abstraction.

14 years agoAdd VA profile abstraction.
gb [Tue, 20 Apr 2010 13:36:04 +0000 (13:36 +0000)]
Add VA profile abstraction.

14 years agoFix OpenGL rendering on G45 systems.
gb [Tue, 20 Apr 2010 07:51:23 +0000 (07:51 +0000)]
Fix OpenGL rendering on G45 systems.

14 years agoFix gl_create_context() to find a GLXFBConfig compatible with the parent GL context.
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.

14 years agoFix TFP logic and simplify the FBO model. i.e. it's not necessary
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.

14 years agoFix get-out conditions.
gb [Thu, 1 Apr 2010 16:11:54 +0000 (16:11 +0000)]
Fix get-out conditions.

14 years agoThe shared GL context in GstVaapiTexture is only useful for cases
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.

14 years agoShorter structs.
gb [Thu, 1 Apr 2010 13:55:19 +0000 (13:55 +0000)]
Shorter structs.

14 years agoMake more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x...
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.

14 years agoMove GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapid...
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.

14 years agoImprove handling of GL contexts.
gb [Wed, 31 Mar 2010 15:25:19 +0000 (15:25 +0000)]
Improve handling of GL contexts.

14 years agoSimplify summary.
gb [Tue, 30 Mar 2010 16:41:21 +0000 (16:41 +0000)]
Simplify summary.

14 years agoBump version for development.
gb [Tue, 30 Mar 2010 13:33:12 +0000 (13:33 +0000)]
Bump version for development.

14 years agoRename -dev package to libgstvaapi-dev.
gb [Tue, 30 Mar 2010 13:29:34 +0000 (13:29 +0000)]
Rename -dev package to libgstvaapi-dev.

14 years agoUpdates.
gb [Tue, 30 Mar 2010 13:17:12 +0000 (13:17 +0000)]
Updates.

14 years agoFix build with VA-API < 0.30.
gb [Tue, 30 Mar 2010 13:05:31 +0000 (13:05 +0000)]
Fix build with VA-API < 0.30.

14 years agoEnable build without VA/GLX extensions. i.e. fallback to TFP + FBO.
gb [Tue, 30 Mar 2010 13:01:34 +0000 (13:01 +0000)]
Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO.

14 years agoAdd TFP and FBO helpers.
gb [Tue, 30 Mar 2010 12:59:15 +0000 (12:59 +0000)]
Add TFP and FBO helpers.

14 years agoCosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.
gb [Tue, 30 Mar 2010 12:55:27 +0000 (12:55 +0000)]
Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.

14 years agoUse a shorter function name.
gb [Tue, 30 Mar 2010 08:13:34 +0000 (08:13 +0000)]
Use a shorter function name.

14 years agoAdd gst_vaapi_surface_query_status() wrapper.
gb [Tue, 30 Mar 2010 08:11:50 +0000 (08:11 +0000)]
Add gst_vaapi_surface_query_status() wrapper.

14 years agoFix leftover during migration.
gb [Tue, 30 Mar 2010 07:50:11 +0000 (07:50 +0000)]
Fix leftover during migration.

14 years agoRename to gst/ as sys/ was too vague.
gb [Tue, 30 Mar 2010 07:46:47 +0000 (07:46 +0000)]
Rename to gst/ as sys/ was too vague.

14 years agoTry to not reference VA-API types directly.
gb [Tue, 30 Mar 2010 07:39:16 +0000 (07:39 +0000)]
Try to not reference VA-API types directly.

14 years agoFix reflection code to preserve aspect ratio.
gb [Mon, 29 Mar 2010 16:24:37 +0000 (16:24 +0000)]
Fix reflection code to preserve aspect ratio.

14 years agoFix fullscreen mode.
gb [Mon, 29 Mar 2010 16:17:38 +0000 (16:17 +0000)]
Fix fullscreen mode.

14 years agoAdd OpenGL reflection effect ("use-reflection").
gb [Mon, 29 Mar 2010 15:59:44 +0000 (15:59 +0000)]
Add OpenGL reflection effect ("use-reflection").

14 years agoUse a projection suitable for rotation around the Y axis.
gb [Mon, 29 Mar 2010 15:51:54 +0000 (15:51 +0000)]
Use a projection suitable for rotation around the Y axis.

14 years agoDon't build vaapisink/gl by default. However, if this is enabled, use the GL renderer...
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.

14 years agoAdd libgstvaapi-glx-0 package.
gb [Mon, 29 Mar 2010 14:50:52 +0000 (14:50 +0000)]
Add libgstvaapi-glx-0 package.

14 years agoReally fix make distclean.
gb [Mon, 29 Mar 2010 14:47:49 +0000 (14:47 +0000)]
Really fix make distclean.

14 years agoFix make dist.
gb [Mon, 29 Mar 2010 14:43:22 +0000 (14:43 +0000)]
Fix make dist.

14 years agoFix make distclean.
gb [Mon, 29 Mar 2010 14:42:57 +0000 (14:42 +0000)]
Fix make distclean.

14 years agoFix make dist.
gb [Mon, 29 Mar 2010 14:40:26 +0000 (14:40 +0000)]
Fix make dist.

14 years agoFix doc build.
gb [Mon, 29 Mar 2010 14:31:17 +0000 (14:31 +0000)]
Fix doc build.

14 years agoFix build without GLX.
gb [Mon, 29 Mar 2010 14:21:51 +0000 (14:21 +0000)]
Fix build without GLX.

14 years ago0.1.2.
gb [Mon, 29 Mar 2010 14:13:55 +0000 (14:13 +0000)]
0.1.2.

14 years agoAdd VA/GLX support to vaapisink.
gb [Mon, 29 Mar 2010 14:13:26 +0000 (14:13 +0000)]
Add VA/GLX support to vaapisink.

14 years agoAdd glXSwapBuffers() workaround for NVIDIA.
gb [Mon, 29 Mar 2010 13:40:27 +0000 (13:40 +0000)]
Add glXSwapBuffers() workaround for NVIDIA.

14 years agoImprove VA/GLX textures test.
gb [Mon, 29 Mar 2010 13:27:16 +0000 (13:27 +0000)]
Improve VA/GLX textures test.

14 years agoFix texture rendering.
gb [Mon, 29 Mar 2010 12:51:38 +0000 (12:51 +0000)]
Fix texture rendering.

14 years agoFix documentation.
gb [Mon, 29 Mar 2010 11:25:20 +0000 (11:25 +0000)]
Fix documentation.

14 years agoAdd gst_vaapi_window_glx_put_texture() helper.
gb [Mon, 29 Mar 2010 10:40:26 +0000 (10:40 +0000)]
Add gst_vaapi_window_glx_put_texture() helper.

14 years agoFix typos.
gb [Mon, 29 Mar 2010 09:09:30 +0000 (09:09 +0000)]
Fix typos.

14 years agoMove code around.
gb [Fri, 26 Mar 2010 17:00:45 +0000 (17:00 +0000)]
Move code around.

14 years agoAdd initial VA/GLX texture abstraction though the API is not good enough yet.
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.

14 years agoAdd gst_vaapi_object_{,un}lock_display() helpers.
gb [Fri, 26 Mar 2010 15:22:00 +0000 (15:22 +0000)]
Add gst_vaapi_object_{,un}lock_display() helpers.

14 years agoFactor out image utilities.
gb [Fri, 26 Mar 2010 15:16:01 +0000 (15:16 +0000)]
Factor out image utilities.

14 years agoMT-Safe: lock display.
gb [Fri, 26 Mar 2010 11:54:43 +0000 (11:54 +0000)]
MT-Safe: lock display.

14 years agoMake sure window resize completed prior to resizing the GL viewport.
gb [Fri, 26 Mar 2010 11:50:31 +0000 (11:50 +0000)]
Make sure window resize completed prior to resizing the GL viewport.

14 years agogstvaapicompat.h is a private header, don't install it.
gb [Fri, 26 Mar 2010 11:39:20 +0000 (11:39 +0000)]
gstvaapicompat.h is a private header, don't install it.

14 years agoAdd gst_vaapi_display_{sync,flush}() helpers.
gb [Fri, 26 Mar 2010 11:35:20 +0000 (11:35 +0000)]
Add gst_vaapi_display_{sync,flush}() helpers.

14 years agoAdd "synchronous" mode.
gb [Fri, 26 Mar 2010 11:30:54 +0000 (11:30 +0000)]
Add "synchronous" mode.

14 years agoOnly add _display suffix to open & close members because they could be #define to...
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.