vaapi:sree-gstreamer-vaapi.git
8 years agoReally make it 0.2.0. 0.2.0
gb [Wed, 5 May 2010 12:29:28 +0000 (12:29 +0000)]
Really make it 0.2.0.

8 years agoMore docs.
gb [Wed, 5 May 2010 12:28:59 +0000 (12:28 +0000)]
More docs.

8 years agoDon't exclude GstVaapiParamSpecs.
gb [Wed, 5 May 2010 11:48:31 +0000 (11:48 +0000)]
Don't exclude GstVaapiParamSpecs.

8 years agoFix docs.
gb [Wed, 5 May 2010 11:44:06 +0000 (11:44 +0000)]
Fix docs.

8 years agoLower plugins rank for now since playbin2 auto-plugging is not working properly.
gb [Wed, 5 May 2010 06:06:02 +0000 (06:06 +0000)]
Lower plugins rank for now since playbin2 auto-plugging is not working properly.
User applications will have to create their own pipeline or with some hacks around playbin2.

8 years agoReally link all helper libraries with libtool -no-undefined.
gb [Tue, 4 May 2010 15:03:47 +0000 (15:03 +0000)]
Really link all helper libraries with libtool -no-undefined.

8 years agoLink helper libraries with libtool -no-undefined.
gb [Tue, 4 May 2010 15:02:29 +0000 (15:02 +0000)]
Link helper libraries with libtool -no-undefined.

8 years agoDon't build plugins with SONAME. Make them plain *.so.
gb [Tue, 4 May 2010 14:59:27 +0000 (14:59 +0000)]
Don't build plugins with SONAME. Make them plain *.so.

8 years agoImprove documentation for release.
gb [Tue, 4 May 2010 08:59:27 +0000 (08:59 +0000)]
Improve documentation for release.

8 years agoFix build with older VA-API 0.29.
gb [Mon, 3 May 2010 22:50:56 +0000 (22:50 +0000)]
Fix build with older VA-API 0.29.

8 years ago0.2.0.
gb [Mon, 3 May 2010 22:43:01 +0000 (22:43 +0000)]
0.2.0.

8 years agoFix make dist.
gb [Mon, 3 May 2010 22:42:46 +0000 (22:42 +0000)]
Fix make dist.

8 years agoAdd missing docs.
gb [Mon, 3 May 2010 22:36:34 +0000 (22:36 +0000)]
Add missing docs.

8 years agoFix doc.
gb [Mon, 3 May 2010 22:34:53 +0000 (22:34 +0000)]
Fix doc.

8 years agoRename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new().
gb [Mon, 3 May 2010 22:28:02 +0000 (22:28 +0000)]
Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new().

8 years agoExtract framerate information from caps.
gb [Mon, 3 May 2010 22:02:41 +0000 (22:02 +0000)]
Extract framerate information from caps.

8 years agoMove caps initialization to parent class.
gb [Mon, 3 May 2010 21:49:35 +0000 (21:49 +0000)]
Move caps initialization to parent class.

8 years agoSimplify.
gb [Mon, 3 May 2010 21:25:46 +0000 (21:25 +0000)]
Simplify.

8 years agoFix doc.
gb [Mon, 3 May 2010 21:25:26 +0000 (21:25 +0000)]
Fix doc.

8 years agoMore simplifications.
gb [Mon, 3 May 2010 21:14:01 +0000 (21:14 +0000)]
More simplifications.

8 years agoSimplify GstVaapiDecoder API.
gb [Mon, 3 May 2010 20:55:17 +0000 (20:55 +0000)]
Simplify GstVaapiDecoder API.

8 years agoDrop obsolete defs.
gb [Mon, 3 May 2010 20:40:27 +0000 (20:40 +0000)]
Drop obsolete defs.

8 years agoDrop obsolete decls.
gb [Mon, 3 May 2010 20:34:57 +0000 (20:34 +0000)]
Drop obsolete decls.

8 years agoAdd more aliases for MPEG-4 decoding.
gb [Mon, 3 May 2010 17:36:01 +0000 (17:36 +0000)]
Add more aliases for MPEG-4 decoding.

8 years agoUse avctx->coded_{width,height} info to create the VA context.
gb [Mon, 3 May 2010 17:04:00 +0000 (17:04 +0000)]
Use avctx->coded_{width,height} info to create the VA context.

8 years agoUse gst_vaapi_decoder_ffmpeg_new_from_caps().
gb [Mon, 3 May 2010 16:54:23 +0000 (16:54 +0000)]
Use gst_vaapi_decoder_ffmpeg_new_from_caps().

