vaapi:windyuan-gstreamer-vaapi.git
5 years agoencoder: vaapicontext support rate-control
Wind Yuan [Fri, 2 Nov 2012 08:55:13 +0000 (16:55 +0800)]
encoder: vaapicontext support rate-control

5 years agoencoder: h264 support multiple slices
Wind Yuan [Thu, 1 Nov 2012 07:27:32 +0000 (15:27 +0800)]
encoder: h264 support multiple slices

5 years agogstvaapivideobuffer: fix memory leak for surface and image
Wind Yuan [Tue, 30 Oct 2012 05:15:45 +0000 (13:15 +0800)]
gstvaapivideobuffer: fix memory leak for surface and image

5 years agoencoder: PVR only need seq paramerter set once
Wind Yuan [Thu, 18 Oct 2012 09:58:04 +0000 (17:58 +0800)]
encoder: PVR only need seq paramerter set once

5 years agoconfigure.ac: check old/new h264 encoder API
Wind Yuan [Tue, 25 Sep 2012 07:37:43 +0000 (15:37 +0800)]
configure.ac: check old/new h264 encoder API

5 years agoencoder: h264 compatible with old libva by macro HAVE_OLD_H264_ENCODER
Wind Yuan [Tue, 25 Sep 2012 05:31:51 +0000 (13:31 +0800)]
encoder: h264 compatible with old libva by macro HAVE_OLD_H264_ENCODER

5 years agoencoder: align formats to gstreamer code style
Wind Yuan [Fri, 21 Sep 2012 09:03:35 +0000 (17:03 +0800)]
encoder: align formats to gstreamer code style

5 years agoencoder: reduce function parameters and change variable names
Wind Yuan [Thu, 20 Sep 2012 06:41:53 +0000 (14:41 +0800)]
encoder: reduce function parameters and change variable names

5 years agoencoders: remove encoders image upload and simplify parts code
Wind Yuan [Thu, 2 Aug 2012 07:29:05 +0000 (03:29 -0400)]
encoders: remove encoders image upload and simplify parts code

5 years agoh264 encoder: worked in staging branch
Wind Yuan [Mon, 30 Jul 2012 07:34:55 +0000 (03:34 -0400)]
h264 encoder: worked in staging branch

5 years agoh264 encoder: compiling passed with libva staging branch
Wind Yuan [Mon, 30 Jul 2012 02:03:08 +0000 (22:03 -0400)]
h264 encoder: compiling passed with libva staging branch

5 years agoencoder(h264,h263,mpeg4): changed styles, names
Wind Yuan [Fri, 20 Jul 2012 07:27:57 +0000 (03:27 -0400)]
encoder(h264,h263,mpeg4): changed styles, names

current h264 encoder works in branch of 'vaapiext' of libva/intel-driver in GEN platform.
other encoders(h263,mpeg4) only tested in pvr long ago.
encoder need be configured with '--enable-encoders' explicitly.

5 years agoh264encoder: auto-detect stream-format: avc/byte-stream by next linked-pad's caps
Wind Yuan [Thu, 21 Jun 2012 06:46:43 +0000 (14:46 +0800)]
h264encoder: auto-detect stream-format: avc/byte-stream by next linked-pad's caps

5 years agofix compile issue after rebase
Wind Yuan [Wed, 18 Jan 2012 11:02:43 +0000 (19:02 +0800)]
fix compile issue after rebase

5 years agoadd Intel Copyright
Wind Yuan [Thu, 22 Dec 2011 13:02:10 +0000 (21:02 +0800)]
add Intel Copyright

5 years agocompiling passed in for new vaapiencode
Wind Yuan [Thu, 22 Dec 2011 06:42:40 +0000 (14:42 +0800)]
compiling passed in for new vaapiencode

5 years agochange encoder log output format, support GST log
Wind Yuan [Tue, 29 Nov 2011 02:31:44 +0000 (10:31 +0800)]
change encoder log output format, support GST log

5 years agosupport B frames
Wind Yuan [Mon, 28 Nov 2011 06:17:52 +0000 (01:17 -0500)]
support B frames

