gstreamer/gst-libs/gst/vaapi
Gwenole Beauchesne 3bc6078f32 mpeg2: optimize scan for start codes.
Accelerate scan for start codes by skipping up to 3 bytes per iteration.
A start code prefix is defined by the following bytes: 00 00 01. Thus,
for any group of 3 bytes (xx yy zz), we have the following possible cases:

  1. If zz != 1, this cannot be a start code, then skip 3 bytes;
  2. If yy != 0, this cannot be a start code, then skip 2 bytes;
  3. If xx != 0 or zz != 1, this cannot be a start code, then skip 1 byte;
  4. xx == 00, yy == 00, zz == 1, we have match!

This algorithm requires to peek bytes from the adapter. This increases the
amount of bytes copied to a temporary buffer, but this process is much faster
than scanning for all the bytes and using shift/masks. So, overall, this is
a win.
2013-01-09 16:05:18 +01:00
..
glibcompat.h libs: fix compatibility with glib 2.28. 2012-12-17 14:33:52 +01:00
gstvaapi_priv.h legal: fix copyright notices to include "Copyright" term. 2012-01-16 11:40:51 +01:00
gstvaapicodec_objects.c decoder: drop useless checks for codec objects. 2013-01-03 09:08:19 +01:00
gstvaapicodec_objects.h Port codec objects to GstVaapiMiniObject. 2012-12-18 15:31:51 +01:00
gstvaapicompat.h jpeg: update to the latest VA-API changes (0.32.1+). 2012-07-31 11:51:57 +02:00
gstvaapicontext.c context: JPEG codec does not need any reference frame. 2012-09-10 18:17:10 +02:00
gstvaapicontext.h context: allow number of reference frames to be set. 2012-09-10 18:15:02 +02:00
gstvaapidebug.h legal: fix copyright notices to include "Copyright" term. 2012-01-16 11:40:51 +01:00
gstvaapidecoder.c decoder: optimize pre-allocation of decoder units. 2013-01-07 14:11:39 +01:00
gstvaapidecoder.h decoder: refactor decoder unit API. 2013-01-07 14:10:13 +01:00
gstvaapidecoder_dpb.c dpb: mpeg2: cosmetics. 2012-04-12 11:00:22 +02:00
gstvaapidecoder_dpb.h Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden. 2012-07-19 18:01:12 +02:00
gstvaapidecoder_frame.c decoder: optimize pre-allocation of decoder units. 2013-01-07 14:11:39 +01:00
gstvaapidecoder_frame.h decoder: optimize pre-allocation of decoder units. 2013-01-07 14:11:39 +01:00
gstvaapidecoder_h264.c decoder: refactor decoder unit API. 2013-01-07 14:10:13 +01:00
gstvaapidecoder_h264.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapidecoder_jpeg.c decoder: refactor decoder unit API. 2013-01-07 14:10:13 +01:00
gstvaapidecoder_jpeg.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapidecoder_mpeg2.c mpeg2: optimize scan for start codes. 2013-01-09 16:05:18 +01:00
gstvaapidecoder_mpeg2.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapidecoder_mpeg4.c decoder: refactor decoder unit API. 2013-01-07 14:10:13 +01:00
gstvaapidecoder_mpeg4.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapidecoder_objects.c decoder: always use the calculated presentation timestamp. 2013-01-03 13:05:47 +01:00
gstvaapidecoder_objects.h decoder: maintain decoded frames as GstVideoCodecFrame objects. 2012-12-18 15:31:52 +01:00
gstvaapidecoder_priv.h decoder: use an array of units instead of a single-linked list. 2013-01-07 14:10:13 +01:00
gstvaapidecoder_unit.c decoder: decoder units are no longer dynamically allocated objects. 2013-01-07 14:11:39 +01:00
gstvaapidecoder_unit.h decoder: decoder units are no longer dynamically allocated objects. 2013-01-07 14:11:39 +01:00
gstvaapidecoder_vc1.c decoder: refactor decoder unit API. 2013-01-07 14:10:13 +01:00
gstvaapidecoder_vc1.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapidisplay.c libs: use glib >= 2.32 semantics for mutexes. 2012-12-17 14:33:45 +01:00
gstvaapidisplay.h Do not forward declare enums. 2012-09-07 11:54:09 +02:00
gstvaapidisplay_drm.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapidisplay_drm.h Add initial support for VA/DRM. 2012-08-01 16:40:17 +02:00
gstvaapidisplay_drm_priv.h Add initial support for VA/DRM. 2012-08-01 16:40:17 +02:00
gstvaapidisplay_glx.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapidisplay_glx.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapidisplay_glx_priv.h legal: fix copyright notices to include "Copyright" term. 2012-01-16 11:40:51 +01:00
gstvaapidisplay_priv.h libs: use glib >= 2.32 semantics for mutexes. 2012-12-17 14:33:45 +01:00
gstvaapidisplay_wayland.c wayland: port to 1.0 version of the protocol. 2012-11-15 14:31:33 +01:00
gstvaapidisplay_wayland.h Add initial support for VA/Wayland. 2012-07-25 15:31:42 +02:00
gstvaapidisplay_wayland_priv.h wayland: port to 1.0 version of the protocol. 2012-11-15 14:31:33 +01:00
gstvaapidisplay_x11.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapidisplay_x11.h Drop support for obsolete VA-API versions < 0.30.4. 2012-07-20 14:11:42 +02:00
gstvaapidisplay_x11_priv.h display: fix physical display size when display is rotated. 2012-09-06 13:39:50 +02:00
gstvaapidisplaycache.c libs: use glib >= 2.32 semantics for mutexes. 2012-12-17 14:33:45 +01:00
gstvaapidisplaycache.h display: implement a VA display cache. 2012-01-12 16:09:08 +01:00
gstvaapiimage.c image: fix GstVaapiImage map and unmap. 2012-11-20 14:38:19 +01:00
gstvaapiimage.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapiimageformat.c Do not forward declare enums. 2012-09-07 11:54:09 +02:00
gstvaapiimageformat.h Do not forward declare enums. 2012-09-07 11:54:09 +02:00
gstvaapiimagepool.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapiimagepool.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapiminiobject.c Add GstVaapiMiniObject. 2012-12-18 15:31:50 +01:00
gstvaapiminiobject.h Add GstVaapiMiniObject. 2012-12-18 15:31:50 +01:00
gstvaapiobject.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapiobject.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapiobject_priv.h Add initial support for VA/Wayland. 2012-07-25 15:31:42 +02:00
gstvaapiparamspecs.c Add header for system-dependent definitions. 2012-01-30 19:52:10 +01:00
gstvaapiparamspecs.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapiprofile.c decoder: use GstVideoCodecState. 2012-12-18 15:31:51 +01:00
gstvaapiprofile.h decoder: use GstVideoCodecState. 2012-12-18 15:31:51 +01:00
gstvaapisubpicture.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapisubpicture.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapisurface.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapisurface.h Do not forward declare enums. 2012-09-07 11:54:09 +02:00
gstvaapisurface_priv.h Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden. 2012-07-19 18:01:12 +02:00
gstvaapisurfacepool.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapisurfacepool.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapisurfaceproxy.c surfaceproxy: minor clean-ups. 2012-12-18 15:31:52 +01:00
gstvaapisurfaceproxy.h surfaceproxy: drop accessors to obsolete attributes. 2012-12-18 15:31:52 +01:00
gstvaapitexture.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapitexture.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapitypes.h Do not forward declare enums. 2012-09-07 11:54:09 +02:00
gstvaapiutils.c display: add support for rotation modes. 2012-08-27 18:41:22 +02:00
gstvaapiutils.h display: add support for rotation modes. 2012-08-27 18:41:22 +02:00
gstvaapiutils_glx.c libs: use glib >= 2.32 semantics for mutexes. 2012-12-17 14:33:45 +01:00
gstvaapiutils_glx.h utils: drop unused GLX helpers. 2012-09-27 11:08:58 +02:00
gstvaapiutils_x11.c Add header for system-dependent definitions. 2012-01-30 19:52:10 +01:00
gstvaapiutils_x11.h Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden. 2012-07-19 18:01:12 +02:00
gstvaapivalue.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapivalue.h display: add support for rotation modes. 2012-08-27 18:41:22 +02:00
gstvaapivideobuffer.c videobuffer: wrap video meta into a surface buffer. 2013-01-05 18:02:31 +01:00
gstvaapivideobuffer.h videobuffer: wrap video meta into a surface buffer. 2013-01-05 18:02:31 +01:00
gstvaapivideoconverter_glx.c videobuffer: wrap video meta into a surface buffer. 2013-01-05 18:02:31 +01:00
gstvaapivideoconverter_glx.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapivideometa.c videobuffer: add video meta information. 2013-01-05 18:02:31 +01:00
gstvaapivideometa.h videobuffer: add video meta information. 2013-01-05 18:02:31 +01:00
gstvaapivideopool.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapivideopool.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapiwindow.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapiwindow.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapiwindow_drm.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapiwindow_drm.h Add initial support for VA/DRM. 2012-08-01 16:40:17 +02:00
gstvaapiwindow_glx.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapiwindow_glx.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapiwindow_wayland.c wayland: port to 1.0 version of the protocol. 2012-11-15 14:31:33 +01:00
gstvaapiwindow_wayland.h Add initial support for VA/Wayland. 2012-07-25 15:31:42 +02:00
gstvaapiwindow_x11.c libs: fix build in strict ISO C mode. 2012-09-07 16:23:42 +02:00
gstvaapiwindow_x11.h libs: declare _get_type() functions as const. 2012-07-19 15:19:17 +02:00
gstvaapiworkarounds.h profile: match video/x-h263 as H.263 Baseline profile. 2012-01-24 10:15:00 +01:00
Makefile.am videobuffer: wrap video meta into a surface buffer. 2013-01-05 18:02:31 +01:00
sysdeps.h Add glib compatibility glue for older versions. 2012-01-30 19:53:13 +01:00