8 years agoSimplify tests info.
gb [Mon, 3 May 2010 16:41:13 +0000 (16:41 +0000)]
Simplify tests info.

8 years agoTry to improve heuristics to use an AVCodecContextParser.
gb [Mon, 3 May 2010 16:17:51 +0000 (16:17 +0000)]
Try to improve heuristics to use an AVCodecContextParser.

8 years agoFix VC-1 decoding, it does not require any specific parser.
gb [Mon, 3 May 2010 15:35:22 +0000 (15:35 +0000)]
Fix VC-1 decoding, it does not require any specific parser.

8 years agoFix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one).
gb [Mon, 3 May 2010 15:34:22 +0000 (15:34 +0000)]
Fix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one).

8 years agoUse size information from the demuxer, whenever available. i.e. fix WMV3 decoding.
gb [Mon, 3 May 2010 15:29:18 +0000 (15:29 +0000)]
Use size information from the demuxer, whenever available. i.e. fix WMV3 decoding.

8 years agoAdd gst_vaapi_decoder_ffmpeg_new_from_caps() helper.
gb [Mon, 3 May 2010 15:11:32 +0000 (15:11 +0000)]
Add gst_vaapi_decoder_ffmpeg_new_from_caps() helper.

8 years agoImprove WMV3 detection yet further.
gb [Mon, 3 May 2010 14:53:18 +0000 (14:53 +0000)]
Improve WMV3 detection yet further.

8 years agoFix detection of plain old WMV3 contents.
gb [Mon, 3 May 2010 13:44:41 +0000 (13:44 +0000)]
Fix detection of plain old WMV3 contents.

8 years agoAdd End-of-Sequence start code.
gb [Mon, 3 May 2010 12:25:07 +0000 (12:25 +0000)]
Add End-of-Sequence start code.

8 years agoFix VC-1 detection.
gb [Mon, 3 May 2010 11:44:23 +0000 (11:44 +0000)]
Fix VC-1 detection.

8 years agoFix build with older gstreamer libs where gst_buffer_unref() is not a plain function.
gb [Mon, 3 May 2010 08:51:28 +0000 (08:51 +0000)]
Fix build with older gstreamer libs where gst_buffer_unref() is not a plain function.

8 years agoDrop obsolete (and wrong) code.
gb [Mon, 3 May 2010 08:34:57 +0000 (08:34 +0000)]
Drop obsolete (and wrong) code.

8 years agoCosmetics (spelling).
gb [Mon, 3 May 2010 08:33:23 +0000 (08:33 +0000)]
Cosmetics (spelling).

8 years agoTry to fix timestamps (step 1). Looks OK on H55.
gb [Mon, 3 May 2010 08:32:46 +0000 (08:32 +0000)]
Try to fix timestamps (step 1). Looks OK on H55.

8 years agoShip with COPYING.LIB.
gb [Mon, 3 May 2010 07:10:04 +0000 (07:10 +0000)]
Ship with COPYING.LIB.

8 years agoRelicense gst-libs/ code to LGPL v2.1+.
gb [Mon, 3 May 2010 07:07:27 +0000 (07:07 +0000)]
Relicense gst-libs/ code to LGPL v2.1+.

8 years agoDrop extraneous comma.
gb [Mon, 3 May 2010 06:49:43 +0000 (06:49 +0000)]
Drop extraneous comma.

8 years agoDrop variant=itu field to help codec detection.
gb [Mon, 3 May 2010 06:49:19 +0000 (06:49 +0000)]
Drop variant=itu field to help codec detection.

8 years agoDecode as many surfaces as possible in gst_vaapidecode_step().
gb [Fri, 30 Apr 2010 15:50:19 +0000 (15:50 +0000)]
Decode as many surfaces as possible in gst_vaapidecode_step().

8 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).

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

8 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.

8 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.

8 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.

8 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.

8 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.

8 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.

8 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.

8 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().

8 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.

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

8 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.

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

8 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.

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

8 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.

8 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.

8 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.

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

8 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.

8 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()...

8 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.

8 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.

8 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.

8 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.

8 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.

8 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.

8 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.

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

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

8 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.

8 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.

8 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.

8 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".

8 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.

8 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.

8 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.

8 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.

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

8 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.

8 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

8 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.

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

8 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.

8 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.

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

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

8 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.

8 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.

8 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.

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

8 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.

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

8 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.