5 years agoSupport h264encoder on SandyBridge platform(lots libva h264 encoding parameters changed)
Wind Yuan [Wed, 23 Nov 2011 07:04:42 +0000 (02:04 -0500)]
Support h264encoder on SandyBridge platform(lots libva h264 encoding parameters changed)

5 years agosupports mpeg4 encoder
Wind Yuan [Thu, 20 Oct 2011 07:24:30 +0000 (15:24 +0800)]
supports mpeg4 encoder

5 years agochange h264encoder.x to gstvaapih264encoder.x
Wind Yuan [Thu, 13 Oct 2011 07:32:22 +0000 (15:32 +0800)]
change h264encoder.x to gstvaapih264encoder.x

5 years agosupport h263 encoder(vah263encode) in mrst "gst-launch videotestsrc num-buffers=100...
Wind Yuan [Thu, 13 Oct 2011 07:17:54 +0000 (15:17 +0800)]
support h263 encoder(vah263encode) in mrst "gst-launch videotestsrc num-buffers=100 pattern=18 ! video/x-raw-yuv,format='(fourcc)'NV12,width=640,height=480,framerate=30/1 ! vaapiconvert ! vah263encode ! qtmux faststart=true ! filesink location=263.mp4"

5 years agoextract vaapiencoder structure to make other encoders possible
Wind Yuan [Mon, 10 Oct 2011 02:24:02 +0000 (10:24 +0800)]
extract vaapiencoder structure to make other encoders possible

5 years agosupport multiple h264 slices, auto calculate bitrate(=w*h*fps/4) add properties ...
Wind Yuan [Fri, 30 Sep 2011 06:33:44 +0000 (14:33 +0800)]
support multiple h264 slices, auto calculate bitrate(=w*h*fps/4) add properties : min-qp, slice-num

5 years agoadd properties in gsth264encode; profile, level,bitrate, intra-period, init-qp
Wind Yuan [Thu, 29 Sep 2011 14:08:26 +0000 (22:08 +0800)]
add properties in gsth264encode; profile, level,bitrate, intra-period, init-qp

5 years agovah264encode co-work with vaapiconvert passed "gst-launch videotestsrc ! video/x...
Wind Yuan [Tue, 27 Sep 2011 05:24:05 +0000 (13:24 +0800)]
vah264encode co-work with vaapiconvert passed "gst-launch videotestsrc ! video/x-raw-yuv,format='(fourcc)'NV12,width=1280,height=720,framerate=30/1 ! vaapiconvert ! vah264encode ! fakesink"

5 years agochange h264encoder
Wind Yuan [Mon, 19 Sep 2011 01:47:36 +0000 (09:47 +0800)]
change h264encoder

5 years agovaapiconvert: change direct-rendering=0 to vaPutImage and support YUY2 colorspace...
Wind Yuan [Thu, 5 Jan 2012 03:17:33 +0000 (11:17 +0800)]
vaapiconvert: change direct-rendering=0 to vaPutImage and support YUY2 colorspace to vaImage

5 years agoadd Intel Copyright
Wind Yuan [Thu, 22 Dec 2011 13:02:10 +0000 (21:02 +0800)]
add Intel Copyright

5 years agocompiling passed in 3.0 for vaapiencode
Wind Yuan [Thu, 22 Dec 2011 06:42:40 +0000 (14:42 +0800)]
compiling passed in 3.0 for vaapiencode

5 years agovaapiconvert support multiple YUV colorspace
Wind Yuan [Thu, 22 Dec 2011 06:41:42 +0000 (14:41 +0800)]
vaapiconvert support multiple YUV colorspace

5 years agoAdd FPS log print in vaapiencode
Wind Yuan [Fri, 9 Dec 2011 07:55:01 +0000 (15:55 +0800)]
Add FPS log print in vaapiencode

5 years agoUse config.h to vaapiencode
Wind Yuan [Wed, 7 Dec 2011 04:58:10 +0000 (12:58 +0800)]
Use config.h to vaapiencode

