summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-09-14wayland: Set opaque region for YUV surfaceHEADmasterKristian Høgsberg1-0/+19
This allows the compositor to optimize redraws and cull away changes obscured by the video surface.
2012-09-12glibcompat: add replacement for g_cond_wait_until().Gwenole Beauchesne1-0/+14
2012-09-12plugins: include "sysdeps.h" instead of "config.h".Gwenole Beauchesne5-8/+5
2012-09-12codecparsers: jpeg: add missing includes.Gwenole Beauchesne1-0/+1
2012-09-11vaapidecode: don't reset decoder if codec type is the same.Gwenole Beauchesne3-4/+29
Reset, i.e. destroy then create, the decoder in _setcaps() handler only if the underlying codec type actually changed. This makes it possible to be more tolerant with certain MPEG-2 streams that get parsed to form caps that are compatible with the previous state but minor changes to "codec-data".
2012-09-11vaapidecode: simplify codec lookup from caps.Gwenole Beauchesne1-21/+25
Add new gst_vaapi_codec_from_caps() helper to determine codec type from the specified caps. Don't globally expose this function since this is really trivial and only used in the vaapidecode element.
2012-09-11vaapidecode: improve "no free surface" conditions.Gwenole Beauchesne2-13/+24
Previously, vaapidecode would wait up to one second until a free surface is available, or it aborts decoding. Now, vaapidecode waits until the last decoded surface was to be presented, plus one second. Besides, end times are now expressed relative to the monotonic clock.
2012-09-11decoder: propagate buffer duration downstream.Gwenole Beauchesne2-0/+7
2012-09-11surfaceproxy: add "duration" property.Gwenole Beauchesne2-0/+73
2012-09-10decoder: cope with new GstVaapiContextInfo based API.Gwenole Beauchesne7-102/+121
Update decoders to report the maximum number of reference frames to use.
2012-09-10context: JPEG codec does not need any reference frame.Gwenole Beauchesne1-0/+1
2012-09-10context: allow number of reference frames to be set.Gwenole Beauchesne2-25/+124
Make it possible to specify the maximum number of references to use within a single VA context. This helps reducing GPU memory allocations to the useful number of references to be used.
2012-09-07vaapipostproc: fix deinterlace-{mode,method} types definition.Gwenole Beauchesne1-20/+20
2012-09-07mpeg4: fix debug info for unsupported profile.Gwenole Beauchesne1-1/+1
2012-09-07libs: fix build in strict ISO C mode.Gwenole Beauchesne31-34/+32
2012-09-07plugins: fix build in strict ISO C mode.Gwenole Beauchesne6-6/+6
2012-09-07pkgconfig: fix dependencies and slightly improve description.Gwenole Beauchesne3-10/+10
Drop @LIBVA_EXTRA_{CFLAGS,LIBS}@ substitutions and slightly improve descriptions with clearer renderer names.
2012-09-07vaapidecode: acquire lock only if the mutex exists.Philip Lorenz1-0/+3
When playback stops the GstVaapiDecode object is reset into a clean state. However, surfaces may still be referenced by library users and unreferencing them after the reset triggers an access to an unset mutex. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-09-07decoder: drop extraneous return for void function.Gwenole Beauchesne1-1/+1
2012-09-07image: don't use (void *) pointer arithmetic.Gwenole Beauchesne1-1/+1
2012-09-07Do not forward declare enums.Philip Lorenz9-49/+30
Forward declaring enums is not allowed by the C standard and aborts compilation if the header file is included in a C++ project. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-09-07configure: fix check for VA/DRM API.Gwenole Beauchesne1-2/+10
2012-09-06vaapisink: fix calculation of window size.Gwenole Beauchesne1-16/+52
If either dimension is out-of-bounds, then scale window to fit the display size, even if the output is to be rotated. Use the standard gst_video_sink_center_rect() function to center and scale the window wrt. the outer (display) bounds.
2012-09-06vaapisink: add video rotation support.Wind Yuan2-1/+77
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-09-06pluginutils: add G_PRIMITIVE_SWAP() helper macro.Gwenole Beauchesne1-0/+6
This macro helps swapping variables while maintaining the correct underlying and primitive type.
2012-09-06display: fix display aspect ratio when display is rotated.Gwenole Beauchesne1-10/+14
2012-09-06display: fix physical display size when display is rotated.Gwenole Beauchesne4-2/+72
2012-08-30display: fix GstVaapiRotation enumeration of values.Gwenole Beauchesne1-0/+1
2012-08-29vaapisink: drop obsolete GstVaapiVideoSink interface.Gwenole Beauchesne10-215/+1
This interface was deprecated since 0.3.x series when the GstVideoContext interface was added to the main GStreamer APIs.
2012-08-29vaapisink: automatically detect overlay rendering mode.Gwenole Beauchesne2-1/+10
Retain the VA surface until another surface is to be displayed only if VA display rendering mode is determined to be "overlay" mode.
2012-08-29vaapisink: retain VA surface until another one is displayed.Gwenole Beauchesne2-1/+10
Keep VA surface proxy associated with the surface that is currently being displayed. This makes sure that surface is not released back to the pool of surfaces free to use for decoding. This is necessary with VA driver implementations that support rendering to an overlay pipe. Otherwise, there could be cases where we are decoding into a surface that is being displayed, hence some flickering.
2012-08-29vaapisink: fix build with older toolchains.Gwenole Beauchesne1-0/+2
Don't re-declare GstVaapiTexture if USE_GLX mode is set.
2012-08-29display: partially revert 8ebe4d6.Gwenole Beauchesne1-10/+3
Don't try to fix up the initial values, this could make things worse. Simply assume the driver does not support the capability in this case.
2012-08-28tests: dump VA display properties.Gwenole Beauchesne1-11/+126
2012-08-28display: fix validation process of properties during discovery.Gwenole Beauchesne1-2/+18
Some VA drivers (e.g. EMGD) can have completely random values for initial display attributes. So, try to improve the discovery process to check the initial display attribute values actually fall within valid bounds. If not, try to reset those to some sensible values like the default value reported through vaQueryDisplayAttributes().
2012-08-28display: add color balance properties.Gwenole Beauchesne2-0/+173
Add support for hue, saturation, brightness and contrast attributes.
2012-08-28display: initialize default attribute values.Gwenole Beauchesne1-1/+12
Ensure the display attribute is actually supported by trying to retrieve its current value during GstVaapiDisplay creation.
2012-08-28display: raise "notify" for property changes.Gwenole Beauchesne1-0/+4
2012-08-28display: expose display attributes as GObject properties.Gwenole Beauchesne2-5/+57
Expose VA display "render-mode" and "rotation" attributes as standard GObject properties.
2012-08-28display: install properties in batch.Gwenole Beauchesne1-36/+34
Use g_object_class_install_properties() to install GstVaapiDisplay properties. It is useful to maintain properties as GParamSpec so that to be able to raise "notify" signals by id instead of by name in the future.
2012-08-27display: fix gst_vaapi_display_has_property().Gwenole Beauchesne1-2/+18
Append the "render-mode" and "rotation" properties, should they be supported by the underlying VA driver.
2012-08-27display: add support for rotation modes.Wind Yuan7-0/+146
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-08-27display: add support for rendering modes.Gwenole Beauchesne5-0/+245
A rendering mode can be "overlay" or "texture"'ed blit. The former mode implies that a VA surface used for rendering can't be re-used right away for decoding, so the sink shall make provisions to retain the associated surface proxy until the next surface is to be displayed. The latter mode implies that the VA surface is implicitly copied to an intermediate backing store, or back buffer of a frame buffer, so the associated surface proxy can be disposed right away.
2012-08-27display: add initial support for display attributes.Gwenole Beauchesne3-2/+90
The VA display attributes are mapped to properties so that to maintain the GStreamer terminology. Properties are to be identified by name, but internal functions are available to lookup the property by the actual VA display attribute type.
2012-08-27jpeg: fix end-of-image (EOI) handler.Sreerenj Balachandran1-1/+7
decode_current_picture() was converted to return a gboolean instead of a GstVaapiDecoderStatus, so we were not getting out of the decode loop as expected, or could cause an error instead. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-08-27mpeg2: include start code into VA slice data buffer.Gwenole Beauchesne1-9/+9
Integrate the start code prefix in the slice data buffer that is submitted to the hardware. VA-API specifies that slice_data_offset is the offset to the first byte of slice data. And, for MPEG-2, slice() data begins with the slice_start_code. Some VA driver implementations (EMGD) expect this.
2012-08-27autogen: fix configure script generation when srcdir != builddir.Javier Jardón1-9/+12
This patch allows for regenerating the configure script from a build directory that is not the actual source directory. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-08-27configure: use new libtool syntax.Javier Jardón1-1/+4
This now requires libtool >= 2.2 to regenerate the configure script. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-08-27decoder: use g_object_notify_by_pspec().Javier Jardón1-12/+14
Use g_object_notify_by_pspec() instead of g_object_notify() so that to avoid a property name lookup. i.e. this makes notifications faster to the `vaapidecode' element. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-08-06wayland: handle de-interlacing flags.Gwenole Beauchesne1-1/+13
VA/Wayland API was updated to allow flags for bob deinterlacing. More elaborated filters will require a complete VA/VPP pipeline.