Gwenole Beauchesne
a591dc3b72
mpeg2: fix quantisation matrix construction.
2012-01-16 11:40:50 +01:00
Sreerenj Balachandran
697a2804e1
mpeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).
...
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
ab8f602957
mpeg2: fix packets spanning over two buffers.
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
ce413eb83d
mpeg2: ignore system start codes (PES headers).
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
c5902b7a84
mpeg2: handle closed_gop.
2012-01-16 11:40:50 +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
3360f7f3e3
Add VA decoder helpers.
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
a93c1c076b
decoder: add new error codes.
...
GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: for unsupported profile
GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: for unsupported chroma format
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
e0913aaf0e
Add VA buffer helpers.
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
9b9c049a67
utils: slight improvements to gl_bind_texture().
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
30ef6802d6
utils: pretty-print output of gl_get_error_string().
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
a3c9365f15
utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
ba810c2ed6
utils: simplify string of VAProfile/VAEntrypoint.
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
4340372996
utils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.
2012-01-16 11:40:50 +01:00
Gwenole Beauchesne
674ea91faa
display: always free VA display cache if it is empty.
2012-01-12 16:09:08 +01:00
Gwenole Beauchesne
9516f00f8e
display: use VA display cache for X11 and GLX winsys.
2012-01-12 16:09:08 +01:00
Gwenole Beauchesne
773272475f
display: implement a VA display cache.
2012-01-12 16:09:08 +01:00
Gwenole Beauchesne
420402d593
window: always check geometry when the window is mapped.
2012-01-11 09:38:56 +01:00
Zhao Halley
c40c05e5a4
Add missing profiles from VA-API 0.32.0.
...
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-01-06 17:58:12 +01:00
Gwenole Beauchesne
3e1d235c1a
decoder: fix possible leak of VA surfaces.
...
Under some circumstances, we could have leaked a surface, thus not
releasing it to the pool of available surfaces in the VA context.
The strategy is now to use a proxy earlier and automatically ref/unref
whenever necessary. In particular, during the lifetime needed for FFmpeg.
2012-01-05 17:35:43 +01:00
Gwenole Beauchesne
4e72aa587c
surfaceproxy: add helper to retrieve the VA surface ID.
2012-01-05 17:35:43 +01:00
Gwenole Beauchesne
40f44ab60e
surfaceproxy: simplify destruction.
...
Also make sure to always make sure to release the surface back to the
pool of surfaces in the associated VA context, if any.
2012-01-05 17:35:37 +01:00
Gwenole Beauchesne
0afd2e5c42
context: avoid self reference loops with surfaces.
2012-01-05 14:50:26 +01:00
Gwenole Beauchesne
7f8eaa6cbf
image: add helpers to extract pixels to user buffers.
2012-01-05 10:29:48 +01:00
Gwenole Beauchesne
13f00c67e6
image: simplify initialization of raw images from video buffers.
2012-01-04 11:34:34 +01:00
Gwenole Beauchesne
ad390f3569
image: fix update from NV12 buffers.
2012-01-04 11:32:21 +01:00
Gwenole Beauchesne
ac7c4cfe78
surface: apply composition to the parent context, if requested.
2011-12-14 14:40:37 +01:00
Gwenole Beauchesne
17538a340e
context: make it possible to apply composition globally.
2011-12-14 14:35:13 +01:00
Gwenole Beauchesne
0634dc768d
surface: fix associate subpicture to not report deassociation errors.
2011-12-14 14:13:58 +01:00
Gwenole Beauchesne
bf63fe671f
surface: fix typo in debug message.
2011-12-14 13:46:26 +01:00
Gwenole Beauchesne
3227168487
subpicture: add helper to create subpicture from GstVideoOverlayRectangle.
2011-12-14 13:16:21 +01:00
Gwenole Beauchesne
317c4e639e
surface: record parent context.
2011-12-13 16:53:15 +01:00
Gwenole Beauchesne
9c8c33857f
Fix warnings.
2011-12-13 15:59:02 +01:00
Gwenole Beauchesne
a4244820af
Rename gst_vaapi_surface_update_composition() to
...
gst_vaapi_surface_set_subpictures_from_composition().
2011-12-13 15:51:58 +01:00
Nicolas Dufresne
f6fb267903
converter: add support for GstVideoOverlayComposition planes.
...
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-12 18:38:51 +01:00
Gwenole Beauchesne
b014567502
surface: use unscaled overlay rectangle for blending.
2011-12-12 18:38:46 +01:00
Gwenole Beauchesne
010f94b85d
surface: fix VA image leak when an error occurred.
2011-12-12 18:37:13 +01:00
Nicolas Dufresne
c997607c6f
surface: add helper to handle GstVideoOverlayComposition.
...
This helper resets the subpictures to reflect the current composition
layers provided with the buffers.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2011-12-12 18:34:57 +01:00
Gwenole Beauchesne
55738da35b
image: add gst_vaapi_image_format_from_video() helper.
2011-12-12 18:32:29 +01:00
Gwenole Beauchesne
efcdec08fb
image: allow updates from GstVaapiImageRaw.
2011-12-12 18:32:29 +01:00
Gwenole Beauchesne
9337fb9a74
image: allow partial updates.
2011-12-12 18:32:29 +01:00
Gwenole Beauchesne
6352c7d5fa
subpicture: fix doc for gst_vaapi_subpicture_set_image().
2011-12-12 18:32:29 +01:00
Gwenole Beauchesne
697b96c30c
display: fix has_image_format() to check against subpicture formats.
2011-12-12 15:09:37 +01:00
Gwenole Beauchesne
e0fc705de3
Drop unused copy of GstBaseVideoDecoder.
2011-12-12 10:04:32 +01:00
Gwenole Beauchesne
e3c6a78da6
decoder: drop unused headers.
2011-12-08 15:16:14 +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
f35a7f8fb0
Add new GStreamer version check utilities.
2011-12-07 19:05:50 +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
781a7edd57
Add gst_base_video_decoder_update_src_caps().
...
Don't forcibly set "interlaced" field if upstream
elements did not have any.
2010-09-20 12:55:47 +02:00
gb
e708f89b67
Drop superfluous functions.
2010-09-20 12:55:47 +02:00
gb
b5b650c6ee
Really drop any dependency on libgstvideo. i.e. inline the helpers.
2010-09-20 12:55:47 +02:00
gb
7bd568f293
Further drop dependency on libgstvideo.
2010-09-20 12:55:47 +02:00
gb
ca3005055c
Add GstBaseVideoDecoder from gst-plugins-bad git.
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