5 years agoadd fps caculation macro
Wind Yuan [Tue, 6 Dec 2011 01:19:56 +0000 (20:19 -0500)]
add fps caculation macro

5 years agosupport YUY2 convert to surface
Wind Yuan [Mon, 5 Dec 2011 06:23:10 +0000 (01:23 -0500)]
support YUY2 convert to surface

5 years agovaapiconvert: try directly copy buffer to derived surface first
Wind Yuan [Thu, 1 Dec 2011 18:07:31 +0000 (13:07 -0500)]
vaapiconvert: try directly copy buffer to derived surface first

5 years agochange encoder log output format, support GST log
Wind Yuan [Tue, 29 Nov 2011 02:31:44 +0000 (10:31 +0800)]
change encoder log output format, support GST log

5 years agosupport multiple threads for vaapivideopool
Wind Yuan [Tue, 29 Nov 2011 02:31:02 +0000 (10:31 +0800)]
support multiple threads for vaapivideopool

5 years agosupport raw-buffer directly converted to surface in vaapiconvert
Wind Yuan [Thu, 24 Nov 2011 08:35:09 +0000 (03:35 -0500)]
support raw-buffer directly converted to surface in vaapiconvert

5 years agoAdd context API <gst_vaapi_context_get_surface_pool>
Wind Yuan [Wed, 23 Nov 2011 07:01:30 +0000 (02:01 -0500)]
Add context API <gst_vaapi_context_get_surface_pool>

5 years agoadd h264encoder
Wind Yuan [Mon, 19 Sep 2011 01:47:36 +0000 (09:47 +0800)]
add h264encoder

5 years agodocs: fix build for make dist.
Gwenole Beauchesne [Mon, 17 Sep 2012 15:55:43 +0000 (17:55 +0200)]
docs: fix build for make dist.

5 years agowayland: set opaque region for YUV surface.
Kristian Høgsberg [Fri, 14 Sep 2012 14:30:35 +0000 (10:30 -0400)]
wayland: set opaque region for YUV surface.

This allows the compositor to optimize redraws and cull away changes
obscured by the video surface.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
5 years agoconfigure: fix check for libva-glx and libva-drm.
Gwenole Beauchesne [Fri, 14 Sep 2012 15:30:19 +0000 (17:30 +0200)]
configure: fix check for libva-glx and libva-drm.

5 years agoglibcompat: add replacement for g_cond_wait_until().
Gwenole Beauchesne [Wed, 12 Sep 2012 11:42:49 +0000 (13:42 +0200)]
glibcompat: add replacement for g_cond_wait_until().

5 years agoplugins: include "sysdeps.h" instead of "config.h".
Gwenole Beauchesne [Wed, 12 Sep 2012 11:41:47 +0000 (13:41 +0200)]
plugins: include "sysdeps.h" instead of "config.h".

5 years agocodecparsers: jpeg: add missing includes.
Gwenole Beauchesne [Wed, 12 Sep 2012 08:40:06 +0000 (10:40 +0200)]
codecparsers: jpeg: add missing includes.

5 years agovaapidecode: don't reset decoder if codec type is the same.
Gwenole Beauchesne [Tue, 11 Sep 2012 15:03:33 +0000 (17:03 +0200)]
vaapidecode: don't reset decoder if codec type is the same.

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

5 years agovaapidecode: simplify codec lookup from caps.
Gwenole Beauchesne [Tue, 11 Sep 2012 14:41:32 +0000 (16:41 +0200)]
vaapidecode: simplify codec lookup from caps.

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.

5 years agovaapidecode: improve "no free surface" conditions.
Gwenole Beauchesne [Tue, 11 Sep 2012 13:54:20 +0000 (15:54 +0200)]
vaapidecode: improve "no free surface" conditions.

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.

5 years agodecoder: propagate buffer duration downstream.
Gwenole Beauchesne [Tue, 11 Sep 2012 08:59:33 +0000 (10:59 +0200)]
decoder: propagate buffer duration downstream.

5 years agosurfaceproxy: add "duration" property.
Gwenole Beauchesne [Tue, 11 Sep 2012 08:59:10 +0000 (10:59 +0200)]
surfaceproxy: add "duration" property.

5 years agodecoder: cope with new GstVaapiContextInfo based API.
Gwenole Beauchesne [Mon, 10 Sep 2012 16:26:51 +0000 (18:26 +0200)]
decoder: cope with new GstVaapiContextInfo based API.

Update decoders to report the maximum number of reference frames to use.

5 years agocontext: JPEG codec does not need any reference frame.
Gwenole Beauchesne [Mon, 10 Sep 2012 16:17:10 +0000 (18:17 +0200)]
context: JPEG codec does not need any reference frame.

5 years agocontext: allow number of reference frames to be set.
Gwenole Beauchesne [Mon, 10 Sep 2012 16:15:02 +0000 (18:15 +0200)]
context: allow number of reference frames to be set.

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.

5 years agovaapipostproc: fix deinterlace-{mode,method} types definition.
Gwenole Beauchesne [Fri, 7 Sep 2012 14:41:16 +0000 (16:41 +0200)]
vaapipostproc: fix deinterlace-{mode,method} types definition.

5 years agompeg4: fix debug info for unsupported profile.
Gwenole Beauchesne [Fri, 7 Sep 2012 14:15:40 +0000 (16:15 +0200)]
mpeg4: fix debug info for unsupported profile.

5 years agolibs: fix build in strict ISO C mode.
Gwenole Beauchesne [Fri, 7 Sep 2012 14:14:11 +0000 (16:14 +0200)]
libs: fix build in strict ISO C mode.

5 years agoplugins: fix build in strict ISO C mode.
Gwenole Beauchesne [Fri, 7 Sep 2012 14:11:12 +0000 (16:11 +0200)]
plugins: fix build in strict ISO C mode.

5 years agopkgconfig: fix dependencies and slightly improve description.
Gwenole Beauchesne [Fri, 7 Sep 2012 13:31:09 +0000 (15:31 +0200)]
pkgconfig: fix dependencies and slightly improve description.

Drop @LIBVA_EXTRA_{CFLAGS,LIBS}@ substitutions and slightly improve
descriptions with clearer renderer names.

5 years agovaapidecode: acquire lock only if the mutex exists.
Philip Lorenz [Tue, 4 Sep 2012 11:54:19 +0000 (13:54 +0200)]
vaapidecode: acquire lock only if the mutex exists.

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>
5 years agodecoder: drop extraneous return for void function.
Gwenole Beauchesne [Fri, 7 Sep 2012 09:58:53 +0000 (11:58 +0200)]
decoder: drop extraneous return for void function.

5 years agoimage: don't use (void *) pointer arithmetic.
Gwenole Beauchesne [Fri, 7 Sep 2012 09:57:59 +0000 (11:57 +0200)]
image: don't use (void *) pointer arithmetic.

5 years agoDo not forward declare enums.
Philip Lorenz [Tue, 4 Sep 2012 11:40:04 +0000 (13:40 +0200)]
Do not forward declare enums.

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>
5 years agoconfigure: fix check for VA/DRM API.
Gwenole Beauchesne [Fri, 7 Sep 2012 09:44:44 +0000 (11:44 +0200)]
configure: fix check for VA/DRM API.

5 years agovaapisink: fix calculation of window size.
Gwenole Beauchesne [Tue, 4 Sep 2012 09:53:18 +0000 (11:53 +0200)]
vaapisink: fix calculation of window size.

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.

5 years agovaapisink: add video rotation support.
Wind Yuan [Tue, 28 Aug 2012 06:45:22 +0000 (02:45 -0400)]
vaapisink: add video rotation support.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
5 years agopluginutils: add G_PRIMITIVE_SWAP() helper macro.
Gwenole Beauchesne [Thu, 6 Sep 2012 09:47:40 +0000 (11:47 +0200)]
pluginutils: add G_PRIMITIVE_SWAP() helper macro.

This macro helps swapping variables while maintaining the correct underlying
and primitive type.

5 years agodisplay: fix display aspect ratio when display is rotated.
Gwenole Beauchesne [Thu, 6 Sep 2012 09:51:41 +0000 (11:51 +0200)]
display: fix display aspect ratio when display is rotated.

5 years agodisplay: fix physical display size when display is rotated.
Gwenole Beauchesne [Thu, 6 Sep 2012 09:50:21 +0000 (11:50 +0200)]
display: fix physical display size when display is rotated.

5 years agodisplay: fix GstVaapiRotation enumeration of values.
Gwenole Beauchesne [Thu, 30 Aug 2012 14:27:56 +0000 (16:27 +0200)]
display: fix GstVaapiRotation enumeration of values.

5 years agovaapisink: drop obsolete GstVaapiVideoSink interface.
Gwenole Beauchesne [Wed, 29 Aug 2012 11:18:05 +0000 (13:18 +0200)]
vaapisink: drop obsolete GstVaapiVideoSink interface.

This interface was deprecated since 0.3.x series when the GstVideoContext
interface was added to the main GStreamer APIs.

5 years agovaapisink: automatically detect overlay rendering mode.
Gwenole Beauchesne [Mon, 27 Aug 2012 15:34:27 +0000 (18:34 +0300)]
vaapisink: automatically detect overlay rendering mode.

Retain the VA surface until another surface is to be displayed only
if VA display rendering mode is determined to be "overlay" mode.

5 years agovaapisink: retain VA surface until another one is displayed.
Gwenole Beauchesne [Fri, 24 Aug 2012 13:30:33 +0000 (16:30 +0300)]
vaapisink: retain VA surface until another one is displayed.

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.

5 years agovaapisink: fix build with older toolchains.
Gwenole Beauchesne [Fri, 24 Aug 2012 11:54:16 +0000 (14:54 +0300)]
vaapisink: fix build with older toolchains.

Don't re-declare GstVaapiTexture if USE_GLX mode is set.

5 years agodisplay: partially revert 8ebe4d6.
Gwenole Beauchesne [Wed, 29 Aug 2012 08:13:58 +0000 (10:13 +0200)]
display: partially revert 8ebe4d6.

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.

5 years agotests: dump VA display properties.
Gwenole Beauchesne [Tue, 28 Aug 2012 14:08:34 +0000 (16:08 +0200)]
tests: dump VA display properties.

5 years agodisplay: fix validation process of properties during discovery.
Gwenole Beauchesne [Tue, 28 Aug 2012 15:11:32 +0000 (18:11 +0300)]
display: fix validation process of properties during discovery.

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

5 years agodisplay: add color balance properties.
Gwenole Beauchesne [Tue, 28 Aug 2012 11:59:50 +0000 (13:59 +0200)]
display: add color balance properties.

Add support for hue, saturation, brightness and contrast attributes.

5 years agodisplay: initialize default attribute values.
Gwenole Beauchesne [Tue, 28 Aug 2012 12:05:16 +0000 (14:05 +0200)]
display: initialize default attribute values.

Ensure the display attribute is actually supported by trying to retrieve
its current value during GstVaapiDisplay creation.

5 years agodisplay: raise "notify" for property changes.
Gwenole Beauchesne [Tue, 28 Aug 2012 09:09:56 +0000 (11:09 +0200)]
display: raise "notify" for property changes.

5 years agodisplay: expose display attributes as GObject properties.
Gwenole Beauchesne [Tue, 28 Aug 2012 08:55:59 +0000 (10:55 +0200)]
display: expose display attributes as GObject properties.

Expose VA display "render-mode" and "rotation" attributes as standard
GObject properties.

5 years agodisplay: install properties in batch.
Gwenole Beauchesne [Tue, 28 Aug 2012 14:24:15 +0000 (16:24 +0200)]
display: install properties in batch.

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.

5 years agodisplay: fix gst_vaapi_display_has_property().
Gwenole Beauchesne [Mon, 27 Aug 2012 17:00:37 +0000 (19:00 +0200)]
display: fix gst_vaapi_display_has_property().

Append the "render-mode" and "rotation" properties, should they be supported
by the underlying VA driver.

5 years agodisplay: add support for rotation modes.
Wind Yuan [Wed, 22 Aug 2012 06:18:11 +0000 (02:18 -0400)]
display: add support for rotation modes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
5 years agodisplay: add support for rendering modes.
Gwenole Beauchesne [Mon, 27 Aug 2012 15:11:37 +0000 (18:11 +0300)]
display: add support for rendering modes.

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.

5 years agodisplay: add initial support for display attributes.
Gwenole Beauchesne [Mon, 27 Aug 2012 14:02:49 +0000 (17:02 +0300)]
display: add initial support for display attributes.

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.

5 years agojpeg: fix end-of-image (EOI) handler.
Sreerenj Balachandran [Fri, 24 Aug 2012 08:36:16 +0000 (11:36 +0300)]
jpeg: fix end-of-image (EOI) handler.

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>
5 years agompeg2: include start code into VA slice data buffer.
Gwenole Beauchesne [Fri, 24 Aug 2012 16:41:47 +0000 (18:41 +0200)]
mpeg2: include start code into VA slice data buffer.

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.

5 years agoautogen: fix configure script generation when srcdir != builddir.
Javier Jardón [Wed, 27 Jun 2012 16:08:03 +0000 (01:08 +0900)]
autogen: fix configure script generation when srcdir != builddir.

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>
5 years agoconfigure: use new libtool syntax.
Javier Jardón [Wed, 27 Jun 2012 15:22:03 +0000 (00:22 +0900)]
configure: use new libtool syntax.

This now requires libtool >= 2.2 to regenerate the configure script.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
5 years agodecoder: use g_object_notify_by_pspec().
Javier Jardón [Wed, 8 Aug 2012 03:50:41 +0000 (12:50 +0900)]
decoder: use g_object_notify_by_pspec().

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>
5 years agowayland: handle de-interlacing flags.
Gwenole Beauchesne [Mon, 6 Aug 2012 17:21:03 +0000 (19:21 +0200)]
wayland: handle de-interlacing flags.

VA/Wayland API was updated to allow flags for bob deinterlacing.
More elaborated filters will require a complete VA/VPP pipeline.

5 years agojpeg: fix default quantization tables.
Gwenole Beauchesne [Thu, 2 Aug 2012 16:27:48 +0000 (18:27 +0200)]
jpeg: fix default quantization tables.

Two elements in the luminance quantization table were wrong. So,
gst_jpeg_get_default_quantization_tables() now reconstructs tables
in zig-zag order from the standard ones (Tables K.1 and K.2).

5 years agojpeg: compute default Huffman tables.
Gwenole Beauchesne [Thu, 2 Aug 2012 13:17:57 +0000 (15:17 +0200)]
jpeg: compute default Huffman tables.

... instead of having them pre-calculated. This saves around 1.5 KB
of data in the DSO but requires gst_jpeg_get_default_huffman_tables()
to do more work. Though, the client application may have to call that
function at most once, only.

5 years agodisplay: drop VAProfileNone entries from debug messages.
Gwenole Beauchesne [Wed, 1 Aug 2012 16:30:27 +0000 (18:30 +0200)]
display: drop VAProfileNone entries from debug messages.

5 years agodisplay: query for supported display attributes.
Yan Yin [Tue, 31 Jul 2012 10:24:14 +0000 (18:24 +0800)]
display: query for supported display attributes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
5 years agoutils: add string_of_VADisplayAttributeType() helper.
Yan Yin [Tue, 31 Jul 2012 10:22:48 +0000 (18:22 +0800)]
utils: add string_of_VADisplayAttributeType() helper.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
5 years agovaapisink: handle VA/DRM API.
Gwenole Beauchesne [Wed, 1 Aug 2012 13:46:35 +0000 (15:46 +0200)]
vaapisink: handle VA/DRM API.

This is not useful in practice but for raw performance evaluation when
the sink is invoked with display=drm sync=false. fakesink could also be
used though.

5 years agoplugins: add support for headless pipelines.
Gwenole Beauchesne [Wed, 1 Aug 2012 13:46:19 +0000 (15:46 +0200)]
plugins: add support for headless pipelines.