RELEASE 0.11.1 RELEASE-0.11.1
authorWim Taymans <wim.taymans@collabora.co.uk>
Fri, 17 Feb 2012 10:05:37 +0000 (11:05 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Fri, 17 Feb 2012 10:05:37 +0000 (11:05 +0100)
81 files changed:
ChangeLog
NEWS
RELEASE
configure.ac
docs/plugins/gst-plugins-bad-plugins.args
docs/plugins/gst-plugins-bad-plugins.hierarchy
docs/plugins/gst-plugins-bad-plugins.interfaces
docs/plugins/inspect/plugin-adpcmdec.xml
docs/plugins/inspect/plugin-adpcmenc.xml
docs/plugins/inspect/plugin-assrender.xml
docs/plugins/inspect/plugin-audiovisualizers.xml
docs/plugins/inspect/plugin-autoconvert.xml
docs/plugins/inspect/plugin-bayer.xml
docs/plugins/inspect/plugin-camerabin2.xml
docs/plugins/inspect/plugin-dataurisrc.xml
docs/plugins/inspect/plugin-debugutilsbad.xml
docs/plugins/inspect/plugin-dtmf.xml
docs/plugins/inspect/plugin-dtsdec.xml
docs/plugins/inspect/plugin-dvbsuboverlay.xml
docs/plugins/inspect/plugin-dvdspu.xml
docs/plugins/inspect/plugin-faac.xml
docs/plugins/inspect/plugin-faad.xml
docs/plugins/inspect/plugin-gsm.xml
docs/plugins/inspect/plugin-mms.xml
docs/plugins/inspect/plugin-modplug.xml
docs/plugins/inspect/plugin-mpeg2enc.xml
docs/plugins/inspect/plugin-mpegdemux2.xml
docs/plugins/inspect/plugin-mpegtsdemux.xml
docs/plugins/inspect/plugin-mplex.xml
docs/plugins/inspect/plugin-pcapparse.xml
docs/plugins/inspect/plugin-rtpmux.xml
docs/plugins/inspect/plugin-rtpvp8.xml
docs/plugins/inspect/plugin-sdp.xml
docs/plugins/inspect/plugin-videoparsersbad.xml
docs/plugins/inspect/plugin-vp8.xml
docs/plugins/inspect/plugin-y4mdec.xml
ext/cog/gstcogorc-dist.c
ext/cog/gstcogorc-dist.h
gst-plugins-bad.doap
gst/fieldanalysis/gstfieldanalysisorc-dist.c
gst/fieldanalysis/gstfieldanalysisorc-dist.h
po/af.po
po/az.po
po/bg.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en_GB.po
po/eo.po
po/es.po
po/eu.po
po/fi.po
po/fr.po
po/gl.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/ky.po
po/lt.po
po/lv.po
po/mt.po
po/nb.po
po/nl.po
po/or.po
po/pl.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sl.po
po/sq.po
po/sr.po
po/sv.po
po/tr.po
po/uk.po
po/vi.po
po/zh_CN.po
win32/common/config.h

index e5cca4e..3ddef2a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+=== release 0.11.1 ===
+
+2012-02-17  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+         releasing 0.11.1, "Forest of October"
+
+2012-02-17 09:01:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2012-02-16 16:30:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+         wrappercamerabinsrc: Put source to null when resetting caps
+         It seems that v4l2src isn't happy when switching formats on ready
+         state, it works when putting it to NULL. Keep this workaround in
+         wrappercamerabinsrc while v4l2src isn't fixed.
+         Fixes #849832
+
+2012-02-16 14:33:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         gst/mpegtsdemux/mpegtsbase.c
+         gst/mpegtsdemux/mpegtspacketizer.c
+         gst/mpegtsdemux/tsdemux.c
+         gst/mve/gstmvedemux.c
+
+2012-02-16 01:12:58 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+         wrappercamerabinsrc: Put source in NULL when it fails changing state
+         When source is being reset to change caps, check the return of
+         the state syncing function to avoid leaving the source in an
+         unconsistent state.
+
+2012-02-16 00:30:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/mve/gstmvedemux.c:
+         mve: don't return a boolean for a GstFlowReturn
+         fixes playback.
+
+2012-02-15 10:32:17 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Avoid throwing FLOW_ERROR on last PCR processing error
+         In the case of scanning last pcr, errors are not critical, so we keep
+         the stream flowing.
+
+2012-02-14 11:44:48 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/mpegtsdemux/gstmpegdefs.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Add AAC latm support
+
+2012-02-15 11:06:57 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Minor refactoring/code cleaning
+         ... add some debugging symbols in the mean time.
+
+2012-02-15 16:38:32 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: remove _chain hack
+         As we can now rely upon being passed upstream delineated data in
+         ::handle_frame(), the latter can also parse avc formatted data
+         without having to intercept baseparse's chain function.
+         While this evidently requires 2 separate parsing paths, each can
+         be streamlined accordingly.
+
+2012-02-15 11:59:37 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.c:
+         videoparsers: adjust to standardized baseparse frame state tracking
+
+2012-02-15 17:14:34 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2012-02-15 15:07:35 +0100  Jonas Larsson <jonas@hallerud.se>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: fix SEI parsing
+         ... in the presence of emulation_prevention_three_byte.
+         Fixes #668381.
+
+2012-02-15 14:29:23 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: use proper NALU offset for config data insertion
+         ... which has to be the position of the start code, which is almost always
+         but need not be 4 bytes.
+
+2012-02-15 13:39:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/videoparsers/gsth263parse.c:
+         h263parse: fix compilation
+
+2012-02-15 13:02:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+         videoparsers: don't leak event
+         Unref the event when we don't chain up to the parent
+
+2012-02-15 12:56:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/videoparsers/dirac_parse.c:
+       * gst/videoparsers/gstdiracparse.c:
+       * gst/videoparsers/gsth263parse.c:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+         videoparsers: chain up to parent event handler
+         Chain up to the parent event handler to get the default behaviour instead of
+         returning FALSE.
+
+2012-02-14 11:19:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-08-27 20:58:48 +0300  Raimo Järvi <raimo.jarvi@gmail.com>
+
+       * sys/directdraw/gstdirectdrawsink.c:
+         directdrawsink: Fix warnings on 64 bit mingw-w64
+         gstdirectdrawsink.c:1561:24: error: assignment from incompatible pointer type
+         gstdirectdrawsink.c:2028:3: error: format '%d' expects type 'int', but argument 8 has type 'size_t'
+         https://bugzilla.gnome.org/show_bug.cgi?id=657522
+
+2012-02-13 18:44:01 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gstdiracparse.c:
+       * gst/videoparsers/gsth263parse.c:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.c:
+         videoparsers: adjust to modified baseparse API
+
+2012-02-13 11:16:20 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/pcapparse/gstirtspparse.c:
+         pcapparse: adjust to modified baseparse API
+
+2012-02-13 12:26:11 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fixup merge
+
+2012-02-13 14:22:42 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * tests/check/elements/h264parse.c:
+         tests: h264parse: _unmap buffer upon exit
+
+2012-02-13 23:04:12 +1100  Jan Schmidt <thaytan@noraisin.net>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+         mpegtsmux: Trivial bug fix. Don't copy data from an uninited buffer.
+
+2012-02-12 22:59:52 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
+
+       * configure.ac:
+       * docs/plugins/Makefile.am:
+       * gst/multifdsink/.gitignore:
+       * gst/multifdsink/Makefile.am:
+       * gst/multifdsink/gstmultifdsink-marshal.list:
+       * gst/multifdsink/gstmultifdsink.c:
+       * gst/multifdsink/gstmultifdsink.h:
+         multifdsink: refactored in -base
+
+2012-02-10 16:52:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: report after merge
+
+2012-02-10 16:46:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         ext/chromaprint/gstchromaprint.c
+         ext/mpeg2enc/Makefile.am
+         ext/voaacenc/gstvoaacenc.c
+         gst/dvbsuboverlay/gstdvbsuboverlay.c
+         gst/mpegtsdemux/mpegtsbase.c
+         gst/sdp/gstsdpdemux.c
+         gst/videoparsers/gsth264parse.c
+         sys/d3dvideosink/d3dvideosink.c
+         tests/examples/camerabin/gst-camera-perf.c
+         tests/examples/camerabin/gst-camerabin-test.c
+         tests/examples/camerabin2/gst-camerabin2-test.c
+         tests/examples/mxf/mxfdemux-structure.c
+         tests/examples/scaletempo/demo-main.c
+
+2012-02-10 14:46:00 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: unobfuscate frame parsing code
+
+2012-02-08 21:21:47 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * sys/shm/gstshmsink.c:
+         shmsink: fix indefinite wait after adding a new fd to the poll set
+         If the second call to _wait blocks, we will not signal the condition
+         variable, so ensure that second call is not blocking.
+         See rationale and information in the linked bug:
+         https://bugzilla.gnome.org/show_bug.cgi?id=669697
+
+2012-02-09 18:08:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * ext/modplug/gstmodplug.cc:
+         modplug: port to 0.11
+
+2012-02-09 14:42:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fix refcount error
+
+2012-02-09 00:09:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsink.c:
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmp: don't use gst_element_class_install_std_props()
+         It's about to be removed.
+
+2012-02-08 20:09:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/inspect/plugin-h264parse.xml:
+       * gst/h264parse/Makefile.am:
+       * gst/h264parse/gsth264parse.c:
+       * gst/h264parse/gsth264parse.h:
+         Remove legacyh264parse element
+         One h264 parser ought to be enough for anybody.
+         https://bugzilla.gnome.org/show_bug.cgi?id=648002
+
+2012-02-08 16:37:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/assrender/gstassrender.c:
+       * ext/bz2/gstbz2dec.c:
+       * ext/bz2/gstbz2enc.c:
+       * ext/cog/gstcogmse.c:
+       * ext/kate/gstkatetiger.c:
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+       * ext/mplex/gstmplex.cc:
+       * ext/resindvd/resindvdsrc.c:
+       * ext/teletextdec/gstteletextdec.c:
+       * gst/audiobuffer/gstaudioringbuffer.c:
+       * gst/camerabin/gstinputselector.c:
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfsrc.c:
+       * gst/freeze/gstfreeze.c:
+       * gst/liveadder/liveadder.c:
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/multifdsink/gstmultifdsink.c:
+       * gst/mxf/mxfdemux.c:
+       * gst/nuvdemux/gstnuvdemux.c:
+       * gst/tta/gstttaparse.c:
+       * sys/applemedia/avfvideosrc.m:
+       * sys/applemedia/celvideosrc.c:
+       * sys/applemedia/miovideosrc.c:
+       * sys/applemedia/qtkitvideosrc.m:
+       * sys/avc/gstavcsrc.cpp:
+       * sys/d3dvideosink/d3dvideosink.c:
+       * sys/decklink/gstdecklinksink.cpp:
+       * sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+       * sys/dshowdecwrapper/gstdshowvideodec.cpp:
+       * sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+       * sys/dshowvideosink/dshowvideosink.cpp:
+       * sys/linsys/gstlinsyssdisrc.c:
+       * sys/shm/gstshmsink.c:
+       * sys/shm/gstshmsrc.c:
+       * sys/winks/gstksvideodevice.c:
+         GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
+
+2012-02-07 17:00:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/assrender.c:
+       * tests/check/elements/faac.c:
+       * tests/check/elements/faad.c:
+       * tests/check/elements/h264parse.c:
+       * tests/check/elements/id3mux.c:
+       * tests/check/elements/jifmux.c:
+       * tests/check/elements/jpegparse.c:
+       * tests/check/elements/mpeg2enc.c:
+       * tests/check/elements/mpeg4videoparse.c:
+       * tests/check/elements/mpegtsmux.c:
+       * tests/check/elements/mpegvideoparse.c:
+       * tests/check/elements/multifdsink.c:
+       * tests/check/elements/mxfdemux.c:
+       * tests/check/elements/vp8dec.c:
+       * tests/check/elements/vp8enc.c:
+       * tests/check/elements/zbar.c:
+         tests: fix more unit tests
+
+2011-08-22 16:31:38 +0200  Carsten Kroll <car@ximidi.com>
+
+       * sys/d3dvideosink/d3dvideosink.c:
+       * sys/d3dvideosink/d3dvideosink.h:
+         d3dvideosink: create a d3d device for each sink and use the default swap chain in connection with flushing the GPU and not recreating the swap chain this avoids tearing also use GST_xx_DEBUG macros where appropriate
+
+2011-08-22 14:46:48 +0200  Carsten Kroll <car@ximidi.com>
+
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: flush GPU before Present added alternate wait for vsync method based on GetRasterStatus
+
+2011-08-22 14:30:43 +0200  Carsten Kroll <car@ximidi.com>
+
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: check for hardware capabilities, when negotiating
+
+2011-08-22 14:19:06 +0200  Carsten Kroll <car@ximidi.com>
+
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: redraw last buffer when new window handle has been set.
+
+2011-08-22 14:13:30 +0200  Carsten Kroll <car@ximidi.com>
+
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: added NV12 + enabled RGB support
+
+2011-08-27 13:07:00 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * sys/d3dvideosink/d3dvideosink.c:
+         d3dvideosink: Fix device initialization check
+
+2012-02-07 12:14:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/camerabin.c:
+       * tests/check/elements/legacyresample.c:
+         tests: fix more tests
+
+2012-02-07 12:02:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/assrender.c:
+       * tests/check/elements/baseaudiovisualizer.c:
+       * tests/check/elements/faac.c:
+       * tests/check/elements/mpeg2enc.c:
+       * tests/check/elements/mplex.c:
+         tests: fix some tests
+
+2012-02-07 12:02:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.h:
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstspectrascope.c:
+       * gst/audiovisualizers/gstsynaescope.c:
+       * gst/audiovisualizers/gstwavescope.c:
+         audiovis: port to 0.11 some more
+
+2012-02-02 13:33:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin/gstcamerabin.c:
+       * gst/camerabin/gstcamerabin.h:
+         camerabin: prevent captures from being lost when switching resolutions
+         When switching capture caps, camerabin1 resets its state to ready
+         to force a new caps to be negotiated. This causes ongoing captures
+         to be aborted.
+         This commit adds a condition to wait for captures to finish before
+         going to ready state.
+
+2012-02-02 12:22:06 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin/gstcamerabin.c:
+         camerabin: Improve debug message about processing counter
+         Mention on the logs how many capture operations might have been
+         lost
+
+2012-02-04 22:06:57 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/geometrictransform/gstrotate.c:
+         rotate: angle is in radians already, do not scale it
+         Other plugins use radians, and the angle documentation says radians.
+         https://bugzilla.gnome.org/show_bug.cgi?id=669365
+
+2012-02-04 22:06:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/geometrictransform/gstrotate.c:
+         rotate: fix description string to match what the element does
+         https://bugzilla.gnome.org/show_bug.cgi?id=669365
+
+2012-02-03 11:08:48 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegtsdemux: do not emit no-more-pads
+         Doing so may fix some things, but breaks others (new streams being
+         added in the future).
+         https://bugzilla.gnome.org/show_bug.cgi?id=665814
+
+2012-02-03 11:26:53 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: decrease passthrough negotiation preference
+         Also ensure parsing fixed caps when negotiating rather than failing to
+         handle non-fixed list cases.
+         See #668471.
+
+2012-02-03 00:50:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/cog/Makefile.am:
+       * ext/curl/Makefile.am:
+       * ext/gsettings/Makefile.am:
+       * ext/kate/Makefile.am:
+       * ext/mpeg2enc/Makefile.am:
+       * ext/mplex/Makefile.am:
+       * ext/opus/Makefile.am:
+       * ext/sdl/Makefile.am:
+       * gst/hls/Makefile.am:
+       * gst/inter/Makefile.am:
+       * gst/liveadder/Makefile.am:
+       * gst/mve/Makefile.am:
+       * sys/decklink/Makefile.am:
+       * sys/shm/Makefile.am:
+       * tests/examples/scaletempo/Makefile.am:
+         build: fix CFLAGS order and LIBS order
+         _BAD_CFLAGS should always come first, then GST_PLUGINS_BASE_CFLAGS,
+         then GST_BASE_CFLAGS then GST_CFLAGS. Same for libs: first plugins
+         base libs, then GST_BASE_LIB then GST_LIBS.
+
+2012-02-02 23:21:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * configure.ac:
+       * gst/debugutils/Makefile.am:
+       * gst/debugutils/fpsdisplaysink.c:
+       * gst/debugutils/gstchecksumsink.c:
+       * gst/debugutils/gstchopmydata.c:
+       * gst/debugutils/gstcompare.c:
+       * gst/debugutils/gstdebugspy.c:
+         debugutils: port to 0.11
+
+2012-02-02 11:41:15 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegpsmux/mpegpsmux.c:
+         mpegpsmux: include specific AAC stream-format in template caps
+         This elements seems to support raw and adts AAC.
+         https://bugzilla.gnome.org/show_bug.cgi?id=665394
+
+2012-02-02 11:37:55 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: add explicit supported AAC stream-format in template caps
+         https://bugzilla.gnome.org/show_bug.cgi?id=665394
+
+2012-02-02 11:31:32 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+         faad: include specific support AAC stream formats in template caps
+         https://bugzilla.gnome.org/show_bug.cgi?id=665394
+
+2012-02-02 11:27:33 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+         mpegtsmux: specify in template caps we only take raw/adts AAC format
+         This appears to be what this element supports.
+         https://bugzilla.gnome.org/show_bug.cgi?id=665394
+
+2012-02-02 11:20:38 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegdemux: include specific AAC stream-format types in template caps
+         https://bugzilla.gnome.org/show_bug.cgi?id=665394
+
+2012-02-02 10:59:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/kate/gstkateenc.c:
+       * ext/kate/gstkateparse.c:
+       * ext/kate/gstkatetiger.c:
+       * ext/kate/gstkateutil.c:
+       * ext/kate/gstkateutil.h:
+         kate: better error/debug reporting
+         Include text messages instead of error codes.
+
+2012-02-01 19:38:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/chromaprint/gstchromaprint.c:
+         chromaprint: fix parent structure in boilerplate macro
+
+2012-02-01 17:53:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/mpegtsdemux/Makefile.am:
+       * gst/multifdsink/Makefile.am:
+       * tests/examples/opencv/gst_element_print_properties.c:
+       * tests/examples/scaletempo/Makefile.am:
+         build: ignore GValueArray deprecation warnings for the time being
+         until this gets sorted out with the GLib folks and we have a
+         viable alternative.
+         https://bugzilla.gnome.org/show_bug.cgi?id=667228
+
+2012-02-01 17:46:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/chromaprint/gstchromaprint.c:
+         chromaprint: port to 0.11
+
+2012-02-01 17:06:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/adpcmdec/adpcmdec.c:
+         adpcmdec: fix up for GstAudioDecoder API change
+
+2012-02-01 16:27:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+         amrwbenc: Use new audio encoder/decoder base class API for srcpad caps
+
+2012-02-01 16:26:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: Use new audio encoder/decoder base class API for srcpad caps
+
+2012-02-01 16:26:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: Use new audio encoder/decoder base class API for srcpad caps
+
+2012-02-01 16:26:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+         faad: Use new audio encoder/decoder base class API for srcpad caps
+
+2012-02-01 16:25:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/dts/gstdtsdec.c:
+         dts: Use new audio encoder/decoder base class API for srcpad caps
+
+2012-02-01 16:23:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/gsm/gstgsmdec.c:
+       * ext/gsm/gstgsmenc.c:
+         gsm: Use new audio encoder/decoder base class API for srcpad caps
+
+2012-02-01 12:47:56 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: disable optimized packetized processing for reverse playback
+         ... as baseparse then provides whole chunks of data (as it should) at once
+         to be parsed, and so the assumptions used to optimize are no longer valid.
+         Fixes #667560.
+
+2012-02-01 12:23:23 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: also mind SEI position for config data insertion
+         Fixes #668627.
+
+2012-02-01 12:03:04 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: unbreak optimized packetized NALU collection processing
+         ... in that it was so optimized it did not consider grouping NALU into AU
+         altogether.
+         Fixes #668627.
+
+2011-12-14 19:27:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/kate/gstkatetiger.c:
+         tiger: use the new premultiplied support in gstvideo
+
+2012-01-30 18:46:07 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/resindvd/resindvdsrc.c:
+         resindvd: fix wedge in preroll when playbin2 deinterlacing is enabled
+         When deinterlacing is enabled, an extra colorspace element is added.
+         Colorspace is a basetransform, and is then the only basetransform
+         element on the video path. A while ago, basetransform started delaying
+         events till caps were set on its source pad. These things conspired
+         to end up sending the DVD highlight events onto a blocked pad on
+         subtitleoverlay.
+         Ensuring these highlight events are only sent once we're in playing
+         mode fixes the issue.
+         https://bugzilla.gnome.org/show_bug.cgi?id=668762
+
+2012-02-01 02:13:48 +0100  Robert Swain <robert.swain@gmail.com>
+
+       * ext/schroedinger/gstschrodec.c:
+       * ext/schroedinger/gstschroenc.c:
+       * ext/schroedinger/gstschroutils.c:
+       * ext/schroedinger/gstschroutils.h:
+         schro: Fix compilation with 1.0.10
+
+2011-12-26 21:57:48 -0600  Rob Clark <rob@ti.com>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+         videoparsers: set interlaced field in caps for mpeg2
+         https://bugzilla.gnome.org/show_bug.cgi?id=667218
+
+2012-01-31 12:29:13 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * tests/icles/pitch-test.c:
+         controller: adapt to control-source type changes
+
+2012-01-31 08:44:04 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+         mpegtsmux: update after collectpads2 changes
+
+2012-01-30 22:41:05 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * tests/icles/pitch-test.c:
+         controller: rename control-bindings
+         gst_control_binding_xxx -> gst_xxx_control_binding for consistency.
+
+2012-01-30 17:17:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+       * gst/multifdsink/gstmultifdsink.c:
+         update for HEADER flag
+
+2012-01-25 13:57:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: fix parsing of VUI parameters.
+         max_dec_frame_buffering was mis-parsed because log2_max_mv_length_vertical
+         was parsed twice.
+         https://bugzilla.gnome.org/show_bug.cgi?id=668660
+
+2012-01-29 18:01:05 +0000  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmux/gstrtpmux.c:
+         rtpmux: Unref non-forwarded events
+         Also, don't unref forwarded ones
+
+2012-01-28 20:01:35 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+         voamrwbenc: init debug category
+
+2012-01-28 20:01:19 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: init debug category
+
+2012-01-28 16:57:03 +0000  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmux/gstrtpmux.c:
+         rtpmux: resync iterator on resync
+
+2012-01-28 12:32:46 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/kate/gstkateenc.c:
+         kateenc: remove 'flush every packet' hack
+         This is a bad hack which does not work with Matroska, and is now
+         obsolete as similar code is not included in oggmux/oggstream.
+
+2012-01-27 12:08:52 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmux/gstrtpmux.c:
+       * gst/rtpmux/gstrtpmux.h:
+         rtpmux: Re-push sticky events on input pad change
+
+2012-01-27 12:07:43 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/dtmf/gstdtmfdetect.c:
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfdepay.c:
+         dtmf: Use new-style caps
+
+2012-01-27 17:00:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         configure.ac: Add mpegdemux to the list of ported plugins
+
+2012-01-27 16:56:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegdemux: Don't leak the SCHEDULING query
+
+2012-01-26 07:13:06 -0500  Matej Knopp <matej.knopp@gmail.com>
+
+       * gst/mpegdemux/Makefile.am:
+       * gst/mpegdemux/flumpegdemux.c:
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/mpegdemux/gstpesfilter.c:
+         Port mpegdemux to 0.11
+
+2012-01-27 14:49:58 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/cog/Makefile.am:
+       * ext/cog/gstcogmse.c:
+       * ext/curl/Makefile.am:
+       * ext/curl/gstcurlsink.c:
+       * ext/gsettings/Makefile.am:
+       * ext/gsettings/gstgsettingsaudiosink.c:
+       * ext/gsettings/gstgsettingsaudiosrc.c:
+       * ext/gsettings/gstgsettingsvideosink.c:
+       * ext/gsettings/gstgsettingsvideosrc.c:
+       * ext/kate/Makefile.am:
+       * ext/kate/gstkatetiger.c:
+       * ext/modplug/gstmodplug.cc:
+       * ext/mpeg2enc/Makefile.am:
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+       * ext/mplex/Makefile.am:
+       * ext/mplex/gstmplex.cc:
+       * ext/opus/Makefile.am:
+       * ext/opus/gstopusenc.c:
+       * ext/resindvd/resindvdbin.c:
+       * ext/resindvd/resindvdsrc.c:
+       * ext/resindvd/rsnparsetter.c:
+       * ext/sdl/Makefile.am:
+       * ext/sdl/sdlaudiosink.c:
+       * ext/sdl/sdlvideosink.c:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+       * gst-libs/gst/glib-compat-private.h:
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst/aiff/aiffparse.c:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/camerabin/gstcamerabin.c:
+       * gst/camerabin/gstinputselector.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+       * gst/cdxaparse/gstcdxaparse.c:
+       * gst/coloreffects/gstchromahold.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvdspu/gstdvdspu.c:
+       * gst/hls/Makefile.am:
+       * gst/hls/gsthlsdemux.c:
+       * gst/hls/m3u8.c:
+       * gst/inter/Makefile.am:
+       * gst/inter/gstintersurface.c:
+       * gst/inter/gstintertest.c:
+       * gst/liveadder/Makefile.am:
+       * gst/liveadder/liveadder.c:
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mve/Makefile.am:
+       * gst/mve/gstmvemux.c:
+       * gst/mxf/mxfdemux.c:
+       * gst/rawparse/gstrawparse.c:
+       * gst/sdp/gstsdpdemux.c:
+       * gst/tta/gstttaparse.c:
+       * sys/decklink/Makefile.am:
+       * sys/decklink/capture.cpp:
+       * sys/decklink/gstdecklinksink.cpp:
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/dvb/gstdvbsrc.c:
+       * sys/shm/Makefile.am:
+       * sys/shm/gstshmsink.c:
+       * tests/examples/camerabin/gst-camera-perf.c:
+       * tests/examples/camerabin/gst-camerabin-test.c:
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+       * tests/examples/mxf/mxfdemux-structure.c:
+       * tests/examples/scaletempo/Makefile.am:
+       * tests/examples/scaletempo/demo-gui.c:
+       * tests/examples/scaletempo/demo-main.c:
+         plenty: fixup glib deprecations
+
+2012-01-27 07:36:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin/gstcamerabin.c:
+         camerabin: Add viewfinder colorspace conversion to default flags
+         This make the default settings more likely to work. If needed, one
+         can optimize by disabling conversions with the flags.
+
+2012-01-23 08:04:20 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Removing solved TODO and fixing a typo
+
+2012-01-26 23:28:28 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * configure.ac:
+       * gst/adpcmdec/adpcmdec.c:
+         adpcmdec: port to 0.11
+
+2012-01-26 23:28:20 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * configure.ac:
+       * gst/adpcmdec/adpcmdec.c:
+       * gst/adpcmenc/adpcmenc.c:
+         adpcmenc: port to 0.11
+
+2012-01-26 23:28:07 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * configure.ac:
+       * ext/gsm/gstgsmdec.c:
+       * ext/gsm/gstgsmenc.c:
+         gsm: port to 0.11
+
+2012-01-26 15:03:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         configure.ac: Add the DVB plugin to the non-ported plugins
+         It needs the MPEG TS parser and currently crashes during instantiation
+         because it can't create the MPEG TS parser.
+
+2012-01-25 18:25:01 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * configure.ac:
+       * ext/mpeg2enc/Makefile.am:
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+       * ext/mpeg2enc/gstmpeg2enc.hh:
+       * ext/mpeg2enc/gstmpeg2encpicturereader.cc:
+       * ext/mpeg2enc/gstmpeg2encstreamwriter.cc:
+         mpeg2enc: port to 0.11
+
+2012-01-25 18:49:58 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/assrender/gstassrender.c:
+       * ext/dts/gstdtsdec.c:
+       * ext/faac/gstfaac.c:
+       * ext/faad/gstfaad.c:
+       * ext/flite/gstflitetestsrc.c:
+       * ext/gme/gstgme.c:
+       * ext/mplex/gstmplexoutputstream.cc:
+       * ext/rtmp/gstrtmpsink.c:
+       * ext/rtmp/gstrtmpsrc.c:
+       * ext/voaacenc/gstvoaacenc.c:
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+       * ext/vp8/gstvp8dec.c:
+       * ext/vp8/gstvp8enc.c:
+       * sys/dvb/gstdvbsrc.c:
+       * tests/check/elements/parser.c:
+       * tests/examples/camerabin/gst-camera.c:
+       * tests/examples/camerabin/gst-camerabin-test.c:
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+       * tests/examples/mxf/mxfdemux-structure.c:
+         port some more to new memory API
+         Fixes #668677.
+
+2012-01-25 16:37:22 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+       * configure.ac:
+       * gst/autoconvert/gstautoconvert.c:
+       * gst/autoconvert/gstautoconvert.h:
+       * gst/autoconvert/gstautovideoconvert.c:
+       * tests/check/elements/autovideoconvert.c:
+         autoconvert: port to 0.11
+
+2012-01-25 16:57:52 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/bayer/gstrgb2bayer.c:
+         bayer: Intersect transformed caps with filter
+
+2012-01-25 15:43:01 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpmux/gstrtpmux.c:
+         rtpmux: Don't leak gvalue from iterator
+
+2012-01-25 16:46:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpmux.c:
+         more porting
+
+2012-01-25 16:20:41 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/multifdsink/gstmultifdsink.c:
+       * gst/pcapparse/gstirtspparse.c:
+       * gst/pcapparse/gstpcapparse.c:
+       * gst/rtpvp8/gstrtpvp8pay.c:
+       * gst/videoparsers/gstdiracparse.c:
+       * gst/videoparsers/gsth263parse.c:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videoparsers/h263parse.c:
+         port some more to new memory API
+
+2012-01-25 14:50:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.c:
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.h:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstspectrascope.c:
+       * gst/audiovisualizers/gstsynaescope.c:
+       * gst/audiovisualizers/gstwavescope.c:
+       * gst/bayer/gstbayer2rgb.c:
+       * gst/bayer/gstrgb2bayer.c:
+       * gst/dtmf/gstdtmfdetect.c:
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfdepay.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvdspu/gstdvdspu.c:
+       * gst/dvdspu/gstspu-pgs.c:
+       * gst/dvdspu/gstspu-vobsub.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/mpegtspacketizer.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         port to new memory API
+
+2012-01-25 13:58:19 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
+
+       * common:
+         Automatic update of common submodule
+         From c463bc0 to 7fda524
+
+2012-01-25 13:22:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         configure.ac
+         ext/kate/gstkateenc.c
+         gst/colorspace/colorspace.c
+         gst/mpegvideoparse/mpegvideoparse.c
+
+2012-01-18 12:04:52 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegpsdemux: limit the amount of scanning done on duration queries
+         Limit the amount of data scanned when looking for PTSes in duration queries as a
+         failsafe for kinda broken, potentially large files with sparse or no PTSes.
+
+2012-01-18 11:28:26 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegpsdemux: don't scan for the last PTS if the first wasn't found
+
+2012-01-25 11:21:50 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+       * configure.ac:
+       * gst/dtmf/gstdtmfdetect.c:
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfdepay.c:
+       * gst/dtmf/gstrtpdtmfdepay.h:
+       * gst/dtmf/gstrtpdtmfsrc.c:
+         dtmf: port to 0.11
+
+2012-01-25 10:45:51 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+       * configure.ac:
+       * gst/rtpvp8/Makefile.am:
+       * gst/rtpvp8/gstrtpvp8depay.c:
+       * gst/rtpvp8/gstrtpvp8depay.h:
+       * gst/rtpvp8/gstrtpvp8pay.c:
+       * gst/rtpvp8/gstrtpvp8pay.h:
+         rtpvp8: port to 0.11
+
+2012-01-24 22:14:39 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+       * Android.mk:
+       * configure.ac:
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+       * docs/plugins/inspect/plugin-videomaxrate.xml:
+       * gst-plugins-bad.spec.in:
+       * gst/videomaxrate/Makefile.am:
+       * gst/videomaxrate/videomaxrate.c:
+       * gst/videomaxrate/videomaxrate.h:
+         videomaxrate: Remove, videorate includes the same functionality now
+
+2012-01-24 14:20:52 +0100  Olivier Crête <olivier.crete@collabora.com>
+
+       * configure.ac:
+       * gst/rtpmux/Makefile.am:
+       * gst/rtpmux/gstrtpdtmfmux.c:
+       * gst/rtpmux/gstrtpmux.c:
+       * gst/rtpmux/gstrtpmux.h:
+       * tests/check/elements/rtpmux.c:
+         rtpmux: port to 0.11
+
+2012-01-25 11:38:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * common:
+         Automatic update of common submodule
+         From 2a59016 to c463bc0
+
+2012-01-24 11:56:34 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/flite/gstflitetestsrc.c:
+         flite: make constant static arrays actually static
+
+2012-01-24 11:53:26 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/flite/gstflitetestsrc.c:
+         flite: fix uninitialized return value
+
+2012-01-24 11:22:46 +0100  Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: trace outgoing timestamps
+         add info level prints for outgoing timestamps.
+         Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
+
+2012-01-23 22:20:40 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/resindvd/rsndec.c:
+         resindvd: fix caps refcount error
+         /me bad monkey.
+
+2012-01-23 18:30:19 +0000  Jonas Larsson <jonas@hallerud.se>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parse: fix gst_h264_parse_clock_timestamp always failing
+
+2012-01-23 18:01:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * REQUIREMENTS:
+         REQUIREMENTS: we need librtmp for rtmp support
+         https://bugzilla.gnome.org/show_bug.cgi?id=668521
+
+2012-01-23 18:51:34 +0100  Jonas Larsson <jonas@hallerud.se>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: read the cbr_flag in h264_parse_hrd_parameters
+
+2012-01-23 17:47:45 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegtsdemux: fix frequent deadlock demuxing MPEG TS
+         A previous patch to add streams early to fix playback of
+         low bitrate streams causes frequent deadlock of a nature
+         I'm at loss how to fix.
+         I'm not certain whether it's a bug in decodebin2, or in
+         that mpegtsdemux patch.
+         Since it causes a major regression, let it be disabled for now.
+
+2012-01-23 14:10:43 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsdemux: break out when stream identified
+
+2012-01-23 14:06:54 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsdemux: avoid NULL manipulation if invalid input
+
+2012-01-23 14:05:45 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpegdemux/mpegtsparse.c:
+         mpegdemux: avoid NULL manipulation if invalid input
+
+2012-01-23 14:01:02 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegdemux: avoid some unlikely leaks
+
+2012-01-23 13:58:57 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpegvideoparse/mpegvideoparse.c:
+         mpegvideoparse: prevent some fall-through cases
+
+2012-01-23 13:58:04 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mve/gstmvemux.c:
+         mve: use signed loop variable
+         ... when using it in i >= 0.
+
+2012-01-23 13:57:32 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mve/mvevideoenc16.c:
+         mve: ensure best target found
+
+2012-01-23 13:56:02 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/festival/gstfestival.c:
+         festival: enhance some error case handling
+
+2012-01-23 13:55:33 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/nuvdemux/gstnuvdemux.c:
+         nuvdemux: check directly for valid buffer
+         ... rather than doing so indirectly in (incomplete) semantic way.
+
+2012-01-23 13:54:32 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: fix parameter sanity check
+
+2012-01-23 11:54:08 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>
+
+       * gst-plugins-bad.spec.in:
+         Update spec file to work
+
+2012-01-20 15:34:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/resindvd/resindvdbin.c:
+       * ext/resindvd/rsndec.c:
+         resindvd: fix preroll on titles with no audio track
+         https://bugzilla.gnome.org/show_bug.cgi?id=599469
+
+2012-01-20 12:25:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/resindvd/resindvdsrc.c:
+         rsndvdsrc: fix leak
+
+2012-01-20 12:15:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/resindvd/resindvdbin.c:
+         resindvdbin: fix video/audio mixup in error message
+
+2012-01-20 10:42:21 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/resindvd/rsnaudiomunge.c:
+         rsnaudiomunge: keep the object ref longer
+         Since we do not get a ref to the pad, I'm not certain it's safe
+         to drop the object and use the pad later, so hold the object ref
+         till we're done with the pad.
+
+2012-01-21 20:08:36 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * tests/icles/pitch-test.c:
+         controller: move from control-binding to control-binding-direct
+
+2012-01-22 16:59:37 -0800  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+       * gst/colorspace/colorspace.c:
+       * gst/colorspace/gstcolorspaceorc.orc:
+         Revert "!colorspace: fix odd size problems"
+         This reverts commit e2e6fdcb6b265db201f191952aeed429e85e834e.
+         Untested commit was accidentally pushed.
+
+2012-01-22 16:58:59 -0800  David Schleef <ds@schleef.org>
+
+       * gst/colorspace/colorspace.c:
+         Revert "colorspace: Fix out-of-bound errors for v210"
+         This reverts commit 3b8b87cb6c217b9f0b52cfa3079c4a36afd1c424.
+         Untested commit was accidentally pushed.
+
+2012-01-22 16:55:46 -0800  David Schleef <ds@schleef.org>
+
+       * gst/inter/gstintersubsink.c:
+       * gst/inter/gstintervideosink.c:
+         inter: Fix compilation
+         Fix up previously botched rebase.
+
+2012-01-09 21:59:57 -0800  David Schleef <ds@schleef.org>
+
+       * gst/colorspace/colorspace.c:
+         colorspace: Fix out-of-bound errors for v210
+
+2011-12-31 17:14:24 -0800  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+       * gst/colorspace/colorspace.c:
+       * gst/colorspace/gstcolorspaceorc.orc:
+         !colorspace: fix odd size problems
+
+2012-01-22 15:49:12 -0800  David Schleef <ds@schleef.org>
+
+       * gst/inter/gstinter.c:
+       * gst/inter/gstinteraudiosink.c:
+       * gst/inter/gstinteraudiosrc.c:
+       * gst/inter/gstintersurface.c:
+       * gst/inter/gstintersurface.h:
+       * gst/inter/gstintervideosink.c:
+       * gst/inter/gstintervideosink.h:
+       * gst/inter/gstintervideosrc.c:
+       * gst/inter/gstintervideosrc.h:
+         inter: Add channel property
+
+2012-01-22 15:48:28 -0800  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+       * ext/schroedinger/gstschrodec.c:
+       * ext/schroedinger/gstschroenc.c:
+       * ext/schroedinger/gstschroutils.c:
+       * ext/schroedinger/gstschroutils.h:
+         schro: Handle 10 and 16-bit formats
+
+2011-12-31 17:13:02 -0800  David Schleef <ds@schleef.org>
+
+       * sys/avc/Makefile.am:
+         avc: fix broken line continuation
+
+2011-08-18 19:49:08 -0700  David Schleef <ds@schleef.org>
+
+       * gst/colorspace/colorspace.c:
+         colorspace: Add jpeg color-matrix conversion
+
+2011-08-09 09:19:10 -0700  David Schleef <ds@schleef.org>
+
+       * gst/inter/Makefile.am:
+       * gst/inter/gstinter.c:
+       * gst/inter/gstintersubsink.c:
+       * gst/inter/gstintersubsink.h:
+       * gst/inter/gstintersubsrc.c:
+       * gst/inter/gstintersubsrc.h:
+       * gst/inter/gstintersurface.h:
+         inter: Add subtitle inter elements
+
+2011-08-04 13:05:22 -0700  David Schleef <ds@schleef.org>
+
+       * ext/kate/gstkateenc.c:
+         kateenc: Don't error on empty input buffers
+
+2012-01-22 19:27:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/inspect/plugin-mpegvideoparse.xml:
+       * gst-plugins-bad.spec.in:
+       * gst/mpegvideoparse/Makefile.am:
+       * gst/mpegvideoparse/mpegpacketiser.c:
+       * gst/mpegvideoparse/mpegpacketiser.h:
+       * gst/mpegvideoparse/mpegvideoparse.c:
+       * gst/mpegvideoparse/mpegvideoparse.h:
+       * gst/mpegvideoparse/mpegvideoparse.vcproj:
+         Remove legacy mpegvideoparse plugin
+         There's a new one in the videoparsers plugin.
+
+2012-01-22 19:13:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/multifdsink/.gitignore:
+         multifdsink: make git ignore generated files
+
+2012-01-22 19:11:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/videoparsers/gsth263parse.c:
+         h263parse: make level and profile fields in caps strings
+         For consistency with other caps.
+         https://bugzilla.gnome.org/show_bug.cgi?id=658438
+
+2012-01-18 16:35:16 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         codecparsers: h264: fix ref_pic_list_modification()
+         The entries were not filled in linearly and the termination was not
+         recorded either. Now, the actual number of modifications is recorded
+         similarly to dec_ref_pic_marking(). i.e. an explicit counter instead
+         of storing the termination value in the array.
+         https://bugzilla.gnome.org/show_bug.cgi?id=668192
+
+2012-01-20 16:12:02 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>
+
+       * gst-plugins-bad.spec.in:
+         Update spec file for actually ported elements
+
+2012-01-20 15:23:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * common:
+       * configure.ac:
+         configure: only check for gst-plugins-{good,ugly,ffmpeg} in uninstalled setups
+         We don't install .pc files for plugin modules, because we only need
+         them in uninstalled setups, so we can find the plugins for unit tests
+         (even when run a couple of directories deeper or out-of-tree during
+         make distcheck).
+         Try to avoid confusion, so only check for those if this is in fact
+         an uninstalled setup. For installed setups there's no problem finding
+         the plugins, we assume they are all in the plugindir specified by
+         GStreamer core's .pc file.
+         https://bugzilla.gnome.org/show_bug.cgi?id=668311
+
+2012-01-20 14:46:00 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * tests/icles/pitch-test.c:
+         controller: adapt to control binding changes
+
+2012-01-20 11:40:00 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * tests/icles/pitch-test.c:
+         controller: adapt to controller api changes
+         Don't use the convenience api for control sources.
+
+2012-01-20 00:53:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/chromaprint/gstchromaprint.c:
+       * ext/chromaprint/gstchromaprint.h:
+         chromaprint: minor clean-ups
+         Flesh out docs a bit, fix element class.
+
+2011-01-02 19:34:04 +0000  Lukáš Lalinský <lalinsky@gmail.com>
+
+       * configure.ac:
+       * ext/Makefile.am:
+       * ext/chromaprint/Makefile.am:
+       * ext/chromaprint/gstchromaprint.c:
+       * ext/chromaprint/gstchromaprint.h:
+         chromaprint: import Acoustid audio fingerprinting plugin
+         Imported from https://launchpad.net/gst-chromaprint
+
+2012-01-10 00:22:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegpsdemux: handle corner-case of short read in pull_buffer better
+         It's extremely unlikely, but there are corner cases where a short
+         read might happen, so handle that, just in case.
+
+2012-01-19 15:43:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/gsm/gstgsmenc.c:
+         gsmenc: fix unused-but-set-variable compiler warning
+
+2012-01-19 15:12:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * common:
+       * configure.ac:
+         Add --disable-fatal-warnings configure option
+
+2012-01-19 11:34:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/assrender/gstassrender.c:
+       * ext/assrender/gstassrender.h:
+       * ext/mplex/gstmplex.cc:
+       * ext/mplex/gstmplex.hh:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h:
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.h:
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.h:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.h:
+       * gst/dvdspu/gstdvdspu.c:
+       * gst/dvdspu/gstdvdspu.h:
+       * gst/multifdsink/gstmultifdsink.c:
+       * gst/multifdsink/gstmultifdsink.h:
+       * gst/sdp/gstsdpdemux.c:
+       * gst/sdp/gstsdpdemux.h:
+       * sys/dvb/gstdvbsrc.c:
+       * sys/dvb/gstdvbsrc.h:
+       * tests/examples/camerabin/gst-camera-perf.c:
+       * tests/examples/camerabin/gst-camerabin-test.c:
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+       * tests/examples/mxf/mxfdemux-structure.c:
+       * tests/examples/scaletempo/demo-gui.c:
+       * tests/examples/scaletempo/demo-main.c:
+         port to new gthread API
+
+2012-01-18 17:01:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         configure.ac: Remove GIO check, this is in gst-glib2.m4 now
+
+2012-01-18 16:46:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * common:
+         Automatic update of common submodule
+         From 0807187 to 2a59016
+
+2012-01-18 16:35:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * gst/sdp/Makefile.am:
+       * gst/sdp/gstsdpdemux.c:
+       * gst/sdp/gstsdpdemux.h:
+         sdpdemux: Port to GIO and the new udpsrc/sink properties
+
+2012-01-18 16:01:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         configure.ac: Add opus to the non-ported plugins
+         It needs to be updated for the new multichannel API.
+
+2012-01-18 15:48:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/multifdsink/Makefile.am:
+         multifdsink: Add $(GST_PLUGINS_BAD_CFLAGS) for the i18n header file
+
+2012-01-17 21:36:21 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/adpcmdec/Makefile.am:
+       * gst/adpcmdec/adpcmdec.c:
+         adpcmdec: port to audiodecoder
+
+2012-01-17 21:36:08 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/adpcmenc/Makefile.am:
+       * gst/adpcmenc/adpcmenc.c:
+         adpcmenc: port to audioencoder
+
+2012-01-17 18:33:09 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/gsm/gstgsmdec.c:
+       * ext/gsm/gstgsmdec.h:
+         gsmdec: port to audiodecoder
+
+2012-01-17 18:32:23 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/gsm/gstgsmenc.c:
+       * ext/gsm/gstgsmenc.h:
+         gsmenc: port to audioencoder
+
+2012-01-17 13:12:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * docs/plugins/Makefile.am:
+         multifdsink: Add to the docs
+
+2012-01-16 22:52:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * configure.ac:
+       * ext/mplex/gstmplex.cc:
+       * ext/mplex/gstmplexibitstream.cc:
+       * ext/mplex/gstmplexoutputstream.cc:
+         mplex: port to 0.11
+
+2012-01-16 22:52:13 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * configure.ac:
+       * gst/pcapparse/gstpcapparse.c:
+         pcapparse: port to 0.11
+
+2012-01-16 22:51:59 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/pcapparse/gstirtspparse.c:
+         irtspparse: port to 0.11
+
+2012-01-16 17:30:22 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/debugutils/gstdebugspy.c:
+         debugspy: fix string leak
+
+2012-01-16 17:07:29 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/flutspmtstreaminfo.c:
+         mpegdemux: fix missing finalize chaining to parent
+         This code does not seem to trigger on my test streams, so it's
+         a bit of a blind fix, but seems safe enough to push.
+
+2012-01-16 17:02:22 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opencv/gsttemplatematch.c:
+         opencv: fix missing finalize chaining to parent class
+         Not compiled, I do not have the necessary dependencies.
+
+2012-01-16 17:01:18 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/gme/gstgme.c:
+         gme: fix missing dispose chaining to parent class
+         Not compiled, I do not have the necessary dependencies.
+
+2012-01-16 16:59:57 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/spc/gstspc.c:
+         spc: fix missing dispose chaining to parent class
+         Not even compiled, I do not have the dependencies needed.
+
+2012-01-16 11:29:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * gst/multifdsink/Makefile.am:
+       * gst/multifdsink/gstmultifdsink-marshal.list:
+       * gst/multifdsink/gstmultifdsink.c:
+       * gst/multifdsink/gstmultifdsink.h:
+       * tests/check/Makefile.am:
+       * tests/check/elements/multifdsink.c:
+         multifdsink: Move multifdsink from gst-plugins-base to gst-plugins-bad
+
+2012-01-13 15:57:33 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
+
+       * gst/videoparsers/Makefile.am:
+         Android, Fix wrong dinamic linking attempt
+         gstcodecparsers is built as an static library.
+         This change fixes building with the Android buildsystem.
+
+2012-01-13 13:30:57 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/cog/gstcogmse.c:
+         cogmse: fix finalize not calling base class (and leaking)
+
+2012-01-13 12:55:39 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/cog/gstcogmse.c:
+         cogmse: signal chain functions to exit on flush-start
+
+2012-01-13 12:08:28 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/siren/gstsirenenc.c:
+         sirenenc: fix base class call mixup in finalize
+
+2012-01-13 11:22:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/cog/gstcogmse.c:
+         cogmse: fix typo using the wrong pad
+
+2012-01-13 11:22:21 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/cog/gstcogmse.c:
+         cogmse: fix possible buffer leak
+
+2012-01-13 10:32:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * sys/linsys/gstlinsyssdisink.c:
+       * sys/linsys/gstlinsyssdisrc.c:
+         linsyssdi: fix leaks
+
+2012-01-13 10:25:22 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/rsvg/gstrsvgoverlay.c:
+         rsvgoverlay: fix adapter leak
+
+2012-01-13 00:11:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+         Merge remote-tracking branch 'origin/master' into 0.11
+
+2012-01-12 17:16:32 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/cog/gstcogmse.c:
+         cogmse: fix pad leaks
+
+2012-01-12 17:11:14 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/patchdetect/gstpatchdetect.c:
+       * gst/patchdetect/gstpatchdetect.h:
+         patchdetect: remove (leaking) dead code
+
+2012-01-12 16:45:39 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/inter/gstinteraudiosink.c:
+       * gst/inter/gstinteraudiosink.h:
+       * gst/inter/gstinteraudiosrc.c:
+       * gst/inter/gstinteraudiosrc.h:
+       * gst/inter/gstintervideosink.c:
+       * gst/inter/gstintervideosink.h:
+       * gst/inter/gstintervideosrc.c:
+       * gst/inter/gstintervideosrc.h:
+         inter: remove (leaking) dead code
+
+2012-01-12 16:36:19 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/schroedinger/gstschroenc.c:
+         schroenc: balance encoder and video format alloc/dealloc
+         They would leak if just constructing and freeing an object,
+         and probably crash if going from PLAYING to READY and back
+         again (though I haven't tested that).
+
+2012-01-12 15:58:36 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: fix queue leak
+
+2012-01-12 15:43:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/dccp/gstdccpclientsink.c:
+         dccpclientsink: fix string leak
+
+2012-01-12 15:19:01 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/y4m/gsty4mdec.c:
+         y4mdec: fix event leak
+
+2012-01-12 14:34:25 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+         mpegvideoparser: fix memory leak
+
+2012-01-12 10:26:39 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: also indicate mono audio in sink caps
+
+2012-01-12 10:25:48 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: also indicate mono audio in sink caps
+
+2012-01-11 18:24:41 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/schroedinger/gstschrodec.c:
+         schrodec: fix tag leak
+
+2012-01-11 18:12:22 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/schroedinger/gstschrodec.c:
+         schrodec: take out unused leaking buffer
+
+2012-01-11 18:37:15 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * configure.ac:
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: port to 0.11
+
+2012-01-11 16:34:35 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusparse.c:
+         opusparse: fix caps leak
+
+2012-01-11 16:32:31 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusparse.c:
+         opusparse: fix slist leak
+
+2012-01-11 13:32:36 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * tests/check/elements/opus.c:
+         tests: fix buffer leaks in opus tests
+
+2012-01-11 12:58:08 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: fix some input and output buffer map and ref handling
+
+2012-01-11 12:57:19 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: base class audio info is not yet set during set_format
+         ... since it will only be committed after it has been accepted by subclass.
+         In particular, subclass should not rely on it during its setup.
+
+2012-01-11 12:55:32 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: sprinkle some more layout info in caps
+
+2012-01-11 12:39:01 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+         voamrwbenc: fix audio format in template caps
+
+2012-01-11 12:24:15 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * configure.ac:
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+         voamrwbenc: port to 0.11
+
+2012-01-11 10:50:52 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+         faad: Unset the UNPOSITIONED flag if we have valid channel positions
+
+2012-01-10 17:27:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/modplug/gstmodplug.cc:
+         modplug: fix caps leak
+
+2012-01-10 16:59:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * ext/dts/gstdtsdec.c:
+       * ext/dts/gstdtsdec.h:
+         dtsdec: Port to 0.11
+
+2012-01-10 15:50:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         gst/mpegtsdemux/tsdemux.c
+         gst/videoparsers/gsth264parse.c
+         tests/check/elements/camerabin2.c
+
+2012-01-10 13:38:50 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: fix slist leak
+
+2012-01-10 13:38:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: fix caps leak
+
+2012-01-10 13:25:05 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: fix caps leaks
+
+2012-01-10 13:24:22 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: fix ref leak
+
+2012-01-10 11:41:34 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Don't provide bogus values in non-TIME push-mode
+         Only take the upstream segment values in GST_FORMAT_TIME
+
+2012-01-10 11:37:13 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Handle rollover in PTS and DTS
+         Also hands back-rollover which can happen with PTS
+
+2012-01-04 11:05:48 +0100  Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
+
+       * ext/vp8/gstvp8dec.c:
+         vp8dec: use is_alt_data option to prevent timestamp collisions
+         altref/invisible frames usually stored in container with same timestamp as
+         dependet frame. This make basevideodecoder to update timestamp for dependet
+         frame and couse TS colision on next frame:
+         ^- here is altref
+         time     : 1 2 3 4 5 6 7 8 9
+         webm ts  : 1   3 5 5   7   9
+         vp8dec ts: 1   3   7   7   9
+         Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245
+         Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
+
+2012-01-04 11:09:23 +0100  Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
+
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: add option to hande alt frame data
+         altref/invisible 'frame' do not describe some frame directly, so it can't be
+         displayed and timestamps should not be updated.
+         Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245
+         Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
+
+2012-01-09 14:56:29 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: mpeg4: fix parsing when recursively skipping user data
+
+2012-01-09 14:59:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+         faad: Make sure that the srcpad has caps before finishing actual audio data
+
+2012-01-09 14:39:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gstmpeg4videoparse.c:
+         mpeg4videoparse: Don't update caps on every buffer
+
+2012-01-09 14:28:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gstmpeg4videoparse.c:
+         mpeg4videoparse: Don't call gst_buffer_memcmp() with a NULL buffer
+
+2012-01-09 11:03:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: use the framerate that was copied a few lines above
+
+2012-01-09 10:58:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+         mpegvideoparse: add a couple consts on string literal arrays
+
+2012-01-09 08:40:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+         wrappercamerabinsrc: GstBaseCameraSrc is the base class, not GstBin
+
+2012-01-09 08:34:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         configure: voamrwbenc, lv2 and telextdec are not ported yet
+
+2011-12-19 11:24:31 -0500  David Biomech360 <ddes310@yahoo.com>
+
+       * gst/coloreffects/gstcoloreffects.c:
+       * gst/coloreffects/gstcoloreffects.h:
+         coloreffects: added support for a visual magnifier color filter to be used in gnome-video-effects
+         https://bugzilla.gnome.org/show_bug.cgi?id=666542
+
+2012-01-06 10:52:36 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fix test and set not using the same input
+         This fixes H.264 output not having a set framerate, and
+         confusing some of the elements downstream (such as interlace).
+
+2012-01-06 10:39:07 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/interlace/gstinterlace.c:
+         interlace: avoid dividing by zero on unkbown framerate
+         If the framerate is unknown, we cannot generate meaningful
+         buffer timestamps/durations, so set them to _NONE instead of
+         calculating something wrong and dividing by 0.
+
+2012-01-02 08:28:13 +0100  Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
+
+       * ext/vp8/GstVP8Enc.prs:
+       * ext/vp8/Makefile.am:
+         vp8: add initial preset file
+         This is initial preset file, currently with only one profile
+         for realtime encoding.
+         Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
+
+2012-01-05 14:30:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * tests/examples/camerabin2/Makefile.am:
+         examples: link against video library
+
+2011-12-08 12:15:39 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: remove h263 gob parsing, since there is no gob immediate after svh
+
+2011-12-08 12:13:38 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: add missing zero_bits in h263 parsing
+
+2011-12-08 12:12:21 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: includes start_marker in h263 header for parsing
+
+2011-12-08 12:07:42 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: fix offset issue in h263 parse
+
+2011-12-08 11:27:56 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: fix mask pattern for h263 start marker
+
+2012-01-05 11:01:01 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * tests/examples/camerabin2/gst-camera2.c:
+         tests: test for GTK 2.24 for new symbols used in camerabin2 tests
+         The whole tree is likely to switch to GTK 3.0 at some point, but
+         we might as well continue building with slightly less new versions
+         if it's not hard to do.
+
+2012-01-05 10:38:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.h:
+         signalprocessor: The multichannel.h header is gone now
+
+2012-01-05 10:23:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+       * ext/faad/gstfaad.h:
+         faad: Update for the new raw audio caps
+
+2012-01-05 09:52:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+       * ext/faac/gstfaac.h:
+         faac: Port to the new raw audio caps
+
+2012-01-05 09:34:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/flite/gstflitetestsrc.c:
+         flitetestsrc: Update to the new raw audio caps
+
+2012-01-04 16:13:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstspectrascope.c:
+       * gst/audiovisualizers/gstsynaescope.c:
+       * gst/audiovisualizers/gstwavescope.c:
+         audiovisualizers: Update for the new raw audio caps
+
+2012-01-04 19:52:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * common:
+         Automatic update of common submodule
+         From 0546e58 to 0807187
+
+2012-01-04 18:42:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/elements/camerabin.c:
+       * tests/check/elements/camerabin2.c:
+       * tests/check/elements/jifmux.c:
+         tests: remove temporary files when done in camerabin, camerabin2 and jifmux tests
+
+2012-01-04 11:28:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/asfmux.c:
+       * tests/check/elements/assrender.c:
+       * tests/check/elements/autoconvert.c:
+       * tests/check/elements/faac.c:
+       * tests/check/elements/faad.c:
+       * tests/check/generic/states.c:
+         tests: port some more unit tests
+
+2012-01-04 10:56:51 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: fix and tweak frame timestamping
+         ... to run with properly init'ed variables, and to only perform interpolation
+         in safe cases.
+
+2012-01-04 10:02:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/gme/gstgme.c:
+       * ext/rtmp/gstrtmpsrc.c:
+         GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
+
+2012-01-03 22:09:04 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: prefer negotiating pass-through
+
+2012-01-03 21:59:32 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: mark byte-stream AU frame with inserted codec NALs as keyframe
+
+2012-01-03 20:23:16 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: properly determine skip amount when no NAL start found yet
+
+2012-01-03 20:21:51 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: some more proper parse state reset
+
+2012-01-03 15:26:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+       * ext/libmms/gstmms.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst/dataurisrc/gstdataurisrc.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/tsdemux.c:
+         GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
+
+2012-01-02 15:55:21 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: encoding profiles are objects in 0.11
+
+2012-01-02 15:52:23 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * tests/examples/scaletempo/demo-player.c:
+         examples: Fix build
+
+2011-12-31 09:55:46 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * tests/icles/pitch-test.c:
+         controller: port to API changes
+
+2011-12-30 19:08:08 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+         configure: update for gdp dataprotocol library removal
+
+2011-12-30 18:18:10 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: Swallow incoming caps event
+         Otherwise we end up asking subclasses to push the event forward,
+         which will fail since no pads are created yet.
+
+2011-12-30 18:17:26 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Properly carry over the timestamp
+
+2011-11-08 20:19:41 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+         tsdemux: Use incoming timestamps in live mode
+
+2011-11-08 20:12:50 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Report latency (700ms)
+
+2011-11-08 09:44:18 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+         mpegtsbase: Query whether upstream is live or not
+
+2011-12-06 17:37:45 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Activate pad before settings caps
+         https://bugzilla.gnome.org/show_bug.cgi?id=665677
+
+2011-12-30 11:49:27 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+         Merge remote-tracking branch 'origin/master' into 0.11
+         Conflicts:
+         tests/examples/camerabin2/Makefile.am
+
+2011-12-30 11:41:17 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+         Merge remote-tracking branch 'origin/master' into 0.11-premerge
+         Conflicts:
+         docs/libs/Makefile.am
+         ext/kate/gstkatetiger.c
+         ext/opus/gstopusdec.c
+         ext/xvid/gstxvidenc.c
+         gst-libs/gst/basecamerabinsrc/Makefile.am
+         gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
+         gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
+         gst-libs/gst/video/gstbasevideocodec.c
+         gst-libs/gst/video/gstbasevideocodec.h
+         gst-libs/gst/video/gstbasevideodecoder.c
+         gst-libs/gst/video/gstbasevideoencoder.c
+         gst/asfmux/gstasfmux.c
+         gst/audiovisualizers/gstwavescope.c
+         gst/camerabin2/gstcamerabin2.c
+         gst/debugutils/gstcompare.c
+         gst/frei0r/gstfrei0rmixer.c
+         gst/mpegpsmux/mpegpsmux.c
+         gst/mpegtsmux/mpegtsmux.c
+         gst/mxf/mxfmux.c
+         gst/videomeasure/gstvideomeasure_ssim.c
+         gst/videoparsers/gsth264parse.c
+         gst/videoparsers/gstmpeg4videoparse.c
+
+2011-12-30 00:02:46 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+         basevideocodec: Reset should reset current caps
+         New caps will need to be negotiated when reset happens
+         (PAUSED to READY). Without reseting the internal
+         stored format, basevideoencoder/decoder wouldn't call the
+         configuration function when the same caps was negotiated
+         again as they would believe this was the same caps as before.
+         The issue is that _stop has been called when going to READY and
+         the elements would have reset their internal codec libs/state as
+         well. A new configuration should be done.
+
+2011-12-30 00:02:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: clarify some message logs
+         Be explicit on which encodebin we're switching profiles on the
+         log messages
+
+2011-12-29 13:30:13 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/examples/camerabin2/gst-camera2.c:
+         examples: camerabin2: add some error handling for format changing
+         Check that the format could be initialized and shows a modal dialog
+         in case it couldn't.
+
+2011-12-29 12:47:48 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/examples/camerabin2/Makefile.am:
+       * tests/examples/camerabin2/gst-camera2.c:
+       * tests/examples/camerabin2/gst-camera2.h:
+       * tests/examples/camerabin2/gst-camera2.ui:
+         examples: camerabin2: add format selection for camerabin2 example
+         Adds a combobox for selecting the video profile for recordings.
+         Useful for testing multiple formats a/v sync when recording.
+
+2011-12-28 16:59:15 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/check/Makefile.am:
+         tests: remove comment for already fixed issues on makefile
+         Some issues on camerabin2 and jifmux tests were fixed some
+         time ago, remove the comments about them
+
+2011-12-28 16:57:25 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: Fix message leak in tests
+
+2011-12-27 11:59:16 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: fix gvalue leak
+
+2011-12-27 10:23:18 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: fix mainloop leaks
+
+2011-12-27 10:20:48 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: secure event ref when sending event to parent class
+         camerabin2 needs to hold an extra ref on send_event before sending
+         it to the parent class as it will need to use it after the parent
+         handles it.
+
+2011-12-24 14:32:32 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: porting to 0.11
+
+2011-12-23 16:33:45 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * configure.ac:
+       * gst/camerabin2/camerabingeneral.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstviewfinderbin.c:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+         camerabin2: port to 0.11
+
+2011-12-23 09:30:31 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/gstfaac.h:
+         faac: standardize some field data types
+         Fixes #666750.
+
+2011-12-22 15:19:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst-libs/gst/basecamerabinsrc/Makefile.am:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+         basecamerabinsrc: remove redundant functions
+         gst_bin_get_by_interface should be enough for applications.
+         Haven't seen anyone using those other than wrappercamerabinsrc.
+
+2011-12-22 15:01:47 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/camerabingeneral.c:
+       * gst/camerabin2/camerabingeneral.h:
+         camerabin2: remove unused helper function
+         This drop_eos_probe function is not used anymore, remove it
+
+2011-12-22 17:15:28 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: recreate encoder after flushing
+         ... since it appears the existing one can't be bothered anymore to produce
+         some output.
+
+2011-12-22 17:14:09 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: refactor encoder library setup
+
+2011-12-22 17:10:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: no need to duplicate baseclass sanity checks
+
+2011-12-22 17:09:30 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+         voamrwbenc: no need to duplicate baseclass sanity checks
+
+2011-12-21 23:51:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/zbar/gstzbar.c:
+       * ext/zbar/gstzbar.h:
+         update for videofilter changes
+
+2011-12-21 11:33:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * tests/examples/opencv/gstmotioncells_dynamic_test.c:
+         tests: avoid useless include
+
+2011-12-19 16:49:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Fix A/V sync for captures
+         Audio src was pushing newsegments starting from 0, even when its buffers
+         were not starting with 0 as their timestamps. Add a buffer probe that
+         checks the ts of the first buffer and uses that to push a newsegment,
+         just like we do for video on wrappercamerabinsrc.
+
+2011-12-19 15:17:22 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/check/Makefile.am:
+         tests: camerabin2: enable tests
+         Tests are passing now, enable them
+
+2011-12-19 15:16:42 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+         wrappercamerabinsrc: Push newsegments on video capture start
+         Pushing newsegments to inform muxers about the start time of the
+         video buffer timestamps.
+
+2011-12-20 14:04:52 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: clear sei message prior to parsing
+         Fixes #666584.
+
+2011-12-19 23:51:19 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * tests/icles/pitch-test.c:
+         controller: port to new interpolation-mode api
+
+2011-12-19 22:54:47 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * tests/icles/pitch-test.c:
+         controller: port to new controller api
+
+2011-12-19 18:44:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/y4m/gsty4mdec.c:
+         y4m: update for new interlace caps
+
+2011-12-19 13:18:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegtsdemux: only warn when we see a PID with unknown type
+         This is quite frequent, and we will just ignore that stream,
+         so an error is not warranted.
+
+2011-12-19 12:32:26 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: avoid pushing SPS/PPS at start only if both are found in stream
+         Avoid injecting SPS/PPS nals only if both are already present in the stream.
+         Fixes some AVC clips that happen to have only PPS nals in stream.
+
+2011-12-18 18:37:08 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpeg4videoparse.h:
+         mpeg4videoparse: handle force key unit events
+
+2011-12-18 17:40:57 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: do wait for a keyframe when handling force key unit events
+         Although some decoders can start decoding with just PPS and SPS and waiting for
+         a keyframe is bad when the keyframe interval is large, gst-ffmpeg does need a
+         keyframe to start decoding.
+
+2011-12-18 17:32:11 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+         mpegtsmux: unset the current PCR stream when starting a new unit
+         Unset the current PCR stream when starting a new unit so that afterwards a new
+         stream is selected as PCR and PAT and PMT tables are regenerated.
+
+2011-12-18 17:31:18 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+         mpegtsmux: fix key unit event handling when muxing both audio and video
+         Take only video buffers into account when deciding when to cut so that new units
+         start with a video keyframe.
+
+2011-12-15 18:14:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/kate/gstkatetiger.c:
+         katetiger: don't unref NULL buffer
+
+2011-12-15 16:42:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusparse.c:
+         opus: fix bad merge (stray unmap, undeclared var)
+
+2011-12-15 11:11:41 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/check/Makefile.am:
+         tests: jifmux: re-enable jifmux's tests
+         Fix for its test is now available on -base module.
+         Enabling again.
+
+2011-12-15 13:47:55 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/videomeasure/gstvideomeasure_ssim.c:
+       * gst/videomeasure/gstvideomeasure_ssim.h:
+         videomeasure: port to GstCollectPads2
+
+2011-12-15 13:39:41 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mxf/mxfmux.c:
+       * gst/mxf/mxfmux.h:
+         mxfmux: port to GstCollectPads2
+         Only tested with audio, I can't get it to accept video (before
+         the port).
+
+2011-12-15 13:22:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mpegtsmux/mpegtsmux.h:
+         mpegtsmux: port to GstCollectPads2
+         I *think* the stream lock use is correct, not 100% sure.
+
+2011-12-15 13:08:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegpsmux/mpegpsmux.c:
+       * gst/mpegpsmux/mpegpsmux.h:
+         mpegpsmux: port to GstCollectPads2
+
+2011-12-15 13:04:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/frei0r/gstfrei0rmixer.c:
+       * gst/frei0r/gstfrei0rmixer.h:
+         frei0r: port to GstCollectPads2
+         Untested, no sample pipeline mentioned, and I've no idea what
+         this plugin does, but since all the previous ports work out of
+         the box, this is deemed to work until evidence it doesn't.
+
+2011-12-15 13:02:16 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/debugutils/gstcompare.c:
+       * gst/debugutils/gstcompare.h:
+         compare: port to GstCollectPads2
+
+2011-12-15 12:59:57 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/asfmux/gstasfmux.c:
+       * gst/asfmux/gstasfmux.h:
+       * gst/asfmux/gstasfobjects.h:
+         asfmux: port to GstCollectPads2
+
+2011-12-14 17:36:55 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/dts/gstdtsdec.c:
+         dtsdec: avoid crashing upon draining
+         ... and clean up some variable init and debug statement.
+
+2011-12-14 08:54:32 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/check/elements/mpegtsmux.c:
+         tests: mpegtsmux: remove unused variable
+
+2011-12-14 08:32:50 -0300  Tommi Myöhänen <tommi.myohanen@digia.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: fix leak on error handling
+         Camerabin2 parses warning messages with gst_message_parse_warning(message,
+         &err, &debug) but doesn't free given GError and debug strings.
+         Documentation shows that the ownership of those fields is transferred
+         to caller (they are marked "[transfer full]" in the API docs).
+
+2011-12-12 15:52:20 +0100  Julien Isorce <julien.isorce@gmail.com>
+
+       * gst/mpegdemux/mpegtsparse.c:
+         mpegtsparse: check offset when retrieving table_id on malformed packets
+         Fix bug #665988
+
+2011-12-13 10:44:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpegdemux/mpegtsparse.c:
+         Revert "mpegtsparse: check offset when retrieving table_id on malformed packets"
+         This reverts commit e62978d045d57ee9fed7598c02b9017eb974ea36.
+
+2011-12-13 10:17:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+         basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
+         This would require GLib 2.26.
+
+2011-12-12 20:01:17 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/kate/gstkatetiger.c:
+         tiger: advertise all the new YUV formats we can now use
+
+2011-12-12 19:34:32 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/kate/gstkatetiger.c:
+       * ext/kate/gstkatetiger.h:
+         tiger: replace the new YUV blitting code with the newer overlay code
+
+2011-12-12 14:54:00 +0100  Julien Isorce <julien.isorce@gmail.com>
+
+       * gst/mpegdemux/mpegtsparse.c:
+         mpegtsparse: check offset when retrieving table_id on malformed packets
+
+2011-12-12 13:59:33 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/liveadder/liveadder.c:
+         liveadder: fix buffer leak
+
+2011-12-05 18:57:01 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideo: Make framestate a reference counted boxed object
+         ...and also clear all existing frames when resetting the decoder or encoder.
+
+2011-12-05 18:57:01 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideo: Make GstVideoFrame a reference counted boxed object
+         ...and also clear all existing frames when resetting the decoder or encoder.
+
+2011-12-12 10:40:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/Makefile.am:
+         teletextdec: Properly integrate into the build system
+
+2011-12-12 10:28:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/dts/Makefile.am:
+         dts: Add $(GST_BASE_LIBS) and CFLAGS to the build
+         dtsdec now uses GstAdapter, which is in libgstbase. Also reorder
+         CFLAGS and LIBADD.
+
+2011-12-11 16:07:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * docs/libs/Makefile.am:
+         docs: fix make distcheck
+         Set DOC_OVERRIDES, so the -overrides.txt file which is apparently
+         created anyway, gets cleaned up properly.
+
+2011-12-11 16:05:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * docs/libs/Makefile.am:
+         docs: minor Makefile.am clean-up
+         GST_BAD_CFLAGS and GST_BAD_LIBS don't exist.
+
+2011-12-11 15:29:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+         tests: disable failing jifmux, camerabin2, and colorspace tests
+         jifmux: general:test_jifmux_tags:0: Assertion 'entry->components == 2' failed
+         camerabin2: test_multiple_video_recordings:0: gst_caps_get_structure: assertion `GST_IS_CAPS (caps)
+         colorspace: bad memory accesses in orc code for odd width buffers (see bug #663248)
+
+2011-12-11 15:03:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/elements/camerabin2.c:
+         tests: fix g_usleep() in camerabin2 test
+         g_usleep() takes a microsecond value, GST_SECOND is nanoseconds, so
+         we were sleeping for more than 3 minutes here instead of 200ms.
+
+2011-12-11 00:59:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * po/LINGUAS:
+       * po/eo.po:
+       * po/es.po:
+       * po/gl.po:
+       * po/ky.po:
+       * po/lv.po:
+       * po/sr.po:
+       * po/sv.po:
+         po: update translations
+
+2011-09-25 23:57:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/mpegpsmux/mpegpsmux.c:
+       * gst/mpegpsmux/psmux.c:
+       * gst/mpegpsmux/psmux.h:
+         mpegpsmux: put stream headers into output caps
+         Basic version with only the system header and the program
+         stream map. An advanced version could include codec-specific
+         bits like SPS/PPS too. This is useful in connection with
+         e.g. multifilesink to make sure new files always start with
+         the stream headers.
+
+2011-09-16 19:32:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/mpegpsmux/mpegpsmux.c:
+       * gst/mpegpsmux/mpegpsmux.h:
+         mpegpsmux: add "aggregate-gops" property to aggregate GOPs into buffer lists
+         Useful in connection with multifilesink, for example, to make sure
+         the new file always starts with a keyframe.
+
+2011-12-10 20:08:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/mpegpsmux/mpegpsmux.c:
+       * gst/mpegpsmux/mpegpsmux.h:
+         mpegpsmux: remember primary video stream
+
+2011-08-31 19:40:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/mpegpsmux/mpegpsmux.c:
+       * gst/mpegpsmux/psmuxstream.c:
+       * gst/mpegpsmux/psmuxstream.h:
+         mpegpsmux: remember whether an incoming buffer is a keyunit or not
+
+2011-12-09 17:25:41 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusheader.c:
+       * ext/opus/gstopusparse.c:
+       * ext/opus/gstrtpopuspay.c:
+         opusenc: add upstream negotiation for multistream ability
+         This will help elements that cannot deal with multistream,
+         such as the RTP payloader.
+         The caps now do not include a "streams" field anymore, but
+         a "multistream" boolean, since we have no real use for knowing
+         the exact amount of streams.
+         https://bugzilla.gnome.org/show_bug.cgi?id=665078
+
+2011-12-07 15:13:11 -0200  Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>
+
+       * ext/opus/Makefile.am:
+       * ext/opus/gstopus.c:
+       * ext/opus/gstrtpopusdepay.c:
+       * ext/opus/gstrtpopusdepay.h:
+       * ext/opus/gstrtpopuspay.c:
+       * ext/opus/gstrtpopuspay.h:
+         Adding opus RTP payloader/depayloader element
+         Adding OPUS RTP module based on the current draft:
+         http://tools.ietf.org/id/draft-spittka-payload-rtp-opus-00.txt
+         https://bugzilla.gnome.org/show_bug.cgi?id=664817
+
+2011-12-08 19:47:55 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusheader.c:
+       * ext/opus/gstopusparse.c:
+         opus: include streams count in caps
+         https://bugzilla.gnome.org/show_bug.cgi?id=665078
+
+2011-12-08 18:45:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopuscommon.c:
+       * ext/opus/gstopuscommon.h:
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusenc.h:
+       * ext/opus/gstopusheader.c:
+       * ext/opus/gstopusheader.h:
+       * ext/opus/gstopusparse.c:
+         opus: properly create channel mapping tables
+         There are two of them, unintuitively enough; the one passed
+         to the encoder should not be the one that gets written to the
+         file. The former maps the input to an ordering which puts
+         paired channels first, while the latter moves the channels
+         to Vorbis order. So add code to calculate both, and we now
+         have properly paired channels where appropriate.
+         https://bugzilla.gnome.org/show_bug.cgi?id=665078
+
+2011-12-08 22:49:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/videoparsers/Makefile.am:
+         videoparsers: fix LIBS order in Makefile.am
+
+2011-12-08 12:42:57 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegtsdemux: only offset timestamps when live
+         This code is to sync to a live source when there is a delay
+         between start and when we receive the first buffer, so it does
+         not make sense in a non live case.
+         This fixes playback of streams where the input timestamps are
+         based off some arbitrary offset.
+         https://bugzilla.gnome.org/show_bug.cgi?id=663756
+
+2011-12-08 11:51:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Only make the header buffer metadata writable, not the buffer
+
+2011-12-08 10:19:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Fix handling of force-keyunit events
+
+2011-12-07 00:06:11 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: header cleanup
+         https://bugzilla.gnome.org/show_bug.cgi?id=665078
+
+2011-12-07 00:06:11 -0500  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: Truncate caps first
+         https://bugzilla.gnome.org/show_bug.cgi?id=665078
+
+2011-11-28 19:47:34 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: default to stereo 48000 Hz if possible when no headers seen
+         https://bugzilla.gnome.org/show_bug.cgi?id=665078
+
+2011-12-07 13:48:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/resindvd/rsndec.c:
+         rsndec: Don't use the initial-identity property on autoconvert
+         It was removed, see bug #599469, #665205
+
+2011-12-07 13:46:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/autoconvert/gstautoconvert.c:
+       * gst/autoconvert/gstautoconvert.h:
+         autoconvert: Remove the initial-identity property from autoconvert
+         Initially creating an identity element to forward serialized
+         events downstream before any caps are known is broken behaviour.
+         Serialized events should only be forwarded downstream if the
+         caps are already known, otherwise autopluggers and other elements
+         using pad-blocks will fail.
+         This behaviour also doesn't work anymore after basetransform
+         was fixed to queue serialized events until the caps are known
+         as a result of fixing bug #659571.
+         See bug #599469, #665205.
+
+2011-12-06 16:27:25 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/videoparsers/gstmpeg4videoparse.c:
+         videoparsers: Do not not skip startcode when needed
+         Fix: https://bugzilla.gnome.org/show_bug.cgi?id=665631
+
+2011-12-06 08:55:19 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: first video_packet_header doesn't start with resync_marker
+
+2011-12-06 08:53:07 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: return NO_PACKET if needed
+
+2011-12-06 08:31:14 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: fix an issue in check resync marker
+
+2011-12-06 08:25:59 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: fix an issue in finding the last video packet in vop
+
+2011-12-06 08:21:19 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: include resync marker in video packet size
+
+2011-12-06 08:19:05 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: scan next resync marker after current one
+
+2011-12-06 08:17:38 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: fix < 0 issue of guint in mpeg4 parser
+         gst_byte_reader_masked_scan_uint32 returns a guint, not a gint, which
+         explains the issue we sometime get using < 0 instead of == -1;
+
+2011-12-06 08:15:46 +0800  Zhao Halley <halley.zhao@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: fix pattern/mask of resync_marker parsing of mpeg4
+
+2011-12-06 13:06:06 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/videoparsers/Makefile.am:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: handle force key unit events
+         Send SPS/PPS on force key unit events. Useful for example when serving HLS
+         without transcoding.
+
+2011-12-06 12:55:26 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+         codecparsers: fix compile warnings in gstmpeg4parser.c
+
+2011-12-05 11:56:02 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * tests/check/elements/.gitignore:
+       * tests/check/libs/.gitignore:
+         tests: Add more files to .gitignore
+
+2011-12-05 11:50:17 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Use faster parsing variant when input is packetized
+         Reduces latency and cpu usage
+         https://bugzilla.gnome.org/show_bug.cgi?id=665584
+
+2011-12-05 11:47:57 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         codecparsers: Variant of _identify_nalu without checks
+         This is useful for cases where the caller *knows* that the provided
+         input contains a whole NALU and can therefore avoid:
+         * the expensive checks for the next start code (which won't be present)
+         * delaying the input parsing (since we would need the next incoming NALU
+         in order for the parsing code to detect the next start code)
+         https://bugzilla.gnome.org/show_bug.cgi?id=665584
+
+2011-12-05 13:09:17 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: reflow slice nal processing
+
+2011-12-05 12:57:47 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: optimize slice nal processing
+         Only minimal slice info is needed here to determine real frame start,
+         so no need to parse extensively.
+         Fixes #665418.
+
+2011-12-05 12:53:59 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparser: unbreak h264 slice header parsing
+         .. introduced by refactoring in commit 177451c9216f4e3959e7358675fbb9731d2c81a2
+
+2011-12-01 18:28:49 +0100  Edward Hervey <edward@collabora.com>
+
+       * sys/pvr2d/gstpvr.c:
+       * sys/pvr2d/gstpvr.h:
+       * sys/pvr2d/gstpvrbufferpool.c:
+       * sys/pvr2d/gstpvrbufferpool.h:
+       * sys/pvr2d/gstpvrvideosink.c:
+       * sys/pvr2d/gstpvrvideosink.h:
+         pvr2d: Port to 0.11
+         Handles GstVideoMeta and GstVideoCropMeta
+         Provides GstBufferPool
+         New GstPVRMeta to handle the wrapped PVR mem_src
+
+2011-12-02 17:53:23 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: Fix reference counting of codec_data
+
+2011-12-05 08:56:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/autoconvert/gstautoconvert.c:
+         autoconvert: Implement iterate_internal_links function on the sinkpad and srcpad
+
+2011-11-28 19:38:34 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: guard against decoding 0 samples
+         https://bugzilla.gnome.org/show_bug.cgi?id=665078
+
+2011-12-02 11:46:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         configure: Require XVID API >= 4.3
+         This is required for encoding the simple profile
+         with levels 4a, 5 or 6.
+         Fixes bug #665378.
+
+2011-12-01 16:59:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         camerabin: use GstSample for the preview
+
+2011-12-01 10:54:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/xvid/gstxvidenc.c:
+         xvidenc: Don't add the profile/level to the video/x-xvid caps
+
+2011-12-01 09:54:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/xvid/gstxvidenc.c:
+       * ext/xvid/gstxvidenc.h:
+         xvidenc: Add profile/level to the caps and negotiate them with downstream
+         Still keep the profile property to select profile/level if there
+         are no downstream constraints.
+         Fixes bug #652261.
+
+2011-12-01 09:39:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/xvid/gstxvidenc.c:
+         xvidenc: Add support for levels 4a/5/6 of the simple profile
+
+2011-12-01 09:02:46 +0100  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: let upstream PAR override in-stream PAR
+
+2011-11-23 18:26:44 +0100  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: rework PAR parsing
+         And in the process refactor _update_src_caps a bit
+
+2011-11-16 00:03:12 -0500  Luciana Fujii Pontello <lucianafujii@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+         h264parse: respect pixel-aspect-ratio
+         Parse pixel-aspect-ratio in vui information.
+
+2011-11-30 22:12:27 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstspacescope.h:
+         spacespace: whitespace cleanups
+
+2011-11-30 22:11:40 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstwavescope.c:
+       * gst/audiovisualizers/gstwavescope.h:
+         wavescape: also add colormodes like in spacescope
+
+2011-11-30 15:13:04 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/README:
+         audiovisualizer: update README
+
+2011-11-30 14:20:38 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstdrawhelpers.h:
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstspacescope.h:
+         spacescope: add color-modes
+         In colormode we split the signal in low,mid,high frequency parts and draw them
+         separately into red, gree, blue color channels.
+
+2011-08-30 14:37:42 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+       * ext/opencv/gstmotioncells.c:
+       * ext/opencv/gstmotioncells.h:
+         replace propset_mutex with GST_OBJECT_LOCK
+
+2011-11-25 22:32:11 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstdrawhelpers.h:
+         audiovisualizers: streamline the line_aa code
+         Have a reusable dot_aa code and reuse in the line drawing.
+
+2011-11-30 10:35:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/mpegtsmux/Makefile.am:
+         mpegtsmux: fix build in uninstalled setup
+         Add -base libs includes to CFLAGS, fix order of LIBS.
+
+2011-08-21 11:01:37 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/mpegtsmux/Makefile.am:
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mpegtsmux/mpegtsmux.h:
+       * tests/check/Makefile.am:
+       * tests/check/elements/mpegtsmux.c:
+         mpegtsmux: add support for force key unit events
+         Handle force key unit events outputting PAT and PMT when all_headers=TRUE
+
+2011-11-29 23:41:22 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * configure.ac:
+         opencv: allow to build against 2.3.1
+
+2011-11-29 18:18:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * Makefile.am:
+         build: add old mpeg4videoparse directory to CRUFT_DIRS
+
+2011-11-29 19:11:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/basecamerabinsrc/Makefile.am:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h:
+       * tests/examples/camerabin/Makefile.am:
+       * tests/examples/camerabin/gst-camera.c:
+       * tests/examples/camerabin/gst-camerabin-test.c:
+       * tests/examples/camerabin2/Makefile.am:
+       * tests/examples/camerabin2/gst-camera2.c:
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         fix for moved interfaces
+
+2011-11-22 09:47:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         codecparsers: h264: record ref_pic_list_modification().
+
+2011-11-22 09:47:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: rename ref_pic_list_reordering() to ref_pic_list_modification().
+         Upgrade to current AVC specification.
+
+2011-11-29 12:20:51 +0100  Alexey Fisher <bug-track@fisher-privat.net>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegpsdemux: recalculate adjust if difference is negative
+         One of my dvds jump on some position and miss about 1 minute of stream.
+         The reason was mpeg timestamps. On some position scr difference is negative.
+         It produced negative timestamps. Since it was converted to unsigned value,
+         gstreamer timestamps was invalid. Instead of increasing mpeg ts,
+         they was decreasing till it started to be positive.
+         The jump in timestamps caused mpeg2dec to skip frames to make QoS happy.
+         This patch just make diff unsigned to avoid negative values.
+         Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
+         https://bugzilla.gnome.org/show_bug.cgi?id=656115
+
+2011-11-29 12:12:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
+
+2011-11-29 12:12:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: Implement full support for the new force-key-unit event
+         Including support for the running-time and count fields.
+
+2011-11-29 09:31:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Use new force-keyunit event API from gst-plugins-base
+
+2011-11-29 09:18:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: Adjusting padding is not required for -bad libraries
+
+2011-11-28 19:48:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: Move some fields to the private part of the instance struct
+
+2011-11-28 19:36:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Make headers metadata writable before pushing downstream
+         The timestamp, duration, etc of the headers has to be changed.
+
+2011-11-28 19:35:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: Push the downstream force-keyframe event after the next keyframe
+         Even if the corresponding GstVideoFrame doesn't have the is_sync_point
+         flag set.
+
+2011-11-28 19:29:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: Don't push an upstream force-keyunit event downstream
+
+2011-11-25 11:48:08 +0100  Jonas Larsson <jonas@hallerud.se>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
+         See bug #607742.
+
+2011-11-29 09:22:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/kate/gstkatetiger.c:
+         kate: fix set-but-not-used-variable compiler warning
+         gstkatetiger.c:1156:15: error: variable 'height' set but not used
+         gstkatetiger.c:1156:8: error: variable 'width' set but not used
+
+2011-11-29 09:15:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+       * gst-libs/gst/codecparsers/gstmpeg4parser.h:
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: minor fixes
+         Const-ify one more VLC table. Fix spelling of 'hybrid'.
+         No need to explicitly call ensure_debug_category() everywhere,
+         that will be done automatically from GST_LOG() and friends
+         via GST_CAT_DEFAULT.
+
+2011-11-08 10:44:11 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+       * gst-libs/gst/codecparsers/gstmpeg4parser.h:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+         codecparser: mpeg4: Look for resync code in _mpeg4_parse
+         This way the API is simpler and users can call 1 single function for packet
+         detection.
+
+2011-09-29 14:37:59 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/videoparsers/Makefile.am:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpeg4videoparse.h:
+         mpeg4videoparse: Properly handle profile and level in caps
+         Fix #660234
+
+2011-09-26 16:58:58 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/videoparsers/Makefile.am:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpeg4videoparse.h:
+       * gst/videoparsers/mpeg4parse.c:
+       * gst/videoparsers/mpeg4parse.h:
+         mpeg4videoparse: Port to the new mpeg4parser library
+
+2011-09-26 10:39:31 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * configure.ac:
+       * gst/mpeg4videoparse/Makefile.am:
+       * gst/mpeg4videoparse/mpeg4parse.c:
+       * gst/mpeg4videoparse/mpeg4parse.h:
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+       * gst/mpeg4videoparse/mpeg4videoparse.h:
+       * gst/videoparsers/Makefile.am:
+       * gst/videoparsers/gstmpeg4videoparse.c:
+       * gst/videoparsers/gstmpeg4videoparse.h:
+       * gst/videoparsers/mpeg4parse.c:
+       * gst/videoparsers/mpeg4parse.h:
+       * gst/videoparsers/plugin.c:
+         mpeg4videoparse: Move to the videoparsers plugin
+         Rename a few variables to use the same convention as others elements in this
+         plugin
+         Conflicts:
+         gst/videoparsers/gstmpeg4videoparse.c
+
+2011-11-02 09:14:42 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: Declare private arrays as static all around
+
+2011-09-21 19:49:36 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * docs/libs/gst-plugins-bad-libs-docs.sgml:
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * gst-libs/gst/codecparsers/Makefile.am:
+       * gst-libs/gst/codecparsers/gstmpeg4parser.c:
+       * gst-libs/gst/codecparsers/gstmpeg4parser.h:
+         codecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library
+
+2011-09-21 19:40:47 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/Makefile.am:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/parserutils.c:
+       * gst-libs/gst/codecparsers/parserutils.h:
+         codecparsers: Move shared code to a parser utils file
+
+2011-09-29 16:25:29 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * pkgconfig/gstreamer-plugins-bad.pc.in:
+         pkgconfig: remove references to codecparsers from -bad.pc.in
+
+2011-11-28 23:20:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+         Merge remote-tracking branch 'origin/master' into 0.11
+
+2011-11-28 23:20:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+         Merge commit '7521b597f4dc49d8d168f368f0e7ebaf98a72156' into 0.11
+
+2011-11-28 23:20:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+         Merge commit '26d6add9457f00ce8ec13844368466f0e3816e5d' into 0.11
+         Conflicts:
+         ext/rtmp/gstrtmpsink.c
+
+2011-11-28 18:47:50 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstviewfinderbin.c:
+         camerabin2: viewfinderbin: use faster cast macro
+         Use cast macro without type checks when we know it should work.
+
+2011-11-28 18:43:40 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstviewfinderbin.c:
+         camerabin2: viewfinderbin: Link elements directly to use faster version
+         ffmpegcolorspace and videoscale should always link successfully, use
+         the fast pad linking version instead of calling the generic helper
+         function.
+
+2011-11-28 16:35:48 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/camerabingeneral.c:
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: micro optimize linking some more
+
+2011-09-29 22:43:30 +0100  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>
+
+       * ext/kate/gstkatetiger.c:
+       * ext/kate/gstkatetiger.h:
+         kate: support for rendering on several YUV formats
+         This speeds up rendering a fair bit by not requiring colorspace
+         conversion, whether there is anything to overlay or not.
+         The blending code was nicked from textoverlay. I would think
+         this might be a helpful thing to put in, say, libgstvideo at
+         some point.
+         https://bugzilla.gnome.org/show_bug.cgi?id=660528
+
+2011-08-18 11:39:37 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4parse.c:
+         mpeg4videoparse: fix number of bytes read for fixed time increment
+         The spec I found says "16 bits".
+         The existing code used log2(somevalue)+1.
+         ffmpeg uses log2(somevalue-1)+1.
+         The code now uses log2(somevalue-1)+1, and this makes it work with
+         some sample video without breaking another sample.
+         Now, I'm far from certain I've got the right spec, I found it by
+         searching the internet, so...
+         https://bugzilla.gnome.org/show_bug.cgi?id=654666
+
+2011-11-28 15:10:39 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+       * gst/mpegdemux/gstmpegtsdemux.h:
+         mpegdemux: Try to add all streams early
+         This will allow us to signal no-more-pads to avoid hitting
+         the decodebin2 overrun.
+
+2011-09-26 12:43:27 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegtsdemux: handle pads with no data
+         Some streams declare PIDs but will not send data for them.
+         Ensure we time out on those, and both send new segments to
+         keep their time synchronized with the rest, and do not wait
+         forever before deciding to signal no-more-pads.
+         https://bugzilla.gnome.org/show_bug.cgi?id=659924
+
+2011-09-26 12:16:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+       * gst/mpegdemux/gstmpegtsdemux.h:
+         mpegtsdemux: signal no-more-pads when appropriate
+         We track streams for which a data callback is set (and for which
+         pads will be added only when data is received), and signal
+         no-more-pads when the last pad is added.
+         https://bugzilla.gnome.org/show_bug.cgi?id=659924
+
+2011-09-05 17:40:07 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+       * gst/mpegdemux/gstmpegtsdemux.h:
+         mpegdemux: take into account offset of first buffer
+         This fixes playback when the source starts later than the playback
+         pipeline, and when a source drops for a while then restarts.
+         https://bugzilla.gnome.org/show_bug.cgi?id=657794
+
+2011-09-03 14:37:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegdemux: fix some more video freezing
+         There was a second threshold, which apparently needs to be smaller
+         than the first, though I'm not certain of it as I don't understand
+         yet this nest of wtf that is the mpeg demuxer timing logic.
+         Fixes video freezing on one (corrupted) MPEG sample. It would
+         previously never think it was out of the discontinuity, and would
+         push buffers with no timestamp.
+         Now this took me more than a day's poking at the thing, for just
+         one constant change, and I'm scared to have to touch this again :S
+         https://bugzilla.gnome.org/show_bug.cgi?id=655804
+
+2011-08-30 14:50:52 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+       * gst/mpegdemux/gstmpegtsdemux.h:
+         mpegdemux: catch smaller PTS dicontinuities
+         In a test stream, I get one buffer with a PTS of about 15 seconds
+         in the future compared to the previous one, and next buffers with
+         timestamps continuing where the original ones left off.
+         This caused the sink to wait 15 seconds to display the frame while
+         more frames queued up, and then dump all the subsequent frames as
+         they "arrived too late".
+         Maybe that threshold should be made configurable, but for now,
+         make it more smaller to catch more of these.
+         https://bugzilla.gnome.org/show_bug.cgi?id=655804
+         Non AV streams keep using the larger threshold (10 minutes), as
+         subtitles may arrive only every so often.
+
+2011-11-28 13:08:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/apexsink/gstapexsink.c:
+       * ext/arts/gst_arts.c:
+       * ext/artsd/gstartsdsink.c:
+       * ext/assrender/gstassrender.c:
+       * ext/audiofile/gstafparse.c:
+       * ext/audiofile/gstafsink.c:
+       * ext/audiofile/gstafsrc.c:
+       * ext/audioresample/gstaudioresample.c:
+       * ext/bz2/gstbz2dec.c:
+       * ext/bz2/gstbz2enc.c:
+       * ext/celt/gstceltdec.c:
+       * ext/celt/gstceltenc.c:
+       * ext/cog/gstcogcolorspace.c:
+       * ext/cog/gstcogdownsample.c:
+       * ext/cog/gstcogmse.c:
+       * ext/cog/gstcogscale.c:
+       * ext/cog/gstcolorconvert.c:
+       * ext/cog/gstlogoinsert.c:
+       * ext/curl/gstcurlsink.c:
+       * ext/dc1394/gstdc1394.c:
+       * ext/dirac/gstdiracdec.cc:
+       * ext/dirac/gstdiracenc.cc:
+       * ext/directfb/dfbvideosink.c:
+       * ext/divx/gstdivxdec.c:
+       * ext/divx/gstdivxenc.c:
+       * ext/dts/gstdtsdec.c:
+       * ext/faac/gstfaac.c:
+       * ext/faad/gstfaad.c:
+       * ext/flite/gstflitetestsrc.c:
+       * ext/gme/gstgme.c:
+       * ext/gsettings/gstswitchsink.c:
+       * ext/gsettings/gstswitchsrc.c:
+       * ext/gsm/gstgsmdec.c:
+       * ext/gsm/gstgsmenc.c:
+       * ext/hermes/gsthermescolorspace.c:
+       * ext/jp2k/gstjasperdec.c:
+       * ext/jp2k/gstjasperenc.c:
+       * ext/kate/gstkatedec.c:
+       * ext/kate/gstkateenc.c:
+       * ext/kate/gstkateparse.c:
+       * ext/kate/gstkatetiger.c:
+       * ext/lcs/gstcolorspace.c:
+       * ext/libfame/gstlibfame.c:
+       * ext/libmms/gstmms.c:
+       * ext/mimic/gstmimdec.c:
+       * ext/mimic/gstmimenc.c:
+       * ext/modplug/gstmodplug.cc:
+       * ext/mpeg2enc/gstmpeg2enc.cc:
+       * ext/mplex/gstmplex.cc:
+       * ext/musepack/gstmusepackdec.c:
+       * ext/musicbrainz/gsttrm.c:
+       * ext/mythtv/gstmythtvsrc.c:
+       * ext/nas/nassink.c:
+       * ext/neon/gstneonhttpsrc.c:
+       * ext/openal/gstopenalsink.c:
+       * ext/openal/gstopenalsrc.c:
+       * ext/opencv/gstcvequalizehist.c:
+       * ext/opencv/gstcvlaplace.c:
+       * ext/opencv/gstcvsobel.c:
+       * ext/opencv/gstedgedetect.c:
+       * ext/opencv/gstfaceblur.c:
+       * ext/opencv/gstfacedetect.c:
+       * ext/opencv/gstmotioncells.c:
+       * ext/opencv/gstpyramidsegment.c:
+       * ext/opencv/gsttemplatematch.c:
+       * ext/opencv/gsttextoverlay.c:
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusenc.c:
+       * ext/resindvd/resindvdbin.c:
+       * ext/resindvd/resindvdsrc.c:
+       * ext/resindvd/rsnaudiomunge.c:
+       * ext/resindvd/rsndec.c:
+       * ext/resindvd/rsnparsetter.c:
+       * ext/resindvd/rsnstreamselector.c:
+       * ext/rsvg/gstrsvgdec.c:
+       * ext/rsvg/gstrsvgoverlay.c:
+       * ext/rtmp/gstrtmpsink.c:
+       * ext/rtmp/gstrtmpsrc.c:
+       * ext/schroedinger/gstschrodec.c:
+       * ext/schroedinger/gstschroenc.c:
+       * ext/sdl/sdlaudiosink.c:
+       * ext/sdl/sdlvideosink.c:
+       * ext/shout/gstshout.c:
+       * ext/snapshot/gstsnapshot.c:
+       * ext/sndfile/gstsfsink.c:
+       * ext/sndfile/gstsfsrc.c:
+       * ext/soundtouch/gstpitch.cc:
+       * ext/spandsp/gstspanplc.c:
+       * ext/spc/gstspc.c:
+       * ext/swfdec/gstswfdec.c:
+       * ext/teletextdec/gstteletextdec.c:
+       * ext/timidity/gsttimidity.c:
+       * ext/timidity/gstwildmidi.c:
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+       * ext/vp8/gstvp8dec.c:
+       * ext/vp8/gstvp8enc.c:
+       * ext/xvid/gstxviddec.c:
+       * ext/xvid/gstxvidenc.c:
+       * ext/zbar/gstzbar.c:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.c:
+       * gst/adpcmdec/adpcmdec.c:
+       * gst/adpcmenc/adpcmenc.c:
+       * gst/aiff/aiffmux.c:
+       * gst/aiff/aiffparse.c:
+       * gst/asfmux/gstasfmux.c:
+       * gst/asfmux/gstasfparse.c:
+       * gst/asfmux/gstrtpasfpay.c:
+       * gst/audiobuffer/gstaudioringbuffer.c:
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstspectrascope.c:
+       * gst/audiovisualizers/gstsynaescope.c:
+       * gst/audiovisualizers/gstwavescope.c:
+       * gst/autoconvert/gstautoconvert.c:
+       * gst/autoconvert/gstautovideoconvert.c:
+       * gst/bayer/gstbayer2rgb.c:
+       * gst/bayer/gstrgb2bayer.c:
+       * gst/camerabin/camerabinimage.c:
+       * gst/camerabin/camerabinvideo.c:
+       * gst/camerabin/gstinputselector.c:
+       * gst/camerabin2/gstviewfinderbin.c:
+       * gst/cdxaparse/gstcdxaparse.c:
+       * gst/cdxaparse/gstvcdparse.c:
+       * gst/chart/gstchart.c:
+       * gst/coloreffects/gstchromahold.c:
+       * gst/coloreffects/gstcoloreffects.c:
+       * gst/colorspace/gstcolorspace.c:
+       * gst/dataurisrc/gstdataurisrc.c:
+       * gst/dccp/gstdccpclientsink.c:
+       * gst/dccp/gstdccpclientsrc.c:
+       * gst/dccp/gstdccpserversink.c:
+       * gst/dccp/gstdccpserversrc.c:
+       * gst/debugutils/fpsdisplaysink.c:
+       * gst/debugutils/gstchecksumsink.c:
+       * gst/debugutils/gstchopmydata.c:
+       * gst/debugutils/gstcompare.c:
+       * gst/debugutils/gstdebugspy.c:
+       * gst/dtmf/gstdtmfdetect.c:
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfdepay.c:
+       * gst/dtmf/gstrtpdtmfsrc.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvdspu/gstdvdspu.c:
+       * gst/faceoverlay/gstfaceoverlay.c:
+       * gst/festival/gstfestival.c:
+       * gst/fieldanalysis/gstfieldanalysis.c:
+       * gst/freeze/gstfreeze.c:
+       * gst/frei0r/gstfrei0rfilter.c:
+       * gst/frei0r/gstfrei0rmixer.c:
+       * gst/frei0r/gstfrei0rsrc.c:
+       * gst/gaudieffects/gstburn.c:
+       * gst/gaudieffects/gstchromium.c:
+       * gst/gaudieffects/gstdilate.c:
+       * gst/gaudieffects/gstdodge.c:
+       * gst/gaudieffects/gstexclusion.c:
+       * gst/gaudieffects/gstgaussblur.c:
+       * gst/gaudieffects/gstsolarize.c:
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/h264parse/gsth264parse.c:
+       * gst/hdvparse/gsthdvparse.c:
+       * gst/hls/gsthlsdemux.c:
+       * gst/id3tag/gstid3mux.c:
+       * gst/inter/gstinteraudiosink.c:
+       * gst/inter/gstinteraudiosrc.c:
+       * gst/inter/gstintervideosink.c:
+       * gst/inter/gstintervideosrc.c:
+       * gst/interlace/gstinterlace.c:
+       * gst/ivfparse/gstivfparse.c:
+       * gst/jp2kdecimator/gstjp2kdecimator.c:
+       * gst/jpegformat/gstjifmux.c:
+       * gst/jpegformat/gstjpegparse.c:
+       * gst/legacyresample/gstlegacyresample.c:
+       * gst/librfb/gstrfbsrc.c:
+       * gst/liveadder/liveadder.c:
+       * gst/mixmatrix/mixmatrix.c:
+       * gst/mpeg1sys/gstmpeg1systemencode.c:
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+       * gst/mpegdemux/mpegtsparse.c:
+       * gst/mpegpsmux/mpegpsmux.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsparse.c:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mpegvideoparse/mpegvideoparse.c:
+       * gst/mve/gstmvedemux.c:
+       * gst/mve/gstmvemux.c:
+       * gst/mxf/mxfdemux.c:
+       * gst/mxf/mxfmux.c:
+       * gst/nsf/gstnsf.c:
+       * gst/nuvdemux/gstnuvdemux.c:
+       * gst/overlay/gstoverlay.c:
+       * gst/patchdetect/gstpatchdetect.c:
+       * gst/pcapparse/gstirtspparse.c:
+       * gst/pcapparse/gstpcapparse.c:
+       * gst/pnm/gstpnmdec.c:
+       * gst/pnm/gstpnmenc.c:
+       * gst/rawparse/gstrawparse.c:
+       * gst/real/gstrealaudiodec.c:
+       * gst/real/gstrealvideodec.c:
+       * gst/removesilence/gstremovesilence.c:
+       * gst/rtpmux/gstrtpdtmfmux.c:
+       * gst/rtpmux/gstrtpmux.c:
+       * gst/rtpvp8/gstrtpvp8depay.c:
+       * gst/rtpvp8/gstrtpvp8pay.c:
+       * gst/scaletempo/gstscaletempo.c:
+       * gst/sdi/gstsdidemux.c:
+       * gst/sdi/gstsdimux.c:
+       * gst/sdp/gstsdpdemux.c:
+       * gst/segmentclip/gstaudiosegmentclip.c:
+       * gst/segmentclip/gstvideosegmentclip.c:
+       * gst/siren/gstsirendec.c:
+       * gst/siren/gstsirenenc.c:
+       * gst/smooth/gstsmooth.c:
+       * gst/speed/gstspeed.c:
+       * gst/subenc/gstsrtenc.c:
+       * gst/subenc/gstwebvttenc.c:
+       * gst/tta/gstttadec.c:
+       * gst/tta/gstttaparse.c:
+       * gst/vbidec/gstvbidec.c:
+       * gst/videodrop/gstvideodrop.c:
+       * gst/videofilters/gstvideofilter2.c:
+       * gst/videomaxrate/videomaxrate.c:
+       * gst/videomeasure/gstvideomeasure_collector.c:
+       * gst/videomeasure/gstvideomeasure_ssim.c:
+       * gst/videoparsers/gstdiracparse.c:
+       * gst/videoparsers/gsth263parse.c:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videosignal/gstvideoanalyse.c:
+       * gst/videosignal/gstvideodetect.c:
+       * gst/videosignal/gstvideomark.c:
+       * gst/vmnc/vmncdec.c:
+       * gst/y4m/gsty4mdec.c:
+       * sys/acmenc/acmenc.c:
+       * sys/acmmp3dec/acmmp3dec.c:
+       * sys/applemedia/avfvideosrc.m:
+       * sys/applemedia/celvideosrc.c:
+       * sys/applemedia/miovideosrc.c:
+       * sys/applemedia/qtkitvideosrc.m:
+       * sys/applemedia/vtdec.c:
+       * sys/applemedia/vtenc.c:
+       * sys/applemedia/vth264decbin.c:
+       * sys/applemedia/vth264encbin.c:
+       * sys/avc/gstavcsrc.cpp:
+       * sys/d3dvideosink/d3dvideosink.c:
+       * sys/decklink/gstdecklinksink.cpp:
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/directdraw/gstdirectdrawsink.c:
+       * sys/directsound/gstdirectsoundsrc.c:
+       * sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+       * sys/dshowdecwrapper/gstdshowvideodec.cpp:
+       * sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
+       * sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
+       * sys/dshowvideosink/dshowvideosink.cpp:
+       * sys/dvb/dvbbasebin.c:
+       * sys/dvb/gstdvbsrc.c:
+       * sys/dxr3/dxr3audiosink.c:
+       * sys/dxr3/dxr3spusink.c:
+       * sys/dxr3/dxr3videosink.c:
+       * sys/fbdev/gstfbdevsink.c:
+       * sys/linsys/gstlinsyssdisink.c:
+       * sys/linsys/gstlinsyssdisrc.c:
+       * sys/osxvideo/osxvideosrc.c:
+       * sys/qcam/gstqcamsrc.c:
+       * sys/qtwrapper/audiodecoders.c:
+       * sys/qtwrapper/videodecoders.c:
+       * sys/shm/gstshmsink.c:
+       * sys/shm/gstshmsrc.c:
+       * sys/vcd/vcdsrc.c:
+       * sys/vdpau/gstvdp/gstvdpdecoder.c:
+       * sys/vdpau/gstvdpsink.c:
+       * sys/vdpau/gstvdpvideopostprocess.c:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+       * sys/vdpau/mpeg4/gstvdpmpeg4dec.c:
+       * sys/wasapi/gstwasapisink.c:
+       * sys/wasapi/gstwasapisrc.c:
+       * sys/wininet/gstwininetsrc.c:
+       * sys/winks/gstksvideosrc.c:
+       * sys/winscreencap/gstdx9screencapsrc.c:
+       * sys/winscreencap/gstgdiscreencapsrc.c:
+       * tests/check/elements/autoconvert.c:
+       * tests/check/elements/baseaudiovisualizer.c:
+       * tools/element-templates/sinkpad:
+       * tools/element-templates/sinkpad-simple:
+       * tools/element-templates/srcpad:
+       * tools/element-templates/srcpad-simple:
+         various: fix pad template ref leaks
+         https://bugzilla.gnome.org/show_bug.cgi?id=662664
+
+2011-10-06 17:43:19 +0200  Julien Isorce <julien.isorce@gmail.com>
+
+       * ext/rtmp/gstrtmpsink.c:
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmp: add WSAStartup and WSACleanup on Win32
+         https://bugzilla.gnome.org/show_bug.cgi?id=661098
+
+2011-11-27 20:24:39 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+       * gst/videoparsers/gstdiracparse.c:
+       * gst/videoparsers/gsth264parse.c:
+         videoparsers: fix format warnings
+         https://bugzilla.gnome.org/show_bug.cgi?id=662618
+
+2011-11-27 23:33:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+         Merge remote-tracking branch 'origin/master' into 0.11
+
+2011-11-24 13:49:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/aiff/Makefile.am:
+       * gst/aiff/aiff.c:
+       * gst/aiff/aiffparse.c:
+       * gst/aiff/aiffparse.h:
+         aiffparse: extract ID3 tags embedded in ID3 chunks
+         https://bugzilla.gnome.org/show_bug.cgi?id=664725
+
+2011-11-26 15:37:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+         Merge remote-tracking branch 'origin/master' into 0.11
+         Conflicts:
+         ext/opus/gstopusdec.c
+         ext/opus/gstopusparse.c
+         gst-libs/gst/video/gstbasevideodecoder.c
+         gst-libs/gst/video/gstbasevideodecoder.h
+
+2011-11-25 23:11:32 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/opencv/gstopencvutils.c:
+       * ext/opencv/gstopencvvideofilter.c:
+         opencv: port baseclass to 0.11
+
+2011-11-25 11:41:19 -0200  Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusenc.c:
+         opusenc: Fixing "Unused var" compiling error for opus codec
+         https://bugzilla.gnome.org/show_bug.cgi?id=664815
+
+2011-11-25 14:00:18 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusheader.c:
+         opusenc: only use mono streams for > 2 channels
+         I'm getting odd results with packing streams into stereo
+         streams, and using only mono streams is enough in all cases.
+
+2011-11-25 12:47:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopuscommon.c:
+       * ext/opus/gstopuscommon.h:
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusenc.c:
+         opus: add some more debug information about channel mapping
+
+2011-11-25 12:46:55 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusparse.c:
+         opusparse: remove dead assigments
+         We now only keep a ref to the headers for later reuse.
+
+2011-11-25 12:40:31 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: do not cause the decoder to apply the channel mapping again
+         Since we already reorder channels, we do not want to write that
+         reordering in the header, or the decoder will do it again.
+
+2011-11-25 12:39:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: fix bogus assertion
+
+2011-11-25 15:49:05 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/voamrwbenc.c:
+         tests: add unit test for voamrwbenc
+
+2011-11-25 12:48:58 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+         Merge remote-tracking branch 'origin/master' into 0.11
+         Conflicts:
+         ext/faac/gstfaac.c
+         ext/opus/gstopusdec.c
+         ext/opus/gstopusenc.c
+         gst/audiovisualizers/gstspacescope.c
+         gst/colorspace/colorspace.c
+
+2011-11-25 11:37:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: some more debug logging
+
+2011-11-25 11:36:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/vp8/gstvp8dec.c:
+         vp8dec: use new basevideodecoder API to drop frames and get QoS messages posted
+
+2011-11-23 20:03:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: add API to drop a frame and post a QoS message on the bus
+         https://bugzilla.gnome.org/show_bug.cgi?id=640017
+         API: gst_base_video_decoder_drop_frame()
+
+2011-08-30 23:39:36 -0300  Luciana Fujii Pontello <luciana.fujii@collabora.co.uk>
+
+       * configure.ac:
+       * sys/Makefile.am:
+       * sys/pvr2d/Makefile.am:
+       * sys/pvr2d/gstpvr.c:
+       * sys/pvr2d/gstpvr.h:
+       * sys/pvr2d/gstpvrbufferpool.c:
+       * sys/pvr2d/gstpvrbufferpool.h:
+       * sys/pvr2d/gstpvrvideosink.c:
+       * sys/pvr2d/gstpvrvideosink.h:
+       * sys/pvr2d/pvr_includes/dri2_ws.h:
+       * sys/pvr2d/pvr_includes/img_defs.h:
+       * sys/pvr2d/pvr_includes/img_types.h:
+       * sys/pvr2d/pvr_includes/pvr2d.h:
+       * sys/pvr2d/pvr_includes/services.h:
+       * sys/pvr2d/pvr_includes/servicesext.h:
+       * sys/pvr2d/pvr_includes/wsegl.h:
+         Add pvrvideosink element
+         PVRVideoSink uses PVR2D library to blit images.
+         Author: Alessandro Decina <alessandro.decina@collabora.co.uk>
+         Author: Luciana Fujii <luciana.fujii@collabora.co.uk>
+
+2011-11-24 21:52:55 +0100  René Stadler <rene.stadler@collabora.co.uk>
+
+       * tests/check/elements/parser.c:
+         tests: fix caps usage in parser test helper
+         Fixes previous commit; users can call this with NULL caps.
+
+2011-11-24 21:42:39 +0100  René Stadler <rene.stadler@collabora.co.uk>
+
+       * tests/check/elements/asfmux.c:
+       * tests/check/elements/autoconvert.c:
+       * tests/check/elements/baseaudiovisualizer.c:
+       * tests/check/elements/legacyresample.c:
+       * tests/check/elements/parser.c:
+       * tests/check/elements/vp8dec.c:
+       * tests/check/elements/vp8enc.c:
+         tests: update for gstcheck API change
+
+2011-11-24 19:03:23 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/README:
+       * gst/audiovisualizers/gstdrawhelpers.h:
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstwavescope.c:
+         audiovisualizers: add aa-line code and user for wave/space-scope
+
+2011-11-24 13:38:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusheader.c:
+         opus: pre-skip and output gain are little endian, remove reminder note
+
+2011-11-24 13:29:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/Makefile.am:
+       * ext/opus/gstopuscommon.c:
+       * ext/opus/gstopuscommon.h:
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusenc.h:
+       * ext/opus/gstopusheader.c:
+       * ext/opus/gstopusheader.h:
+       * ext/opus/gstopusparse.c:
+       * ext/opus/gstopusparse.h:
+         opus: multichannel support
+
+2011-11-23 17:49:58 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusenc.h:
+         opus: switch to multistream API
+         It's very similar to the basic API, and is a superset ot it,
+         which will allow encoding and decoding more than 2 channels.
+
+2011-11-23 17:32:03 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: shuffle supported sample rates to favor 48000
+
+2011-11-23 16:36:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusenc.h:
+         opusenc: remove useless setup field
+
+2011-11-24 12:01:48 +0100  René Stadler <rene.stadler@collabora.co.uk>
+
+       * configure.ac:
+       * gst/videoparsers/gstdiracparse.c:
+       * gst/videoparsers/gsth263parse.c:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videoparsers/h263parse.c:
+         videoparsers: port to 0.11
+         Unit tests missing for now.
+
+2011-11-24 11:59:19 +0100  René Stadler <rene.stadler@collabora.co.uk>
+
+       * gst-libs/gst/Makefile.am:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+         basecamerasrc: port to 0.11
+         Only to fix the build really (gtk-doc is trying to pick up the unbuildable
+         lib). Not tested at all (but pretty trivial case anyways).
+
+2011-11-02 13:25:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/colorspace/colorspace.c:
+         colorspace: fix width/height mismatches
+         https://bugzilla.gnome.org/show_bug.cgi?id=663238
+
+2011-11-24 10:26:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+         mpeg4videoparse: Use the sinkpad template caps as a fallback, not the srcpad ones
+
+2011-11-24 10:14:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+         mpegvideoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
+
+2011-11-24 10:09:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gsth263parse.c:
+         h263parse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
+
+2011-11-24 10:08:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gstdiracparse.c:
+         diracparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
+
+2011-11-24 10:04:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+         mpeg4videoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream
+
+2011-11-24 01:56:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/neon/gstneonhttpsrc.c:
+         neonhttpsrc: remove iradio-* properties
+         Should send tags instead.
+
+2011-11-24 01:52:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/neon/gstneonhttpsrc.c:
+       * ext/neon/gstneonhttpsrc.h:
+         neonhttpsrc: unconditionally send icecast request header, remove iradio-mode property
+
+2011-11-24 01:22:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/libmms/gstmms.c:
+       * ext/libmms/gstmms.h:
+         mmssrc: make connection-speed property a guint64
+         Even if the library limits it to an int.
+
+2011-11-24 00:56:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/sdp/gstsdpdemux.c:
+         sdpdemux: update for gstrtpbin -> rtpbin renaming
+
+2011-11-23 23:42:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+       * ext/rtmp/gstrtmpsink.c:
+         faac, rtmp: more printf format fixes in debug messages
+         https://bugzilla.gnome.org/show_bug.cgi?id=662618
+
+2011-11-21 22:45:15 +0100  Matej Knopp <matej.knopp@gmail.com>
+
+       * configure.ac:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvdspu/gstdvdspu.c:
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/y4m/gsty4mdec.c:
+         Fix printf format compiler warnings on OS X / 64 bit
+         https://bugzilla.gnome.org/show_bug.cgi?id=662618
+
+2011-11-23 23:30:00 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: do not leak buffer when no encoded data yet or encoding error
+
+2011-11-23 23:29:10 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/dts/Makefile.am:
+       * ext/dts/gstdtsdec.c:
+       * ext/dts/gstdtsdec.h:
+         dtsdec: port to audiodecoder
+
+2011-11-23 16:01:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/smooth/gstsmooth.c:
+         smooth: fix printf format compiler warning in debug message
+         https://bugzilla.gnome.org/show_bug.cgi?id=664631
+
+2011-11-23 13:47:11 +0100  Krzysztof Krakowiak <krzysztof.krakowiak@gmail.com>
+
+       * ext/modplug/gstmodplug.cc:
+         modplug: fix modules playing as mono instead of stereo
+         replaced broken if-return logic for fixating rate and number
+         of channels that caused that modules were always (after
+         successful fixation of rate) played as mono (instead of
+         stereo) by correct one with appropiate warnings.
+         https://bugzilla.gnome.org/show_bug.cgi?id=619035
+
+2011-11-23 13:22:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+         opusdec: implement replay gain
+         It would ideally be better to leave this to a rgvolume element,
+         but we don't control the pipeline. So do it by default, and allow
+         disabling it via a property, so the correct volume should always
+         be output.
+
+2011-11-23 11:58:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+         opusdec: add in-band FEC support
+         This allows reconstruction of lost packets if FEC info is included
+         in the next packet, at the cost of extra latency. Since we do not
+         know if the stream has FEC (and this can change at runtime), we
+         always incur the latency, even if we never lose any frame, or see
+         any FEC information. Off by default.
+
+2011-11-23 12:41:32 +0100  René Stadler <rene.stadler@collabora.co.uk>
+
+       * gst/frei0r/gstfrei0r.c:
+         frei0r: normalize boolean property default values to TRUE/FALSE
+         Glib barks at us with a warning when we pass e.g. 4.
+
+2011-11-23 11:59:42 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * pkgconfig/gstreamer-basevideo-uninstalled.pc.in:
+         pkgconfig: aaand fix my last commit
+
+2011-11-23 11:55:06 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * pkgconfig/gstreamer-basevideo-uninstalled.pc.in:
+         pkgconfig: Fix gstreamer-basevideo-uninstalled.pc.in
+
+2011-11-23 11:31:44 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/README:
+       * gst/audiovisualizers/gstdrawhelpers.h:
+         audiovisualizers: update README and TODO comments
+
+2011-11-23 11:21:15 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstspacescope.h:
+         spacescope: use the drawhelpers and add a draw-style property
+         Like in wavescope support drawing dots and lines.
+
+2011-11-23 11:08:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         ext/opus/gstopusdec.c
+         ext/opus/gstopusenc.c
+         ext/opus/gstopusparse.c
+         gst/audiovisualizers/gstwavescope.c
+         gst/filter/Makefile.am
+         gst/filter/gstfilter.c
+         gst/filter/gstiir.c
+         gst/playondemand/gstplayondemand.c
+
+2011-11-23 08:40:49 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/Makefile.am:
+       * gst/audiovisualizers/gstdrawhelpers.h:
+       * gst/audiovisualizers/gstwavescope.c:
+         audiovisualizers: add some simple drawing helpers for reuse
+         Add a (uninstalled) header with simple drawing macros
+
+2011-11-23 08:17:05 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/smoothwave/Makefile.am:
+       * gst/smoothwave/README:
+       * gst/smoothwave/gstsmoothwave.c:
+       * gst/smoothwave/gstsmoothwave.h:
+         smoothwave: remove element unported from 0.8
+         The wavescope element does achieve the same effect.
+
+2011-11-23 08:14:38 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstwavescope.c:
+       * gst/audiovisualizers/gstwavescope.h:
+         wavescope: add a style property for drawing modes
+         Add a style enum of { dots, lines}. Now this elements is a superset of smoothwave.
+
+2011-11-22 23:04:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
+
+2011-11-22 20:27:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: mark properties changeable at runtime with GST_PARAM_MUTABLE_PLAYING
+
+2011-11-22 19:57:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: fix weird event list handling
+         Get rid of weird code that copies a list manually, taking
+         ownership of the elements and then frees the old list. Instead,
+         just take over the old list entirely. (If the intent was to
+         reverse the list, one could use g_list_reverse() instead).
+         Then, push events in the list out from last to first (since they
+         were prepended as they came in) instead of just pushing out the
+         last in the list and leaking the others.
+
+2011-11-22 18:33:17 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/opus.c:
+         opus: add test
+
+2011-11-22 17:04:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusenc.h:
+         opusenc: allow setting most properties at PLAYING time
+         Opus allows these to be changed during encoding, transparently
+         to the decoder.
+
+2011-11-22 16:14:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: bound the bitrate to more sensible values
+         Go from the bounds mentioned in the spec, and allow some more
+         variation.
+         In particular, don't allow silly low bitrates, and allow reaching
+         the maximum useful bitrate.
+
+2011-11-22 15:33:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusenc.h:
+         opusenc: fix crash on pathological parameters
+         Asking for 1 bit/s would select a 0 byte buffer, leading
+         to a crash. Buffer size is now controlled by a max-payload-size
+         property, which can't be less than 2.
+
+2011-11-21 18:12:00 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusparse.c:
+         opusparse: do not send headers through data path
+         Additionally, since Opus packets may change between stereo
+         and mono as the encoder sees fit, assume two channels when
+         we do not see a header, and use the header value otherwise.
+
+2011-11-21 17:48:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusheader.c:
+       * ext/opus/gstopusheader.h:
+         opus: move header magic testing to gstopusheader
+
+2011-11-21 17:01:49 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: skip pre-skip samples
+
+2011-11-21 12:50:22 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+         opusdec: read pre-skip from first header if available
+
+2011-11-17 11:33:56 +0100  Sebastian Pölsterl <sebp@k-d-w.org>
+
+       * gst/mpegdemux/mpegtspacketizer.c:
+         mpegtsparse: support more character set encodings
+         Support UTF-16BE, EUC-KR (KSX1001), GB2312 and ISO-10646/UTF8 text
+         encoding and fixed new line for multibyte encoding
+         https://bugzilla.gnome.org/show_bug.cgi?id=664257
+
+2011-11-22 09:11:35 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/playondemand/.gitignore:
+       * gst/playondemand/Makefile.am:
+       * gst/playondemand/demo-mp3.c:
+       * gst/playondemand/filter.func:
+       * gst/playondemand/gstplayondemand.c:
+       * gst/playondemand/gstplayondemand.h:
+         playondemand: remove unported plugin from 0.8
+         These days one would do the effect e.g. using gnonlin.
+
+2011-11-22 09:10:32 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/speed/gstspeed.c:
+         speed: tiny doc blob clarification
+
+2011-11-21 22:55:40 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * configure.ac:
+       * gst/freeverb/Makefile.am:
+       * gst/freeverb/gstfreeverb.c:
+       * gst/freeverb/gstfreeverb.h:
+         freeverb: add a freeverb port
+         Freeverb is a public domain reverb implementation. Port it as a gstreamer
+         element and make use of gstreamer specific features (gap aware, disconts,
+         controller, ...).
+
+2011-11-21 13:37:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+         update for activation changes
+
+2011-11-21 12:02:28 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: reset tagsetter interface on stop
+
+2011-11-21 11:44:01 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: handle NULL packets (used for PLC)
+
+2011-11-21 11:28:10 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: light cleanup
+
+2011-11-20 13:07:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusparse.c:
+         opusparse: parse raw opus packets
+
+2011-11-20 09:58:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: do not push header buffers
+         Opus headers appear only when muxed in Ogg, so only place them
+         on the caps, where oggmux will find them, but other elements will
+         be blithely unaware of them.
+
+2011-11-20 09:52:46 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/Makefile.am:
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusheader.c:
+       * ext/opus/gstopusheader.h:
+       * ext/opus/gstopusparse.c:
+       * ext/opus/gstopusparse.h:
+         opus: make opusparse set headers on caps
+         Header-on-caps code moved to a new shared location to avoid
+         duplicating the code.
+
+2011-11-21 10:54:56 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * ext/gme/gstgme.c:
+         gme: Port to new pad function signatures
+
+2011-11-21 08:20:14 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * configure.ac:
+       * gst/smooth/Makefile.am:
+       * gst/smooth/gstsmooth.c:
+       * gst/smooth/gstsmooth.h:
+         smooth: port to 0.10
+         Port from GstElement to GstVideoFilter. Fix FIXMEs. Cleanup naming. Expose left
+         out property (kuma-only).
+
+2011-11-20 20:16:03 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/passthrough/.gitignore:
+       * gst/passthrough/Makefile.am:
+       * gst/passthrough/filter.func:
+       * gst/passthrough/gstpassthrough.c:
+       * gst/passthrough/gstpassthrough.h:
+       * gst/passthrough/passthrough.vcproj:
+         passthrough: remove obsolete element
+         It is not built by default. We have identity for some of the needs and otherwise
+         audio/videofilter base classes.
+
+2011-11-20 20:08:47 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/filter/Makefile.am:
+       * gst/filter/filter.vcproj:
+       * gst/filter/gstfilter.c:
+       * gst/filter/gstfilter.h:
+       * gst/filter/gstiir.c:
+       * gst/filter/gstiir.h:
+       * gst/filter/iir.c:
+       * gst/filter/iir.h:
+         filter: remove filter plugin
+         We don't build it anyway and we have audioiirfilter in good.
+
+2011-11-20 20:06:29 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/inter/gstinter.c:
+       * gst/inter/gstintersurface.c:
+         inter: fix leftover boilerplace comments
+
+2011-11-18 03:31:32 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Also reset video/audio filters before capturing
+         Video and audio custom filter element should also be reset before
+         starting a new capture, otherwise we get wrong-state errors
+
+2011-11-19 15:58:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: fix terminating NUL being written in signature
+
+2011-11-16 19:40:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: make frame-size an enum
+         It only supports a set number of specific values (including
+         a non integer one).
+
+2011-11-16 19:22:44 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: the encoder might not make use of all the bytes
+
+2011-11-18 19:28:26 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/opencv/gstfacedetect.c:
+       * ext/opencv/gstmotioncells.c:
+         opencv: use caps constants more
+
+2011-11-18 19:19:32 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/opencv/gstfaceblur.c:
+       * ext/opencv/gstfacedetect.c:
+       * ext/opencv/gstpyramidsegment.c:
+       * ext/opencv/gsttemplatematch.c:
+         opencv: fixup doc blobs
+
+2011-11-18 19:15:26 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/opencv/gstedgedetect.c:
+       * ext/opencv/gstedgedetect.h:
+       * ext/opencv/gstfaceblur.c:
+       * ext/opencv/gstfaceblur.h:
+       * ext/opencv/gstfacedetect.c:
+       * ext/opencv/gstfacedetect.h:
+       * ext/opencv/gstmotioncells.c:
+       * ext/opencv/gstmotioncells.h:
+       * ext/opencv/gstopencv.c:
+       * ext/opencv/gstpyramidsegment.c:
+       * ext/opencv/gstpyramidsegment.h:
+       * ext/opencv/gsttemplatematch.c:
+       * ext/opencv/gsttemplatematch.h:
+         opencv: fixup gobject naming conventions
+
+2011-11-18 17:59:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         update for new scheduling query
+
+2011-11-18 17:18:01 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: remove redundant code
+         ... now that what should not be needed is really not needed anymore to cover
+         up bogus stuff that has been FIXMEd.
+
+2011-11-18 12:32:13 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fix up AU collection processing
+         On the one hand, no need to collect nal if processing last one.
+         On the other hand, ensure AU collection processing to have sufficient
+         next NAL data in normal cases.
+         Fixes #663180.
+
+2011-11-18 15:12:46 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: mind to-be-skipped data in subsequent re-used offsets
+
+2011-11-18 15:10:57 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: avoid additional NAL parsing if no AU collection is needed
+
+2011-11-18 15:10:25 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: some more get_caps tweaking
+         ... by having it use sink template rather than src template, and not
+         passing an downstream parsed(=true) to upstream.
+
+2011-11-18 15:07:01 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser: initialize additional sps field value
+         Fixes #663552.
+
+2011-11-18 13:58:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+         add parent to activate functions
+
+2011-11-18 12:38:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.c:
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.h:
+         fix for scheduling mode rename
+
+2011-11-18 08:29:31 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/opencv/gstcvdilateerode.c:
+       * ext/opencv/gstcvequalizehist.c:
+       * ext/opencv/gstcvsmooth.c:
+       * ext/opencv/gstcvsobel.c:
+         opencv: remove empty finalize implementations
+
+2011-11-17 23:03:05 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/voamrwbenc/Makefile.am:
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+       * ext/voamrwbenc/gstvoamrwbenc.h:
+         voamrwbenc: port to audioencoder
+
+2011-11-17 23:02:55 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: some code shuffle cleanup
+
+2011-11-17 23:02:39 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/voaacenc/Makefile.am:
+       * ext/voaacenc/gstvoaacenc.c:
+       * ext/voaacenc/gstvoaacenc.h:
+         voaacenc: port to audioencoder
+
+2011-11-17 23:02:31 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/celt/gstceltenc.c:
+         celtenc: properly report error case
+
+2011-11-17 23:02:17 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/celt/gstceltdec.h:
+         celtdec: remove unused instance variable
+
+2011-11-17 10:33:42 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Only call ::reset once in READY->PAUSED
+
+2011-11-17 17:32:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         ext/celt/gstceltdec.c
+         ext/opus/gstopusdec.c
+         ext/opus/gstopusdec.h
+         ext/opus/gstopusenc.c
+         ext/opus/gstopusenc.h
+         ext/opus/gstopusparse.c
+
+2011-11-17 15:53:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/assrender/gstassrender.c:
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.c:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvdspu/gstdvdspu.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/sdp/gstsdpdemux.c:
+       * gst/y4m/gsty4mdec.c:
+         add parent to pad functions
+
+2011-11-17 10:07:34 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * docs/libs/Makefile.am:
+         libs-docs: add -DGST_USE_UNSTABLE_API
+
+2011-11-17 09:56:34 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/gme/gstgme.c:
+         gme: port for pad_query api change
+
+2011-11-17 08:25:28 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * gst/asfmux/gstasfmux.c:
+       * gst/debugutils/gstcompare.c:
+       * gst/frei0r/gstfrei0rmixer.c:
+       * gst/mpegpsmux/mpegpsmux.c:
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mxf/mxfmux.c:
+       * gst/videomeasure/gstvideomeasure_ssim.c:
+         collectpads: port API changes
+
+2011-11-16 20:53:13 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/opencv/gstfacedetect.c:
+       * ext/opencv/gstfacedetect.h:
+         facedetect: detect face features
+         Also detect mouth, nose and eyes. Drop faces that don't have them. Fixes leaking the
+         cascades. Adds more docs.
+
+2011-11-16 20:51:27 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/opencv/gstfacedetect.c:
+       * ext/opencv/gstfacedetect.h:
+         facedetect: Gstfacedetect -> GstFacedetect
+
+2011-11-14 11:05:44 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/opencv/gstfacedetect.c:
+         facedetect: code maintenance
+         Update example to be useful. Draw colored ellipses instead of unicolor circles.
+         Reflow code for more local variables. Improve parameter descriptions.
+
+2011-11-16 10:57:55 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+         mpeg4videoparse: Change rank to PRIMARY+1
+
+2011-11-16 10:45:52 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+         mpeg4videoparse: Don't require parsed=false on the sinkpad caps
+
+2011-11-16 18:49:03 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: do not include variable fields in caps
+         Those can vary from one packet to the next, so have no reason
+         to be in the caps.
+
+2011-11-16 18:43:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: fix constrained-vbr property name typo
+
+2011-11-16 10:38:49 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Implement ::sink_get_caps to allow stream-format conversion again
+         Just proxying the downstream caps will prevent h264parse from
+         accepting a different stream-format than what is supported
+         downstream, although it could convert to a different stream-format.
+
+2011-11-16 18:35:29 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+         opusdec: let the base class handle all timing
+
+2011-11-16 19:18:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/celt/gstceltdec.c:
+       * ext/celt/gstceltdec.h:
+         celtdec: port to audiodecoder
+
+2011-11-16 19:11:24 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/celt/Makefile.am:
+       * ext/celt/gstceltenc.c:
+       * ext/celt/gstceltenc.h:
+         celtenc: port to audioencoder
+
+2011-11-15 19:53:33 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/Makefile.am:
+       * ext/opus/gstopus.c:
+       * ext/opus/gstopusparse.c:
+       * ext/opus/gstopusparse.h:
+         opusparse: add opusparse element
+         A very simple element that parses Opus streams from the ad hoc
+         framing used by the Opus test vectors.
+
+2011-11-16 17:24:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: allow negotiation of rate/channels with downstream
+         Since an opus stream may be decoded to any (sensible) rate,
+         and either stereo or mono, we try to accomodate downstream.
+
+2011-11-16 17:05:17 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+         opusdec: rewrite logic
+         Parameters such as frame size, etc, are variable. Pretty much
+         everything can change within a stream, so be prepared about it,
+         and do not cache parameters in the decoder.
+
+2011-11-16 16:56:43 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/Makefile.am:
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusenc.h:
+         opus: port to base audio encoder/decoder
+
+2011-11-16 17:28:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/assrender/gstassrender.c:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvdspu/gstdvdspu.c:
+       * gst/mpegtsdemux/mpegtsparse.c:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/y4m/gsty4mdec.c:
+         add parent to query function
+
+2011-11-16 13:26:35 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: allow negotiation of rate/channels with downstream
+         Since an opus stream may be decoded to any (sensible) rate,
+         and either stereo or mono, we try to accomodate downstream.
+
+2011-11-16 01:14:32 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+         opusdec: rewrite logic
+         Parameters such as frame size, etc, are variable. Pretty much
+         everything can change within a stream, so be prepared about it,
+         and do not cache parameters in the decoder.
+
+2011-11-15 23:00:32 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+         opusdec: remove buffer pool, buffers are not constant size
+
+2011-11-15 19:53:33 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/Makefile.am:
+       * ext/opus/gstopus.c:
+       * ext/opus/gstopusparse.c:
+       * ext/opus/gstopusparse.h:
+         opusparse: add opusparse element
+         A very simple element that parses Opus streams from the ad hoc
+         framing used by the Opus test vectors.
+
+2011-11-16 12:46:04 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/TODO:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Add notes on synchronization and scheduling
+
+2011-11-16 12:40:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+         update for renamed flags
+         Use the _check_reconfigure method instead of checking flags.
+
+2011-11-16 10:56:24 +0100  Jonas Larsson <jonas@hallerud.se>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: outgoing byte stream prefix always has size 4
+         Fixes #664123.
+
+2011-11-15 17:49:48 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: fix pointer mismatch in memcpy on drain
+
+2011-11-15 17:55:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst/mpegtsdemux/tsdemux.c:
+         _query_peer_*() -> _peer_query_*()
+
+2011-11-15 17:24:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/assrender/gstassrender.c:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvdspu/gstdvdspu.c:
+         _peer_get_caps() -> _peer_query_caps()
+
+2011-11-15 16:34:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/assrender/gstassrender.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvdspu/gstdvdspu.c:
+         change getcaps to query
+
+2011-11-14 11:30:13 +0100  David King <amigadave@amigadave.com>
+
+       * gst/camerabin/gstcamerabin.c:
+         camerabin: Document requirement for PLAYING state
+         As described in GNOME bug 663998, the element must be in the PLAYING
+         state before calling capture-start.
+         https://bugzilla.gnome.org/show_bug.cgi?id=664048
+
+2011-11-14 18:34:18 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/check/elements/camerabin2.c:
+         camerabin2: Fix some racyness in tests
+         Fix some racyness as the test was checking the idle property
+         right after it got the preview message for video recordings. In some
+         conditions, it might happen that camerabin2 still hasn't decremented
+         the processing counter after posting the preview and/or the image/video-done
+         message and the test will get idle=false and fail.
+         The approach for checking for the idle property was a busy loop with
+         a sleep. Far from elegant, but good enough for these tests.
+
+2011-11-14 16:55:37 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Also reset audio elements when video capture finishes
+         Audio elements also need to be reset after each capture, do it
+         together with the video elements' reset
+
+2011-11-11 09:58:30 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Add one debug line about camerabin2 being idle
+
+2011-11-10 16:53:40 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Remove video elements' state clearing from start-capture
+         Reduce start-capture workload by moving the elements' state reseting to the
+         finishing steps of the capture. This reduces the time start-capture takes to
+         actually start a capture and return to its caller, improving user experience.
+         As the elements' state reset is now triggered from the message handling
+         function, it needs to spawn a new thread, changing state from the pad's
+         task would cause a deadlock.
+
+2011-11-10 16:11:56 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: keep track of video recording state
+         Adds a new variable to keep track of the state of the video
+         recording in camerabin2. This allows start-capture to reject
+         new video recording requests when one is already ongoing. This
+         fixes one of check tests.
+
+2011-11-14 13:41:58 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/Makefile.am:
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusenc.h:
+         opus: port to encoder/decoder base classes
+
+2011-11-03 14:09:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+         mpegvideoparse:Correct the skipping of vbv_delay in picture header and some typo fixes.
+         https://bugzilla.gnome.org/show_bug.cgi?id=663309
+
+2011-11-13 23:55:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/libmms/gstmms.c:
+       * ext/neon/gstneonhttpsrc.c:
+       * ext/resindvd/resindvdbin.c:
+       * ext/rtmp/gstrtmpsink.c:
+       * ext/rtmp/gstrtmpsrc.c:
+       * gst/dataurisrc/gstdataurisrc.c:
+       * sys/dvb/dvbbasebin.c:
+         Update for GstURIHandler get_protocols() changes
+
+2011-11-11 17:46:41 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+       * ext/opus/gstopusenc.c:
+         opus: port to 0.11
+
+2011-11-10 15:13:34 +0200  Mart Raudsepp <leio@gentoo.org>
+
+       * ext/mimic/Makefile.am:
+       * ext/opencv/Makefile.am:
+       * ext/vp8/Makefile.am:
+       * sys/acmmp3dec/Makefile.am:
+       * sys/linsys/Makefile.am:
+         mimic, opencv, vp8, acmmp3dec, linsys: Don't build static plugins
+         Pass --tag=disable-static to libtool everywhere where it's been forgotten
+         https://bugzilla.gnome.org/show_bug.cgi?id=663768
+
+2011-11-11 10:39:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-11-10 19:42:40 -0300  Matej Knopp <matej.knopp@gmail.com>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.h:
+         mpegvideoparse: add support for progressive frames
+         https://bugzilla.gnome.org/show_bug.cgi?id=663782
+
+2011-11-09 20:09:01 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * configure.ac:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.h:
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstspectrascope.c:
+       * gst/audiovisualizers/gstsynaescope.c:
+       * gst/audiovisualizers/gstwavescope.c:
+         audiovisualizer: port to 0.11
+
+2011-11-10 18:34:03 +0100  Edward Hervey <edward@collabora.com>
+
+       * ext/gme/gstgme.c:
+         gme: Remove query_types
+
+2011-11-10 18:34:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-11-10 18:25:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+         update for adapter api change
+
+2011-11-10 17:13:40 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: fix bandwidth property type mismatch
+
+2011-11-10 12:14:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-11-10 12:11:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/playondemand/gstplayondemand.c:
+       * sys/decklink/gstdecklinksink.cpp:
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/dxr3/dxr3audiosink.c:
+       * sys/dxr3/dxr3spusink.c:
+       * sys/dxr3/dxr3videosink.c:
+       * sys/winks/gstksvideosrc.c:
+       * tools/element-templates/element:
+         chain up in set_clock
+
+2011-11-09 12:21:37 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: protect image location list with mutex
+         Rename the image taglists' mutex into image capture mutex and
+         use it also for the image capture list to prevent concurrent
+         access from different threads (application and capture threads).
+
+2011-11-09 11:45:27 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Handle null taglists for images
+         Add NULL and check for them to the image capture taglist list, representing
+         that a capture has no application tags set.
+
+2011-11-09 11:17:15 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Don't store preview location if preview isn't requested
+         Do not store preview location is post-previews is false, this would
+         mess up preview naming in case application switches between enabling
+         and disabling previews
+
+2011-11-09 09:41:44 -0300  Lasse Laukkanen <lasse.laukkanen@digia.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Avoid blocking in start-capture and send application tags later
+         Tags are currently sent from start-capture, which is run in the
+         application thread. For images we can delay the tags pushing to the
+         buffer probe and push the tags with the location event and reduce
+         start-capture time.
+
+2011-11-09 12:24:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-11-09 12:19:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         gst/colorspace/colorspace.c
+
+2011-11-09 12:00:05 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
+
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         fix documentation typo
+
+2011-11-09 11:56:07 +0100  Thijs Vermeir <thijsvermeir@gmail.com>
+
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfsrc.c:
+         dtmf: fix compiler warning for uninitialized values
+
+2011-11-09 11:55:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst/mpegtsdemux/tsdemux.c:
+         remove query types
+
+2011-11-04 17:54:04 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstdtmfsrc.h:
+       * gst/dtmf/gstrtpdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfsrc.h:
+         dtmfsrc: Reject start/stop requests that come out of order
+
+2011-10-29 18:24:26 +0200  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfsrc.c:
+         dtmf: Post messages when starting to send/receive DTMF
+         This way, the UI can display the DTMF events as they as being sent.
+
+2011-11-08 08:08:20 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Decrement processing counter when message handling finishes
+         Some messages might be interesting to applications, so we can only
+         decrement the processing counter and send the idle notification
+         when those messages are posted on the pipline's bus
+
+2011-11-08 07:33:59 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * tests/check/elements/camerabin2.c:
+         camerabin2: update tests to set post-previews to true
+         Makes most of camerabin2 tests pass again
+
+2011-11-08 11:28:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * sys/dvb/dvbbasebin.c:
+       * tests/examples/camerabin/gst-camera-perf.c:
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+       * tests/examples/scaletempo/demo-player.c:
+         update for probe api changes
+
+2011-11-08 07:09:41 -0300  Lasse Laukkanen <lasse.laukkanen@digia.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: change post-previews property default value as false
+         Generating and posting preview image always comes with a performance
+         penalty so set default value as false. The preview-caps property that
+         defines the preview image format is also NULL by default, so instead
+         of generating preview image of unspecified format by default explicit
+         action from application should be required for enabling preview image
+         posting feature.
+         Application also has to add custom code to be able
+         to handle preview messages on its message handling function anyway.
+
+2011-11-07 20:39:56 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
+
+       * Android.mk:
+         Add Android buildsystem hooks for codecparsers
+
+2011-11-01 20:37:17 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/colorspace/colorspace.c:
+         colorspace: fix r210 writing only half a scanline
+         https://bugzilla.gnome.org/show_bug.cgi?id=663203
+
+2011-11-07 16:41:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/adpcmdec/adpcmdec.c:
+       * gst/adpcmenc/adpcmenc.c:
+         adpcm: add more consts, espcially for static const data
+
+2011-11-07 17:13:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * sys/dvb/dvbbasebin.c:
+         dvdbasebin: fix for pad probes update
+
+2011-11-03 18:55:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/autoconvert/gstautoconvert.c:
+         autoconvert: merge caps instead of using union
+         It's a lot faster, and preserves caps ordering.
+         https://bugzilla.gnome.org/show_bug.cgi?id=663346
+
+2011-10-27 15:53:48 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/kate/gstkatetiger.c:
+       * ext/kate/gstkatetiger.h:
+         tiger: add a 'silent' property to skip rendering
+         https://bugzilla.gnome.org/show_bug.cgi?id=662857
+
+2011-08-29 13:00:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/mpegtspacketizer.c:
+         mpegdemux: catch section lengths extending past the buffer length
+         This is probably the cause for an occasional crash while streaming
+         MPEG. Blind fix after staring at the code and following logic, so
+         may or may not fix the issue, I cannot test.
+
+2011-10-20 10:42:42 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/resindvd/resindvdsrc.c:
+         resindvdsrc: do not try to seek before the first chapter
+         https://bugzilla.gnome.org/show_bug.cgi?id=589064
+
+2011-10-05 18:30:23 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/celt/gstceltenc.c:
+         celtenc: fix latency query
+         https://bugzilla.gnome.org/show_bug.cgi?id=616421
+
+2011-10-05 18:25:58 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: fix latency query
+         This makes live 'audiosrc ! opusenc ! opusdec ! audiosink' pipelines
+         actually work without all audio being dumped.
+         https://bugzilla.gnome.org/show_bug.cgi?id=660999
+
+2011-10-05 15:47:06 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: use debug level for debug info, not error
+         https://bugzilla.gnome.org/show_bug.cgi?id=660999
+
+2011-09-29 14:22:53 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/celt/gstceltenc.c:
+         celtenc: fix calculation of filler data size
+         https://bugzilla.gnome.org/show_bug.cgi?id=660469
+
+2011-09-29 14:22:33 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: fix calculation of filler data size
+         https://bugzilla.gnome.org/show_bug.cgi?id=660469
+
+2011-10-03 18:28:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstpesfilter.c:
+         mpegpsdemux: fix zero length packet handling
+         https://bugzilla.gnome.org/show_bug.cgi?id=631416
+
+2011-11-02 12:41:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * tests/check/libs/mpegvideoparser.c:
+         tests: mark test input data const
+         https://bugzilla.gnome.org/show_bug.cgi?id=663235
+
+2011-11-02 12:41:30 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+         mpegvideoparser: input data is const, mark it so
+
+2011-11-02 12:38:30 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * tests/check/libs/mpegvideoparser.c:
+         tests: allow building with older versions of glib (g_list_free_full)
+         https://bugzilla.gnome.org/show_bug.cgi?id=663234
+
+2011-11-07 10:02:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-11-04 18:06:51 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
+
+       * gst/bayer/Makefile.am:
+         Fix missing sources on bayer's buildsystem androgenizer call
+
+2011-11-04 18:52:35 +0100  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/ladspa/Makefile.am:
+       * ext/ladspa/gstladspa.c:
+       * ext/lv2/Makefile.am:
+       * ext/lv2/gstlv2.c:
+       * ext/soundtouch/Makefile.am:
+       * ext/soundtouch/plugin.c:
+       * gst-libs/gst/signalprocessor/Makefile.am:
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.c:
+       * gst/audiovisualizers/Makefile.am:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/audiovisualizers/plugin.c:
+       * gst/coloreffects/Makefile.am:
+       * gst/coloreffects/gstchromahold.c:
+       * gst/filter/Makefile.am:
+       * gst/filter/gstfilter.c:
+       * gst/filter/gstiir.c:
+       * gst/frei0r/Makefile.am:
+       * gst/frei0r/gstfrei0r.c:
+       * gst/frei0r/gstfrei0rfilter.c:
+       * gst/frei0r/gstfrei0rmixer.c:
+       * gst/frei0r/gstfrei0rsrc.c:
+       * gst/gaudieffects/Makefile.am:
+       * gst/gaudieffects/gstburn.c:
+       * gst/gaudieffects/gstchromium.c:
+       * gst/gaudieffects/gstdilate.c:
+       * gst/gaudieffects/gstexclusion.c:
+       * gst/gaudieffects/gstgaussblur.c:
+       * gst/gaudieffects/gstplugin.c:
+       * gst/gaudieffects/gstsolarize.c:
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/stereo/Makefile.am:
+       * gst/stereo/gststereo.c:
+       * gst/subenc/Makefile.am:
+       * gst/subenc/gstsrtenc.c:
+       * gst/subenc/gstwebvttenc.c:
+       * tests/icles/pitch-test.c:
+         controller: port to new controller location and api
+
+2011-11-04 16:34:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+       * gst/sdp/gstsdpdemux.c:
+         more template fixes
+
+2011-11-04 16:23:03 +0100  Edward Hervey <bilboed@bilboed.com>
+
+       * tests/examples/camerabin/gst-camera.c:
+       * tests/examples/camerabin2/gst-camera2.c:
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+       * tests/examples/mxf/mxfdemux-structure.c:
+       * tests/examples/scaletempo/demo-player.c:
+         examples : Port to 0.11
+
+2011-11-04 13:04:19 +0100  René Stadler <rene.stadler@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser: add more size checks and improve existing
+         Don't subtract with unsigned values, that will bite us. Also fix format
+         specifier in the log message.
+
+2011-11-04 12:31:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/resindvd/resindvdbin.c:
+       * gst/camerabin/camerabinvideo.c:
+       * gst/camerabin/gstcamerabin.c:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+       * gst/sdp/gstsdpdemux.c:
+       * tests/check/elements/asfmux.c:
+       * tests/check/elements/mplex.c:
+         more template fixes
+
+2011-11-04 12:22:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/mplex/gstmplex.cc:
+       * ext/resindvd/rsnstreamselector.c:
+       * gst/asfmux/gstasfmux.c:
+       * gst/camerabin/gstinputselector.c:
+       * gst/liveadder/liveadder.c:
+       * gst/mixmatrix/mixmatrix.c:
+       * gst/mpeg1sys/gstmpeg1systemencode.c:
+       * gst/mpegdemux/mpegtsparse.c:
+       * gst/mpegpsmux/mpegpsmux.c:
+       * gst/mpegtsdemux/mpegtsparse.c:
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/rtpmux/gstrtpdtmfmux.c:
+       * gst/rtpmux/gstrtpmux.c:
+       * gst/videomeasure/gstvideomeasure_ssim.c:
+       * sys/dvb/dvbbasebin.c:
+         make request pads take _%u
+
+2011-11-04 11:24:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/video/Makefile.am:
+       * gst-libs/gst/video/gstsurfacebuffer.c:
+       * gst-libs/gst/video/gstsurfacebuffer.h:
+       * gst-libs/gst/video/gstsurfaceconverter.c:
+       * gst-libs/gst/video/gstsurfaceconverter.h:
+       * gst-libs/gst/video/gstsurfacemeta.c:
+       * gst-libs/gst/video/gstsurfacemeta.h:
+       * gst-libs/gst/video/videocontext.c:
+       * gst-libs/gst/video/videocontext.h:
+         video: port somewhat to 0.11
+         In 0.11 this should be done differently
+
+2011-11-04 11:01:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-11-04 10:17:38 +0100  Edward Hervey <edward@collabora.com>
+
+       * ext/gme/gstgme.c:
+         gme: Fix for removal of gst_element_found_tags_for_pad()
+
+2011-11-03 17:17:10 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst-libs/gst/video/gstsurfacebuffer.h:
+       * gst-libs/gst/video/gstsurfaceconverter.h:
+         surfaceconverter: Remove duplicated forward declaration
+         It seems that some compilers don't like duplicated typedefs.
+
+2011-11-03 16:57:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         videoenc: fix compiler warning
+
+2011-11-03 16:57:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         video: fix for metadata API change
+
+2011-11-03 14:01:41 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * configure.ac:
+       * ext/vp8/gstvp8dec.c:
+       * ext/vp8/gstvp8enc.c:
+         vp8: Port to 0.11
+
+2011-11-03 13:56:49 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst-libs/gst/Makefile.am:
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         libs/video: Finish porting to 0.11
+
+2011-09-28 19:29:07 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * configure.ac:
+       * pkgconfig/Makefile.am:
+       * pkgconfig/gstreamer-basevideo-uninstalled.pc.in:
+       * pkgconfig/gstreamer-basevideo.pc.in:
+         video: Add libgstbasevideo PC file
+
+2011-10-19 16:19:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * gst-libs/gst/video/videocontext.c:
+       * gst-libs/gst/video/videocontext.h:
+         video: Add GstVideoContext interface
+         This interface will be used to implement video context sharing. Those
+         context could be X11 Display, VaDisplay, etc.
+
+2011-10-07 19:05:30 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * docs/libs/gst-plugins-bad-libs-docs.sgml:
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * gst-libs/gst/video/Makefile.am:
+       * gst-libs/gst/video/gstsurfacebuffer.c:
+       * gst-libs/gst/video/gstsurfacebuffer.h:
+       * gst-libs/gst/video/gstsurfaceconverter.c:
+       * gst-libs/gst/video/gstsurfaceconverter.h:
+         video: Abstract surface API for HW accelerated codecs
+
+2011-10-26 16:31:39 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * tests/check/libs/vc1parser.c:
+         tests: make const data const
+         https://bugzilla.gnome.org/show_bug.cgi?id=662776
+
+2011-10-26 16:29:35 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         vc1parser: do not overwrite buffer
+         I do not know the bitstream format, but this seems likely
+         to be what was intended. Also add a check on the number of
+         items to read.
+         https://bugzilla.gnome.org/show_bug.cgi?id=662776
+
+2011-10-21 13:18:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         vc1parser: fix parsing of RANGEREDFRM
+
+2011-11-02 12:10:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsparse.c:
+         tag: update for tag API removal
+
+2011-11-02 10:31:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-11-02 09:14:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/gme/gstgme.c:
+         gme: update for taglist api changes
+
+2011-10-29 09:09:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/tsdemux.c:
+       * sys/dvb/gstdvbsrc.c:
+         structure: fix for api update
+
+2011-10-29 08:25:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/bayer/gstrgb2bayer.c:
+         caps: update for new API
+
+2011-11-01 11:47:46 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: On capture error, skip previews
+         When the camera source fails to do some capture, skip the next
+         preview and decrement processing counter.
+
+2011-11-01 10:38:33 -0300  Lasse Laukkanen <lasse.laukkanen@digia.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: track also preview images with processing counter
+         Makes camerabin2 only signal that it is idle after all previews have
+         been generated, images are captured and saved, and videos have
+         been finished properly.
+
+2011-11-01 15:08:26 +0100  René Stadler <rene.stadler@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser: fix access to uninitialized memory
+         When vui->timing_info_present is 0, vui->fixed_frame_rate_flag and others
+         cannot be accessed since they have not been set.
+         It was also possible that sps->fps_{num,den} end up initialized here.
+
+2011-11-01 11:11:47 +0000  Brad Smith <brad@comstyle.com>
+
+       * configure.ac:
+         configure: hack around broken mplex 2.0.0 headers in mplex check
+         Due to the addition of an unconditional inclusion of config.h in
+         mjpegtool 2.0.0's stream_params.h header the autoconf test for the
+         mplex module failed. Hack around this in the same way we did for
+         mpeg2enc.
+         https://bugzilla.gnome.org/show_bug.cgi?id=661614
+
+2011-11-01 11:09:52 +0000  Brad Smith <brad@comstyle.com>
+
+       * configure.ac:
+         configure: fix typo in mpeg2enc check so CPPFLAGS get restored correctly
+         https://bugzilla.gnome.org/show_bug.cgi?id=661614
+
+2011-11-01 12:29:35 +0100  René Stadler <rene.stadler@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parser: fix MAX_SPS/PPS boundary checks
+
+2011-11-01 12:12:56 +0100  René Stadler <rene.stadler@collabora.co.uk>
+
+       * tests/check/elements/h264parse.c:
+         tests: h264parse: fix exit code
+
+2011-11-01 00:45:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.c:
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.h:
+       * gst/rawparse/gstrawparse.c:
+       * gst/rawparse/gstrawparse.h:
+       * sys/dvb/dvbbasebin.c:
+       * tests/examples/camerabin/gst-camera-perf.c:
+         Update for pad API changes
+         GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
+
+2011-10-28 11:10:06 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * gst/fieldanalysis/gstfieldanalysis.c:
+         fieldanalysis: Don't reset the context on DISCONT
+         On discont, the queue of frames was being cleared, but also the
+         context reset. We only need to clear the queue.
+
+2011-10-31 14:51:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+         Merge remote-tracking branch 'origin/master' into 0.11
+
+2011-10-31 14:51:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/kate/gstkateenc.c:
+       * ext/kate/gstkateutil.c:
+       * gst/bayer/gstbayer2rgb.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+         kate, bayer, tsdemux: update for caps and taglist API changes
+
+2011-10-31 14:50:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+         configure: add kate and mythtv to non-ported list
+         katetiger isn't ported, so plugin doesn't build if libtiger is present.
+
+2011-10-31 11:36:06 +0100  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: handle failures in start() and stop()
+
+2011-10-31 06:59:53 -0300  Tommi Myöhänen <tommi.myohanen@digia.com>
+
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h:
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.h:
+         basecamerasrc: optimize state changing speed
+         Create preview pipeline already in initialization phase. This speeds
+         up NULL_TO_READY state change. Also implement a separate function for
+         setting the preview filter element.
+         This also restricts the preview filter property to work only on
+         NULL state.
+
+2011-10-28 15:16:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/kate/gstkatedec.c:
+       * ext/kate/gstkateutil.c:
+       * gst-libs/gst/Makefile.am:
+       * gst/dataurisrc/gstdataurisrc.c:
+       * gst/mpegtsdemux/tsdemux.c:
+         make elements compile again
+
+2011-10-27 16:23:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+         mpegtsdemux: fix compilation
+
+2011-10-27 16:23:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/assrender/gstassrender.c:
+         assrender: fix compilation
+
+2011-10-27 16:22:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+         add spandsp to non-ported
+
+2011-10-27 16:13:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-10-21 15:04:05 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+       * ext/apexsink/gstapexsink.c:
+       * ext/directfb/dfbvideosink.c:
+       * gst-libs/gst/interfaces/photography.c:
+       * gst-libs/gst/interfaces/photography.h:
+       * gst/camerabin/gstcamerabincolorbalance.c:
+       * gst/camerabin/gstcamerabincolorbalance.h:
+         interfaces: clean up the use of iface and class/klass
+
+2011-10-19 10:24:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         vc1parser: Correct the parsing of FRMRTQ_POSTPROC and BITRTQ_POSTPROC
+
+2011-10-21 11:40:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         vc1parser: Correct the parsing of sequece layer.
+
+2011-10-20 09:39:19 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
+
+       * Android.mk:
+         Disable ext/faad for the android ndk build
+         It currently makes the build fail. Idea is to enable
+         it back again once its building problems get sorted
+         out.
+
+2011-10-18 14:41:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/assrender/gstassrender.c:
+       * gst/nuvdemux/gstnuvdemux.c:
+         assrender, nuvdemux: unref buffers with gst_buffer_unref()
+
+2011-10-18 14:32:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-10-18 14:28:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/celt/gstceltdec.c:
+         celt: start of 0.11 port
+
+2011-10-14 11:07:00 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+         codecparsers: VC1: Compute par and fps in advanced profile
+
+2011-10-10 14:19:48 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+         codecparsers: VC1: Handle interlaced fields
+
+2011-10-10 10:14:12 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+         codecparsers: VC1: Handle interlaced frames properly
+
+2011-10-07 13:11:55 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+         codecparsers: VC1: Use enums when possible
+         Add GstVC1FrameCodingMode and use it for the fcm field
+         Use GstVC1PictureType as variable type for ptype
+         Use GstVC1Level as variable type for level
+
+2011-10-07 17:42:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: vc1: fix bitplanes decoding (check for errors).
+
+2011-10-07 15:21:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: vc1: fix bitplanes decoding (INVERT mode).
+
+2011-10-07 13:59:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: vc1: fix MVMODE and MVMODE2 parsing.
+
+2011-10-05 17:39:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: vc1: handle skipped pictures gracefully.
+
+2011-10-04 17:39:42 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: VC1: Implement bitplanes diff operator
+
+2011-10-04 17:39:00 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+         codecparsers: VC1: Some cosmetics and debug logging enhancements
+
+2011-10-04 15:16:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+       * tests/check/libs/vc1parser.c:
+         codecparsers: vc1: Implement bitplanes handling properly
+         Add a new GstVC1BitPlanes API.
+
+2011-10-04 14:04:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+         codecparsers: vc1: fix BFRACTION parser (values range + overflow).
+
+2011-10-04 11:57:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: vc1: fix VLC decoding.
+
+2011-10-05 16:40:47 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+         codecparsers: VC1: Implement FrameLayer parsing
+
+2011-10-05 12:15:00 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+       * tests/check/libs/vc1parser.c:
+         codecparsers: VC1: Implement Sequence Layer Data Structures
+         Instead of having a single VC1SequenceHeader structure, use the 3 structs
+         from the "Table 265: Sequence Layer Data Structure" of the specification
+         for the library to be more flexible.
+         Implement the functions to parse them
+
+2011-10-05 08:26:31 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: VC1: Compute framerate and bitrate in simple/main profiles
+
+2011-10-03 14:25:00 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+       * tests/check/libs/vc1parser.c:
+         codecparsers: VC1: compute MB height and width
+         Add them to GstVC1SequenceHdr
+
+2011-10-03 15:36:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: vc1: debug cosmetics.
+
+2011-10-03 11:42:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+         codecparsers: vc1: record picture layer header size in bits.
+
+2011-10-03 11:14:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+         codecparsers: vc1: compute altpquant.
+
+2011-10-03 14:22:17 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * tests/check/libs/vc1parser.c:
+         codecparsers: VC1: Fix after GstVC1ParserResult renaming
+
+2011-09-30 12:41:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+         codecparsers: vc1: use GstVC1ParserResult type name similarly to other parsers.
+
+2011-09-30 11:38:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+         codecparsers: vc1: handle End-of-Sequence correctly.
+
+2011-09-14 14:21:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+         codecparsers: mpeg2: fix quant_matrix_extension() parser for chroma intra QM.
+
+2011-10-13 16:52:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: correct debug message and remove some dead code
+         See #661113.
+
+2011-10-06 16:55:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: correct parsing of "numberOfPictureParameterSets"
+         See #661113.
+
+2011-10-17 10:19:20 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/bayer/gstbayer2rgb.c:
+         bayer2rgb: Fix pad template caps
+
+2011-10-16 17:41:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * gst/y4m/gsty4mdec.c:
+       * gst/y4m/gsty4mdec.h:
+         y4m: port to 0.11
+
+2011-10-16 16:45:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * ext/faac/gstfaac.c:
+         faac: port to 0.11
+
+2011-10-16 16:28:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * gst/bayer/gstbayer2rgb.c:
+       * gst/bayer/gstrgb2bayer.c:
+       * gst/bayer/gstrgb2bayer.h:
+         bayer: port to 0.11
+
+2011-10-16 15:28:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-10-13 16:57:31 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Use gst_buffer_join instead of bufferlists
+         This is *really* inefficient. We should track list of GstMemory
+         instead.
+
+2011-10-13 16:57:17 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Plug more leaks
+
+2011-10-13 16:55:54 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: Refactor scan loop
+         Avoids ending up leaking packets when we got one and res was different
+         from GST_FLOW_OK.
+         It also looks more comprehensible
+
+2011-10-13 16:55:40 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: Don't leak upstream events
+
+2011-10-13 16:55:05 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: Refactor code to cope with g_hash_table_foreach_remove()
+
+2011-10-12 18:05:07 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * configure.ac:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/mpegtspacketizer.h:
+       * gst/mpegtsdemux/mpegtsparse.c:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+         tsdemux/tsparse: Port to 0.11
+         This is a naive port that somewhat works but is inefficient.
+         I need to rethink how to make the best out of GstMemory/GstBuffer
+
+2011-10-12 12:09:18 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Check before acessing preview location list
+         Only access the preview location if it exists, to avoid acessing
+         a NULL variable. If the preview location list doesn't exist, it is
+         likely because the source has posted a preview message after camerabin2
+         has been put to READY.
+
+2011-08-07 17:01:48 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+
+       * sys/shm/gstshmsink.c:
+       * sys/shm/gstshmsink.h:
+         shm: Add buffer-time property
+         Add a buffer-time property to limit the size of the amount of data
+         queued in the shmsink buffer in nanoseconds.
+         Fixes: #656107
+
+2011-08-07 16:36:32 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+
+       * sys/shm/shmpipe.c:
+       * sys/shm/shmpipe.h:
+         shm: Add ability to add uint64 tags on buffers
+
+2011-10-11 23:30:49 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+         basecamerasrc: Set preview pipeline to ready when going to ready
+         The preview pipeline should go to ready when the camerasrc goes
+         to ready, as in ready elements shouldn't be processing data.
+
+2011-10-11 23:13:00 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Add a mutex to avoid concurrent access of preview filename lists
+         The preview filename list is acessed whenever a new capture is started, when
+         camera-source posts a new preview message or on state changes. All of those can
+         occur simultaneously, so add a mutex to prevent concurrent access.
+
+2011-10-07 10:48:07 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin/gstcamerabin.c:
+         camerabin: Reset audiosrc timestamping
+         Reset audiosrc's timestamping data by setting
+         it to NULL to reset the ringbuffer and then re-seting
+         the clock that camerabin might not redistribute
+
+2011-10-11 16:27:07 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>
+
+       * gst/camerabin/camerabinvideo.c:
+         camerabin: Prevent audio source from providing clock
+         camerabin's audio source might be put to NULL during its
+         use, so the clock would be lost. Better not allow it to
+         provide a clock at all.
+
+2011-10-11 11:05:52 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * configure.ac:
+         configure.ac: openal is not ported yet
+
+2011-10-10 11:41:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * sys/dvb/dvbbasebin.c:
+       * sys/dvb/gstdvbsrc.c:
+         dvb: port to 0.11
+
+2011-10-10 10:15:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.h:
+         dvbsuboverlay: port to 0.11
+
+2011-10-08 15:16:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/dvdspu/gstdvdspu.c:
+       * gst/dvdspu/gstdvdspu.h:
+       * gst/dvdspu/gstspu-common.h:
+       * gst/dvdspu/gstspu-pgs.c:
+       * gst/dvdspu/gstspu-pgs.h:
+       * gst/dvdspu/gstspu-vobsub-render.c:
+       * gst/dvdspu/gstspu-vobsub.c:
+       * gst/dvdspu/gstspu-vobsub.h:
+         dvdspu: port to 0.11
+
+2011-10-08 14:22:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/kate/gstkatedec.c:
+       * ext/kate/gstkateenc.c:
+       * ext/kate/gstkateparse.c:
+       * ext/kate/gstkatespu.c:
+       * ext/kate/gstkatetag.c:
+       * ext/kate/gstkateutil.c:
+       * ext/kate/gstkateutil.h:
+         kate: port to 0.11
+
+2011-10-08 13:14:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+         configure: disable directfb
+
+2011-10-08 12:07:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/zbar/gstzbar.c:
+       * ext/zbar/gstzbar.h:
+         zbar: port to 0.11
+
+2011-10-08 11:57:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/gme/gstgme.c:
+         gme: port to 0.11
+
+2011-10-08 11:46:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/flite/gstflitetestsrc.c:
+         flite: port to 0.11
+
+2011-10-08 11:40:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsink.c:
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmp: port to 0.11
+
+2011-10-08 11:17:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-10-06 23:22:51 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
+
+       * tests/examples/camerabin/gst-camera.c:
+       * tests/examples/camerabin2/gst-camera2.c:
+       * tests/examples/scaletempo/demo-gui.c:
+         examples: Fixes for compiling with GTK+ 3.0
+         camerabing example had a missing ')' and the fix to build against GTK+3
+         that was introduced in commit 516c977c76ba4cd86a7147aab7416a33d76f870f
+         is also applied to the camerabin2 example.
+         The scaletempo demo was using API which has been removed, so that's
+         wrapped in a version check.
+
+2011-10-06 17:56:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/dvdspu/gstdvdspu.c:
+         dvdspu: beginning of port to 0.11
+
+2011-10-06 12:15:45 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Make proper use of the h264parser lib in parse_chain
+         Minor debugging logs fixes
+
+2011-10-06 14:05:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-10-06 14:03:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+         mpeg4videoparse: port to 0.11
+
+2011-10-06 12:25:26 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: properly interpret baseparse draining state
+         ... which means the input data has reached the end, but need not exclude
+         many separate frames may still need parsing.
+         Fixes merging NALs into AU.
+
+2011-10-05 23:14:23 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: correct the size argument of gst_h264_parser_identify_nalu_avc()
+
+2011-10-05 12:09:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: minimum size of parsable avcC data should be 8
+
+2011-10-06 10:58:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * ext/assrender/gstassrender.c:
+       * ext/assrender/gstassrender.h:
+         assrender: port to 0.11
+
+2011-10-05 20:06:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/jpegformat/gstjifmux.c:
+       * gst/jpegformat/gstjpegparse.c:
+         jpegformat: port to 0.11
+
+2011-10-05 12:53:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: more porting
+
+2011-10-04 18:54:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * ext/libmms/gstmms.c:
+         mmssrc: port to 0.11
+
+2011-10-04 18:38:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * gst/dataurisrc/gstdataurisrc.c:
+         dataurisrc: port to 0.11
+
+2011-10-04 18:35:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+         configure: add more unported plugins
+
+2011-10-04 14:30:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * tests/examples/opencv/gst_element_print_properties.c:
+         tests: port
+
+2011-10-04 14:27:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         video: start porting some base classes
+
+2011-10-04 14:27:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/parser.c:
+       * tests/examples/camerabin/gst-camera-perf.c:
+       * tests/examples/camerabin/gst-camera.c:
+       * tests/examples/camerabin/gst-camerabin-test.c:
+         tests: fix some tests
+
+2011-10-04 14:26:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/interfaces/photography.h:
+         photography: remore implement-interface
+
+2011-10-04 14:25:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+         configure: add more unported plugins
+
+2011-10-04 13:33:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/signalprocessor/gstsignalprocessor.c:
+         signalprocessor: port to 0.11
+
+2011-10-04 13:33:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+         faad: use right caps
+
+2011-10-04 13:29:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-10-04 12:31:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/plugin.c:
+         videoparsers: Only fail to initialize the plugin if all parsers can't be registered
+
+2011-10-03 15:26:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         camerabin2: Initialize camerabin2 preview pipeline data with 0
+         Use g_new0 to initialize all fields with 0 to only cleanup what has been
+         initialized. This makes cleanup work correctly when some initialization
+         fails and pointers are left in some inconsistent state.
+
+2011-10-03 12:06:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/rtpvp8/gstrtpvp8pay.c:
+         rtpvp8pay: Fix typo
+
+2011-09-23 22:58:30 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/rtpvp8/gstrtpvp8depay.c:
+       * gst/rtpvp8/gstrtpvp8pay.c:
+       * gst/rtpvp8/gstrtpvp8pay.h:
+         rtpvp8: Update the pay/depay to the ietf-draft-01 spec
+
+2011-10-03 11:24:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-09-28 14:57:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: fix decoding
+         A simple ... opusenc ! opusdec ... pipeline now works.
+         https://bugzilla.gnome.org/show_bug.cgi?id=660364
+
+2011-09-28 14:56:18 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: moan if we get an unexpected amount of data
+         https://bugzilla.gnome.org/show_bug.cgi?id=660364
+
+2011-09-28 14:22:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusenc.c:
+         opus: properly setup caps and init state from caps
+         https://bugzilla.gnome.org/show_bug.cgi?id=660364
+
+2011-09-28 13:25:21 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusenc.c:
+         opusenc: use the same frame size setup as the opus test code
+         https://bugzilla.gnome.org/show_bug.cgi?id=660364
+
+2011-09-28 13:24:52 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+         opusdec: opus supports a select set of sampling rates
+         https://bugzilla.gnome.org/show_bug.cgi?id=660364
+
+2011-09-28 13:24:21 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusenc.c:
+         opus: make it build against current, and remove cruft
+         https://bugzilla.gnome.org/show_bug.cgi?id=660364
+
+2011-09-30 18:54:04 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegtsdemux: fix scanning stopping too early
+         https://bugzilla.gnome.org/show_bug.cgi?id=648245
+
+2011-09-29 20:55:22 +0100  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>
+
+       * ext/kate/gstkatetiger.c:
+         kate: avoid rendering when we know there is nothing to render
+         https://bugzilla.gnome.org/show_bug.cgi?id=660528
+
+2011-10-01 14:30:07 +0100  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>
+
+       * ext/kate/gstkatetiger.c:
+         kate: fix race condition on PAUSED->READY state change
+         https://bugzilla.gnome.org/show_bug.cgi?id=660630
+
+2011-09-21 14:53:01 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegpsdemux: take into account SCR offset when seeking
+         Since the seeking byte offset is chosen by linear interpolation
+         from SCR values, we need to take that first SCR into account
+         to end up near the correct offset. Otherwise, as the code does
+         a linear search after that first seek, it will take a LOOOOOONG
+         time to get there for streams which don't start at zero.
+         https://bugzilla.gnome.org/show_bug.cgi?id=659485
+
+2011-09-21 17:29:52 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegdemux.c:
+         mpegdemux: answer position query with a stream time position
+         https://bugzilla.gnome.org/show_bug.cgi?id=659485
+
+2011-09-20 15:21:53 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegdemux.h:
+         mpegpsdemux: remove unused field
+         https://bugzilla.gnome.org/show_bug.cgi?id=659485
+
+2011-09-29 18:20:44 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: Refactor tests a little
+         Refactor camerabin2 tests a little
+
+2011-09-29 13:03:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: adding tests to check for preview message filenames
+         Preview messages now have filenames, add tests to check that they are
+         correct
+
+2011-09-29 18:03:25 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: add location to preview image messages
+         Makes camerabin2 intercept preview-image messages and add
+         the filename corresponding to the message structure in the
+         'location' field.
+         Makes easier for applications to track preview images
+
+2011-09-27 13:04:21 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.h:
+         camerabin2: removing capsfilter from preview pipeline
+         appsink already has a caps property, so we don't need the
+         capsfilter here
+
+2011-09-29 16:22:00 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Fix potential loss of EOS event
+         Setting the audio source to NULL just after pushing the EOS event
+         on it could potentially cause loss of said EOS event. Instead, we
+         can set the audio source to NULL when ready-for-capture is
+         signalled and the boolean value is true as this indicates we are
+         not currently capturing video.
+
+2011-09-28 13:01:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+         configure: add ported faad and sdp elements
+
+2011-09-28 12:54:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/interfaces/photography.c:
+         photography: remove implements-interface prerequisite
+
+2011-09-28 12:54:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * common:
+         use the 0.11 branch of common
+
+2011-09-27 13:22:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+         faad: port to 0.11
+
+2011-09-26 22:31:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-09-26 22:30:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/sdp/gstsdpdemux.c:
+         sdpdemux: port to 0.11
+
+2011-09-26 17:23:41 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Stop the audio source between captures
+         Move the audio source setting of state to NULL to _stop_capture () to
+         avoid the audio source running between captures.
+
+2011-09-26 16:26:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: Also set maximum number of samples that the subclass wants
+
+2011-09-26 16:05:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: Simple fix for GstAudioEncoder API change
+
+2011-08-23 18:25:20 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * docs/libs/gst-plugins-bad-libs-docs.sgml:
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * gst-libs/gst/codecparsers/Makefile.am:
+       * gst-libs/gst/codecparsers/gstvc1parser.c:
+       * gst-libs/gst/codecparsers/gstvc1parser.h:
+       * tests/check/Makefile.am:
+       * tests/check/libs/vc1parser.c:
+         codecparser: VC1: Implement a VC1 parsing library
+
+2011-09-16 19:03:31 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+       * gst/videoparsers/Makefile.am:
+       * tests/check/Makefile.am:
+         codecparsers: Declare the new APIs as unstable for the time being
+
+2011-09-26 11:44:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegtsdemux: keep CRC table in .rodata
+         https://bugzilla.gnome.org/show_bug.cgi?id=660118
+
+2011-09-20 16:29:55 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/pcapparse/Makefile.am:
+       * gst/pcapparse/gstirtspparse.c:
+       * gst/pcapparse/gstirtspparse.h:
+       * gst/pcapparse/gstpcapparse.c:
+       * gst/pcapparse/plugin.c:
+         irtspparse: add Interleaved RTSP parser element
+
+2011-09-23 10:10:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+         faad: fix compiler warning
+         gstfaad.c: In function 'gst_faad_parse':
+         gstfaad.c:615:11: error: 'len' may be used uninitialized in this function
+
+2011-09-23 09:57:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+         faad: parse wants a GstFlowReturn return value, not a gboolean
+
+2011-09-22 20:11:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/mpegpsmux/psmux.c:
+         psmux: fix writing of system header, which makes VLC not skip the adjacent PSM and play embedded H.264 streams
+         header_length contains the length in bytes after the header_length
+         field, excluding the 6 byte start code and header_length field.
+         H.264 streams and some other formats need to be announced in the PSM.
+         VLC wouldn't play files created with mpegpsmux containing H.264 because
+         we claim the system header is larger than it actually is, which makes
+         VLC skip the program stream map which follows the system header, which
+         in turn makes it not recognise our H.264 video stream.
+
+2011-09-22 20:09:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * docs/libs/.gitignore:
+         docs: add ignore rules for libs docs directory
+
+2011-09-22 18:23:32 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: fixup misunderstanding in sample counting
+         ... between codec and audioencoder regarding whether or not channel
+         count is already considered.
+         Fixes #659836.
+
+2011-09-22 16:01:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faad/gstfaad.c:
+         faad: use some more boilerplate
+
+2011-09-22 09:49:21 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faad/Makefile.am:
+       * ext/faad/gstfaad.c:
+       * ext/faad/gstfaad.h:
+         faad: port to audiodecoder
+
+2011-09-21 16:11:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: use some more boilerplate
+
+2011-09-21 16:01:28 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/faac/Makefile.am:
+       * ext/faac/gstfaac.c:
+       * ext/faac/gstfaac.h:
+         faac: port to audioencoder
+
+2011-09-20 16:54:32 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/kate/gstkatetiger.c:
+         kate: forward return code from setting src pad caps
+         https://bugzilla.gnome.org/show_bug.cgi?id=659606
+
+2011-09-20 13:00:49 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         basecamerasrc: Fail state change if preview pipeline fails creation
+         If the preview pipeline fails creation, for any reason, we should
+         fail basecamerasrc state change.
+         Also adds a missing g_return_if_fail check to preview pipeline
+         functions
+
+2011-09-19 16:32:58 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+         codecparsers: Add checks to input, and fix size checking
+
+2011-09-19 14:54:11 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth263parse.c:
+         h263parse: bring debug statements up to desired specs
+
+2011-09-19 14:07:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: bring debug statements up to desired specs
+
+2011-09-19 13:41:44 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+         codecparsinglibs: Doc and indentation fixes
+
+2011-09-10 11:31:20 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/rtpvp8/Makefile.am:
+       * gst/rtpvp8/dboolhuff.LICENSE:
+       * gst/rtpvp8/dboolhuff.c:
+       * gst/rtpvp8/dboolhuff.h:
+       * gst/rtpvp8/gstrtpvp8pay.c:
+         rtpvp8: fix bitstream parsing using the wrong kind of bitreader
+         VP8 uses a probabilistic bool coder, not a straight bit coder.
+         This fixes parsing when error-resilient is set.
+         This commit includes a copy of libvpx's bool coder, BSD licensed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=652694
+
+2011-09-14 20:22:42 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/celt/gstceltdec.c:
+       * ext/celt/gstceltenc.c:
+         celt: a bit more error checking on header parsing
+         https://bugzilla.gnome.org/show_bug.cgi?id=659087
+
+2011-09-14 19:56:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/celt/gstceltenc.c:
+         celtenc: cleanup header creation
+         Avoid an extra copy via a temporary fixed size stack buffer.
+         Use libcelt's header size to allocate a buffer of the correct
+         size in the first place (libcelt has an off by 4 there, so
+         account for this).
+         While there, make size unsigned, and granpos signed.
+         https://bugzilla.gnome.org/show_bug.cgi?id=659087
+
+2011-09-14 19:09:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/celt/gstceltenc.c:
+         celtenc: do not use invalid buffer timestamps
+         https://bugzilla.gnome.org/show_bug.cgi?id=659087
+
+2011-09-14 17:26:05 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/celt/gstceltdec.c:
+         celtdec: fix error checking with libcelt 0.11
+         The return value of celt_decode has changed, newer versions
+         now return positive values on success.
+         https://bugzilla.gnome.org/show_bug.cgi?id=659087
+
+2011-09-14 17:07:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/celt/gstceltenc.c:
+       * ext/celt/gstceltenc.h:
+         celtenc: allow actually overriding frame size
+         https://bugzilla.gnome.org/show_bug.cgi?id=659087
+
+2011-09-13 16:24:32 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/kate/gstkatetiger.c:
+         kate: flush on seek, and ensure we cancel any waiting buffer
+         This is what pango textoverlay does, and I've had that condition
+         variable get stuck once.
+         https://bugzilla.gnome.org/show_bug.cgi?id=658940
+
+2011-09-12 11:17:20 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         h264parse: do not try to read from a non existent VUI
+         https://bugzilla.gnome.org/show_bug.cgi?id=658800
+
+2011-09-16 00:32:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Adding 2 more log messages
+
+2011-09-14 15:20:09 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: replace deprecated g_atomic_int_exchange_and_add
+         It was replaced by g_atomic_int_add, which now returns the
+         old value.
+         https://bugzilla.gnome.org/show_bug.cgi?id=659061
+
+2011-09-15 17:35:44 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Reset last state change result on state-locked elements
+         An element stores the result for the last state change it did and
+         GstBin's state change handler will use this last result for state
+         locked elements to decide if its state change was successfull or not.
+         In camerabin2, the filesinks have their state locked and when they
+         fail switching states, this last failure will be used if the application
+         tries to change camerabin2's state, causing any state change to fail.
+         This patch makes camerabin2 reset this last change failure, avoiding
+         that camerabin2 fails on its next state changes.
+
+2011-09-15 18:17:24 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/spandsp/gstspanplc.c:
+         spanplc: Fix typos
+
+2011-09-13 20:40:35 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+         mpegvideoparse: Handle properly frame detection
+         Handle the case where we have buffers containing no startcode
+         in the middle of a frame properly.
+
+2011-09-13 20:38:27 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+         codecparsers: mpegvideo: Debugging symbols enhancements
+
+2011-09-12 13:54:37 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+         codecparsers: mpegvideo: Add the ChromaType enum
+
+2011-09-12 13:41:41 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+         codecparsers: mpegvideo: Change broken_gop to broken_link
+         This way we respect the standard naming
+
+2011-09-14 16:14:24 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.h:
+         mpegvideoparse: send a video-codec tag
+         https://bugzilla.gnome.org/show_bug.cgi?id=569305
+
+2011-09-12 16:50:10 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Check zoom notify callback from camera-source
+         Camerabin2 has a zoom property that is simply proxied to its
+         internal camera-source element. This patch makes camerabin2 listen
+         to 'notify' signals from it so it can update its zoom property value
+         when camera-source changes its zoom as a side-effect of another operation
+         or because the user set the zoom directly to it, instead of doing
+         it from camerabin2.
+
+2011-08-29 08:00:22 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * ext/rtmp/gstrtmpsink.c:
+         rtmpsink: don't block the main thread with RTMP_Connect
+         Move the RTMP_Connect call from the main thread (::start) to the streaming
+         thread (::render).
+
+2011-09-12 10:33:06 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: fix compiler warnings
+
+2011-09-12 10:23:19 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+         mpegvideoparse: fix compiler warnings
+
+2011-09-09 14:22:39 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Make use of the h264_nal_parser_free function
+
+2011-09-09 14:15:21 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * tests/check/libs/h264parser.c:
+         codecparsers: h264: Implement the nal_parser_free function
+
+2011-09-06 21:29:28 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * tests/check/libs/h264parser.c:
+         codecparsers: h264: Use g_slice instead of g_malloc in nal_parser_new
+
+2011-09-06 21:28:45 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: Update the documentation
+         Fix a few error.
+         Document missing parts.
+         Add links to the specifications
+
+2011-09-09 12:27:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/hls/m3u8.c:
+         hlsdemux: Fix merge mistake from last commit
+
+2011-09-08 23:56:33 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+       * gst/hls/gsthlsdemux.h:
+       * gst/hls/m3u8.c:
+       * gst/hls/m3u8.h:
+         hlsdemux: Report the correct timestamp for live streams
+         Buffers would always start with timestamp 0 and we'd start streaming
+         from the first buffer, but live streams always start streaming from
+         the last fragment - 3 fragments in the playlist, which makes its
+         timestamp, as returned by get_next_fragment, be whatever position
+         they had in the playlist. This makes sure the position correctly
+         reports the position of the buffer in the playlist, and added a shifting
+         variable to allow seeking in the middle of fragments.
+
+2011-09-08 22:13:19 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         hlsdemux/tsdemux: Add HP copyright on work done on HLS
+
+2011-09-08 20:29:42 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: set playlist to NULL after unreffing it to avoid a double-unref in the dispose
+
+2011-09-08 18:25:00 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Do not lock the mutex of the fetcher during EOS
+         The fetch_location might call stop_fetcher which could generate an EOS
+         and cause a deadlock
+
+2011-09-06 22:11:06 -0400  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * configure.ac:
+       * ext/Makefile.am:
+       * ext/spandsp/Makefile.am:
+       * ext/spandsp/gstspandsp.c:
+       * ext/spandsp/gstspanplc.c:
+       * ext/spandsp/gstspanplc.h:
+         spandsp: Adding spandsp plugin with spanplc element for packet loss concealment
+
+2011-09-07 20:09:12 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Do not join the task from the task's thread itself. join it only in the state change
+
+2011-09-07 15:48:33 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+       * docs/libs/Makefile.am:
+       * docs/plugins/Makefile.am:
+         docs: cleanup makefiles
+         Remove commented out parts that we don't need. Remove "the wingo addition" - no
+         so useful after all. Narrow down file-globs for plugin docs.
+
+2011-09-07 15:42:37 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+         docs: fix camerabin2 names in sections.txt
+
+2011-09-07 15:37:53 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+       * ext/kate/gstkateparse.h:
+         kateparse: fix crap in object macros
+
+2011-09-07 12:32:48 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+         mpegvideoparse: make this build with older glib
+         g_list_free_full is a new convenience function.
+         Replace it with g_list_foreach and g_list_free.
+         https://bugzilla.gnome.org/show_bug.cgi?id=658450
+
+2011-09-07 13:46:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpegvideoparse/mpegvideoparse.c:
+       * gst/videoparsers/plugin.c:
+         videoparsers: Make the h263 and (new) mpeg video parser autopluggable
+
+2011-09-05 20:02:57 +0300  George Kiagiadakis <george.kiagiadakis@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Fix IDR position marking when the IDR is split into several NALs
+
+2011-09-07 11:27:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gsth263parse.c:
+         h263parse: Add all always present fields to the src template caps
+
+2011-09-07 11:24:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gstdiracparse.c:
+         diracparse: Add all fields to the src template caps
+
+2011-09-07 11:22:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gstdiracparse.c:
+       * gst/videoparsers/gsth263parse.c:
+       * gst/videoparsers/gstmpegvideoparse.c:
+         videoparsers: Allow parsed streams to be passed through the parsers
+
+2011-09-07 11:17:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Put stream-format and alignment into the src template caps
+         Also remove the parsed field from the sink template caps.
+
+2011-09-07 11:14:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/plugin.c:
+         h264parse: Change rank to PRIMARY+1 to have h264parse autoplugged
+
+2011-09-07 11:06:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/dirac_parse.c:
+         diracparse: Constify some arrays
+
+2011-09-06 10:49:04 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         camerabin2: preview: No need for appsink to store the last buffer
+         There is no need for preview's appsink to keep a reference to the last buffer,
+         so disable the property to make it unref the buffers sooner.
+
+2011-09-06 22:48:30 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>
+
+       * gst-plugins-bad.spec.in:
+         Update for latest new plugins and moved plugins
+
+2011-09-06 21:25:00 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From a39eb83 to 11f0cd5
+
+2011-09-06 16:13:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-09-06 15:40:46 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From 605cd9a to a39eb83
+
+2011-09-06 13:20:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: Add Converter to classification
+         This parser can convert between different alignments and stream-formats.
+
+2011-09-05 14:39:20 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         camerabin2: preview: Appsink doesn't need to sync
+         Set sync to false on preview's pipeline appsink
+
+2011-09-05 09:55:53 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         camerabin2: preview: Remove one of the two colorspace converters
+         The preview pipeline doesn't need 2 colorspace converters, remove
+         one to speed up caps negotiation and reduce the delay on getting
+         the first preview buffer out of the preview pipeline.
+         It shouldn't cause problems as videoscale and ffmpegcolorspace seems
+         to handle the same caps, so no conversion should be needed for
+         videoscale. Additionally, camerabin1 has been working with a similar
+         pipeline with a single ffmpegcolorspace and no bugs have been open about it
+         so far.
+
+2011-09-01 20:01:09 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         camerabin2: preview: Disable appsrc signals emission
+         Camerabin2 doesn't check appsrc's signals, so disable them
+
+2011-08-26 10:50:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoenc: do not try to calculate latency from an unknown framerate
+         It'll divide by zero, and latency is unknown for an unknown framerate.
+         Fixes an assert in the schroenc test.
+         https://bugzilla.gnome.org/show_bug.cgi?id=657419
+
+2011-09-03 00:36:34 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: If a fetch fails, decrement the sequence number
+
+2011-09-02 23:49:38 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: make hlsdemux lock/unlock the m3u8 client when it accesses it
+
+2011-09-02 23:48:22 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/m3u8.c:
+       * gst/hls/m3u8.h:
+         hlsdemux: Add a get_target_duration and get_current_uri api to m3u8_client
+
+2011-09-02 23:48:03 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/m3u8.c:
+       * gst/hls/m3u8.h:
+         hlsdemux: Make the m3u8 client thread-safe
+
+2011-09-02 19:44:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Reset in PAUSED->READY after chaining up to the parent class
+         Otherwise there are possible race conditions with the streaming thread.
+
+2011-09-02 16:08:59 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+         docs: minor fixes
+
+2011-08-31 10:12:44 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst-libs/gst/play/.gitignore:
+       * gst-libs/gst/play/play.h:
+       * gst-libs/gst/play/play.vcproj:
+         gst-libs: Remove play directory. Was unported since 0.8
+
+2011-08-31 10:10:21 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * docs/libs/Makefile.am:
+       * docs/libs/gst-plugins-bad-libs-docs.sgml:
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+         docs: Add more sections to the gst-libs API docs
+
+2011-08-29 13:52:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: fix PPS parser
+         Fix transform_8x8_mode_flag and second_chroma_qp_index_offset
+
+2011-08-29 13:52:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: fix NAL reader initialization.
+
+2011-08-26 15:54:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: handle end-of-seq and end-of-stream NAL gracefully.
+
+2011-08-26 16:05:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+         codecparsers: h264: fix ref_pic_list_reordering().
+
+2011-08-16 16:19:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         codecparsers: h264: fix pred_weight_table() parsing.
+         Use 16-bit signed integer values for weight values because valid
+         ranges are -128 to +128 inclusive.
+
+2011-08-16 15:21:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         codecparsers: h264: record slice_header() size in bits.
+
+2011-08-16 15:14:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         codecparsers: h264: fix slice_header() parsing.
+         We were not parsing the slice headers until the actual end, we are now
+         parsing until the end.
+
+2011-08-12 13:19:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+         codecparsers: h264: fix filler-data NAL unit type name.
+
+2011-08-12 10:17:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * configure.ac:
+       * pkgconfig/Makefile.am:
+       * pkgconfig/gstreamer-codecparsers-uninstalled.pc.in:
+       * pkgconfig/gstreamer-codecparsers.pc.in:
+         codecparsers: add pkgconfig file.
+         Adds a new pkgconfig file for codecparsers. They don't have
+         any specific dependency on gst-plugins-bad and they could quite be
+         independent bitstream parsers.
+
+2011-08-05 11:21:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+         codecparsers: mpeg: add user-data packet start code definition.
+
+2011-08-03 17:31:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+         codecparsers: mpeg: fix Picture_Coding_Extension parser.
+
+2011-08-02 12:37:02 +0200  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/videoparsers/Makefile.am:
+       * gst/videoparsers/gsth264parse.c:
+       * gst/videoparsers/gsth264parse.h:
+       * gst/videoparsers/h264parse.c:
+       * gst/videoparsers/h264parse.h:
+         h264parse: Port to the new h.264 parsing library
+
+2011-07-29 10:56:15 +0200  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * docs/libs/gst-plugins-bad-libs-docs.sgml:
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * docs/libs/gst-plugins-bad-libs.types:
+       * gst-libs/gst/codecparsers/Makefile.am:
+       * gst-libs/gst/codecparsers/gsth264parser.c:
+       * gst-libs/gst/codecparsers/gsth264parser.h:
+       * tests/check/Makefile.am:
+       * tests/check/libs/h264parser.c:
+         codecparsers: h264: Add an h.264 bitstream parsing library
+
+2011-06-23 12:54:43 -0400  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * gst/videoparsers/Makefile.am:
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.h:
+       * gst/videoparsers/mpegvideoparse.c:
+       * gst/videoparsers/mpegvideoparse.h:
+       * tests/check/elements/mpegvideoparse.c:
+         mpegvideoparse: Port to the new mpeg parsing library
+
+2011-07-19 13:52:01 +0200  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * configure.ac:
+       * docs/libs/gst-plugins-bad-libs-docs.sgml:
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * docs/libs/gst-plugins-bad-libs.types:
+       * gst-libs/gst/Makefile.am:
+       * gst-libs/gst/codecparsers/Makefile.am:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+       * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+       * gst-plugins-bad.spec.in:
+       * pkgconfig/gstreamer-plugins-bad.pc.in:
+       * tests/check/Makefile.am:
+       * tests/check/libs/mpegvideoparser.c:
+         codecparsers: mpeg: Add an mpeg video bitstream parsing library
+         Create a new codecparsers library
+
+2011-08-30 14:50:41 -0300  Thibault Saunier <thibault.saunier@collabora.com>
+
+       * configure.ac:
+       * docs/Makefile.am:
+       * docs/libs/Makefile.am:
+       * docs/libs/compiling.sgml:
+       * docs/libs/gst-plugins-bad-libs-docs.sgml:
+       * docs/libs/gst-plugins-bad-libs-overrides.txt:
+       * docs/libs/gst-plugins-bad-libs-sections.txt:
+       * docs/libs/gst-plugins-bad-libs.types:
+         docs: Build documentations for libraries
+
+2011-09-02 15:00:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/hls/m3u8.c:
+         hlsdemux: Remove obsolete FIXME comment
+
+2011-09-02 14:55:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Reset the internal state going to/from READY instead of NULL
+         This theoretically allows reuse of the element when setting it to READY
+         instead of NULL.
+
+2011-09-02 14:54:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Set playlist parsing helper object to NULL after freeing
+
+2011-09-01 23:18:51 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Allow up to 3 consecutive failed downloads before erroring
+         In some networks, especiall in 3G, a fragment download or playlist
+         update may fail. We allow for up to 3 consecutive failures, while using
+         the rfc's specs for retry delays before considering that there was an
+         error on the stream.
+
+2011-09-01 22:46:19 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: remove unused argument
+
+2011-08-21 20:15:25 -0700  David Schleef <ds@schleef.org>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: fix drop-frame property
+         Fixes #656929.
+
+2011-09-01 15:57:50 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Add a flag to disable image conversion elements
+         If we know that our camera source element produces buffers at the same
+         resolution and appropriate colourspace for the output, we don't need any
+         of the generic conversion elements in encodebin. This reduces caps
+         negotiation overheads among other things.
+
+2011-08-31 23:06:53 +0200  Josep Torra <n770galaxy@gmail.com>
+
+       * ext/libmms/gstmms.c:
+         mms: fix warnings related to the format on the debug lines.
+
+2011-08-31 13:29:17 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Micro optimize encodebin pads linking
+         Reduce one check in encodebin pads linking on camerabin2 by
+         using the link_pads_full version
+
+2011-08-31 13:28:25 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         basecamerabinsrc: Optimize preview pipeline startup
+         Use gst_element_link_pads_full to optimize preview pipeline startup,
+         leading to a faster camerabin2 startup as well.
+
+2011-08-31 15:33:10 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Use explicit boolean literals to make gobject happy
+         gobject boolean properties are strict and only accept 1 or 0, otherwise
+         they throw an assertion.
+
+2011-08-31 14:48:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Just join the task
+         gst_task_join() will already stop the task, no need
+         to stop it additionally.
+
+2011-08-31 14:47:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Join the task instead of just stopping it and not waiting for it to finish
+         Fixes interesting race conditions that cause crashes in decodebin2
+         because pads are added/removed from child elements although they
+         should be in READY state already.
+
+2011-08-31 12:12:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Remove unused variable
+
+2011-08-31 03:47:52 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: switch to higher/lower bitrate by more than one step at a time
+
+2011-08-31 03:20:48 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: remove spamming GST_LOG_OBJECT
+
+2011-08-31 03:07:48 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: If paused, do not cache fragments until out of memory error!
+         We should stop the update thread in PAUSED state and avoid fetching
+         new fragments when the queue is not empty. The queue should always be
+         empty since we push data into a queue. Also, in totem, if we seek and
+         pause the stream while it's buffering, then the state will stay playing
+         for some reason, so it's best not to continue fetching fragments forever.
+
+2011-08-31 03:01:58 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: start/stop update thread and keep track of status
+
+2011-08-31 02:05:08 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Post duration message when we parse the playlist
+
+2011-08-31 01:08:39 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Send a flush-stop when switching pads. Fixes A->A/V sync issue.
+         This is to ensure that we reset the accumulate segment on the sinks
+         so if we start with audio only then switch to audio+video, then both
+         sinks will have the same segments and will be synchronized.
+
+2011-08-26 22:48:01 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: seems there was a typo, free the adapter if it contains data, not if already empty
+
+2011-08-26 22:47:35 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: oups, we need to empty the queue after freeing its content
+
+2011-08-26 22:44:08 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Need to flush all streams when we receive a flush-start
+
+2011-08-26 21:46:06 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: do not broadcast the fetcher_cond on bus error if we're cancelled
+         If we cancel the fetch and call the stop_fetcher, which holds the lock,
+         when it sets the fetcher's state to NULL, it might send an error
+         on the bus. In that case, we must ignore it, otherwise it will try
+         to take the lock and will block forever.
+
+2011-08-26 19:29:06 +0000  Jonas Larsson <Jonas.Larsson@hiq.se>
+
+       * gst/hls/m3u8.c:
+         hlsdemux: Split playslist on \r\n not just \n
+
+2011-08-26 19:10:58 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Do not succeed a download if the fetcher had an error
+
+2011-08-26 19:10:39 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Rename functions that need to be called with a locked mutex
+
+2011-08-26 19:09:54 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: We must signal the fetcher_cond while holding its lock
+
+2011-08-26 17:54:51 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: We do not need to set the current playlist to the main one
+         When caching fragments, if we set the current playlist to main, then
+         it will always think it's a live stream (no endlist in it) so it will
+         force the redownload of the main playlist after every seek, which is
+         unnecessary. Also, it causes a race condition where a seek migh happen
+         during that redownload, and we'll think we're trying to seek a live pipeline.
+
+2011-08-30 17:43:22 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+       * ext/soundtouch/gstpitch.cc:
+       * ext/soundtouch/gstpitch.hh:
+         soundtouch: Handling incoming rate when requested.
+         Absorb inbound segments with rate != 1.0 and output a segment with
+         rate taken from the new output-rate property, adjusting the segment
+         applied_rate, stream duration and timestamps as necessary to
+         compensate
+
+2011-08-15 17:57:53 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+       * ext/opencv/MotionCells.cpp:
+         fix valgrind warning about Conditional jump or move depends on uninitialised value(s)
+
+2011-08-17 09:42:07 +0200  Nicola Murino <nicola.murino@gmail.com>
+
+       * ext/opencv/MotionCells.cpp:
+         Move m_pprevFrame free just before the clone of the latest frame for readability
+
+2011-08-26 09:43:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Make viewfinder's queue a thread limit only
+         Reduce the viewfinder queue limits to only allow it to store
+         one buffer, preventing the queue from holding old buffers for
+         too long. This also avoids showing slightly outdated frames on
+         the viewfinder when the source has already produced new ones
+         and improves the buffer recycling rate, important for sources
+         that use bufferpools.
+
+2011-08-25 19:56:58 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: fix element leak
+         and this concludes an hour of yelling at the bloody test failing,
+         only to track down the problem not being in the test.
+         https://bugzilla.gnome.org/show_bug.cgi?id=657368
+
+2011-08-26 00:52:46 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         tsdemux: In push mode, do not start pull loop if upstream seek fails
+
+2011-08-26 00:47:53 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: do not make the update_thread joinable
+
+2011-08-26 00:26:29 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Ensure the task is paused in case of cache error
+
+2011-08-25 23:37:47 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: stop the threads in the proper order
+         first pause the task, then stop all fetchers, then stop the update thread
+         then pause the task again, since it might have been restarted by
+         another thread in the meantime
+
+2011-08-25 23:37:25 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: do not post an error if we seek/cancel during caching of fragments
+
+2011-08-25 23:37:00 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: if we're canceling a fetcher, we must stop its thread
+
+2011-08-25 23:36:27 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: lock the update_thread mutex before stopping it
+
+2011-08-25 23:35:55 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: lock the fetcher mutex before stopping it
+
+2011-08-25 23:33:10 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: do not allow two fetchers to run simultanously
+
+2011-08-23 20:49:33 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Stop the streaming task on PAUSED_TO_READY state change
+
+2011-08-25 19:24:56 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+         tests: make camerabin2 test build
+         https://bugzilla.gnome.org/show_bug.cgi?id=657363
+
+2011-08-25 12:49:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         ext/resindvd/rsnwrappedbuffer.c
+
+2011-07-12 21:48:37 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfsrc.c:
+         dtmf: Add more debug
+
+2011-07-12 19:09:02 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/dtmf/gstdtmfcommon.h:
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfsrc.c:
+         dtmf: Max event type is 15
+
+2011-04-14 15:46:08 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstdtmfsrc.h:
+         dtmfsrc: Align DTMF sound buffers with last-stop from event
+         Also make sure the timestamps never go backwards
+
+2011-07-11 21:31:07 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/dtmf/gstrtpdtmfsrc.c:
+         rtpdtmfsrc: Correctly recognize the end of a buffer
+
+2011-07-11 20:47:23 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/dtmf/gstrtpdtmfsrc.c:
+         rtpdtmfsrc: Make sure rtpdtmfsrc timestamps don't overlap
+
+2011-07-11 20:46:20 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/dtmf/gstrtpdtmfsrc.c:
+         rtpdtmfsrc: Put the inter digit interval at the end, not at the start
+         The reason is to let rtpdtmfmux drop buffers during the inter digit interval,
+         this way, there will be more silence around the DTMF tones so IVFs will have
+         a better chance recognizing them.
+
+2011-04-14 17:08:57 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/dtmf/gstrtpdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfsrc.h:
+         rtpdtmfsrc: Start at the last_stop from the start event if there was one
+         The goal is to try to not have a GAP between the audio and the DTMF
+
+2011-04-14 14:34:26 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpdtmfmux.c:
+       * gst/rtpmux/gstrtpmux.c:
+       * gst/rtpmux/gstrtpmux.h:
+         rtpdtmfmux: Add last-stop to dtmf-event upstream events
+         Add the running time of the last outputted buffer to the
+         upstream "dtmf-event" events so that the dtmf source does not
+         leave a gap.
+
+2011-04-14 16:49:39 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/dtmf/gstrtpdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfsrc.h:
+         rtpdtmfsrc: Respect ptime from the caps
+         Respect the ptime from the caps for the DTMF packets
+
+2011-07-11 21:30:28 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/dtmf/gstrtpdtmfsrc.c:
+         rtpdtmfsrc: Just error out if there is no clock
+
+2011-08-24 16:53:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/kate/gstkateutil.c:
+         kate: make gst_kate_util_is_utf8_string() inline to fix compiler warning with older libkate versions
+         gstkateutil.c:230:1: error: 'gst_kate_util_is_utf8_string' defined but not used
+
+2011-08-24 15:32:12 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/resindvd/rsnwrappedbuffer.c:
+         rsndvd: ensure metadata is writable when writing to it
+         https://bugzilla.gnome.org/show_bug.cgi?id=657250
+
+2011-08-24 09:35:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Use FALSE instead of 0 for bool parameter
+
+2011-08-23 22:44:17 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Need to send a newsegment after a seek
+
+2011-08-23 22:38:26 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Send buffering messages on the bus
+
+2011-08-23 22:38:05 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: cache the number of fragments we are required to cache
+
+2011-08-23 22:40:25 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Forward seek/duration query/event to the sinkpad
+
+2011-08-24 01:03:32 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Optimize start up a little by removing some pad checks
+         Some pad checks are guaranteed to work, so we can disable them
+         by using gst_element_link_pads_full
+
+2011-08-23 19:26:31 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * configure.ac:
+       * gst-libs/gst/Makefile.am:
+       * gst/camerabin2/gstcamerabin2.c:
+       * tests/check/Makefile.am:
+       * tests/examples/Makefile.am:
+         camerabin2: Remove from experimental
+         Remove camerabin2 from experimental, allowing it to be built
+         without needing to pass --enable-experimental on configure.
+
+2011-08-23 19:13:21 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Always set encodebin flags when going to ready
+         When going from NULL to READY we want the encodebin flags to be
+         set, and not only after creating encodebin (on the first run)
+
+2011-08-23 11:58:33 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Add new entry to flags property
+         Adds a new entry to camerabin2 flags to disable viewfinder
+         conversion elements.
+
+2011-08-23 11:19:51 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstviewfinderbin.c:
+       * gst/camerabin2/gstviewfinderbin.h:
+         camerabin2: viewfinderbin: Add property for disabling converters
+         Adds a new property to disable converters elements for performance
+         reasons. It should only be used if the application knows they aren't
+         needed.
+
+2011-08-19 17:28:54 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: do not try to compare a PCR with itself for statistics
+         Especially as one of the logs will cause a divide by zero.
+         https://bugzilla.gnome.org/show_bug.cgi?id=656927
+
+2011-08-19 13:32:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: do not keep a dangling pointer
+         When removing the current program, it will get freed by the
+         hash table removal callback, so ensure we clear our pointer
+         to it.
+         Fixes a crash later on in gst_ts_demux_push trying to access it.
+         https://bugzilla.gnome.org/show_bug.cgi?id=656927
+
+2011-08-21 20:36:07 +0100  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>
+
+       * ext/kate/gstkateutil.c:
+         kate: pass on timed event metadata as tags when we can
+         Metadata attached to other objects that may be used in this
+         event are not passed, as is binary metadata.
+
+2011-08-23 10:32:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         configure: Add AC_MSG_CHECKING() to the VP8E_SET_TUNING presence check
+
+2011-08-19 19:17:15 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * configure.ac:
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+         vp8: probe for the new tuning API to keep building with older libvpx
+         https://bugzilla.gnome.org/show_bug.cgi?id=656928
+
+2011-08-18 13:21:18 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/rsvg/gstrsvgdec.c:
+       * ext/rsvg/gstrsvgdec.h:
+         rsvgdec: use input buffer timings if possible
+         SVG data may come through multiple buffers, so keep track of the
+         timestamp of the first buffer, and use it in preference.
+         https://bugzilla.gnome.org/show_bug.cgi?id=628284
+
+2011-08-22 17:10:24 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/kate/gstkatespu.c:
+         kate: do not consider an empty SPU to be a fatal error
+         Instead, just encode nothing and go on.
+         https://bugzilla.gnome.org/show_bug.cgi?id=657091
+
+2011-08-22 17:15:10 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/kate/gstkatespu.c:
+         kate: do not clear out high bits from display area
+         http://dvd.sourceforge.net/spu_notes does not mention that high bits
+         are to be masked, and not clearing them makes a sample work, where
+         clearing them yielded left > right.
+         History from the dvdspu plugin, from where this code was copied,
+         does not shed any light, as tracing this code's origin shows
+         the same bitmasks being there in 2007 when it was imported.
+         https://bugzilla.gnome.org/show_bug.cgi?id=657091
+
+2011-08-22 16:52:13 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/dvdspu/gstspu-vobsub.c:
+         dvdspu: do not clear out high bits from display area
+         http://dvd.sourceforge.net/spu_notes does not mention that high bits
+         are to be masked, and not clearing them makes a sample work, where
+         clearing them yielded left > right.
+         History does not shed any light, as tracing this code's origin shows
+         the same bitmasks being there in 2007 when it was imported.
+         https://bugzilla.gnome.org/show_bug.cgi?id=620119
+
+2011-08-23 09:52:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: First try if upstream handles seeking in TIME format before seeking in the demuxer
+
+2011-08-23 09:40:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: First send SEEKING queries upstream
+
+2011-08-23 09:27:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Send DURATION query upstream first
+
+2011-08-23 09:23:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Use FALSE instead of 0 for a bool parameter
+
+2011-08-16 19:53:31 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: switch pads when we seek (need_segment) since tsdemux doesn't cope well with a reset
+
+2011-08-23 02:36:25 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Add a FIXME comment. loop task should be a pad task
+
+2011-08-22 23:41:39 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Do not seek in a live stream
+
+2011-08-22 23:41:31 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Do not take the pad stream lock, use the task's lock instead
+
+2011-08-16 19:46:49 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+       * gst/hls/gsthlsdemux.h:
+         hlsdemux: Implement EVENT_SEEK
+
+2011-08-23 01:54:26 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Implement the GST_QUERY_SEEKING properly
+
+2011-08-23 01:54:03 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Implement correctly the GST_QUERY_DURATION
+
+2011-08-16 19:41:08 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Do not use GST_TASK_WAIT in the task function
+         The task function uses GST_TASK_WAIT which does a g_cond_wait giving it
+         the GST_OBJECT_GET_LOCK of the task. The mutex gets locked when
+         g_cond_wait returns, so if we don't lock/unlock it, it will
+         stay locked forever, preventing the task from ever finishing.
+         We shouldn't lock the task object lock, so let's remove the GST_TASK_WAIT
+         and make the task pause instead if there are no buffers in the queue.
+
+2011-08-18 23:52:37 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: do not send a new-segment on stream removal
+         When a program is changed, stream_added is called which sets the
+         need_newsegment to TRUE, then stream_removed is called, which calls
+         the flush_pending_data, which checks for the newsegment and causes
+         it to send a new-segment.
+         We must not send the newsegment when flushing the pending data on the
+         removed stream. We should only push it when flushing data on the newly
+         added streams (after they finish parsing their PTS header)
+
+2011-08-16 22:05:14 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Fix newsegment when switching programs
+         If a program/stream is changed, then a newsegment is sent which must
+         not be the same as the base segment since it happens later. We must
+         shift the start position by the time elapsed since the newsegment
+         and the current PTS of the stream
+
+2011-08-16 19:54:04 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: interpolate gap and fix timestamps depending on upstream segment
+
+2011-08-18 23:54:59 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+       * gst/hls/m3u8.c:
+       * gst/hls/m3u8.h:
+         hlsdemux: Keep a separate variable for the current variant used
+         By using a separate variable, first it allows us to sort the lists
+         of alternates but keep the pointer on the first occurence in the main
+         playlist (to respect the spec of starting with the bitrate specified
+         first in the main playlist). It also avoid playing with the lists variable
+         which should be used to store the list of playlists and not as a pointer
+         to the current one.
+         Also fixes a memleak with the g_list_foreach freeing the lists, if it wasn't
+         pointing to the first element of the list.
+
+2011-08-21 18:44:43 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/Makefile.am:
+       * sys/decklink/capture.cpp:
+       * sys/decklink/capture.h:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinksink.cpp:
+       * sys/decklink/gstdecklinksink.h:
+       * sys/decklink/gstdecklinksrc.h:
+         decklink: fix compilation on Linux
+
+2011-08-18 14:29:53 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/decklink/gstdecklinksrc.h:
+         decklink: Add subdevice property
+
+2011-07-07 16:44:31 -0400  Joshua M. Doe <oss@nvl.army.mil>
+
+       * sys/decklink/DeckLinkAPI.h:
+       * sys/decklink/DeckLinkAPIDispatch.cpp:
+       * sys/decklink/LinuxCOM.h:
+       * sys/decklink/capture.cpp:
+       * sys/decklink/capture.h:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinksink.cpp:
+       * sys/decklink/gstdecklinksink.h:
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/decklink/gstdecklinksrc.h:
+       * sys/decklink/linux/DeckLinkAPI.h:
+       * sys/decklink/linux/DeckLinkAPIDispatch.cpp:
+       * sys/decklink/linux/LinuxCOM.h:
+       * sys/decklink/win/DeckLinkAPI.h:
+       * sys/decklink/win/DeckLinkAPIDispatch.cpp:
+       * sys/decklink/win/DeckLinkAPI_i.c:
+         decklink: add support for Windows
+         Builds with MSVC, not tested in MinGW or anything else. Added
+         COM handling code, borrowed from dshowvideosink. Moved Linux
+         specific files to ./linux and added Windows specific files to
+         ./win (generated from IDL files in VS9). Added macros to handle
+         BSTR and defined bool as BOOL.  Fixes #655362.
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-07-07 14:34:01 -0400  Joshua M. Doe <oss@nvl.army.mil>
+
+       * sys/decklink/capture.cpp:
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/decklink/gstdecklinksrc.h:
+         decklink: improve frame handling
+         Send NEWSEGMENT on start. Send warning instead of error on
+         dropped frames.
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-07-07 14:20:37 -0400  Joshua M. Doe <oss@nvl.army.mil>
+
+       * sys/decklink/capture.cpp:
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/decklink/gstdecklinksrc.h:
+         decklink: fix debugging in capture.cpp by making category extern
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-07-07 14:13:00 -0400  Joshua M. Doe <oss@nvl.army.mil>
+
+       * sys/decklink/capture.cpp:
+       * sys/decklink/capture.h:
+         decklink: use mutexes from glib instead of pthread
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-06-16 17:19:49 -0300  Tiago César Katcipis <tiagokatcipis@gmail.com>
+
+       * configure.ac:
+       * gst/removesilence/Makefile.am:
+       * gst/removesilence/gstremovesilence.c:
+       * gst/removesilence/gstremovesilence.h:
+       * gst/removesilence/vad_private.c:
+       * gst/removesilence/vad_private.h:
+         removesilence: new plugin
+         Fixes: #597822.
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-08-21 14:41:28 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Prevent audiosrc from sending undesired eos
+         Basesrc derived classes send an eos when they change state
+         from paused to ready and that breaks video recordings on camerabin2
+         as it makes the whole audio branch pads flushing.
+         Prevent it by using a pad probe that only allows the eos to pass
+         when it is caused by a stop-capture action.
+
+2011-08-21 14:07:37 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: Use audiotestsrc on tests
+         Use audiotestsrc on tests instead of using the system's default
+         audiosrc, avoiding any problems that a local audio setup might
+         have.
+
+2011-08-18 18:27:03 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Use gst_pad_send_event instead of eventfunc macro
+
+2011-08-14 04:41:58 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: Improving tests
+         Adding some additional checks for custom camerabin2 messages
+         Also improves reliability of the tests by waiting for the preview-buffer message.
+         This message is generated from the preview pipeline, and might arrive later than the
+         image/video-done from the main camerabin2 pipeline, the tests need to wait for it even
+         after getting the image/video-done.
+
+2011-08-18 15:12:56 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Avoid assertions when plugin creation fails
+         Capsfilters are created on the constructor and their properties can
+         be set/get from camerabin2's set/get_property functions. The user with
+         a broken setup would cause assertions when trying to set/get the
+         capture caps of this camerabin2.
+         A proper missing-plugin message will be posted when the user tries to
+         set camerabin2 to READY state.
+
+2011-08-20 00:48:20 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+         tsmux: remove unnecessary check
+         remove an if (best) check where best != NULL has already been checked
+
+2011-08-16 19:51:34 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         tsbase: reinitiate segment at flush-stop event only
+
+2011-08-16 19:43:08 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+       * gst/hls/m3u8.c:
+       * gst/hls/m3u8.h:
+         hlsdemux: Set buffer timestamp since we send a TIME segment
+
+2011-08-02 19:21:47 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: Allow bandwidth switching during caching of fragments
+
+2011-08-02 19:21:18 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: set the pad's caps before adding it
+
+2011-08-17 11:02:12 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/ofa/gstofa.c:
+         ofa: fingerprint creation can fail
+         There does not seem to be a way to retrieve information
+         about why failure occured, unfortunately.
+         When failure occurs, do not post a NULL fingerprint tag.
+         https://bugzilla.gnome.org/show_bug.cgi?id=656641
+
+2011-08-17 10:55:59 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/ofa/gstofa.c:
+         ofa: cleanup
+         Avoid repeating casting to GstAudioFilter when one will do
+         Use object related logging to make it easier to get just the logs we want
+         https://bugzilla.gnome.org/show_bug.cgi?id=656641
+
+2011-08-17 11:07:54 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/ofa/gstofa.c:
+         ofa: do not create fingerprint on EOS if record is FALSE
+         https://bugzilla.gnome.org/show_bug.cgi?id=656641
+
+2011-08-18 10:39:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Remove unused and useless variable in tags handling
+
+2011-08-18 08:02:50 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideo: Fix locking, especially if both pads have different streaming threads
+
+2011-08-18 07:42:02 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideo: Don't call g_type_class_peek_parent() in class_init
+         This is already done by the GObject boilerplate macro
+
+2011-08-17 19:01:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-08-16 10:24:37 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/aiff/aiffmux.c:
+       * gst/aiff/aiffmux.h:
+         aiffmux: drop data after 4ish GB and moan
+         https://bugzilla.gnome.org/show_bug.cgi?id=654278
+
+2011-08-16 10:02:59 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/aiff/aiffmux.c:
+         aiffmux: use guint32 for guint32 parameters
+         This makes explicit that the range is limited.
+         https://bugzilla.gnome.org/show_bug.cgi?id=654278
+
+2011-08-16 10:02:11 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/aiff/aiffmux.c:
+         aiffmux: avoid integer overflow
+         These values are 32 bits, and width is a multiple of 8.
+         https://bugzilla.gnome.org/show_bug.cgi?id=654278
+
+2011-08-16 19:39:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/celt/gstceltdec.c:
+         celtdec: make this compile with git libcelt
+         celt_mode_info was removed, in favor of a _ctl.
+         https://bugzilla.gnome.org/show_bug.cgi?id=656686
+
+2011-08-16 18:34:59 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * ext/ofa/gstofa.c:
+         ofa: don't crash when there's no data to create a fingerprint from
+         Fixes a crash when no data flowed through.
+         https://bugzilla.gnome.org/show_bug.cgi?id=656641
+
+2011-08-16 19:47:02 +0300  George Kiagiadakis <george.kiagiadakis@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4parse.c:
+         mpeg4videoparse: Use gst_bit_reader_skip to skip more than 32 bits.
+         GET_BITS is a macro for gst_bit_reader_get_bits_uint32, which cannot
+         read more than 32 bits and will fail in this case where it is called
+         to read 79 bits. Since we want to skip those bits, gst_bit_reader_skip
+         is more appropriate in this case.
+
+2011-08-15 02:08:14 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * sys/applemedia/qtkitvideosrc.m:
+         qtkitvideosrc: get the framerate from caps
+         ...and configure QTKit accordingly. Hardcoding to 30fps was pretty -bad.
+
+2011-08-13 15:55:01 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: Add test for audio-filter property
+         Checks that the audio-filter is properly plugged in the pipeline
+         and receives buffers when recording a video.
+
+2011-08-11 18:59:07 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Add audio-filter property
+         Adds a property to add a custom GstElement to the audio
+         branch of the pipeline. This allows the user to do custom audio
+         processing/analysis when recording videos.
+
+2011-08-12 22:39:53 +0200  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.h:
+         basevisualizer: add more shader variants and simplify code
+         Use macros to simplyfy the shading code. Those will ease to add support for
+         other colorspaces in the future. Add more variants for the shading (left,right,
+         horiz-in, vert-out, vert-in).
+
+2011-08-12 21:22:20 +0200  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+         basevisualizer: more docs
+
+2011-08-12 21:18:44 +0200  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.h:
+         baseaudiovisualizer: protect config with a lock
+         Before it was easy to crash the elements when using a ximagesink and triggering
+         renegotiation by resizing.
+
+2011-08-12 16:57:49 +0200  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstspectrascope.c:
+         spectrascope: make a copy of the audiodata before downmixing and windowing
+         The buffers come from the adapter and the data might overlap. We don't want to
+         modify it in place.
+
+2011-08-12 12:25:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
+         This allows to specify constraints on the compressed downstream caps
+         by muxers or capsfilters, which will then be forwarded to upstream
+         and allows video converters to fulfill the constraints.
+         Code based on Mark Nauwelaerts audio encoder base class.
+
+2011-08-12 12:13:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: Remove old ::getcaps() comment
+
+2011-08-12 12:08:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/dirac/gstdiracenc.cc:
+         diracenc: Update for basevideoencoder ::get_caps() removal
+
+2011-08-12 12:08:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/schroedinger/gstschroenc.c:
+         schroenc: Update for basevideoencoder ::get_caps() removal
+
+2011-08-12 12:08:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Update for basevideoencoder ::get_caps() removal
+
+2011-08-12 12:06:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: Remove ::get_caps() vfunc
+         Subclasses can set the caps more efficiently and this only
+         caused additional indirections.
+
+2011-08-09 09:29:21 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+       * gst/mxf/mxfmetadata.c:
+         mxf: do not assert on the values of data read from input
+         Instead, log a warning, and return.
+         https://bugzilla.gnome.org/show_bug.cgi?id=563827
+
+2011-08-03 16:02:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: Use the cached video frame size instead of recalculating it
+
+2011-08-08 17:53:16 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+
+       * ext/schroedinger/gstschroenc.c:
+         schroedinger: Fix set but unused variables
+         Remove some dead code that triggers "set but unused variables"
+         from Gcc 4.6.  Fixes #656166
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-08-08 16:44:20 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+
+       * ext/dirac/gstdiracenc.cc:
+         dirac: Fix set but unused variables
+         Remove some dead code that triggers "set but unused variables" from Gcc
+         4.6.  Fixes #656164.
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-08-06 12:13:22 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Adding video-done message
+         video-done message will be posted when a video recording is
+         finished. Similar to image-done message.
+
+2011-08-05 15:48:53 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Adding top-level element documentation
+
+2011-08-05 13:34:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Fixing typo
+
+2011-08-04 13:33:20 +0200  Stefan Sauer <ensonic@google.com>
+
+       * ext/opencv/gstmotioncells.c:
+       * ext/opencv/motioncells_wrapper.cpp:
+       * ext/opencv/motioncells_wrapper.h:
+         motioncells: turn two global vars into static variables
+         Move 2 variable to motioncells_warpper and make them static.
+
+2011-08-04 13:33:56 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * tests/examples/opencv/Makefile.am:
+         examples: Add missing header file
+
+2011-08-04 11:28:30 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * sys/decklink/Makefile.am:
+         decklink: Add gstdecklink.h to list of headers
+
+2011-08-04 09:49:46 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+       * gst/videoparsers/mpegvideoparse.c:
+         mpegvideoparse: fix sequence header parsing
+         After bitrate there's 11 bits (1 marker bit + VBV buffer size) before the load
+         intra quantiser flag.
+
+2011-08-04 09:40:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-08-04 09:36:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         common
+         configure.ac
+         gst/colorspace/colorspace.c
+         gst/colorspace/colorspace.h
+         gst/colorspace/gstcolorspace.c
+
+2011-07-21 08:58:27 +0300  Tommi Myöhänen <tommi.myohanen@digia.com>
+
+       * gst-libs/gst/interfaces/photography.h:
+         photography: add missing FLICKER_REDUCTION capability
+         GstPhotography API contains functions to get/set flicker reduction
+         mode, but GstPhotoCaps enumeration doesn't have item for it, so elements
+         are not able to report whether they support this feature or not.
+         Also add useful GST_PHOTOGRAPHY_CAPS_ALL for easily selecting all
+         capabilities at once.
+         https://bugzilla.gnome.org/show_bug.cgi?id=655318
+
+2011-08-03 13:37:28 -0700  David Schleef <ds@schleef.org>
+
+       * gst/subenc/Makefile.am:
+       * gst/subenc/gstsrtenc.c:
+       * gst/subenc/gstsubenc.c:
+       * gst/subenc/gstwebvttenc.c:
+       * gst/subenc/gstwebvttenc.h:
+         subenc: Add webvttenc element
+
+2011-08-03 13:35:41 -0700  David Schleef <ds@schleef.org>
+
+       * ext/kate/gstkateenc.c:
+         kateenc: Fix uninitialized error
+
+2011-07-09 23:22:26 -0700  David Schleef <ds@schleef.org>
+
+       * ext/schroedinger/gstschroenc.c:
+         schroenc: remove shape_output handling
+
+2011-07-09 23:07:39 -0700  David Schleef <ds@schleef.org>
+
+       * ext/dirac/gstdiracenc.cc:
+         diracenc: Remove unused shape_output code
+
+2011-07-09 18:53:24 -0700  David Schleef <ds@schleef.org>
+
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+         vp8enc: Add more properties
+
+2011-06-19 16:06:46 +0200  Alexey Fisher <bug-track@fisher-privat.net>
+
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+         vp8enc: add min/maxsection-pct option
+         This options should be good to redeuce decode CPU load.
+         for lowend hardware:
+         minsection-pct=15 maxsection-pct=400
+         for hiend hw:
+         minsection-pct=5 maxsection-pct=800
+         see example:
+         http://www.webmproject.org/tools/encoder-parameters/#2-pass_vbr_encoding_for_smooth_playback_on_low-end_hardware
+         Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-06-19 11:05:36 +0200  Alexey Fisher <bug-track@fisher-privat.net>
+
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+         vp8enc: add lag-in-frames option.
+         This option set maximum of frames codec should remember,
+         to make better prediktion for alt-ref frames.
+         See example:
+         http://www.webmproject.org/tools/encoder-parameters/#2-pass_best_quality_vbr_encoding
+         Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-06-19 07:16:57 +0200  Alexey Fisher <bug-track@fisher-privat.net>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: use multipass.cache file name as default for multipass mode.
+         Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-07-09 16:05:07 -0400  Mukul Majmudar <mukul.majmudar@gmail.com>
+
+       * ext/faac/gstfaac.c:
+       * ext/faac/gstfaac.h:
+         faac: Add properties for VBR encoding
+         Property "quality" to specify VBR quantizer quality and property
+         "brtype" to choose between ABR and VBR encoding. The default is now VBR
+         with quality=100.
+         Fixes bug #654310.
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-07-07 16:07:50 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/decklink/gstdecklinksrc.h:
+         decklink: Add audio-input property
+
+2011-07-18 15:25:05 +1000  Tim 'mithro' Ansell <mithro@mithis.com>
+
+       * gst/inter/Makefile.am:
+         inter: Adding missing base requirements.
+         Fixes: #654806.
+
+2011-08-03 15:21:17 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: add more missing plugin checks
+         Sprinkle some more missing plugin checks around
+
+2011-08-03 13:12:18 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Add a missing element check and remove TODO
+         Add missing element checks for elements created at _init
+         functions and remove TODO about it
+
+2011-08-03 13:57:09 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Remove redundant image-queue
+         Encodebin is used for image encoding and it already contains
+         a queue, so we can remove camerabin2 image queue.
+
+2011-08-03 13:42:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/dvbsuboverlay/dvb-sub.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+       * gst/dvbsuboverlay/gstdvbsuboverlay.h:
+         dvbsuboverlay: fix up copyrights
+
+2011-06-29 15:14:29 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         gst-camerabin2-test: Add audio capture caps option
+
+2011-08-02 15:14:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Make access to the list of frames threadsafe
+
+2011-08-02 23:53:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/bayer/Makefile.am:
+         bayer: back around compiler warnings in orc-generated code by disabling -Werror for this plugin
+         https://bugzilla.gnome.org/show_bug.cgi?id=652677
+
+2011-08-02 22:57:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * .gitignore:
+       * ext/opencv/gstmotioncells.c:
+       * tests/examples/opencv/gst_element_print_properties.c:
+       * tests/examples/opencv/gstmotioncells_dynamic_test.c:
+         Fix some more variable-set-but-not-used compiler warnings
+
+2011-08-02 21:14:06 +0200  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         camerabin2: examples: Fix camerabin2 G_OBJECT cast
+         Adds missing cast to fix build error.
+
+2011-08-02 10:49:09 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Workaround for ringbuffer not resyncing on READY
+         Add a workaround to fix timestamps meanwhile bug
+         https://bugzilla.gnome.org/show_bug.cgi?id=648359 is fixed.
+
+2011-07-30 16:12:31 +0300  Raluca Elena Podiuc <ralucaelena1985@gmail.com>
+
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+         camerabin2 remove redundant viewfinder-colorspace and viewfinder-scale
+         camrabin2 connects a viewfinderbin on "vfsrc". viewfinderbin is made of:
+         vfbin-csp ! vfbin-videoscale ! videosink.
+         we should either remove csp/videoscale from wrappercamerabinsrc (as
+         done in this patch) or we should get rid of viewfinderbin altogether.
+
+2011-07-26 06:04:41 +0300  Raluca Elena Podiuc <ralucaelena1985@gmail.com>
+
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+         basecamerasrc: remove unused get_allowed_input_caps
+         The use of this method was removed in:
+         commit 539f10f4d99e1a074881289254d1d109159cf9e5
+         basecamerasrc: More cleanup
+         The code from wrappercamerabinsrc is from v4l2camerasrc but is unused:
+         get_allowed_input_caps is not called anywhere.
+
+2011-07-26 05:59:09 +0300  Raluca Elena Podiuc <ralucaelena1985@gmail.com>
+
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h:
+         basecamerasrc: don't use class offsets for start/stop-capture signal handlers
+
+2011-07-26 05:43:34 +0300  Raluca Elena Podiuc <ralucaelena1985@gmail.com>
+
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c:
+         basecamerasrc: document why we set preview to PLAYING
+
+2011-07-26 04:42:49 +0300  Raluca Elena Podiuc <ralucaelena1985@gmail.com>
+
+       * gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h:
+         basecamerasrc: document callbacks
+         Note for each callback:
+         - when it is called,
+         - whether it is mandatory or optional.
+
+2011-07-26 03:04:47 +0300  Raluca Elena Podiuc <ralucaelena1985@gmail.com>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         basecamerabinsrc: preview: remove unused new_preroll callback
+
+2011-07-28 13:18:57 -0300  Teemu Katajisto <teemu.katajisto@digia.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Synchronize clock and base time to audiosrc
+         When audio source goes to READY it loses its clock and base time,
+         this patch sets them back after bringing the audio source back to PAUSED.
+
+2011-07-28 12:56:12 -0300  Robert Swain <robert.swain@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Prevent audio source from providing clock
+         The audio source inside camerabin2 is put to READY and back to
+         PLAYING when starting capture, causing the pipeline to lose its
+         clock. As camerabin2 isn't put to PAUSED->PLAYING again during
+         this, a new clock isn't selected for elements.
+
+2011-06-30 11:09:44 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         camerabin2: Add flags prop to toggle encodebin conversion elements
+         A flags property has been added to encodebin to toggle whether the
+         conversion elements (ffmpegcolorspace, videoscale, audioconvert,
+         audioresample, audiorate) are created and linked into the appropriate
+         branches of encodebin.
+         Not including these elements avoids some slow caps negotiation and
+         allows the first buffers to flow through encodebin much more quickly.
+         However, it imposes that the uncompressed input is appropriate for the
+         target profile and elements selected to meet that profile.
+
+2011-06-29 15:35:42 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Prepare audiosrc before start-capture
+         If we bring the audio source up to the PAUSED state before emitting the
+         start-capture signal to the camera source, when subequently taking the
+         audio source to the PLAYING state, it will begin capture more quickly.
+
+2011-06-29 15:18:47 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Remove redundant elements
+         Since camerabin2 has switched to encodebin and encodebin has its own
+         queues and conversion elements, those preceding encodebin are no longer
+         necessary and as such can be removed.
+
+2011-08-02 12:24:01 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * configure.ac:
+         configure.ac: Define list of non-ported plugins
+
+2011-08-02 11:42:46 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * common:
+         Update common submodule
+
+2011-08-01 18:49:55 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Take into account upstream newsegment events
+         If the incoming newsegment event was in time, use that position value
+         for the downstream newsegments.
+
+2011-08-01 18:48:03 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+       * gst/hls/gsthlsdemux.h:
+         hlsdemux: Send NEWSEGMENT events
+         Previously hlsdemux wasn't sending out any newsegment.
+         Here we push a GST_FORMAT_TIME newsegment, and whenever possible we
+         try to indicate the proper start time.
+         This allows downstream elements to relay the start/time values properly
+         to the sinks, allowing better stream switching.
+
+2011-08-01 15:46:12 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: Remove programs on EOS
+         Allows subclasses to properly flush out pending data.
+
+2011-08-01 10:54:16 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Refactor stream/program removal
+         The program_stopped vmethod was called before stream_removed vmethod
+         was being called. Since we only did stream-related operations in there,
+         we just remove the program_stopped vmethod and do everything in the
+         stream_removed one.
+         Also, make sure we flush out all pending data before sending EOS.
+
+2011-07-28 18:21:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: Prevent stack gardening by using the right type
+         stream_type is stored as guint inside the GstStructure but was retreived
+         using valist with a pointer to guint16. This would cause stack gardening
+         when code is compiled without optimisation (e.g. in -O0 the compiler wont
+         pad the stack to optimise out required mask).
+         https://bugzilla.gnome.org/show_bug.cgi?id=655540
+
+2011-07-29 21:26:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/elements/faad.c:
+         tests: fix compiler warning in faad unit test
+
+2011-07-29 19:43:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/id3tag/Makefile.am:
+       * gst/id3tag/gstid3mux.h:
+       * gst/id3tag/gsttagmux.c:
+       * gst/id3tag/gsttagmux.h:
+       * gst/id3tag/id3tag.h:
+         id3mux: use now-public GstTagMux base class from libgsttag
+
+2011-07-28 20:38:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/id3tag/gstid3mux.c:
+       * gst/id3tag/gsttagmux.c:
+         tagmux: require subclass to install sink pad template
+         Require the subclass to install both source and sink pad
+         templates. Also, print some warnings if the subclass doesn't
+         do that.
+         https://bugzilla.gnome.org/show_bug.cgi?id=555437
+
+2011-07-27 22:34:23 +0200  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+       * configure.ac:
+       * tests/examples/Makefile.am:
+       * tests/examples/opencv/Makefile.am:
+       * tests/examples/opencv/gst_element_print_properties.c:
+       * tests/examples/opencv/gst_element_print_properties.h:
+       * tests/examples/opencv/gstmotioncells_dynamic_test.c:
+       * tests/examples/opencv/gstmotioncells_dynamic_test.h:
+         gstmotioncells_dynamic_test: test tool what can to do dynamic change properties
+
+2011-07-27 18:58:15 +0200  Robert Jobbagy <jobbagy.robert@gmail.com>
+
+       * ext/opencv/Makefile.am:
+       * ext/opencv/MotionCells.cpp:
+       * ext/opencv/MotionCells.h:
+       * ext/opencv/gstmotioncells.c:
+       * ext/opencv/gstmotioncells.h:
+       * ext/opencv/gstopencv.c:
+       * ext/opencv/motioncells_wrapper.cpp:
+       * ext/opencv/motioncells_wrapper.h:
+         motioncells: new element to detect areas of motion
+
+2011-07-26 17:02:05 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/hls/gsthlsdemux.c:
+       * gst/hls/gsthlsdemux.h:
+         hsldemux: Handle change of media types
+         When switching bitrates, we might end up switching to a different
+         media-type (like from aac to/from mpeg-ts).
+         For this switch to behave properly in decodebin2, this patch adds:
+         * dynamic source pads (which will be added/removed whenever a stream
+         media type changes
+         * re-checking the fragment media type whenever we switch to a different
+         playlist
+
+2011-07-26 13:47:04 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4parse.c:
+         mpeg4videoparse: Fix unitialized variable on old compilers
+
+2011-07-27 11:02:41 +0100  Olaf Seibert <rhialto@azenomei.knuffel.net>
+
+       * gst/hls/gsthlsdemux.c:
+         hlsdemux: fix wrong usage of GST_ELEMENT_ERROR macros and compilation on NetBSD
+         https://bugzilla.gnome.org/show_bug.cgi?id=655319
+
+2011-07-27 10:56:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/pcapparse/gstpcapparse.c:
+         pcapparse: fix compiler warning
+         gstpcapparse.c: In function 'gst_pcap_parse_chain':
+         gstpcapparse.c:381:6: error: 'eth_type' may be used uninitialized in this function [-Werror=uninitialized]
+         gstpcapparse.c:354:11: note: 'eth_type' was declared here
+
+2011-07-26 19:11:16 +0300  Felipe Contreras <felipe.contreras@nokia.com>
+
+       * gst/pcapparse/gstpcapparse.c:
+         pcapparse: fix SLL parsing
+         The current code is not checking for ethernet type, as it's supposed to,
+         but link layer device type and it's hard-coded to only accept dumps from
+         ethernet (ARPHRD_ETHER; 1). We don't care where the dump was fetched
+         from (wlan, 3G, etc.)
+         What we care about is the that the ethernet type is IP (ETHERNET_IP;
+         0x800), which is clearly field 14:
+         http://www.tcpdump.org/pcap3_man.html
+         And do a bit of cleanup.
+         Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
+
+2011-07-21 13:26:55 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsbase/tsdemux: Fix stream/pad activation order
+         We first activate new streams before shutting down old ones.
+         We emit no-more-pads after we add new streams and emit EOS before
+         removing old ones.
+         Also cleanup/refactor a bit more of the code accordingly
+
+2011-07-22 12:26:07 +0300  Raluca Elena Podiuc <ralucaelena1985@gmail.com>
+
+       * gst/camerabin2/PORTING:
+         camerabin2: add location=NULL docs to PORTING
+         https://bugzilla.gnome.org/show_bug.cgi?id=641918
+
+2011-07-22 11:38:30 +0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: If location is NULL do not encode images
+         Using a NULL string for location means that the application
+         doesn't want the image to be encoded, but wants to receive
+         the preview image. (Only works for image captures)
+         Useful for application that want the capture in memory only, like
+         displaying to the user before it choses to encode or take another
+         picture in avatar capturing scenarios.
+         https://bugzilla.gnome.org/show_bug.cgi?id=641918
+
+2011-07-21 08:04:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/schroedinger/gstschroenc.c:
+         schroenc: Update for GstBaseVideoEncoder::finish() signature change
+
+2011-07-21 08:03:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Update for GstBaseVideoEncoder::finish() signature change
+
+2011-07-21 08:03:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/dirac/gstdiracenc.cc:
+         diracenc: Update for GstBaseVideoEncoder::finish() signature change
+
+2011-07-21 05:44:10 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
+
+2011-07-20 08:39:51 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
+
+2011-07-20 09:25:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: Delay sending of serialized sink events until finish_frame()
+
+2011-07-20 09:09:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
+
+2011-07-20 19:16:05 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/pesparse.c:
+       * gst/mpegtsdemux/pesparse.h:
+         pesparse: Fix stuffing byte handling
+         We in fact get the size of the header (including stuffing bytes), therefore
+         use that instead of trying to skip 0xff bytes ourselves since some media
+         streams do start with 0xff (like mpeg audio's initial 0xfff).
+
+2011-07-18 14:53:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+       * ext/assrender/gstassrender.c:
+       * ext/lv2/gstlv2.c:
+       * ext/modplug/gstmodplug.cc:
+       * ext/sndfile/gstsfsrc.c:
+       * ext/timidity/gsttimidity.c:
+       * ext/timidity/gstwildmidi.c:
+       * ext/zbar/gstzbar.c:
+         Fix compilation for unused but not set
+         https://bugzilla.gnome.org/show_bug.cgi?id=654572
+
+2011-07-20 08:57:47 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/mpegtsdemux/pesparse.c:
+         mpegtsdemux: fix compiler warnings
+
+2011-07-19 12:50:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
+         Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
+         of 0/1 if no PAR is specified in the caps.
+
+2011-07-19 09:36:53 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsbase/tsdemux: Add more comments and removal unused variable
+
+2011-07-19 09:36:10 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: Avoid double removal of streams
+         This can happen if the PCR pid is the same as a audio/video PID.
+
+2011-07-19 09:34:37 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsbase: Add a GList of streams to the program
+         Allows faster iteration of all program streams.
+         We still keep the Array to allow fast retrieval of stream by PID.
+
+2011-07-19 08:45:51 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsbase: Use a bit array instead of an array of gboolean
+         Makes know_psi and is_pes 32 times smaller
+
+2011-07-19 08:37:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/pcapparse/gstpcapparse.c:
+         pcapparse: Fix format string compiler warning
+
+2011-07-18 14:14:31 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+       * ext/directfb/dfbvideosink.c:
+         dfbvideosink: fix harmless typo in variable initialization
+         https://bugzilla.gnome.org/show_bug.cgi?id=654840
+
+2011-07-12 19:04:27 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: remove a check made useless by the last commit
+
+2011-07-12 19:01:47 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: assume byte-stream if stream-format and codec_data are missing from input caps
+
+2011-07-06 23:24:27 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: ignore codec_data if stream-format=byte-stream
+         Some encoders set codec_data even when outputting byte-stream. Before this patch
+         h264parse would incorrectly detect such streams as AVC.
+
+2011-07-18 09:12:16 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Use standalone PES parser
+
+2011-07-17 14:17:10 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/Makefile.am:
+       * gst/mpegtsdemux/pesparse.c:
+       * gst/mpegtsdemux/pesparse.h:
+         mpegtsdemux: Add standalone PES parser
+
+2011-07-17 09:49:06 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/gstmpegdefs.h:
+         mpegdefs: clarify some stream ids
+
+2011-07-16 13:51:44 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: whoops, tsdemux isn't ready yet for primary rank :)
+
+2011-07-16 13:47:45 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+         mpegtsbase/tsdemux: Cleanups and comments
+
+2011-07-16 13:44:00 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Fix newsegment creation for push mode
+         And all relevent comments to what it should be doing, refactor everything
+         a bit. Still not perfect ... but better.
+         Fixes #654657
+
+2011-07-15 12:08:40 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+         mpegtsbase: Store incoming newsegments
+
+2011-07-15 20:57:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/id3tag/gstid3mux.c:
+       * gst/id3tag/gsttagmux.h:
+       * gst/id3tag/id3tag.c:
+       * gst/id3tag/id3tag.h:
+         tagmux: const-ify GstTagList argument of render vfuncs
+
+2011-07-15 20:39:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/id3tag/gsttagmux.c:
+       * gst/id3tag/gsttagmux.h:
+       * gst/id3tag/id3tag.c:
+         tagmux: fix up private base class header so it can be made public
+         Move private bits into a private struct, add some padding.
+         https://bugzilla.gnome.org/show_bug.cgi?id=555437
+
+2011-07-15 16:10:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+         We need core/base from git
+         Update requirements after out-of-order 0.10.35 release
+
+2011-07-13 17:15:36 +0300  Raluca Elena Podiuc <ralucaelena1985@gmail.com>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: fix name of 'image-done' bus message
+         Use the correct bus message for camerabin2 image done and removes
+         check that is no longer needed for these tests.
+
+2011-07-15 10:04:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/pcapparse/gstpcapparse.c:
+         pcapparse: rename offset property to ts-offset
+         ... so as to promote consistency with some other elements in the wild.
+
+2011-07-14 19:30:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+       * sys/vdpau/gstvdpsink.c:
+       * sys/vdpau/h264/gsth264dpb.c:
+       * sys/vdpau/h264/gsth264parser.c:
+       * sys/vdpau/h264/gstvdph264dec.c:
+         vdpau: fix some variable-set-but-unused compiler warnings
+
+2011-07-15 00:03:10 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: actually set seen_pat=TRUE when we see a PAT
+
+2011-06-26 20:32:53 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * ext/neon/gstneonhttpsrc.c:
+         neonhttpsrc: implement URI query
+
+2011-07-14 22:08:56 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+         mpegtsbase: Split up whether we saw a PAT and its offset
+         Fixes the issue with streams that don't set an offset on their buffers,
+         like those coming from hlsdemux.
+         Fixes #653481
+
+2011-07-14 17:06:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/pcapparse/gstpcapparse.c:
+         pcapparse: properly apply ts offset
+
+2011-07-14 16:50:29 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/pcapparse/gstpcapparse.c:
+       * gst/pcapparse/gstpcapparse.h:
+         pcapparse: optionally output relative timestamps, possibly shifted by offset
+         That is, output timestamps can then either be the absolute capture time,
+         or the relative capture time (w.r.t. to first output buffer), or the relative
+         capture time incremented by some offset.
+
+2011-07-14 16:40:14 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/pcapparse/gstpcapparse.c:
+         pcapparse: also support extracting tcp data
+
+2011-07-14 14:37:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/elements/.gitignore:
+       * tests/check/pipelines/.gitignore:
+         tests: add some more unit test binaries to .gitignore
+
+2011-07-13 13:44:41 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+         docs: Revert wrongly committed changes to .args/.hierarchy
+
+2011-07-13 13:42:09 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/mpegvideoparse/mpegpacketiser.c:
+         mpegvideoparse: Restore some unused variables as comments
+
+2011-07-13 13:39:46 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+         mpegtsdemux: Restore erroneously removed data++
+         Also, put back some unused code in comment and replace // comments by /* */
+
+2011-07-13 13:38:31 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/mpegdemux/mpegtspacketizer.c:
+         mpegdemux: Restore erroneously removed data++
+         Also, put back some unused code in comment and replace // comments by /* */
+
+2011-07-13 10:42:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/schroedinger/gstschrodec.c:
+       * ext/schroedinger/gstschroenc.c:
+         schroedinger: Fix compilation and set-but-not-used compiler warnings
+
+2011-07-13 10:33:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/dirac/gstdiracenc.cc:
+         diracenc: Fix compilation by including the new gstbasevideoutils.h header and fixing some set but not used compiler warnings
+
+2011-07-12 18:22:35 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * tests/examples/camerabin/gst-camera-perf.c:
+         examples/camerabin: Fix set-but-unused warnings
+
+2011-07-12 18:20:23 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/jp2k/gstjasperdec.c:
+       * ext/jp2k/gstjasperenc.c:
+         jp2k: Fix set-but-unused warnings
+
+2011-07-12 18:18:30 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/resindvd/gstpesfilter.c:
+       * ext/resindvd/rsnstreamselector.c:
+         resindvd: Fix set-but-unused warnings
+
+2011-07-12 18:16:54 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/cog/cogvirtframe.c:
+         cog: Fix set-but-unused warnings
+
+2011-07-12 18:13:56 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * sys/dvb/camresourcemanager.c:
+       * sys/dvb/camsession.c:
+       * sys/dvb/camtransport.c:
+         dvb: Fix set-but-unused warnings
+
+2011-07-12 18:10:42 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/videomeasure/gstvideomeasure_ssim.c:
+         videomeasure: Fix set-but-unused warnings
+
+2011-07-12 18:09:26 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/tta/gstttadec.c:
+         tta: Fix set-but-unused warnings
+
+2011-07-12 18:08:21 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/sdi/gstsdidemux.c:
+       * gst/sdi/gstsdimux.c:
+         sdi: Fix set-but-unused warnings
+
+2011-07-12 18:05:25 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8: Fix set-but-unused warnings
+
+2011-07-12 18:03:53 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/rtpvp8/gstrtpvp8pay.c:
+         rtpvp8: Reject unknown bitstream versions
+
+2011-07-12 17:59:56 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/videoparsers/h263parse.c:
+         videoparsers: Fix set-but-unused warnings
+
+2011-07-12 17:57:45 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/pcapparse/gstpcapparse.c:
+         pcapparse: Fix set-but-unused warnings
+
+2011-07-12 17:56:25 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/mpegvideoparse/mpegpacketiser.c:
+         mpegvideoparse: Fix set-but-unused warnings
+
+2011-07-12 17:53:33 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegdemux: Fix unused-but-set warnings
+
+2011-07-12 17:50:27 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * gst/mpegdemux/mpegtspacketizer.c:
+         mpegtsdemux: Fix unused-but-set warnings
+
+2011-07-12 01:18:16 +0530  Sameer Naik <sameer.subscriptions@damagehead.com>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+         mpegtsmux: fix segfault if gst_collect_pads_pop () returns no buffer
+         In mpegtsmux_choose_best_stream () call if the gst_collect_pads_pop () call
+         returns no buffer (NULL), the plugin SegFaults in the gst_buffer_unref call.
+         To fix this we check if a valid buffer is returned before calling
+         gst_buffer_unref ().
+         Fixes bug #654416.
+
+2011-07-11 12:59:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
+         The subclass might want to access the old state.
+
+2011-07-11 12:36:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: Track present position on discont before resetting it
+
+2011-07-11 11:52:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
+
+2011-07-11 11:28:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideocodec: Protect access to the list of pending frames with the object lock
+         This is required if ::finish_frame() and all buffer output happens
+         on a different thread than the sinkpad streaming thread.
+
+2011-07-11 09:35:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: Set the correct lists to NULL after freeing
+
+2011-07-11 08:54:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
+         Also fix a refcount problem with the codec_data.
+
+2011-07-09 11:40:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/Makefile.am:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoutils.c:
+       * gst-libs/gst/video/gstbasevideoutils.h:
+         basevideo: Move the utils from the codec header to its own header
+
+2011-07-09 11:31:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Use destroy notify to free the coder hook
+
+2011-07-09 11:09:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
+
+2011-06-28 11:47:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: Don't reorder serialized src events
+         And allow to drop EOS by the subclass if ::finish returns
+         DROPPED. This requires that the subclass sends EOS manually later.
+         Fixes bug #653544.
+
+2011-06-27 09:41:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
+         Having access to the caps in ::set_format can be useful if
+         non-standard caps fields like the h264 alignment must be accessed.
+
+2011-07-09 10:57:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideo: Add destroy notify for the coder_hook to prevent memory leaks
+         Fixes bug #654293.
+
+2011-07-08 11:52:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mxf/mxfdemux.c:
+         mxfdemux: Properly return seeking errors if the requested position can't be found
+
+2011-07-07 16:00:44 -0700  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/inter/.gitignore:
+         inter: add ignore file for intermediate files
+
+2011-07-07 15:59:05 -0700  Stefan Kost <ensonic@users.sf.net>
+
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * docs/plugins/inspect/plugin-debugutilsbad.xml:
+       * docs/plugins/inspect/plugin-decklink.xml:
+       * docs/plugins/inspect/plugin-dtsdec.xml:
+       * docs/plugins/inspect/plugin-flite.xml:
+       * docs/plugins/inspect/plugin-inter.xml:
+       * docs/plugins/inspect/plugin-modplug.xml:
+       * docs/plugins/inspect/plugin-videoparsersbad.xml:
+         docs: add camerabin2 to the docs and update the doc files
+
+2011-07-07 15:55:59 -0700  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/camerabin2/camerabingeneral.c:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+       * gst/camerabin2/gstplugin.c:
+         camerabin2: don't mess with camerabin (1) namespace
+         Use an extra '2' to stay out of the old namespace.
+
+2011-07-07 11:11:42 -0700  Stefan Kost <ensonic@users.sf.net>
+
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+         docs: keep section file sorted
+
+2011-07-07 10:52:50 -0700  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scaletempo/gstscaletempo.c:
+         scaletempo: improve the docs
+         Fix the syntax, add more explanation and xref the properties.
+
+2011-06-05 00:54:19 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+       * ext/Makefile.am:
+       * ext/opus/Makefile.am:
+       * ext/opus/gstopus.c:
+       * ext/opus/gstopusdec.c:
+       * ext/opus/gstopusdec.h:
+       * ext/opus/gstopusenc.c:
+       * ext/opus/gstopusenc.h:
+         opus: duplicate from CELT
+         Copy the celt plugin and convert it to Opus.  Mostly works.
+
+2011-07-06 15:56:32 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/gstdecklink.cpp:
+         decklink: HD modes are square pixels
+
+2011-07-05 10:19:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+         Add -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings
+
+2011-07-04 16:18:18 -0700  David Schleef <ds@schleef.org>
+
+       * gst/videoparsers/gstdiracparse.c:
+       * gst/videoparsers/gstdiracparse.h:
+         diracparse: make diracparse work correctly
+
+2011-07-03 18:32:37 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/gstdecklinksrc.cpp:
+         decklink: properly set up analog input
+
+2011-06-28 23:47:18 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinksrc.cpp:
+         decklink: Add more modes
+
+2011-06-03 19:41:33 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+       * gst/inter/Makefile.am:
+       * gst/inter/gstinter.c:
+       * gst/inter/gstinteraudiosink.c:
+       * gst/inter/gstinteraudiosink.h:
+       * gst/inter/gstinteraudiosrc.c:
+       * gst/inter/gstinteraudiosrc.h:
+       * gst/inter/gstintersurface.c:
+       * gst/inter/gstintersurface.h:
+       * gst/inter/gstintertest.c:
+       * gst/inter/gstintervideosink.c:
+       * gst/inter/gstintervideosink.h:
+       * gst/inter/gstintervideosrc.c:
+       * gst/inter/gstintervideosrc.h:
+         inter: new intermediate surface plugin
+         This set of elements allows easily rendering audio and video to
+         an intermediate surface that is then used as a source in a different
+         pipeline.
+
+2011-06-18 15:51:54 -0700  David Schleef <ds@schleef.org>
+
+       * gst/colorspace/colorspace.c:
+       * gst/colorspace/colorspace.h:
+       * gst/colorspace/gstcolorspace.c:
+         colorspace: Add JPEG YCbCr matrix
+
+2011-06-18 15:56:49 -0700  David Schleef <ds@schleef.org>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: update for new libvpx api
+
+2011-06-26 19:29:24 -0700  David Schleef <ds@schleef.org>
+
+       * gst/y4m/gsty4mdec.c:
+         y4mdec: Fix buffer duration
+
+2011-06-26 15:15:54 +0200  Alexey Fisher <bug-track@fisher-privat.net>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: generate a timestamp for alt-ref frames.
+         It will fix handling of altref/invisible frames since matroska-mux
+         drop any fram with no timestamp.
+         see also:
+         http://www.webmproject.org/code/specs/container/
+         The encoder will currently set the AR's timestamp as close as possible
+         to the previous frame while attempting to provide a timestamp that is
+         strictly increasing. In cases where the time base given to the encoder
+         at configure time is not granular enough to allow for this the AR
+         will share the same timestamp as D, but should be
+         treated as having no duration.
+         Fixes bug #652951
+         Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
+
+2011-06-25 23:55:28 +0300  Raimo Järvi <raimo.jarvi@gmail.com>
+
+       * configure.ac:
+         wininet: Fix configure check by including windows.h
+         Fixes bug #653161.
+
+2011-06-07 13:55:38 +0300  Raimo Järvi <raimo.jarvi@gmail.com>
+
+       * configure.ac:
+       * sys/Makefile.am:
+       * sys/d3dvideosink/Makefile.am:
+         d3dvideosink: Fix configure check and makefiles
+         Fixes bug #652035.
+
+2011-06-25 15:12:45 -0700  David Schleef <ds@schleef.org>
+
+       * gst/tta/gstttadec.c:
+       * gst/tta/gstttaparse.c:
+         tta: decrease rank to NONE
+         Appears to be utterly incapable of parsing and decoding TTA streams.
+         Hasn't been updated to do TTA2.  If you want this element to work,
+         fix the bloody thing.  The gst-ffmpeg decoder works fine.
+         Also fixed an obvious endianness issue along the way.
+         Fixes: #652924
+
+2011-06-18 17:47:36 +0200  Alexey Fisher <bug-track@fisher-privat.net>
+
+       * ext/vp8/gstvp8dec.c:
+         vp8dec: add check if we have legal aspect-ratio before reset it.
+         the commit f9b552f0494e (vp8dec: set par to 1/1)
+         will fix situation where no aspect-ratio is set, but it brake
+         stream with available aspect-ratio. This patch fix it.
+         Fixes: #652902.
+         Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
+
+2011-06-23 20:11:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: don't use GLib 2.28 API
+         Don't use GLib 2.28 API, we still only require >= 2.24.
+
+2011-06-23 11:28:53 -0700  David Schleef <ds@schleef.org>
+
+       * common:
+         Automatic update of common submodule
+         From 69b981f to 605cd9a
+
+2011-06-22 22:25:18 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Set tagsetters to merge replace mode
+         The default for tagsetters is to use merge keep mode, so tags
+         would never be replaced and all captures would have the same tags.
+         This commit watches all elements added into encodebin and sets
+         all tagsetters to merge replace mode
+
+2011-06-22 18:58:29 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+       * tests/check/elements/camerabin2.c:
+         camerabin2: Use a single location for both modes
+         Implement the location property just like it works in camerabin, the
+         same location is used for both images and videos
+
+2011-06-22 16:27:00 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Send serialized custom events for filename changes in image sink
+         Using serialized custom events for switching image capture saving
+         location makes camerabin2 save each capture correctly to the location
+         that was set during the moment start-capture was called, and not
+         the moment the filesink was writing to disk.
+         This prevents captures to be overwriten by racyness among start-capture
+         and setting location for images.
+
+2011-06-22 15:56:26 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: No need to change state of the whole image branch
+         We only need to change the state of the filesink to switch its
+         saving location. This might still cause some problems of dropping
+         captured buffers, but it is better than changing the state of
+         the whole branch.
+
+2011-06-22 15:37:44 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Use names for image and video encodebin
+         Naming encodebins as image-encodebin and video-encodebin to make
+         it easier for debugging camerabin2.
+
+2011-06-17 17:26:37 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+         camerabin2: Remove unused variable
+
+2011-06-17 14:32:35 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: Adds new test to check image location correctness
+         This new test checks that images are saved with the filename setting
+         on location on the moment of the start-capture
+
+2011-06-15 08:20:31 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Minor debug message fix
+
+2011-05-13 11:25:18 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         examples: camerabin2: Adds performance measurement to gst-camerabin2-test
+         Adds performance (timing) measure feature to gst-camerabin2-test, it allows
+         users to specify some target values for commonly measured times and the
+         application will print out a table of values at the end of its execution
+         with the measured times and averages of them.
+
+2011-06-22 10:13:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/h264parse/gsth264parse.c:
+         legacyh264parse: create correct avc codec-data
+         Fixes #653013.
+
+2011-06-21 12:45:31 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/h264parse/gsth264parse.c:
+         legacyh264parse: fix output caps alignment for avc input
+         ... particularly when splitting packetized input.
+         Fixes #652995.
+
+2011-06-21 12:43:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: avc input must either pass-through or be split into bytestream chunks
+         ... since parsing code is not meant to receive avc data.
+         Fixes #653087.
+
+2011-06-21 12:41:47 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: avoid bogus frame parsing state
+
+2011-06-20 12:47:39 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/DeckLinkAPI.h:
+       * sys/decklink/DeckLinkAPIDispatch.cpp:
+         decklink: update DeckLink API wrappers
+
+2011-06-20 00:38:05 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/decklink/gstdecklinksrc.h:
+         decklink: Add connection type
+
+2011-06-05 21:19:58 -0700  Rafael Diniz <rafael@riseup.net>
+
+       * sys/decklink/capture.cpp:
+       * sys/decklink/gstdecklinksink.cpp:
+       * sys/decklink/gstdecklinksink.h:
+         decklinksink: Add audio support
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-06-05 21:24:58 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/capture.cpp:
+       * sys/decklink/gstdecklink.cpp:
+       * sys/decklink/gstdecklink.h:
+       * sys/decklink/gstdecklinksink.cpp:
+       * sys/decklink/gstdecklinksink.h:
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/decklink/gstdecklinksrc.h:
+         decklink: Add various features
+         Better mode support, input source property, audio support.
+
+2011-06-05 21:24:39 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/capture.cpp:
+         decklink: remove unused code
+
+2011-06-05 21:17:04 -0700  David Schleef <ds@schleef.org>
+
+       * sys/decklink/DeckLinkAPIDispatch.cpp:
+       * sys/decklink/capture.cpp:
+       * sys/decklink/gstdecklinksink.cpp:
+       * sys/decklink/gstdecklinksrc.cpp:
+         decklink: reindent
+
+2011-06-17 16:12:00 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: only free the index array if it exists
+         Only free the array if it exists.
+         Contains an unrelated indentation fix, courtesy of gst-indent
+
+2011-06-18 01:11:05 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * docs/plugins/gst-plugins-bad-plugins.interfaces:
+         update docs generated files
+
+2011-06-18 01:09:51 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+       * docs/plugins/inspect/plugin-rtmp.xml:
+       * docs/plugins/inspect/plugin-rtmpsrc.xml:
+       * ext/rtmp/Makefile.am:
+       * ext/rtmp/gstrtmp.c:
+       * ext/rtmp/gstrtmpsink.c:
+       * ext/rtmp/gstrtmpsink.h:
+       * ext/rtmp/gstrtmpsrc.c:
+         RTMP: add rtmpsink element for output to an RTMP server
+
+2011-06-16 17:17:07 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/pipelines/colorspace.c:
+         tests: add colorspace unit test
+         Compares colorspace result with ffmpegcolorspace output using SSIM.
+         Also probes for possible crashes for odd width and height image by applying
+         all possible colorspace transformations.
+
+2011-06-17 12:10:06 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/debugutils/Makefile.am:
+       * gst/debugutils/debugutilsbad.c:
+       * gst/debugutils/gstcompare.c:
+       * gst/debugutils/gstcompare.h:
+         debugutils: add compare element
+
+2011-06-15 18:20:48 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/colorspace/colorspace.c:
+         colorspace: fix odd width and height handling in some fastpath cases
+
+2011-06-16 19:06:03 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * sys/shm/shmpipe.h:
+         shm: Improve documentation of internal shmpipe
+
+2011-06-15 16:32:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+       * gst/colorspace/Makefile.am:
+       * gst/colorspace/colorspace.c:
+       * gst/colorspace/colorspace.h:
+       * gst/colorspace/colorspace.vcproj:
+       * gst/colorspace/gstcolorspace.c:
+       * gst/colorspace/gstcolorspace.h:
+       * gst/colorspace/gstcolorspaceorc-dist.c:
+       * gst/colorspace/gstcolorspaceorc-dist.h:
+       * gst/colorspace/gstcolorspaceorc.orc:
+         Moved 'colorspace' from -bad to -base
+
+2011-06-15 16:06:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         android/aacparse.mk
+         android/amrparse.mk
+         android/h264parse.mk
+         android/metadata.mk
+         android/qtmux.mk
+         android/sdpelem.mk
+         configure.ac
+         gst/qtmux/gstqtmux.c
+         win32/common/config.h
+
+2011-06-13 11:12:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * sys/wininet/gstwininetsrc.c:
+         wininetsrc: don't use G_CONST_RETURN
+         It's going to be deprecated really soon.
+
+2011-06-12 12:55:40 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+         videoparsers: Speed up the start code search algorithm
+         Based on 96a7f9c8b1195129f0c2157cbbcbaa6cab45056e
+         Makes it 3-4 times faster
+
+2011-06-12 12:40:15 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/videoparsers/gstmpegvideoparse.c:
+         videoparsers: Fix sink pad template
+         no wonder it was never picked up ...
+
+2011-06-12 11:27:30 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Don't free unexistent PAT
+         And cleanup find_timestamps a bit
+
+2011-05-18 19:33:45 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: More fixes to handle non-188 byte packets
+
+2011-05-15 14:04:45 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/payload_parsers.c:
+       * gst/mpegtsdemux/payload_parsers.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegts: Stop scanning for keyframes as early as possible
+
+2011-03-31 14:36:02 +0200  Janne Grunau <janne.grunau@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsdemux: always try to seek for to a keyframe
+         keyframe is expected to lie in the the next ~2500 ms
+
+2011-03-23 18:50:25 +0100  Janne Grunau <janne.grunau@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsdemux: fix timestamps in newsegement event after seeking
+
+2011-03-30 11:26:18 +0200  Janne Grunau <janne.grunau@collabora.co.uk>
+
+       * gst/mpegtsdemux/payload_parsers.c:
+       * gst/mpegtsdemux/payload_parsers.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsdemux: payload parsing for H.264
+
+2011-03-28 10:20:43 +0200  Janne Grunau <janne.grunau@collabora.co.uk>
+
+       * gst/mpegtsdemux/Makefile.am:
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/payload_parsers.c:
+       * gst/mpegtsdemux/payload_parsers.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsdemux: implement key_unit seeking for MPEG2 video
+
+2011-03-22 16:49:13 +0100  Janne Grunau <janne.grunau@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsdemux: accurate seeking
+         * pes header parsing for pts is ugly, refactor
+         * timestamps/newsegment after seeking is still off
+
+2011-02-22 12:33:56 +0100  Janne Grunau <janne.grunau@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+       * gst/mpegtsdemux/mpegtsbase.h:
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/mpegtspacketizer.h:
+       * gst/mpegtsdemux/tsdemux.c:
+       * gst/mpegtsdemux/tsdemux.h:
+         mpegtsdemux: push based seeking based on PCR
+         buffer timestamps are converted to GstClockTime to cover pcr/pts wraps.
+         multiple pcr/pts wraps are handled with an index which ensures at most
+         a single pcr wraparound between two entries.
+         the last seen pcr is recorded to have a nearby index point for short seeks
+         resuming playback might be delayed if the postion is not a keyframe
+         TODO: replace manual packet scanning and parsing in the initial duration estimation
+
+2011-02-23 15:21:22 +0100  Janne Grunau <janne.grunau@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+       * gst/mpegtsdemux/mpegtspacketizer.h:
+       * gst/mpegtsdemux/tsdemux.c:
+         mpegtsdemux: create function for pcr parsing
+
+2011-04-11 14:53:28 +0200  Janne Grunau <janne.grunau@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtspacketizer.c:
+         mpegtsdemux: adaptation field length == 0 is valid
+         it can be used to insert a single stuffing byte
+         do not parse the following payload as adaptation field
+
+2011-06-07 14:14:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * Makefile.am:
+         Add gst/invtelecine to CRUFT_DIRS
+
+2011-06-07 13:44:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+         configure: require GLib >= 2.24
+         Make implicit requirement explicit.
+
+2011-06-06 15:23:22 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/.gitignore:
+       * tests/check/elements/baseaudiovisualizer.c:
+         tests: add a test for baseaudiovisualizer
+
+2011-06-06 15:20:30 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+         baseaudiovisualizer: fix last block condition
+         Also push out the last frame if we have exact amount of samples. Fix the adapter
+         flushing to not cause endless loops. Drop a redundant avail() check.
+
+2011-06-04 20:41:49 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/README:
+         audiovisualizers: add a README with comments and plans
+
+2011-06-04 20:34:20 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * docs/plugins/inspect/plugin-adpcmdec.xml:
+       * docs/plugins/inspect/plugin-adpcmenc.xml:
+       * docs/plugins/inspect/plugin-apexsink.xml:
+       * docs/plugins/inspect/plugin-bayer.xml:
+       * docs/plugins/inspect/plugin-camerabin2.xml:
+       * docs/plugins/inspect/plugin-debugutilsbad.xml:
+       * docs/plugins/inspect/plugin-decklink.xml:
+       * docs/plugins/inspect/plugin-divxdec.xml:
+       * docs/plugins/inspect/plugin-divxenc.xml:
+       * docs/plugins/inspect/plugin-dtsdec.xml:
+       * docs/plugins/inspect/plugin-faac.xml:
+       * docs/plugins/inspect/plugin-faceoverlay.xml:
+       * docs/plugins/inspect/plugin-fieldanalysis.xml:
+       * docs/plugins/inspect/plugin-fragmented.xml:
+       * docs/plugins/inspect/plugin-frei0r.xml:
+       * docs/plugins/inspect/plugin-geometrictransform.xml:
+       * docs/plugins/inspect/plugin-gmedec.xml:
+       * docs/plugins/inspect/plugin-jpegformat.xml:
+       * docs/plugins/inspect/plugin-kate.xml:
+       * docs/plugins/inspect/plugin-ladspa.xml:
+       * docs/plugins/inspect/plugin-linsys.xml:
+       * docs/plugins/inspect/plugin-lv2.xml:
+       * docs/plugins/inspect/plugin-modplug.xml:
+       * docs/plugins/inspect/plugin-mpegtsdemux.xml:
+       * docs/plugins/inspect/plugin-mpegvideoparse.xml:
+       * docs/plugins/inspect/plugin-mplex.xml:
+       * docs/plugins/inspect/plugin-musepack.xml:
+       * docs/plugins/inspect/plugin-patchdetect.xml:
+       * docs/plugins/inspect/plugin-sdi.xml:
+       * docs/plugins/inspect/plugin-shm.xml:
+       * docs/plugins/inspect/plugin-timidity.xml:
+       * docs/plugins/inspect/plugin-vdpau.xml:
+       * docs/plugins/inspect/plugin-video3d.xml:
+       * docs/plugins/inspect/plugin-videofiltersbad.xml:
+       * docs/plugins/inspect/plugin-videoparsersbad.xml:
+       * docs/plugins/inspect/plugin-xvid.xml:
+         docs: update inspect files
+
+2011-06-04 16:12:40 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * docs/plugins/gst-plugins-bad-plugins.interfaces:
+       * docs/plugins/inspect/plugin-audiovisualizers.xml:
+         docs: add new audiovisualizers to the plugin docs
+
+2011-06-04 15:56:15 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstwavescope.c:
+         audiovisualizers: remove some not needed boilerplate
+
+2011-06-04 15:52:44 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/Makefile.am:
+       * gst/audiovisualizers/gstspacescope.c:
+       * gst/audiovisualizers/gstspacescope.h:
+       * gst/audiovisualizers/plugin.c:
+         audiovisualizers: add a spacescope element
+         Add another element that maps left/right channel to x,y coordinates.
+
+2011-06-04 15:38:46 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstsynaescope.c:
+         synaescope: tweak the algorithm
+         Speed-up the calculation a bit. Keep a few values as doubles. Tune the scaling
+         to get nices colors.
+
+2011-06-04 14:37:04 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/audiovisualizers/gstspectrascope.c:
+       * gst/audiovisualizers/gstsynaescope.c:
+         audiovisualizers: doc-blob and comment updates
+
+2011-06-04 14:33:29 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/audiovisualizers/Makefile.am:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.c:
+       * gst/audiovisualizers/gstbaseaudiovisualizer.h:
+       * gst/audiovisualizers/gstbasescope.c:
+       * gst/audiovisualizers/gstbasescope.h:
+       * gst/audiovisualizers/gstspectrascope.c:
+       * gst/audiovisualizers/gstspectrascope.h:
+       * gst/audiovisualizers/gstsynaescope.c:
+       * gst/audiovisualizers/gstsynaescope.h:
+       * gst/audiovisualizers/gstwavescope.c:
+       * gst/audiovisualizers/gstwavescope.h:
+         audiovisualizers: rename baseclass from basescope to baseaudiovisualizer
+
+2011-06-04 14:25:57 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * configure.ac:
+       * gst/audiovisualizers/Makefile.am:
+       * gst/audiovisualizers/gstbasescope.c:
+       * gst/audiovisualizers/gstbasescope.h:
+       * gst/audiovisualizers/gstspectrascope.c:
+       * gst/audiovisualizers/gstspectrascope.h:
+       * gst/audiovisualizers/gstsynaescope.c:
+       * gst/audiovisualizers/gstsynaescope.h:
+       * gst/audiovisualizers/gstwavescope.c:
+       * gst/audiovisualizers/gstwavescope.h:
+       * gst/audiovisualizers/plugin.c:
+       * gst/scopes/Makefile.am:
+       * gst/scopes/gstbasescope.c:
+       * gst/scopes/gstbasescope.h:
+       * gst/scopes/gstspectrascope.c:
+       * gst/scopes/gstspectrascope.h:
+       * gst/scopes/gstsynaescope.c:
+       * gst/scopes/gstsynaescope.h:
+       * gst/scopes/gstwavescope.c:
+       * gst/scopes/gstwavescope.h:
+       * gst/scopes/plugin.c:
+         audiovisualizers: rename scopes plugin to audiovisualizers
+
+2011-05-31 14:42:55 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scopes/gstspectrascope.c:
+       * gst/scopes/gstsynaescope.c:
+         scopes: fix elements descriptions
+
+2011-05-30 23:45:17 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scopes/gstspectrascope.c:
+         spectrascope: use add_pixel for non-white pixels
+         https://bugzilla.gnome.org/show_bug.cgi?id=651536
+
+2011-05-30 23:36:42 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scopes/Makefile.am:
+       * gst/scopes/gstsynaescope.c:
+       * gst/scopes/gstsynaescope.h:
+       * gst/scopes/plugin.c:
+         scopes: add a new element similar to synaesthesia
+         https://bugzilla.gnome.org/show_bug.cgi?id=651536
+
+2011-05-28 23:22:59 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scopes/gstspectrascope.c:
+       * gst/scopes/gstwavescope.c:
+         scopes: draw pixels with signle 32bit writes
+         https://bugzilla.gnome.org/show_bug.cgi?id=651536
+
+2011-05-28 14:36:51 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scopes/gstbasescope.c:
+       * gst/scopes/gstbasescope.h:
+         basescope: add more shading effects
+         https://bugzilla.gnome.org/show_bug.cgi?id=651536
+
+2011-05-28 14:08:05 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scopes/gstbasescope.c:
+       * gst/scopes/gstbasescope.h:
+         basescope: add a property to modify the ammount of shading
+         Add another property to specify the shading per color channel. Fix endianess
+         issues in the shading code.
+         https://bugzilla.gnome.org/show_bug.cgi?id=651536
+
+2011-05-27 23:25:00 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scopes/Makefile.am:
+       * gst/scopes/gstbasescope.c:
+       * gst/scopes/gstbasescope.h:
+       * gst/scopes/plugin.c:
+         basescope: add a backbuffer and apply shading effects
+         Keep the last frame and apply shade and geometry effects. Expose the shading
+         effects as a controllable gobject property on the baseclass.
+         https://bugzilla.gnome.org/show_bug.cgi?id=651536
+
+2011-05-27 23:12:00 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scopes/gstbasescope.c:
+       * gst/scopes/gstbasescope.h:
+       * gst/scopes/gstspectrascope.c:
+         basescope: allow subclasses telling how many sample they need per frame
+         This allows e.g. FFT based elements to require enough data. If they need more
+         data than what we get, we flush less from the adapter.
+         https://bugzilla.gnome.org/show_bug.cgi?id=651536
+
+2011-05-27 22:53:10 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scopes/gstbasescope.c:
+         basescope: remove some comments
+         Those comments where pointing to example calls that we do in the subclass.
+         https://bugzilla.gnome.org/show_bug.cgi?id=651536
+
+2011-05-27 14:43:51 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/scopes/Makefile.am:
+       * gst/scopes/gstspectrascope.c:
+       * gst/scopes/gstspectrascope.h:
+       * gst/scopes/plugin.c:
+         scopes: add a simple fft based scope
+         Add a 2nd demo scope that uses a fft.
+         https://bugzilla.gnome.org/show_bug.cgi?id=651536
+
+2011-05-27 11:14:19 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * configure.ac:
+       * gst/scopes/Makefile.am:
+       * gst/scopes/gstbasescope.c:
+       * gst/scopes/gstbasescope.h:
+       * gst/scopes/gstwavescope.c:
+       * gst/scopes/gstwavescope.h:
+       * gst/scopes/plugin.c:
+         scopes: first version of a scopes plugin using a new baseclass
+         Add a new baseclass for writing visualisation plugins. Provide a simple wave
+         oscilloscope as a first subclass.
+         https://bugzilla.gnome.org/show_bug.cgi?id=651536
+
+2011-04-29 13:33:43 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegvideoparse/mpegvideoparse.c:
+         mpegvideoparse: Avoid double scanning of pictures
+         The incoming data has already been scanned in mpeg_packetizer_add_buf.
+         We can therefore stop scanning for picture data as soon as we've parsed
+         the header. Makes mpegvideoparse 2 times faster.
+         https://bugzilla.gnome.org/show_bug.cgi?id=648933
+
+2011-06-05 13:56:08 -0700  Levente Farkas <lfarkas@lfarkas.org>
+
+       * sys/directdraw/gstdirectdrawplugin.c:
+         directdrawsink: lower rank to secondary
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-06-05 13:38:46 -0700  Levente Farkas <lfarkas@lfarkas.org>
+
+       * sys/d3dvideosink/directx/dx.h:
+         d3dvideosink: compile fix
+         Signed-off-by: David Schleef <ds@schleef.org>
+
+2011-06-05 10:34:28 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+       * gst/invtelecine/Makefile.am:
+       * gst/invtelecine/gstinvtelecine.c:
+         invtelecine: Remove in favor of fieldanalysis
+
+2011-06-04 18:54:16 -0700  David Schleef <ds@schleef.org>
+
+       * sys/directdraw/gstdirectdrawsink.c:
+         directdrawsink: Handle pixel-aspect-ratio
+         Fixes: #651779.  From Raimo Järvi.
+
+2011-06-04 18:43:45 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+       * sys/Makefile.am:
+       * sys/d3dvideosink/Makefile.am:
+       * sys/d3dvideosink/d3dvideosink.c:
+       * sys/d3dvideosink/d3dvideosink.h:
+       * sys/d3dvideosink/directx/d3d.c:
+       * sys/d3dvideosink/directx/d3d.h:
+       * sys/d3dvideosink/directx/directx.h:
+       * sys/d3dvideosink/directx/directx10/dx10.c:
+       * sys/d3dvideosink/directx/directx10/dx10.h:
+       * sys/d3dvideosink/directx/directx10/dx10_d3d.c:
+       * sys/d3dvideosink/directx/directx10/dx10_d3d.h:
+       * sys/d3dvideosink/directx/directx11/dx11.c:
+       * sys/d3dvideosink/directx/directx11/dx11.h:
+       * sys/d3dvideosink/directx/directx11/dx11_d3d.c:
+       * sys/d3dvideosink/directx/directx11/dx11_d3d.h:
+       * sys/d3dvideosink/directx/directx9/dx9.c:
+       * sys/d3dvideosink/directx/directx9/dx9.h:
+       * sys/d3dvideosink/directx/directx9/dx9_d3d.c:
+       * sys/d3dvideosink/directx/directx9/dx9_d3d.h:
+       * sys/d3dvideosink/directx/dx.c:
+       * sys/d3dvideosink/directx/dx.h:
+         d3dvideosink: Add plugin
+         Fixes #651782.  Patch from various authors, by way of ossbuild.
+
+2011-06-04 14:04:44 -0700  David Schleef <ds@schleef.org>
+
+       * gst/liveadder/liveadder.c:
+       * gst/mxf/mxfmux.c:
+       * gst/videomeasure/gstvideomeasure_ssim.c:
+         Work around changes in g_atomic API
+         See #651514 for details.
+
+2011-06-04 13:51:20 -0700  David Schleef <ds@schleef.org>
+
+       * sys/vdpau/h264/gsth264frame.c:
+         vdpau: remove old glib compatibility code
+
+2011-06-03 19:36:59 -0700  David Schleef <ds@schleef.org>
+
+       * ext/vp8/gstvp8dec.c:
+         vp8dec: set par to 1/1
+
+2011-06-03 19:36:12 -0700  David Schleef <ds@schleef.org>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: Better handling of invalid par
+
+2011-05-30 17:03:14 -0700  David Schleef <ds@schleef.org>
+
+       * gst/videofilters/gstvideofilter2.c:
+         videofilter2: Fix copyright
+
+2011-06-04 20:35:03 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/dvdspu/gstspu-pgs.c:
+       * gst/invtelecine/gstinvtelecine.c:
+       * gst/jpegformat/gstjpegparse.c:
+       * gst/librfb/rfbdecoder.c:
+       * gst/mpegdemux/gstmpegtsdemux.c:
+       * gst/mpegdemux/gstpesfilter.c:
+       * gst/mpegdemux/mpegtspacketizer.c:
+         gst: some more unused-but-set-variable warning fixes
+
+2011-05-30 17:54:26 +0530  Debarshi Ray <rishi@gnu.org>
+
+       * ext/cog/gstcogdownsample.c:
+       * ext/cog/gstcogscale.c:
+       * ext/cog/gstcolorconvert.c:
+       * ext/cog/gstlogoinsert.c:
+       * gst/nsf/gstnsf.c:
+       * gst/patchdetect/gstpatchdetect.c:
+       * gst/sdi/gstsdidemux.c:
+       * gst/sdi/gstsdimux.c:
+       * gst/videofilters/gstscenechange.c:
+       * gst/videofilters/gstvideofilter2.c:
+       * gst/videofilters/gstzebrastripe.c:
+       * gst/videoparsers/gstdiracparse.c:
+       * gst/y4m/gsty4mdec.c:
+       * sys/decklink/gstdecklinksink.cpp:
+       * sys/decklink/gstdecklinksrc.cpp:
+       * sys/fbdev/gstfbdevsink.c:
+       * sys/linsys/gstlinsyssdisink.c:
+       * sys/linsys/gstlinsyssdisrc.c:
+         Remove unused but set variables
+         This is needed to satisfy the new -Wunused-but-set-variable added in
+         GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html
+
+2011-05-09 14:35:42 -0300  Luciana Fujii Pontello <luciana.fujii@collabora.co.uk>
+
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+       * gst/camerabin2/gstwrappercamerabinsrc.h:
+         camerabin2: Adding a filter to wrappercamerabinsrc
+         Camerabin2 allows setting a filter for image, video or viewfinder, but
+         not one filter for all three at the same time. I added a filter to
+         wrappercamerabinsrc to allow setting a global filter when using this
+         source.
+         https://bugzilla.gnome.org/show_bug.cgi?id=649822
+
+2011-05-26 00:09:28 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: remove unused var
+
+2011-05-25 23:29:25 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstwrappercamerabinsrc.c:
+       * tests/check/elements/camerabin2.c:
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         camerabin2: Use full names in properties
+         Improve API by using source instead of src in properties
+
+2011-05-23 13:36:27 +0300  Teemu Katajisto <teemu.katajisto@digia.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: do not unref pad template
+
+2011-05-29 13:16:21 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * configure.ac:
+         configure.ac: fix avc check so that it tries to link to AVCVideoServices
+         Avoids avc plugin from being built when AVCVideoServices is not installed
+
+2011-05-26 12:23:01 +0300  Lasse Laukkanen <lasse.laukkanen@digia.com>
+
+       * tests/examples/camerabin/gst-camerabin-test.c:
+         examples: camerabin: Add --image-formatter command-line option
+         Add command-line option to gst-camerabin-test for configuring camerabin
+         metadata formatter element.
+
+2011-05-31 13:08:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * tests/check/elements/faac.c:
+         faac: Fix unit test after latest faac changes
+
+2011-05-31 12:55:45 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Fix scanning on small files
+         We were previously:
+         * Stopping early in the initial PCR scan
+         * Giving a negative offset for the second PCR scan
+
+2011-05-31 12:54:43 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/mpegtsdemux/mpegtsbase.c:
+         mpegtsbase: Don't call program_stopped with a NULL program
+
+2011-05-19 12:55:30 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
+
+       * gst/h264parse/gsth264parse.c:
+         legacyh264parse: Delay pushing buffers until we have width/height
+
+2011-05-27 11:13:08 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * ext/zbar/gstzbar.c:
+         zbar: remove template stamp comment
+
+2011-05-30 23:43:39 -0700  David Schleef <ds@schleef.org>
+
+       * gst/bayer/Makefile.am:
+       * gst/bayer/gstbayer2rgb.c:
+       * gst/bayer/gstbayerorc-dist.c:
+       * gst/bayer/gstbayerorc-dist.h:
+       * gst/bayer/gstbayerorc.orc:
+         bayer2rgb: Convert to Orc
+         Seriously faster.  Algorithm is nearly the same as bilinear, which
+         given the speed of this code, should be considered the baseline of
+         quality.  Speed appears to be limited by memory bandwidth, so I
+         didn't bother trying to make it any faster.
+
+2011-05-30 16:56:33 -0700  David Schleef <ds@schleef.org>
+
+       * gst/bayer/gstbayer2rgb.c:
+         bayer2rgb: Rewrite signal processing. Much faster.
+
+2011-05-30 17:54:26 +0530  Debarshi Ray <rishi@gnu.org>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst/camerabin/gstcamerabin.c:
+         Remove unused but set variables
+         This is needed to satisfy the new -Wunused-but-set-variable added in
+         GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html
+
+2011-05-30 13:01:54 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/dvdspu/gstdvdspu.c:
+         Revert "dvdspu: Fix pad templates"
+         This reverts commit 732828e31cbace59e6ce4f262b8339e43ed0c631.
+         It was in fact an issue in core
+
+2011-05-30 13:01:20 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/mpegtsdemux/tsdemux.c:
+         tsdemux: Protect against program being removed
+
+2011-05-30 12:27:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/faceoverlay/Makefile.am:
+         faceoverlay: Add gst-plugins-base CFLAGS and LIBS to fix compilation
+
+2011-05-30 12:24:31 +0200  Laura Lucas Alday <lauralucas@gmail.com>
+
+       * configure.ac:
+       * gst/faceoverlay/Makefile.am:
+       * gst/faceoverlay/gstfaceoverlay.c:
+       * gst/faceoverlay/gstfaceoverlay.h:
+         faceoverlay: Add element that displays an SVG image over a detected face
+         Fixes bug #642759.
+
+2011-05-30 08:48:29 +0200  Tom Deseyn <tom.deseyn@barco.com>
+
+       * ext/directfb/dfbvideosink.c:
+         dfbvideosink: Also consider non-accelerated DirectFB surfaces
+         Fixes bug #631390.
+
+2010-09-02 23:31:23 +0300  Martin Storsjo <martin@martin.st>
+
+       * sys/qtwrapper/audiodecoders.c:
+         qtwrapper: Decode audio until all input data is consumed
+         The special return value is returned from our buffer callback
+         when all input data has been consumed.
+
+2011-05-03 14:14:20 +0300  Martin Storsjo <martin@martin.st>
+
+       * sys/qtwrapper/audiodecoders.c:
+         qtwrapper: Replace the hackish 42 magic number with a define
+
+2011-05-30 08:43:59 +0200  Julien MOUTTE <julien@moutte.net>
+
+       * sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+       * sys/dshowdecwrapper/gstdshowaudiodec.h:
+       * sys/dshowdecwrapper/gstdshowvideodec.cpp:
+       * sys/dshowdecwrapper/gstdshowvideodec.h:
+         dshowdecwrapper: Fix COM initialization
+         Fixes bug #625190.
+
+2011-05-30 08:43:40 +0200  Julien MOUTTE <julien@moutte.net>
+
+       * sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+       * sys/dshowdecwrapper/gstdshowutil.h:
+       * sys/dshowdecwrapper/gstdshowvideodec.cpp:
+         dshowdecwrapper: Fix element registration using data in the type instead of a global
+
+2011-05-29 18:16:49 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/dvdspu/gstdvdspu.c:
+         dvdspu: Fix pad templates
+         Our caps intersection code is a bit too touchy about what an element
+         returns compared to its pad templates.
+
+2011-05-29 13:05:31 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/videoparsers/h264parse.c:
+         h264parse: check for out of range pps_id one layer up
+
+2011-05-29 13:03:38 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.c:
+         mpeg4videoparse: fix compiler warnings
+
+2011-05-29 12:54:40 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/h264parse/gsth264parse.c:
+         legacyh264parse: check for out of range pps_id one layer up
+         Fixes compiler warning comparing guint8 and MAX_PPS_COUNT which is > G_MAXUINT8
+
+2011-05-27 11:05:46 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>
+
+       * gst-plugins-bad.spec.in:
+       * gst/debugutils/Makefile.am:
+         Fix missing header file and update spec to work around current compiler issues
+
+2011-05-27 10:44:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/faac/Makefile.am:
+         faac: fix CFLAGS and LIBS order in Makefile.am
+
+2011-05-27 10:44:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: Set the correct, valid sample rates in the pad template caps
+
+2011-05-27 10:41:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: Make sure to also return only a subset of the pad template caps in getcaps
+
+2011-05-27 10:35:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: Set the correct, valid sample rates in the pad template caps
+
+2011-05-27 10:32:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: The encoder library currently only supports 1 or 2 channels
+
+2011-05-27 10:31:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/voaacenc/Makefile.am:
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: Add profile and level to the caps
+         Fixes bug #650595.
+
+2011-05-27 10:11:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faac/Makefile.am:
+       * ext/faac/gstfaac.c:
+       * ext/faac/gstfaac.h:
+         faac: Add the profile and level to the caps
+         Also negotiate the profile from the downstream peer caps
+         instead of using a property.
+         Fixes bug #650594.
+
+2011-05-27 09:40:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/faac/gstfaac.c:
+         faac: Use PROP_ instead of ARG_ for the property enums
+
+2011-05-26 09:59:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/debugutils/gstdebugspy.c:
+         debugspy: Use G_PARAM_STATIC_STRINGS
+
+2011-01-14 17:42:50 +0100  Guillaume Emont <gemont@igalia.com>
+
+       * gst/debugutils/Makefile.am:
+       * gst/debugutils/debugutilsbad.c:
+       * gst/debugutils/gstdebugspy.c:
+       * gst/debugutils/gstdebugspy.h:
+         debugspy: add new element
+         This element allows you to get information about buffers with bus messages. It
+         provides the same kind of information as identity does through a notify signal
+         on a string property, but in a more programmer-friendly way.
+
+2011-05-26 09:46:58 +0200  Gabriel Strimtu <gabrielstrimtu@yahoo.com>
+
+       * gst/mpegdemux/mpegtsparse.c:
+         mpegtsparse: Fix parsing of PSI table IDs
+         Fixes bug #635917.
+
+2011-05-26 09:22:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/dc1394/gstdc1394.c:
+         dc1394src: Implement LATENCY query
+         Based on the LATENCY query code in v4l2src and the patch
+         by Tristan Matthews. Fixes bug #625520.
+
+2011-05-25 23:14:27 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * tests/check/Makefile.am:
+         tests: blacklist more sys elements from the state tests
+         Also wrap the list of blacklisted elements and trim some whitespace.
+
+2011-05-25 23:13:17 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * ext/lv2/gstlv2.c:
+         lv2: ensure uniqe property names
+         Copy and adjust the code from ladspa plugin to ensure unique gobject property
+         names.
+
+2011-05-25 20:52:09 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/h263parse.c:
+       * tests/check/elements/h264parse.c:
+       * tests/check/elements/mpeg4videoparse.c:
+       * tests/check/elements/mpegvideoparse.c:
+         tests: add unit tests for a number of video parsers
+
+2011-05-25 20:49:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * tests/check/elements/parser.c:
+         tests: additional offset tracking in parser test helper
+
+2011-05-25 20:48:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * tests/check/elements/parser.c:
+       * tests/check/elements/parser.h:
+         tests: additional parameterization for parser test helper
+         Allow context callbacks to perform custom buffer verification
+         and custom element setup.  Also move some static tracking variables
+         into helper struct and expose the latter struct for use by unit test
+         (callbacks).
+
+2011-05-25 15:26:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: plug some more buffer leaks
+
+2011-05-25 13:53:55 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: compensate for skipped bytes in parsing state offsets
+
+2011-05-25 13:53:21 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fix clearing adapter forming avc output frame
+         ... which needs to be reset upon a new frame and otherwise (only)
+         for avc input in passthrough mode (rather than on every chain call).
+
+2011-05-25 11:50:07 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/h264parse.c:
+       * gst/videoparsers/h264parse.h:
+         h264parse: handle all valid pps_id
+         ... which are in range 0-255.
+
+2011-05-15 13:23:39 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: allow full negotiation for packetized input
+         ... by defaulting to allow splitting packetized input and having
+         negotiation with downstream deciding whether or not this applies.
+         Also enable pass-through parsing mode if input and output format
+         (stream-format and alignment) match.
+         API: GstH264Parse:split-packetized (removed)
+         Fixes #650228.
+
+2011-05-24 21:50:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth263parse.c:
+       * gst/videoparsers/h263parse.c:
+         h263parse: also extract width and height into caps
+
+2011-04-21 22:42:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * tests/check/elements/jpegparse.c:
+         jpegparse: unit test for APP1/exif & comment parsing
+         https://bugzilla.gnome.org/show_bug.cgi?id=648478
+
+2011-05-25 14:42:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+       * ext/mpeg2enc/gstmpeg2encoder.cc:
+         mpeg2enc: fix build with 1.9.0 release again after recent fixes for mjpegtools 2.0.0
+         https://bugzilla.gnome.org/show_bug.cgi?id=650970
+
+2011-05-25 15:10:19 +0200  Andreas Frisch <fraxinas@opendreambox.org>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+         mpegtsmux: fix pointer output in stream-not-associated debug output
+         https://bugzilla.gnome.org/show_bug.cgi?id=651050
+
+2011-05-24 15:42:44 +0200  Götz Waschk <waschk@mandriva.org>
+
+       * ext/mpeg2enc/gstmpeg2encoder.cc:
+         mpeg2enc: support mjpegtools 2.0
+         This adds conditional includes for the renamed headers in mjpegtools 2.0.
+         Fixes: #650970.
+
+2011-05-23 17:29:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/xvid/gstxviddec.c:
+         xviddec: Add video/mpeg,mpegversion=4 to the caps
+         Fixes bug #609639.
+
+2011-05-20 17:06:49 +0300  Lasse Laukkanen <lasse.laukkanen@digia.com>
+
+       * gst/camerabin/camerabinimage.c:
+       * gst/camerabin/camerabinimage.h:
+       * gst/camerabin/gstcamerabin-enum.h:
+       * gst/camerabin/gstcamerabin.c:
+       * tests/check/elements/camerabin.c:
+         camerabin: Add image-formatter property
+         Add image-formatter property in order to let application configure
+         the formatter element for metadata.
+
+2011-05-23 13:54:35 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4parse.c:
+         mpeg4videoparse: additional debug tracing
+
+2011-05-23 12:06:01 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/Makefile.am:
+       * gst/videoparsers/gstmpegvideoparse.c:
+       * gst/videoparsers/gstmpegvideoparse.h:
+       * gst/videoparsers/mpegvideoparse.c:
+       * gst/videoparsers/mpegvideoparse.h:
+       * gst/videoparsers/plugin.c:
+         videoparsers: add new mpegvideoparse
+
+2011-05-23 12:02:00 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpegvideoparse/mpegvideoparse.c:
+         mpegvideoparse: rename to legacympegvideoparse
+
+2011-05-18 09:47:43 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: avoid stale parsing state
+
+2011-05-17 22:42:45 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth263parse.c:
+         h263parse: simplify minimum frame size handling
+
+2011-05-17 22:42:29 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: simplify minimum frame size handling
+
+2011-05-17 22:39:19 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+         mpeg4videoparse: simplify minimum frame size handling
+
+2011-05-17 22:18:51 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+         mpeg4videoparse: avoid stale parsing state
+
+2011-05-12 12:07:39 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpeg4videoparse/Makefile.am:
+       * gst/mpeg4videoparse/mpeg4parse.c:
+       * gst/mpeg4videoparse/mpeg4parse.h:
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+       * gst/mpeg4videoparse/mpeg4videoparse.h:
+         mpeg4videoparse: port to baseparse
+
+2011-05-23 15:03:18 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * configure.ac:
+         configure.ac: bump -core/-base requirement to 0.10.34.1
+         ... since latest baseparse API is required for videoparsers.
+
+2011-05-23 14:41:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: gracefully handle truncated input NAL units
+         Rather than assert'ing in such case, emit warning if the length of a NAL unit
+         is less than expected 2 and discard it.
+         Based on patch by Benjamin M. Schwartz <bens@alum.mit.edu>
+         Fixes #650416.
+
+2011-05-23 16:47:31 +0200  Vincent Génieux <vgenieux@free.fr>
+
+       * sys/dvb/gstdvbsrc.c:
+       * sys/dvb/gstdvbsrc.h:
+         dvbsrc: Add timeout property and use GstPoll instead of poll
+         This allows to use much higher timeout values because GstPoll
+         is interruptible and keeps the number of wakeups during signal
+         loss lower.
+         Fixes bug #608171.
+
+2011-05-23 14:58:08 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>
+
+       * ext/openal/Makefile.am:
+       * gst-plugins-bad.spec.in:
+         fix build of openal plugin from disted tarball
+
+2011-05-23 15:32:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/teletextdec/gstteletextdec.c:
+       * ext/teletextdec/gstteletextdec.h:
+       * ext/teletextdec/teletext.c:
+         teletextdec: Minor cleanup and indention fixes
+
+2011-05-23 15:20:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/teletextdec/gstteletextdec.c:
+         teletextdec: Don't use GST_FLOW_IS_FATAL()
+
+2011-05-23 15:14:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/teletextdec/gstteletextdec.c:
+         teletextdec: Fix buffer data leak
+
+2010-09-10 14:34:42 +0200  Andoni Morales Alastruey <amorales@flumotion.com>
+
+       * ext/teletextdec/gstteletextdec.c:
+       * ext/teletextdec/gstteletextdec.h:
+         teletextdec: Add support for pango
+         https://bugzilla.gnome.org/show_bug.cgi?id=619739
+
+2010-06-10 12:44:27 +0200  Andoni Morales Alastruey <amorales@flumotion.com>
+
+       * ext/teletextdec/gstteletextdec.c:
+       * ext/teletextdec/gstteletextdec.h:
+         teletextdec: add a new method to convert a page in a list of strings
+         https://bugzilla.gnome.org/show_bug.cgi?id=619739
+
+2010-09-09 16:41:32 +0200  Andoni Morales Alastruey <amorales@flumotion.com>
+
+       * ext/teletextdec/gstteletextdec.c:
+         teletextdec: add some data in the preroll buffer
+         https://bugzilla.gnome.org/show_bug.cgi?id=619739
+
+2010-06-10 13:55:30 +0200  Andoni Morales Alastruey <amorales@flumotion.com>
+
+       * ext/teletextdec/gstteletextdec.c:
+         teletextdec: fix deadlock on a stream error
+         https://bugzilla.gnome.org/show_bug.cgi?id=619739
+
+2010-06-10 12:42:42 +0200  Andoni Morales Alastruey <amorales@flumotion.com>
+
+       * ext/teletextdec/gstteletextdec.c:
+         teletextdec: don't try to push an event on a pad that returned an error
+         https://bugzilla.gnome.org/show_bug.cgi?id=619739
+
+2010-09-13 11:59:18 +0200  Andoni Morales Alastruey <amorales@flumotion.com>
+
+       * configure.ac:
+       * ext/Makefile.am:
+       * ext/teletextdec/Makefile.am:
+       * ext/teletextdec/gstteletextdec.c:
+       * ext/teletextdec/gstteletextdec.h:
+       * ext/teletextdec/teletext.c:
+         teletextdec: New teletext decoder plugin based in zvbi
+         https://bugzilla.gnome.org/show_bug.cgi?id=619739
+
+2011-05-23 14:14:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/openal/Makefile.am:
+       * ext/openal/gstopenal.c:
+       * ext/openal/gstopenalsrc.c:
+       * ext/openal/gstopenalsrc.h:
+         openal: Add new openalsrc element
+         Based on patches by Victor Lin <bornstub@gmail.com>
+         Fixes bug #550230.
+
+2011-05-23 13:41:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * ext/Makefile.am:
+       * ext/openal/Makefile.am:
+       * ext/openal/gstopenal.c:
+       * ext/openal/gstopenalsink.c:
+       * ext/openal/gstopenalsink.h:
+         openal: Add new OpenAL sink element
+         Based on a patch by Chris Robinson <chris.kcat@gmail.com>
+         Fixes bug #615615.
+
+2011-05-20 15:25:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Do not segfault on null locations
+         Prevent capture from starting when saving location is set to
+         NULL
+
+2011-05-20 13:04:54 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * sys/dvb/camapplicationinfo.c:
+         camapplicationinfo: fix possible array overrun
+
+2011-05-20 09:58:50 +0200  Rafael Diniz <rafael@riseup.net>
+
+       * gst/mpegdemux/gstmpegdefs.h:
+       * gst/mpegdemux/gstmpegdemux.c:
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpeg[pt]sdemux: Add support for AAC LATM/LOAS streams
+         Fixes bug #615681.
+
+2011-05-19 08:05:14 +0200  W. Michael Petullo <mike@flyn.org>
+
+       * ext/apexsink/gstapexraop.c:
+       * ext/apexsink/gstapexraop.h:
+       * ext/apexsink/gstapexsink.c:
+       * ext/apexsink/gstapexsink.h:
+         apexsink: Add support for generation 2 AirTunes hardware
+         Fixes bug #649931.
+
+2011-05-20 00:35:55 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * tests/examples/mxf/mxfdemux-structure.c:
+         mxf-example: fix the { } scope
+
+2011-05-20 00:20:07 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/festival/gstfestival.c:
+         festival: don't leak fd on error
+
+2011-05-20 00:16:00 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * gst/librfb/vncauth.c:
+         librfb: don't leak password on error
+
+2011-05-19 23:57:38 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * docs/plugins/Makefile.am:
+         docs: remove obsolete commented out part
+         We don't have this in the other modules and its not needed.
+
+2011-05-19 23:50:47 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * docs/plugins/gst-plugins-bad-plugins.interfaces:
+       * docs/plugins/gst-plugins-bad-plugins.prerequisites:
+         docs: update plugin introspection data
+         Now more files are merged and produced in a canonical fashion, which hopefully
+         creates less or no delta in the future.
+
+2011-05-19 22:58:10 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From 9e5bbd5 to 69b981f
+
+2011-05-19 14:58:22 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         camerabin2: examples: Add video-device argument
+         Adds an argument to select which video device should be used
+         on the video source element in camerabin2
+
+2011-05-19 14:52:22 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         camerabin2: examples: Fix typo from previous commit
+         The property is audio-src and not audio-source
+
+2011-05-19 14:32:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         camerabin2: examples: Add audio-source parameter to gst-camerabin2-test
+         Adds an option to select the audio source to be used on video
+         recordings on camerabin2 test application
+
+2011-05-19 14:23:59 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * configure.ac:
+         configure: add missing [
+         Adds missing [ to configure on the CDAUDIO pkg config check
+
+2011-05-19 18:45:25 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * ext/jp2k/gstjasperenc.c:
+         jasperenc: remove unused 'mimetype' variable
+         As mimetype is not used, we don't need to fetch it and therefore neither need
+         the structure s.
+
+2011-05-19 15:26:38 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>
+
+       * gst-plugins-bad.spec.in:
+         Update spec file to fit with latest upstream spec files
+
+2011-05-18 15:44:06 -0400  Olivier Crête <olivier.crete@collabora.com>
+
+       * sys/shm/gstshmsink.c:
+       * sys/shm/shmpipe.c:
+         shm: Make gcc 4.6 happy
+         Remove warnings due to initialized but never used warnings
+
+2011-05-18 13:35:34 -0700  David Schleef <ds@schleef.org>
+
+       * gst/h264parse/gsth264parse.h:
+         h264parse: max pps is 255
+         Fixes #650484.
+
+2011-05-12 22:54:44 +0300  Brian Gitonga Marete <marete@toshnix.com>
+
+       * sys/decklink/gstdecklinksrc.h:
+         decklink: Change counters to 64 bit unsigned integers.
+
+2011-05-10 16:14:32 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+         configure: switch libcdaudio to pkg-config
+
+2011-04-24 19:11:36 -0700  David Schleef <ds@schleef.org>
+
+       * gst/mpegtsmux/mpegtsmux_aac.c:
+       * gst/mpegtsmux/mpegtsmux_h264.c:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmuxcommon.h:
+       * gst/mpegtsmux/tsmux/tsmuxstream.c:
+         mpegtsmux: use gst debug for tsmux library
+
+2011-04-19 15:04:05 -0400  Quentin Smith <quentin@mit.edu>
+
+       * sys/avc/gstavcsrc.cpp:
+         avc: avcsrc is always enabled
+
+2011-04-19 15:01:15 -0400  Quentin Smith <quentin@mit.edu>
+
+       * sys/avc/gstavcsrc.cpp:
+         avc: Include 200 bus cycles in each buffer (about 300 TS packets)
+
+2011-04-19 15:00:53 -0400  Quentin Smith <quentin@mit.edu>
+
+       * sys/avc/gstavcsrc.cpp:
+         avc: Emit a single buffer per callback
+
+2011-04-19 13:53:54 -0400  Quentin Smith <quentin@mit.edu>
+
+       * sys/avc/gstavcsrc.cpp:
+       * sys/avc/gstavcsrc.h:
+         avc: Track the number of enqueued and dequeued packets
+
+2011-04-19 13:53:23 -0400  Quentin Smith <quentin@mit.edu>
+
+       * sys/avc/gstavcsrc.cpp:
+         avc: Dump timestamp information
+
+2011-04-18 15:37:57 -0400  Quentin Smith <quentin@mit.edu>
+
+       * sys/avc/gstavcsrc.cpp:
+       * sys/avc/gstavcsrc.h:
+         avc: Save AVC objects in the GstAVCSrc object
+         and stop them when the pipeline is stopped
+
+2011-04-18 15:16:00 -0400  Quentin Smith <quentin@mit.edu>
+
+       * sys/avc/gstavcsrc.cpp:
+         avc: Cycle and packet are unsigned
+
+2011-04-18 15:15:28 -0400  Quentin Smith <quentin@mit.edu>
+
+       * sys/avc/gstavcsrc.cpp:
+         avc: avcsrc is a live source
+
+2011-04-18 15:14:55 -0400  Quentin Smith <quentin@mit.edu>
+
+       * sys/avc/Makefile.am:
+         avc: Look in AVCVideoServices for headers
+
+2011-04-18 12:28:52 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+         avc: attempt new configure
+
+2011-04-16 19:42:00 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+       * sys/Makefile.am:
+       * sys/avc/Makefile.am:
+       * sys/avc/gstavcplugin.cpp:
+       * sys/avc/gstavcsrc.cpp:
+       * sys/avc/gstavcsrc.h:
+         avc: Add AVC Video Services plugin for OS/X
+
+2011-05-18 16:10:40 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From fd35073 to 9e5bbd5
+
+2011-05-18 13:27:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Name max/min quantizer properties {max,min}-quantizer
+         Also improve quality property description.
+
+2011-05-18 13:26:23 +0200  Alexey Fisher <bug-track@fisher-privat.net>
+
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+         vp8enc: Add properties to select a maximum and minimum quantizer
+         Fixes bug #641405.
+
+2011-05-18 13:18:58 +0200  Alexey Fisher <bug-track@fisher-privat.net>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Fix quality to (constant) quantizer mapping
+         This now allows to select all possible quantizers between
+         0 and 63.
+         See bug #641405.
+
+2011-05-18 12:24:47 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From 46dfcea to fd35073
+
+2011-04-28 15:59:38 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * ext/mplex/gstmplex.cc:
+       * gst/adpcmdec/adpcmdec.c:
+       * gst/adpcmenc/adpcmenc.c:
+       * gst/geometrictransform/gstfisheye.c:
+       * gst/geometrictransform/gstmirror.c:
+       * gst/geometrictransform/gstsquare.c:
+       * gst/mpegtsdemux/tsdemux.c:
+       * sys/shm/gstshmsrc.c:
+         various: fix author tag in element details
+
+2011-04-27 16:56:09 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * tools/element-templates/audiofilter:
+         element-templates: improve the audiofilter template
+         Add comments. Add start/stop methods. Add (commented) instance casts at the
+         begin of the method. Make transform_ip returning FLOW_OK by default.
+
+2011-04-27 16:51:55 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * tools/gst-element-maker:
+         element-maker: improve plugin_init()
+         Return the result of gst_element_register(). Use the TYPE macro instead of the
+         _get_type() function.
+
+2011-05-12 11:57:19 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fix some buffer leaks
+         Fixes #650323.
+
+2011-05-12 11:56:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/videoparsers/gsth264parse.c:
+         h264parse: fixup boilerplate and debug code style
+
+2011-05-13 17:18:52 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/Makefile.am:
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstimagecapturebin.c:
+       * gst/camerabin2/gstimagecapturebin.h:
+       * gst/camerabin2/gstplugin.c:
+       * tests/check/Makefile.am:
+       * tests/check/elements/imagecapturebin.c:
+         camerabin2: Remove obsolete imagecapturebin
+         imagecapturebin has been replaced by encodebin, no need
+         for it anymore
+
+2011-05-13 16:27:17 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: use jpeg as a container to force jifmux usage
+         Jifmux should be used as it can do xmp/exif tagging, so this patch
+         sets jpeg as a container to force it to be used together with
+         a jpeg encoder
+
+2011-05-12 11:17:28 +0000  Alessandro Decina <alessandro.decina@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: do proper EOS handling on send_event(eos)
+         We first let the inner camera EOS. Then we manually post EOS on the image and
+         video sinks if those are <= READY and so have ignored EOS events.
+
+2011-04-28 15:11:36 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstcamerabin2.h:
+       * tests/check/elements/camerabin2.c:
+         camerabin2: use encodebin to encode images
+
+2011-05-13 15:16:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/jpegformat/gstjpegformat.c:
+         jifmux: Bump rank to secondary
+         jifmux is being used for quite some time and has no open bugs
+         currently, so we can give it a secondary rank at least.
+         Fixes #649391
+
+2011-05-13 15:15:53 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/jpegformat/gstjifmux.c:
+         jifmux: Change class to formatter
+         jifmux is a formatter and not a muxer
+         Fixes #649391
+
+2011-05-13 09:11:35 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         examples: camerabin2: Fix GOptionEntry array
+         Use no flags instead of passing G_OPTION_ARG_OPTIONAL to options that
+         must have an argument
+
+2011-05-12 11:39:51 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/examples/camerabin2/Makefile.am:
+         camerabin2: examples: build fixes
+         Add some missing dependencies
+
+2011-05-11 18:35:40 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Changing how some properties work
+         Some properties (like viewfinder-filter) only are taken into use
+         on NULL->READY transitions and the get/set property was returning
+         the currently in use value, instead of the last set.
+         This is bad, as after setting 'a' to 'x', you expect that getting 'a'
+         will return 'x'. This patch fixes it.
+         If needed, later we could add current-* properties that are readonly
+         and get the current value in use.
+
+2011-04-29 08:54:56 -0300  Lasse Laukkanen <lasse.laukkanen@digia.com>
+
+       * gst/camerabin2/PORTING:
+         camerabin2: Updating PORTING file
+
+2011-04-28 16:05:53 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+       * gst/camerabin2/gstimagecapturebin.c:
+       * gst/camerabin2/gstviewfinderbin.c:
+         camerabin2: Adding missing plugin error messages
+         Whenever a required plugin is missing, camerabin2 should post
+         a missing plugin message to the bus
+
+2011-04-28 14:37:22 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: encodebin might not have the requested pad
+         handle the case where encodebin doesn't have the pad
+         camerabin2 is requesting, either because of its current profile
+         or because of missing elements, making it fail to provide
+         the pad
+
+2011-04-27 15:12:18 -0300  Lasse Laukkanen <lasse.laukkanen@digia.com>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         examples: camerabin2: Add more arguments
+         Add command-line options for setting image-capture, viewfinder
+         and video-capture caps as strings.
+         The width and height properties are now used only if these new caps
+         properties aren't set.
+
+2011-04-26 15:21:34 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstimagecapturebin.c:
+         camerabin2: imagecapturebin: Fix tags merging mode
+         Use merge replace mode to allow new tags to override old ones
+         and fix the use case where the last sent tags should be serialized
+         to the captured images.
+
+2011-04-26 14:53:35 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Fix tag handling for videos
+         In video mode the tags should be pushed after sending the start capture
+         to the source, this allows the video recording elements to be reset
+         and leave the flushing state they were at after a previous capture.
+         This fixes the problem where tags only work for the first video capture
+
+2011-04-26 14:50:29 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: Fix set but unused variable warnings
+
+2011-04-26 14:49:35 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/elements/camerabin2.c:
+         tests: camerabin2: Fix tags setting tests
+         Fixes the tags setting tests to reveal a bug in camerabin2
+         tag setting logic.
+
+2011-04-25 16:04:26 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/camerabin2-src.txt:
+         camerabin2: Adding camera source documentation file
+         Adds a small text file with a brief description of
+         what is expected from a camerabin2 source element
+
+2011-04-11 15:33:20 -0300  Lauri Lehtinen <lauri.lehtinen@digia.com>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+         basecamerabinsrc: Handle errors from preview pipeline
+         Implements a message handling function to preview pipeline bus.
+         If GST_MESSAGE_ERROR is seen, considers preview pipeline unable
+         to do its job and posts an error message to application.
+         Sets pipeline element to NULL so that subsequent calls to post_preview
+         and set_caps functions just returns without pushing anything to the
+         disposed preview pipeline. Leaves further actions to the application.
+
+2011-04-08 09:22:11 -0300  Lauri Lehtinen <lauri.lehtinen@digia.com>
+
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+       * gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.h:
+         basecamerabinsrc: Protection for previewpipeline when setting new preview caps
+         Implements a state indicating flag to preview pipeline,
+         so that new caps are not set if the pipeline is processing a
+         preview. The caps are set as pending and applied when the
+         next preview post is called.
+         In this case a wait was implemented in the post_preview function,
+         so that new preview image buffer will wait until the other previews
+         have been posted to the application and the new caps can be used
+         safely.
+
+2011-03-29 13:46:09 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         examples: camerabin2: Fix compile problem with debug disabled
+
+2011-03-23 18:41:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/gstviewfinderbin.c:
+         camerabin2: viewfinderbin: Post missing plugin messages
+         Makes viewfinderbin post missing plugin messages when it
+         can't create an internal elements
+
+2011-03-23 18:40:03 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/camerabingeneral.c:
+         camerabin2: Improve missing plugin message
+         Improves the message text for missing plugin messages from
+         camerabin2
+
+2011-03-23 17:46:56 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin2/PORTING:
+         camerabin2: Update porting file
+         Update porting file with mention that stop-capture is now
+         async.
+
+2011-04-08 17:58:42 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * tests/examples/camerabin2/gst-camerabin2-test.c:
+         gst-camerabin2-test: Allow gst-launch pipelines for sinks
+         Use gst_parse_launch () to parse the sink strings to allow specification
+         of properties to sinks and of more advanced sink graphs.
+
+2011-04-04 13:28:32 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Fix debug print to show audio/video depending on pad type
+
+2011-03-31 13:08:48 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * gst/camerabin2/gstcamerabin2.c:
+         camerabin2: Fix order of element state change
+         To change the state of elements in a pipeline, we should mirror the
+         behaviour of GstBin which starts at the sink element and works its way
+         upstream.
+
+2011-04-01 22:13:55 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/vp8/gstvp8dec.c:
+         vp8dec: debug code style fixes
+
+2011-04-01 22:13:00 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/vp8/gstvp8dec.c:
+         vp8dec: propagate downstream flow return to upstream
+
+2011-04-03 22:35:13 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: handle missing framerate when calculating timestamp
+
+2011-04-03 22:32:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: debug code style fixes
+
+2011-04-01 22:12:30 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: tune parsing sink caps into video state
+         ... to provide subclass with more information w.r.t. original caps.
+
+2011-04-01 18:49:10 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: video state reference to codec_data is not refcounted
+         ... but rather implicitly valid as long as sink caps are not modified.
+
+2011-04-01 18:00:11 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: improve glitch resilience
+         Provide a replacement for GST_ELEMENT_ERROR to avoid aborting at the first
+         atom out of place, while on the other hand not failing indefinitely.
+
+2011-03-31 14:47:55 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: reverse playback support
+
+2011-03-30 10:28:08 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: use basevideocodec discont field
+
+2011-03-30 10:18:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/schroedinger/gstschrodec.c:
+       * ext/vp8/gstvp8dec.c:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: really and only set src pad caps whenever requested
+         ... since subclass is expected to be wise enough to know when to do so.
+
+2011-03-30 09:17:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: add some sanity enforcing
+
+2011-03-30 09:15:13 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: add documentation
+         ... and remove some more stray unused code and methods.
+
+2011-03-29 15:41:55 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideocodec: fully free video frame
+
+2011-03-29 15:41:08 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: streamline discont, flush and reset handling
+         ... which is not to say there is no room for further tweaking ...
+
+2011-03-29 15:39:07 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: add some header commentary
+
+2011-03-29 12:57:21 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: remove (almost) unused fields
+         ... and also some more unused code.
+
+2011-03-29 10:41:54 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/vp8/gstvp8dec.c:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: invoke subclass start method at state change and use set_format
+         While this changes API slightly (e.g. actually uses set_format now), which is OK
+         for unstable API, it has following merits:
+         * symmetric w.r.t. stop at state change
+         * in line with other base class practice
+         * otherwise no subclass method at state change (global activation time)
+         Moreover, subclassese are either unaffected or trivially adjusted accordingly.
+
+2011-04-28 12:02:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: fixup tweak
+
+2011-03-28 16:15:19 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: add and tweak debug statements
+
+2011-03-28 13:32:17 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: arrange for limited legacy seeking support
+         In particular, tweak src query and event handling to provide for
+         byte <-> time conversion.
+
+2011-03-28 11:15:49 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoutils.c:
+         basevideo: cater for format conversion
+
+2011-03-28 10:51:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideoutils.c:
+         videocodec: remove unused fields and code
+
+2011-03-28 09:14:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: fix copy-and-paste variable misnomer
+
+2011-03-28 08:59:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/vp8/gstvp8dec.c:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: subsume skip_frame into finish_frame
+
+2011-03-28 08:56:59 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: remove unused code
+
+2011-03-27 22:27:09 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: code cleanup and debug style fixes
+
+2011-03-27 16:36:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: pass along buffer discont flag
+
+2011-03-25 15:29:34 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: implement preset interface
+
+2011-03-25 09:28:24 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: add documentation and related cosmetics
+
+2011-03-24 14:10:07 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/dirac/gstdiracenc.cc:
+       * ext/vp8/gstvp8enc.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: provide proper upstream flow return handling
+
+2011-03-24 13:59:35 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+         vp8enc: minor optimization in setting up image buffer
+
+2011-03-24 12:50:23 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: refactor frame processing
+
+2011-03-24 11:55:41 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: do init at set_format time
+
+2011-03-24 10:15:55 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+         vp8enc: fix keyframe forcing
+
+2011-03-24 08:23:27 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: enhance set_caps
+         Specifically, only invoke set_format if incoming format really changed,
+         and finish current format if so (and if any current).
+
+2011-03-23 22:17:49 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: elaborate finish to draining
+
+2011-03-24 09:21:04 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/dirac/gstdiracenc.cc:
+       * ext/schroedinger/gstschroenc.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: invoke subclass start method at state change
+         While this changes order w.r.t. set_format, which is OK for unstable API,
+         it has following merits:
+         * symmetric w.r.t. stop at state change
+         * in line with other base class practice
+         * little benefit in invoking 2 subclass virtual methods (set_format and start)
+         in immediate succession; all actions in the second could be done in the first
+         whereas subclass has no chance to do anything 'global' at activation time
+         Moreover, current -bad subclass relevant methods either trivially commute
+         or are either trivially adjusted accordingly.
+
+2011-03-24 08:21:03 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: enable clipping by default
+
+2011-03-24 08:17:52 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: reset more state
+
+2011-03-24 08:56:33 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: header cosmetic and doc fixes
+
+2011-03-23 09:45:20 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/dirac/gstdiracenc.cc:
+       * ext/schroedinger/gstschroenc.c:
+       * ext/vp8/gstvp8enc.c:
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideocodec: remove redundant caps field
+         ... as it is already at hand as the src pad's negotiated caps.
+
+2011-03-23 09:32:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: remove unused code
+
+2011-03-23 08:50:31 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+         vp8enc: use baseclass event virtual handler
+
+2011-03-23 08:49:48 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: add event virtual method to allow subclass event handling
+
+2011-03-23 08:35:51 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: improve GstForceKeyUnit event handling
+
+2011-03-22 13:19:17 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+         basevideocodec: debug style fixes
+
+2011-03-21 18:02:15 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+         basevideocodec: remove unused code cluttering up the place
+         Also minor debug style fixes.
+
+2011-03-21 17:44:17 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+         basevideoencoder: simplify negotiated checking
+         ... by avoiding some extraneous (un)ref'ing.
+
+2011-03-24 14:16:12 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+         basevideoencoder: code cleanup and some debug
+         Also add some minor locking and remove unused bits.
+
+2011-05-16 09:07:57 +0200  Pino Toscano <toscano.pino@tiscali.it>
+
+       * sys/shm/shmpipe.c:
+         shm: Don't use PATH_MAX
+         PATH_MAX is not defined on GNU Hurd and others. Also fix
+         format string.
+
+2011-05-14 14:48:56 +0200  Marc-André Lureau <marcandre.lureau@gmail.com>
+
+       * gst/dccp/gstdccp_common.h:
+         gst/dccp: fix build on newer mingw
+         Fix this build error:
+         CC     libgstdccp_la-gstdccpplugin.lo
+         In file included from ../../../gst/dccp/gstdccpclientsrc.h:29:0,
+         from ../../../gst/dccp/gstdccpplugin.c:24:
+         ../../../gst/dccp/gstdccp_common.h:32:0: warning: WINVER redefined [enabled by default]
+         /usr/i686-w64-mingw32/sys-root/mingw/include/_mingw.h:231:0: note: this is the location of the previous definition
+         In file included from ../../../gst/dccp/gstdccpplugin.c:24:0:
+         ../../../gst/dccp/gstdccpclientsrc.h:58:3: error: unknown type name 'uint8_t'
+         In file included from ../../../gst/dccp/gstdccpplugin.c:25:0:
+         ../../../gst/dccp/gstdccpserversink.h:74:3: error: unknown type name 'uint8_t'
+         In file included from ../../../gst/dccp/gstdccpplugin.c:26:0:
+         ../../../gst/dccp/gstdccpclientsink.h:67:3: error: unknown type name 'uint8_t'
+         In file included from ../../../gst/dccp/gstdccpplugin.c:27:0:
+         ../../../gst/dccp/gstdccpserversrc.h:58:3: error: unknown type name 'uint8_t'
+         make: *** [libgstdccp_la-gstdccpplugin.lo] Error 1
+         https://bugzilla.gnome.org/show_bug.cgi?id=650171
+
+2011-05-15 10:04:50 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * sys/applemedia/plugin.m:
+         applemedia: bump the rank of qtkitvideosrc to PRIMARY
+
+2011-05-15 10:00:44 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * gst/hls/m3u8.c:
+         hls: fix handling of strol() overflows
+
+2011-05-14 12:18:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * Makefile.am:
+         cruft: Add ext/amrwbenc directory, it's ext/voamrwbenc now
+
+2011-05-13 01:03:27 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+         basevideencoder: Fix use after free after state change transition
+
+2011-04-18 23:40:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@nokia.com>
+
+       * ext/opencv/gstfacedetect.c:
+         facedetect: Remove dead code and some minor doc changes.
+
+2011-04-24 21:06:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@nokia.com>
+
+       * ext/opencv/gstedgedetect.c:
+         edgedetect: Remove dead code and some minor doc changes
+
+2011-04-19 19:09:30 +0200  Luis de Bethencourt <luis.debethencourt@collabora.co.uk>
+
+       * gst/coloreffects/gstchromahold.c:
+       * gst/coloreffects/gstchromahold.h:
+       * gst/coloreffects/gstcoloreffects.c:
+       * gst/coloreffects/gstcoloreffects.h:
+         coloreffects: Coding style fixes
+
+2011-04-19 10:32:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+       * docs/plugins/inspect/plugin-voaacenc.xml:
+         aacenc: Integrate into the documentation
+
+2011-04-19 10:07:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+       * docs/plugins/inspect/plugin-amrwbenc.xml:
+       * ext/Makefile.am:
+       * ext/amrwbenc/GstAmrwbEnc.prs:
+       * ext/amrwbenc/Makefile.am:
+       * ext/amrwbenc/README:
+       * ext/amrwbenc/gstamrwb.c:
+       * ext/amrwbenc/gstamrwbenc.c:
+       * ext/amrwbenc/gstamrwbenc.h:
+       * ext/voamrwbenc/GstVoAmrwbEnc.prs:
+       * ext/voamrwbenc/Makefile.am:
+       * ext/voamrwbenc/gstvoamrwb.c:
+       * ext/voamrwbenc/gstvoamrwbenc.c:
+       * ext/voamrwbenc/gstvoamrwbenc.h:
+         amrwbenc: Switch to the free vo-amrwbenc library
+         And rename everything to voamrwbenc instead of amrwbenc.
+
+2011-04-15 11:19:20 +0200  benjamin gaignard <benjamin.gaignard@linaro.org>
+
+       * ext/faac/gstfaac.c:
+       * tests/check/elements/faac.c:
+         faac: Detect output format from downstream caps change unit test
+
+2011-04-19 09:52:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+         voaaenc: Fix CFLAGS/LIBS of the unit test
+
+2011-04-19 09:49:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+       * ext/voaacenc/gstvoaacenc.h:
+         voaacenc: Only generate sinkcaps once and in a threadsafe way
+
+2011-04-19 09:42:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+         voaacenc: Add NULL terminator to gst_structure_new()
+
+2011-04-19 09:40:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/voaacenc/gstvoaacenc.c:
+       * ext/voaacenc/gstvoaacenc.h:
+         voaacenc: Some minor cleanup
+
+2011-04-19 09:34:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/voaacenc/Makefile.am:
+         voaacenc: Fix CFLAGS and LIBS
+
+2011-04-18 17:19:00 +0200  benjamin gaignard <benjamin.gaignard@linaro.org>
+
+       * configure.ac:
+       * ext/Makefile.am:
+       * ext/voaacenc/Makefile.am:
+       * ext/voaacenc/gstvoaac.c:
+       * ext/voaacenc/gstvoaacenc.c:
+       * ext/voaacenc/gstvoaacenc.h:
+       * tests/check/Makefile.am:
+       * tests/check/elements/voaacenc.c:
+         voaacenc: Add new plugin for audio AAC encoder based on vo-aacenc lib
+         Add plugin and unit test.
+         Fixes bug #647748.
+
+2011-05-14 10:19:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/inspect/plugin-adpcmdec.xml:
+       * docs/plugins/inspect/plugin-adpcmenc.xml:
+       * docs/plugins/inspect/plugin-aiff.xml:
+       * docs/plugins/inspect/plugin-amrwbenc.xml:
+       * docs/plugins/inspect/plugin-asfmux.xml:
+       * docs/plugins/inspect/plugin-assrender.xml:
+       * docs/plugins/inspect/plugin-autoconvert.xml:
+       * docs/plugins/inspect/plugin-bayer.xml:
+       * docs/plugins/inspect/plugin-bz2.xml:
+       * docs/plugins/inspect/plugin-camerabin.xml:
+       * docs/plugins/inspect/plugin-cdaudio.xml:
+       * docs/plugins/inspect/plugin-cdxaparse.xml:
+       * docs/plugins/inspect/plugin-celt.xml:
+       * docs/plugins/inspect/plugin-cog.xml:
+       * docs/plugins/inspect/plugin-coloreffects.xml:
+       * docs/plugins/inspect/plugin-colorspace.xml:
+       * docs/plugins/inspect/plugin-curl.xml:
+       * docs/plugins/inspect/plugin-dataurisrc.xml:
+       * docs/plugins/inspect/plugin-dc1394.xml:
+       * docs/plugins/inspect/plugin-dccp.xml:
+       * docs/plugins/inspect/plugin-debugutilsbad.xml:
+       * docs/plugins/inspect/plugin-dfbvideosink.xml:
+       * docs/plugins/inspect/plugin-dirac.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dtsdec.xml:
+       * docs/plugins/inspect/plugin-dvb.xml:
+       * docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+       * docs/plugins/inspect/plugin-dvdspu.xml:
+       * docs/plugins/inspect/plugin-faac.xml:
+       * docs/plugins/inspect/plugin-faad.xml:
+       * docs/plugins/inspect/plugin-fbdevsink.xml:
+       * docs/plugins/inspect/plugin-festival.xml:
+       * docs/plugins/inspect/plugin-freeze.xml:
+       * docs/plugins/inspect/plugin-frei0r.xml:
+       * docs/plugins/inspect/plugin-gaudieffects.xml:
+       * docs/plugins/inspect/plugin-geometrictransform.xml:
+       * docs/plugins/inspect/plugin-gsettings.xml:
+       * docs/plugins/inspect/plugin-gsm.xml:
+       * docs/plugins/inspect/plugin-gstsiren.xml:
+       * docs/plugins/inspect/plugin-h264parse.xml:
+       * docs/plugins/inspect/plugin-hdvparse.xml:
+       * docs/plugins/inspect/plugin-id3tag.xml:
+       * docs/plugins/inspect/plugin-interlace.xml:
+       * docs/plugins/inspect/plugin-invtelecine.xml:
+       * docs/plugins/inspect/plugin-ivfparse.xml:
+       * docs/plugins/inspect/plugin-jp2kdecimator.xml:
+       * docs/plugins/inspect/plugin-jpegformat.xml:
+       * docs/plugins/inspect/plugin-kate.xml:
+       * docs/plugins/inspect/plugin-ladspa.xml:
+       * docs/plugins/inspect/plugin-legacyresample.xml:
+       * docs/plugins/inspect/plugin-liveadder.xml:
+       * docs/plugins/inspect/plugin-mimic.xml:
+       * docs/plugins/inspect/plugin-mms.xml:
+       * docs/plugins/inspect/plugin-modplug.xml:
+       * docs/plugins/inspect/plugin-mpeg2enc.xml:
+       * docs/plugins/inspect/plugin-mpeg4videoparse.xml:
+       * docs/plugins/inspect/plugin-mpegdemux2.xml:
+       * docs/plugins/inspect/plugin-mpegpsmux.xml:
+       * docs/plugins/inspect/plugin-mpegtsdemux.xml:
+       * docs/plugins/inspect/plugin-mpegtsmux.xml:
+       * docs/plugins/inspect/plugin-mpegvideoparse.xml:
+       * docs/plugins/inspect/plugin-mplex.xml:
+       * docs/plugins/inspect/plugin-musepack.xml:
+       * docs/plugins/inspect/plugin-musicbrainz.xml:
+       * docs/plugins/inspect/plugin-mve.xml:
+       * docs/plugins/inspect/plugin-mxf.xml:
+       * docs/plugins/inspect/plugin-mythtv.xml:
+       * docs/plugins/inspect/plugin-nas.xml:
+       * docs/plugins/inspect/plugin-neon.xml:
+       * docs/plugins/inspect/plugin-nsf.xml:
+       * docs/plugins/inspect/plugin-nuvdemux.xml:
+       * docs/plugins/inspect/plugin-ofa.xml:
+       * docs/plugins/inspect/plugin-opencv.xml:
+       * docs/plugins/inspect/plugin-pcapparse.xml:
+       * docs/plugins/inspect/plugin-pnm.xml:
+       * docs/plugins/inspect/plugin-rawparse.xml:
+       * docs/plugins/inspect/plugin-real.xml:
+       * docs/plugins/inspect/plugin-resindvd.xml:
+       * docs/plugins/inspect/plugin-rfbsrc.xml:
+       * docs/plugins/inspect/plugin-rsvg.xml:
+       * docs/plugins/inspect/plugin-rtmpsrc.xml:
+       * docs/plugins/inspect/plugin-rtpmux.xml:
+       * docs/plugins/inspect/plugin-rtpvp8.xml:
+       * docs/plugins/inspect/plugin-scaletempo.xml:
+       * docs/plugins/inspect/plugin-schro.xml:
+       * docs/plugins/inspect/plugin-sdl.xml:
+       * docs/plugins/inspect/plugin-sdp.xml:
+       * docs/plugins/inspect/plugin-segmentclip.xml:
+       * docs/plugins/inspect/plugin-shm.xml:
+       * docs/plugins/inspect/plugin-sndfile.xml:
+       * docs/plugins/inspect/plugin-soundtouch.xml:
+       * docs/plugins/inspect/plugin-speed.xml:
+       * docs/plugins/inspect/plugin-stereo.xml:
+       * docs/plugins/inspect/plugin-subenc.xml:
+       * docs/plugins/inspect/plugin-tta.xml:
+       * docs/plugins/inspect/plugin-vcdsrc.xml:
+       * docs/plugins/inspect/plugin-vdpau.xml:
+       * docs/plugins/inspect/plugin-videomaxrate.xml:
+       * docs/plugins/inspect/plugin-videomeasure.xml:
+       * docs/plugins/inspect/plugin-videoparsersbad.xml:
+       * docs/plugins/inspect/plugin-videosignal.xml:
+       * docs/plugins/inspect/plugin-vmnc.xml:
+       * docs/plugins/inspect/plugin-vp8.xml:
+       * docs/plugins/inspect/plugin-wildmidi.xml:
+       * docs/plugins/inspect/plugin-xvid.xml:
+       * docs/plugins/inspect/plugin-y4mdec.xml:
+       * docs/plugins/inspect/plugin-zbar.xml:
+       * win32/common/config.h:
+         Back to development
+
 === release 0.10.22 ===
 
-2011-05-10  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+2011-05-10 11:35:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
 
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
        * configure.ac:
-         releasing 0.10.22, "Toy Piano"
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * docs/plugins/gst-plugins-bad-plugins.interfaces:
+       * docs/plugins/inspect/plugin-adpcmdec.xml:
+       * docs/plugins/inspect/plugin-adpcmenc.xml:
+       * docs/plugins/inspect/plugin-aiff.xml:
+       * docs/plugins/inspect/plugin-amrwbenc.xml:
+       * docs/plugins/inspect/plugin-asfmux.xml:
+       * docs/plugins/inspect/plugin-assrender.xml:
+       * docs/plugins/inspect/plugin-autoconvert.xml:
+       * docs/plugins/inspect/plugin-bayer.xml:
+       * docs/plugins/inspect/plugin-bz2.xml:
+       * docs/plugins/inspect/plugin-camerabin.xml:
+       * docs/plugins/inspect/plugin-cdaudio.xml:
+       * docs/plugins/inspect/plugin-cdxaparse.xml:
+       * docs/plugins/inspect/plugin-celt.xml:
+       * docs/plugins/inspect/plugin-cog.xml:
+       * docs/plugins/inspect/plugin-coloreffects.xml:
+       * docs/plugins/inspect/plugin-colorspace.xml:
+       * docs/plugins/inspect/plugin-curl.xml:
+       * docs/plugins/inspect/plugin-dataurisrc.xml:
+       * docs/plugins/inspect/plugin-dc1394.xml:
+       * docs/plugins/inspect/plugin-dccp.xml:
+       * docs/plugins/inspect/plugin-debugutilsbad.xml:
+       * docs/plugins/inspect/plugin-dfbvideosink.xml:
+       * docs/plugins/inspect/plugin-dirac.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dtsdec.xml:
+       * docs/plugins/inspect/plugin-dvb.xml:
+       * docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+       * docs/plugins/inspect/plugin-dvdspu.xml:
+       * docs/plugins/inspect/plugin-faac.xml:
+       * docs/plugins/inspect/plugin-faad.xml:
+       * docs/plugins/inspect/plugin-fbdevsink.xml:
+       * docs/plugins/inspect/plugin-festival.xml:
+       * docs/plugins/inspect/plugin-freeze.xml:
+       * docs/plugins/inspect/plugin-frei0r.xml:
+       * docs/plugins/inspect/plugin-gaudieffects.xml:
+       * docs/plugins/inspect/plugin-geometrictransform.xml:
+       * docs/plugins/inspect/plugin-gsettings.xml:
+       * docs/plugins/inspect/plugin-gsm.xml:
+       * docs/plugins/inspect/plugin-gstsiren.xml:
+       * docs/plugins/inspect/plugin-h264parse.xml:
+       * docs/plugins/inspect/plugin-hdvparse.xml:
+       * docs/plugins/inspect/plugin-id3tag.xml:
+       * docs/plugins/inspect/plugin-interlace.xml:
+       * docs/plugins/inspect/plugin-invtelecine.xml:
+       * docs/plugins/inspect/plugin-ivfparse.xml:
+       * docs/plugins/inspect/plugin-jp2kdecimator.xml:
+       * docs/plugins/inspect/plugin-jpegformat.xml:
+       * docs/plugins/inspect/plugin-kate.xml:
+       * docs/plugins/inspect/plugin-ladspa.xml:
+       * docs/plugins/inspect/plugin-legacyresample.xml:
+       * docs/plugins/inspect/plugin-liveadder.xml:
+       * docs/plugins/inspect/plugin-mimic.xml:
+       * docs/plugins/inspect/plugin-mms.xml:
+       * docs/plugins/inspect/plugin-modplug.xml:
+       * docs/plugins/inspect/plugin-mpeg2enc.xml:
+       * docs/plugins/inspect/plugin-mpeg4videoparse.xml:
+       * docs/plugins/inspect/plugin-mpegdemux2.xml:
+       * docs/plugins/inspect/plugin-mpegpsmux.xml:
+       * docs/plugins/inspect/plugin-mpegtsdemux.xml:
+       * docs/plugins/inspect/plugin-mpegtsmux.xml:
+       * docs/plugins/inspect/plugin-mpegvideoparse.xml:
+       * docs/plugins/inspect/plugin-mplex.xml:
+       * docs/plugins/inspect/plugin-musepack.xml:
+       * docs/plugins/inspect/plugin-musicbrainz.xml:
+       * docs/plugins/inspect/plugin-mve.xml:
+       * docs/plugins/inspect/plugin-mxf.xml:
+       * docs/plugins/inspect/plugin-mythtv.xml:
+       * docs/plugins/inspect/plugin-nas.xml:
+       * docs/plugins/inspect/plugin-neon.xml:
+       * docs/plugins/inspect/plugin-nsf.xml:
+       * docs/plugins/inspect/plugin-nuvdemux.xml:
+       * docs/plugins/inspect/plugin-ofa.xml:
+       * docs/plugins/inspect/plugin-opencv.xml:
+       * docs/plugins/inspect/plugin-pcapparse.xml:
+       * docs/plugins/inspect/plugin-pnm.xml:
+       * docs/plugins/inspect/plugin-rawparse.xml:
+       * docs/plugins/inspect/plugin-real.xml:
+       * docs/plugins/inspect/plugin-resindvd.xml:
+       * docs/plugins/inspect/plugin-rfbsrc.xml:
+       * docs/plugins/inspect/plugin-rsvg.xml:
+       * docs/plugins/inspect/plugin-rtmpsrc.xml:
+       * docs/plugins/inspect/plugin-rtpmux.xml:
+       * docs/plugins/inspect/plugin-rtpvp8.xml:
+       * docs/plugins/inspect/plugin-scaletempo.xml:
+       * docs/plugins/inspect/plugin-schro.xml:
+       * docs/plugins/inspect/plugin-sdl.xml:
+       * docs/plugins/inspect/plugin-sdp.xml:
+       * docs/plugins/inspect/plugin-segmentclip.xml:
+       * docs/plugins/inspect/plugin-shm.xml:
+       * docs/plugins/inspect/plugin-sndfile.xml:
+       * docs/plugins/inspect/plugin-soundtouch.xml:
+       * docs/plugins/inspect/plugin-speed.xml:
+       * docs/plugins/inspect/plugin-stereo.xml:
+       * docs/plugins/inspect/plugin-subenc.xml:
+       * docs/plugins/inspect/plugin-tta.xml:
+       * docs/plugins/inspect/plugin-vcdsrc.xml:
+       * docs/plugins/inspect/plugin-vdpau.xml:
+       * docs/plugins/inspect/plugin-videomaxrate.xml:
+       * docs/plugins/inspect/plugin-videomeasure.xml:
+       * docs/plugins/inspect/plugin-videoparsersbad.xml:
+       * docs/plugins/inspect/plugin-videosignal.xml:
+       * docs/plugins/inspect/plugin-vmnc.xml:
+       * docs/plugins/inspect/plugin-vp8.xml:
+       * docs/plugins/inspect/plugin-wildmidi.xml:
+       * docs/plugins/inspect/plugin-xvid.xml:
+       * docs/plugins/inspect/plugin-y4mdec.xml:
+       * docs/plugins/inspect/plugin-zbar.xml:
+       * gst-plugins-bad.doap:
+       * win32/common/config.h:
+         Release 0.10.22
+         Highlights:
+         - hlsdemux: Add HTTP live streaming parser/demuxer element
+         - new elements: h263parse, zebrastripe, patchdetect
+         - scenechange: new scene change detection element
+         - removed audioparsersbad plugin, it has been moved to -good
+         - make opencv plugin work with OpenCV 2.2
+         - countless (still experimental) camerabin2 fixes and improvements
+         - experimental VP8 RTP payloader/depayloader (RTP payloading not finalised yet)
+         - curlsink: add libcurl-based sink element (acts as client, not server)
+         - decklink: add decklink plugin
+         - linsys: add plugin for Linear Systems SDI boards
+         - sdi: add raw SDI muxing/demuxing elements
+         - camerabin now relies on muxers to mux based on running time (ie. latest base/good/ugly releases)
+         - many other fixes and improvements
 
 2011-05-05 09:54:33 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
 
        * gst/hls/gsthlsdemux.c:
          hlsdemux: implement SEEKING query
 
+2011-05-03 09:55:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * sys/dvb/parsechannels.c:
+         dvb: Use the user config dir instead of the cache dir for the channels configuration
+
+2011-04-29 14:37:04 +0200  Philippe Normand <pnormand@igalia.com>
+
+       * sys/dvb/parsechannels.c:
+         dvb: moved dvb-channels.conf to $XDG_CACHE_HOME
+
 2011-04-30 19:47:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
 
        * configure.ac:
        * gst/fieldanalysis/gstfieldanalysis.c:
          fieldanalysis: fix double free() crashes
 
+2011-03-08 17:29:20 +0000  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
+2011-03-08 17:03:22 +0000  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/directfb/dfbvideosink.c:
+       * ext/resindvd/rsnwrappedbuffer.c:
+         meta: update for new API
+
 2011-03-08 11:19:41 +0000  Byeong-ryeol Kim <brofkims@gmail.com>
 
        * gst/videofilters/Makefile.am:
          ext: Always dist the curl directory
          Event if we can't build it. Fixes make dist
 
+2011-03-04 17:26:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/sndfile/gstsfsink.c:
+         sfsink: use basesink preroll lock
+
+2011-03-04 13:39:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * sys/Makefile.am:
+         vdpau: disable until someone ports it
+
+2011-03-04 13:29:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+
 2011-03-04 12:11:12 +0100  Edward Hervey <edward.hervey@collabora.co.uk>
 
        * gst/videoparsers/gstdiracparse.c:
          Automatic update of common submodule
          From 1de7f6a to 6aec6b9
 
+2011-02-27 19:39:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/directfb/dfbvideosink.c:
+       * ext/directfb/dfbvideosink.h:
+       * ext/resindvd/rsnparsetter.c:
+       * ext/resindvd/rsnwrappedbuffer.c:
+       * ext/resindvd/rsnwrappedbuffer.h:
+         meta: fix for new metadata api
+
+2011-02-26 14:54:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * gst/mxf/mxfdemux.c:
+       * gst/mxf/mxfmetadata.h:
+         mxf: fix class struct
+         Fix class parent structure
+         Metadata is now GObject
+
+2011-02-26 14:22:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/resindvd/rsnparsetter.c:
+       * ext/resindvd/rsnwrappedbuffer.c:
+       * ext/resindvd/rsnwrappedbuffer.h:
+         miniobject: port rsndvd
+
+2011-02-26 13:39:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * ext/directfb/dfbvideosink.c:
+       * ext/directfb/dfbvideosink.h:
+       * gst/camerabin/camerabinimage.c:
+       * gst/camerabin/camerabinvideo.c:
+       * gst/id3tag/id3tag.c:
+       * gst/mxf/mxfaes-bwf.c:
+       * gst/mxf/mxfalaw.c:
+       * gst/mxf/mxfdms1.c:
+       * gst/mxf/mxfdv-dif.c:
+       * gst/mxf/mxfjpeg2000.c:
+       * gst/mxf/mxfmetadata.c:
+       * gst/mxf/mxfmetadata.h:
+       * gst/mxf/mxfmpeg.c:
+       * gst/mxf/mxfmux.c:
+       * gst/mxf/mxfup.c:
+       * gst/mxf/mxfvc3.c:
+       * gst/qtmux/gstqtmux.c:
+         miniobject: port to new 0.11 API
+         Remove miniobject and buffer subclassesusing GObject subclasses and
+         metadata.
+
+2011-02-28 12:06:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+         Merge branch 'master' into 0.11
+         Conflicts:
+         configure.ac
+         win32/common/config.h
+
 2011-02-26 13:53:44 -0800  David Schleef <ds@schleef.org>
 
        * gst/audioparsers/gstaacparse.c:
        * gst/dvbsuboverlay/gstdvbsuboverlay.h:
          dvbsuboverlay: initial version, work in progress
 
+2010-12-06 18:01:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * android/aacparse.mk:
+       * android/amrparse.mk:
+       * android/h264parse.mk:
+       * android/metadata.mk:
+       * android/qtmux.mk:
+       * android/sdpelem.mk:
+         android: update for 0.11
+
+2010-12-06 17:54:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * win32/common/config.h:
+         config: update config
+
+2010-12-06 12:25:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
+
+       * configure.ac:
+         configure: open 0.11 branch
+
 2010-12-03 18:11:56 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
 
        * gst/audioparsers/gstaacparse.c:
        * ext/jp2k/gstjasperenc.c:
          jp2kenc: Add width/height/fourcc to the pad template caps
 
-=== release 0.10.11 ===
-
 2009-03-21 01:09:08 +0000  Jan Schmidt <thaytan@noraisin.net>
 
        * ChangeLog:
          every file but apart from that no changes compared to the latest
          SVN versions happened.
 
+=== release 0.10.21 ===
+
 2008-09-01 16:05:45 +0000  Edward Hervey <bilboed@bilboed.com>
 
          tests/check/elements/audioresample.c: Now that GstBaseTransform is 'fixed' ... remove cruft from tests.
          (deinterleave_suite):
          Add some more deinterleave unit test bits I had locally.
 
+=== release 0.10.20 ===
+
 2008-05-14 13:57:41 +0000  Tim-Philipp Müller <tim@centricular.net>
 
          gst/audioresample/gstaudioresample.c: Revert previous change which made basetransform handle buffer_alloc and which b...
          Use AG_GST_CHECK_PLUGIN and AG_GST_DISABLE_PLUGIN to simplify which
          plug-ins are included/excluded. (#498222)
 
+=== release 0.10.19 ===
+
 2008-03-03 06:04:02 +0000  Sebastian Dröge <slomo@circular-chaos.org>
 
          Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
          (gst_speex_resample_update_state):
          Only post the latency message if we have a resampler state already.
 
+=== release 0.10.17 ===
+
 2007-11-23 10:21:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>
 
          gst/audioresample/gstaudioresample.c: Implement latency query.
          work with earlier versions due to GstChildProxy brokeness).
          Also up requirements to last released core/base.
 
+=== release 0.10.15 ===
+
 2007-04-27 15:33:46 +0000  Julien Moutte <julien@moutte.net>
 
          ext/theora/theoradec.c: Calculate buffer duration correctly to generate a perfect stream (#433888).
          Original commit message from CVS:
          move amrwb code
 
+=== release 0.10.12 ===
+
 2007-01-04 12:49:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>
 
          configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...
          ownership of the buffer passed to it, the buffer does not have
          to be unreffed no matter what flow value gst_pad_push() returns).
 
+=== release 0.10.11 ===
+
 2006-10-28 16:00:51 +0000  Tim-Philipp Müller <tim@centricular.net>
 
          gst/audioresample/gstaudioresample.c: Another typo fix (#366212).
diff --git a/NEWS b/NEWS
index eb2c12f..485274d 100644 (file)
--- a/NEWS
+++ b/NEWS
-This is GStreamer Bad Plug-ins 0.10.22, "Toy Piano"
+This is GStreamer Bad Plug-ins 0.11.1, "Forest of October"
 
-Changes since 0.10.21:
+New in 0.11.1:
 
-      * aiffparse: add support for 32 bit and 64 bit floating point formats
-      * aiffparse: the SSND header is 16 bytes large, not 8 + 16 bytes
-      * assrender: refactor blitting, avoid writing past end of buffer
-      * camerabin2: Add a property to select the encoding profile
-      * camerabin2: Add custom filter properties
-      * camerabin2: Add image-done message
-      * camerabin2: Adding audio support for video recordings
-      * camerabin2: Adding properties for image capture settings
-      * camerabin2: Add methods for preview image message posting
-      * camerabin2: Add preview-filter property
-      * camerabin2: Adds new idle property
-      * camerabin2: Add viewfinder caps related properties
-      * camerabin2: Add viewfinder-sink property
-      * camerabin2: Implement previewing
-      * camerabin2: Implement tagsetter interface
-      * camerabin2: Move preview helper functions to basecamerabinsrc
-      * camerabin2: Move to encodebin
-      * camerabin2: Moving preview image properties to basecamerasrc
-      * camerabin: adding audio related properties
-      * camerabin: Always take photo when preview-caps is set
-      * camerabin: don't rely on the application running the default GLib main loop
-      * camerabin: Events with select-all in input-selector
-      * camerabin: Fix corner case for preview posting
-      * camerabin: Use running time for muxing
-      * celtenc: Fix compilation with celt >= 0.11.0
-      * colorspace: add 16-bit-per-channel handling
-      * colorspace: add dithering, add support for r210 and fix YUV->RGB matrixing
-      * curlsink: add libcurl-based sink element
-      * decklink: Add decklink plugin
-      * directdrawsink: avoid aspect-ratio borders overlying other windows
-      * directdrawsink: avoid rendering to invalid area
-      * dshowvideosink: update for latest GstXOverlay changes
-      * dvbsuboverlay: Fix using alpha values in blitting
-      * dvdspu: don't write clipped lines to the output buffer
-      * dvdsubdec: make up clut values if they weren't set
-      * fieldanalysis: new fieldanalysis element
-      * fpsdisplaysink: add "silent" property, fix "sync" property default value
-      * fpsdisplaysink: add "frames-dropped" and "frames-rendered" properties
-      * fpsdisplaysink: add "last-message" property and never print anything to stdout
-      * gme: fix infinite looping by fading out after two loops
-      * h263parse: add an h263parse element
-      * hlsdemux: Add HTTP live streaming parser/demuxer element
-      * id3mux: map new GST_TAG_ENCODED_BY to ID3v2 TENC frame
-      * jifmux: Add GstTagXmpWriter support
-      * jp2kdec, jp2kenc: add support v308 (4:4:4 YUV)
-      * jp2kdec: post proper error when the image's colour space is not supported
-      * jpegparse: misc. fixes
-      * linsys: Add plugin for Linear Systems SDI boards
-      * logoinsert: add "data" property; fix memleaks
-      * mpegtsdemux: new (not-yet autoplugged) MPEG TS demuxer rewrite
-      * mpegtsmux: add byte-stream to h264 template pad caps
-      * mpegtsmux: don't error out if downstream fails to handle the newsegment event
-      * mpegtspacketizer: Handle all ISO8859-x encodings in get_encoding()
-      * opencv: make work with openCV 2.2
-      * patchdetect: new element
-      * rsvgoverlay: allow negative values for x/y/width/height
-      * rsvgoverlay: implement x/y/width/height (absolute and relative) positioning and dimensioning
-      * rtpvp8: Add simple payloaders and depayloaders for VP8
-      * scenechange: new scene change detection element
-      * sdi: Add raw SDI muxing/demuxing elements
-      * shm: Allow ShmPipe to save a data pointer for applications
-      * shm: Keep the ShmPipe alive as long as there are blocks left
-      * shm: Make default perm u+rw g+r for shm area
-      * shmsink: ensure gst_poll_wait is called first on descriptors
-      * shmsink: Keep shmsink referenced while there are still buffers around
-      * shmsrc: Keep GstPoll for whole src lifetime
-      * shmsrc: Only connect to sink in PLAYING in live mode
-      * vdpau: fixup GstFlowReturn handling
-      * vdpausink: fix bug where we didn't setup vdpau on a user set window
-      * videoparsers: new h263parse element
-      * videoparsers: baseparse-based dirac parser, new baseparse-based h264parse
-      * xvidenc: proxy downstream caps restrictions upstream via get_caps()
-      * zebrastripe: New element
+      * Many cleanups
+      * Ported to new 0.11 core API changes
 
-Bugs fixed since 0.10.21:
-
-      * 646211 : [camerabin] state changes need to be made when recording a video
-      * 608786 : [mpegtsmux] Internal H.264 byte-stream wrapping isn't working correctly
-      * 334107 : xviddec: segmentation fault after a few frames
-      * 582167 : jacksink does not flush the jack port when going to READY
-      * 586848 : qtmux, asfmux: remuxing streams with different start times
-      * 591651 : dvbsrc: use better nicks for GstDvbSrcModulation and other enums
-      * 594035 : [hlsdemux] Add HTTP Live Streaming playback support
-      * 594280 : directdrawsink: avoid rendering to invalid area
-      * 602847 : [dvdspu] Segfaults on seeking in matroska file
-      * 611061 : [mpegtsmux] some buffers are forgotten to push in m2ts_mode
-      * 615655 : [camerabin] shouldn't rely on running GLib main loop
-      * 616814 : Photography interface extension: colour tone mode and noise reduction settings
-      * 617532 : [qtmux] Take into account new-segments for incoming streams
-      * 622276 : Add an h263parse element
-      * 626618 : jpegparse doesn't handle APP12 marker
-      * 632056 : Directdrawsink draws black stripes over the overlying dialog windows.
-      * 639502 : [camerabin] should not re-create preview pipeline when setting new preview  caps
-      * 639763 : [dvbsuboverlay] Green borders around subtitles
-      * 639841 : examples: camerabin: Don't set default values for GstPhotography interface settings
-      * 640286 : elements/imagecapturebin check fails
-      * 640287 : camerabin2 checks fail
-      * 640327 : Add VP8 RTP payloaders and depayloaders
-      * 640561 : opencv textwrite element renaming and proper structuring:
-      * 640637 : Camerabin has warning: Internal GStreamer error: clock problem.
-      * 640885 : Permission problems building bad
-      * 641047 : [mpegaudioparse] Multiple issues with new mpegaudioparse element from -bad, lower rank?
-      * 641178 : rtpvp8: build problem, needs to link with libgstbase-0.10
-      * 641496 : New plugin: curlsink
-      * 641530 : Camerabin should capture image if preview_caps is set even if filename is not set
-      * 641712 : XWindow is never created in gst-camerabin-test example application
-      * 641796 : opencv: make plugin work with opencv 2.2.0 release
-      * 641857 : baseparse: Update min/max bitrate before first posting them
-      * 641858 : mpegaudioparse: Post CBR bitrate as nominal bitrate
-      * 642116 : rsvgoverlay: add position/dimension parameters
-      * 642658 : rsvgoverlay: allow negative values for position/dimension parameters
-      * 642671 : fieldanalysis: New element for analysing video input to produce progressive output
-      * 643469 : fpsdisplaysink: add frames-dropped and frames-rendered properties
-      * 643471 : fpsdisplaysink: fix default sync property value
-      * 643607 : [celt] Doesn't compile with celt 0.11.1
-      * 644176 : videofilters: needs to link against libm
-      * 644208 : dcaparse: add depth and endianness to dts caps to allow elements to negotiate on these certain stream format requirements
-      * 644429 : [mpegtsmux] in m2ts-mode, the tp_extra_header is incorrect
-      * 645006 : [mpegtsmux] in m2ts-mode, PAT is written only once
-      * 645053 : shm: multiple compile failures on Solaris 10
-      * 645412 : [h264parse] h264parse doesn't set framed=True on src caps
-      * 645420 : [scaletempo] Incorrectly handles new segments with stop == -1
-      * 645502 : [h264parse] leaks fatally on certain streams
-      * 645568 : aiffparse: doesn't play 24-bit AIFF properly
-      * 645711 : patchdetect: link error while using gcc-4.52
-      * 646256 : qtmux " buffer without timestamp/duration " error message could be more helpful
-      * 646495 : hlsdemux: Add missing patches from my local branch
-      * 646840 : shmsink: ensure gst_poll_wait is the first gst_poll function called on a descriptor
-      * 646955 : dshowvideosink: Update to reflect latest GstXOverlay changes
-      * 647030 : [fpsdisplaysink] " silent " property
-      * 647364 : VGM files loop indefinately
-      * 647498 : xvidenc not forwarding caps
-      * 647564 : gst-plugins-bad configure.ac summary wrongly claims an exif plugin
-      * 647830 : assrender: crashes with very large subtitles
-      * 647852 : [schroenc] Crashes after some time when getting buffers after EOS
-      * 647853 : [schrodec] Impossible to play very short files
-      * 647854 : [schrodec] Allocates buffers with NULL caps from downstream
-      * 648001 : configure: Fix linsys/decklink checks for Linux
-      * 648929 : [tsdemux] Memory leaks everywhere
-      * 649005 : y4mdec: add plugin description
-      * 647751 : [hlsdemux] Fix usage of the element in players
-      * 621027 : mpegtsparse problem when parsing EIT and obtaining Transport Stream packet size
-
-Changes since 0.10.20:
-
-      * alsaspdif: removed alsaspdifsink element (replaced by alsasink device=spdif)
-      * metadata: remove metadata plugin
-      * jack: jack plugin has moved to gst-plugins-good (0.10.27)
-      * selector: input-selector and output-selector have moved to GStreamer core (0.10.32)
-      * valve: has moved to gstreamer core (0.10.32)
-      * applemedia: new plugin for Apple multimedia APIs (avfvideosrc, celvideosrc, qtkitvideosrc, miovideosrc, vth264decbin, vth264encbin, vtdec, vtenc)
-      * applemedia: new iOS video source based on AVFoundation
-      * y4mdec: new y4mdec element
-      * dcaparse: new dts/dca audio parser
-      * camerabin2: new camerabin element (work-in-progress, experimental)
-      * opencv: new plugin with elements facedetect, faceblur, edgedetect, cvsobel, cvsmooth, cvlaplace, cverode, cvequalizehist, cvdilate, textwrite, templatematch, pyramidsegment
-      * interlace: new element
-      * geometrictransform: new rotate element
-      * jp2kdecimator: add a JPEG2000 decimator element (drop details without reencoding)
-      * audioparsers: add dcaparse, a dts/dca parser, and mpegaudioparse (mp3parse replacement)
-      * autoconvert: add autovideoconvert, an autoconvert based video format converter
-      * checksumsink, chopmydata: new debug elements
-      * dvbsuboverlay: new element to overlay DVB subtitle
-      * rsvgoverlay: new element for scalable and relative svg overlay with cairo
-      * qtmux: add new ismlmux element, for fragmented isml major brand
-      * ac3parse: properly parse E-AC3 frame header and use proper EAC-3 caps
-      * ac3parse: relax BSID checking, performance improvements
-      * applemedia mtapi: update to reflect new API on iOS 4.x
-      * applemedia vtenc: bump H.264 level from 1.3 to 3.0
-      * applemedia vtenc: remove keyframe enforcement workaround
-      * applemedia celapi: update to reflect new API on iOS 4.x
-      * applemedia cvapi: add wrapper for IO surface access
-      * audioparse: add support for setting the channel-positions
-      * audioparsers: increase ranks to enable auto-plugging (incl. new mp3 parser)
-      * baseparse: enhancements for timestamp marked framed formats
-      * baseparse: increase keyframe awareness
-      * baseparse: perform bitrate handling and posting after newsegment sending
-      * baseparse: post duration message if average bitrates is updated
-      * baseparse: prevent indefinite resyncing
-      * baseparse: add index support, seek table and accurate seek support
-      * baseparse: support reverse playback
-      * baseparse: use determined seekability in answering SEEKING query
-      * basevideo: Add handling of GstForceKeyUnit events
-      * basevideodecoder: add capture pattern handling; don't blow away field information
-      * bayer2rgb: add format=bggr/etc. to caps, add framerate to the sink caps
-      * camerabin: add "preview-source-filter","ready-for-capture", "idle" properties
-      * camerabin: change "zoom" property from int to float
-      * camerabin: enable all conversion flags by default to make it work out-of-the-box everywhere
-      * coloreffects: Add chromahold effect
-      * cog: improvements in colorspace and scaler; add fast paths for colorspace conversion
-      * colorspace: revive element and add support for many more pixellayouts/colorspaces
-      * colorspace: add support for SDTV/HDTV YUV conversions
-      * dtmfsrc: Make the dtmfsrc accept events sent with gst_element_send_event
-      * tools: misc. improvements to element-maker tool
-      * faac: handle trailing encoder output
-      * faad: support reverse playback; cater for decoder delay and renegotiation
-      * faad: tweak output buffer timestamping
-      * flacparse: don't drop the last frame if it is followed by garbage
-      * flacparse: don't parse the complete FLAC frames but only look for valid frame headers (for performance)
-      * flacparse: fix picture parsing, fix parsing with unknown framesizes
-      * flacparse: parse seektable
-      * frei0r: add support for the FREI0R_PATH environment variable
-      * frei0r: fix crashes if plugins don't provide correct property information
-      * frei0r: fix scanning of plugin subdirectories and support different vendors
-      * frei0r: update frei0r interface specification to 1.2
-      * gaudieffects: avoid divide by 0 in burn element, make filter parameters dynamic and controllable
-      * id3mux: map GST_TAG_ALBUM_ARTIST, give PRIMARY rank
-      * invtelecine: Fix name of 30p/60i pattern
-      * jasperdec: don't fail hard on decoding error
-      * jifmux: detect EOI correctly; do not limit the size of the image on 16bits
-      * jp2kenc: Emit SOP markers in every codestream packet
-      * jpegparse: avoid infinite loop when resyncing; discard incomplete image
-      * kate: add segment tracking, and various other improvements
-      * kate: ensure the kate pad does not shoot ahead of the video pad
-      * mpegtsdemux: extract language for DVB subtitle streams
-      * mpegtsdemux: enable gather_pes only for DVB subtitle private streams
-      * mpegtsdemux: fix re-syncing on invalid data after seek
-      * mpegtsmux: Initialize PES packet before getting the header size
-      * mpegtsmux: Set adaptation flag when appropriate
-      * mpegtsmux: Set random_access_indicator for keyframes
-      * mpegtsparse: send TDT tables messages in a serialized event downstream
-      * ofa: Call g_object_notify() after the fingerprint was created
-      * pcapparse: Add support for Linux Cooked Capture (SLL) frames
-      * photography: add missing property and cabability flag for noise reduction
-      * photography: Add "zoom" and "image-preview-supported-caps" interface properties
-      * photography: add gst_photography_{set,get}_noise_reduction() and CAPS_NOISE_REDUCTION flag
-      * qtmux: add support for fragmented mp4
-      * qtmux: add "streamable" property to avoid building fragmented mfra index
-      * qtmux: timestamp tracking fixes and many other fixes
-      * resindvd: attempt to use glib language setting for DVD menus/audio
-      * resindvd: improve error messages on read errors; button state tracking fixes
-      * rfbsrc: fail more gracefully if source gets disconnected or geometry changes
-      * sdlvideosink: re-enable YVYU and UYVY support
-      * sdpdemux: error out if no streams found in sdp message
-      * sdpdemux: redirect SDP with an rtsp control URL and add property to disable redirect
-      * ssim: add I420 support
-      * tiger: outline text by default, to make it easier to read
-      * winks: add property probing support; fix framerate fraction range mapping
-      * winks: ignore unsupported formats; work around shutdown deadlock
-      * winks: performance improvements
-      * zbar: make scanner cache optional, disable it by default
-      * zbar: use correct strides, support more formats
-
-Bugs fixed since 0.10.20:
-
-      * 628609 : The qtwrapperaudiodec_samr decoder doesn't handle buffers containing many AMR frames properly
-      * 639296 : [y4mdec] Doesn't handle files which don't specify a colorspace
-      * 613379 : camerabin: Do not use audio clock after stopping video capture
-      * 636279 : REGRESSION: Video often freezes during playback of mpeg2 files
-      * 630255 : [examples] camerabin example still uses old GstXOverlay interface
-      * 631232 : [colorspace] AYUV/ARGB handling broken on big endian systems
-      * 627229 : fpsdisplaysink should not measure fps relative to pipeline clock
-      * 435120 : cairosvgoverlay
-      * 486659 : xmp/exif metadata handling
-      * 578629 : libgstphotography missing exports for MSVC
-      * 587223 : mpegtsdemux seg.fault due to invalid PMT_pid
-      * 598078 : osxvideosrc doesn't build in snow leopard x86_64
-      * 600929 : [kate] tiger element doesn't handle segments and text/video synchronization properly
-      * 603063 : camerabin example fails to start recording
-      * 611428 : [gdiscreencapsrc] leaks memory (ICONINFO)
-      * 613633 : [resindvd] scrambled DVDs yield useless generic error message if dvdcss is not available
-      * 616814 : Photography interface extension: colour tone mode and noise reduction settings
-      * 616923 : camerabin: remove photography interface implementation
-      * 618045 : [cogcolorspace] No Y41B support
-      * 618542 : DVB subtitles support
-      * 625558 : [basevideoencoder] [vp8] encoder timestamps are wrong when there are gaps
-      * 626425 : cog_virt_frame_new_convert_u8 has bogus source data
-      * 627134 : photography interface: add API for capture correction
-      * 627211 : jpegformat: Push tags after setting srcpad caps
-      * 627253 : [mpegtsparse] Post tags of channel and currently running event
-      * 627992 : dtmfsrc doesn't support gst_element_send_event
-      * 628326 : vdpau: don't change structure in setcaps function
-      * 628527 : videoanalyse: classificication is wrong
-      * 628548 : [mpegtsmux] Initialize PES packet before getting the header size
-      * 628570 : cogcolorspace: element classificication is wrong
-      * 629554 : dvbsrc: Fix example usage, bandwidth=8 not 8MHz
-      * 629897 : [cog] Ignores --disable-orc and always requires orc
-      * 629910 : jpegparse: properly clean up comment string
-      * 629917 : [output-selector] Recheck pending_pad after pushing a buffer
-      * 630046 : sdpdemux: Add optional support for rtspsrc as session element
-      * 630253 : [sdl] Still uses old GstXOverlay interface
-      * 630254 : [vdpau] Still uses old GstXOverlay interface
-      * 630783 : [frei0r] Crashes if broken plugins don't give correct property information
-      * 630808 : valve: move to core
-      * 631200 : flacparse: major performance improvements
-      * 631389 : [flacparse] backport/check corner case fixes done in flacdec
-      * 631449 : [audioparse] doest not support several channel numbers
-      * 631501 : [faad] failed to dynamically switch from 2 audio channels to 6
-      * 631814 : [flacparse] unit test failures
-      * 631993 : [flacparse] imperfect timestamping
-      * 632070 : qtmux: infinite loop
-      * 632668 : Gaudi Effects [review]
-      * 632885 : Gaudi Effects dynamically controllable parameters [review]
-      * 632911 : qtmux: add fragmented mp4 support (isml brand)
-      * 633466 : [katedec] Pushes events before the final caps are known
-      * 633917 : [mpegtsparse] [PATCH] Send TDT messages in an serialized event downstream
-      * 635200 : [dvbbasebin] [PATCH] Add TDT to the initial pids filter for dvbsrc
-      * 635202 : mpeg4videoparse: Minor fixes
-      * 635204 : mpeg4videoparse: Set srcpad caps before forwarding newsegment
-      * 635205 : h264parse: Set srcpad caps before forwarding newsegment
-      * 635229 : celtenc: uninitialized tags variable can cause segfault
-      * 635304 : [opencv] fix caps issues and extend supported caps for some elements [PATCH]
-      * 635397 : rfbsrc: avoid infinite loop if source gets disconnected and  don't crash if frame geometry changes
-      * 635529 : interlace: Add pattern offset and fix timestamps
-      * 635720 : vp8enc incorrectly sets timestamps based on theoretical framerate
-      * 635786 : [audioparse] Fix division-by-zero exception
-      * 635878 : [qtmux] gst_qtmux_check_difference subtract 2 unsigned numbers without taking care of the result sign
-      * 636106 : autocolorspace: new plugin for auto space convertor selection
-      * 636109 : [SSIM] klass should be Filter/Effect/Video
-      * 636185 : qtmux: msvc incompatibility
-      * 637062 : [ac3parse] parse problems on some MTS streams
-      * 637224 : [bayer2rgb] missing framerate in sink caps
-      * 637308 : gst-plugins-bad did not find xvidcore on my box
-      * 637359 : Internal GStreamer error, during pcap to mp4 conversion
-      * 637403 : qtmux do not store 1st TS when detect 1st buffer
-      * 637486 : qtmux: error if no buffers have arrived to one pad at EOS
-      * 637532 : applemedia: redundant declaration of 'parent_class'
-      * 637590 : [PATCH] fix gst-plugins-bad compile against latest gtk+
-      * 637824 : mpeg4videoparse: gst_buffer_is_metadata_writable warning (regression)
-      * 637929 : mve: do not use the pad buffer allocation functions in demuxers
-      * 637931 : mpegdemux: do not use the pad buffer allocation functions in demuxers
-      * 638004 : tiger: fallback on headers in caps to initialize if headers are absent
-      * 638288 : qtmux: fails to handle out-of-order buffers without duration
-      * 638412 : kate: reenable the sending of a message for tags
-      * 638527 : tiger: outline text by default, to make it easier to read
-      * 638604 : basecamerasrc isn't build by default but camerabin2 is and requires it
-      * 639063 : mpegtsparse: fix (re)sync with invalid data at beginning
-      * 639338 : [qtmux] Protect against copying a null caps
-      * 639413 : Camerabin should use output-selector:pad-negotiation-mode=active
-      * 639456 : [camerabin] Should have all conversion flags enabled by default
-      * 639555 : [audioparsers] Be careful to not lose the event ref
-      * 639950 : flacparse: avoid unref'ing NULL buffer
-      * 630830 : zbar: Fixes, single frame scan and width/stride fix
-      * 635281 : [mpegtsparse] TDT packets are only parsed for odd hours
-
-Changes since 0.10.19:
-
-      * asfmux streaming fixes and improvements
-      * new video effects plugins: coloreffects, gaudieffects, geometrictransform
-      * new gsettings plugin with gsettings{audio,video}{src,sink} elements
-      * new ivfparse element
-      * new rtmpsrc element
-      * new shmsink and shmsrc elements for IPC using shared memory
-      * new videomaxrate element
-      * dshowvideosink improvements
-      * vdpau: H.264 and MPEG-4 decoder (not enabled for autoplugging yet though)
-      * vp8enc: support multipass encoding and keyframe-only mode
-      * neonhttpsrc: timeout properties and cookie support
-      * h264parse and mpegvideoparse: can periodically insert codec data into stream now
-      * build: require GLib >= 2.20, automake >= 1.10, autoconf >= 2.60, want orc
-      * asfmux: deprecate "is-live" property, replaced by new "streamable" property
-      * asfmux: don't set the 'seekable' flag in headers if we are streaming
-      * asfmux: put headers into "streamheader" field in output caps for streaming
-      * asfmux: write preroll info in the header at initialization
-      * bayer: support more formats in bayer2rgb, add rgb2bayer element
-      * camerabin: make viewfinder-sink property work with bins
-      * celt: add support for celt 0.8, remove support for celt < 0.5
-      * celtenc: add "prediction" and "start band" properties
-      * coloreffects: new element with heat, sepia, xray and cross-process effects
-      * dshowvideosink: many fixes and improvements
-      * fpsdisplaysink: add "fps-update-interval" and read-only "max-fps"/"min-fps" properties
-      * frei0r: check for plugins in /usr/{local/,}lib{32,64}/frei0r-1 too
-      * gaudieffects: new plugin with burn, chromium, dilate, dodge, exclusion, gaussianblur and solarize video effect elements
-      * geometrictransform: new plugin with circle, diffuse, kaleidoscope, marble, pinch, sphere, twirl, and waterripple, fisheye, mirror, square, tunnel, bulge, stretch video effect elements
-      * gsettings: new GSettings plugin with audio/video sources and sinks (to replace gconf plugin)
-      * h264parse: add "config-interval" property to insert SPS/PPS at periodic intervals
-      * h264parse: handle 3-byte bytestream sync codes; process incoming timestamps more correctly
-      * id3mux: add support for beats-per-minute tag
-      * invtelecine: support more video formats, more pulldown formats, add "verify-field-flags" property
-      * ivfparse: add simple IVF parser element (simple framing for VP8 video data)
-      * jpegformat: add exif writing to jifmux and exif parsing to jpegparse
-      * jpegparse: skip extra 0xff markers, optimize jpeg image parsing
-      * mimic: lots of fixes and clean-ups
-      * mpeg4videoparse: add "config-interval" property to re-insert config in stream
-      * mpegtsmux: start pmt at 0x020; take all the pmt in the streamheaders
-      * mpegtsparse: actually work when we have small buffers coming in
-      * mpegvideoparse: apply previous timestamp when there isn't any newer
-      * neonhttpsrc: add "connect-timeout", "read-timeout" and "cookies" properties
-      * qtmux: write audio/video stream bitrates into header, if available
-      * qtmux: write track-number etc. tags even if count is not available
-      * rtmpsrc: new RTMP source element based on librtmp
-      * rtpdtmfmux: add priority sink pads and drop buffers on non-priority sink pads when something is incoming on the priority sink
-      * rtpmux: add support for GstBufferLists; aggregate incoming segments; fix buffer leak
-      * shm: add new shm-based shmsink and shmsrc elements for IPC using shared memory
-      * vdpau: add H.264 decoder and MPEG-4 part 2 decoder; countless other fixes and improvements
-      * videomaxrate: new plugin/element to limit videorate conditionally based on threshold
-      * vp8dec: mark discont buffers, set decoder deadline from the QoS information
-      * vp8enc: allow a maximum keyframe distance of 0, i.e. all frames are keyframes
-      * vp8enc: fix handling of invisible/alt ref frames
-      * vp8enc: add support for enabling automatic insertion of alt-ref frames by the encoder
-      * vp8enc: implement multipass encoding
-      * wildmidi: Add support for wildmidi 0.2.3
-
-Bugs fixed since 0.10.19:
-
-      * 625908 : [geometrictransform] Some more configuration options for effects
-      * 625076 : neonhttpsrc: add connect-timeout and read-timeout properties
-      * 620746 : basevideodecoder: remove spurious warning
-      * 566614 : bayer2rgb: Make first line configurable
-      * 570428 : autogen.sh fails
-      * 574290 : [dshowvideosink] make set_xwindow_id() in PLAYING state work
-      * 579926 : [directshowvideosink] Doesn't update the last frame after a seek with the pipeline in PAUSED state.
-      * 580967 : shared memory based sink and source
-      * 591622 : [vdpau] needs better error/failure handling
-      * 602551 : dshowvideosink window close doesn't cause gst-launch to exit
-      * 602936 : [ mp4mux] Lipsync issue when converting mkv to mp4 using h264/aac
-      * 613346 : [dshowvideosink] Add support for updating video caps
-      * 616265 : Add a GSettings plugin that provides the same services as the GConf plugin
-      * 618336 : [mpegvideoparse] mpegvideoparse makes some streams unplayable
-      * 618522 : [asfmux][patch] Improve support for streaming
-      * 618921 : [dshowvideosink] Replace CoIntialize with CoInitializeEx for bettrer integration with GStreamer threads
-      * 618936 : [dshowvideosink] close the created window in ::stop()
-      * 620324 : Format warning in ivfparse
-      * 620717 : [geometrytransform] Incomplete template caps
-      * 620825 : [geometrytransform] Make properties controllable and threadsafe
-      * 620978 : insert NAL7/8 always when encountering I frame
-      * 621205 : [mpeg4videoparse] add config-interval property to insert mpeg4video config data in regular intervals
-      * 621348 : [vp8enc] Implement multipass encoding
-      * 621523 : [id3mux] write beats-per-minute tag
-      * 622369 : [rtmpsrc] crash if correct server but wrong video file name
-      * 622484 : [qtmux] missing track number tag when transcoding to aac
-      * 622690 : elements/jpegparse check fails
-      * 622692 : pipelines/metadata check fails
-      * 622725 : [mpgtsparse] Doesn't remove pids from pes_pids
-      * 623272 : [dshowvideosink] setting force-aspect-ratio has no effect after the sink's renderer has been configured
-      * 623365 : [qtmux and variant] Don't store codec tags
-      * 623550 : doesn't compile with celt 0.8
-      * 623678 : qtmux: Write AAC/H.264 bitrate if available
-      * 623710 : [frei0r] Load frei0r plugins in /usr/lib64/frei0r-1 too
-      * 623713 : [dshowaudiodec][patch] Fix compilation error
-      * 623722 : gstwildmidi element update to newer library version
-      * 623802 : camerabin: Bin based viewfinder sink support is broken
-      * 623854 : jpegparse reads a wrong EXIF section size
-      * 623881 : aiffmux.c divide by zero
-      * 623883 : [winks] gstksvideosrc.c error on MSVC using gst_element_class_set_details()
-      * 625003 : [examples] Don't use GdkDraw
-      * 625138 : [dshowvideosrc] Don't use a range in the caps if min==max
-      * 625174 : neonhttpsrc: adds cookies support
-      * 625496 : qtmux - misc fix on btrt box
-      * 625722 : [geometrictransform] Some new effect elements for cheese
-      * 625817 : coloreffects: new plugin for lookup table color mapping
-      * 625959 : geometrictransform: make CircleGeometricTransform " radius " property relative
-      * 626049 : [vdpau] crashes in states.check unit test
-      * 626603 : generic/states check fails with gsettings element installed
-      * 626670 : gaudieffects: Fails to link inline functions properly
-      * 626815 : vp8dec: infinite loop if EOS event before started
-      * 627413 : jifmux causes broken jpeg images at least with some rgb pixel format
-      * 627918 : Do not install gst-camera.ui
-      * 627991 : rtpmux will freeze whenever a flush is sent
-      * 624212 : mp4mux produces incorrect frame rates when h264 input uses bframes
-      * 619158 : IVF parser plugin
-      * 619484 : vp8dec: s/IMG_FMT_I420/VPX_IMG_FMT_I420/
-      * 621404 : [dvbsrc] Set stats-reporting-interval on construction
-
-Changes since 0.10.18:
-
-      * audioparsers: add bitrate calculation
-      * camerabin: add API to query supported image capture resolution
-      * camerabin: add block-after-capture property for viewfinder blocking
-      * camerabin: add video-capture-width/height/framerate properties
-      * camerabin: add video-source-filter and viewfinder-filter properties
-      * capssetter: element was moved to gst-plugins-good
-      * cogcolorspace: implement color-matrix handling and chroma-site
-      * dc1394: add iso-speed property
-      * dshowvideosrc: add support for YUY2 input format
-      * festival: don't open an infinite number of connections to the server and close connections
-      * h264parse: fix writing NALU prefix for byte-stream output format
-      * h264parse: fix wrong timestamps in some cases after seeking
-      * imagefreeze: plugin was moved to gst-plugins-good
-      * invtelecine: add invtelecine element
-      * jackaudiosrc: implement multichannel support
-      * jpegformat: add xmp reading and writing support
-      * ladspa, lv2: don't fail in plugin_init when having 0 elements (which would cause the plugin to get blacklisted)
-      * mmssrc: Check URI for validity and work around URI parsing bugs in libmms
-      * mmssrc: Use the escaped location for the RTSP redirect message
-      * mpegtsdemux: add support for Blu-Ray style DTS and the two DTS HD stream types
-      * mpegtsparse: parse TDT table in mpegts
-      * mpegvideoparse: export profile and level in caps; estimate bitrate; update caps when sequence header changes
-      * oss4: plugin was moved to gst-plugins-good
-      * qtmux: add support for the VP8 video codec and XMP tags
-      * segmentclip: add audio/video buffer segment clip elements
-      * vcdsrc: support the DVD URI scheme so a device can be specified via the URI
-      * vp8: add libvpx-based VP8 encoder/decoder (NB: encoder properties/API not fully stable yet; also, this plugin may not be compatible with GPLv2-only applications)
-
-Bugs fixed since 0.10.18:
-
-      * 340986 : [vcdsrc] plugin not auto-plugged, and weird URI handling
-      * 572551 : mpeg4videoparse fails to extract codec_data from this network camera video stream
-      * 603745 : [dc1394src] add " iso-speed " property
-      * 611302 : [imagefreeze] Add still frame stream generator
-      * 612208 : [soundtouch] [pitch] Removing annoying g_print
-      * 612331 : inputselector: linkage flags are incorrect
-      * 612454 : fix compile errors in latest gst-plugins-bad
-      * 612615 : [camerabin] video bin elements in wrong state when recording
-      * 612687 : [mpegvideoparse] Update caps when sequence header changes
-      * 612757 : Unable to build gst-plugins-bad with Sun Studio compiler
-      * 613156 : cog can't be built against libpng 1.4.x
-      * 613160 : [cogcolorspace] RGB- > I420 conversion adds green vertical bar at the right border
-      * 613332 : [cog] generate_tables generates invalid tables for YUV- > RGB
-      * 613708 : [dshowvideosrc][PATCH] Add support for YUY2 format
-      * 613758 : More build warnings on OS X
-      * 613795 : libmodplug's public header requires WORDS_BIGENDIAN
-      * 613920 : audioparsers: Add bitrate calculation to baseparse
-      * 614016 : [baseparse] NEWSEGMENT event sent with wrong start and position time
-      * 614037 : flacparse: Fix buffer refcount issue
-      * 614259 : mpegtsdemux: can't detect DTS audio
-      * 614349 : [mpegtsparse] assertion gst_buffer_is_metadata_writable (buffer) failed
-      * 614475 : [dvbsrc] Wrong property types for frequency and symbol rate
-      * 614479 : [mpegtspacketizer] Use CRC to check if tables are duplicate
-      * 614591 : [h264parse] Not cleaning internal state properly for reuse
-      * 614958 : [camerabin] Replace actions with properties for setting parameters
-      * 614991 : baseparse: Don't emit bitrate tags too early
-      * 616078 : mpegvideoparse: Export profile and level in caps
-      * 616541 : jackaudiosrc/sink needs to set layout on caps
-      * 617145 : Compile mplex element with with --enable-runtime-pseudo-reloc-v2 on Windows
-      * 617146 : Lots of printf string format warnings on Windows
-      * 617331 : More warnings in -bad
-      * 617650 : [mmssrc] should check location
-      * 618044 : [cogcolorspace] I420/YV12 - > packed 4:2:2 gives assertions
-      * 618388 : [frei0r] Boolean values can't be set from gst-launch [PATCH]
-      * 618409 : jackaudiosrc: improve process callback
-      * 618527 : festival plugin does not close connections to server
-      * 618710 : [resindvd] Needs to check for libdvdread too
-      * 618867 : Remove gst-plugins-bad/ext/polyp ?
-      * 619064 : h264parse: broken timestamps after seeking
-      * 619169 : [vp8enc] Limit DEFAULT_MAX_LATENCY to 25 to match libvpx
-      * 619172 : [vp8] exclude dec/enc based on CONFIG_VP8_DECODER/ENCODER
-      * 619290 : [vp8] add mode property to switch between CBR/VBR
-      * 619317 : [vp8] Encoder thread support
-      * 619318 : [vp8] Decoder QoS (avoid memcpy)
-      * 619344 : [vp8enc] Use GST_VIDEO_CAPS_YUV instead of handwritten YUV caps
-      * 619444 : [mpegtsparse] Memory leak in mpegts_packetizer_parse_pmt
-      * 619502 : [mpegvideoparse] segfault because of access to a NULL buffer gotten from mpeg_packetizer_get_block
-      * 619617 : [h264parse] leaks memory
-      * 619916 : [vp8enc] Doesn't skip non-frame packets correctly
-      * 614317 : [oss4] should always accept PCM in native endianness even if the hardware doesn't
-
-Changes since 0.10.17:
-
-      * aacparse: lots of fixes, now based on common baseparser class and merged into audioparser plugin
-      * ac3parse: new AC3 parser element based on common baseparser class and part of new audioparser plugin
-      * adpcmenc: new adpcm encoder element
-      * aiffmux: new aiff muxer element
-      * amrparse: use (default) time handling of baseparser class, merged into audioparser plugin
-      * apexsink: change volume property to a double to make work with playbin2
-      * asfmux: handle streams with different start times
-      * asfmux: improve compatibility with WMSP in WMP
-      * asfmux, rfbsrc, vmnc, mpegdemux, resindvd: fix alignment and endianness issues
-      * assrender: countless fixes and improvements
-      * audioparsers: rename baseparse GType name to avoid possible conflicts
-      * audioparsers: fix seek handling, newsegment sending, push mode data draining
-      * celt: make compile against earlier CELT versions
-      * configure: call $PKG_CONFIG instead of pkg-config to fix cross compilation
-      * dataurisrc: new source element for data:// URIs
-      * faac: lots of fixes (channel layout, output caps, bps estimation etc.)
-      * flacparse: fix multiple channel frame parsing; merged into new audioparser plugin
-      * fpsdisplaysink: expose video sink using a property
-      * h264parse: Correctly rewrite all nal prefixes
-      * h264parse: fix caps parameters setting, framerate calculation
-      * h264parse: fix regression in output buffer timestamping
-      * h264parse: optionally output AUs rather than NALUs or transform from bytestream to sample format and vice versa
-      * h264parse: parse SPS some more (e.g. for width/height)
-      * ivorbisdec: moved to -base (to reuse same codebase as vorbisdec)
-      * jpegformat: new jifmux element
-      * jpegparse: new jpeg parser element (not autoplugged for now)
-      * mmssrc: post error message in addition to redirect when connect fails
-      * mpegtsdemux: Handle eac3 in PMT
-      * mpegtsmux: add pat-interval and pmt-interval properties
-      * mpegtsmux: Do not crash on misinterpreted h264
-      * mpegtsmux: Fix mistake on previous commit
-      * mpegtsmux: fix PAT/PMT insertion frequency, add PAT/PMT in streamheader
-      * mpegtsmux: mark delta-unit on outgoing buffers
-      * qtmux: add moov recovery feature (to finalise recording after crash or so)
-      * qtmux: improves compatibility with some hardware players
-      * qtmux: add support for ALAC, SVQ3, IMA ADPCM; improve j2k handling
-      * qtmux: misc. tag writing fixes: write all udta children atoms; crash less
-      * shapewipe: moved to -bad
-      * vdpau: lots of fixes and refactoring
-
-Bugs fixed since 0.10.17:
-
-      * 606657 : mpegtsmux crashes with h264parse in byte-stream mode
-      * 607513 : input-selector segfaults in g_object_notify()
-      * 440476 : RhythmBox displays an incorrect track length for .aac files.
-      * 530513 : [h264parse] no width and height in output caps
-      * 563433 : implement h264parse AVC output
-      * 575878 : assrender searches entire current working directory when searching for fonts to use
-      * 583098 : Add jpegparse element
-      * 598350 : qtmux with AAC streams (from faac) generate invalid files
-      * 598682 : make check fails due to fpsdisplaysink if xvimagesink does not exist
-      * 598916 : qtmux: support more of j2k
-      * 600409 : tremor/ivorbis: should pack result smarter
-      * 601108 : gst-camera requires glade
-      * 601417 : Problem compiling gst-plugins-bad 0.10.16
-      * 602161 : bad .17 VPATH build fix
-      * 602465 : gst/dtmf/tone_detect.h incompatible with MSVC
-      * 602524 : frei0r: GST_EXTRA_MODULE_SUFFIX never defined
-      * 602528 : lv2: vocoder plugin breaks gstreamer
-      * 603938 : assrender cannot load font attachments in Matroska container
-      * 603983 : gstdshowvideosink leaking DirectShow objects
-      * 603986 : gstdshowvideosink not releasing the filter media event interface
-      * 604099 : rtpmux: Make sure to call release_pad() when the element is disposed
-      * 604101 : rtpmux: update the current_ssrc from the caps
-      * 604280 : fpsdisplaysink: allow access to internal video sink used
-      * 604311 : gst-plugins-bad: fails to build against libcelt 0.4.0
-      * 604908 : [mpegtsmux] mark delta-unit on outgoing buffers
-      * 604925 : qtmux shouldn't accept adts aac
-      * 605720 : modplug: Add 32-bit depth caps
-      * 605721 : modplug: Allow 1-channel output for 16 and 32 bit depth too
-      * 605904 : mpegtsdemux doesn't handle e-ac-3 in PMT
-      * 606371 : mpegdemux2 plugin doesn't work on some ARM CPU due to the guint32*'s alignment
-      * 606636 : [mmssrc] no error message when connect to server fails
-      * 606665 : error: " __MSVCRT_VERSION__ " redefined
-      * 606677 : Port librdf (rdfsrc) to Windows
-      * 606726 : FAAC bitrate setting has no effect
-      * 606859 : Get mp4mux request pad  during decodebin2's new-decoded-pad event fails.
-      * 607105 : faac doesn't negotiate channel positions correctly
-      * 607285 : cdxaparse leaks memory
-      * 607555 : asfmux plugin generates data streams incompatible with WMSP (MMSH) and WMP
-      * 607747 : [dvbsrc] Pipeline does not stop when reception is very bad
-      * 608042 : [camerabin-example] v4l2 device busy after setting back to ready and changing the mode
-      * 608651 : dshowvideosink.cpp crash
-      * 608706 : assrender recursively scans directories for fonts
-      * 608751 : [assrender] Random crashes because libass is not threadsafe
-      * 608753 : assrender: use more compatible hinting method
-      * 608896 : mpegtsmux: PAT/PMT interval fixes
-      * 608998 : [jpegparse] unit test fails
-      * 609055 : [qtmux - mp4mux] crash when setting
-      * 609215 : [rsvg] fix compilation with MSVC
-      * 609478 : [faad] SIGSEGV when caps contains codec_data=(buffer)NULL
-      * 164870 : PNM [en,de]coder
-      * 383478 : Need ac3 parser to support seeking in unframed .ac3 files
-      * 606878 : [apexsink] crashes when changing volume in rhythmbox
-      * 580731 : qtmux needs mapping for ALAC
-      * 587922 : qtmux lacks mapping for Sorenson Video v3
-      * 601576 : qtmux feature: moov recovery
-
-Changes since 0.10.16:
-    
-      * Fix DVD playback
-      * New elements: DTMF tone source and detector
-      * ASS subtitle support improvements
-      * Fix compilation on OS/X Snow Leopard
-      * Support DVB 3.3 API
-      * Inputselector fixes
-
-Bugs fixed since 0.10.16:
-     
-      * 602106 : Bad atom size calculation
-      * 574434 : [camerabin] Changing default video/audio source for Windows
-      * 584361 : gppmux Support for 3gr6
-      * 586929 : [midi] Doesn't handle push
-      * 595161 : [mpegtsdemux] Internal dataflow problem with some streams.
-      * 598552 : faac: Clean up defaults
-      * 598763 : New plugin: aiffmux
-      * 598808 : mpegpsmux: Fix CLFAGS typo and reorder flags
-      * 599050 : [mpegvideoparse] Does not check width/height range
-      * 599469 : resindvd: problems pre-rolling in the absence of audio
-      * 600454 : aacparse detecting aac file as mpegversion=2 instead of 4
-      * 600461 : [zbar] Over-eager detection of barcodes
-      * 600662 : [assrender] Doesn't synchronize subtitle buffers
-      * 600707 : autoconvert depends on function from core 0.10.26
-      * 600724 : celt: fails to build against celt-0.7
-      * 599903 : Scaletempo plugin stops early when playing slowly
-
-Changes since 0.10.15:
-    
-      * Fix various bugs in the 0.10.15 release
-      * Fix a deadlock in starting DVD
-      * Fix compilation problems
-      * Allow libneon versions >= 29.x
-
-Bugs fixed since 0.10.15:
-     
-      * 599272 : faac check fails, undefined symbol
-      * 599332 : [neonhttpsrc] fails to compile with libneon 0.29.0
-
-Changes since 0.10.14:
-    
-      * Add barcode scanner plugin using the zbar library
-      * Improvements to camerabin
-      * Support audio-track format switching in DVD
-      * Improve parsing and display of PGS subpictures
-      * Add Cog plugin
-      * Add LV2 plugin support
-      * Improve VDPAU plugin. Add post-processing support
-      * Add videomeasure plugin
-      * Improve Siren codec
-      * Improved Directshow capture element
-      * Add EAC3 mapping in MPEG-TS playback
-      * Improve AAC encoding
-      * Improved MIDI file playback
-      * Improve H-264 parsing
-      * Add MPEG-PS muxer
-      * Add PNM encoder and decoder
-      * Add SVG decoder
-      * Update GLib dependency to GLib 2.16
-      * Various other bug fixes and improvements (see ChangeLog)
-
-Bugs fixed since 0.10.14:
-     
-      * 303975 : Add tar support
-      * 519001 : [wildmidi] Doesn't handle seeking correctly
-      * 575261 : Do not use the outdated Debian/Ubuntu libass libraries!
-      * 583901 : aacparse fails for remuxing
-      * 589609 : [PATCH] fix dvdspu crash when subtitles do not fit the incoming video
-      * 593348 : faac encoder produces first buffer with wrong duration
-      * 593625 : Broken Compilation, missing files with latest commits in git repository
-      * 593683 : Typo in variable name for libraries to link against
-      * 593864 : pcapparse: Set the GStreamer timestamp according to the pcap timestamps
-      * 594030 : [mpegtsdemux] Support for AC3/EAC3 not 100% correct
-      * 594277 : Make the default segment of outputselector TIME instead of UNDEFINED
-      * 594278 : dshowvideosink: remove unused variable
-      * 594279 : dshowsrcwrapper: use tchar macro for string literals
-      * 594321 : Videomeasure plugin
-      * 594382 : assrender: Fix compilation with libass = 0.9.6
-      * 594489 : broken compilation for mpegdemux
-      * 594715 : libgstsignalprocessor install issues
-      * 594812 : [mpegpsdemux] Seeking broken for MPEG PS cut from VOB file
-      * 595215 : PNM encoder doesn't support ASCII encoding
-      * 595409 : PNM decoder can't decode ASCII encoded files.
-      * 596285 : gstvideomeasure crashes at the end of some streams
-      * 596743 : qtmux: fix flags_as_uint to flags[]
-      * 598139 : faad element leaks itself.
-      * 598263 : refcount leak in resindvd
-      * 598274 : dtsdec leaks input buffers
-      * 598369 : Properly detect pre-releases
-      * 598733 : id3mux doesn't write image to APIC tag
-      * 582779 : [resindvd] Add support for other audio codecs than ac3
-      * 595700 : PNM decoder doesn't handle ASCII encoded pnm data split over several buffers
-
-Changes since 0.10.13:
-
-      * Moved rtpmanager to -good
-      * Moved dirac elements from schroedinger to gst-plugins-bad
-        (new schroedinger release without the gstreamer elements
-         will follow shortly)
-      * amrwb: Remove AMR-WB parser and decoder and rename encoder plugin
-        from amrwb to amrwbenc (the removed elements will re-appear in the
-        next -ugly release; no migration strategy provided in this case
-        because of the special status of the amrwb plugin)
-      * asfmux, rtpasfpay: add ASF muxer and windows media payloader
-      * basevideo: add experimental video base class library/API
-      * camerabin: lots of fixes and improvements
-      * capssetter: new element for debugging purposes
-      * directdraw: Implement GstNavigation interface
-      * directshow: refactor and improve dshowsrcwrapper, dshowideosrc, dshowaudiosrc
-      * frei0r: wrapper for frei0r video filter plugins
-      * gme: add libgme plugin which supersedes the existing OpenSPC spc plugin
-      * Implement SEEKING query in more demuxers and decoders (notably
-        mpeg-ps/mpeg-ts, mxf, musepack, rawparse)
-      * kate: add kate subtitle encoder, decoder and overlay
-      * mimic: lots of fixes for mimenc and mimdec; add "paused mode"
-      * mpegpsdemux: added caps for AAC and fixed playback of a clip with LPCM
-      * mpegtsdemux: added VC1, EAC3 and LPCM related to blueray/hdmv
-      * qtmux: handle pixel-aspect-ratio; misc. other fixes and improvements
-      * shapewipe: support ARGB/RGBA for video input/output; fix for still images
-      * vdpau: add experimental vdpau plugin
-
-Bugs fixed since 0.10.13:
-
-      * 587819 : [mpegtsparse] crash because of double free
-      * 344129 : [directsoundsrc] Plugin for Directsound source
-      * 377784 : xvidenc should output video/mpeg
-      * 540128 : Totem freeze with short HDV file
-      * 541962 : [directdrawsink] crash when exposing in GST_STATE_READY
-      * 561241 : metadatademux pad activation deadlock
-      * 561752 : GstRtpBin implement Release pad functions
-      * 575672 : [mpegtsdemux] crashes when souphttpsrc is used as a stream source
-      * 575818 : [ivorbisdec] extract vorbis tags
-      * 576800 : gstreamer SPC plugin requires non-portable x86 code
-      * 583470 : mpegtsparse: Old pes pids not removed when receiving PAT table
-      * 584252 : enhancements to OSSv4 plugin
-      * 584897 : Remove AMR plugin as it has been replaced by updated OpenCore plugin
-      * 585839 : Support for sending RTP packets as GstBufferList in the gstrtpbin
-      * 586019 : [mxfdemux] stray semicolons after if statement
-      * 586097 : GStreamer DVB tuning too quick for some devices
-      * 586956 : Include < sys/time.h > only if it is present in the system
-      * 587023 : [freeze] disable plugin static lib
-      * 587595 : [dshowsrcwrapper] start refactoring
-      * 588638 : [katedec] add x-dvd-subpicture output
-      * 588944 : mpegpsdemux doesn't support seeking with GST_FORMAT_TIME anymore
-      * 590030 : rtpsource: Incoming buffers do not always have caps
-      * 590208 : GstNavigation interface support for directdrawsink
-      * 590360 : [qtmux] requires endianness even if the samples are 8bit
-      * 590446 : [mpegdemux] MPEG TS with A52 not seekable
-      * 590797 : Memory leak in rtpsource.c
-      * 591440 : rtpdtmfsrc event cleanup
-      * 591538 : generic states test fails (vdpau, mimenc)
-      * 591610 : asfmux: messing up with sinkpads
-      * 591927 : REQUIREMENTS is out of date
-      * 592259 : mimenc: fourcc written incorrectly
-      * 593024 : regression in schroenc streamheader initialization
-      * 593063 : resindvd and rawparse do not use correct base LDFLAGS
-      * 593068 : Disarray in directsoundsrc/directdrawsink
-      * 586354 : [h264parse] blocked in infinite loop while parsing a corrupted frame
-
-
-Changes since 0.10.12:
-    
-      * New shapewipe video transition plugin
-      * qtmux improvements
-      * camerabin improvements
-      * HDV MPEG-TS private streams support
-      * Output interlacing information in mpegvideoparse
-      * MS-ADPCM decoder
-      * RTP fixes and enhancements
-      * DTS decoder improvements
-      * New ID3 tagging plugin that supports v1, v2.3 and v2.4
-      * Support for PGS (BluRay) subtitles
-      * Many other bug fixes and enhancements
-
-Bugs fixed since 0.10.12:
-     
-      * 584945 : camerabin unit tests failing
-      * 511097 : Support self-signed certificates in neonhttpsrc
-      * 561752 : GstRtpBin implement Release pad functions
-      * 584164 : gstspu-pgs.c warnings for format string args and uninitia...
-      * 584165 : rtpbin sdes message broken
-      * 584360 : gppmux ftyp
-      * 585015 : debugutils can't find libgstinterfaces
-      * 585660 : segfault in scaletempo plugin
-      * 584114 : gppmux and h263
-      * 583188 : Problem with sdp: bind failed or video disappear after fe...
-      * 583627 : statistic file name needs to be standardized
-
-Changes since 0.10.11:
-    
-      * Presets support in several elements
-      * Support ITV MPEG-TS streams
-      * New element: flvmux
-      * New element: osxvideosrc
-      * Fixes in RTP elements
-      * camerabin fixes
-      * Improved QT/mp4 muxing
-      * xdgmime based content type guessing
-      * deinterlace2 moved to the Good plugins (replacing deinterlace)
-      * Support for MXF muxing, and improved MXF demuxing
-      * Greatly improved DVD playback
-      * DirectDraw element moved back from Good plugins
-      * Many other bug fixes and improvements
-
-Bugs fixed since 0.10.11:
-     
-      * 573852 : Update celt to 0.5.x
-      * 574401 : metadatamux fails^WIS failure
-      * 580091 : soundtouch plugin fails to load
-      * 153684 : [osxvideosrc] Mac users needs an osxvideosrc
-      * 537700 : [scaletempo] Scale audio tempo in sync with playback rate
-      * 569437 : mpegtsparse: flow error or crashes while dynamicly changi...
-      * 569673 : [Mpegtsparse] PAT changes not always signaled
-      * 569781 : [Mpegtsparse] drop of valid TS packets
-      * 573595 : plugins-bad mingw ports
-      * 573846 : Check for soundtouch-1.4 too
-      * 573847 : Use SDL static-libs for conftest and libs for gstsdl*
-      * 573848 : Use native CPU number detection in mpeg2enc
-      * 573849 : modplug's sndfile.h conflicts with libsndfile's sndfile.h
-      * 575388 : [aacparse] deadlocks in busy loop when seeking
-      * 575736 : mpeg2enc's bitrate parameter does not work properly
-      * 576408 : [playbin2] Deadlock when using resindvd as source
-      * 577690 : rtpdtmfmux: missing pad unref
-      * 577864 : [residvd] dvdnav version requirements should be higher
-      * 578112 : x264enc: I-frame request
-      * 578562 : dshowdecwrapper missing check for GST_DISABLE_GST_DEBUG
-      * 578563 : win32 export files are not disted
-      * 580133 : Regression in baseparse since last release
-      * 580144 : emit notify::internal-ssrc when there is a ssrc collision
-      * 580786 : [flvmux] " uninitialized variable " compiler warning
-      * 580901 : Uninitialized variable may be used in fpsdisplaysink.c
-      * 581375 : rtpssrcdemux crashes on SR-less rtcp packets
-      * 582013 : uninitialized var in mxfmux.c prevents gst-plugins-bad bu...
-      * 582074 : [faad] Fails to build with faad 2.6 (misdetected as 2.7)
-      * 582208 : [PATCH] fix for soundtouch-1.4
-      * 582483 : y4menc doesn't pass timestamps on
-      * 582656 : [mxfdemux] Fix deadlock when querying from the pad-added ...
-      * 582702 : qtmux: crash in atom_moov_add_blob_tag
-      * 583337 : [mxfmux] Wrong layout for non-interlaced formats
-      * 580585 : rtpmux memleak
-      * 577843 : input-selector causes problems with DVD menus in playbin2
-      * 581593 : gppmux doesn't support MPEG4 part 2 in sink caps
-      * 575284 : add auto-connect-forced mode to jackaudiosrc and jackaudi...
-      * 576021 : On Windows qtmux can't write files longer than 2-4 GiB, u...
-      * 576712 : Output-selector keeps reference to latest buffer when cha...
-      * 581427 : [mpeg4videoparse] config buffer is leaked
-
-Changes since 0.10.10:
-    
-      * Add ASS/SSA subtitle handling element assrender
-      * Leak fixes in the QuickTime decoder wrapper
-      * Better DirectShow output on Windows
-      * Extend QT muxing support to include AMR and H.263
-      * mms seeking support
-      * Extended MXF file format handling
-      * camerabin and photography API for digital camera interfacing
-      * Merge elements from Farsight: liveadder, sirendec, sirenenc, valve,
-        rtpdtmfsrc, rtpdtmdepay, dtmfsrc, rtpdtmfmux, autoconvert,
-        mimdec, mimenc
-      * typefinder based on xdgmime
-
-Bugs fixed since 0.10.10:
-     
-      * 573369 : [gstfaad] Memory corruption and segfault
-      * 568704 : Metadatamux: unable to configure byte order for EXIF
-      * 354908 : videoflipping interface for v4l2src
-      * 369912 : missing inclusion in rpm spec file
-      * 469930 : [mmssrc] seeking support PATCH
-      * 481075 : Full support for ASS/SSA subtitles
-      * 549645 : merge useful elements from gst-plugins-farsight into core
-      * 567003 : [ladspa] improve plugin scanning
-      * 567371 : [mpegtsparse] memory leak in mpegtspacketizer
-      * 567828 : rtpmanager and RTCP BYE packet
-      * 567965 : [flvdemux] add support for ECMA arrays in script tags
-      * 568480 : gst-plugins-bad dccp plugin won't compile on Soalris
-      * 568483 : Problems linking gst-plugins-bad
-      * 568837 : RFE: allow building against the system modplug library
-      * 569323 : [qtmux] should support audio/AMR sink
-      * 570996 : bpmdetect relibably crashes with SIGSEGV on particular file
-      * 571560 : gstdshowaudio decoder doesn't compile.
-      * 572315 : Compiling camerabin on Windows with Visual Studio
-      * 572900 : gstrtpsession should not forward recv side event to the s...
-      * 573288 : [mpegtsdemux] memory leak when pusi is missed due to pack...
-      * 573391 : [videoanalyse] Wrong brightness calculation
-      * 575157 : xdgmime typefinder: make more conservative
-      * 575565 : [mxf] mxf plugin uses symbols not in glib 2.6 (minimum gl...
-      * 564114 : [PATCH] fbdev: fix depth calculation
-      * 573850 : Use Glib's byte order in gstgsmdec
-      * 573851 : Use glib integer types in gstfaad
-      * 172043 : [mpegpsdemux] wrong video length on mpeg file
-
-Changes since 0.10.9:
-
-      * Require gettext 0.17
-      * ACM mp3 decoder element for win32
-      * New MXF demuxer added
-      * JPEG-2000 encoder - jp2enc added
-      * RTP support
-      * Fixes for RTP support
-      * Add parsers for AAC and AMR
-      * Move libgstapp and elements to -base
-      * Add Quicktime muxer element qtmux
-      * Enhance RFB capture
-      * Improve MPEG-TS and MPEG-PS demuxing
-      * Don't install static libs for plugins
-      * Introduce audioringbuffer element
-      * Improve DVD playback of ResinDVD components
-      * Move old audioresample from -base as legacyaudioresample
-      * Improve speexresampler, and then move it to -base
-      * Improve FLV demuxing and parsing
-      * Various DVB input fixes
-      * Add support for frequency list descriptors for DVB
-      * Improve MPEG-TS muxer
-      * Various other bug-fixes
-
-Bugs fixed since 0.10.9:
-
-      * 127574 : replaygain support
-      * 480543 : [spc] crashes when not given any input data
-      * 546319 : [resindvd] Stuck on first menu (language selection)
-      * 549222 : Totem using resindvd element as DVD navigation module doe...
-      * 550280 : Move qtmux to gst-plugins-bad
-      * 550454 : FLV demuxer screws up in Pitivi
-      * 550613 : [mpegtsmux] Add support for ac3/dts/lpcm
-      * 553823 : CodeStyle improvements and minor fixes to the DCCP plugin.
-      * 555238 : Recent changes in x264 breaks compilation of x264 plugin.
-      * 557161 : Wrong time displayed and no seeking with MPEG PS cut from...
-      * 557763 : [mpegtsmux] DeadlockEOS due to interleaving mechanism
-      * 557814 : [mpegdemux] frequency list descriptor support
-      * 558639 : cross-configuring interrupts due to a failing check for " ...
-      * 560841 : Provide access to packet loss
-      * 561992 : debug format warning during compilation of resindvdsrc.c ...
-      * 562312 : Lip-sync generates wrong `ts-offset' in GstRtpBin
-      * 562319 : [rtpsession] memory corruption
-      * 562802 : [appsrc] lockup in pad_push() if previous flow was wrong-...
-      * 563006 : mxf mpeg422 file stops playing
-      * 563147 : input-selector doesn't notify of active-pad changing when...
-      * 564232 : Dual Licensing qtmux
-      * 565439 : Make pcapparse compile with (mingw32) gcc
-      * 565509 : rtpsource on receiver side can't get clock-rate for h264,...
-      * 565614 : [mpegtsdemux] Fix memory leak
-      * 565910 : allow forcing the ssrc on a rtpsession
-      * 566356 : [dvbbasebin] Couple of memleaks
-      * 566613 : bayer2rgb calculates wrong color offset
-      * 566878 : [ladspa] Add dependencies for ladspa modules
-      * 566957 : Add time based seeking to ResinDVD
-      * 566958 : fix dirac support in qtmux/mp4mux
-      * 566959 : Fix duration query on mpegtsdemux
-      * 508029 : [speexresample] pops/glitches in some cases
-      * 558416 : [PATCH] realvideodec: use pixel aspect ratio of container
-      * 564482 : [appsrc] semantics of push-buffer signal awkward for bind...
-      * 565319 : rtpjitterbuffer: bursty reception can cause time to be re...
-      * 565613 : [mpegtsdemux] Add scrambled field to service structure
-      * 567004 : ladspa plugin crashes on Solaris
-
-Changes since 0.10.8:
-
-      * New CELT encoder and decoder
-      * New TwoLAME encoder
-      * New DCCP element
-      * New AIFF parser element
-      * New APEX sink element
-      * deinterlace2 element improvements
-      * New JACK audio src element
-      * New winscreencap, winks and pcapparse plugins
-      * x624enc fixes
-      * Support for ATSC tuning and channels.conf parsing
-      * RTP improvements
-      * New scaletempo element
-      * Add Fluendo MPEG-TS muxer
-      * Add Fluendo MPEG-TS and MPEG-PS demuxers
-      * New JPEG2000 element
-      * New FLAC parser element
-      * DVD playback improvements
-      * Improved DirectShow decoding support
-      * New Windows Audio Session audio src element
-      * New FLV muxer element
-      * Many other bug fixes and improvements
-
-Bugs fixed since 0.10.8:
-
-      * 537700 : [scaletempo] Scale audio tempo in sync with playback rate
-      * 550468 : [name conflict] New Fluendo mpeg demuxers
-      * 545197 : jackaudiosrc
-      * 555244 : Output-selector has unexpected event forwarding right aft...
-      * 402593 : deinterleave gives corrupt output
-      * 406673 : Need AIFF parser
-      * 535527 : [real] Real video/audio stream fails to play
-      * 537455 : ATSC: VSB / QAM Annex B support
-      * 538500 : AIFF file doesn't play
-      * 542390 : Implementation of DCCP Plugin for gstreamer
-      * 542510 : [apexsink] Apple AirPort Express Wireless Sink
-      * 545247 : use g_setenv() insteed of setenv() in sdlvideosink.c
-      * 546312 : Make the metadata writable before modifying it in rtpmanager
-      * 549409 : gstrtpbin don't stop at the end of a stream
-      * 549774 : audio / video synchronization glitch during rtsp playback
-      * 550486 : [faac] Negotiation problem with mono audio for some sampl...
-      * 550657 : New element jasperdec
-      * 552506 : [neonhttpsrc] doesn't handle/throw errors correctly
-      * 552536 : fix incomplete change to gstdvbsrc.c
-      * 553755 : [mpegpsdemux] FP exception when playing tv2-1_25.mpg
-      * 555193 : [ELEMENT-MOVE] Move mpegtsparse element into mpegdemux pl...
-      * 555198 : [mpegpsdemux] Lower the RANK to MARGINAL for next release
-      * 555912 : [apexsink] Missing from ext/Makefile.am
-      * 555965 : Missing space after point mark
-      * 555968 : Missing space after point mark
-      * 555969 : Missing space after point mark
-      * 556003 : [flvdemux] Regression in handling flow returns in pull-mode
-      * 556274 : [aiffparse] Uses debugging methods before debugging is in...
-      * 556338 : Failed to configure latency
-      * 556428 : [mpegpsdemux] Creates invalid newsegment events 
-      * 556430 : [inputselector] Assumes there's always an otherpad
-      * 556440 : [PATCH] crash on demuxing certain transport streams
-      * 556482 : [PATCH] crash in mpegtsparse get_encoding_and_convert
-      * 556564 : [flvmux] Copy & paste bugs resulting in invalid files
-      * 556588 : [apexsink] should not have PRIMARY rank
-      * 557080 : [mpegpsdemux] Regression with reverse-playback
-      * 543480 : gstrtpbin fails to release lock while emitting signal
-      * 556520 : jitterbuffer seqnum gap detection is wrong
-      * 463941 : Plugin for screen capture on windows
-      * 519935 : New plugin for video capture on Windows
-      * 520899 : New plugin: pcapparse
-      * 520901 : New plugin: wasapi (Windows Audio Session API) 
-
-Changes since 0.10.7:
-
-      * Support shared desktops in RFB input
-      * Make the Quicktime codec wrapper work on win32
-      * Experimental DVD navigation support
-      * Support AAC/H.264 in FLV files
-      * Fixes in the DirectShow codec wrapper
-      * Fix the Real codec wrapper plugin
-      * New deinterlace2 plugin incorporating TVtime deinterlacers
-      * Handle seeking, timestamps, duration in RAW video/audio parsers
-      * New DirectShow video sink for Win32
-      * FAAD reverse playback support
-      * OSS4 support improvements
-      * MythTV seeking support
-      * SPC decoder now supports seeking, tags and duration queries
-      * Replaygain elements moved to Good
-      * Deinterleave/interleave elements fixed and moved to Good
-      * MPEG-4 video stream parser fixes
-      * Improved MPEG-TS parsing for DVB support
-      * Improvements in App source/sink
-      * RTP manager enhancements
-
-Bugs fixed since 0.10.7:
-
-      * 533736 : [mythtvsrc] Seeking doesn't work
-      * 544050 : ext/timidity/gsttimidity.c :  ISO C90 forbids mixed decla...
-      * 454151 : SPC plugin enhancements (patch)
-      * 506594 : [interleave] doesn't work with channels > 1
-      * 521392 : Proposed patches for bayer2rgb encoding
-      * 525613 : [wildmidi] [PATCH] initializes library multiple times
-      * 528618 : amrwb plugin do not build without warning with the 3ggp s...
-      * 529359 : BBC Real Audio stream is just noise
-      * 530611 : [gstsrtenc] declare variables at beginning of block
-      * 531840 : QuickTime wrapper doesn't work on Win32
-      * 531955 : gstrtpsession doesn't send RTCP bye on EOS
-      * 532723 : mpeg4videoparse should parse the codec data
-      * 533435 : wildmidi does not work
-      * 533559 : mpeg4videoparse should skip garbage
-      * 535043 : VCD plugin only plays first track
-      * 536042 : mpeg4videoparse broken on big endian architectures
-      * 536258 : interleave doesn't close properly
-      * 536856 : rtpmanager deadlocks when receiving new data while going ...
-      * 538560 : [mpegtsparse] static caps reference counter incremented i...
-      * 539292 : memory leak in mpegtsparse
-      * 539601 : [realvideodec] not-negotiated error if codec lib isn't found
-      * 541522 : cross mingw32 gcc: festival plugin compilation fix
-      * 541543 : fix HAVE_OSS4 detection code in configure.ac
-      * 543286 : deinterlace2 doesn't build outside gcc
-      * 543846 : [resindvd] Impossible to build from the first configure r...
-      * 543848 : [ladspa] Needs to link with -ldl for dlopen() and friends
-      * 543860 : [modplug] Uses CFLAGS for CXXFLAGS
-      * 543861 : [resindvd] Some files not disted
-      * 544457 : -bad doesn't compile with MSVC
-      * 526905 : [musepack] Port to the new libmpcdec API
-      * 532011 : Deadlock in rtpsession
-      * 536309 : Seeking in pipeline with videoparse crashes
-
-Changes since 0.10.6:
-    
-      * OSS v4 support
-      * libdc1394 2.0.0 support
-      * AAC support fixes
-      * RTP support improved
-      * New OFA element
-      * SRT subtitle encoder added
-      * Windows Inet support for http/ftp
-      * Fixes in dc1394, MIDI, MPEG-2 encoding, MythTV input, NAS
-      * Fixes in Bayer decoder, replaygain analysis, GSM decoder
-      * DVB/MPEG-TS support improved
-      * NSF decoder updated
-      * 'metadata' plugin enhancements
-      * Dirac encoder ported to libschroedinger
-      * mplex element ported to 0.10
-      * VCD/CDXA parser ported to 0.10
-      * Directshow wrapper improvements
-      * 'selector' plugin enhancements
-      * souphttpsrc moved to the -good module
-      * Various other fixes and enhancements
-
-Bugs fixed since 0.10.6:
-     
-      * 498237 : nsfdec crash with SK8ORDIE.
-      * 529378 : faad leaks GstAudioChannelPosition
-      * 351309 : New Element: gst-puid
-      * 469979 : [faad] Could not map channel positions - setting caps on ...
-      * 494499 : replaygain analysis slowdown on low volume (denormals)
-      * 514948 : [souphttpsrc] configurable buffer size setting and zero-copy
-      * 514964 : [dc1394] port to new stable 2.0.x API
-      * 517937 : various C89 fixes
-      * 518227 : test/icles/metadata_editor.c does not compile on Windows
-      * 518722 : [souphttpsrc] append cookie headers to HTTP request
-      * 519905 : [mvedemux] fix audio discontinuity
-      * 520329 : [PATCH] mjpegtools: mplex ported to 0.10 and mpeg2enc upd...
-      * 520626 : Implement collision and loop detection in rtpmanager
-      * 520892 : [dshowvideosrc] latency and shutdown improvements
-      * 520894 : rtpmanager rtcp thread shutdown deadlock
-      * 520897 : new element: wininetsrc
-      * 521749 : [souphttpsrc] unit test fails on mandriva cooker
-      * 522134 : [souphttpsrc] Playback should continue seamlessly on serv...
-      * 522212 : wrong origin
-      * 522884 : gstneonhttpsrc does not handle the HTTP status 303 correc...
-      * 523854 : [souphttpsrc] Glitches and crackling when playing things ...
-      * 524035 : [neonhttpsrc] fails to compile with libneon 0.28.x
-      * 525271 : [new plugin] srtenc
-      * 526337 : souphttpsrc ignores connections error
-      * 527622 : [flvdemux] crash in FLV demuxer
-      * 528000 : [timidity] Doesn't dist all files correctly
-      * 528011 : [dc1394] Shouldn't be included in the states test
-      * 528245 : rtpbin element leaks
-      * 528266 : [ofa] Unit test fails because of different fingerprints
-      * 528614 : timeout introduced in poll loop for fd in dvbsrc causes b...
-      * 529283 : [ofa] Unit test leaks tag string
-      * 529285 : [rganalysis] Unit test leaks a GstTagList
-      * 517854 : DirectFB check fails
-      * 517895 : nas plugin no longer builds (configure.ac error)
-      * 517896 : PATCH: fix building of mpeg2enc plugin with even newer mj...
-      * 525100 : does not build with --disable-external
-      * 481354 : [wavparse] does not play 700Hz GSM 6.10 wav file
-
-Changes since 0.10.5:
-    
-      * DVB support added
-      * dc1394 support
-      * RTP-manager improvements
-      * Support for native QT codecs on OS/X and DirectShow codecs on Windows,
-        courtesy of Songbird and Fluendo
-      * New elements: flvdemux, flvparse, mpegtsparse, dvbsrc, dvdspu
-      * More new elements: mpeg4videoparse, metadatademux/mux, souphttpsrc,
-        speexresample, qtwrapper
-      * Even more new elements: rawaudioparse, fbdevsink
-      * Renamed elements/plugins: switch (now selector), pitch (now soundtouch)
-      * Elements graduated to good: multifilesrc/sink, spectrum, equalizer,
-        bpwsinc, lpwsinc
-      * Elements graduated to ugly: xingmux (now part of mpegaudioparse)
-      * OpenGL support moved to new module: gst-plugins-gl
-      * appsrc/appsink improvements
-      * Fixes in neonhttpsrc
-      * Fixes in amrwbparse
-      * Deinterlacer improvements
-      * Fixes in dtsdec
-      * Fixes in the Real codec wrappers
-
-Bugs fixed since 0.10.5:
-     
-      * 321240 : [PLUGIN-MOVE] dfbvideosink should be moved from -bad to -...
-      * 508029 : [speexresample] pops/glitches in some cases
-      * 508294 : [realaudiodec] crash in set_caps dereferencing NULL funcs...
-      * 387251 : New Plugin! : dc1394 Adds Support for firewire (1394) IID...
-      * 393461 : [Real] Location of .so varies on each distribution
-      * 395424 : neonhttpsrc lacks support for proxy servers
-      * 397759 : Xingmux may not write a proper Xing/VBR header
-      * 403992 : [new plugin] timidity based midi decoder
-      * 409974 : Code for improved GStreamer resampler (based on speex res...
-      * 426657 : Add support for SDP multicast description files
-      * 433373 : [win32] autogenerated win32/common/config.h needed
-      * 444499 : build of fresh CVS is failing in ext/sdl
-      * 450175 : gcc-2.9x build fixes
-      * 450605 : Missing files in po/POTFILES.in
-      * 452009 : ./configure breaks when cross-compiling FAAD2
-      * 452258 : [mpeg2enc] make work with mjpegtools 1.9
-      * 453636 : dvbsrc needs more flexible adapter selection
-      * 454078 : [ivorbis] header files missing in release tarball
-      * 454313 : missing xml files to build docs/plugins
-      * 456901 : PATCH: add several missing supported mime-types to the mo...
-      * 456912 : PATCH: make wildmidi plugin check for /etc/timidity.cfg
-      * 461068 : Seeking not properly implemented by the pitch plugin
-      * 461373 : HP-UX 11.11 build with native compiler
-      * 461377 : [festival] port to GStreamer-0.10
-      * 461601 : Some files missing from POTFILES.in
-      * 462737 : compilation breaks with g++-4.2 and gcc-4.2
-      * 464678 : Add connection-speed property to mmssrc element
-      * 468039 : [mythtvsrc] missing examples for live tv in gst-inspect
-      * 471554 : real media videos do not work
-      * 473562 : [rtpmanager] cvs build problem due to compiler warning
-      * 474969 : [neonhttpsrc] fails to play radio streams with neon > =0.26
-      * 476128 : Printf format fixes
-      * 476148 : Add mpeg4 video parser
-      * 476159 : memleak patch to rtpmanager
-      * 476370 : [faad] shouldn't set channel-positions for mono and stereo
-      * 477306 : amrwbenc has not property to select band mode
-      * 478566 : Add notification of active SSRCs to the RTP manager
-      * 481200 : gstneonhttpsrc discards GET parameters from URL
-      * 481276 : [mpegtsparse] " not linked (-1) " error
-      * 481279 : [mpegtsparse] partial corruption of the output stream
-      * 483400 : mpegtsparse: PAT with version 0 incorrectly skipped by pa...
-      * 484990 : memleak - missing g_free() rtpmanager/gstrtpbin.c
-      * 485462 : alsaspdifsink uses wrong sample rate
-      * 487496 : [dvdspu] fails to link on Mac OS
-      * 487892 : [mpegtsparse] getting pat-info property before PAT is ava...
-      * 487901 : [mpegtsparse] stale PAT info when switching from PLAYING ...
-      * 490060 : [faac] a few minor issues: bitrate, enum nick for low com...
-      * 490682 : [interleave] can't create more than one request sink pad
-      * 492406 : Crasher in libgstdshow on Windows/MSVC
-      * 492798 : [rtpmanager] build issues on Windows/MSVC
-      * 496221 : Streaming FLV's over HTTP doesn't work, for totem and the...
-      * 498430 : incomplete CVS commit
-      * 498667 : gstreamer segfaults in faac
-      * 498755 : FLV files incorrectly report framerate of 1000fps
-      * 499008 : mpeg2enc ignores the incoming stream aspect property
-      * 500099 : Fixes and improvements to souphttpsrc
-      * 500142 : switch element in switch plugin should be renamed
-      * 501579 : rtpmanager should emit a signal when it can associate a s...
-      * 502335 : [souphttpsrc] some enhancements
-      * 502879 : videoparse segmentation fault
-      * 503308 : Changing tempo using pitch plugin doesn't update length info
-      * 507020 : [rtpjitterbuffer] unreffing peeked buffer and not popping...
-      * 507584 : gio: gstgiobasesrc.c does not compile with CVS version of...
-      * 507940 : rtpsession:rtp_send_src shouldnt not have fixed caps
-      * 508515 : [rtpbin] allow request_new_pad with name NULL
-      * 508587 : Improvement to rtpsession
-      * 508979 : Enhancement for xingmux
-      * 510708 : [souphttpsrc] support for libsoup-2.4
-      * 511001 : enhanced deinterlace plugin
-      * 511146 : rtpjitterbuffer should not return an error on no-caps
-      * 511530 : DTS library API change?
-      * 511683 : gstrtpbin fails to associate streams together for lipsync
-      * 511686 : make gstrtpjitterbuffer respect different clock rates for...
-      * 511920 : rtpsource queue full tries to treat GstBuffer as GstObject
-      * 512654 : [h264parse] does not build in cvs head (unused variable i...
-      * 512774 : [rtpjitterbuffer] does not accept clock rate from caps
-      * 512826 : switch / selector event leak
-      * 514093 : bug in configure.ac prevents glimagesink plugin from bein...
-      * 515564 : souphttpsrc unit test fails to build
-      * 515567 : [states] States unit test should exclude the dvb plugin
-      * 515588 : Warning building tremor plugin
-      * 515720 : [xvid] Memory leak caused by not unsetting GValue
-      * 515721 : [rfb] rfbsrc leaking the rfb decoder
-      * 515722 : [fbdev] Leaking the device property string
-      * 515815 : [mpegvideoparse] fix a few new memory leaks
-      * 515860 : plugins should not install headers - fix metadata
-      * 515919 : Fix a bunch of finalize leaks
-      * 515964 : [docs] Still contains docs for the GIO plugin although it...
-      * 515970 : [dshowdecwrapper] Doesn't chain up dispose function properly
-      * 516061 : [h264parse] fix a few new memory leaks
-      * 516094 : Remove glimagesink from -bad
-      * 516114 : dvbbasebin leaks the location string when the uri handler...
-      * 516160 : gstrtpbin did not ignore streams with no SR when doing as...
-      * 516436 : [dvdsub] segfault on display of 1st subpicture in 2nd cha...
-      * 516448 : criticals due to missing debug category init in mpegtsparse
-      * 516499 : critical caused by assuming optional property " descriptor...
-      * 517391 : [tta] Doesn't link with libm
-      * 517571 : small memory leak in gstrtpbin
-      * 517684 : [mythtvsrc] Small bug fixes
-      * 478159 : Could not decode realvideo buffer
-      * 497020 : Add fully async HTTP source based on libsoup.
-      * 501562 : [switch] bogus locking order
-
-Changes since 0.10.4:
-
-      * New plugin - realdec for decoding Real streams using binary libs
-      * New plugin - MythTV source
-      * New plugin - appsrc (for application data insertion)
-      * New plugin - VMnc VMware capture decoder
-      * New plugin - JACK audio output
-      * New plugin - interleave/deinterleave
-      * New plugin - RTP manager
-      * New plugin - Bayer to RGB converter
-      * New plugin - ReplayGain support
-      * New plugin - DirectShow win32 input support
-      * New plugin - videosignal/videoanalyse
-      * LADSPA plugin improvements
-      * IIR equaliser ported to 0.10 (iirequalizer)
-      * libsndfile output ported to 0.10
-      * mpegvideoparse ported to 0.10 and improved
-      * switch element ported to 0.10
-      * VCD source element ported to 0.10
-      * AMR-WB support fixes 
-      * MIDI renderer plugin based on timidity
-      * Windows and OS/X output plugins moved to the Good module 
-      * qtdemux, wavpack and videocrop plugins moved to the Good module
-      * Many other bug fixes and improvements
-      * Parallel installability with 0.8.x series
-      * Threadsafe design and API
-
-Bugs fixed since 0.10.4:
-
-      * 152403 : [mpeg/DVB] Integrating externaly developped DVB source el...
-      * 333307 : AmrWB Plugin
-      * 345633 : [nassink] port to 0.10
-      * 354174 : [PATCH] add REAL support by using the proprietary drivers
-      * 354451 : [mythtvsrc] Plugin for MythTV source
-      * 357055 : Tremor (ivorbis) plug-in is unable to decode vorbis strea...
-      * 374773 : [qtdemux] [PLUGIN-MOVE] Move from -bad to good
-      * 375264 : [neonhttpsrc] add seek support
-      * 376591 : configure.ac looks for wrong symbols for FAAD support
-      * 382184 : Port interleave and deinterleave to 0.10 for audio channe...
-      * 388050 : [neonhttpsrc] code simplifications
-      * 392112 : [rfbsrc] doesn't build with MinGW
-      * 393622 : Not building real plugin, only works on 32bit x86 platforms.
-      * 395536 : [wavpackenc] Trivial cleanup
-      * 395597 : Deinterleave fails to negotiate with alsasrc when using D...
-      * 400555 : dts-in-wav: only 2 channel recognised
-      * 402470 : [osxvideosink] video sink for MacOSX
-      * 412077 : [speed] can't initially set speed > 1
-      * 412710 : [replaygain] Add playback elements
-      * 413818 : [neonhttpsrc] errors out on redirects
-      * 421110 : New x264enc plugin
-      * 421598 : [wavpack] Add support for non-8*n depths and don't play a...
-      * 423283 : [qtdemux] timestamps of outgoing h264 packets are wrong
-      * 423741 : [amrwb] use external shared libamrwb
-      * 430594 : Unable to compile gst-plugins-bad CVS
-      * 430598 : [realvideodec] dll functions not available on MinGW
-      * 430664 : name conflict for " rtpbin " element
-      * 437260 : CFLAGS are poinsoned by the OpenGL test
-      * 437403 : gst-plugins-bad uses #ifdef G_OS_WIN32 instead of #ifdef ...
-      * 437539 : Compilation of DirectDraw and DirectSound plugins using m...
-      * 439405 : YUV not working in GL image sink.
-      * 439910 : [switch] Warning in a debug function (Mingw)
-      * 439911 : [qtdemux] Warning in a debug function (MinGW)
-      * 439914 : [directdraw] Warnings when using MinGW
-      * 440466 : [PLUGIN-MOVE] osxvideo
-      * 440774 : [sdl] sdlvideosink has ill-formatted element details
-      * 442689 : [neon] Property-related cleanups of neonhttpsrc
-      * 445189 : PLUGIN-MOVE - Move Windows sinks to -good
-      * 348973 : New plugins: MVE muxer/demuxer
-      * 391971 : Fix build with gcc-2.x
-      * 392313 : [directdrawsink] dist and add to gst-plugins-bad
-      * 392638 : [directsoundsink] dist and add to gst-plugins-bad
-      * 392856 : [qtdemux] plugin must link against zlib (error with MinGW)
-      * 403572 : Port equaliser element to 0.10
-      * 352605 : [PLUGIN-MOVE] move wavpack to -good
-      * 426972 : Specific set of H.264 files cannot be played
-      * 434101 : [gsm] doesn't link against libgstbase-0.10
-
-Changes since 0.10.3:
-
-      * V4L2 source element moved to Good plugins
-      * Many improvements in Quicktime playback
-      * Xvid encoding and decoding improvements
-      * FAAD decoder fixes
-      * New element: alsaspdifsink for IEC958 output
-      * Spectrum FFT analysis element ported
-      * New element: h264parse. H.264 Parser
-      * Fixes in bz2 support
-      * New element: theoraexpdec. Libtheoraexp based Theora decoder
-      * New element: wavpackenc. Wavpack decoder
-      * Improvements in the libneon based http source
-      * gstfilter ported to 0.10
-      * mpeg2enc ported to 0.10
-      * New element: nsfdec. NSF decoder
-      * New element: spcdec. libopenspc based SPC decoder
-      * videocrop ported/re-written from 0.8
-      * cdaudio element ported to 0.10
-      * New element: rganalysis. ReplayGain analysis element
-      * New element: dvbsrc. DVB source element (disabled by default)
-      * deinterlace (Simple deinterlacer) ported from 0.8
-      * New element: nuvdemux. NUV video demuxer
-      * Fixes in the DirectDraw output elements
-      * New elements: multifilesrc, multifilesink
-      * y4mencode ported from 0.8
-      * rfbsrc, librfb based capture source ported from 0.8
-      * New element: jackaudiosink. JACK audio output element
-      * Many other fixes and improvements
-
-Bugs fixed since 0.10.3:
-
-      * 379261 : crash in Movie Player: Trying to play a partial...
-      * 151192 : [PATCH] nsf decoder
-      * 124580 : [jacksink] plugin needs a maintainer/love/to be updated
-      * 330632 : [qtdemux] MP3 stream in MP4 container not playable
-      * 335507 : [FAAD] blur_warhammer.mp4 movie doesn't transcode
-      * 339462 : [PATCH] xvid plugin to support more capabilities of XviD ...
-      * 340638 : New plugin: h264 parse element
-      * 341231 : [qtdemux] [faad] audio in some superman trailers doesn't ...
-      * 341461 : gst-plugins-bad missing -no-undefined again
-      * 341563 : [faad] fails to decode middle of file, should just skip o...
-      * 343031 : v4l2src caps negotion is faulty
-      * 343131 : [wavpack] add wavpack encoder
-      * 343184 : [mpeg2enc] ported to 0.10
-      * 343866 : cygwin fixes
-      * 344472 : [wavpackdec] should post audio codec tag and extract bitrate
-      * 344821 : [pitch] controllable properties
-      * 344944 : AAC Support crashes with some files
-      * 345182 : [neonhttpsrc] fails to compile with libneon 0.26.x
-      * 345336 : modplug plugin doesn't work on AMD64
-      * 345653 : [videocrop] port to 0.10, support all common formats
-      * 346853 : [PATCH] ported gstfilter elements to 0.10
-      * 347079 : [qtdemux] plugin doesn't decode Year
-      * 347443 : [wavpack] port parser/decoder to official API and random ...
-      * 347935 : [nsf] warning when building RPM
-      * 348220 : New libopenspc-based SPC playback plugin
-      * 348976 : [xviddec] crashes after invalid unit size warning
-      * 350399 : [qtdemux] extract multiple redirect locations and require...
-      * 350741 : [faac] Wrong bitrate set
-      * 351495 : [wavpackparse] add support for push-based mode
-      * 351557 : [wavpackparse] resync in push mode if sync was lost
-      * 357069 : [rganalysis] New element: ReplayGain analysis
-      * 357212 : [glimagesink] crashes if no DISPLAY
-      * 361260 : New element: nuvdemux
-      * 362626 : Fixes compiling with forte: warning clean up (part 5)
-      * 376106 : Port rfbsrc to gst 0.10
-      * 378613 : [qtdemux] non-working redirect ('alis' redirect reference...
-      * 382203 : ladspa element needs to be enabled
-      * 384294 : [modplug] returns position query results in attoseconds
-      * 385048 : [qtdemux] Crash on a mp4 file in qtdemux_parse_trak
-      * 385788 : [SECURITY] buffer overflows in modplug
-      * 387076 : [wavpack] Wrong include
-      * 387122 : [qtdemux] regression: crash in parse_trak
-      * 387160 : [qtdemux] posts buffering message which can cause hangs
-      * 351659 : [wavpackparse] fix resync in push mode, implement it in p...
-      * 351663 : [wavpackenc] doesn't set correct caps on source pad
-      * 352476 : [wavpack] documentation, unit tests, memleak fix
-      * 366523 : [directdraw] fix playback and vs8 fixes
-      * 369539 : [wavpackenc] More sensible values for GstEnums, don't sen...
-      * 384140 : [neonhttpsrc] id3demux autoplug loop streaming mp3 with I...
-      * 387137 : Regression: qtdemux paletted image handling
-      * 349916 : [gdp] raw audio saved in gdp, when depayloading  complain...
-      * 346723 : gstneonhttpsrc fails for URL
-      * 347439 : [qtdemux] seeks poorly in files with slideshows
-      * 349204 : [gdp] raw audio saved in gdp does not depayload correctly
-      * 351825 : [qtdemux] doesn't set proper caps for RGB video
-      * 367696 : [qtdemux] No support for QuickTime Animation (RLE).
-      * 372243 : [PATCH] yuv4mpeg (v2) encoder ported to 0.10
-      * 380610 : [rganalysis] Incorrect event handling
-      * 383471 : cannot link 1 ch raw 24-bit PCM audio
-      * 344987 : [PATCH] [dvbsrc] [ts-tools] gstreamer 0.10 port
-
-There was no 0.10.2 release
-
-Changes since 0.10.1:
-
-      * FAAD/AAC decoder improvements
-      * Better QuickTime support
-      * Plugins ported from 0.8: modplug, v4l2src, Musicbrainz TRM
-      * New plugins: Xing muxer, libsoundtouch, AMR-WB, theora-exp
-      * Musepack decoder improved
-      * libneon based http input now supports iradio mode
-      * More uniform plugin descriptions
-      * Many bug fixes
-
-Bugs fixed since 0.10.1:
-
-      * 334700 : [qtdemux] Memory leaks
-      * 333307 : AmrWB Plugin
-      * 330317 : New xingmux element  for writing Xing headers
-      * 304795 : [ximagesrc] port to 0.9 [PATCH]
-      * 154906 : [qtdemux] A/V Synch problem + crackling sound
-      * 167129 : [qtdemux] eats last chunk
-      * 173007 : [faad] Failed to decode buffer: Channel coupling not yet ...
-      * 302606 : [qtdemux] Movie playback too fast (quicktime mov, H.263 c...
-      * 321351 : extracted AAC output is played too slow
-      * 324082 : [qtdemux] [faad] playback issues with quicktime videos
-      * 327075 : [qtdemux] add support for palettized SMC videos
-      * 327355 : gst-plugins-bad CVS compilation breaks on gcc 4.1
-      * 331335 : New Element: libsoundtouch based pitch shifter
-      * 331909 : support for more fourccs in qtdemux
-      * 332066 : [qtdemux] doesn't extract Disc Number field from some files
-      * 332155 : Seeking problems in .mov files
-      * 332402 : quicktime file will not play
-      * 332598 : port modplug to 0.10
-      * 332892 : [faad] 'Negative scalefactor found' and 'Maximum number o...
-      * 333283 : [xviddec] Fix build with gcc 2.95
-      * 333501 : [patch] taglib element
-      * 334123 : [taglibmux] fixes for TPOS and TCOP
-      * 334417 : autogen.sh bit rot
-      * 334748 : [faad] doesn't take sampling rate from demuxer
-      * 335585 : xvidenc does not mark key-frame/delta-units
-      * 336898 : Port musicbrainz/trm plugin to 0.10
-      * 337263 : plugins need better/unified descriptions
-      * 338233 : theora-exp api out of sync
-      * 339041 : qtdemux : Floating point exception
-      * 339074 : Thumbnail generation fails on the following file
-      * 337436 : Sound is very jerky on this .mov file
-      * 338935 : [qtdemux] floating point exception parsing trac header
-
-Changes since 0.10.0:
-
-      * Parallel installability with 0.8.x series
-      * Threadsafe design and API
-      * Lots of fixes for the QT/MOV demuxer, including restoring 
-        the ability to play web streams, and more codecs supported
-      * AAC decoder fixes
-      * MMS source fixes
-      * DirectFB plugin updated
-      * New plugins ported to 0.10: swfdec, XVid, dtsdec, glimagesink
-      * New libneon based http source filter
-      * APE tag reader moved to gst-plugins-good module
-
-Bugs fixed since 0.10.0:
-
-      * 303167 : Add bzip2 support
-      * 322973 : [wavpack] erroneous sampling rates range
-      * 326524 : Support for Indeo 3-encoded QuickTime files
-      * 327133 : [qtdemux] QuickTime with 8-bit audio
-      * 328854 : AAC+ stream not working with FAAD plugin
-      * 330089 : [bz2] Wrong mimetype and no typefinding
-      * 331302 : bz2 plugin source files lack copyright notices
-      * 331543 : crash on iTunes MPEG v4 AAC-LC files
-      * 331582 : [qtdemux] protect log statement against invalid memory access
-
-Bugs fixed since 0.9.7:
-    
-      * 322962 : wavpack plugins don't get built
-
-Changes since 0.9.6:
-
-      * wavpack ported
-      * libmms ported
-
-Changes since 0.9.5:
-    
-      * Fractional framerates
-
-Bugs fixed since 0.9.5:
-    
-      * 320532 : [faac] set output samplerate and number of channels
-      * 321903 : [qtdemux] does not know fourcc DX50, as produced by DivX 5
-
-Changes since 0.9.4:
-    
-      * Parallel installability with 0.8.x series
-      * Threadsafe design and API
-      * qtdemux supports custom genre tags
-      * tremor integer vorbis decoder ported
-      * directfb video sink ported (with examples and documentation!)
-
-Bugs fixed since 0.9.4:
-    
-      * 321241 : faad compile fix
-
-Bugs fixed since 0.9.3:
-
-      * 317438 : [speed] fix 0.9 port
-      * 318659 : [faac] problem with float capabilities
-      * 318660 : [faac] missing unrefs
-
-Changes since 0.9.1:
-
-      * ported gsm, tta, sdlvideosink
diff --git a/RELEASE b/RELEASE
index 32685ce..ec8b27e 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,16 +1,17 @@
 
-Release notes for GStreamer Bad Plug-ins 0.10.22 "Toy Piano"
+Release notes for GStreamer Bad Plug-ins 0.11.1 "Forest of October"
         
 
 
 The GStreamer team is proud to announce a new release
-in the 0.10.x stable series of the
+in the 0.11.x unstable series of the
 GStreamer Bad Plug-ins.
 
 
-The 0.10.x series is a stable series targeted at end users.
-It is not API or ABI compatible with the stable 0.8.x series.
-It is, however, parallel installable with the 0.8.x series.
+The 0.11.x series is an unstable series targeted at developers and will
+eventually lead up to the stable 1.0 series.
+It is not API or ABI compatible with the stable 0.10.x series.
+It is, however, parallel installable with the 0.10.x series.
 
 
 
@@ -60,148 +61,13 @@ contains a set of well-supported plug-ins, but might pose problems for
 
 Features of this release
     
-      * aiffparse: add support for 32 bit and 64 bit floating point formats
-      * aiffparse: the SSND header is 16 bytes large, not 8 + 16 bytes
-      * assrender: refactor blitting, avoid writing past end of buffer
-      * camerabin2: Add a property to select the encoding profile
-      * camerabin2: Add custom filter properties
-      * camerabin2: Add image-done message
-      * camerabin2: Adding audio support for video recordings
-      * camerabin2: Adding properties for image capture settings
-      * camerabin2: Add methods for preview image message posting
-      * camerabin2: Add preview-filter property
-      * camerabin2: Adds new idle property
-      * camerabin2: Add viewfinder caps related properties
-      * camerabin2: Add viewfinder-sink property
-      * camerabin2: Implement previewing
-      * camerabin2: Implement tagsetter interface
-      * camerabin2: Move preview helper functions to basecamerabinsrc
-      * camerabin2: Move to encodebin
-      * camerabin2: Moving preview image properties to basecamerasrc
-      * camerabin: adding audio related properties
-      * camerabin: Always take photo when preview-caps is set
-      * camerabin: don't rely on the application running the default GLib main loop
-      * camerabin: Events with select-all in input-selector
-      * camerabin: Fix corner case for preview posting
-      * camerabin: Use running time for muxing
-      * celtenc: Fix compilation with celt >= 0.11.0
-      * colorspace: add 16-bit-per-channel handling
-      * colorspace: add dithering, add support for r210 and fix YUV->RGB matrixing
-      * curlsink: add libcurl-based sink element
-      * decklink: Add decklink plugin
-      * directdrawsink: avoid aspect-ratio borders overlying other windows
-      * directdrawsink: avoid rendering to invalid area
-      * dshowvideosink: update for latest GstXOverlay changes
-      * dvbsuboverlay: Fix using alpha values in blitting
-      * dvdspu: don't write clipped lines to the output buffer
-      * dvdsubdec: make up clut values if they weren't set
-      * fieldanalysis: new fieldanalysis element
-      * fpsdisplaysink: add "silent" property, fix "sync" property default value
-      * fpsdisplaysink: add "frames-dropped" and "frames-rendered" properties
-      * fpsdisplaysink: add "last-message" property and never print anything to stdout
-      * gme: fix infinite looping by fading out after two loops
-      * h263parse: add an h263parse element
-      * hlsdemux: Add HTTP live streaming parser/demuxer element
-      * id3mux: map new GST_TAG_ENCODED_BY to ID3v2 TENC frame
-      * jifmux: Add GstTagXmpWriter support
-      * jp2kdec, jp2kenc: add support v308 (4:4:4 YUV)
-      * jp2kdec: post proper error when the image's colour space is not supported
-      * jpegparse: misc. fixes
-      * linsys: Add plugin for Linear Systems SDI boards
-      * logoinsert: add "data" property; fix memleaks
-      * mpegtsdemux: new (not-yet autoplugged) MPEG TS demuxer rewrite
-      * mpegtsmux: add byte-stream to h264 template pad caps
-      * mpegtsmux: don't error out if downstream fails to handle the newsegment event
-      * mpegtspacketizer: Handle all ISO8859-x encodings in get_encoding()
-      * opencv: make work with openCV 2.2
-      * patchdetect: new element
-      * rsvgoverlay: allow negative values for x/y/width/height
-      * rsvgoverlay: implement x/y/width/height (absolute and relative) positioning and dimensioning
-      * rtpvp8: Add simple payloaders and depayloaders for VP8
-      * scenechange: new scene change detection element
-      * sdi: Add raw SDI muxing/demuxing elements
-      * shm: Allow ShmPipe to save a data pointer for applications
-      * shm: Keep the ShmPipe alive as long as there are blocks left
-      * shm: Make default perm u+rw g+r for shm area
-      * shmsink: ensure gst_poll_wait is called first on descriptors
-      * shmsink: Keep shmsink referenced while there are still buffers around
-      * shmsrc: Keep GstPoll for whole src lifetime
-      * shmsrc: Only connect to sink in PLAYING in live mode
-      * vdpau: fixup GstFlowReturn handling
-      * vdpausink: fix bug where we didn't setup vdpau on a user set window
-      * videoparsers: new h263parse element
-      * videoparsers: baseparse-based dirac parser, new baseparse-based h264parse
-      * xvidenc: proxy downstream caps restrictions upstream via get_caps()
-      * zebrastripe: New element
+      * Parallel installability with 0.10.x series
+      * Many cleanups
+      * Ported to new 0.11 core API changes
 
 Bugs fixed in this release
      
-      * 646211 : [camerabin] state changes need to be made when recording a video
-      * 608786 : [mpegtsmux] Internal H.264 byte-stream wrapping isn't working correctly
-      * 334107 : xviddec: segmentation fault after a few frames
-      * 582167 : jacksink does not flush the jack port when going to READY
-      * 586848 : qtmux, asfmux: remuxing streams with different start times
-      * 591651 : dvbsrc: use better nicks for GstDvbSrcModulation and other enums
-      * 594035 : [hlsdemux] Add HTTP Live Streaming playback support
-      * 594280 : directdrawsink: avoid rendering to invalid area
-      * 602847 : [dvdspu] Segfaults on seeking in matroska file
-      * 611061 : [mpegtsmux] some buffers are forgotten to push in m2ts_mode
-      * 615655 : [camerabin] shouldn't rely on running GLib main loop
-      * 616814 : Photography interface extension: colour tone mode and noise reduction settings
-      * 617532 : [qtmux] Take into account new-segments for incoming streams
-      * 622276 : Add an h263parse element
-      * 626618 : jpegparse doesn't handle APP12 marker
-      * 632056 : Directdrawsink draws black stripes over the overlying dialog windows.
-      * 639502 : [camerabin] should not re-create preview pipeline when setting new preview  caps
-      * 639763 : [dvbsuboverlay] Green borders around subtitles
-      * 639841 : examples: camerabin: Don't set default values for GstPhotography interface settings
-      * 640286 : elements/imagecapturebin check fails
-      * 640287 : camerabin2 checks fail
-      * 640327 : Add VP8 RTP payloaders and depayloaders
-      * 640561 : opencv textwrite element renaming and proper structuring:
-      * 640637 : Camerabin has warning: Internal GStreamer error: clock problem.
-      * 640885 : Permission problems building bad
-      * 641047 : [mpegaudioparse] Multiple issues with new mpegaudioparse element from -bad, lower rank?
-      * 641178 : rtpvp8: build problem, needs to link with libgstbase-0.10
-      * 641496 : New plugin: curlsink
-      * 641530 : Camerabin should capture image if preview_caps is set even if filename is not set
-      * 641712 : XWindow is never created in gst-camerabin-test example application
-      * 641796 : opencv: make plugin work with opencv 2.2.0 release
-      * 641857 : baseparse: Update min/max bitrate before first posting them
-      * 641858 : mpegaudioparse: Post CBR bitrate as nominal bitrate
-      * 642116 : rsvgoverlay: add position/dimension parameters
-      * 642658 : rsvgoverlay: allow negative values for position/dimension parameters
-      * 642671 : fieldanalysis: New element for analysing video input to produce progressive output
-      * 643469 : fpsdisplaysink: add frames-dropped and frames-rendered properties
-      * 643471 : fpsdisplaysink: fix default sync property value
-      * 643607 : [celt] Doesn't compile with celt 0.11.1
-      * 644176 : videofilters: needs to link against libm
-      * 644208 : dcaparse: add depth and endianness to dts caps to allow elements to negotiate on these certain stream format requirements
-      * 644429 : [mpegtsmux] in m2ts-mode, the tp_extra_header is incorrect
-      * 645006 : [mpegtsmux] in m2ts-mode, PAT is written only once
-      * 645053 : shm: multiple compile failures on Solaris 10
-      * 645412 : [h264parse] h264parse doesn't set framed=True on src caps
-      * 645420 : [scaletempo] Incorrectly handles new segments with stop == -1
-      * 645502 : [h264parse] leaks fatally on certain streams
-      * 645568 : aiffparse: doesn't play 24-bit AIFF properly
-      * 645711 : patchdetect: link error while using gcc-4.52
-      * 646256 : qtmux " buffer without timestamp/duration " error message could be more helpful
-      * 646495 : hlsdemux: Add missing patches from my local branch
-      * 646840 : shmsink: ensure gst_poll_wait is the first gst_poll function called on a descriptor
-      * 646955 : dshowvideosink: Update to reflect latest GstXOverlay changes
-      * 647030 : [fpsdisplaysink] " silent " property
-      * 647364 : VGM files loop indefinately
-      * 647498 : xvidenc not forwarding caps
-      * 647564 : gst-plugins-bad configure.ac summary wrongly claims an exif plugin
-      * 647830 : assrender: crashes with very large subtitles
-      * 647852 : [schroenc] Crashes after some time when getting buffers after EOS
-      * 647853 : [schrodec] Impossible to play very short files
-      * 647854 : [schrodec] Allocates buffers with NULL caps from downstream
-      * 648001 : configure: Fix linsys/decklink checks for Linux
-      * 648929 : [tsdemux] Memory leaks everywhere
-      * 649005 : y4mdec: add plugin description
-      * 647751 : [hlsdemux] Fix usage of the element in players
-      * 621027 : mpegtsparse problem when parsing EIT and obtaining Transport Stream packet size
+      * 665677 : [0.11] tsdemux sets pad caps before activating
 
 Download
 
@@ -230,47 +96,86 @@ Applications
   
 Contributors to this release
     
+      * Alessandro Decina
       * Alexey Fisher
       * Andoni Morales Alastruey
       * Andreas Frisch
       * Arun Raghavan
-      * Benjamin Gaignard
-      * Byeong-ryeol Kim
-      * Carl-Anton Ingmarsson
-      * Chris E Jones
+      * Brad Smith
+      * Brian Gitonga Marete
+      * Carsten Kroll
       * Christian Fredrik Kalager Schaller
+      * Danilo Cesar Lemes de Paula
+      * David Biomech360
+      * David King
       * David Schleef
+      * Debarshi Ray
       * Edward Hervey
-      * Fabrizio Milo
-      * Haakon Sporsheim
-      * Hu Gang
+      * Felipe Contreras
+      * Gabriel Strimtu
+      * George Kiagiadakis
+      * Guillaume Emont
+      * Gwenole Beauchesne
+      * Götz Waschk
       * Jan Schmidt
       * Janne Grunau
+      * Jonas Larsson
+      * Josep Torra
+      * Joshua M. Doe
+      * Julien Isorce
+      * Julien MOUTTE
+      * Krzysztof Krakowiak
       * Lasse Laukkanen
+      * Laura Lucas Alday
       * Lauri Lehtinen
+      * Levente Farkas
       * Luciana Fujii Pontello
       * Luis de Bethencourt
+      * Lukáš Lalinský
+      * Marc-André Lureau
       * Mark Nauwelaerts
       * Mart Raudsepp
-      * Mihai Draghicioiu
-      * Olivier Aubert
+      * Martin Storsjo
+      * Matej Knopp
+      * Mukul Majmudar
+      * Nicola Murino
+      * Nicolas Dufresne
+      * Olaf Seibert
+      * Oleksij Rempel (Alexey Fisher)
       * Olivier Crête
-      * Patricia Muscalu
-      * Philip Jägenstedt
-      * Philippe Normand
+      * Pino Toscano
+      * Quentin Smith
+      * Rafael Diniz
       * Raimo Järvi
+      * Raluca Elena Podiuc
       * René Stadler
       * Reynaldo H. Verdejo Pinochet
+      * Rob Clark
+      * Robert Jobbagy
       * Robert Swain
+      * Sameer Naik
       * Sebastian Dröge
+      * Sebastian Pölsterl
       * Sjoerd Simons
       * Sreerenj Balachandran
       * Stefan Kost
+      * Stefan Sauer
       * Teemu Katajisto
       * Thiago Santos
       * Thibault Saunier
+      * Thijs Vermeir
+      * Thomas Vander Stichele
+      * Tiago César Katcipis
+      * Tim 'mithro' Ansell
       * Tim-Philipp Müller
+      * Tom Deseyn
+      * Tommi Myöhänen
+      * Vincent Génieux
       * Vincent Penquerc'h
       * Víctor Manuel Jáquez Leal
+      * W. Michael Petullo
+      * Wim Taymans
+      * Youness Alaoui
+      * Zhao Halley
       * benjamin gaignard
  
\ No newline at end of file
index c7f4713..5f4c944 100644 (file)
@@ -3,7 +3,7 @@ AC_PREREQ(2.60)
 dnl initialize autoconf
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, cvs and prerelease does Werror too
-AC_INIT(GStreamer Bad Plug-ins, 0.11.0.1,
+AC_INIT(GStreamer Bad Plug-ins, 0.11.1,
     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
     gst-plugins-bad)
 
@@ -52,8 +52,8 @@ AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=0.11.0.1
-GSTPB_REQ=0.11.0.1
+GST_REQ=0.11.2
+GSTPB_REQ=0.11.2
 
 dnl *** autotools stuff ****
 
index 2640dd4..3b15c05 100644 (file)
 
 <ARG>
 <NAME>GstMMS::connection-speed</NAME>
-<TYPE>guint</TYPE>
+<TYPE>guint64</TYPE>
 <RANGE><= 2147483</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Connection Speed</NICK>
 <NAME>GstFaac::bitrate</NAME>
 <TYPE>gint</TYPE>
 <RANGE>[8000,320000]</RANGE>
-<FLAGS>rw</FLAGS>
+<FLAGS>rwx</FLAGS>
 <NICK>Bitrate (bps)</NICK>
-<BLURB>Bitrate in bits/sec.</BLURB>
+<BLURB>Average Bitrate (ABR) in bits/sec.</BLURB>
 <DEFAULT>128000</DEFAULT>
 </ARG>
 
 <NAME>GstFaac::midside</NAME>
 <TYPE>gboolean</TYPE>
 <RANGE></RANGE>
-<FLAGS>rw</FLAGS>
+<FLAGS>rwx</FLAGS>
 <NICK>Midside</NICK>
 <BLURB>Allow mid/side encoding.</BLURB>
 <DEFAULT>TRUE</DEFAULT>
 <NAME>GstFaac::shortctl</NAME>
 <TYPE>GstFaacShortCtl</TYPE>
 <RANGE></RANGE>
-<FLAGS>rw</FLAGS>
+<FLAGS>rwx</FLAGS>
 <NICK>Block type</NICK>
 <BLURB>Block type encorcing.</BLURB>
 <DEFAULT>SHORTCTL_NORMAL</DEFAULT>
 <NAME>GstFaac::tns</NAME>
 <TYPE>gboolean</TYPE>
 <RANGE></RANGE>
-<FLAGS>rw</FLAGS>
+<FLAGS>rwx</FLAGS>
 <NICK>TNS</NICK>
 <BLURB>Use temporal noise shaping.</BLURB>
 <DEFAULT>FALSE</DEFAULT>
 </ARG>
 
 <ARG>
+<NAME>GstFaac::quality</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[1,1000]</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Quality (%)</NICK>
+<BLURB>Variable bitrate (VBR) quantizer quality in %.</BLURB>
+<DEFAULT>100</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstFaac::rate-control</NAME>
+<TYPE>GstFaacBrtype</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Rate Control (ABR/VBR)</NICK>
+<BLURB>Encoding bitrate type (VBR/ABR).</BLURB>
+<DEFAULT>VBR</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstDtsDec::drc</NAME>
 <TYPE>gboolean</TYPE>
 <RANGE></RANGE>
 </ARG>
 
 <ARG>
+<NAME>GstPcapParse::ts-offset</NAME>
+<TYPE>gint64</TYPE>
+<RANGE>>= G_MAXULONG</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Timestamp Offset</NICK>
+<BLURB>Relative timestamp offset (ns) to apply (-1 = use absolute packet time).</BLURB>
+<DEFAULT>-1</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>MpegTsMux::m2ts-mode</NAME>
 <TYPE>gboolean</TYPE>
 <RANGE></RANGE>
 <ARG>
 <NAME>GstVP8Enc::speed</NAME>
 <TYPE>gint</TYPE>
-<RANGE>[0,2]</RANGE>
+<RANGE>[0,7]</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Speed</NICK>
 <BLURB>Speed.</BLURB>
 <FLAGS>rw</FLAGS>
 <NICK>Multipass Cache File</NICK>
 <BLURB>Multipass cache file.</BLURB>
-<DEFAULT>NULL</DEFAULT>
+<DEFAULT>"multipass.cache"</DEFAULT>
 </ARG>
 
 <ARG>
 </ARG>
 
 <ARG>
+<NAME>GstVP8Enc::drop-frame</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,100]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Drop Frame</NICK>
+<BLURB>Drop Frame.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVP8Enc::lag-in-frames</NAME>
+<TYPE>guint</TYPE>
+<RANGE><= 64</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Max number of frames to lag</NICK>
+<BLURB>If set, this value allows the encoder to consume a number of input frames before producing output frames.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVP8Enc::maxsection-pct</NAME>
+<TYPE>guint</TYPE>
+<RANGE>[200,800]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>maximum percentage allocation per section</NICK>
+<BLURB>The numbers represent a percentage of the average allocation per section (frame).</BLURB>
+<DEFAULT>800</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVP8Enc::minsection-pct</NAME>
+<TYPE>guint</TYPE>
+<RANGE><= 20</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>minimum percentage allocation per section</NICK>
+<BLURB>The numbers represent a percentage of the average allocation per section (frame).</BLURB>
+<DEFAULT>5</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVP8Enc::noise-sensitivity</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,6]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Noise Sensitivity</NICK>
+<BLURB>Noise Sensitivity.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVP8Enc::resize-allowed</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Resize Allowed</NICK>
+<BLURB>Resize Allowed.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVP8Enc::sharpness</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,7]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Sharpness</NICK>
+<BLURB>Sharpness.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVP8Enc::static-threshold</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,1000]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Static Threshold</NICK>
+<BLURB>Static Threshold.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVP8Enc::token-parts</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,3]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Token Parts</NICK>
+<BLURB>Token Parts.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVP8Enc::tune</NAME>
+<TYPE>GstVP8EncTune</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Tune</NICK>
+<BLURB>Tune.</BLURB>
+<DEFAULT>Tune for PSNR</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstPhotography::aperture</NAME>
 <TYPE>guint</TYPE>
 <RANGE><= 255</RANGE>
 </ARG>
 
 <ARG>
+<NAME>GstViewfinderBin::disable-converters</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Disable conversion elements</NICK>
+<BLURB>If video converters should be disabled (must be set on NULL).</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstImageCaptureBin::image-encoder</NAME>
 <TYPE>GstElement*</TYPE>
 <RANGE></RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Post Previews</NICK>
 <BLURB>If capture preview images should be posted to the bus.</BLURB>
-<DEFAULT>TRUE</DEFAULT>
+<DEFAULT>FALSE</DEFAULT>
 </ARG>
 
 <ARG>
 </ARG>
 
 <ARG>
+<NAME>GstCameraBin2::audio-filter</NAME>
+<TYPE>GstElement*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Audio filter</NICK>
+<BLURB>The element that will process captured audio buffers when recording. (Should be set on NULL state).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstCameraBin2::flags</NAME>
+<TYPE>GstCamFlags</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Flags</NICK>
+<BLURB>Flags to control behaviour.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstZebraStripe::threshold</NAME>
 <TYPE>gint</TYPE>
 <RANGE>[0,100]</RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Compare Meta</NICK>
 <BLURB>Indicates which metadata should be compared.</BLURB>
-<DEFAULT>GST_BUFFER_COPY_FLAGS|GST_BUFFER_COPY_TIMESTAMPS|GST_BUFFER_COPY_CAPS</DEFAULT>
+<DEFAULT>GST_BUFFER_COPY_FLAGS|GST_BUFFER_COPY_TIMESTAMPS|GST_BUFFER_COPY_META|GST_BUFFER_COPY_MEMORY</DEFAULT>
 </ARG>
 
 <ARG>
 <DEFAULT>ntsc</DEFAULT>
 </ARG>
 
+<ARG>
+<NAME>GstWaveScope::style</NAME>
+<TYPE>GstWaveScopeStyle</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>drawing style</NICK>
+<BLURB>Drawing styles for the wave form display.</BLURB>
+<DEFAULT>draw dots (default)</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstSpaceScope::style</NAME>
+<TYPE>GstSpaceScopeStyle</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>drawing style</NICK>
+<BLURB>Drawing styles for the space scope display.</BLURB>
+<DEFAULT>draw dots (default)</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstIRTSPParse::channel-id</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,255]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>channel-id</NICK>
+<BLURB>Channel Identifier.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
index ef9c6f3..0953294 100644 (file)
 GObject
-  GstAdapter
-  GstColorBalanceChannel
-  GstObject
-    GstBus
-    GstClock
-      GstSystemClock
-        GstAudioClock
-    GstElement
-      ADPCMDec
-      ADPCMEnc
-      GstAiffMux
-      GstAiffParse
-      GstAsfMux
-      GstAsfParse
-      GstAssRender
-      GstBaseAudioVisualizer
-        GstSpaceScope
-        GstSpectraScope
-        GstSynaeScope
-        GstWaveScope
-      GstBaseParse
-        GstDiracParse
-        GstH263Parse
-        GstH264Parse
-        GstMpeg4VParse
-        GstMpegvParse
-      GstBaseRTPDepayload
-        GstRtpDTMFDepay
-        GstRtpVP8Depay
-      GstBaseRTPPayload
-        GstRtpAsfPay
-        GstRtpVP8Pay
-      GstBaseSink
-        GstBaseAudioSink
-          GstAudioSink
-            GstApExSink
-            GstNasSink
-            GstSDLAudioSink
-        GstChecksumSink
-        GstDCCPClientSink
-        GstDCCPServerSink
-        GstFBDEVSink
-        GstInterAudioSink
-        GstInterVideoSink
-        GstLinsysSdiSink
-        GstSFSink
-        GstShmSink
-        GstVideoSink
-          GstDfbVideoSink
-          GstSDLVideoSink
-      GstBaseSrc
-        GstDTMFSrc
-        GstDataURISrc
-        GstFliteTestSrc
-        GstInterAudioSrc
-        GstInterVideoSrc
-        GstLinsysSdiSrc
-        GstPushSrc
-          GstDCCPClientSrc
-          GstDCCPServerSrc
-          GstDc1394
-          GstDvbSrc
-          GstMMS
-          GstRfbSrc
-          GstShmSrc
-          GstVCDSrc
-        GstRTPDTMFSrc
-        GstSFSrc
-      GstBaseTransform
-        GstAudioFilter
-          GstBPMDetect
-          GstOFA
-          GstStereo
-        GstBayer2RGB
-        GstCogScale
-        GstCogcolorspace
-        GstCogdownsample
-        GstColorconvert
-        GstDebugSpy
-        GstDtmfDetect
-        GstHDVParse
-        GstLegacyresample
-        GstLogoinsert
-        GstMeasureCollector
-        GstPatchdetect
-        GstRGB2Bayer
-        GstScaletempo
-        GstVideoFilter
-          GaussBlur
-          GstBurn
-          GstChromaHold
-          GstChromium
-          GstColorEffects
-          GstCsp
-          GstDilate
-          GstDodge
-          GstExclusion
-          GstGeometricTransform
-            GstCircleGeometricTransform
-              GstBulge
-              GstCircle
-              GstKaleidoscope
-              GstPinch
-              GstSphere
-              GstStretch
-              GstTunnel
-              GstTwirl
-              GstWaterRipple
-            GstDiffuse
-            GstFisheye
-            GstMarble
-            GstMirror
-            GstRotate
-            GstSquare
-          GstRsvgOverlay
-          GstSolarize
-          GstVideoAnalyse
-          GstVideoDetect
-          GstVideoMark
-        GstVideoFilter2
-          GstSceneChange
-          GstZebraStripe
-        GstVideoMaxRate
-      GstBaseVideoCodec
-        GstBaseVideoDecoder
-          GstSchroDec
-        GstBaseVideoEncoder
-          GstDiracEnc
-          GstSchroEnc
-      GstBin
-        DvbBaseBin
-        GstAutoConvert
-        GstAutoVideoConvert
-        GstBaseCameraSrc
-          GstWrapperCameraBinSrc
-        GstFPSDisplaySink
-        GstFaceOverlay
-        GstPipeline
-          GstCameraBin
-          GstCameraBin2
-        GstSDPDemux
-        GstViewfinderBin
-        RsnDvdBin
-      GstBz2dec
-      GstBz2enc
-      GstCDAudio
-      GstCDXAParse
-      GstCeltDec
-      GstCeltEnc
-      GstChopMyData
-      GstCompare
-      GstDVBSubOverlay
-      GstDVDSpu
-      GstDecklinkSink
-      GstDecklinkSrc
-      GstDtsDec
-      GstFaad
-      GstFestival
-      GstFieldAnalysis
-      GstFreeze
-      GstGSMDec
-      GstGSMEnc
-      GstGmeDec
-      GstHLSDemux
-      GstId3BaseMux
-        GstId3Mux
-      GstInterlace
-      GstIvfParse
-      GstJP2kDecimator
-      GstJifMux
-      GstJpegParse
-      GstKateDec
-      GstKateEnc
-      GstKateParse
-        GstKateTag
-      GstLegacyH264Parse
-      GstLiveAdder
-      GstMSE
-      GstMXFDemux
-      GstMXFMux
-      GstMimDec
-      GstMimEnc
-      GstModPlug
-      GstMpegPSDemux
-      GstMpegTSDemux
-      GstMusepackDec
-      GstMveDemux
-      GstMveMux
-      GstNsfDec
-      GstNuvDemux
-      GstPcapParse
-      GstPitch
-      GstPnmdec
-      GstPnmenc
-      GstRTPMux
-        GstRTPDTMFMux
-      GstRawParse
-        GstAudioParse
-        GstVideoParse
-      GstRealAudioDec
-      GstRealVideoDec
-      GstRsvgDec
-      GstSSim
-      GstSdiDemux
-      GstSdiMux
-      GstSegmentClip
-        GstAudioSegmentClip
-        GstVideoSegmentClip
-      GstSignalProcessor
-        ladspa-amp-mono
-        ladspa-amp-stereo
-        ladspa-delay-5s
-        ladspa-hpf
-        ladspa-lpf
-        ladspa-noise-white
-        ladspa-sine-faaa
-        ladspa-sine-faac
-        ladspa-sine-fcaa
-        ladspa-sine-fcac
-      GstSirenDec
-      GstSirenEnc
-      GstSpeed
-      GstSrtEnc
-      GstTRM
-      GstTtaDec
-      GstTtaParse
-      GstVMncDec
-      GstVcdParse
-      GstWildmidi
-      GstY4mDec
-      MpegPsMux
-      MpegTSBase
-        GstTSDemux
-        MpegTSParse2
-      MpegTSParse
-      MpegTsMux
-      MpegVideoParse
-    GstPad
-    GstPadTemplate
-      GstSignalProcessorPadTemplate
-    GstPlugin
-    GstPluginFeature
-      GstElementFactory
-      GstIndexFactory
-      GstTypeFindFactory
-    GstRegistry
-    GstRingBuffer
-      GstAudioSinkRingBuffer
-    GstTask
-    GstTaskPool
-  GstSignalObject
-  MpegTsPatInfo
-  MpegTsPmtInfo
+  GInitiallyUnowned
+    GstObject
+      GstBus
+      GstClock
+      GstControlBinding
+      GstControlSource
+      GstElement
+        GstAssRender
+        GstAudioDecoder
+          ADPCMDec
+          GstDtsDec
+          GstFaad
+          GstGSMDec
+        GstAudioEncoder
+          ADPCMEnc
+          GstFaac
+          GstGSMEnc
+        GstBaseAudioVisualizer
+          GstSpaceScope
+          GstSpectraScope
+          GstSynaeScope
+          GstWaveScope
+        GstBaseParse
+          GstDiracParse
+          GstH263Parse
+          GstH264Parse
+          GstIRTSPParse
+          GstMpeg4VParse
+          GstMpegvParse
+        GstBaseSink
+          GstChecksumSink
+        GstBaseSrc
+          GstDTMFSrc
+          GstDataURISrc
+          GstPushSrc
+            GstMMS
+          GstRTPDTMFSrc
+        GstBaseTransform
+          GstBayer2RGB
+          GstDebugSpy
+          GstDtmfDetect
+          GstRGB2Bayer
+        GstBaseVideoCodec
+          GstBaseVideoDecoder
+            GstVP8Dec
+          GstBaseVideoEncoder
+            GstVP8Enc
+        GstBin
+          GstAutoConvert
+          GstAutoVideoConvert
+          GstBaseCameraSrc
+            GstWrapperCameraBinSrc
+          GstFPSDisplaySink
+          GstPipeline
+            GstCameraBin2
+          GstSDPDemux
+          GstViewfinderBin
+        GstChopMyData
+        GstCompare
+        GstDVBSubOverlay
+        GstDVDSpu
+        GstModPlug
+        GstMpeg2enc
+        GstMpegPSDemux
+        GstMplex
+        GstPcapParse
+        GstRTPBaseDepayload
+          GstRtpDTMFDepay
+          GstRtpVP8Depay
+        GstRTPBasePayload
+          GstRtpVP8Pay
+        GstRTPMux
+          GstRTPDTMFMux
+        GstY4mDec
+        MpegTSBase
+          GstTSDemux
+          MpegTSParse2
+      GstPad
+      GstPadTemplate
+      GstPlugin
+      GstPluginFeature
+        GstElementFactory
+        GstTypeFindFactory
+      GstRegistry
+      GstTask
+      GstTaskPool
+  GstEncodingProfile
 GInterface
   GTypePlugin
   GstChildProxy
-  GstColorBalance
-  GstImplementsInterface
-  GstMixer
-  GstNavigation
   GstPhotography
   GstPreset
   GstTagSetter
-  GstTagXmpWriter
   GstURIHandler
-  GstXOverlay
-  MXFDescriptiveMetadataFrameworkInterface
index c62655f..e39c435 100644 (file)
@@ -1,7 +1,9 @@
+ADPCMEnc GstPreset
 DvbBaseBin GstChildProxy GstURIHandler
 GstAmrWbEnc GstPreset
 GstApExSink GstImplementsInterface GstMixer
 GstAsfMux GstTagSetter
+GstAudioEncoder GstPreset
 GstAutoConvert GstChildProxy
 GstAutoVideoConvert GstChildProxy
 GstBaseCameraSrc GstChildProxy
@@ -17,6 +19,7 @@ GstDiracEnc GstPreset
 GstFPSDisplaySink GstChildProxy
 GstFaac GstPreset
 GstFaceOverlay GstChildProxy
+GstGSMEnc GstPreset
 GstGSettingsAudioSink GstChildProxy
 GstGSettingsAudioSrc GstChildProxy
 GstGSettingsSwitchSink GstChildProxy
index cfaf876..6cb71f8 100644 (file)
@@ -3,10 +3,10 @@
   <description>ADPCM decoder</description>
   <filename>../../gst/adpcmdec/.libs/libgstadpcmdec.so</filename>
   <basename>libgstadpcmdec.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -26,7 +26,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, depth=(int)16, width=(int)16, endianness=(int)1234, signed=(boolean)true, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]</details>
         </caps>
       </pads>
     </element>
index de83e4b..23e1eb0 100644 (file)
@@ -3,10 +3,10 @@
   <description>ADPCM encoder</description>
   <filename>../../gst/adpcmenc/.libs/libgstadpcmenc.so</filename>
   <basename>libgstadpcmenc.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -20,7 +20,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, depth=(int)16, width=(int)16, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]</details>
         </caps>
         <caps>
           <name>src</name>
index 4e7fff5..7efaf98 100644 (file)
@@ -3,10 +3,10 @@
   <description>ASS/SSA subtitle renderer</description>
   <filename>../../ext/assrender/.libs/libgstassrender.so</filename>
   <basename>libgstassrender.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
           <name>video_sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ RGB, BGR, xRGB, xBGR, RGBx, BGRx, I420 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ RGB, BGR, xRGB, xBGR, RGBx, BGRx, I420 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
index 8f8f2bc..bc1c8eb 100644 (file)
@@ -3,10 +3,10 @@
   <description>Creates video visualizations of audio input</description>
   <filename>../../gst/audiovisualizers/.libs/libgstaudiovisualizers.so</filename>
   <basename>libgstaudiovisualizers.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, rate=(int)[ 1, 2147483647 ], channels=(int)2, endianness=(int)1234, width=(int)16, depth=(int)16, signed=(boolean)true</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 8000, 96000 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string)BGRx, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, rate=(int)[ 1, 2147483647 ], channels=(int)2, endianness=(int)1234, width=(int)16, depth=(int)16, signed=(boolean)true</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 8000, 96000 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string)BGRx, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, rate=(int)[ 1, 2147483647 ], channels=(int)2, endianness=(int)1234, width=(int)16, depth=(int)16, signed=(boolean)true</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 8000, 96000 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string)BGRx, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, rate=(int)[ 1, 2147483647 ], channels=(int)2, endianness=(int)1234, width=(int)16, depth=(int)16, signed=(boolean)true</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 8000, 96000 ], channels=(int)2, channel-mask=(bitmask)0x0000000000000003</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string)BGRx, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
index 648b34a..39b59e0 100644 (file)
@@ -3,10 +3,10 @@
   <description>Selects convertor element based on caps</description>
   <filename>../../gst/autoconvert/.libs/libgstautoconvert.so</filename>
   <basename>libgstautoconvert.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -14,7 +14,7 @@
       <longname>Select convertor based on caps</longname>
       <class>Generic/Bin</class>
       <description>Selects the right transform element based on the caps</description>
-      <author>Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</author>
+      <author>Olivier Crete &lt;olivier.crete@collabora.com&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
index bab7e6a..c33f8e4 100644 (file)
@@ -3,17 +3,17 @@
   <description>Elements to convert Bayer images</description>
   <filename>../../gst/bayer/.libs/libgstbayer.so</filename>
   <basename>libgstbayer.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
       <name>bayer2rgb</name>
       <longname>Bayer to RGB decoder for cameras</longname>
       <class>Filter/Converter/Video</class>
-      <description>Converts video/x-raw-bayer to video/x-raw-rgb</description>
+      <description>Converts video/x-raw-bayer to video/x-raw</description>
       <author>William Brack &lt;wbrack@mmm.com.hk&gt;</author>
       <pads>
         <caps>
@@ -26,7 +26,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ RGBx, xRGB, BGRx, xBGR, RGBA, ARGB, BGRA, ABGR }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
       <name>rgb2bayer</name>
       <longname>RGB to Bayer converter</longname>
       <class>Filter/Converter/Video</class>
-      <description>Converts video/x-raw-rgb to video/x-raw-bayer</description>
+      <description>Converts video/x-raw to video/x-raw-bayer</description>
       <author>David Schleef &lt;ds@entropywave.com&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string)ARGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
index 0814d04..70956f5 100644 (file)
@@ -3,10 +3,10 @@
   <description>camerabin2</description>
   <filename>../../gst/camerabin2/.libs/libgstcamerabin2.so</filename>
   <basename>libgstcamerabin2.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -23,7 +23,7 @@
       <longname>Viewfinder Bin</longname>
       <class>Sink/Video</class>
       <description>Viewfinder Bin used in camerabin2</description>
-      <author>Thiago Santos &lt;thiago.sousa.santos@collabora.co.uk&gt;</author>
+      <author>Thiago Santos &lt;thiago.sousa.santos@collabora.com&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
     </element>
     <element>
       <name>wrappercamerabinsrc</name>
-      <longname>V4l2 camera src element for camerabin</longname>
+      <longname>Wrapper camera src element for camerabin2</longname>
       <class>Source/Video</class>
-      <description>V4l2 camera src element for camerabin</description>
-      <author>Rob Clark &lt;rob@ti.com&gt;</author>
+      <description>Wrapper camera src element for camerabin2</description>
+      <author>Thiago Santos &lt;thiago.sousa.santos@collabora.com&gt;</author>
       <pads>
         <caps>
           <name>imgsrc</name>
index 3d81142..33e9adf 100644 (file)
@@ -3,10 +3,10 @@
   <description>data: URI source</description>
   <filename>../../gst/dataurisrc/.libs/libgstdataurisrc.so</filename>
   <basename>libgstdataurisrc.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
index a9e8270..9557383 100644 (file)
@@ -3,10 +3,10 @@
   <description>Collection of elements that may or may not be useful for debugging</description>
   <filename>../../gst/debugutils/.libs/libgstdebugutilsbad.so</filename>
   <basename>libgstdebugutilsbad.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
index a4d4b34..35a8f9a 100644 (file)
@@ -3,10 +3,10 @@
   <description>DTMF plugins</description>
   <filename>../../gst/dtmf/.libs/libgstdtmf.so</filename>
   <basename>libgstdtmf.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
       <longname>DTMF detector element</longname>
       <class>Filter/Analyzer/Audio</class>
       <description>This element detects DTMF tones</description>
-      <author>Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</author>
+      <author>Olivier Crete &lt;olivier.crete@collabora.com&gt;</author>
       <pads>
         <caps>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, width=(int)16, depth=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)8000, channels=(int)1</details>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int)8000, channels=(int)1</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, width=(int)16, depth=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)8000, channels=(int)1</details>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int)8000, channels=(int)1</details>
         </caps>
       </pads>
     </element>
@@ -41,7 +41,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, width=(int)16, depth=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)[ 1, 2147483647 ], channels=(int)1</details>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int)[ 1, 2147483647 ], channels=(int)1</details>
         </caps>
       </pads>
     </element>
@@ -62,7 +62,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, width=(int)16, depth=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)[ 0, 2147483647 ], channels=(int)1</details>
+          <details>audio/x-raw, format=(string)S16LE, rate=(int)[ 1, 2147483647 ], channels=(int)1</details>
         </caps>
       </pads>
     </element>
index c79cccb..e35f33a 100644 (file)
@@ -3,10 +3,10 @@
   <description>Decodes DTS audio streams</description>
   <filename>../../ext/dts/.libs/libgstdtsdec.so</filename>
   <basename>libgstdtsdec.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -26,7 +26,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw-float, endianness=(int)1234, width=(int)32, rate=(int)[ 4000, 96000 ], channels=(int)[ 1, 6 ]</details>
+          <details>audio/x-raw, format=(string)F32LE, layout=(string)interleaved, rate=(int)[ 4000, 96000 ], channels=(int)[ 1, 6 ]</details>
         </caps>
       </pads>
     </element>
index 30a7068..2efa28e 100644 (file)
@@ -3,10 +3,10 @@
   <description>DVB subtitle renderer</description>
   <filename>../../gst/dvbsuboverlay/.libs/libgstdvbsuboverlay.so</filename>
   <basename>libgstdvbsuboverlay.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
           <name>video_sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
index 91afbda..58b3a6e 100644 (file)
@@ -3,10 +3,10 @@
   <description>DVD Sub-picture Overlay element</description>
   <filename>../../gst/dvdspu/.libs/libgstdvdspu.so</filename>
   <basename>libgstdvdspu.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
           <name>video</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc){ I420 }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details>
+          <details>video/x-raw, format=(string){ I420 }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc){ I420 }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details>
+          <details>video/x-raw, format=(string){ I420 }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]</details>
         </caps>
       </pads>
     </element>
index 22394b7..5bd59a6 100644 (file)
@@ -3,10 +3,10 @@
   <description>Free AAC Encoder (FAAC)</description>
   <filename>../../ext/faac/.libs/libgstfaac.so</filename>
   <basename>libgstfaac.so</basename>
-  <version>0.10.21.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 6 ]</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 }, channels=(int)[ 1, 6 ]</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/mpeg, mpegversion=(int){ 4, 2 }, channels=(int)[ 1, 6 ], rate=(int)[ 8000, 96000 ], stream-format=(string){ adts, raw }</details>
+          <details>audio/mpeg, mpegversion=(int)4, channels=(int)[ 1, 6 ], rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 }, stream-format=(string){ adts, raw }, base-profile=(string){ main, lc, ssr, ltp }; audio/mpeg, mpegversion=(int)2, channels=(int)[ 1, 6 ], rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 }, stream-format=(string){ adts, raw }, profile=(string){ main, lc }</details>
         </caps>
       </pads>
     </element>
index c5d91e1..6cb5626 100644 (file)
@@ -3,10 +3,10 @@
   <description>Free AAC Decoder (FAAD)</description>
   <filename>../../ext/faad/.libs/libgstfaad.so</filename>
   <basename>libgstfaad.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/mpeg, mpegversion=(int){ 2, 4 }</details>
+          <details>audio/mpeg, mpegversion=(int)2; audio/mpeg, mpegversion=(int)4, stream-format=(string){ raw, adts }</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 8 ]</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 8 ]</details>
         </caps>
       </pads>
     </element>
index 209082e..c5aa188 100644 (file)
@@ -3,10 +3,10 @@
   <description>GSM encoder/decoder</description>
   <filename>../../ext/gsm/.libs/libgstgsm.so</filename>
   <basename>libgstgsm.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -26,7 +26,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)[ 1, 2147483647 ], channels=(int)1</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)1</details>
         </caps>
       </pads>
     </element>
@@ -41,7 +41,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)8000, channels=(int)1</details>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1</details>
         </caps>
         <caps>
           <name>src</name>
index fc57de6..0e8779f 100644 (file)
@@ -3,10 +3,10 @@
   <description>Microsoft Multi Media Server streaming protocol support</description>
   <filename>../../ext/libmms/.libs/libgstmms.so</filename>
   <basename>libgstmms.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
index 637390b..ab932b1 100644 (file)
@@ -3,10 +3,10 @@
   <description>.MOD audio decoding</description>
   <filename>../../ext/modplug/.libs/libgstmodplug.so</filename>
   <basename>libgstmodplug.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -26,7 +26,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int){ 8000, 11025, 22050, 44100 }, channels=(int)[ 1, 2 ]; audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int){ 8000, 11025, 22050, 44100 }, channels=(int)[ 1, 2 ]; audio/x-raw-int, endianness=(int)1234, signed=(boolean)false, width=(int)8, depth=(int)8, rate=(int){ 8000, 11025, 22050, 44100 }, channels=(int)[ 1, 2 ]</details>
+          <details>audio/x-raw, format=(string){ S32LE, S16LE, U8 }, layout=(string)interleaved, rate=(int){ 8000, 11025, 22050, 44100 }, channels=(int)[ 1, 2 ]</details>
         </caps>
       </pads>
     </element>
index fb4f7dc..7c2b683 100644 (file)
@@ -3,10 +3,10 @@
   <description>High-quality MPEG-1/2 video encoder</description>
   <filename>../../ext/mpeg2enc/.libs/libgstmpeg2enc.so</filename>
   <basename>libgstmpeg2enc.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -21,7 +21,7 @@ Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc){ I420 }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction){ 24000/1001, 24/1, 25/1, 30000/1001, 30/1, 50/1, 60000/1001 }</details>
+          <details>video/x-raw, format=(string){ I420 }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction){ 24000/1001, 24/1, 25/1, 30000/1001, 30/1, 50/1, 60000/1001 }</details>
         </caps>
         <caps>
           <name>src</name>
index 40b0119..b97dfaf 100644 (file)
@@ -3,10 +3,10 @@
   <description>MPEG demuxers</description>
   <filename>../../gst/mpegdemux/.libs/libgstmpegdemux.so</filename>
   <basename>libgstmpegdemux.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>unknown</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -26,7 +26,7 @@
           <name>audio_%02x</name>
           <direction>source</direction>
           <presence>sometimes</presence>
-          <details>audio/mpeg, mpegversion=(int){ 1, 4 }; audio/x-private1-lpcm; audio/x-private1-ac3; audio/x-private1-dts; audio/ac3</details>
+          <details>audio/mpeg, mpegversion=(int)1; audio/mpeg, mpegversion=(int)4, stream-format=(string){ adts, loas }; audio/x-private1-lpcm; audio/x-private1-ac3; audio/x-private1-dts; audio/ac3</details>
         </caps>
         <caps>
           <name>private_%d</name>
         </caps>
       </pads>
     </element>
-    <element>
-      <name>mpegtsdemux</name>
-      <longname>The Fluendo MPEG Transport stream demuxer</longname>
-      <class>Codec/Demuxer</class>
-      <description>Demultiplexes MPEG2 Transport Streams</description>
-      <author>Wim Taymans &lt;wim@fluendo.com&gt;</author>
-      <pads>
-        <caps>
-          <name>sink</name>
-          <direction>sink</direction>
-          <presence>always</presence>
-          <details>video/mpegts</details>
-        </caps>
-        <caps>
-          <name>audio_%04x</name>
-          <direction>source</direction>
-          <presence>sometimes</presence>
-          <details>audio/mpeg, mpegversion=(int){ 1, 4 }; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ false, true }, mute=(boolean){ false, true }; audio/x-ac3; audio/x-eac3; audio/x-dts; audio/x-private-ts-lpcm</details>
-        </caps>
-        <caps>
-          <name>private_%04x</name>
-          <direction>source</direction>
-          <presence>sometimes</presence>
-          <details>ANY</details>
-        </caps>
-        <caps>
-          <name>subpicture_%04x</name>
-          <direction>source</direction>
-          <presence>sometimes</presence>
-          <details>subpicture/x-pgs; video/x-dvd-subpicture</details>
-        </caps>
-        <caps>
-          <name>video_%04x</name>
-          <direction>source</direction>
-          <presence>sometimes</presence>
-          <details>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal; video/x-dirac; video/x-wmv, wmvversion=(int)3, format=(fourcc)WVC1</details>
-        </caps>
-      </pads>
-    </element>
-    <element>
-      <name>mpegtsparse</name>
-      <longname>MPEG transport stream parser</longname>
-      <class>Codec/Parser</class>
-      <description>Parses MPEG2 transport streams</description>
-      <author>Alessandro Decina &lt;alessandro@nnva.org&gt;, Zaheer Abbas Merali &lt;zaheerabbas at merali dot org&gt;</author>
-      <pads>
-        <caps>
-          <name>sink</name>
-          <direction>sink</direction>
-          <presence>always</presence>
-          <details>video/mpegts, systemstream=(boolean)true</details>
-        </caps>
-        <caps>
-          <name>program_%d</name>
-          <direction>source</direction>
-          <presence>sometimes</presence>
-          <details>video/mpegts, systemstream=(boolean)true</details>
-        </caps>
-        <caps>
-          <name>src%d</name>
-          <direction>source</direction>
-          <presence>request</presence>
-          <details>video/mpegts, systemstream=(boolean)true</details>
-        </caps>
-      </pads>
-    </element>
   </elements>
 </plugin>
\ No newline at end of file
index f9b860c..5a92974 100644 (file)
@@ -3,10 +3,10 @@
   <description>MPEG TS demuxer</description>
   <filename>../../gst/mpegtsdemux/.libs/libgstmpegtsdemux.so</filename>
   <basename>libgstmpegtsdemux.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>unknown</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -27,7 +27,7 @@ Edward Hervey &lt;edward.hervey@collabora.co.uk&gt;</author>
           <name>audio_%04x</name>
           <direction>source</direction>
           <presence>sometimes</presence>
-          <details>audio/mpeg, mpegversion=(int){ 1, 4 }; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ false, true }, mute=(boolean){ false, true }; audio/x-ac3; audio/x-eac3; audio/x-dts; audio/x-private-ts-lpcm</details>
+          <details>audio/mpeg, mpegversion=(int)1; audio/mpeg, mpegversion=(int)4, stream-format=(string){ adts, loas }; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ false, true }, mute=(boolean){ false, true }; audio/x-ac3; audio/x-eac3; audio/x-dts; audio/x-private-ts-lpcm</details>
         </caps>
         <caps>
           <name>private_%04x</name>
@@ -45,7 +45,7 @@ Edward Hervey &lt;edward.hervey@collabora.co.uk&gt;</author>
           <name>video_%04x</name>
           <direction>source</direction>
           <presence>sometimes</presence>
-          <details>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal; video/x-dirac; video/x-wmv, wmvversion=(int)3, format=(fourcc)WVC1</details>
+          <details>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal; video/x-dirac; video/x-wmv, wmvversion=(int)3, format=(string)WVC1</details>
         </caps>
       </pads>
     </element>
@@ -63,13 +63,13 @@ Edward Hervey &lt;edward.hervey@collabora.co.uk&gt;</author>
           <details>video/mpegts, systemstream=(boolean)true</details>
         </caps>
         <caps>
-          <name>program_%d</name>
+          <name>program_%u</name>
           <direction>source</direction>
           <presence>sometimes</presence>
           <details>video/mpegts, systemstream=(boolean)true</details>
         </caps>
         <caps>
-          <name>src%d</name>
+          <name>src_%u</name>
           <direction>source</direction>
           <presence>request</presence>
           <details>video/mpegts, systemstream=(boolean)true</details>
index 1979969..89e397d 100644 (file)
@@ -3,10 +3,10 @@
   <description>High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</description>
   <filename>../../ext/mplex/.libs/libgstmplex.so</filename>
   <basename>libgstmplex.so</basename>
-  <version>0.10.21.1</version>
+  <version>0.11.1</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
       <description>High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</description>
       <author>Andrew Stevens &lt;andrew.stevens@nexgo.de&gt;
 Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;
-Mark Nauwelaerts &lt;mnauw@users.sourceforge.net</author>
+Mark Nauwelaerts &lt;mnauw@users.sourceforge.net&gt;</author>
       <pads>
         <caps>
-          <name>audio_%d</name>
+          <name>audio_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
           <details>audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], channels=(int)[ 1, 8 ], rate=(int)[ 8000, 96000 ]; audio/x-ac3, channels=(int)[ 1, 8 ], rate=(int)[ 8000, 96000 ]; audio/x-dts; audio/x-raw-int, endianness=(int)4321, signed=(boolean)true, width=(int){ 16, 20, 24 }, depth=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 6 ]</details>
         </caps>
         <caps>
-          <name>video_%d</name>
+          <name>video_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
           <details>video/mpeg, mpegversion=(int){ 1, 2 }, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
index 29d2bc3..6a9b1e0 100644 (file)
@@ -3,13 +3,34 @@
   <description>Element parsing raw pcap streams</description>
   <filename>../../gst/pcapparse/.libs/libgstpcapparse.so</filename>
   <basename>libgstpcapparse.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
   <origin>http://gstreamer.net/</origin>
   <elements>
     <element>
+      <name>irtspparse</name>
+      <longname>IRTSPParse</longname>
+      <class>Raw/Parser</class>
+      <description>Parses a raw interleaved RTSP stream</description>
+      <author>Mark Nauwelaerts &lt;mark.nauwelaerts@collabora.co.uk&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>ANY</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>application/x-rtp; application/x-rtcp</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
       <name>pcapparse</name>
       <longname>PCapParse</longname>
       <class>Raw/Parser</class>
index 5197e06..2bf73ed 100644 (file)
@@ -3,10 +3,10 @@
   <description>RTP Muxer plugins</description>
   <filename>../../gst/rtpmux/.libs/libgstrtpmux.so</filename>
   <basename>libgstrtpmux.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
       <author>Zeeshan Ali &lt;first.last@nokia.com&gt;</author>
       <pads>
         <caps>
-          <name>priority_sink_%d</name>
+          <name>priority_sink_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
           <details>application/x-rtp</details>
         </caps>
         <caps>
-          <name>sink_%d</name>
+          <name>sink_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
           <details>application/x-rtp</details>
@@ -44,7 +44,7 @@
       <author>Zeeshan Ali &lt;first.last@nokia.com&gt;</author>
       <pads>
         <caps>
-          <name>sink_%d</name>
+          <name>sink_%u</name>
           <direction>sink</direction>
           <presence>request</presence>
           <details>application/x-rtp</details>
index e86fbab..0660acf 100644 (file)
@@ -3,10 +3,10 @@
   <description>rtpvp8</description>
   <filename>../../gst/rtpvp8/.libs/libgstrtpvp8.so</filename>
   <basename>libgstrtpvp8.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -20,7 +20,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>application/x-rtp, payload=(int)[ 96, 127 ], clock-rate=(int)90000, media=(string)video, encoding-name=(string)VP8-DRAFT-0-3-2</details>
+          <details>application/x-rtp, payload=(int)[ 96, 127 ], clock-rate=(int)90000, media=(string)video, encoding-name=(string)VP8-DRAFT-IETF-01</details>
         </caps>
         <caps>
           <name>src</name>
@@ -47,7 +47,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>application/x-rtp, payload=(int)[ 96, 127 ], clock-rate=(int)90000, encoding-name=(string)VP8-DRAFT-0-3-2</details>
+          <details>application/x-rtp, payload=(int)[ 96, 127 ], clock-rate=(int)90000, encoding-name=(string)VP8-DRAFT-IETF-01</details>
         </caps>
       </pads>
     </element>
index 3cd1321..48e1748 100644 (file)
@@ -3,10 +3,10 @@
   <description>configure streaming sessions using SDP</description>
   <filename>../../gst/sdp/.libs/libgstsdpelem.so</filename>
   <basename>libgstsdpelem.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -23,7 +23,7 @@
           <details>application/sdp</details>
         </caps>
         <caps>
-          <name>stream%d</name>
+          <name>stream_%u</name>
           <direction>source</direction>
           <presence>sometimes</presence>
           <details>application/x-rtp</details>
index 930c55d..38dd297 100644 (file)
@@ -3,10 +3,10 @@
   <description>videoparsers</description>
   <filename>../../gst/videoparsers/.libs/libgstvideoparsersbad.so</filename>
   <basename>libgstvideoparsersbad.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-dirac, parsed=(boolean)false</details>
+          <details>video/x-dirac</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-dirac, parsed=(boolean)true</details>
+          <details>video/x-dirac, parsed=(boolean)true, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], pixel-aspect-ratio=(fraction)[ 0/1, 2147483647/1 ], interlaced=(boolean){ true, false }, profile=(int)[ 0, 2147483647 ], level=(int)[ 0, 2147483647 ]</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-h263, variant=(string)itu, parsed=(boolean)false</details>
+          <details>video/x-h263, variant=(string)itu</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-h263, variant=(string)itu, parsed=(boolean)true</details>
+          <details>video/x-h263, variant=(string)itu, parsed=(boolean)true, framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
     <element>
       <name>h264parse</name>
       <longname>H.264 parser</longname>
-      <class>Codec/Parser/Video</class>
+      <class>Codec/Parser/Converter/Video</class>
       <description>Parses H.264 streams</description>
       <author>Mark Nauwelaerts &lt;mark.nauwelaerts@collabora.co.uk&gt;</author>
       <pads>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-h264, parsed=(boolean)false</details>
+          <details>video/x-h264</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-h264, parsed=(boolean)true, stream-format=(string){ avc, byte-stream }, alignment=(string){ au, nal }</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>mpeg4videoparse</name>
+      <longname>MPEG 4 video elementary stream parser</longname>
+      <class>Codec/Parser/Video</class>
+      <description>Parses MPEG-4 Part 2 elementary video streams</description>
+      <author>Julien Moutte &lt;julien@fluendo.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/mpeg, mpegversion=(int)4, systemstream=(boolean)false</details>
         </caps>
         <caps>
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-h264, parsed=(boolean)true</details>
+          <details>video/mpeg, mpegversion=(int)4, parsed=(boolean)true, systemstream=(boolean)false</details>
         </caps>
       </pads>
     </element>
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/mpeg, mpegversion=(int)[ 1, 2 ], parsed=(boolean)false, systemstream=(boolean)false</details>
+          <details>video/mpeg, mpegversion=(int)[ 1, 2 ], systemstream=(boolean)false</details>
         </caps>
         <caps>
           <name>src</name>
index 30b7062..1f79de1 100644 (file)
@@ -3,10 +3,10 @@
   <description>VP8 plugin</description>
   <filename>../../ext/vp8/.libs/libgstvp8.so</filename>
   <basename>libgstvp8.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
-  <package>GStreamer Bad Plug-ins git</package>
+  <package>GStreamer Bad Plug-ins source release</package>
   <origin>Unknown package origin</origin>
   <elements>
     <element>
@@ -26,7 +26,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
@@ -41,7 +41,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
         <caps>
           <name>src</name>
index b45e2b2..2207937 100644 (file)
@@ -3,7 +3,7 @@
   <description>Demuxes/decodes YUV4MPEG streams</description>
   <filename>../../gst/y4m/.libs/libgsty4mdec.so</filename>
   <basename>libgsty4mdec.so</basename>
-  <version>0.10.22.1</version>
+  <version>0.11.1</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
@@ -26,7 +26,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw-yuv, format=(fourcc){ I420, Y42B, Y444 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+          <details>video/x-raw, format=(string){ I420, Y42B, Y444 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
         </caps>
       </pads>
     </element>
index e752c55..6ee3039 100644 (file)
@@ -4,6 +4,9 @@
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
+#ifndef DISABLE_ORC
+#include <orc/orc.h>
+#endif
 #include <glib.h>
 
 #ifndef _ORC_INTEGER_TYPEDEFS_
@@ -29,7 +32,6 @@ typedef unsigned __int16 orc_uint16;
 typedef unsigned __int32 orc_uint32;
 typedef unsigned __int64 orc_uint64;
 #define ORC_UINT64_C(x) (x##Ui64)
-#define inline __inline
 #else
 #include <limits.h>
 typedef signed char orc_int8;
@@ -69,232 +71,165 @@ typedef union
   orc_int16 x4[4];
 } orc_union64;
 #endif
-#ifndef ORC_RESTRICT
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#define ORC_RESTRICT restrict
-#elif defined(__GNUC__) && __GNUC__ >= 4
-#define ORC_RESTRICT __restrict__
-#else
-#define ORC_RESTRICT
-#endif
-#endif
 
-#ifndef DISABLE_ORC
-#include <orc/orc.h>
-#endif
-void cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, int n);
-void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2,
-    int n);
-void cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2,
-    int n);
-void cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    int n);
-void cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, int n);
-void cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    int n);
-void cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int n);
-void cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
+void cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1,
+    int s1_stride, int n, int m);
+void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1,
     int n);
-void cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
+void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1,
+    const orc_uint16 * s2, int n);
+void cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1,
+    const orc_uint16 * s2, int n);
+void cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int n);
+void cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, int n);
+void cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n);
+void cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1,
     int n);
-void orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, int n);
-void orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n);
-void orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n);
-void orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, int n);
-void orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, int n);
-void orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n);
-void orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n);
-void orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, int n);
-void orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1,
-    const gint16 * ORC_RESTRICT s1, int n);
-void orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int n);
-void orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n);
-void orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n);
-void orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n);
-void orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1,
+void cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int n);
+void cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int n);
+void orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n);
+void orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int n);
+void orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n);
+void orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int n);
+void orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n);
+void orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n);
+void orc_splat_u8_ns (orc_uint8 * d1, int p1, int n);
+void orc_splat_s16_ns (gint16 * d1, int p1, int n);
+void orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
+    int p2, int p3, int n);
+void orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    int p1, int p2, int n);
+void orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    int p1, int p2, int n);
+void orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int p4, int n);
+void orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int n);
+void orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1,
+    const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4,
+    int p5, int n);
+void orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n);
+void orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int p1, int n);
+void orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int p1, int n);
+void cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int p1, int p2, int n);
+void cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int p1,
+    int p2, int p3, int p4, int n);
+void cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1,
     int p2, int n);
-void orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1,
+void cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1,
     int p2, int n);
-void orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int p4, int n);
-void orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int n);
-void orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
-    int n);
-void orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
-    int n);
-void orc_pack_123x (guint32 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, int p1, int n);
-void orc_pack_x123 (guint32 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, int p1, int n);
-void cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    int p1, int p2, int n);
-void cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    int p1, int p2, int p3, int p4, int n);
-void cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n);
-void cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n);
-void cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n);
-void cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n);
-void cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n);
-void cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n);
-void cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1,
-    orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1,
-    const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    const orc_uint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1,
-    orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1,
-    const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    const orc_uint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1,
-    orc_uint32 * ORC_RESTRICT d2, const orc_uint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    const orc_uint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1,
-    orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3,
-    orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1,
-    const orc_uint32 * ORC_RESTRICT s2, int n);
-void cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint16 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m);
-void cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m);
-void cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m);
-void cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m);
-void cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1,
-    orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3,
-    orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1,
-    const orc_uint32 * ORC_RESTRICT s2, int n);
-void cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, orc_uint8 * ORC_RESTRICT d4, int d4_stride,
-    const orc_uint64 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint64 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n,
+void cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2,
+    const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3,
+    const orc_uint8 * s4, int n);
+void cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2,
+    const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3,
+    const orc_uint8 * s4, int n);
+void cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2,
+    const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3,
+    const orc_uint8 * s4, int n);
+void cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3,
+    orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n);
+void cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride,
+    const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride,
+    orc_uint8 * d2, int d2_stride, const orc_uint8 * s1, int s1_stride, int n,
     int m);
-void cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
+void cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride,
+    orc_uint16 * d2, int d2_stride, const orc_uint8 * s1, int s1_stride, int n,
     int m);
-void cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint16 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint16 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, int n);
-void cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    const orc_uint8 * ORC_RESTRICT s5, int n);
+void cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride,
+    const orc_uint8 * s1, int s1_stride, int n, int m);
+void cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, int n, int m);
+void cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride,
+    int n, int m);
+void cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride,
+    const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride,
+    int n, int m);
+void cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride,
+    const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride,
+    const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m);
+void cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m);
+void cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m);
+void cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m);
+void cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3,
+    orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n);
+void cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, orc_uint8 * d4, int d4_stride,
+    const orc_uint64 * s1, int s1_stride, const orc_uint64 * s2, int s2_stride,
+    int n, int m);
+void cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride,
+    const orc_uint64 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride,
+    const orc_uint64 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint64 * s1,
+    int s1_stride, int n, int m);
+void cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m);
+void cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride,
+    const orc_uint8 * s3, int s3_stride, int n, int m);
+void cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride,
+    const orc_uint8 * s3, int s3_stride, int n, int m);
+void cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride,
+    const orc_uint8 * s3, int s3_stride, int n, int m);
+void cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride,
+    const orc_uint16 * s3, int s3_stride, int n, int m);
+void cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride,
+    const orc_uint16 * s3, int s3_stride, int n, int m);
+void cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride,
+    const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride,
+    const orc_uint8 * s3, int s3_stride, int n, int m);
+void cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride,
+    const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride,
+    const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride,
+    const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride,
+    const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, int n);
+void cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4,
+    const orc_uint8 * s5, int n);
 
 
 /* begin Orc C target preamble */
@@ -328,7 +263,6 @@ void cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
 #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
 #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
 #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
-#ifndef ORC_RESTRICT
 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 #define ORC_RESTRICT restrict
 #elif defined(__GNUC__) && __GNUC__ >= 4
@@ -336,7 +270,6 @@ void cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
 #else
 #define ORC_RESTRICT
 #endif
-#endif
 /* end Orc C target preamble */
 
 
@@ -344,8 +277,8 @@ void cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
 /* cogorc_memcpy_2d */
 #ifdef DISABLE_ORC
 void
-cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -373,7 +306,7 @@ cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_memcpy_2d (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_memcpy_2d (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -402,8 +335,8 @@ _backup_cogorc_memcpy_2d (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -413,6 +346,7 @@ cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -424,7 +358,7 @@ cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -447,8 +381,8 @@ cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_downsample_horiz_cosite_1tap */
 #ifdef DISABLE_ORC
 void
-cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, int n)
+cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1,
+    int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -464,11 +398,7 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadw */
     var32 = ptr4[i];
     /* 1: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[0];
-    }
+    var33 = (orc_uint16) var32.i & 0xff;
     /* 2: storeb */
     ptr0[i] = var33;
   }
@@ -477,7 +407,7 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_downsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_downsample_horiz_cosite_1tap (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -494,11 +424,7 @@ _backup_cogorc_downsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadw */
     var32 = ptr4[i];
     /* 1: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[0];
-    }
+    var33 = (orc_uint16) var32.i & 0xff;
     /* 2: storeb */
     ptr0[i] = var33;
   }
@@ -506,8 +432,8 @@ _backup_cogorc_downsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, int n)
+cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1,
+    int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -517,6 +443,7 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_downsample_horiz_cosite_1tap");
@@ -528,7 +455,7 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_S1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -548,9 +475,8 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_downsample_horiz_cosite_3tap */
 #ifdef DISABLE_ORC
 void
-cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2,
-    int n)
+cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1,
+    const orc_uint16 * s2, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -579,9 +505,9 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
   ptr5 = (orc_union16 *) s2;
 
   /* 9: loadpw */
-  var40.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
+  var40.i = 0x00000002;         /* 2 or 9.88131e-324f */
   /* 13: loadpw */
-  var41.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
+  var41.i = 0x00000002;         /* 2 or 9.88131e-324f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -589,25 +515,13 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
     /* 1: copyw */
     var43.i = var38.i;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var44 = _src.x2[0];
-    }
+    var44 = (orc_uint16) var43.i & 0xff;
     /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var45 = _src.x2[1];
-    }
+    var45 = ((orc_uint16) var43.i >> 8) & 0xff;
     /* 4: loadw */
     var39 = ptr5[i];
     /* 5: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var39.i;
-      var46 = _src.x2[0];
-    }
+    var46 = (orc_uint16) var39.i & 0xff;
     /* 6: convubw */
     var47.i = (orc_uint8) var44;
     /* 7: convubw */
@@ -634,7 +548,7 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -664,9 +578,9 @@ _backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
   ptr5 = (orc_union16 *) ex->arrays[5];
 
   /* 9: loadpw */
-  var40.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
+  var40.i = 0x00000002;         /* 2 or 9.88131e-324f */
   /* 13: loadpw */
-  var41.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
+  var41.i = 0x00000002;         /* 2 or 9.88131e-324f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -674,25 +588,13 @@ _backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
     /* 1: copyw */
     var43.i = var38.i;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var44 = _src.x2[0];
-    }
+    var44 = (orc_uint16) var43.i & 0xff;
     /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var45 = _src.x2[1];
-    }
+    var45 = ((orc_uint16) var43.i >> 8) & 0xff;
     /* 4: loadw */
     var39 = ptr5[i];
     /* 5: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var39.i;
-      var46 = _src.x2[0];
-    }
+    var46 = (orc_uint16) var39.i & 0xff;
     /* 6: convubw */
     var47.i = (orc_uint8) var44;
     /* 7: convubw */
@@ -718,9 +620,8 @@ _backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2,
-    int n)
+cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1,
+    const orc_uint16 * s2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -730,6 +631,7 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_downsample_horiz_cosite_3tap");
@@ -773,7 +675,7 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T4,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -794,9 +696,8 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_downsample_420_jpeg */
 #ifdef DISABLE_ORC
 void
-cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2,
-    int n)
+cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1,
+    const orc_uint16 * s2, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -825,17 +726,9 @@ cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1,
     /* 1: copyw */
     var40.i = var37.i;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.i;
-      var41 = _src.x2[0];
-    }
+    var41 = (orc_uint16) var40.i & 0xff;
     /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.i;
-      var42 = _src.x2[1];
-    }
+    var42 = ((orc_uint16) var40.i >> 8) & 0xff;
     /* 4: avgub */
     var43 = ((orc_uint8) var41 + (orc_uint8) var42 + 1) >> 1;
     /* 5: loadw */
@@ -843,17 +736,9 @@ cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1,
     /* 6: copyw */
     var44.i = var38.i;
     /* 7: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var45 = _src.x2[0];
-    }
+    var45 = (orc_uint16) var44.i & 0xff;
     /* 8: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var46 = _src.x2[1];
-    }
+    var46 = ((orc_uint16) var44.i >> 8) & 0xff;
     /* 9: avgub */
     var47 = ((orc_uint8) var45 + (orc_uint8) var46 + 1) >> 1;
     /* 10: avgub */
@@ -866,7 +751,7 @@ cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_downsample_420_jpeg (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_downsample_420_jpeg (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -896,17 +781,9 @@ _backup_cogorc_downsample_420_jpeg (OrcExecutor * ORC_RESTRICT ex)
     /* 1: copyw */
     var40.i = var37.i;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.i;
-      var41 = _src.x2[0];
-    }
+    var41 = (orc_uint16) var40.i & 0xff;
     /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.i;
-      var42 = _src.x2[1];
-    }
+    var42 = ((orc_uint16) var40.i >> 8) & 0xff;
     /* 4: avgub */
     var43 = ((orc_uint8) var41 + (orc_uint8) var42 + 1) >> 1;
     /* 5: loadw */
@@ -914,17 +791,9 @@ _backup_cogorc_downsample_420_jpeg (OrcExecutor * ORC_RESTRICT ex)
     /* 6: copyw */
     var44.i = var38.i;
     /* 7: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var45 = _src.x2[0];
-    }
+    var45 = (orc_uint16) var44.i & 0xff;
     /* 8: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var46 = _src.x2[1];
-    }
+    var46 = ((orc_uint16) var44.i >> 8) & 0xff;
     /* 9: avgub */
     var47 = ((orc_uint8) var45 + (orc_uint8) var46 + 1) >> 1;
     /* 10: avgub */
@@ -936,9 +805,8 @@ _backup_cogorc_downsample_420_jpeg (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2,
-    int n)
+cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1,
+    const orc_uint16 * s2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -948,6 +816,7 @@ cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_downsample_420_jpeg");
@@ -980,7 +849,7 @@ cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T4,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -1001,8 +870,8 @@ cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_downsample_vert_halfsite_2tap */
 #ifdef DISABLE_ORC
 void
-cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n)
+cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -1032,7 +901,7 @@ cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_downsample_vert_halfsite_2tap (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_downsample_vert_halfsite_2tap (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -1062,8 +931,8 @@ _backup_cogorc_downsample_vert_halfsite_2tap (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n)
+cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -1073,6 +942,7 @@ cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_downsample_vert_halfsite_2tap");
@@ -1085,7 +955,7 @@ cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -1106,9 +976,8 @@ cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_downsample_vert_cosite_3tap */
 #ifdef DISABLE_ORC
 void
-cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, int n)
+cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -1136,9 +1005,9 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
   ptr6 = (orc_int8 *) s3;
 
   /* 6: loadpw */
-  var38.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
+  var38.i = 0x00000002;         /* 2 or 9.88131e-324f */
   /* 10: loadpw */
-  var39.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
+  var39.i = 0x00000002;         /* 2 or 9.88131e-324f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -1173,7 +1042,7 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -1202,9 +1071,9 @@ _backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   /* 6: loadpw */
-  var38.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
+  var38.i = 0x00000002;         /* 2 or 9.88131e-324f */
   /* 10: loadpw */
-  var39.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
+  var39.i = 0x00000002;         /* 2 or 9.88131e-324f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -1238,9 +1107,8 @@ _backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, int n)
+cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -1250,6 +1118,7 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_downsample_vert_cosite_3tap");
@@ -1283,7 +1152,7 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -1305,9 +1174,8 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_downsample_vert_halfsite_4tap */
 #ifdef DISABLE_ORC
 void
-cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n)
+cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -1342,11 +1210,11 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1,
   ptr7 = (orc_int8 *) s4;
 
   /* 9: loadpw */
-  var40.i = (int) 0x0000001a;   /* 26 or 1.28457e-322f */
+  var40.i = 0x0000001a;         /* 26 or 1.28457e-322f */
   /* 12: loadpw */
-  var41.i = (int) 0x00000006;   /* 6 or 2.96439e-323f */
+  var41.i = 0x00000006;         /* 6 or 2.96439e-323f */
   /* 15: loadpw */
-  var42.i = (int) 0x00000020;   /* 32 or 1.58101e-322f */
+  var42.i = 0x00000020;         /* 32 or 1.58101e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -1389,7 +1257,7 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -1425,11 +1293,11 @@ _backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ORC_RESTRICT ex)
   ptr7 = (orc_int8 *) ex->arrays[7];
 
   /* 9: loadpw */
-  var40.i = (int) 0x0000001a;   /* 26 or 1.28457e-322f */
+  var40.i = 0x0000001a;         /* 26 or 1.28457e-322f */
   /* 12: loadpw */
-  var41.i = (int) 0x00000006;   /* 6 or 2.96439e-323f */
+  var41.i = 0x00000006;         /* 6 or 2.96439e-323f */
   /* 15: loadpw */
-  var42.i = (int) 0x00000020;   /* 32 or 1.58101e-322f */
+  var42.i = 0x00000020;         /* 32 or 1.58101e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -1471,9 +1339,8 @@ _backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n)
+cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -1483,6 +1350,7 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_downsample_vert_halfsite_4tap");
@@ -1526,7 +1394,7 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T2,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -1549,8 +1417,7 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_upsample_horiz_cosite_1tap */
 #ifdef DISABLE_ORC
 void
-cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int n)
+cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n)
 {
   int i;
   orc_union16 *ORC_RESTRICT ptr0;
@@ -1569,12 +1436,7 @@ cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
     /* 1: copyb */
     var35 = var33;
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35;
-      _dest.x2[1] = var35;
-      var34.i = _dest.i;
-    }
+    var34.i = ((orc_uint8) var35 & 0x00ff) | ((orc_uint8) var35 << 8);
     /* 3: storew */
     ptr0[i] = var34;
   }
@@ -1583,7 +1445,7 @@ cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_upsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_upsample_horiz_cosite_1tap (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -1603,12 +1465,7 @@ _backup_cogorc_upsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex)
     /* 1: copyb */
     var35 = var33;
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35;
-      _dest.x2[1] = var35;
-      var34.i = _dest.i;
-    }
+    var34.i = ((orc_uint8) var35 & 0x00ff) | ((orc_uint8) var35 << 8);
     /* 3: storew */
     ptr0[i] = var34;
   }
@@ -1616,8 +1473,7 @@ _backup_cogorc_upsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int n)
+cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -1627,6 +1483,7 @@ cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_upsample_horiz_cosite_1tap");
@@ -1641,7 +1498,7 @@ cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "mergebw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -1661,8 +1518,8 @@ cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
 /* cogorc_upsample_horiz_cosite */
 #ifdef DISABLE_ORC
 void
-cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n)
+cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int n)
 {
   int i;
   orc_union16 *ORC_RESTRICT ptr0;
@@ -1689,12 +1546,7 @@ cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
     /* 3: avgub */
     var38 = ((orc_uint8) var37 + (orc_uint8) var35 + 1) >> 1;
     /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37;
-      _dest.x2[1] = var38;
-      var36.i = _dest.i;
-    }
+    var36.i = ((orc_uint8) var37 & 0x00ff) | ((orc_uint8) var38 << 8);
     /* 5: storew */
     ptr0[i] = var36;
   }
@@ -1703,7 +1555,7 @@ cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_upsample_horiz_cosite (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_upsample_horiz_cosite (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -1731,12 +1583,7 @@ _backup_cogorc_upsample_horiz_cosite (OrcExecutor * ORC_RESTRICT ex)
     /* 3: avgub */
     var38 = ((orc_uint8) var37 + (orc_uint8) var35 + 1) >> 1;
     /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37;
-      _dest.x2[1] = var38;
-      var36.i = _dest.i;
-    }
+    var36.i = ((orc_uint8) var37 & 0x00ff) | ((orc_uint8) var38 << 8);
     /* 5: storew */
     ptr0[i] = var36;
   }
@@ -1744,8 +1591,8 @@ _backup_cogorc_upsample_horiz_cosite (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n)
+cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -1755,6 +1602,7 @@ cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_upsample_horiz_cosite");
@@ -1772,7 +1620,7 @@ cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "mergebw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -1793,8 +1641,8 @@ cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
 /* cogorc_upsample_vert_avgub */
 #ifdef DISABLE_ORC
 void
-cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n)
+cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -1824,7 +1672,7 @@ cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_upsample_vert_avgub (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_upsample_vert_avgub (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -1854,8 +1702,8 @@ _backup_cogorc_upsample_vert_avgub (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n)
+cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -1865,6 +1713,7 @@ cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_upsample_vert_avgub");
@@ -1876,7 +1725,7 @@ cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -1897,8 +1746,7 @@ cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1,
 /* orc_unpack_yuyv_y */
 #ifdef DISABLE_ORC
 void
-orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, int n)
+orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -1914,11 +1762,7 @@ orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadw */
     var32 = ptr4[i];
     /* 1: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[0];
-    }
+    var33 = (orc_uint16) var32.i & 0xff;
     /* 2: storeb */
     ptr0[i] = var33;
   }
@@ -1927,7 +1771,7 @@ orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_orc_unpack_yuyv_y (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_unpack_yuyv_y (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -1944,11 +1788,7 @@ _backup_orc_unpack_yuyv_y (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadw */
     var32 = ptr4[i];
     /* 1: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[0];
-    }
+    var33 = (orc_uint16) var32.i & 0xff;
     /* 2: storeb */
     ptr0[i] = var33;
   }
@@ -1956,8 +1796,7 @@ _backup_orc_unpack_yuyv_y (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, int n)
+orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -1967,6 +1806,7 @@ orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_unpack_yuyv_y");
@@ -1977,7 +1817,7 @@ orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_S1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -1997,8 +1837,7 @@ orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1,
 /* orc_unpack_yuyv_u */
 #ifdef DISABLE_ORC
 void
-orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -2015,17 +1854,9 @@ orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
+    var35.i = (orc_uint32) var33.i & 0xffff;
     /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
+    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -2034,7 +1865,7 @@ orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_orc_unpack_yuyv_u (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_unpack_yuyv_u (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -2052,17 +1883,9 @@ _backup_orc_unpack_yuyv_u (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
+    var35.i = (orc_uint32) var33.i & 0xffff;
     /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
+    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -2070,8 +1893,7 @@ _backup_orc_unpack_yuyv_u (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -2081,6 +1903,7 @@ orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_unpack_yuyv_u");
@@ -2094,7 +1917,7 @@ orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -2114,8 +1937,7 @@ orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1,
 /* orc_unpack_yuyv_v */
 #ifdef DISABLE_ORC
 void
-orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -2132,17 +1954,9 @@ orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
+    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
     /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
+    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -2151,7 +1965,7 @@ orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_orc_unpack_yuyv_v (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_unpack_yuyv_v (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -2169,17 +1983,9 @@ _backup_orc_unpack_yuyv_v (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
+    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
     /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
+    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -2187,8 +1993,7 @@ _backup_orc_unpack_yuyv_v (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -2198,6 +2003,7 @@ orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_unpack_yuyv_v");
@@ -2211,7 +2017,7 @@ orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -2231,8 +2037,8 @@ orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1,
 /* orc_pack_yuyv */
 #ifdef DISABLE_ORC
 void
-orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n)
+orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int n)
 {
   int i;
   orc_union32 *ORC_RESTRICT ptr0;
@@ -2261,42 +2067,20 @@ orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
     /* 1: copyw */
     var41.i = var37.i;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var42 = _src.x2[0];
-    }
+    var42 = (orc_uint16) var41.i & 0xff;
     /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var43 = _src.x2[1];
-    }
+    var43 = ((orc_uint16) var41.i >> 8) & 0xff;
     /* 4: loadb */
     var38 = ptr5[i];
     /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var42;
-      _dest.x2[1] = var38;
-      var44.i = _dest.i;
-    }
+    var44.i = ((orc_uint8) var42 & 0x00ff) | ((orc_uint8) var38 << 8);
     /* 6: loadb */
     var39 = ptr6[i];
     /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var43;
-      _dest.x2[1] = var39;
-      var45.i = _dest.i;
-    }
+    var45.i = ((orc_uint8) var43 & 0x00ff) | ((orc_uint8) var39 << 8);
     /* 8: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.i;
-      _dest.x2[1] = var45.i;
-      var40.i = _dest.i;
-    }
+    var40.i =
+        ((orc_uint16) var44.i & 0x0000ffff) | ((orc_uint16) var45.i << 16);
     /* 9: storel */
     ptr0[i] = var40;
   }
@@ -2305,7 +2089,7 @@ orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 
 #else
 static void
-_backup_orc_pack_yuyv (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_pack_yuyv (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -2335,42 +2119,20 @@ _backup_orc_pack_yuyv (OrcExecutor * ORC_RESTRICT ex)
     /* 1: copyw */
     var41.i = var37.i;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var42 = _src.x2[0];
-    }
+    var42 = (orc_uint16) var41.i & 0xff;
     /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var43 = _src.x2[1];
-    }
+    var43 = ((orc_uint16) var41.i >> 8) & 0xff;
     /* 4: loadb */
     var38 = ptr5[i];
     /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var42;
-      _dest.x2[1] = var38;
-      var44.i = _dest.i;
-    }
+    var44.i = ((orc_uint8) var42 & 0x00ff) | ((orc_uint8) var38 << 8);
     /* 6: loadb */
     var39 = ptr6[i];
     /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var43;
-      _dest.x2[1] = var39;
-      var45.i = _dest.i;
-    }
+    var45.i = ((orc_uint8) var43 & 0x00ff) | ((orc_uint8) var39 << 8);
     /* 8: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.i;
-      _dest.x2[1] = var45.i;
-      var40.i = _dest.i;
-    }
+    var40.i =
+        ((orc_uint16) var44.i & 0x0000ffff) | ((orc_uint16) var45.i << 16);
     /* 9: storel */
     ptr0[i] = var40;
   }
@@ -2378,8 +2140,8 @@ _backup_orc_pack_yuyv (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n)
+orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -2389,6 +2151,7 @@ orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_pack_yuyv");
@@ -2416,7 +2179,7 @@ orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
       orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -2438,8 +2201,7 @@ orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 /* orc_unpack_uyvy_y */
 #ifdef DISABLE_ORC
 void
-orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, int n)
+orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -2455,11 +2217,7 @@ orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadw */
     var32 = ptr4[i];
     /* 1: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[1];
-    }
+    var33 = ((orc_uint16) var32.i >> 8) & 0xff;
     /* 2: storeb */
     ptr0[i] = var33;
   }
@@ -2468,7 +2226,7 @@ orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_orc_unpack_uyvy_y (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_unpack_uyvy_y (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -2485,11 +2243,7 @@ _backup_orc_unpack_uyvy_y (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadw */
     var32 = ptr4[i];
     /* 1: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[1];
-    }
+    var33 = ((orc_uint16) var32.i >> 8) & 0xff;
     /* 2: storeb */
     ptr0[i] = var33;
   }
@@ -2497,8 +2251,7 @@ _backup_orc_unpack_uyvy_y (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint16 * ORC_RESTRICT s1, int n)
+orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -2508,6 +2261,7 @@ orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_unpack_uyvy_y");
@@ -2518,7 +2272,7 @@ orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_S1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -2538,8 +2292,7 @@ orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1,
 /* orc_unpack_uyvy_u */
 #ifdef DISABLE_ORC
 void
-orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -2556,17 +2309,9 @@ orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
+    var35.i = (orc_uint32) var33.i & 0xffff;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
+    var34 = (orc_uint16) var35.i & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -2575,7 +2320,7 @@ orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_orc_unpack_uyvy_u (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_unpack_uyvy_u (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -2593,17 +2338,9 @@ _backup_orc_unpack_uyvy_u (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
+    var35.i = (orc_uint32) var33.i & 0xffff;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
+    var34 = (orc_uint16) var35.i & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -2611,8 +2348,7 @@ _backup_orc_unpack_uyvy_u (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -2622,6 +2358,7 @@ orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_unpack_uyvy_u");
@@ -2635,7 +2372,7 @@ orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -2655,8 +2392,7 @@ orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1,
 /* orc_unpack_uyvy_v */
 #ifdef DISABLE_ORC
 void
-orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -2673,17 +2409,9 @@ orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
+    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
+    var34 = (orc_uint16) var35.i & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -2692,7 +2420,7 @@ orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_orc_unpack_uyvy_v (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_unpack_uyvy_v (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -2710,17 +2438,9 @@ _backup_orc_unpack_uyvy_v (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
+    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
+    var34 = (orc_uint16) var35.i & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -2728,8 +2448,7 @@ _backup_orc_unpack_uyvy_v (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -2739,6 +2458,7 @@ orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_unpack_uyvy_v");
@@ -2752,7 +2472,7 @@ orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -2772,8 +2492,8 @@ orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1,
 /* orc_pack_uyvy */
 #ifdef DISABLE_ORC
 void
-orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n)
+orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int n)
 {
   int i;
   orc_union32 *ORC_RESTRICT ptr0;
@@ -2802,42 +2522,20 @@ orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
     /* 1: copyw */
     var41.i = var37.i;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var42 = _src.x2[0];
-    }
+    var42 = (orc_uint16) var41.i & 0xff;
     /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var43 = _src.x2[1];
-    }
+    var43 = ((orc_uint16) var41.i >> 8) & 0xff;
     /* 4: loadb */
     var38 = ptr5[i];
     /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var38;
-      _dest.x2[1] = var42;
-      var44.i = _dest.i;
-    }
+    var44.i = ((orc_uint8) var38 & 0x00ff) | ((orc_uint8) var42 << 8);
     /* 6: loadb */
     var39 = ptr6[i];
     /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var43;
-      var45.i = _dest.i;
-    }
+    var45.i = ((orc_uint8) var39 & 0x00ff) | ((orc_uint8) var43 << 8);
     /* 8: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.i;
-      _dest.x2[1] = var45.i;
-      var40.i = _dest.i;
-    }
+    var40.i =
+        ((orc_uint16) var44.i & 0x0000ffff) | ((orc_uint16) var45.i << 16);
     /* 9: storel */
     ptr0[i] = var40;
   }
@@ -2846,7 +2544,7 @@ orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 
 #else
 static void
-_backup_orc_pack_uyvy (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_pack_uyvy (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -2876,42 +2574,20 @@ _backup_orc_pack_uyvy (OrcExecutor * ORC_RESTRICT ex)
     /* 1: copyw */
     var41.i = var37.i;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var42 = _src.x2[0];
-    }
+    var42 = (orc_uint16) var41.i & 0xff;
     /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var43 = _src.x2[1];
-    }
+    var43 = ((orc_uint16) var41.i >> 8) & 0xff;
     /* 4: loadb */
     var38 = ptr5[i];
     /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var38;
-      _dest.x2[1] = var42;
-      var44.i = _dest.i;
-    }
+    var44.i = ((orc_uint8) var38 & 0x00ff) | ((orc_uint8) var42 << 8);
     /* 6: loadb */
     var39 = ptr6[i];
     /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var43;
-      var45.i = _dest.i;
-    }
+    var45.i = ((orc_uint8) var39 & 0x00ff) | ((orc_uint8) var43 << 8);
     /* 8: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.i;
-      _dest.x2[1] = var45.i;
-      var40.i = _dest.i;
-    }
+    var40.i =
+        ((orc_uint16) var44.i & 0x0000ffff) | ((orc_uint16) var45.i << 16);
     /* 9: storel */
     ptr0[i] = var40;
   }
@@ -2919,8 +2595,8 @@ _backup_orc_pack_uyvy (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n)
+orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -2930,6 +2606,7 @@ orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_pack_uyvy");
@@ -2957,7 +2634,7 @@ orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
       orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -2979,8 +2656,7 @@ orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 /* orc_addc_convert_u8_s16 */
 #ifdef DISABLE_ORC
 void
-orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1,
-    const gint16 * ORC_RESTRICT s1, int n)
+orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -2994,7 +2670,7 @@ orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1,
   ptr4 = (orc_union16 *) s1;
 
   /* 1: loadpw */
-  var34.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var34.i = 0x00000080;         /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -3011,7 +2687,7 @@ orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_orc_addc_convert_u8_s16 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_addc_convert_u8_s16 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -3026,7 +2702,7 @@ _backup_orc_addc_convert_u8_s16 (OrcExecutor * ORC_RESTRICT ex)
   ptr4 = (orc_union16 *) ex->arrays[4];
 
   /* 1: loadpw */
-  var34.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var34.i = 0x00000080;         /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadw */
@@ -3042,8 +2718,7 @@ _backup_orc_addc_convert_u8_s16 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1,
-    const gint16 * ORC_RESTRICT s1, int n)
+orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -3053,6 +2728,7 @@ orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_addc_convert_u8_s16");
@@ -3067,7 +2743,7 @@ orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -3087,8 +2763,7 @@ orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1,
 /* orc_subc_convert_s16_u8 */
 #ifdef DISABLE_ORC
 void
-orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int n)
+orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n)
 {
   int i;
   orc_union16 *ORC_RESTRICT ptr0;
@@ -3102,7 +2777,7 @@ orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1,
   ptr4 = (orc_int8 *) s1;
 
   /* 2: loadpw */
-  var34.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var34.i = 0x00000080;         /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -3119,7 +2794,7 @@ orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_orc_subc_convert_s16_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_subc_convert_s16_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -3134,7 +2809,7 @@ _backup_orc_subc_convert_s16_u8 (OrcExecutor * ORC_RESTRICT ex)
   ptr4 = (orc_int8 *) ex->arrays[4];
 
   /* 2: loadpw */
-  var34.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var34.i = 0x00000080;         /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -3150,8 +2825,7 @@ _backup_orc_subc_convert_s16_u8 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int n)
+orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -3161,6 +2835,7 @@ orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_subc_convert_s16_u8");
@@ -3175,7 +2850,7 @@ orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "subw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -3195,7 +2870,7 @@ orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1,
 /* orc_splat_u8_ns */
 #ifdef DISABLE_ORC
 void
-orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n)
+orc_splat_u8_ns (orc_uint8 * d1, int p1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -3218,7 +2893,7 @@ orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n)
 
 #else
 static void
-_backup_orc_splat_u8_ns (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_splat_u8_ns (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -3241,7 +2916,7 @@ _backup_orc_splat_u8_ns (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n)
+orc_splat_u8_ns (orc_uint8 * d1, int p1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -3251,6 +2926,7 @@ orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n)
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_splat_u8_ns");
@@ -3261,7 +2937,7 @@ orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n)
       orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -3281,7 +2957,7 @@ orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n)
 /* orc_splat_s16_ns */
 #ifdef DISABLE_ORC
 void
-orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n)
+orc_splat_s16_ns (gint16 * d1, int p1, int n)
 {
   int i;
   orc_union16 *ORC_RESTRICT ptr0;
@@ -3304,7 +2980,7 @@ orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n)
 
 #else
 static void
-_backup_orc_splat_s16_ns (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_splat_s16_ns (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -3327,7 +3003,7 @@ _backup_orc_splat_s16_ns (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n)
+orc_splat_s16_ns (gint16 * d1, int p1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -3337,6 +3013,7 @@ orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n)
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_splat_s16_ns");
@@ -3347,7 +3024,7 @@ orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n)
       orc_program_append_2 (p, "copyw", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -3367,8 +3044,8 @@ orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n)
 /* orc_matrix2_u8 */
 #ifdef DISABLE_ORC
 void
-orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n)
+orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
+    int p2, int p3, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -3428,7 +3105,7 @@ orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 
 #else
 static void
-_backup_orc_matrix2_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_matrix2_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -3488,8 +3165,8 @@ _backup_orc_matrix2_u8 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n)
+orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
+    int p2, int p3, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -3499,6 +3176,7 @@ orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_matrix2_u8");
@@ -3530,7 +3208,7 @@ orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -3554,8 +3232,8 @@ orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 /* orc_matrix2_11_u8 */
 #ifdef DISABLE_ORC
 void
-orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
+orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
+    int p2, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -3586,15 +3264,15 @@ orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   ptr5 = (orc_int8 *) s2;
 
   /* 2: loadpw */
-  var37.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
+  var37.i = 0x00000010;         /* 16 or 7.90505e-323f */
   /* 4: loadpw */
   var38.i = p1;
   /* 8: loadpw */
-  var40.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var40.i = 0x00000080;         /* 128 or 6.32404e-322f */
   /* 10: loadpw */
   var41.i = p2;
   /* 13: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var42.i = 0x00000080;         /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -3633,7 +3311,7 @@ orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 
 #else
 static void
-_backup_orc_matrix2_11_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_matrix2_11_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -3665,15 +3343,15 @@ _backup_orc_matrix2_11_u8 (OrcExecutor * ORC_RESTRICT ex)
   ptr5 = (orc_int8 *) ex->arrays[5];
 
   /* 2: loadpw */
-  var37.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
+  var37.i = 0x00000010;         /* 16 or 7.90505e-323f */
   /* 4: loadpw */
   var38.i = ex->params[24];
   /* 8: loadpw */
-  var40.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var40.i = 0x00000080;         /* 128 or 6.32404e-322f */
   /* 10: loadpw */
   var41.i = ex->params[25];
   /* 13: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var42.i = 0x00000080;         /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -3711,8 +3389,8 @@ _backup_orc_matrix2_11_u8 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
+orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
+    int p2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -3722,6 +3400,7 @@ orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_matrix2_11_u8");
@@ -3764,7 +3443,7 @@ orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -3787,8 +3466,8 @@ orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 /* orc_matrix2_12_u8 */
 #ifdef DISABLE_ORC
 void
-orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
+orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
+    int p2, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -3820,15 +3499,15 @@ orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   ptr5 = (orc_int8 *) s2;
 
   /* 2: loadpw */
-  var37.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
+  var37.i = 0x00000010;         /* 16 or 7.90505e-323f */
   /* 4: loadpw */
   var38.i = p1;
   /* 8: loadpw */
-  var40.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var40.i = 0x00000080;         /* 128 or 6.32404e-322f */
   /* 10: loadpw */
   var41.i = p2;
   /* 13: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var42.i = 0x00000080;         /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -3869,7 +3548,7 @@ orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 
 #else
 static void
-_backup_orc_matrix2_12_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_matrix2_12_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -3902,15 +3581,15 @@ _backup_orc_matrix2_12_u8 (OrcExecutor * ORC_RESTRICT ex)
   ptr5 = (orc_int8 *) ex->arrays[5];
 
   /* 2: loadpw */
-  var37.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
+  var37.i = 0x00000010;         /* 16 or 7.90505e-323f */
   /* 4: loadpw */
   var38.i = ex->params[24];
   /* 8: loadpw */
-  var40.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var40.i = 0x00000080;         /* 128 or 6.32404e-322f */
   /* 10: loadpw */
   var41.i = ex->params[25];
   /* 13: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var42.i = 0x00000080;         /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -3950,8 +3629,8 @@ _backup_orc_matrix2_12_u8 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
+orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
+    int p2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -3961,6 +3640,7 @@ orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_matrix2_12_u8");
@@ -4005,7 +3685,7 @@ orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -4028,9 +3708,8 @@ orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 /* orc_matrix3_u8 */
 #ifdef DISABLE_ORC
 void
-orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int p4, int n)
+orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int p4, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -4107,7 +3786,7 @@ orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 
 #else
 static void
-_backup_orc_matrix3_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_matrix3_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -4184,9 +3863,8 @@ _backup_orc_matrix3_u8 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int p4, int n)
+orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int p4, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -4196,6 +3874,7 @@ orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_matrix3_u8");
@@ -4235,7 +3914,7 @@ orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -4261,9 +3940,8 @@ orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 /* orc_matrix3_100_u8 */
 #ifdef DISABLE_ORC
 void
-orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int n)
+orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -4302,19 +3980,19 @@ orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   ptr6 = (orc_int8 *) s3;
 
   /* 2: loadpw */
-  var36.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
+  var36.i = 0x00000010;         /* 16 or 7.90505e-323f */
   /* 4: loadpw */
   var37.i = p1;
   /* 8: loadpw */
-  var39.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var39.i = 0x00000080;         /* 128 or 6.32404e-322f */
   /* 10: loadpw */
   var40.i = p2;
   /* 15: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var42.i = 0x00000080;         /* 128 or 6.32404e-322f */
   /* 17: loadpw */
   var43.i = p3;
   /* 20: loadpw */
-  var44.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var44.i = 0x00000080;         /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -4361,7 +4039,7 @@ orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 
 #else
 static void
-_backup_orc_matrix3_100_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_matrix3_100_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -4401,19 +4079,19 @@ _backup_orc_matrix3_100_u8 (OrcExecutor * ORC_RESTRICT ex)
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   /* 2: loadpw */
-  var36.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
+  var36.i = 0x00000010;         /* 16 or 7.90505e-323f */
   /* 4: loadpw */
   var37.i = ex->params[24];
   /* 8: loadpw */
-  var39.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var39.i = 0x00000080;         /* 128 or 6.32404e-322f */
   /* 10: loadpw */
   var40.i = ex->params[25];
   /* 15: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var42.i = 0x00000080;         /* 128 or 6.32404e-322f */
   /* 17: loadpw */
   var43.i = ex->params[26];
   /* 20: loadpw */
-  var44.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
+  var44.i = 0x00000080;         /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -4459,9 +4137,8 @@ _backup_orc_matrix3_100_u8 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int n)
+orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -4471,6 +4148,7 @@ orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_matrix3_100_u8");
@@ -4520,7 +4198,7 @@ orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -4545,10 +4223,8 @@ orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 /* orc_matrix3_100_offset_u8 */
 #ifdef DISABLE_ORC
 void
-orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
-    int n)
+orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -4628,7 +4304,7 @@ orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_orc_matrix3_100_offset_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_matrix3_100_offset_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -4708,10 +4384,8 @@ _backup_orc_matrix3_100_offset_u8 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
-    int n)
+orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -4721,6 +4395,7 @@ orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_matrix3_100_offset_u8");
@@ -4763,7 +4438,7 @@ orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -4790,9 +4465,8 @@ orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
 /* orc_matrix3_000_u8 */
 #ifdef DISABLE_ORC
 void
-orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int p4, int p5, int n)
+orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -4869,7 +4543,7 @@ orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 
 #else
 static void
-_backup_orc_matrix3_000_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_matrix3_000_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -4946,9 +4620,8 @@ _backup_orc_matrix3_000_u8 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int p4, int p5, int n)
+orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
+    const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -4958,6 +4631,7 @@ orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_matrix3_000_u8");
@@ -4997,7 +4671,7 @@ orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
       orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -5024,9 +4698,8 @@ orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
 /* orc_pack_123x */
 #ifdef DISABLE_ORC
 void
-orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    int p1, int n)
+orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int p1, int n)
 {
   int i;
   orc_union32 *ORC_RESTRICT ptr0;
@@ -5055,28 +4728,14 @@ orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
     /* 1: loadb */
     var35 = ptr5[i];
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var34;
-      _dest.x2[1] = var35;
-      var39.i = _dest.i;
-    }
+    var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8);
     /* 3: loadb */
     var36 = ptr6[i];
     /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var40.i = _dest.i;
-    }
+    var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8);
     /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var40.i;
-      var38.i = _dest.i;
-    }
+    var38.i =
+        ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var40.i << 16);
     /* 7: storel */
     ptr0[i] = var38;
   }
@@ -5085,7 +4744,7 @@ orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
 
 #else
 static void
-_backup_orc_pack_123x (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_pack_123x (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -5115,28 +4774,14 @@ _backup_orc_pack_123x (OrcExecutor * ORC_RESTRICT ex)
     /* 1: loadb */
     var35 = ptr5[i];
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var34;
-      _dest.x2[1] = var35;
-      var39.i = _dest.i;
-    }
+    var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8);
     /* 3: loadb */
     var36 = ptr6[i];
     /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var40.i = _dest.i;
-    }
+    var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8);
     /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var40.i;
-      var38.i = _dest.i;
-    }
+    var38.i =
+        ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var40.i << 16);
     /* 7: storel */
     ptr0[i] = var38;
   }
@@ -5144,9 +4789,8 @@ _backup_orc_pack_123x (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    int p1, int n)
+orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int p1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -5156,6 +4800,7 @@ orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_pack_123x");
@@ -5175,7 +4820,7 @@ orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
       orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -5198,9 +4843,8 @@ orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
 /* orc_pack_x123 */
 #ifdef DISABLE_ORC
 void
-orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    int p1, int n)
+orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int p1, int n)
 {
   int i;
   orc_union32 *ORC_RESTRICT ptr0;
@@ -5227,30 +4871,16 @@ orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
     /* 1: loadb */
     var35 = ptr4[i];
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var34;
-      _dest.x2[1] = var35;
-      var39.i = _dest.i;
-    }
+    var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8);
     /* 3: loadb */
     var36 = ptr5[i];
     /* 4: loadb */
     var37 = ptr6[i];
     /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var40.i = _dest.i;
-    }
+    var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8);
     /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var40.i;
-      var38.i = _dest.i;
-    }
+    var38.i =
+        ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var40.i << 16);
     /* 7: storel */
     ptr0[i] = var38;
   }
@@ -5259,7 +4889,7 @@ orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
 
 #else
 static void
-_backup_orc_pack_x123 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_pack_x123 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -5287,30 +4917,16 @@ _backup_orc_pack_x123 (OrcExecutor * ORC_RESTRICT ex)
     /* 1: loadb */
     var35 = ptr4[i];
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var34;
-      _dest.x2[1] = var35;
-      var39.i = _dest.i;
-    }
+    var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8);
     /* 3: loadb */
     var36 = ptr5[i];
     /* 4: loadb */
     var37 = ptr6[i];
     /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var40.i = _dest.i;
-    }
+    var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8);
     /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var40.i;
-      var38.i = _dest.i;
-    }
+    var38.i =
+        ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var40.i << 16);
     /* 7: storel */
     ptr0[i] = var38;
   }
@@ -5318,9 +4934,8 @@ _backup_orc_pack_x123 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    int p1, int n)
+orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, int p1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -5330,6 +4945,7 @@ orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "orc_pack_x123");
@@ -5349,7 +4965,7 @@ orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
       orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -5372,8 +4988,7 @@ orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1,
 /* cogorc_combine2_u8 */
 #ifdef DISABLE_ORC
 void
-cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
+cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
     int p1, int p2, int n)
 {
   int i;
@@ -5428,7 +5043,7 @@ cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_combine2_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_combine2_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -5482,8 +5097,7 @@ _backup_cogorc_combine2_u8 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
+cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
     int p1, int p2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
@@ -5494,6 +5108,7 @@ cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_combine2_u8");
@@ -5522,7 +5137,7 @@ cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -5545,10 +5160,9 @@ cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_combine4_u8 */
 #ifdef DISABLE_ORC
 void
-cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    int p1, int p2, int p3, int p4, int n)
+cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, const orc_uint8 * s4, int p1, int p2, int p3, int p4,
+    int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -5595,7 +5209,7 @@ cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1,
   /* 16: loadpw */
   var41.i = p4;
   /* 19: loadpw */
-  var42.i = (int) 0x00000020;   /* 32 or 1.58101e-322f */
+  var42.i = 0x00000020;         /* 32 or 1.58101e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -5642,7 +5256,7 @@ cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_combine4_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_combine4_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -5690,7 +5304,7 @@ _backup_cogorc_combine4_u8 (OrcExecutor * ORC_RESTRICT ex)
   /* 16: loadpw */
   var41.i = ex->params[27];
   /* 19: loadpw */
-  var42.i = (int) 0x00000020;   /* 32 or 1.58101e-322f */
+  var42.i = 0x00000020;         /* 32 or 1.58101e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -5736,10 +5350,9 @@ _backup_cogorc_combine4_u8 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    int p1, int p2, int p3, int p4, int n)
+cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
+    const orc_uint8 * s3, const orc_uint8 * s4, int p1, int p2, int p3, int p4,
+    int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -5749,6 +5362,7 @@ cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_combine4_u8");
@@ -5796,7 +5410,7 @@ cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -5823,8 +5437,7 @@ cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_unpack_axyz_0 */
 #ifdef DISABLE_ORC
 void
-cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -5841,17 +5454,9 @@ cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
+    var35.i = (orc_uint32) var33.i & 0xffff;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
+    var34 = (orc_uint16) var35.i & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -5860,7 +5465,7 @@ cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_unpack_axyz_0 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_unpack_axyz_0 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -5878,17 +5483,9 @@ _backup_cogorc_unpack_axyz_0 (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
+    var35.i = (orc_uint32) var33.i & 0xffff;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
+    var34 = (orc_uint16) var35.i & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -5896,8 +5493,7 @@ _backup_cogorc_unpack_axyz_0 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -5907,6 +5503,7 @@ cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_unpack_axyz_0");
@@ -5920,7 +5517,7 @@ cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -5940,8 +5537,7 @@ cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_unpack_axyz_1 */
 #ifdef DISABLE_ORC
 void
-cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -5958,17 +5554,9 @@ cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
+    var35.i = (orc_uint32) var33.i & 0xffff;
     /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
+    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -5977,7 +5565,7 @@ cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_unpack_axyz_1 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_unpack_axyz_1 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -5995,17 +5583,9 @@ _backup_cogorc_unpack_axyz_1 (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
+    var35.i = (orc_uint32) var33.i & 0xffff;
     /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
+    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -6013,8 +5593,7 @@ _backup_cogorc_unpack_axyz_1 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -6024,6 +5603,7 @@ cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_unpack_axyz_1");
@@ -6037,7 +5617,7 @@ cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -6057,8 +5637,7 @@ cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_unpack_axyz_2 */
 #ifdef DISABLE_ORC
 void
-cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -6075,17 +5654,9 @@ cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
+    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
+    var34 = (orc_uint16) var35.i & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -6094,7 +5665,7 @@ cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_unpack_axyz_2 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_unpack_axyz_2 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -6112,17 +5683,9 @@ _backup_cogorc_unpack_axyz_2 (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
+    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
     /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
+    var34 = (orc_uint16) var35.i & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -6130,8 +5693,7 @@ _backup_cogorc_unpack_axyz_2 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -6141,6 +5703,7 @@ cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_unpack_axyz_2");
@@ -6154,7 +5717,7 @@ cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -6174,8 +5737,7 @@ cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_unpack_axyz_3 */
 #ifdef DISABLE_ORC
 void
-cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -6192,17 +5754,9 @@ cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1,
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
+    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
     /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
+    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -6211,7 +5765,7 @@ cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_unpack_axyz_3 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_unpack_axyz_3 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -6229,17 +5783,9 @@ _backup_cogorc_unpack_axyz_3 (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadl */
     var33 = ptr4[i];
     /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
+    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
     /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
+    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
     /* 3: storeb */
     ptr0[i] = var34;
   }
@@ -6247,8 +5793,7 @@ _backup_cogorc_unpack_axyz_3 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint32 * ORC_RESTRICT s1, int n)
+cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -6258,6 +5803,7 @@ cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_unpack_axyz_3");
@@ -6271,7 +5817,7 @@ cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -6291,8 +5837,8 @@ cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_resample_horiz_1tap */
 #ifdef DISABLE_ORC
 void
-cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n)
+cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1,
+    int p2, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -6314,7 +5860,7 @@ cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_resample_horiz_1tap (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_resample_horiz_1tap (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -6336,8 +5882,8 @@ _backup_cogorc_resample_horiz_1tap (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n)
+cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1,
+    int p2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -6347,6 +5893,7 @@ cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_resample_horiz_1tap");
@@ -6359,7 +5906,7 @@ cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "ldresnearb", 0, ORC_VAR_D1, ORC_VAR_S1,
           ORC_VAR_P1, ORC_VAR_P2);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -6381,8 +5928,8 @@ cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_resample_horiz_2tap */
 #ifdef DISABLE_ORC
 void
-cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n)
+cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1,
+    int p2, int n)
 {
   int i;
   orc_int8 *ORC_RESTRICT ptr0;
@@ -6409,7 +5956,7 @@ cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_resample_horiz_2tap (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_resample_horiz_2tap (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -6436,8 +5983,8 @@ _backup_cogorc_resample_horiz_2tap (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n)
+cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1,
+    int p2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -6447,6 +5994,7 @@ cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_resample_horiz_2tap");
@@ -6459,7 +6007,7 @@ cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "ldreslinb", 0, ORC_VAR_D1, ORC_VAR_S1,
           ORC_VAR_P1, ORC_VAR_P2);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -6481,10 +6029,9 @@ cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1,
 /* cogorc_convert_I420_UYVY */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1,
-    orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1,
-    const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    const orc_uint8 * ORC_RESTRICT s4, int n)
+cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2,
+    const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3,
+    const orc_uint8 * s4, int n)
 {
   int i;
   orc_union32 *ORC_RESTRICT ptr0;
@@ -6515,44 +6062,23 @@ cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1,
     /* 1: loadb */
     var34 = ptr7[i];
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var33;
-      _dest.x2[1] = var34;
-      var39.i = _dest.i;
-    }
+    var39.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8);
     /* 3: loadw */
     var35 = ptr4[i];
     /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[0];
-      _dest.x2[1] = var35.x2[0];
-      var36.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[1];
-      _dest.x2[1] = var35.x2[1];
-      var36.x2[1] = _dest.i;
-    }
+    var36.x2[0] =
+        ((orc_uint8) var39.x2[0] & 0x00ff) | ((orc_uint8) var35.x2[0] << 8);
+    var36.x2[1] =
+        ((orc_uint8) var39.x2[1] & 0x00ff) | ((orc_uint8) var35.x2[1] << 8);
     /* 5: storel */
     ptr0[i] = var36;
     /* 6: loadw */
     var37 = ptr5[i];
     /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[0];
-      _dest.x2[1] = var37.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[1];
-      _dest.x2[1] = var37.x2[1];
-      var38.x2[1] = _dest.i;
-    }
+    var38.x2[0] =
+        ((orc_uint8) var39.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8);
+    var38.x2[1] =
+        ((orc_uint8) var39.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8);
     /* 8: storel */
     ptr1[i] = var38;
   }
@@ -6561,7 +6087,7 @@ cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_convert_I420_UYVY (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_I420_UYVY (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -6593,44 +6119,23 @@ _backup_cogorc_convert_I420_UYVY (OrcExecutor * ORC_RESTRICT ex)
     /* 1: loadb */
     var34 = ptr7[i];
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var33;
-      _dest.x2[1] = var34;
-      var39.i = _dest.i;
-    }
+    var39.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8);
     /* 3: loadw */
     var35 = ptr4[i];
     /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[0];
-      _dest.x2[1] = var35.x2[0];
-      var36.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[1];
-      _dest.x2[1] = var35.x2[1];
-      var36.x2[1] = _dest.i;
-    }
+    var36.x2[0] =
+        ((orc_uint8) var39.x2[0] & 0x00ff) | ((orc_uint8) var35.x2[0] << 8);
+    var36.x2[1] =
+        ((orc_uint8) var39.x2[1] & 0x00ff) | ((orc_uint8) var35.x2[1] << 8);
     /* 5: storel */
     ptr0[i] = var36;
     /* 6: loadw */
     var37 = ptr5[i];
     /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[0];
-      _dest.x2[1] = var37.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[1];
-      _dest.x2[1] = var37.x2[1];
-      var38.x2[1] = _dest.i;
-    }
+    var38.x2[0] =
+        ((orc_uint8) var39.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8);
+    var38.x2[1] =
+        ((orc_uint8) var39.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8);
     /* 8: storel */
     ptr1[i] = var38;
   }
@@ -6638,10 +6143,9 @@ _backup_cogorc_convert_I420_UYVY (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1,
-    orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1,
-    const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    const orc_uint8 * ORC_RESTRICT s4, int n)
+cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2,
+    const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3,
+    const orc_uint8 * s4, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -6651,6 +6155,7 @@ cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_convert_I420_UYVY");
@@ -6670,7 +6175,7 @@ cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_S2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -6694,10 +6199,9 @@ cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1,
 /* cogorc_convert_I420_YUY2 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1,
-    orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1,
-    const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    const orc_uint8 * ORC_RESTRICT s4, int n)
+cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2,
+    const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3,
+    const orc_uint8 * s4, int n)
 {
   int i;
   orc_union32 *ORC_RESTRICT ptr0;
@@ -6728,44 +6232,23 @@ cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1,
     /* 1: loadb */
     var34 = ptr7[i];
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var33;
-      _dest.x2[1] = var34;
-      var39.i = _dest.i;
-    }
+    var39.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8);
     /* 3: loadw */
     var35 = ptr4[i];
     /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var36.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var36.x2[1] = _dest.i;
-    }
+    var36.x2[0] =
+        ((orc_uint8) var35.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8);
+    var36.x2[1] =
+        ((orc_uint8) var35.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8);
     /* 5: storel */
     ptr0[i] = var36;
     /* 6: loadw */
     var37 = ptr5[i];
     /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var38.x2[1] = _dest.i;
-    }
+    var38.x2[0] =
+        ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8);
+    var38.x2[1] =
+        ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8);
     /* 8: storel */
     ptr1[i] = var38;
   }
@@ -6774,7 +6257,7 @@ cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_convert_I420_YUY2 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_I420_YUY2 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -6806,44 +6289,23 @@ _backup_cogorc_convert_I420_YUY2 (OrcExecutor * ORC_RESTRICT ex)
     /* 1: loadb */
     var34 = ptr7[i];
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var33;
-      _dest.x2[1] = var34;
-      var39.i = _dest.i;
-    }
+    var39.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8);
     /* 3: loadw */
     var35 = ptr4[i];
     /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var36.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var36.x2[1] = _dest.i;
-    }
+    var36.x2[0] =
+        ((orc_uint8) var35.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8);
+    var36.x2[1] =
+        ((orc_uint8) var35.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8);
     /* 5: storel */
     ptr0[i] = var36;
     /* 6: loadw */
     var37 = ptr5[i];
     /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var38.x2[1] = _dest.i;
-    }
+    var38.x2[0] =
+        ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8);
+    var38.x2[1] =
+        ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8);
     /* 8: storel */
     ptr1[i] = var38;
   }
@@ -6851,10 +6313,9 @@ _backup_cogorc_convert_I420_YUY2 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1,
-    orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1,
-    const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    const orc_uint8 * ORC_RESTRICT s4, int n)
+cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2,
+    const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3,
+    const orc_uint8 * s4, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -6864,6 +6325,7 @@ cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_convert_I420_YUY2");
@@ -6883,7 +6345,7 @@ cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D2, ORC_VAR_S2, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -6907,10 +6369,9 @@ cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1,
 /* cogorc_convert_I420_AYUV */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1,
-    orc_uint32 * ORC_RESTRICT d2, const orc_uint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    const orc_uint8 * ORC_RESTRICT s4, int n)
+cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2,
+    const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3,
+    const orc_uint8 * s4, int n)
 {
   int i;
   orc_union32 *ORC_RESTRICT ptr0;
@@ -6939,9 +6400,9 @@ cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1,
   ptr7 = (orc_int8 *) s4;
 
   /* 3: loadpb */
-  var36 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+  var36 = 0x000000ff;           /* 255 or 1.25987e-321f */
   /* 8: loadpb */
-  var39 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+  var39 = 0x000000ff;           /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadupdb */
@@ -6949,46 +6410,23 @@ cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1,
     /* 1: loadupdb */
     var43 = ptr7[i >> 1];
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var42;
-      _dest.x2[1] = var43;
-      var44.i = _dest.i;
-    }
+    var44.i = ((orc_uint8) var42 & 0x00ff) | ((orc_uint8) var43 << 8);
     /* 4: loadb */
     var37 = ptr4[i];
     /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var45.i = _dest.i;
-    }
+    var45.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8);
     /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var45.i;
-      _dest.x2[1] = var44.i;
-      var38.i = _dest.i;
-    }
+    var38.i =
+        ((orc_uint16) var45.i & 0x0000ffff) | ((orc_uint16) var44.i << 16);
     /* 7: storel */
     ptr0[i] = var38;
     /* 9: loadb */
     var40 = ptr5[i];
     /* 10: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var40;
-      var46.i = _dest.i;
-    }
+    var46.i = ((orc_uint8) var39 & 0x00ff) | ((orc_uint8) var40 << 8);
     /* 11: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var46.i;
-      _dest.x2[1] = var44.i;
-      var41.i = _dest.i;
-    }
+    var41.i =
+        ((orc_uint16) var46.i & 0x0000ffff) | ((orc_uint16) var44.i << 16);
     /* 12: storel */
     ptr1[i] = var41;
   }
@@ -6997,7 +6435,7 @@ cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_convert_I420_AYUV (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_I420_AYUV (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -7027,9 +6465,9 @@ _backup_cogorc_convert_I420_AYUV (OrcExecutor * ORC_RESTRICT ex)
   ptr7 = (orc_int8 *) ex->arrays[7];
 
   /* 3: loadpb */
-  var36 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+  var36 = 0x000000ff;           /* 255 or 1.25987e-321f */
   /* 8: loadpb */
-  var39 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+  var39 = 0x000000ff;           /* 255 or 1.25987e-321f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadupdb */
@@ -7037,46 +6475,23 @@ _backup_cogorc_convert_I420_AYUV (OrcExecutor * ORC_RESTRICT ex)
     /* 1: loadupdb */
     var43 = ptr7[i >> 1];
     /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var42;
-      _dest.x2[1] = var43;
-      var44.i = _dest.i;
-    }
+    var44.i = ((orc_uint8) var42 & 0x00ff) | ((orc_uint8) var43 << 8);
     /* 4: loadb */
     var37 = ptr4[i];
     /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var45.i = _dest.i;
-    }
+    var45.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8);
     /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var45.i;
-      _dest.x2[1] = var44.i;
-      var38.i = _dest.i;
-    }
+    var38.i =
+        ((orc_uint16) var45.i & 0x0000ffff) | ((orc_uint16) var44.i << 16);
     /* 7: storel */
     ptr0[i] = var38;
     /* 9: loadb */
     var40 = ptr5[i];
     /* 10: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var40;
-      var46.i = _dest.i;
-    }
+    var46.i = ((orc_uint8) var39 & 0x00ff) | ((orc_uint8) var40 << 8);
     /* 11: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var46.i;
-      _dest.x2[1] = var44.i;
-      var41.i = _dest.i;
-    }
+    var41.i =
+        ((orc_uint16) var46.i & 0x0000ffff) | ((orc_uint16) var44.i << 16);
     /* 12: storel */
     ptr1[i] = var41;
   }
@@ -7084,10 +6499,9 @@ _backup_cogorc_convert_I420_AYUV (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1,
-    orc_uint32 * ORC_RESTRICT d2, const orc_uint8 * ORC_RESTRICT s1,
-    const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3,
-    const orc_uint8 * ORC_RESTRICT s4, int n)
+cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2,
+    const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3,
+    const orc_uint8 * s4, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -7097,6 +6511,7 @@ cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_convert_I420_AYUV");
@@ -7128,7 +6543,7 @@ cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -7152,10 +6567,8 @@ cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1,
 /* cogorc_convert_YUY2_I420 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1,
-    orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3,
-    orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1,
-    const orc_uint32 * ORC_RESTRICT s2, int n)
+cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3,
+    orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n)
 {
   int i;
   orc_union16 *ORC_RESTRICT ptr0;
@@ -7186,47 +6599,27 @@ cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1,
     /* 0: loadl */
     var35 = ptr4[i];
     /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
+    var39.x2[0] = (var35.x2[0] >> 8) & 0xff;
+    var40.x2[0] = var35.x2[0] & 0xff;
+    var39.x2[1] = (var35.x2[1] >> 8) & 0xff;
+    var40.x2[1] = var35.x2[1] & 0xff;
     /* 2: storew */
     ptr0[i] = var40;
     /* 3: loadl */
     var36 = ptr5[i];
     /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var41.x2[0] = _src.x2[1];
-      var42.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var41.x2[1] = _src.x2[1];
-      var42.x2[1] = _src.x2[0];
-    }
+    var41.x2[0] = (var36.x2[0] >> 8) & 0xff;
+    var42.x2[0] = var36.x2[0] & 0xff;
+    var41.x2[1] = (var36.x2[1] >> 8) & 0xff;
+    var42.x2[1] = var36.x2[1] & 0xff;
     /* 5: storew */
     ptr1[i] = var42;
     /* 6: avgub */
     var43.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var41.x2[0] + 1) >> 1;
     var43.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var41.x2[1] + 1) >> 1;
     /* 7: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var37 = _src.x2[1];
-      var38 = _src.x2[0];
-    }
+    var37 = (var43.i >> 8) & 0xff;
+    var38 = var43.i & 0xff;
     /* 8: storeb */
     ptr3[i] = var37;
     /* 9: storeb */
@@ -7237,7 +6630,7 @@ cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_convert_YUY2_I420 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_YUY2_I420 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -7269,47 +6662,27 @@ _backup_cogorc_convert_YUY2_I420 (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadl */
     var35 = ptr4[i];
     /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
+    var39.x2[0] = (var35.x2[0] >> 8) & 0xff;
+    var40.x2[0] = var35.x2[0] & 0xff;
+    var39.x2[1] = (var35.x2[1] >> 8) & 0xff;
+    var40.x2[1] = var35.x2[1] & 0xff;
     /* 2: storew */
     ptr0[i] = var40;
     /* 3: loadl */
     var36 = ptr5[i];
     /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var41.x2[0] = _src.x2[1];
-      var42.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var41.x2[1] = _src.x2[1];
-      var42.x2[1] = _src.x2[0];
-    }
+    var41.x2[0] = (var36.x2[0] >> 8) & 0xff;
+    var42.x2[0] = var36.x2[0] & 0xff;
+    var41.x2[1] = (var36.x2[1] >> 8) & 0xff;
+    var42.x2[1] = var36.x2[1] & 0xff;
     /* 5: storew */
     ptr1[i] = var42;
     /* 6: avgub */
     var43.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var41.x2[0] + 1) >> 1;
     var43.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var41.x2[1] + 1) >> 1;
     /* 7: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var37 = _src.x2[1];
-      var38 = _src.x2[0];
-    }
+    var37 = (var43.i >> 8) & 0xff;
+    var38 = var43.i & 0xff;
     /* 8: storeb */
     ptr3[i] = var37;
     /* 9: storeb */
@@ -7319,10 +6692,8 @@ _backup_cogorc_convert_YUY2_I420 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1,
-    orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3,
-    orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1,
-    const orc_uint32 * ORC_RESTRICT s2, int n)
+cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3,
+    orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -7332,6 +6703,7 @@ cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_convert_YUY2_I420");
@@ -7359,7 +6731,7 @@ cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D4, ORC_VAR_D3, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -7383,8 +6755,8 @@ cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1,
 /* cogorc_convert_UYVY_YUY2 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -7413,7 +6785,7 @@ cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_UYVY_YUY2 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_UYVY_YUY2 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -7443,8 +6815,8 @@ _backup_cogorc_convert_UYVY_YUY2 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -7454,6 +6826,7 @@ cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -7465,7 +6838,7 @@ cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "swapw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -7488,9 +6861,8 @@ cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_planar_chroma_420_422 */
 #ifdef DISABLE_ORC
 void
-cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -7528,7 +6900,7 @@ cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_planar_chroma_420_422 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_planar_chroma_420_422 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -7567,9 +6939,8 @@ _backup_cogorc_planar_chroma_420_422 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -7579,6 +6950,7 @@ cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -7593,7 +6965,7 @@ cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "copyb", 0, ORC_VAR_D2, ORC_VAR_S1, ORC_VAR_D1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -7618,9 +6990,8 @@ cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_planar_chroma_420_444 */
 #ifdef DISABLE_ORC
 void
-cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -7652,7 +7023,7 @@ cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_planar_chroma_420_444 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_planar_chroma_420_444 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -7685,9 +7056,8 @@ _backup_cogorc_planar_chroma_420_444 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -7697,6 +7067,7 @@ cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -7714,7 +7085,7 @@ cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_D1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -7739,8 +7110,8 @@ cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_planar_chroma_422_444 */
 #ifdef DISABLE_ORC
 void
-cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride,
+    const orc_uint8 * s1, int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -7768,7 +7139,7 @@ cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_planar_chroma_422_444 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_planar_chroma_422_444 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -7797,8 +7168,8 @@ _backup_cogorc_planar_chroma_422_444 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride,
+    const orc_uint8 * s1, int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -7808,6 +7179,7 @@ cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -7822,7 +7194,7 @@ cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -7845,8 +7217,8 @@ cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_planar_chroma_444_422 */
 #ifdef DISABLE_ORC
 void
-cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -7866,12 +7238,8 @@ cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
       /* 0: loadw */
       var34 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var34.i;
-        var36 = _src.x2[1];
-        var37 = _src.x2[0];
-      }
+      var36 = (var34.i >> 8) & 0xff;
+      var37 = var34.i & 0xff;
       /* 2: avgub */
       var35 = ((orc_uint8) var36 + (orc_uint8) var37 + 1) >> 1;
       /* 3: storeb */
@@ -7883,7 +7251,7 @@ cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_planar_chroma_444_422 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_planar_chroma_444_422 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -7905,12 +7273,8 @@ _backup_cogorc_planar_chroma_444_422 (OrcExecutor * ORC_RESTRICT ex)
       /* 0: loadw */
       var34 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var34.i;
-        var36 = _src.x2[1];
-        var37 = _src.x2[0];
-      }
+      var36 = (var34.i >> 8) & 0xff;
+      var37 = var34.i & 0xff;
       /* 2: avgub */
       var35 = ((orc_uint8) var36 + (orc_uint8) var37 + 1) >> 1;
       /* 3: storeb */
@@ -7921,8 +7285,8 @@ _backup_cogorc_planar_chroma_444_422 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -7932,6 +7296,7 @@ cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -7947,7 +7312,7 @@ cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -7970,9 +7335,9 @@ cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_planar_chroma_444_420 */
 #ifdef DISABLE_ORC
 void
-cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint16 * ORC_RESTRICT s2, int s2_stride, int n, int m)
+cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride,
+    int n, int m)
 {
   int i;
   int j;
@@ -8003,12 +7368,8 @@ cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
       var38.x2[1] =
           ((orc_uint8) var35.x2[1] + (orc_uint8) var36.x2[1] + 1) >> 1;
       /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var38.i;
-        var39 = _src.x2[1];
-        var40 = _src.x2[0];
-      }
+      var39 = (var38.i >> 8) & 0xff;
+      var40 = var38.i & 0xff;
       /* 4: avgub */
       var37 = ((orc_uint8) var39 + (orc_uint8) var40 + 1) >> 1;
       /* 5: storeb */
@@ -8020,7 +7381,7 @@ cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_planar_chroma_444_420 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_planar_chroma_444_420 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -8053,12 +7414,8 @@ _backup_cogorc_planar_chroma_444_420 (OrcExecutor * ORC_RESTRICT ex)
       var38.x2[1] =
           ((orc_uint8) var35.x2[1] + (orc_uint8) var36.x2[1] + 1) >> 1;
       /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var38.i;
-        var39 = _src.x2[1];
-        var40 = _src.x2[0];
-      }
+      var39 = (var38.i >> 8) & 0xff;
+      var40 = var38.i & 0xff;
       /* 4: avgub */
       var37 = ((orc_uint8) var39 + (orc_uint8) var40 + 1) >> 1;
       /* 5: storeb */
@@ -8069,9 +7426,9 @@ _backup_cogorc_planar_chroma_444_420 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint16 * ORC_RESTRICT s2, int s2_stride, int n, int m)
+cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride,
+    const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride,
+    int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -8081,6 +7438,7 @@ cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -8100,7 +7458,7 @@ cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -8125,9 +7483,9 @@ cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_planar_chroma_422_420 */
 #ifdef DISABLE_ORC
 void
-cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
+cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride,
+    const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride,
+    int n, int m)
 {
   int i;
   int j;
@@ -8160,7 +7518,7 @@ cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_planar_chroma_422_420 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_planar_chroma_422_420 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -8194,9 +7552,9 @@ _backup_cogorc_planar_chroma_422_420 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
+cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride,
+    const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride,
+    int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -8206,6 +7564,7 @@ cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -8218,7 +7577,7 @@ cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -8243,8 +7602,8 @@ cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_YUY2_AYUV */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -8263,58 +7622,32 @@ cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
     ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
 
     /* 2: loadpb */
-    var37.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var37.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+    var37.x2[0] = 0x000000ff;   /* 255 or 1.25987e-321f */
+    var37.x2[1] = 0x000000ff;   /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var36 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
+      var39.x2[0] = (var36.x2[0] >> 8) & 0xff;
+      var40.x2[0] = var36.x2[0] & 0xff;
+      var39.x2[1] = (var36.x2[1] >> 8) & 0xff;
+      var40.x2[1] = var36.x2[1] & 0xff;
       /* 3: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var40.x2[0];
-        var41.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var40.x2[1];
-        var41.x2[1] = _dest.i;
-      }
+      var41.x2[0] =
+          ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var40.x2[0] << 8);
+      var41.x2[1] =
+          ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var40.x2[1] << 8);
       /* 4: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var39.i;
-        _dest.x2[1] = var39.i;
-        var42.i = _dest.i;
-      }
+      var42.i =
+          ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var39.i << 16);
       /* 5: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[0];
-        _dest.x2[1] = var42.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[1];
-        _dest.x2[1] = var42.x2[1];
-        var38.x2[1] = _dest.i;
-      }
+      var38.x2[0] =
+          ((orc_uint16) var41.
+          x2[0] & 0x0000ffff) | ((orc_uint16) var42.x2[0] << 16);
+      var38.x2[1] =
+          ((orc_uint16) var41.
+          x2[1] & 0x0000ffff) | ((orc_uint16) var42.x2[1] << 16);
       /* 6: storeq */
       ptr0[i] = var38;
     }
@@ -8324,7 +7657,7 @@ cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_YUY2_AYUV (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_YUY2_AYUV (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -8345,58 +7678,32 @@ _backup_cogorc_convert_YUY2_AYUV (OrcExecutor * ORC_RESTRICT ex)
     ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
 
     /* 2: loadpb */
-    var37.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var37.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+    var37.x2[0] = 0x000000ff;   /* 255 or 1.25987e-321f */
+    var37.x2[1] = 0x000000ff;   /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var36 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
+      var39.x2[0] = (var36.x2[0] >> 8) & 0xff;
+      var40.x2[0] = var36.x2[0] & 0xff;
+      var39.x2[1] = (var36.x2[1] >> 8) & 0xff;
+      var40.x2[1] = var36.x2[1] & 0xff;
       /* 3: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var40.x2[0];
-        var41.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var40.x2[1];
-        var41.x2[1] = _dest.i;
-      }
+      var41.x2[0] =
+          ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var40.x2[0] << 8);
+      var41.x2[1] =
+          ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var40.x2[1] << 8);
       /* 4: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var39.i;
-        _dest.x2[1] = var39.i;
-        var42.i = _dest.i;
-      }
+      var42.i =
+          ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var39.i << 16);
       /* 5: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[0];
-        _dest.x2[1] = var42.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[1];
-        _dest.x2[1] = var42.x2[1];
-        var38.x2[1] = _dest.i;
-      }
+      var38.x2[0] =
+          ((orc_uint16) var41.
+          x2[0] & 0x0000ffff) | ((orc_uint16) var42.x2[0] << 16);
+      var38.x2[1] =
+          ((orc_uint16) var41.
+          x2[1] & 0x0000ffff) | ((orc_uint16) var42.x2[1] << 16);
       /* 6: storeq */
       ptr0[i] = var38;
     }
@@ -8405,8 +7712,8 @@ _backup_cogorc_convert_YUY2_AYUV (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -8416,6 +7723,7 @@ cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -8438,7 +7746,7 @@ cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -8461,8 +7769,8 @@ cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_UYVY_AYUV */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -8481,58 +7789,32 @@ cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
     ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
 
     /* 2: loadpb */
-    var37.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var37.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+    var37.x2[0] = 0x000000ff;   /* 255 or 1.25987e-321f */
+    var37.x2[1] = 0x000000ff;   /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var36 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
+      var39.x2[0] = (var36.x2[0] >> 8) & 0xff;
+      var40.x2[0] = var36.x2[0] & 0xff;
+      var39.x2[1] = (var36.x2[1] >> 8) & 0xff;
+      var40.x2[1] = var36.x2[1] & 0xff;
       /* 3: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var39.x2[0];
-        var41.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var39.x2[1];
-        var41.x2[1] = _dest.i;
-      }
+      var41.x2[0] =
+          ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8);
+      var41.x2[1] =
+          ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8);
       /* 4: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var40.i;
-        _dest.x2[1] = var40.i;
-        var42.i = _dest.i;
-      }
+      var42.i =
+          ((orc_uint16) var40.i & 0x0000ffff) | ((orc_uint16) var40.i << 16);
       /* 5: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[0];
-        _dest.x2[1] = var42.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[1];
-        _dest.x2[1] = var42.x2[1];
-        var38.x2[1] = _dest.i;
-      }
+      var38.x2[0] =
+          ((orc_uint16) var41.
+          x2[0] & 0x0000ffff) | ((orc_uint16) var42.x2[0] << 16);
+      var38.x2[1] =
+          ((orc_uint16) var41.
+          x2[1] & 0x0000ffff) | ((orc_uint16) var42.x2[1] << 16);
       /* 6: storeq */
       ptr0[i] = var38;
     }
@@ -8542,7 +7824,7 @@ cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_UYVY_AYUV (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_UYVY_AYUV (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -8563,58 +7845,32 @@ _backup_cogorc_convert_UYVY_AYUV (OrcExecutor * ORC_RESTRICT ex)
     ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
 
     /* 2: loadpb */
-    var37.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var37.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+    var37.x2[0] = 0x000000ff;   /* 255 or 1.25987e-321f */
+    var37.x2[1] = 0x000000ff;   /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
       var36 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
+      var39.x2[0] = (var36.x2[0] >> 8) & 0xff;
+      var40.x2[0] = var36.x2[0] & 0xff;
+      var39.x2[1] = (var36.x2[1] >> 8) & 0xff;
+      var40.x2[1] = var36.x2[1] & 0xff;
       /* 3: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var39.x2[0];
-        var41.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var39.x2[1];
-        var41.x2[1] = _dest.i;
-      }
+      var41.x2[0] =
+          ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8);
+      var41.x2[1] =
+          ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8);
       /* 4: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var40.i;
-        _dest.x2[1] = var40.i;
-        var42.i = _dest.i;
-      }
+      var42.i =
+          ((orc_uint16) var40.i & 0x0000ffff) | ((orc_uint16) var40.i << 16);
       /* 5: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[0];
-        _dest.x2[1] = var42.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[1];
-        _dest.x2[1] = var42.x2[1];
-        var38.x2[1] = _dest.i;
-      }
+      var38.x2[0] =
+          ((orc_uint16) var41.
+          x2[0] & 0x0000ffff) | ((orc_uint16) var42.x2[0] << 16);
+      var38.x2[1] =
+          ((orc_uint16) var41.
+          x2[1] & 0x0000ffff) | ((orc_uint16) var42.x2[1] << 16);
       /* 6: storeq */
       ptr0[i] = var38;
     }
@@ -8623,8 +7879,8 @@ _backup_cogorc_convert_UYVY_AYUV (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -8634,6 +7890,7 @@ cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -8656,7 +7913,7 @@ cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -8679,10 +7936,9 @@ cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_YUY2_Y42B */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -8707,27 +7963,15 @@ cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       /* 0: loadl */
       var33 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[0];
-        var37.x2[0] = _src.x2[1];
-        var34.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[1];
-        var37.x2[1] = _src.x2[1];
-        var34.x2[1] = _src.x2[0];
-      }
+      var37.x2[0] = (var33.x2[0] >> 8) & 0xff;
+      var34.x2[0] = var33.x2[0] & 0xff;
+      var37.x2[1] = (var33.x2[1] >> 8) & 0xff;
+      var34.x2[1] = var33.x2[1] & 0xff;
       /* 2: storew */
       ptr0[i] = var34;
       /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var37.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
+      var35 = (var37.i >> 8) & 0xff;
+      var36 = var37.i & 0xff;
       /* 4: storeb */
       ptr2[i] = var35;
       /* 5: storeb */
@@ -8739,7 +7983,7 @@ cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_YUY2_Y42B (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_YUY2_Y42B (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -8766,27 +8010,15 @@ _backup_cogorc_convert_YUY2_Y42B (OrcExecutor * ORC_RESTRICT ex)
       /* 0: loadl */
       var33 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[0];
-        var37.x2[0] = _src.x2[1];
-        var34.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[1];
-        var37.x2[1] = _src.x2[1];
-        var34.x2[1] = _src.x2[0];
-      }
+      var37.x2[0] = (var33.x2[0] >> 8) & 0xff;
+      var34.x2[0] = var33.x2[0] & 0xff;
+      var37.x2[1] = (var33.x2[1] >> 8) & 0xff;
+      var34.x2[1] = var33.x2[1] & 0xff;
       /* 2: storew */
       ptr0[i] = var34;
       /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var37.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
+      var35 = (var37.i >> 8) & 0xff;
+      var36 = var37.i & 0xff;
       /* 4: storeb */
       ptr2[i] = var35;
       /* 5: storeb */
@@ -8797,10 +8029,9 @@ _backup_cogorc_convert_YUY2_Y42B (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -8810,6 +8041,7 @@ cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -8826,7 +8058,7 @@ cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -8853,10 +8085,9 @@ cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_UYVY_Y42B */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -8881,27 +8112,15 @@ cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       /* 0: loadl */
       var33 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[0];
-        var34.x2[0] = _src.x2[1];
-        var37.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[1];
-        var34.x2[1] = _src.x2[1];
-        var37.x2[1] = _src.x2[0];
-      }
+      var34.x2[0] = (var33.x2[0] >> 8) & 0xff;
+      var37.x2[0] = var33.x2[0] & 0xff;
+      var34.x2[1] = (var33.x2[1] >> 8) & 0xff;
+      var37.x2[1] = var33.x2[1] & 0xff;
       /* 2: storew */
       ptr0[i] = var34;
       /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var37.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
+      var35 = (var37.i >> 8) & 0xff;
+      var36 = var37.i & 0xff;
       /* 4: storeb */
       ptr2[i] = var35;
       /* 5: storeb */
@@ -8913,7 +8132,7 @@ cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_UYVY_Y42B (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_UYVY_Y42B (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -8940,27 +8159,15 @@ _backup_cogorc_convert_UYVY_Y42B (OrcExecutor * ORC_RESTRICT ex)
       /* 0: loadl */
       var33 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[0];
-        var34.x2[0] = _src.x2[1];
-        var37.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[1];
-        var34.x2[1] = _src.x2[1];
-        var37.x2[1] = _src.x2[0];
-      }
+      var34.x2[0] = (var33.x2[0] >> 8) & 0xff;
+      var37.x2[0] = var33.x2[0] & 0xff;
+      var34.x2[1] = (var33.x2[1] >> 8) & 0xff;
+      var37.x2[1] = var33.x2[1] & 0xff;
       /* 2: storew */
       ptr0[i] = var34;
       /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var37.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
+      var35 = (var37.i >> 8) & 0xff;
+      var36 = var37.i & 0xff;
       /* 4: storeb */
       ptr2[i] = var35;
       /* 5: storeb */
@@ -8971,10 +8178,9 @@ _backup_cogorc_convert_UYVY_Y42B (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -8984,6 +8190,7 @@ cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -9000,7 +8207,7 @@ cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -9027,10 +8234,9 @@ cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_YUY2_Y444 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -9057,27 +8263,15 @@ cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       /* 0: loadl */
       var35 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var36.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var36.x2[1] = _src.x2[0];
-      }
+      var39.x2[0] = (var35.x2[0] >> 8) & 0xff;
+      var36.x2[0] = var35.x2[0] & 0xff;
+      var39.x2[1] = (var35.x2[1] >> 8) & 0xff;
+      var36.x2[1] = var35.x2[1] & 0xff;
       /* 2: storew */
       ptr0[i] = var36;
       /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var40 = _src.x2[1];
-        var41 = _src.x2[0];
-      }
+      var40 = (var39.i >> 8) & 0xff;
+      var41 = var39.i & 0xff;
       /* 4: splatbw */
       var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
       /* 5: storew */
@@ -9093,7 +8287,7 @@ cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_YUY2_Y444 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_YUY2_Y444 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -9122,27 +8316,15 @@ _backup_cogorc_convert_YUY2_Y444 (OrcExecutor * ORC_RESTRICT ex)
       /* 0: loadl */
       var35 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var36.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var36.x2[1] = _src.x2[0];
-      }
+      var39.x2[0] = (var35.x2[0] >> 8) & 0xff;
+      var36.x2[0] = var35.x2[0] & 0xff;
+      var39.x2[1] = (var35.x2[1] >> 8) & 0xff;
+      var36.x2[1] = var35.x2[1] & 0xff;
       /* 2: storew */
       ptr0[i] = var36;
       /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var40 = _src.x2[1];
-        var41 = _src.x2[0];
-      }
+      var40 = (var39.i >> 8) & 0xff;
+      var41 = var39.i & 0xff;
       /* 4: splatbw */
       var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
       /* 5: storew */
@@ -9157,10 +8339,9 @@ _backup_cogorc_convert_YUY2_Y444 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -9170,6 +8351,7 @@ cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -9192,7 +8374,7 @@ cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D3, ORC_VAR_T3, ORC_VAR_D1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -9219,10 +8401,9 @@ cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_UYVY_Y444 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -9249,27 +8430,15 @@ cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       /* 0: loadl */
       var35 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[0];
-        var36.x2[0] = _src.x2[1];
-        var39.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[1];
-        var36.x2[1] = _src.x2[1];
-        var39.x2[1] = _src.x2[0];
-      }
+      var36.x2[0] = (var35.x2[0] >> 8) & 0xff;
+      var39.x2[0] = var35.x2[0] & 0xff;
+      var36.x2[1] = (var35.x2[1] >> 8) & 0xff;
+      var39.x2[1] = var35.x2[1] & 0xff;
       /* 2: storew */
       ptr0[i] = var36;
       /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var40 = _src.x2[1];
-        var41 = _src.x2[0];
-      }
+      var40 = (var39.i >> 8) & 0xff;
+      var41 = var39.i & 0xff;
       /* 4: splatbw */
       var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
       /* 5: storew */
@@ -9285,7 +8454,7 @@ cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_UYVY_Y444 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_UYVY_Y444 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -9314,27 +8483,15 @@ _backup_cogorc_convert_UYVY_Y444 (OrcExecutor * ORC_RESTRICT ex)
       /* 0: loadl */
       var35 = ptr4[i];
       /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[0];
-        var36.x2[0] = _src.x2[1];
-        var39.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[1];
-        var36.x2[1] = _src.x2[1];
-        var39.x2[1] = _src.x2[0];
-      }
+      var36.x2[0] = (var35.x2[0] >> 8) & 0xff;
+      var39.x2[0] = var35.x2[0] & 0xff;
+      var36.x2[1] = (var35.x2[1] >> 8) & 0xff;
+      var39.x2[1] = var35.x2[1] & 0xff;
       /* 2: storew */
       ptr0[i] = var36;
       /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var40 = _src.x2[1];
-        var41 = _src.x2[0];
-      }
+      var40 = (var39.i >> 8) & 0xff;
+      var41 = var39.i & 0xff;
       /* 4: splatbw */
       var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
       /* 5: storew */
@@ -9349,10 +8506,9 @@ _backup_cogorc_convert_UYVY_Y444 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -9362,6 +8518,7 @@ cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -9384,7 +8541,7 @@ cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D3, ORC_VAR_T3, ORC_VAR_D1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -9411,10 +8568,8 @@ cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_UYVY_I420 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1,
-    orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3,
-    orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1,
-    const orc_uint32 * ORC_RESTRICT s2, int n)
+cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3,
+    orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n)
 {
   int i;
   orc_union16 *ORC_RESTRICT ptr0;
@@ -9445,47 +8600,27 @@ cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1,
     /* 0: loadl */
     var35 = ptr4[i];
     /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
+    var39.x2[0] = (var35.x2[0] >> 8) & 0xff;
+    var40.x2[0] = var35.x2[0] & 0xff;
+    var39.x2[1] = (var35.x2[1] >> 8) & 0xff;
+    var40.x2[1] = var35.x2[1] & 0xff;
     /* 2: storew */
     ptr0[i] = var39;
     /* 3: loadl */
     var36 = ptr5[i];
     /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var41.x2[0] = _src.x2[1];
-      var42.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var41.x2[1] = _src.x2[1];
-      var42.x2[1] = _src.x2[0];
-    }
+    var41.x2[0] = (var36.x2[0] >> 8) & 0xff;
+    var42.x2[0] = var36.x2[0] & 0xff;
+    var41.x2[1] = (var36.x2[1] >> 8) & 0xff;
+    var42.x2[1] = var36.x2[1] & 0xff;
     /* 5: storew */
     ptr1[i] = var41;
     /* 6: avgub */
     var43.x2[0] = ((orc_uint8) var40.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
     var43.x2[1] = ((orc_uint8) var40.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
     /* 7: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var37 = _src.x2[1];
-      var38 = _src.x2[0];
-    }
+    var37 = (var43.i >> 8) & 0xff;
+    var38 = var43.i & 0xff;
     /* 8: storeb */
     ptr3[i] = var37;
     /* 9: storeb */
@@ -9496,7 +8631,7 @@ cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_convert_UYVY_I420 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_UYVY_I420 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -9528,47 +8663,27 @@ _backup_cogorc_convert_UYVY_I420 (OrcExecutor * ORC_RESTRICT ex)
     /* 0: loadl */
     var35 = ptr4[i];
     /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
+    var39.x2[0] = (var35.x2[0] >> 8) & 0xff;
+    var40.x2[0] = var35.x2[0] & 0xff;
+    var39.x2[1] = (var35.x2[1] >> 8) & 0xff;
+    var40.x2[1] = var35.x2[1] & 0xff;
     /* 2: storew */
     ptr0[i] = var39;
     /* 3: loadl */
     var36 = ptr5[i];
     /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var41.x2[0] = _src.x2[1];
-      var42.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var41.x2[1] = _src.x2[1];
-      var42.x2[1] = _src.x2[0];
-    }
+    var41.x2[0] = (var36.x2[0] >> 8) & 0xff;
+    var42.x2[0] = var36.x2[0] & 0xff;
+    var41.x2[1] = (var36.x2[1] >> 8) & 0xff;
+    var42.x2[1] = var36.x2[1] & 0xff;
     /* 5: storew */
     ptr1[i] = var41;
     /* 6: avgub */
     var43.x2[0] = ((orc_uint8) var40.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
     var43.x2[1] = ((orc_uint8) var40.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
     /* 7: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var37 = _src.x2[1];
-      var38 = _src.x2[0];
-    }
+    var37 = (var43.i >> 8) & 0xff;
+    var38 = var43.i & 0xff;
     /* 8: storeb */
     ptr3[i] = var37;
     /* 9: storeb */
@@ -9578,10 +8693,8 @@ _backup_cogorc_convert_UYVY_I420 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1,
-    orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3,
-    orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1,
-    const orc_uint32 * ORC_RESTRICT s2, int n)
+cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3,
+    orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -9591,6 +8704,7 @@ cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_convert_UYVY_I420");
@@ -9618,7 +8732,7 @@ cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D4, ORC_VAR_D3, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -9642,11 +8756,10 @@ cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1,
 /* cogorc_convert_AYUV_I420 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, orc_uint8 * ORC_RESTRICT d4, int d4_stride,
-    const orc_uint64 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint64 * ORC_RESTRICT s2, int s2_stride, int n, int m)
+cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, orc_uint8 * d4, int d4_stride,
+    const orc_uint64 * s1, int s1_stride, const orc_uint64 * s2, int s2_stride,
+    int n, int m)
 {
   int i;
   int j;
@@ -9687,57 +8800,25 @@ cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       /* 0: loadq */
       var40 = ptr4[i];
       /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.x2[0];
-        var46.x2[0] = _src.x2[1];
-        var47.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var40.x2[1];
-        var46.x2[1] = _src.x2[1];
-        var47.x2[1] = _src.x2[0];
-      }
+      var46.x2[0] = (var40.x2[0] >> 16) & 0xffff;
+      var47.x2[0] = var40.x2[0] & 0xffff;
+      var46.x2[1] = (var40.x2[1] >> 16) & 0xffff;
+      var47.x2[1] = var40.x2[1] & 0xffff;
       /* 2: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var47.x2[0];
-        var41.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var47.x2[1];
-        var41.x2[1] = _src.x2[1];
-      }
+      var41.x2[0] = ((orc_uint16) var47.x2[0] >> 8) & 0xff;
+      var41.x2[1] = ((orc_uint16) var47.x2[1] >> 8) & 0xff;
       /* 3: storew */
       ptr0[i] = var41;
       /* 4: loadq */
       var42 = ptr5[i];
       /* 5: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var42.x2[0];
-        var48.x2[0] = _src.x2[1];
-        var49.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var42.x2[1];
-        var48.x2[1] = _src.x2[1];
-        var49.x2[1] = _src.x2[0];
-      }
+      var48.x2[0] = (var42.x2[0] >> 16) & 0xffff;
+      var49.x2[0] = var42.x2[0] & 0xffff;
+      var48.x2[1] = (var42.x2[1] >> 16) & 0xffff;
+      var49.x2[1] = var42.x2[1] & 0xffff;
       /* 6: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var49.x2[0];
-        var43.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var49.x2[1];
-        var43.x2[1] = _src.x2[1];
-      }
+      var43.x2[0] = ((orc_uint16) var49.x2[0] >> 8) & 0xff;
+      var43.x2[1] = ((orc_uint16) var49.x2[1] >> 8) & 0xff;
       /* 7: storew */
       ptr1[i] = var43;
       /* 8: avgub */
@@ -9750,36 +8831,20 @@ cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       var50.x4[3] =
           ((orc_uint8) var46.x4[3] + (orc_uint8) var48.x4[3] + 1) >> 1;
       /* 9: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var50.x2[0];
-        var51.x2[0] = _src.x2[1];
-        var52.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var50.x2[1];
-        var51.x2[1] = _src.x2[1];
-        var52.x2[1] = _src.x2[0];
-      }
+      var51.x2[0] = (var50.x2[0] >> 8) & 0xff;
+      var52.x2[0] = var50.x2[0] & 0xff;
+      var51.x2[1] = (var50.x2[1] >> 8) & 0xff;
+      var52.x2[1] = var50.x2[1] & 0xff;
       /* 10: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var52.i;
-        var53 = _src.x2[1];
-        var54 = _src.x2[0];
-      }
+      var53 = (var52.i >> 8) & 0xff;
+      var54 = var52.i & 0xff;
       /* 11: avgub */
       var44 = ((orc_uint8) var53 + (orc_uint8) var54 + 1) >> 1;
       /* 12: storeb */
       ptr2[i] = var44;
       /* 13: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var51.i;
-        var55 = _src.x2[1];
-        var56 = _src.x2[0];
-      }
+      var55 = (var51.i >> 8) & 0xff;
+      var56 = var51.i & 0xff;
       /* 14: avgub */
       var45 = ((orc_uint8) var55 + (orc_uint8) var56 + 1) >> 1;
       /* 15: storeb */
@@ -9791,7 +8856,7 @@ cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_AYUV_I420 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_AYUV_I420 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -9834,57 +8899,25 @@ _backup_cogorc_convert_AYUV_I420 (OrcExecutor * ORC_RESTRICT ex)
       /* 0: loadq */
       var40 = ptr4[i];
       /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.x2[0];
-        var46.x2[0] = _src.x2[1];
-        var47.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var40.x2[1];
-        var46.x2[1] = _src.x2[1];
-        var47.x2[1] = _src.x2[0];
-      }
+      var46.x2[0] = (var40.x2[0] >> 16) & 0xffff;
+      var47.x2[0] = var40.x2[0] & 0xffff;
+      var46.x2[1] = (var40.x2[1] >> 16) & 0xffff;
+      var47.x2[1] = var40.x2[1] & 0xffff;
       /* 2: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var47.x2[0];
-        var41.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var47.x2[1];
-        var41.x2[1] = _src.x2[1];
-      }
+      var41.x2[0] = ((orc_uint16) var47.x2[0] >> 8) & 0xff;
+      var41.x2[1] = ((orc_uint16) var47.x2[1] >> 8) & 0xff;
       /* 3: storew */
       ptr0[i] = var41;
       /* 4: loadq */
       var42 = ptr5[i];
       /* 5: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var42.x2[0];
-        var48.x2[0] = _src.x2[1];
-        var49.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var42.x2[1];
-        var48.x2[1] = _src.x2[1];
-        var49.x2[1] = _src.x2[0];
-      }
+      var48.x2[0] = (var42.x2[0] >> 16) & 0xffff;
+      var49.x2[0] = var42.x2[0] & 0xffff;
+      var48.x2[1] = (var42.x2[1] >> 16) & 0xffff;
+      var49.x2[1] = var42.x2[1] & 0xffff;
       /* 6: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var49.x2[0];
-        var43.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var49.x2[1];
-        var43.x2[1] = _src.x2[1];
-      }
+      var43.x2[0] = ((orc_uint16) var49.x2[0] >> 8) & 0xff;
+      var43.x2[1] = ((orc_uint16) var49.x2[1] >> 8) & 0xff;
       /* 7: storew */
       ptr1[i] = var43;
       /* 8: avgub */
@@ -9897,36 +8930,20 @@ _backup_cogorc_convert_AYUV_I420 (OrcExecutor * ORC_RESTRICT ex)
       var50.x4[3] =
           ((orc_uint8) var46.x4[3] + (orc_uint8) var48.x4[3] + 1) >> 1;
       /* 9: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var50.x2[0];
-        var51.x2[0] = _src.x2[1];
-        var52.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var50.x2[1];
-        var51.x2[1] = _src.x2[1];
-        var52.x2[1] = _src.x2[0];
-      }
+      var51.x2[0] = (var50.x2[0] >> 8) & 0xff;
+      var52.x2[0] = var50.x2[0] & 0xff;
+      var51.x2[1] = (var50.x2[1] >> 8) & 0xff;
+      var52.x2[1] = var50.x2[1] & 0xff;
       /* 10: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var52.i;
-        var53 = _src.x2[1];
-        var54 = _src.x2[0];
-      }
+      var53 = (var52.i >> 8) & 0xff;
+      var54 = var52.i & 0xff;
       /* 11: avgub */
       var44 = ((orc_uint8) var53 + (orc_uint8) var54 + 1) >> 1;
       /* 12: storeb */
       ptr2[i] = var44;
       /* 13: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var51.i;
-        var55 = _src.x2[1];
-        var56 = _src.x2[0];
-      }
+      var55 = (var51.i >> 8) & 0xff;
+      var56 = var51.i & 0xff;
       /* 14: avgub */
       var45 = ((orc_uint8) var55 + (orc_uint8) var56 + 1) >> 1;
       /* 15: storeb */
@@ -9937,11 +8954,10 @@ _backup_cogorc_convert_AYUV_I420 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, orc_uint8 * ORC_RESTRICT d4, int d4_stride,
-    const orc_uint64 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint64 * ORC_RESTRICT s2, int s2_stride, int n, int m)
+cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, orc_uint8 * d4, int d4_stride,
+    const orc_uint64 * s1, int s1_stride, const orc_uint64 * s2, int s2_stride,
+    int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -9951,6 +8967,7 @@ cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -9992,7 +9009,7 @@ cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "avgub", 0, ORC_VAR_D4, ORC_VAR_T7, ORC_VAR_T8,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -10023,8 +9040,8 @@ cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_AYUV_YUY2 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -10048,54 +9065,26 @@ cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 0: loadq */
       var37 = ptr4[i];
       /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
+      var39.x2[0] = (var37.x2[0] >> 16) & 0xffff;
+      var40.x2[0] = var37.x2[0] & 0xffff;
+      var39.x2[1] = (var37.x2[1] >> 16) & 0xffff;
+      var40.x2[1] = var37.x2[1] & 0xffff;
       /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var39.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
+      var41.i = (var39.i >> 16) & 0xffff;
+      var42.i = var39.i & 0xffff;
       /* 3: avgub */
       var43.x2[0] =
           ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
       var43.x2[1] =
           ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
       /* 4: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[0];
-        var44.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[1];
-        var44.x2[1] = _src.x2[1];
-      }
+      var44.x2[0] = ((orc_uint16) var40.x2[0] >> 8) & 0xff;
+      var44.x2[1] = ((orc_uint16) var40.x2[1] >> 8) & 0xff;
       /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var44.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var44.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var38.x2[1] = _dest.i;
-      }
+      var38.x2[0] =
+          ((orc_uint8) var44.x2[0] & 0x00ff) | ((orc_uint8) var43.x2[0] << 8);
+      var38.x2[1] =
+          ((orc_uint8) var44.x2[1] & 0x00ff) | ((orc_uint8) var43.x2[1] << 8);
       /* 6: storel */
       ptr0[i] = var38;
     }
@@ -10105,7 +9094,7 @@ cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_AYUV_YUY2 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_AYUV_YUY2 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -10131,54 +9120,26 @@ _backup_cogorc_convert_AYUV_YUY2 (OrcExecutor * ORC_RESTRICT ex)
       /* 0: loadq */
       var37 = ptr4[i];
       /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
+      var39.x2[0] = (var37.x2[0] >> 16) & 0xffff;
+      var40.x2[0] = var37.x2[0] & 0xffff;
+      var39.x2[1] = (var37.x2[1] >> 16) & 0xffff;
+      var40.x2[1] = var37.x2[1] & 0xffff;
       /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var39.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
+      var41.i = (var39.i >> 16) & 0xffff;
+      var42.i = var39.i & 0xffff;
       /* 3: avgub */
       var43.x2[0] =
           ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
       var43.x2[1] =
           ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
       /* 4: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[0];
-        var44.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[1];
-        var44.x2[1] = _src.x2[1];
-      }
+      var44.x2[0] = ((orc_uint16) var40.x2[0] >> 8) & 0xff;
+      var44.x2[1] = ((orc_uint16) var40.x2[1] >> 8) & 0xff;
       /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var44.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var44.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var38.x2[1] = _dest.i;
-      }
+      var38.x2[0] =
+          ((orc_uint8) var44.x2[0] & 0x00ff) | ((orc_uint8) var43.x2[0] << 8);
+      var38.x2[1] =
+          ((orc_uint8) var44.x2[1] & 0x00ff) | ((orc_uint8) var43.x2[1] << 8);
       /* 6: storel */
       ptr0[i] = var38;
     }
@@ -10187,8 +9148,8 @@ _backup_cogorc_convert_AYUV_YUY2 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -10198,6 +9159,7 @@ cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -10222,7 +9184,7 @@ cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -10245,8 +9207,8 @@ cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_AYUV_UYVY */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -10270,54 +9232,26 @@ cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 0: loadq */
       var37 = ptr4[i];
       /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
+      var39.x2[0] = (var37.x2[0] >> 16) & 0xffff;
+      var40.x2[0] = var37.x2[0] & 0xffff;
+      var39.x2[1] = (var37.x2[1] >> 16) & 0xffff;
+      var40.x2[1] = var37.x2[1] & 0xffff;
       /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var39.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
+      var41.i = (var39.i >> 16) & 0xffff;
+      var42.i = var39.i & 0xffff;
       /* 3: avgub */
       var43.x2[0] =
           ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
       var43.x2[1] =
           ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
       /* 4: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[0];
-        var44.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[1];
-        var44.x2[1] = _src.x2[1];
-      }
+      var44.x2[0] = ((orc_uint16) var40.x2[0] >> 8) & 0xff;
+      var44.x2[1] = ((orc_uint16) var40.x2[1] >> 8) & 0xff;
       /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[0];
-        _dest.x2[1] = var44.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[1];
-        _dest.x2[1] = var44.x2[1];
-        var38.x2[1] = _dest.i;
-      }
+      var38.x2[0] =
+          ((orc_uint8) var43.x2[0] & 0x00ff) | ((orc_uint8) var44.x2[0] << 8);
+      var38.x2[1] =
+          ((orc_uint8) var43.x2[1] & 0x00ff) | ((orc_uint8) var44.x2[1] << 8);
       /* 6: storel */
       ptr0[i] = var38;
     }
@@ -10327,7 +9261,7 @@ cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_AYUV_UYVY (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_AYUV_UYVY (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -10353,54 +9287,26 @@ _backup_cogorc_convert_AYUV_UYVY (OrcExecutor * ORC_RESTRICT ex)
       /* 0: loadq */
       var37 = ptr4[i];
       /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
+      var39.x2[0] = (var37.x2[0] >> 16) & 0xffff;
+      var40.x2[0] = var37.x2[0] & 0xffff;
+      var39.x2[1] = (var37.x2[1] >> 16) & 0xffff;
+      var40.x2[1] = var37.x2[1] & 0xffff;
       /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var39.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
+      var41.i = (var39.i >> 16) & 0xffff;
+      var42.i = var39.i & 0xffff;
       /* 3: avgub */
       var43.x2[0] =
           ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
       var43.x2[1] =
           ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
       /* 4: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[0];
-        var44.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[1];
-        var44.x2[1] = _src.x2[1];
-      }
+      var44.x2[0] = ((orc_uint16) var40.x2[0] >> 8) & 0xff;
+      var44.x2[1] = ((orc_uint16) var40.x2[1] >> 8) & 0xff;
       /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[0];
-        _dest.x2[1] = var44.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[1];
-        _dest.x2[1] = var44.x2[1];
-        var38.x2[1] = _dest.i;
-      }
+      var38.x2[0] =
+          ((orc_uint8) var43.x2[0] & 0x00ff) | ((orc_uint8) var44.x2[0] << 8);
+      var38.x2[1] =
+          ((orc_uint8) var43.x2[1] & 0x00ff) | ((orc_uint8) var44.x2[1] << 8);
       /* 6: storel */
       ptr0[i] = var38;
     }
@@ -10409,8 +9315,8 @@ _backup_cogorc_convert_AYUV_UYVY (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -10420,6 +9326,7 @@ cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -10444,7 +9351,7 @@ cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -10467,10 +9374,9 @@ cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_AYUV_Y42B */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint64 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -10499,52 +9405,28 @@ cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       /* 0: loadq */
       var36 = ptr4[i];
       /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var36.x2[0];
-        var40.x2[0] = _src.x2[1];
-        var41.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var36.x2[1];
-        var40.x2[1] = _src.x2[1];
-        var41.x2[1] = _src.x2[0];
-      }
+      var40.x2[0] = (var36.x2[0] >> 16) & 0xffff;
+      var41.x2[0] = var36.x2[0] & 0xffff;
+      var40.x2[1] = (var36.x2[1] >> 16) & 0xffff;
+      var41.x2[1] = var36.x2[1] & 0xffff;
       /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var42.i = _src.x2[1];
-        var43.i = _src.x2[0];
-      }
+      var42.i = (var40.i >> 16) & 0xffff;
+      var43.i = var40.i & 0xffff;
       /* 3: avgub */
       var44.x2[0] =
           ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
       var44.x2[1] =
           ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
       /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var44.i;
-        var37 = _src.x2[1];
-        var38 = _src.x2[0];
-      }
+      var37 = (var44.i >> 8) & 0xff;
+      var38 = var44.i & 0xff;
       /* 5: storeb */
       ptr2[i] = var37;
       /* 6: storeb */
       ptr1[i] = var38;
       /* 7: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var41.x2[0];
-        var39.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var41.x2[1];
-        var39.x2[1] = _src.x2[1];
-      }
+      var39.x2[0] = ((orc_uint16) var41.x2[0] >> 8) & 0xff;
+      var39.x2[1] = ((orc_uint16) var41.x2[1] >> 8) & 0xff;
       /* 8: storew */
       ptr0[i] = var39;
     }
@@ -10554,7 +9436,7 @@ cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_AYUV_Y42B (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_AYUV_Y42B (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -10585,52 +9467,28 @@ _backup_cogorc_convert_AYUV_Y42B (OrcExecutor * ORC_RESTRICT ex)
       /* 0: loadq */
       var36 = ptr4[i];
       /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var36.x2[0];
-        var40.x2[0] = _src.x2[1];
-        var41.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var36.x2[1];
-        var40.x2[1] = _src.x2[1];
-        var41.x2[1] = _src.x2[0];
-      }
+      var40.x2[0] = (var36.x2[0] >> 16) & 0xffff;
+      var41.x2[0] = var36.x2[0] & 0xffff;
+      var40.x2[1] = (var36.x2[1] >> 16) & 0xffff;
+      var41.x2[1] = var36.x2[1] & 0xffff;
       /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var42.i = _src.x2[1];
-        var43.i = _src.x2[0];
-      }
+      var42.i = (var40.i >> 16) & 0xffff;
+      var43.i = var40.i & 0xffff;
       /* 3: avgub */
       var44.x2[0] =
           ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
       var44.x2[1] =
           ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
       /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var44.i;
-        var37 = _src.x2[1];
-        var38 = _src.x2[0];
-      }
+      var37 = (var44.i >> 8) & 0xff;
+      var38 = var44.i & 0xff;
       /* 5: storeb */
       ptr2[i] = var37;
       /* 6: storeb */
       ptr1[i] = var38;
       /* 7: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var41.x2[0];
-        var39.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var41.x2[1];
-        var39.x2[1] = _src.x2[1];
-      }
+      var39.x2[0] = ((orc_uint16) var41.x2[0] >> 8) & 0xff;
+      var39.x2[1] = ((orc_uint16) var41.x2[1] >> 8) & 0xff;
       /* 8: storew */
       ptr0[i] = var39;
     }
@@ -10639,10 +9497,9 @@ _backup_cogorc_convert_AYUV_Y42B (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint64 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -10652,6 +9509,7 @@ cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -10677,7 +9535,7 @@ cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -10704,10 +9562,9 @@ cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_AYUV_Y444 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -10733,29 +9590,17 @@ cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
       /* 0: loadl */
       var34 = ptr4[i];
       /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var34.i;
-        var38.i = _src.x2[1];
-        var39.i = _src.x2[0];
-      }
+      var38.i = (var34.i >> 16) & 0xffff;
+      var39.i = var34.i & 0xffff;
       /* 2: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var38.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
+      var35 = (var38.i >> 8) & 0xff;
+      var36 = var38.i & 0xff;
       /* 3: storeb */
       ptr2[i] = var35;
       /* 4: storeb */
       ptr1[i] = var36;
       /* 5: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var37 = _src.x2[1];
-      }
+      var37 = ((orc_uint16) var39.i >> 8) & 0xff;
       /* 6: storeb */
       ptr0[i] = var37;
     }
@@ -10765,7 +9610,7 @@ cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_AYUV_Y444 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_AYUV_Y444 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -10793,29 +9638,17 @@ _backup_cogorc_convert_AYUV_Y444 (OrcExecutor * ORC_RESTRICT ex)
       /* 0: loadl */
       var34 = ptr4[i];
       /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var34.i;
-        var38.i = _src.x2[1];
-        var39.i = _src.x2[0];
-      }
+      var38.i = (var34.i >> 16) & 0xffff;
+      var39.i = var34.i & 0xffff;
       /* 2: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var38.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
+      var35 = (var38.i >> 8) & 0xff;
+      var36 = var38.i & 0xff;
       /* 3: storeb */
       ptr2[i] = var35;
       /* 4: storeb */
       ptr1[i] = var36;
       /* 5: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var37 = _src.x2[1];
-      }
+      var37 = ((orc_uint16) var39.i >> 8) & 0xff;
       /* 6: storeb */
       ptr0[i] = var37;
     }
@@ -10824,10 +9657,9 @@ _backup_cogorc_convert_AYUV_Y444 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
-    orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3,
-    int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n,
-    int m)
+cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2,
+    int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -10837,6 +9669,7 @@ cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -10856,7 +9689,7 @@ cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
           ORC_VAR_D1, ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -10883,10 +9716,9 @@ cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_Y42B_YUY2 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1,
+    int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3,
+    int s3_stride, int n, int m)
 {
   int i;
   int j;
@@ -10913,27 +9745,14 @@ cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 1: loadb */
       var34 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var33;
-        _dest.x2[1] = var34;
-        var37.i = _dest.i;
-      }
+      var37.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8);
       /* 3: loadw */
       var35 = ptr4[i];
       /* 4: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var35.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var36.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var35.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var36.x2[1] = _dest.i;
-      }
+      var36.x2[0] =
+          ((orc_uint8) var35.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8);
+      var36.x2[1] =
+          ((orc_uint8) var35.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8);
       /* 5: storel */
       ptr0[i] = var36;
     }
@@ -10943,7 +9762,7 @@ cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_Y42B_YUY2 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_Y42B_YUY2 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -10972,27 +9791,14 @@ _backup_cogorc_convert_Y42B_YUY2 (OrcExecutor * ORC_RESTRICT ex)
       /* 1: loadb */
       var34 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var33;
-        _dest.x2[1] = var34;
-        var37.i = _dest.i;
-      }
+      var37.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8);
       /* 3: loadw */
       var35 = ptr4[i];
       /* 4: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var35.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var36.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var35.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var36.x2[1] = _dest.i;
-      }
+      var36.x2[0] =
+          ((orc_uint8) var35.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8);
+      var36.x2[1] =
+          ((orc_uint8) var35.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8);
       /* 5: storel */
       ptr0[i] = var36;
     }
@@ -11001,10 +9807,9 @@ _backup_cogorc_convert_Y42B_YUY2 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1,
+    int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3,
+    int s3_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -11014,6 +9819,7 @@ cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -11030,7 +9836,7 @@ cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -11057,10 +9863,9 @@ cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_Y42B_UYVY */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1,
+    int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3,
+    int s3_stride, int n, int m)
 {
   int i;
   int j;
@@ -11087,27 +9892,14 @@ cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 1: loadb */
       var34 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var33;
-        _dest.x2[1] = var34;
-        var37.i = _dest.i;
-      }
+      var37.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8);
       /* 3: loadw */
       var35 = ptr4[i];
       /* 4: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var35.x2[0];
-        var36.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var35.x2[1];
-        var36.x2[1] = _dest.i;
-      }
+      var36.x2[0] =
+          ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var35.x2[0] << 8);
+      var36.x2[1] =
+          ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var35.x2[1] << 8);
       /* 5: storel */
       ptr0[i] = var36;
     }
@@ -11117,7 +9909,7 @@ cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_Y42B_UYVY (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_Y42B_UYVY (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -11146,27 +9938,14 @@ _backup_cogorc_convert_Y42B_UYVY (OrcExecutor * ORC_RESTRICT ex)
       /* 1: loadb */
       var34 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var33;
-        _dest.x2[1] = var34;
-        var37.i = _dest.i;
-      }
+      var37.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8);
       /* 3: loadw */
       var35 = ptr4[i];
       /* 4: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var35.x2[0];
-        var36.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var35.x2[1];
-        var36.x2[1] = _dest.i;
-      }
+      var36.x2[0] =
+          ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var35.x2[0] << 8);
+      var36.x2[1] =
+          ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var35.x2[1] << 8);
       /* 5: storel */
       ptr0[i] = var36;
     }
@@ -11175,10 +9954,9 @@ _backup_cogorc_convert_Y42B_UYVY (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1,
+    int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3,
+    int s3_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -11188,6 +9966,7 @@ cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -11204,7 +9983,7 @@ cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -11231,10 +10010,9 @@ cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_Y42B_AYUV */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1,
+    int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3,
+    int s3_stride, int n, int m)
 {
   int i;
   int j;
@@ -11258,8 +10036,8 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
     ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
 
     /* 3: loadpb */
-    var38.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var38.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+    var38.x2[0] = 0x000000ff;   /* 255 or 1.25987e-321f */
+    var38.x2[1] = 0x000000ff;   /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadb */
@@ -11267,47 +10045,24 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
       /* 1: loadb */
       var37 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36;
-        _dest.x2[1] = var37;
-        var41.i = _dest.i;
-      }
+      var41.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8);
       /* 4: loadw */
       var39 = ptr4[i];
       /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[0];
-        _dest.x2[1] = var39.x2[0];
-        var42.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[1];
-        _dest.x2[1] = var39.x2[1];
-        var42.x2[1] = _dest.i;
-      }
+      var42.x2[0] =
+          ((orc_uint8) var38.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8);
+      var42.x2[1] =
+          ((orc_uint8) var38.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8);
       /* 6: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.i;
-        _dest.x2[1] = var41.i;
-        var43.i = _dest.i;
-      }
+      var43.i =
+          ((orc_uint16) var41.i & 0x0000ffff) | ((orc_uint16) var41.i << 16);
       /* 7: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var42.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var42.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var40.x2[1] = _dest.i;
-      }
+      var40.x2[0] =
+          ((orc_uint16) var42.
+          x2[0] & 0x0000ffff) | ((orc_uint16) var43.x2[0] << 16);
+      var40.x2[1] =
+          ((orc_uint16) var42.
+          x2[1] & 0x0000ffff) | ((orc_uint16) var43.x2[1] << 16);
       /* 8: storeq */
       ptr0[i] = var40;
     }
@@ -11317,7 +10072,7 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -11343,8 +10098,8 @@ _backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ORC_RESTRICT ex)
     ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
 
     /* 3: loadpb */
-    var38.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var38.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+    var38.x2[0] = 0x000000ff;   /* 255 or 1.25987e-321f */
+    var38.x2[1] = 0x000000ff;   /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadb */
@@ -11352,47 +10107,24 @@ _backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ORC_RESTRICT ex)
       /* 1: loadb */
       var37 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36;
-        _dest.x2[1] = var37;
-        var41.i = _dest.i;
-      }
+      var41.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8);
       /* 4: loadw */
       var39 = ptr4[i];
       /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[0];
-        _dest.x2[1] = var39.x2[0];
-        var42.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[1];
-        _dest.x2[1] = var39.x2[1];
-        var42.x2[1] = _dest.i;
-      }
+      var42.x2[0] =
+          ((orc_uint8) var38.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8);
+      var42.x2[1] =
+          ((orc_uint8) var38.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8);
       /* 6: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.i;
-        _dest.x2[1] = var41.i;
-        var43.i = _dest.i;
-      }
+      var43.i =
+          ((orc_uint16) var41.i & 0x0000ffff) | ((orc_uint16) var41.i << 16);
       /* 7: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var42.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var42.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var40.x2[1] = _dest.i;
-      }
+      var40.x2[0] =
+          ((orc_uint16) var42.
+          x2[0] & 0x0000ffff) | ((orc_uint16) var43.x2[0] << 16);
+      var40.x2[1] =
+          ((orc_uint16) var42.
+          x2[1] & 0x0000ffff) | ((orc_uint16) var43.x2[1] << 16);
       /* 8: storeq */
       ptr0[i] = var40;
     }
@@ -11401,10 +10133,9 @@ _backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1,
+    int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3,
+    int s3_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -11414,6 +10145,7 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -11438,7 +10170,7 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -11465,10 +10197,9 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_Y444_YUY2 */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint16 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1,
+    int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3,
+    int s3_stride, int n, int m)
 {
   int i;
   int j;
@@ -11498,25 +10229,13 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 1: loadw */
       var37 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var40.x2[1] = _dest.i;
-      }
+      var40.x2[0] =
+          ((orc_uint8) var36.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8);
+      var40.x2[1] =
+          ((orc_uint8) var36.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8);
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
+      var41.i = (var40.i >> 16) & 0xffff;
+      var42.i = var40.i & 0xffff;
       /* 4: avgub */
       var43.x2[0] =
           ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
@@ -11525,18 +10244,10 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 5: loadw */
       var38 = ptr4[i];
       /* 6: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var39.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var39.x2[1] = _dest.i;
-      }
+      var39.x2[0] =
+          ((orc_uint8) var38.x2[0] & 0x00ff) | ((orc_uint8) var43.x2[0] << 8);
+      var39.x2[1] =
+          ((orc_uint8) var38.x2[1] & 0x00ff) | ((orc_uint8) var43.x2[1] << 8);
       /* 7: storel */
       ptr0[i] = var39;
     }
@@ -11546,7 +10257,7 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -11578,25 +10289,13 @@ _backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ORC_RESTRICT ex)
       /* 1: loadw */
       var37 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var40.x2[1] = _dest.i;
-      }
+      var40.x2[0] =
+          ((orc_uint8) var36.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8);
+      var40.x2[1] =
+          ((orc_uint8) var36.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8);
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
+      var41.i = (var40.i >> 16) & 0xffff;
+      var42.i = var40.i & 0xffff;
       /* 4: avgub */
       var43.x2[0] =
           ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
@@ -11605,18 +10304,10 @@ _backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ORC_RESTRICT ex)
       /* 5: loadw */
       var38 = ptr4[i];
       /* 6: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var39.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var39.x2[1] = _dest.i;
-      }
+      var39.x2[0] =
+          ((orc_uint8) var38.x2[0] & 0x00ff) | ((orc_uint8) var43.x2[0] << 8);
+      var39.x2[1] =
+          ((orc_uint8) var38.x2[1] & 0x00ff) | ((orc_uint8) var43.x2[1] << 8);
       /* 7: storel */
       ptr0[i] = var39;
     }
@@ -11625,10 +10316,9 @@ _backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint16 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1,
+    int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3,
+    int s3_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -11638,6 +10328,7 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -11661,7 +10352,7 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -11688,10 +10379,9 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_Y444_UYVY */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint16 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1,
+    int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3,
+    int s3_stride, int n, int m)
 {
   int i;
   int j;
@@ -11721,25 +10411,13 @@ cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 1: loadw */
       var37 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var40.x2[1] = _dest.i;
-      }
+      var40.x2[0] =
+          ((orc_uint8) var36.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8);
+      var40.x2[1] =
+          ((orc_uint8) var36.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8);
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
+      var41.i = (var40.i >> 16) & 0xffff;
+      var42.i = var40.i & 0xffff;
       /* 4: avgub */
       var43.x2[0] =
           ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
@@ -11748,18 +10426,10 @@ cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 5: loadw */
       var38 = ptr4[i];
       /* 6: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[0];
-        _dest.x2[1] = var38.x2[0];
-        var39.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[1];
-        _dest.x2[1] = var38.x2[1];
-        var39.x2[1] = _dest.i;
-      }
+      var39.x2[0] =
+          ((orc_uint8) var43.x2[0] & 0x00ff) | ((orc_uint8) var38.x2[0] << 8);
+      var39.x2[1] =
+          ((orc_uint8) var43.x2[1] & 0x00ff) | ((orc_uint8) var38.x2[1] << 8);
       /* 7: storel */
       ptr0[i] = var39;
     }
@@ -11769,7 +10439,7 @@ cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_Y444_UYVY (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_Y444_UYVY (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -11801,25 +10471,13 @@ _backup_cogorc_convert_Y444_UYVY (OrcExecutor * ORC_RESTRICT ex)
       /* 1: loadw */
       var37 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var40.x2[1] = _dest.i;
-      }
+      var40.x2[0] =
+          ((orc_uint8) var36.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8);
+      var40.x2[1] =
+          ((orc_uint8) var36.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8);
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
+      var41.i = (var40.i >> 16) & 0xffff;
+      var42.i = var40.i & 0xffff;
       /* 4: avgub */
       var43.x2[0] =
           ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
@@ -11828,18 +10486,10 @@ _backup_cogorc_convert_Y444_UYVY (OrcExecutor * ORC_RESTRICT ex)
       /* 5: loadw */
       var38 = ptr4[i];
       /* 6: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[0];
-        _dest.x2[1] = var38.x2[0];
-        var39.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[1];
-        _dest.x2[1] = var38.x2[1];
-        var39.x2[1] = _dest.i;
-      }
+      var39.x2[0] =
+          ((orc_uint8) var43.x2[0] & 0x00ff) | ((orc_uint8) var38.x2[0] << 8);
+      var39.x2[1] =
+          ((orc_uint8) var43.x2[1] & 0x00ff) | ((orc_uint8) var38.x2[1] << 8);
       /* 7: storel */
       ptr0[i] = var39;
     }
@@ -11848,10 +10498,9 @@ _backup_cogorc_convert_Y444_UYVY (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint16 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint16 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1,
+    int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3,
+    int s3_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -11861,6 +10510,7 @@ cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -11884,7 +10534,7 @@ cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -11911,10 +10561,9 @@ cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_Y444_AYUV */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1,
+    int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3,
+    int s3_stride, int n, int m)
 {
   int i;
   int j;
@@ -11937,7 +10586,7 @@ cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
     ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
 
     /* 3: loadpb */
-    var36 = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
+    var36 = 0x000000ff;         /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadb */
@@ -11945,28 +10594,14 @@ cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 1: loadb */
       var35 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var34;
-        _dest.x2[1] = var35;
-        var39.i = _dest.i;
-      }
+      var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8);
       /* 4: loadb */
       var37 = ptr4[i];
       /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36;
-        _dest.x2[1] = var37;
-        var40.i = _dest.i;
-      }
+      var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8);
       /* 6: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var40.i;
-        _dest.x2[1] = var39.i;
-        var38.i = _dest.i;
-      }
+      var38.i =
+          ((orc_uint16) var40.i & 0x0000ffff) | ((orc_uint16) var39.i << 16);
       /* 7: storel */
       ptr0[i] = var38;
     }
@@ -11976,7 +10611,7 @@ cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_Y444_AYUV (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_Y444_AYUV (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -12001,7 +10636,7 @@ _backup_cogorc_convert_Y444_AYUV (OrcExecutor * ORC_RESTRICT ex)
     ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
 
     /* 3: loadpb */
-    var36 = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
+    var36 = 0x000000ff;         /* 255 or 1.25987e-321f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadb */
@@ -12009,28 +10644,14 @@ _backup_cogorc_convert_Y444_AYUV (OrcExecutor * ORC_RESTRICT ex)
       /* 1: loadb */
       var35 = ptr6[i];
       /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var34;
-        _dest.x2[1] = var35;
-        var39.i = _dest.i;
-      }
+      var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8);
       /* 4: loadb */
       var37 = ptr4[i];
       /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36;
-        _dest.x2[1] = var37;
-        var40.i = _dest.i;
-      }
+      var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8);
       /* 6: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var40.i;
-        _dest.x2[1] = var39.i;
-        var38.i = _dest.i;
-      }
+      var38.i =
+          ((orc_uint16) var40.i & 0x0000ffff) | ((orc_uint16) var39.i << 16);
       /* 7: storel */
       ptr0[i] = var38;
     }
@@ -12039,10 +10660,9 @@ _backup_cogorc_convert_Y444_AYUV (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint8 * ORC_RESTRICT s1, int s1_stride,
-    const orc_uint8 * ORC_RESTRICT s2, int s2_stride,
-    const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
+cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1,
+    int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3,
+    int s3_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -12052,6 +10672,7 @@ cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -12072,7 +10693,7 @@ cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -12099,8 +10720,8 @@ cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_AYUV_ARGB */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -12157,25 +10778,25 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
     ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
 
     /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var49.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
     /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+    var50.i = 0x0000002a;       /* 42 or 2.07508e-322f */
     /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
+    var51.i = 0x00000067;       /* 103 or 5.08888e-322f */
     /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
+    var52.i = 0x00000004;       /* 4 or 1.97626e-323f */
     /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
+    var53.i = 0x00000064;       /* 100 or 4.94066e-322f */
     /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
+    var54.i = 0x00000068;       /* 104 or 5.13828e-322f */
     /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var55.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -12186,26 +10807,14 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       var57.x4[2] = var48.x4[2] - var49.x4[2];
       var57.x4[3] = var48.x4[3] - var49.x4[3];
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
+      var58.i = (var57.i >> 16) & 0xffff;
+      var59.i = var57.i & 0xffff;
       /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
+      var60 = (var59.i >> 8) & 0xff;
+      var61 = var59.i & 0xff;
       /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
+      var62 = (var58.i >> 8) & 0xff;
+      var63 = var58.i & 0xff;
       /* 6: convsbw */
       var64.i = var60;
       /* 7: convsbw */
@@ -12259,26 +10868,12 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 36: convssswb */
       var89 = ORC_CLAMP_SB (var79.i);
       /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var61;
-        _dest.x2[1] = var87;
-        var90.i = _dest.i;
-      }
+      var90.i = ((orc_uint8) var61 & 0x00ff) | ((orc_uint8) var87 << 8);
       /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var88;
-        _dest.x2[1] = var89;
-        var91.i = _dest.i;
-      }
+      var91.i = ((orc_uint8) var88 & 0x00ff) | ((orc_uint8) var89 << 8);
       /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
+      var92.i =
+          ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16);
       /* 41: addb */
       var56.x4[0] = var92.x4[0] + var55.x4[0];
       var56.x4[1] = var92.x4[1] + var55.x4[1];
@@ -12293,7 +10888,7 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -12352,25 +10947,25 @@ _backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ORC_RESTRICT ex)
     ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
 
     /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var49.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
     /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+    var50.i = 0x0000002a;       /* 42 or 2.07508e-322f */
     /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
+    var51.i = 0x00000067;       /* 103 or 5.08888e-322f */
     /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
+    var52.i = 0x00000004;       /* 4 or 1.97626e-323f */
     /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
+    var53.i = 0x00000064;       /* 100 or 4.94066e-322f */
     /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
+    var54.i = 0x00000068;       /* 104 or 5.13828e-322f */
     /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var55.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -12381,26 +10976,14 @@ _backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ORC_RESTRICT ex)
       var57.x4[2] = var48.x4[2] - var49.x4[2];
       var57.x4[3] = var48.x4[3] - var49.x4[3];
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
+      var58.i = (var57.i >> 16) & 0xffff;
+      var59.i = var57.i & 0xffff;
       /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
+      var60 = (var59.i >> 8) & 0xff;
+      var61 = var59.i & 0xff;
       /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
+      var62 = (var58.i >> 8) & 0xff;
+      var63 = var58.i & 0xff;
       /* 6: convsbw */
       var64.i = var60;
       /* 7: convsbw */
@@ -12454,26 +11037,12 @@ _backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ORC_RESTRICT ex)
       /* 36: convssswb */
       var89 = ORC_CLAMP_SB (var79.i);
       /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var61;
-        _dest.x2[1] = var87;
-        var90.i = _dest.i;
-      }
+      var90.i = ((orc_uint8) var61 & 0x00ff) | ((orc_uint8) var87 << 8);
       /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var88;
-        _dest.x2[1] = var89;
-        var91.i = _dest.i;
-      }
+      var91.i = ((orc_uint8) var88 & 0x00ff) | ((orc_uint8) var89 << 8);
       /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
+      var92.i =
+          ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16);
       /* 41: addb */
       var56.x4[0] = var92.x4[0] + var55.x4[0];
       var56.x4[1] = var92.x4[1] + var55.x4[1];
@@ -12487,8 +11056,8 @@ _backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -12498,6 +11067,7 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -12598,7 +11168,7 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -12621,8 +11191,8 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_AYUV_BGRA */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -12679,25 +11249,25 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
     ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
 
     /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var49.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
     /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+    var50.i = 0x0000002a;       /* 42 or 2.07508e-322f */
     /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
+    var51.i = 0x00000067;       /* 103 or 5.08888e-322f */
     /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
+    var52.i = 0x00000004;       /* 4 or 1.97626e-323f */
     /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
+    var53.i = 0x00000064;       /* 100 or 4.94066e-322f */
     /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
+    var54.i = 0x00000068;       /* 104 or 5.13828e-322f */
     /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var55.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -12708,26 +11278,14 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       var57.x4[2] = var48.x4[2] - var49.x4[2];
       var57.x4[3] = var48.x4[3] - var49.x4[3];
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
+      var58.i = (var57.i >> 16) & 0xffff;
+      var59.i = var57.i & 0xffff;
       /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
+      var60 = (var59.i >> 8) & 0xff;
+      var61 = var59.i & 0xff;
       /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
+      var62 = (var58.i >> 8) & 0xff;
+      var63 = var58.i & 0xff;
       /* 6: convsbw */
       var64.i = var60;
       /* 7: convsbw */
@@ -12781,26 +11339,12 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 36: convssswb */
       var89 = ORC_CLAMP_SB (var79.i);
       /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var89;
-        _dest.x2[1] = var88;
-        var90.i = _dest.i;
-      }
+      var90.i = ((orc_uint8) var89 & 0x00ff) | ((orc_uint8) var88 << 8);
       /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var87;
-        _dest.x2[1] = var61;
-        var91.i = _dest.i;
-      }
+      var91.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var61 << 8);
       /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
+      var92.i =
+          ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16);
       /* 41: addb */
       var56.x4[0] = var92.x4[0] + var55.x4[0];
       var56.x4[1] = var92.x4[1] + var55.x4[1];
@@ -12815,7 +11359,7 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -12874,25 +11418,25 @@ _backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ORC_RESTRICT ex)
     ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
 
     /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var49.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
     /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+    var50.i = 0x0000002a;       /* 42 or 2.07508e-322f */
     /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
+    var51.i = 0x00000067;       /* 103 or 5.08888e-322f */
     /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
+    var52.i = 0x00000004;       /* 4 or 1.97626e-323f */
     /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
+    var53.i = 0x00000064;       /* 100 or 4.94066e-322f */
     /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
+    var54.i = 0x00000068;       /* 104 or 5.13828e-322f */
     /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var55.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -12903,26 +11447,14 @@ _backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ORC_RESTRICT ex)
       var57.x4[2] = var48.x4[2] - var49.x4[2];
       var57.x4[3] = var48.x4[3] - var49.x4[3];
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
+      var58.i = (var57.i >> 16) & 0xffff;
+      var59.i = var57.i & 0xffff;
       /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
+      var60 = (var59.i >> 8) & 0xff;
+      var61 = var59.i & 0xff;
       /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
+      var62 = (var58.i >> 8) & 0xff;
+      var63 = var58.i & 0xff;
       /* 6: convsbw */
       var64.i = var60;
       /* 7: convsbw */
@@ -12976,26 +11508,12 @@ _backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ORC_RESTRICT ex)
       /* 36: convssswb */
       var89 = ORC_CLAMP_SB (var79.i);
       /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var89;
-        _dest.x2[1] = var88;
-        var90.i = _dest.i;
-      }
+      var90.i = ((orc_uint8) var89 & 0x00ff) | ((orc_uint8) var88 << 8);
       /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var87;
-        _dest.x2[1] = var61;
-        var91.i = _dest.i;
-      }
+      var91.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var61 << 8);
       /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
+      var92.i =
+          ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16);
       /* 41: addb */
       var56.x4[0] = var92.x4[0] + var55.x4[0];
       var56.x4[1] = var92.x4[1] + var55.x4[1];
@@ -13009,8 +11527,8 @@ _backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -13020,6 +11538,7 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -13120,7 +11639,7 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -13143,8 +11662,8 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_AYUV_ABGR */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -13201,25 +11720,25 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
     ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
 
     /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var49.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
     /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+    var50.i = 0x0000002a;       /* 42 or 2.07508e-322f */
     /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
+    var51.i = 0x00000067;       /* 103 or 5.08888e-322f */
     /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
+    var52.i = 0x00000004;       /* 4 or 1.97626e-323f */
     /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
+    var53.i = 0x00000064;       /* 100 or 4.94066e-322f */
     /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
+    var54.i = 0x00000068;       /* 104 or 5.13828e-322f */
     /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var55.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -13230,26 +11749,14 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       var57.x4[2] = var48.x4[2] - var49.x4[2];
       var57.x4[3] = var48.x4[3] - var49.x4[3];
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
+      var58.i = (var57.i >> 16) & 0xffff;
+      var59.i = var57.i & 0xffff;
       /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
+      var60 = (var59.i >> 8) & 0xff;
+      var61 = var59.i & 0xff;
       /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
+      var62 = (var58.i >> 8) & 0xff;
+      var63 = var58.i & 0xff;
       /* 6: convsbw */
       var64.i = var60;
       /* 7: convsbw */
@@ -13303,26 +11810,12 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 36: convssswb */
       var89 = ORC_CLAMP_SB (var79.i);
       /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var61;
-        _dest.x2[1] = var89;
-        var90.i = _dest.i;
-      }
+      var90.i = ((orc_uint8) var61 & 0x00ff) | ((orc_uint8) var89 << 8);
       /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var88;
-        _dest.x2[1] = var87;
-        var91.i = _dest.i;
-      }
+      var91.i = ((orc_uint8) var88 & 0x00ff) | ((orc_uint8) var87 << 8);
       /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
+      var92.i =
+          ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16);
       /* 41: addb */
       var56.x4[0] = var92.x4[0] + var55.x4[0];
       var56.x4[1] = var92.x4[1] + var55.x4[1];
@@ -13337,7 +11830,7 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -13396,25 +11889,25 @@ _backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ORC_RESTRICT ex)
     ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
 
     /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var49.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
     /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+    var50.i = 0x0000002a;       /* 42 or 2.07508e-322f */
     /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
+    var51.i = 0x00000067;       /* 103 or 5.08888e-322f */
     /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
+    var52.i = 0x00000004;       /* 4 or 1.97626e-323f */
     /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
+    var53.i = 0x00000064;       /* 100 or 4.94066e-322f */
     /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
+    var54.i = 0x00000068;       /* 104 or 5.13828e-322f */
     /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var55.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -13425,26 +11918,14 @@ _backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ORC_RESTRICT ex)
       var57.x4[2] = var48.x4[2] - var49.x4[2];
       var57.x4[3] = var48.x4[3] - var49.x4[3];
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
+      var58.i = (var57.i >> 16) & 0xffff;
+      var59.i = var57.i & 0xffff;
       /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
+      var60 = (var59.i >> 8) & 0xff;
+      var61 = var59.i & 0xff;
       /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
+      var62 = (var58.i >> 8) & 0xff;
+      var63 = var58.i & 0xff;
       /* 6: convsbw */
       var64.i = var60;
       /* 7: convsbw */
@@ -13498,26 +11979,12 @@ _backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ORC_RESTRICT ex)
       /* 36: convssswb */
       var89 = ORC_CLAMP_SB (var79.i);
       /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var61;
-        _dest.x2[1] = var89;
-        var90.i = _dest.i;
-      }
+      var90.i = ((orc_uint8) var61 & 0x00ff) | ((orc_uint8) var89 << 8);
       /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var88;
-        _dest.x2[1] = var87;
-        var91.i = _dest.i;
-      }
+      var91.i = ((orc_uint8) var88 & 0x00ff) | ((orc_uint8) var87 << 8);
       /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
+      var92.i =
+          ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16);
       /* 41: addb */
       var56.x4[0] = var92.x4[0] + var55.x4[0];
       var56.x4[1] = var92.x4[1] + var55.x4[1];
@@ -13531,8 +11998,8 @@ _backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -13542,6 +12009,7 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -13642,7 +12110,7 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -13665,8 +12133,8 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_AYUV_RGBA */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   int i;
   int j;
@@ -13723,25 +12191,25 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
     ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
 
     /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var49.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
     /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+    var50.i = 0x0000002a;       /* 42 or 2.07508e-322f */
     /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
+    var51.i = 0x00000067;       /* 103 or 5.08888e-322f */
     /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
+    var52.i = 0x00000004;       /* 4 or 1.97626e-323f */
     /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
+    var53.i = 0x00000064;       /* 100 or 4.94066e-322f */
     /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
+    var54.i = 0x00000068;       /* 104 or 5.13828e-322f */
     /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var55.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -13752,26 +12220,14 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       var57.x4[2] = var48.x4[2] - var49.x4[2];
       var57.x4[3] = var48.x4[3] - var49.x4[3];
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
+      var58.i = (var57.i >> 16) & 0xffff;
+      var59.i = var57.i & 0xffff;
       /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
+      var60 = (var59.i >> 8) & 0xff;
+      var61 = var59.i & 0xff;
       /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
+      var62 = (var58.i >> 8) & 0xff;
+      var63 = var58.i & 0xff;
       /* 6: convsbw */
       var64.i = var60;
       /* 7: convsbw */
@@ -13825,26 +12281,12 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       /* 36: convssswb */
       var89 = ORC_CLAMP_SB (var79.i);
       /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var87;
-        _dest.x2[1] = var88;
-        var90.i = _dest.i;
-      }
+      var90.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var88 << 8);
       /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var89;
-        _dest.x2[1] = var61;
-        var91.i = _dest.i;
-      }
+      var91.i = ((orc_uint8) var89 & 0x00ff) | ((orc_uint8) var61 << 8);
       /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
+      var92.i =
+          ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16);
       /* 41: addb */
       var56.x4[0] = var92.x4[0] + var55.x4[0];
       var56.x4[1] = var92.x4[1] + var55.x4[1];
@@ -13859,7 +12301,7 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 
 #else
 static void
-_backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ex)
 {
   int i;
   int j;
@@ -13918,25 +12360,25 @@ _backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ORC_RESTRICT ex)
     ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
 
     /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var49.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var49.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
     /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+    var50.i = 0x0000002a;       /* 42 or 2.07508e-322f */
     /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
+    var51.i = 0x00000067;       /* 103 or 5.08888e-322f */
     /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
+    var52.i = 0x00000004;       /* 4 or 1.97626e-323f */
     /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
+    var53.i = 0x00000064;       /* 100 or 4.94066e-322f */
     /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
+    var54.i = 0x00000068;       /* 104 or 5.13828e-322f */
     /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+    var55.x4[0] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[1] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[2] = 0x00000080;   /* 128 or 6.32404e-322f */
+    var55.x4[3] = 0x00000080;   /* 128 or 6.32404e-322f */
 
     for (i = 0; i < n; i++) {
       /* 0: loadl */
@@ -13947,26 +12389,14 @@ _backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ORC_RESTRICT ex)
       var57.x4[2] = var48.x4[2] - var49.x4[2];
       var57.x4[3] = var48.x4[3] - var49.x4[3];
       /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
+      var58.i = (var57.i >> 16) & 0xffff;
+      var59.i = var57.i & 0xffff;
       /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
+      var60 = (var59.i >> 8) & 0xff;
+      var61 = var59.i & 0xff;
       /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
+      var62 = (var58.i >> 8) & 0xff;
+      var63 = var58.i & 0xff;
       /* 6: convsbw */
       var64.i = var60;
       /* 7: convsbw */
@@ -14020,26 +12450,12 @@ _backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ORC_RESTRICT ex)
       /* 36: convssswb */
       var89 = ORC_CLAMP_SB (var79.i);
       /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var87;
-        _dest.x2[1] = var88;
-        var90.i = _dest.i;
-      }
+      var90.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var88 << 8);
       /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var89;
-        _dest.x2[1] = var61;
-        var91.i = _dest.i;
-      }
+      var91.i = ((orc_uint8) var89 & 0x00ff) | ((orc_uint8) var61 << 8);
       /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
+      var92.i =
+          ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16);
       /* 41: addb */
       var56.x4[0] = var92.x4[0] + var55.x4[0];
       var56.x4[1] = var92.x4[1] + var55.x4[1];
@@ -14053,8 +12469,8 @@ _backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
-    const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1,
+    int s1_stride, int n, int m)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -14064,6 +12480,7 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_2d (p);
@@ -14164,7 +12581,7 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
       orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -14187,9 +12604,8 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride,
 /* cogorc_convert_I420_BGRA */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, int n)
+cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, int n)
 {
   int i;
   orc_union32 *ORC_RESTRICT ptr0;
@@ -14249,28 +12665,28 @@ cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1,
   ptr6 = (orc_int8 *) s3;
 
   /* 1: loadpb */
-  var46 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var46 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 5: loadpb */
-  var47 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var47 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 9: loadpb */
-  var48 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var48 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 12: loadpw */
-  var49.i = (int) 0x0000002a;   /* 42 or 2.07508e-322f */
+  var49.i = 0x0000002a;         /* 42 or 2.07508e-322f */
   /* 17: loadpw */
-  var50.i = (int) 0x00000067;   /* 103 or 5.08888e-322f */
+  var50.i = 0x00000067;         /* 103 or 5.08888e-322f */
   /* 24: loadpw */
-  var51.i = (int) 0x00000004;   /* 4 or 1.97626e-323f */
+  var51.i = 0x00000004;         /* 4 or 1.97626e-323f */
   /* 28: loadpw */
-  var52.i = (int) 0x00000064;   /* 100 or 4.94066e-322f */
+  var52.i = 0x00000064;         /* 100 or 4.94066e-322f */
   /* 32: loadpw */
-  var53.i = (int) 0x00000068;   /* 104 or 5.13828e-322f */
+  var53.i = 0x00000068;         /* 104 or 5.13828e-322f */
   /* 41: loadpb */
-  var54 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+  var54 = 0x000000ff;           /* 255 or 1.25987e-321f */
   /* 44: loadpb */
-  var55.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var55.x4[0] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var55.x4[1] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var55.x4[2] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var55.x4[3] = 0x00000080;     /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -14342,26 +12758,12 @@ cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1,
     /* 39: convssswb */
     var87 = ORC_CLAMP_SB (var77.i);
     /* 40: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var87;
-      _dest.x2[1] = var86;
-      var88.i = _dest.i;
-    }
+    var88.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var86 << 8);
     /* 42: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var85;
-      _dest.x2[1] = var54;
-      var89.i = _dest.i;
-    }
+    var89.i = ((orc_uint8) var85 & 0x00ff) | ((orc_uint8) var54 << 8);
     /* 43: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var88.i;
-      _dest.x2[1] = var89.i;
-      var90.i = _dest.i;
-    }
+    var90.i =
+        ((orc_uint16) var88.i & 0x0000ffff) | ((orc_uint16) var89.i << 16);
     /* 45: addb */
     var56.x4[0] = var90.x4[0] + var55.x4[0];
     var56.x4[1] = var90.x4[1] + var55.x4[1];
@@ -14375,7 +12777,7 @@ cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_convert_I420_BGRA (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_I420_BGRA (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -14436,28 +12838,28 @@ _backup_cogorc_convert_I420_BGRA (OrcExecutor * ORC_RESTRICT ex)
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   /* 1: loadpb */
-  var46 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var46 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 5: loadpb */
-  var47 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var47 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 9: loadpb */
-  var48 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var48 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 12: loadpw */
-  var49.i = (int) 0x0000002a;   /* 42 or 2.07508e-322f */
+  var49.i = 0x0000002a;         /* 42 or 2.07508e-322f */
   /* 17: loadpw */
-  var50.i = (int) 0x00000067;   /* 103 or 5.08888e-322f */
+  var50.i = 0x00000067;         /* 103 or 5.08888e-322f */
   /* 24: loadpw */
-  var51.i = (int) 0x00000004;   /* 4 or 1.97626e-323f */
+  var51.i = 0x00000004;         /* 4 or 1.97626e-323f */
   /* 28: loadpw */
-  var52.i = (int) 0x00000064;   /* 100 or 4.94066e-322f */
+  var52.i = 0x00000064;         /* 100 or 4.94066e-322f */
   /* 32: loadpw */
-  var53.i = (int) 0x00000068;   /* 104 or 5.13828e-322f */
+  var53.i = 0x00000068;         /* 104 or 5.13828e-322f */
   /* 41: loadpb */
-  var54 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+  var54 = 0x000000ff;           /* 255 or 1.25987e-321f */
   /* 44: loadpb */
-  var55.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var55.x4[0] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var55.x4[1] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var55.x4[2] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var55.x4[3] = 0x00000080;     /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -14529,26 +12931,12 @@ _backup_cogorc_convert_I420_BGRA (OrcExecutor * ORC_RESTRICT ex)
     /* 39: convssswb */
     var87 = ORC_CLAMP_SB (var77.i);
     /* 40: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var87;
-      _dest.x2[1] = var86;
-      var88.i = _dest.i;
-    }
+    var88.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var86 << 8);
     /* 42: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var85;
-      _dest.x2[1] = var54;
-      var89.i = _dest.i;
-    }
+    var89.i = ((orc_uint8) var85 & 0x00ff) | ((orc_uint8) var54 << 8);
     /* 43: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var88.i;
-      _dest.x2[1] = var89.i;
-      var90.i = _dest.i;
-    }
+    var90.i =
+        ((orc_uint16) var88.i & 0x0000ffff) | ((orc_uint16) var89.i << 16);
     /* 45: addb */
     var56.x4[0] = var90.x4[0] + var55.x4[0];
     var56.x4[1] = var90.x4[1] + var55.x4[1];
@@ -14561,9 +12949,8 @@ _backup_cogorc_convert_I420_BGRA (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, int n)
+cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -14573,6 +12960,7 @@ cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_convert_I420_BGRA");
@@ -14674,7 +13062,7 @@ cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T13, ORC_VAR_C2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
@@ -14696,10 +13084,9 @@ cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1,
 /* cogorc_convert_I420_BGRA_avg */
 #ifdef DISABLE_ORC
 void
-cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    const orc_uint8 * ORC_RESTRICT s5, int n)
+cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4,
+    const orc_uint8 * s5, int n)
 {
   int i;
   orc_union32 *ORC_RESTRICT ptr0;
@@ -14767,28 +13154,28 @@ cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
   ptr8 = (orc_int8 *) s5;
 
   /* 1: loadpb */
-  var47 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var47 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 7: loadpb */
-  var48 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var48 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 13: loadpb */
-  var49 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var49 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 16: loadpw */
-  var50.i = (int) 0x0000002a;   /* 42 or 2.07508e-322f */
+  var50.i = 0x0000002a;         /* 42 or 2.07508e-322f */
   /* 21: loadpw */
-  var51.i = (int) 0x00000067;   /* 103 or 5.08888e-322f */
+  var51.i = 0x00000067;         /* 103 or 5.08888e-322f */
   /* 28: loadpw */
-  var52.i = (int) 0x00000004;   /* 4 or 1.97626e-323f */
+  var52.i = 0x00000004;         /* 4 or 1.97626e-323f */
   /* 32: loadpw */
-  var53.i = (int) 0x00000064;   /* 100 or 4.94066e-322f */
+  var53.i = 0x00000064;         /* 100 or 4.94066e-322f */
   /* 36: loadpw */
-  var54.i = (int) 0x00000068;   /* 104 or 5.13828e-322f */
+  var54.i = 0x00000068;         /* 104 or 5.13828e-322f */
   /* 45: loadpb */
-  var55 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+  var55 = 0x000000ff;           /* 255 or 1.25987e-321f */
   /* 48: loadpb */
-  var56.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var56.x4[0] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var56.x4[1] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var56.x4[2] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var56.x4[3] = 0x00000080;     /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -14872,26 +13259,12 @@ cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
     /* 43: convssswb */
     var92 = ORC_CLAMP_SB (var82.i);
     /* 44: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var92;
-      _dest.x2[1] = var91;
-      var93.i = _dest.i;
-    }
+    var93.i = ((orc_uint8) var92 & 0x00ff) | ((orc_uint8) var91 << 8);
     /* 46: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var90;
-      _dest.x2[1] = var55;
-      var94.i = _dest.i;
-    }
+    var94.i = ((orc_uint8) var90 & 0x00ff) | ((orc_uint8) var55 << 8);
     /* 47: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var93.i;
-      _dest.x2[1] = var94.i;
-      var95.i = _dest.i;
-    }
+    var95.i =
+        ((orc_uint16) var93.i & 0x0000ffff) | ((orc_uint16) var94.i << 16);
     /* 49: addb */
     var57.x4[0] = var95.x4[0] + var56.x4[0];
     var57.x4[1] = var95.x4[1] + var56.x4[1];
@@ -14905,7 +13278,7 @@ cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
 
 #else
 static void
-_backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -14974,28 +13347,28 @@ _backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ORC_RESTRICT ex)
   ptr8 = (orc_int8 *) ex->arrays[8];
 
   /* 1: loadpb */
-  var47 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var47 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 7: loadpb */
-  var48 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var48 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 13: loadpb */
-  var49 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
+  var49 = 0x00000080;           /* 128 or 6.32404e-322f */
   /* 16: loadpw */
-  var50.i = (int) 0x0000002a;   /* 42 or 2.07508e-322f */
+  var50.i = 0x0000002a;         /* 42 or 2.07508e-322f */
   /* 21: loadpw */
-  var51.i = (int) 0x00000067;   /* 103 or 5.08888e-322f */
+  var51.i = 0x00000067;         /* 103 or 5.08888e-322f */
   /* 28: loadpw */
-  var52.i = (int) 0x00000004;   /* 4 or 1.97626e-323f */
+  var52.i = 0x00000004;         /* 4 or 1.97626e-323f */
   /* 32: loadpw */
-  var53.i = (int) 0x00000064;   /* 100 or 4.94066e-322f */
+  var53.i = 0x00000064;         /* 100 or 4.94066e-322f */
   /* 36: loadpw */
-  var54.i = (int) 0x00000068;   /* 104 or 5.13828e-322f */
+  var54.i = 0x00000068;         /* 104 or 5.13828e-322f */
   /* 45: loadpb */
-  var55 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
+  var55 = 0x000000ff;           /* 255 or 1.25987e-321f */
   /* 48: loadpb */
-  var56.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
+  var56.x4[0] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var56.x4[1] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var56.x4[2] = 0x00000080;     /* 128 or 6.32404e-322f */
+  var56.x4[3] = 0x00000080;     /* 128 or 6.32404e-322f */
 
   for (i = 0; i < n; i++) {
     /* 0: loadb */
@@ -15079,26 +13452,12 @@ _backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ORC_RESTRICT ex)
     /* 43: convssswb */
     var92 = ORC_CLAMP_SB (var82.i);
     /* 44: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var92;
-      _dest.x2[1] = var91;
-      var93.i = _dest.i;
-    }
+    var93.i = ((orc_uint8) var92 & 0x00ff) | ((orc_uint8) var91 << 8);
     /* 46: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var90;
-      _dest.x2[1] = var55;
-      var94.i = _dest.i;
-    }
+    var94.i = ((orc_uint8) var90 & 0x00ff) | ((orc_uint8) var55 << 8);
     /* 47: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var93.i;
-      _dest.x2[1] = var94.i;
-      var95.i = _dest.i;
-    }
+    var95.i =
+        ((orc_uint16) var93.i & 0x0000ffff) | ((orc_uint16) var94.i << 16);
     /* 49: addb */
     var57.x4[0] = var95.x4[0] + var56.x4[0];
     var57.x4[1] = var95.x4[1] + var56.x4[1];
@@ -15111,10 +13470,9 @@ _backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ORC_RESTRICT ex)
 }
 
 void
-cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    const orc_uint8 * ORC_RESTRICT s5, int n)
+cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4,
+    const orc_uint8 * s5, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   static int p_inited = 0;
@@ -15124,6 +13482,7 @@ cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
   if (!p_inited) {
     orc_once_mutex_lock ();
     if (!p_inited) {
+      OrcCompileResult result;
 
       p = orc_program_new ();
       orc_program_set_name (p, "cogorc_convert_I420_BGRA_avg");
@@ -15236,7 +13595,7 @@ cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1,
       orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T14, ORC_VAR_C2,
           ORC_VAR_D1);
 
-      orc_program_compile (p);
+      result = orc_program_compile (p);
     }
     p_inited = TRUE;
     orc_once_mutex_unlock ();
index e7bac24..4f1dbd2 100644 (file)
@@ -35,7 +35,6 @@ typedef unsigned __int16 orc_uint16;
 typedef unsigned __int32 orc_uint32;
 typedef unsigned __int64 orc_uint64;
 #define ORC_UINT64_C(x) (x##Ui64)
-#define inline __inline
 #else
 #include <limits.h>
 typedef signed char orc_int8;
@@ -58,89 +57,80 @@ typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
 typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
 typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64;
 #endif
-#ifndef ORC_RESTRICT
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#define ORC_RESTRICT restrict
-#elif defined(__GNUC__) && __GNUC__ >= 4
-#define ORC_RESTRICT __restrict__
-#else
-#define ORC_RESTRICT
-#endif
-#endif
-void cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, int n);
-void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, int n);
-void cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, int n);
-void cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n);
-void cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n);
-void cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n);
-void cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int n);
-void cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n);
-void cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n);
-void orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, int n);
-void orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
-void orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
-void orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n);
-void orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, int n);
-void orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
-void orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
-void orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n);
-void orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1, const gint16 * ORC_RESTRICT s1, int n);
-void orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int n);
-void orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n);
-void orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n);
-void orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n);
-void orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int n);
-void orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int n);
-void orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int n);
-void orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int n);
-void orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
-void orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
-void orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int p1, int n);
-void orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int p1, int n);
-void cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p1, int p2, int n);
-void cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int p1, int p2, int p3, int p4, int n);
-void cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
-void cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
-void cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
-void cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
-void cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n);
-void cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n);
-void cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1, orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1, orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1, orc_uint32 * ORC_RESTRICT d2, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1, orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, const orc_uint32 * ORC_RESTRICT s2, int n);
-void cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint16 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1, orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, const orc_uint32 * ORC_RESTRICT s2, int n);
-void cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, orc_uint8 * ORC_RESTRICT d4, int d4_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, const orc_uint64 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint16 * ORC_RESTRICT s2, int s2_stride, const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint16 * ORC_RESTRICT s2, int s2_stride, const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n);
-void cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, int n);
+void cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, int n, int m);
+void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1, int n);
+void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, const orc_uint16 * s2, int n);
+void cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, const orc_uint16 * s2, int n);
+void cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int n);
+void cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n);
+void cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n);
+void cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n);
+void cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int n);
+void cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int n);
+void orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n);
+void orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n);
+void orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n);
+void orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n);
+void orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n);
+void orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n);
+void orc_splat_u8_ns (orc_uint8 * d1, int p1, int n);
+void orc_splat_s16_ns (gint16 * d1, int p1, int n);
+void orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int p3, int n);
+void orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int n);
+void orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int n);
+void orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int n);
+void orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int n);
+void orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n);
+void orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n);
+void orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int p1, int n);
+void orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int p1, int n);
+void cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int p1, int p2, int n);
+void cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int p1, int p2, int p3, int p4, int n);
+void cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n);
+void cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, int p2, int n);
+void cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, int p2, int n);
+void cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2, const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n);
+void cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2, const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n);
+void cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n);
+void cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n);
+void cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m);
+void cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m);
+void cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, int n, int m);
+void cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, int n, int m);
+void cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, int n, int m);
+void cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, int n, int m);
+void cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n);
+void cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, orc_uint8 * d4, int d4_stride, const orc_uint64 * s1, int s1_stride, const orc_uint64 * s2, int s2_stride, int n, int m);
+void cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint64 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m);
+void cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m);
+void cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m);
+void cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3, int s3_stride, int n, int m);
+void cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3, int s3_stride, int n, int m);
+void cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m);
+void cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m);
+void cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n);
+void cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * s5, int n);
 
 #ifdef __cplusplus
 }
index a4a3535..7128bca 100644 (file)
@@ -35,6 +35,17 @@ real live maintainer, or some actual wide use.
 
  <release>
   <Version>
+   <revision>0.11.1</revision>
+   <branch>0.11</branch>
+   <name>Forest of October</name>
+   <created>2012-02-16</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.11.1.tar.bz2" />
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.11.1.tar.gz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>0.10.22</revision>
    <branch>0.10</branch>
    <name>Toy Piano</name>
index 9b4e39a..9699163 100644 (file)
@@ -4,6 +4,9 @@
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
+#ifndef DISABLE_ORC
+#include <orc/orc.h>
+#endif
 #include <glib.h>
 
 #ifndef _ORC_INTEGER_TYPEDEFS_
@@ -29,7 +32,6 @@ typedef unsigned __int16 orc_uint16;
 typedef unsigned __int32 orc_uint32;
 typedef unsigned __int64 orc_uint64;
 #define ORC_UINT64_C(x) (x##Ui64)
-#define inline __inline
 #else
 #include <limits.h>
 typedef signed char orc_int8;
@@ -69,34 +71,17 @@ typedef union
   orc_int16 x4[4];
 } orc_union64;
 #endif
-#ifndef ORC_RESTRICT
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#define ORC_RESTRICT restrict
-#elif defined(__GNUC__) && __GNUC__ >= 4
-#define ORC_RESTRICT __restrict__
-#else
-#define ORC_RESTRICT
-#endif
-#endif
 
-#ifndef DISABLE_ORC
-#include <orc/orc.h>
-#endif
-void orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    int p2, int n);
-void orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    int p2, int n);
-void orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6,
-    int p2, int n);
-void orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    const orc_uint8 * ORC_RESTRICT s5, int p2, int n);
+void orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int p2, int n);
+void orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int p2, int n);
+void orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4,
+    const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n);
+void orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4,
+    const orc_uint8 * s5, int p2, int n);
 
 void gst_fieldanalysis_orc_init (void);
 
@@ -132,7 +117,6 @@ void gst_fieldanalysis_orc_init (void);
 #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
 #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
 #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
-#ifndef ORC_RESTRICT
 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 #define ORC_RESTRICT restrict
 #elif defined(__GNUC__) && __GNUC__ >= 4
@@ -140,7 +124,6 @@ void gst_fieldanalysis_orc_init (void);
 #else
 #define ORC_RESTRICT
 #endif
-#endif
 /* end Orc C target preamble */
 
 
@@ -148,9 +131,8 @@ void gst_fieldanalysis_orc_init (void);
 /* orc_same_parity_sad_planar_yuv */
 #ifdef DISABLE_ORC
 void
-orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    int p2, int n)
+orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int p2, int n)
 {
   int i;
   const orc_int8 *ORC_RESTRICT ptr4;
@@ -201,7 +183,7 @@ orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
 
 #else
 static void
-_backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -253,9 +235,8 @@ _backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
 
 static OrcProgram *_orc_program_orc_same_parity_sad_planar_yuv;
 void
-orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    int p2, int n)
+orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int p2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   OrcProgram *p = _orc_program_orc_same_parity_sad_planar_yuv;
@@ -278,9 +259,8 @@ orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
 /* orc_same_parity_ssd_planar_yuv */
 #ifdef DISABLE_ORC
 void
-orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    int p2, int n)
+orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int p2, int n)
 {
   int i;
   const orc_int8 *ORC_RESTRICT ptr4;
@@ -328,7 +308,7 @@ orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
 
 #else
 static void
-_backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -377,9 +357,8 @@ _backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
 
 static OrcProgram *_orc_program_orc_same_parity_ssd_planar_yuv;
 void
-orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    int p2, int n)
+orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, int p2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   OrcProgram *p = _orc_program_orc_same_parity_ssd_planar_yuv;
@@ -402,11 +381,9 @@ orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
 /* orc_same_parity_3_tap_planar_yuv */
 #ifdef DISABLE_ORC
 void
-orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6,
-    int p2, int n)
+orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4,
+    const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n)
 {
   int i;
   const orc_int8 *ORC_RESTRICT ptr4;
@@ -507,7 +484,7 @@ orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
 
 #else
 static void
-_backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -609,11 +586,9 @@ _backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
 
 static OrcProgram *_orc_program_orc_same_parity_3_tap_planar_yuv;
 void
-orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6,
-    int p2, int n)
+orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4,
+    const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   OrcProgram *p = _orc_program_orc_same_parity_3_tap_planar_yuv;
@@ -640,10 +615,9 @@ orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
 /* orc_opposite_parity_5_tap_planar_yuv */
 #ifdef DISABLE_ORC
 void
-orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    const orc_uint8 * ORC_RESTRICT s5, int p2, int n)
+orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4,
+    const orc_uint8 * s5, int p2, int n)
 {
   int i;
   const orc_int8 *ORC_RESTRICT ptr4;
@@ -684,9 +658,9 @@ orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
   ptr8 = (orc_int8 *) s5;
 
   /* 11: loadpw */
-  var44.i = (int) 0x00000003;   /* 3 or 1.4822e-323f */
+  var44.i = 0x00000003;         /* 3 or 1.4822e-323f */
   /* 13: loadpw */
-  var45.i = (int) 0x00000003;   /* 3 or 1.4822e-323f */
+  var45.i = 0x00000003;         /* 3 or 1.4822e-323f */
   /* 21: loadpl */
   var46.i = p2;
 
@@ -742,7 +716,7 @@ orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
 
 #else
 static void
-_backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
@@ -784,9 +758,9 @@ _backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
   ptr8 = (orc_int8 *) ex->arrays[8];
 
   /* 11: loadpw */
-  var44.i = (int) 0x00000003;   /* 3 or 1.4822e-323f */
+  var44.i = 0x00000003;         /* 3 or 1.4822e-323f */
   /* 13: loadpw */
-  var45.i = (int) 0x00000003;   /* 3 or 1.4822e-323f */
+  var45.i = 0x00000003;         /* 3 or 1.4822e-323f */
   /* 21: loadpl */
   var46.i = ex->params[25];
 
@@ -842,10 +816,9 @@ _backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
 
 static OrcProgram *_orc_program_orc_opposite_parity_5_tap_planar_yuv;
 void
-orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
-    const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
-    const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
-    const orc_uint8 * ORC_RESTRICT s5, int p2, int n)
+orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1,
+    const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4,
+    const orc_uint8 * s5, int p2, int n)
 {
   OrcExecutor _ex, *ex = &_ex;
   OrcProgram *p = _orc_program_orc_opposite_parity_5_tap_planar_yuv;
@@ -875,6 +848,7 @@ gst_fieldanalysis_orc_init (void)
   {
     /* orc_same_parity_sad_planar_yuv */
     OrcProgram *p;
+    OrcCompileResult result;
 
     p = orc_program_new ();
     orc_program_set_name (p, "orc_same_parity_sad_planar_yuv");
@@ -905,13 +879,14 @@ gst_fieldanalysis_orc_init (void)
     orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T3, ORC_VAR_D1,
         ORC_VAR_D1);
 
-    orc_program_compile (p);
+    result = orc_program_compile (p);
 
     _orc_program_orc_same_parity_sad_planar_yuv = p;
   }
   {
     /* orc_same_parity_ssd_planar_yuv */
     OrcProgram *p;
+    OrcCompileResult result;
 
     p = orc_program_new ();
     orc_program_set_name (p, "orc_same_parity_ssd_planar_yuv");
@@ -940,13 +915,14 @@ gst_fieldanalysis_orc_init (void)
     orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T3, ORC_VAR_D1,
         ORC_VAR_D1);
 
-    orc_program_compile (p);
+    result = orc_program_compile (p);
 
     _orc_program_orc_same_parity_ssd_planar_yuv = p;
   }
   {
     /* orc_same_parity_3_tap_planar_yuv */
     OrcProgram *p;
+    OrcCompileResult result;
 
     p = orc_program_new ();
     orc_program_set_name (p, "orc_same_parity_3_tap_planar_yuv");
@@ -1007,13 +983,14 @@ gst_fieldanalysis_orc_init (void)
     orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T7, ORC_VAR_D1,
         ORC_VAR_D1);
 
-    orc_program_compile (p);
+    result = orc_program_compile (p);
 
     _orc_program_orc_same_parity_3_tap_planar_yuv = p;
   }
   {
     /* orc_opposite_parity_5_tap_planar_yuv */
     OrcProgram *p;
+    OrcCompileResult result;
 
     p = orc_program_new ();
     orc_program_set_name (p, "orc_opposite_parity_5_tap_planar_yuv");
@@ -1071,7 +1048,7 @@ gst_fieldanalysis_orc_init (void)
     orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T6, ORC_VAR_D1,
         ORC_VAR_D1);
 
-    orc_program_compile (p);
+    result = orc_program_compile (p);
 
     _orc_program_orc_opposite_parity_5_tap_planar_yuv = p;
   }
index a901a2a..b46b6fa 100644 (file)
@@ -37,7 +37,6 @@ typedef unsigned __int16 orc_uint16;
 typedef unsigned __int32 orc_uint32;
 typedef unsigned __int64 orc_uint64;
 #define ORC_UINT64_C(x) (x##Ui64)
-#define inline __inline
 #else
 #include <limits.h>
 typedef signed char orc_int8;
@@ -60,19 +59,10 @@ typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
 typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
 typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64;
 #endif
-#ifndef ORC_RESTRICT
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#define ORC_RESTRICT restrict
-#elif defined(__GNUC__) && __GNUC__ >= 4
-#define ORC_RESTRICT __restrict__
-#else
-#define ORC_RESTRICT
-#endif
-#endif
-void orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p2, int n);
-void orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p2, int n);
-void orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6, int p2, int n);
-void orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, int p2, int n);
+void orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, int p2, int n);
+void orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, int p2, int n);
+void orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n);
+void orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * s5, int p2, int n);
 
 #ifdef __cplusplus
 }
index a97dae7..db8a716 100644 (file)
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins 0.7.6\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2004-03-18 14:16+0200\n"
 "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
 "Language-Team: Afrikaans <i18n@af.org.za>\n"
index da5222a..3763e8a 100644 (file)
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2004-03-19 18:29+0200\n"
 "Last-Translator: Metin Amiroff <metin@karegen.com>\n"
 "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
index 977daa0..23fa98c 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-27 12:55+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-26 22:30+0300\n"
 "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
index f47593f..022cca9 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -2,20 +2,22 @@
 # Copyright © 2004, 2005, 2010 Free Software Foundation, Inc.
 # This file is distributed under the same licence as the gst-plugins-bad package.
 # Jordi Mallach <jordi@sindominio.net>, 2004, 2005, 2010.
+# Jordi Estrada <jordi.estrada@yamaha-motor.es>, 2011.
+# Gil Forcada <gforcada@gnome.org>, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 0.10.18.2\n"
+"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-01-07 20:26+0000\n"
-"PO-Revision-Date: 2010-11-04 21:02+0100\n"
-"Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
+"PO-Revision-Date: 2012-01-01 14:19+0100\n"
+"Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
 "Language: ca\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n!=1;\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
 
 msgid "Could not read title information for DVD."
 msgstr "No s'ha pogut llegir la informació del títol del DVD."
@@ -31,17 +33,18 @@ msgid ""
 "Could not read DVD. This may be because the DVD is encrypted and a DVD "
 "decryption library is not installed."
 msgstr ""
+"No s'ha pogut llegir el DVD. Possiblement el DVD està encriptat i la "
+"biblioteca de desencriptació de DVD no està instal·lada."
 
-#, fuzzy
 msgid "Could not read DVD."
-msgstr "No s'ha pogut llegir la informació del títol del DVD."
+msgstr "No s'ha pogut llegir el DVD."
 
 msgid "No file name specified for writing."
 msgstr "No s'ha especificat cap nom de fitxer per a l'escriptura."
 
 #, c-format
 msgid "Could not open file \"%s\" for writing."
-msgstr "No s'ha pogut obrir «%s» per a l'escriptura."
+msgstr "No s'ha pogut obrir el fitxer «%s» per a l'escriptura."
 
 msgid "Internal data stream error."
 msgstr "S'ha produït un error intern de flux de dades."
@@ -59,7 +62,7 @@ msgstr "El dispositiu «%s» no existeix."
 
 #, c-format
 msgid "Could not open frontend device \"%s\"."
-msgstr "No s'ha pogut crear el dispositiu frontal «%s»."
+msgstr "No s'ha pogut obrir el dispositiu frontal «%s»."
 
 #, c-format
 msgid "Could not get settings from frontend device \"%s\"."
index 289fb12..e4aa03d 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2009-08-29 01:48+0200\n"
 "Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
index 5d124a4..97f5fae 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-30 18:56+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-28 11:28+0200\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
index 20cb2d2..d6f742c 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-30 18:56+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-28 00:04+0200\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@googlemail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
index 0770e63..941a31b 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.18.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2010-09-02 12:32+0300\n"
 "Last-Translator: Simos Xenitellis <simos.lists@googlemail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
index 25ea6f8..10f9655 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins 0.8.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2004-04-26 10:41-0400\n"
 "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
 "Language-Team: English (British) <en_gb@li.org>\n"
index 168061c..f1063f0 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-12-11 00:54+0000\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-06-04 22:18+0200\n"
 "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
index 08d924d..1226a98 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-12-11 00:54+0000\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-10-02 15:47+0200\n"
 "Last-Translator: Jorge González González <aloriel@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
index 23c5e8b..7b46948 100644 (file)
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-0.10.17.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2010-03-25 12:30+0100\n"
 "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
index 5374b81..1cddb32 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2009-08-12 22:13+0300\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
index c54bb6b..65a2da1 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-30 18:56+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-28 09:13+0200\n"
 "Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
 "Language-Team: French <traduc@traduc.org>\n"
index 0b5e5bd..4be5b0e 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-12-11 00:54+0000\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-09-05 12:50+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
index a2ad847..f353a86 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2009-08-12 23:33+0200\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
index d6a8e4c..514bc31 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -1,13 +1,13 @@
 # Indonesian translations for gst-plugins-bad package.
 # This file is put in the public domain.
-# Andhika Padmawan <andhika.padmawan@gmail.com>, 2009.
+# Andhika Padmawan <andhika.padmawan@gmail.com>, 2009-2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
+"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
-"PO-Revision-Date: 2009-08-24 11:38-0400\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
+"PO-Revision-Date: 2012-01-28 10:27+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
 "Language: id\n"
@@ -29,10 +29,11 @@ msgid ""
 "Could not read DVD. This may be because the DVD is encrypted and a DVD "
 "decryption library is not installed."
 msgstr ""
+"Tak dapat membaca DVD. Hal ini kemungkinan karena DVD terenkripsi dan "
+"pustaka dekripsi tidak diinstal."
 
-#, fuzzy
 msgid "Could not read DVD."
-msgstr "Tak dapat membaca informasi judul untuk DVD."
+msgstr "Tak dapat membaca DVD."
 
 msgid "No file name specified for writing."
 msgstr "Tak ada nama berkas yang ditentukan untuk ditulis."
@@ -67,11 +68,357 @@ msgstr "Tak dapat mendapatkan pengaturan dari divais ujung-depan \"%s\"."
 msgid "Could not open file \"%s\" for reading."
 msgstr "Tak dapat membuka berkas \"%s\" untuk dibaca."
 
+#~ msgid "Internal clock error."
+#~ msgstr "Galat jam internal."
+
+#~ msgid "Could not open audio device for mixer control handling."
+#~ msgstr "Tak dapat membuka divais audio untuk pengendalian kontrol mixer."
+
+#~ msgid ""
+#~ "Could not open audio device for mixer control handling. This version of "
+#~ "the Open Sound System is not supported by this element."
+#~ msgstr ""
+#~ "Tak dapat membuka divais audio untuk pengendalian kontrol mixer. Versi "
+#~ "Open Sound System ini tak didukung oleh elemen ini."
+
+#~ msgid "Volume"
+#~ msgstr "Volume"
+
+#~ msgid "Master"
+#~ msgstr "Induk"
+
+#~ msgid "Front"
+#~ msgstr "Depan"
+
+#~ msgid "Rear"
+#~ msgstr "Belakang"
+
+#~ msgid "Headphones"
+#~ msgstr "Headphone"
+
+#~ msgid "Center"
+#~ msgstr "Tengah"
+
+#~ msgid "LFE"
+#~ msgstr "LFE"
+
+#~ msgid "Surround"
+#~ msgstr "Surround"
+
+#~ msgid "Side"
+#~ msgstr "Samping"
+
+#~ msgid "Built-in Speaker"
+#~ msgstr "Pengeras Suara Terbina"
+
+#~ msgid "AUX 1 Out"
+#~ msgstr "AUX 1 Keluar"
+
+#~ msgid "AUX 2 Out"
+#~ msgstr "AUX 2 Keluar"
+
+#~ msgid "AUX Out"
+#~ msgstr "AUX Keluar"
+
+#~ msgid "Bass"
+#~ msgstr "Bass"
+
+#~ msgid "Treble"
+#~ msgstr "Treble"
+
+#~ msgid "3D Depth"
+#~ msgstr "3D Dalam"
+
+#~ msgid "3D Center"
+#~ msgstr "3D Tengah"
+
+#~ msgid "3D Enhance"
+#~ msgstr "3D Tingkatkan"
+
+#~ msgid "Telephone"
+#~ msgstr "Telepon"
+
+#~ msgid "Microphone"
+#~ msgstr "Mikrofon"
+
+#~ msgid "Line Out"
+#~ msgstr "Jalur Masuk"
+
+#~ msgid "Line In"
+#~ msgstr "Jalur Masuk"
+
+#~ msgid "Internal CD"
+#~ msgstr "CD Internal"
+
+#~ msgid "Video In"
+#~ msgstr "Video Masuk"
+
+#~ msgid "AUX 1 In"
+#~ msgstr "AUX 1 Masuk"
+
+#~ msgid "AUX 2 In"
+#~ msgstr "AUX 2 Masuk"
+
+#~ msgid "AUX In"
+#~ msgstr "AUX Masuk"
+
+#~ msgid "PCM"
+#~ msgstr "PCM"
+
+#~ msgid "Record Gain"
+#~ msgstr "Gain Rekaman"
+
+#~ msgid "Output Gain"
+#~ msgstr "Keluaran Gain"
+
+#~ msgid "Microphone Boost"
+#~ msgstr "Mikrofon Galak"
+
+#~ msgid "Loopback"
+#~ msgstr "Simpul Berulang"
+
+#~ msgid "Diagnostic"
+#~ msgstr "Diagnostik"
+
+#~ msgid "Bass Boost"
+#~ msgstr "Bass Galak"
+
+#~ msgid "Playback Ports"
+#~ msgstr "Pangkalan Putar Kembali"
+
+#~ msgid "Input"
+#~ msgstr "Masukan"
+
+#~ msgid "Record Source"
+#~ msgstr "Sumber Rekaman"
+
+#~ msgid "Monitor Source"
+#~ msgstr "Sumber Monitor"
+
+#~ msgid "Keyboard Beep"
+#~ msgstr "Bip Papan Ketik"
+
+#~ msgid "Monitor"
+#~ msgstr "Monitor"
+
+#~ msgid "Simulate Stereo"
+#~ msgstr "Simulasikan Stereo"
+
+#~ msgid "Stereo"
+#~ msgstr "Stereo"
+
+#~ msgid "Surround Sound"
+#~ msgstr "Suara Surround"
+
+#~ msgid "Microphone Gain"
+#~ msgstr "Mikrofon Galak"
+
+#~ msgid "Speaker Source"
+#~ msgstr "Sumber Pengeras Suara"
+
+#~ msgid "Microphone Source"
+#~ msgstr "Sumber Mikrofon"
+
+#~ msgid "Jack"
+#~ msgstr "Pengungkit"
+
+#~ msgid "Center / LFE"
+#~ msgstr "Tengah / LFE"
+
+#~ msgid "Stereo Mix"
+#~ msgstr "Mix Stereo"
+
+#~ msgid "Mono Mix"
+#~ msgstr "Mix Mono"
+
+#~ msgid "Input Mix"
+#~ msgstr "Mix Masukan"
+
+#~ msgid "SPDIF In"
+#~ msgstr "SPDIF Masukan"
+
+#~ msgid "SPDIF Out"
+#~ msgstr "SPDIF Keluaran"
+
+#~ msgid "Microphone 1"
+#~ msgstr "Mikrofon 1"
+
+#~ msgid "Microphone 2"
+#~ msgstr "Mikrofon 2"
+
+#~ msgid "Digital Out"
+#~ msgstr "Digital Keluar"
+
+#~ msgid "Digital In"
+#~ msgstr "Digital Masuk"
+
+#~ msgid "HDMI"
+#~ msgstr "HDMI"
+
+#~ msgid "Modem"
+#~ msgstr "Modem"
+
+#~ msgid "Handset"
+#~ msgstr "Handset"
+
+#~ msgid "Other"
+#~ msgstr "Lainnya"
+
+#~ msgid "None"
+#~ msgstr "Tak Ada"
+
+#~ msgid "On"
+#~ msgstr "Hidup"
+
+#~ msgid "Off"
+#~ msgstr "Mati"
+
+#~ msgid "Mute"
+#~ msgstr "Diam"
+
+#~ msgid "Fast"
+#~ msgstr "Cepat"
+
+#~ msgid "Very Low"
+#~ msgstr "Sangat Rendah"
+
+#~ msgid "Low"
+#~ msgstr "Rendah"
+
+#~ msgid "Medium"
+#~ msgstr "Sedang"
+
+#~ msgid "High"
+#~ msgstr "Tinggi"
+
+#~ msgid "Very High"
+#~ msgstr "Sangat Tinggi"
+
+#~ msgid "Production"
+#~ msgstr "Produksi"
+
+#~ msgid "Front Panel Microphone"
+#~ msgstr "Mikrofon Panel Depan"
+
+#~ msgid "Front Panel Line In"
+#~ msgstr "Jalur Masuk Panel Depan"
+
+#~ msgid "Front Panel Headphones"
+#~ msgstr "Headphone Panel Depan"
+
+#~ msgid "Front Panel Line Out"
+#~ msgstr "Jalur Keluar Panel Depan"
+
+#~ msgid "Green Connector"
+#~ msgstr "Konektor Hijau"
+
+#~ msgid "Pink Connector"
+#~ msgstr "Konektor Merah Jambu"
+
+#~ msgid "Blue Connector"
+#~ msgstr "Konektor Biru"
+
+#~ msgid "White Connector"
+#~ msgstr "Konektor Putih"
+
+#~ msgid "Black Connector"
+#~ msgstr "Konektor Hitam"
+
+#~ msgid "Gray Connector"
+#~ msgstr "Konektor Abu-abu"
+
+#~ msgid "Orange Connector"
+#~ msgstr "Konektor Jingga"
+
+#~ msgid "Red Connector"
+#~ msgstr "Konektor Merah"
+
+#~ msgid "Yellow Connector"
+#~ msgstr "Konektor Kuning"
+
+#~ msgid "Green Front Panel Connector"
+#~ msgstr "Konektor Panel Depan Hijau"
+
+#~ msgid "Pink Front Panel Connector"
+#~ msgstr "Konektor Panel Depan Merah Jambu"
+
+#~ msgid "Blue Front Panel Connector"
+#~ msgstr "Konektor Panel Depan Biru"
+
+#~ msgid "White Front Panel Connector"
+#~ msgstr "Konektor Panel Depan Putih"
+
+#~ msgid "Black Front Panel Connector"
+#~ msgstr "Konektor Panel Depan Hitam"
+
+#~ msgid "Gray Front Panel Connector"
+#~ msgstr "Konektor Panel Depan Abu-abu"
+
+#~ msgid "Orange Front Panel Connector"
+#~ msgstr "Konektor Panel Depan Jingga"
+
+#~ msgid "Red Front Panel Connector"
+#~ msgstr "Konektor Panel Depan Merah"
+
+#~ msgid "Yellow Front Panel Connector"
+#~ msgstr "Konektor Panel Depan Kuning"
+
+#~ msgid "Spread Output"
+#~ msgstr "Sebar Keluaran"
+
+#~ msgid "Downmix"
+#~ msgstr "Downmix"
+
+#~ msgid "Virtual Mixer Input"
+#~ msgstr "Masukan Mixer Virtual"
+
+#~ msgid "Virtual Mixer Output"
+#~ msgstr "Keluaran Mixer Virtual"
+
+#~ msgid "Virtual Mixer Channels"
+#~ msgstr "Kanal Mixer Virtual"
+
+#~ msgid "%s Function"
+#~ msgstr "Fungsi %s"
+
 #~ msgid "%s %d"
 #~ msgstr "%s %d"
 
-#~ msgid "Internal clock error."
-#~ msgstr "Galat jam internal."
+#~ msgid ""
+#~ "Could not open audio device for playback. Device is being used by another "
+#~ "application."
+#~ msgstr ""
+#~ "Tak dapat membuka divais audio untuk putar kembali. Divais sedang "
+#~ "digunakan oleh aplikasi lain."
+
+#~ msgid ""
+#~ "Could not open audio device for playback. You don't have permission to "
+#~ "open the device."
+#~ msgstr ""
+#~ "Tak dapat membuka divais audio untuk putar kembali. Anda tak memiliki hak "
+#~ "akses untuk membuka divais."
+
+#~ msgid "Could not open audio device for playback."
+#~ msgstr "Tak dapat membuka divais audio untuk putar kembali."
+
+#~ msgid ""
+#~ "Could not open audio device for playback. This version of the Open Sound "
+#~ "System is not supported by this element."
+#~ msgstr ""
+#~ "Tak dapat membuka divais audio untuk putar kembali. Versi Open Sound "
+#~ "System ini tak didukung oleh elemen ini."
+
+#~ msgid "Playback is not supported by this audio device."
+#~ msgstr "Putar kembali tak didukung oleh divais audio ini."
+
+#~ msgid "Audio playback error."
+#~ msgstr "Putar kembali audio galat."
+
+#~ msgid "Recording is not supported by this audio device."
+#~ msgstr "Perekaman tak didukung oleh divais audio ini."
+
+#~ msgid "Error recording from audio device."
+#~ msgstr "Galat ketika merekam dari divais audio."
 
 #~ msgid "PCM 1"
 #~ msgstr "PCM 1"
index 580a77b..8a59453 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2009-08-14 00:12+0200\n"
 "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
index 98be03b..0b2d24c 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-27 12:55+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-26 19:38+0900\n"
 "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
index 9c938d1..d2dfb7a 100644 (file)
--- a/po/ky.po
+++ b/po/ky.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.5\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-12-11 00:54+0000\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2007-11-13 17:16+0600\n"
 "Last-Translator: Ilyas Bakirov <just_ilyas@yahoo.com>\n"
 "Language-Team: Kirghiz <i18n-team-ky-kyrgyz@lists.sourceforge.net>\n"
index ce8746d..75dcfcb 100644 (file)
--- a/po/lt.po
+++ b/po/lt.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-0.10.6.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2008-05-14 02:13+0300\n"
 "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
index e8aff9c..65b04fc 100644 (file)
--- a/po/lv.po
+++ b/po/lv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-12-11 00:54+0000\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-09-02 12:04-0000\n"
 "Last-Translator: Rihards Priedītis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
index 6ca6744..4b35aca 100644 (file)
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-0.10.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2008-10-26 20:27+0100\n"
 "Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
 "Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
index 93c6bc6..cd5da1a 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.5\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2007-11-03 14:46+0100\n"
 "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
index 15aa0be..5574959 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-27 12:55+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-27 00:16+0200\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
index c87e45a..d578407 100644 (file)
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-0.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2004-09-27 13:32+0530\n"
 "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
 "Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n"
index 59c56d4..89260ab 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-27 12:55+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-26 17:57+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
index 2b466e1..4114312 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-0.10.18.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2010-05-26 00:00-0300\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
index 4521363..9fc6e50 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.18.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2010-08-16 03:11+0300\n"
 "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
index 9d7536d..a53122f 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-27 12:55+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-26 20:31+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
index 8a388fc..4487b1b 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.17.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2010-03-08 09:20+0100\n"
 "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
index bff09d3..9612886 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-27 12:55+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-26 15:21+0100\n"
 "Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
index 81f440e..6185ef0 100644 (file)
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2008-08-15 16:07+0200\n"
 "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
 "Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\n"
index e4d9fe7..8eb3efa 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-12-11 00:54+0000\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-12-04 09:59+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <gnu@prevod.org>\n"
index f67a71c..9230f2f 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-12-11 00:54+0000\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2009-08-12 20:29+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -70,3 +70,442 @@ msgstr "Kunde inte öppna filen \"%s\" för läsning."
 
 #~ msgid "Internal clock error."
 #~ msgstr "Internt klockfel."
+
+#~ msgid "Could not open audio device for mixer control handling."
+#~ msgstr "Kunde inte öppna ljudenheten för mixningshantering."
+
+#~ msgid ""
+#~ "Could not open audio device for mixer control handling. This version of "
+#~ "the Open Sound System is not supported by this element."
+#~ msgstr ""
+#~ "Kunde inte öppna ljudenheten för mixningshantering. Denna version av Open "
+#~ "Sound System stöds inte av detta element."
+
+#~ msgid "Volume"
+#~ msgstr "Volym"
+
+#~ msgid "Master"
+#~ msgstr "Övergripande"
+
+#~ msgid "Front"
+#~ msgstr "Fram"
+
+#~ msgid "Rear"
+#~ msgstr "Bak"
+
+#~ msgid "Headphones"
+#~ msgstr "Hörlurar"
+
+# LFE=lågfrekvenseffekter
+#~ msgid "Center"
+#~ msgstr "Center"
+
+#~ msgid "LFE"
+#~ msgstr "LFE"
+
+#~ msgid "Surround"
+#~ msgstr "Surround"
+
+#~ msgid "Side"
+#~ msgstr "Sida"
+
+#~ msgid "Built-in Speaker"
+#~ msgstr "Inbyggd högtalare"
+
+#~ msgid "AUX 1 Out"
+#~ msgstr "AUX 1 ut"
+
+#~ msgid "AUX 2 Out"
+#~ msgstr "AUX 2 ut"
+
+#~ msgid "AUX Out"
+#~ msgstr "AUX ut"
+
+#~ msgid "Bass"
+#~ msgstr "Bas"
+
+#~ msgid "Treble"
+#~ msgstr "Diskant"
+
+#~ msgid "3D Depth"
+#~ msgstr "3D-djup"
+
+#~ msgid "3D Center"
+#~ msgstr "3D-center"
+
+#~ msgid "3D Enhance"
+#~ msgstr "3D-förbättring"
+
+#~ msgid "Telephone"
+#~ msgstr "Telefon"
+
+#~ msgid "Microphone"
+#~ msgstr "Mikrofon"
+
+#~ msgid "Line Out"
+#~ msgstr "Linje ut"
+
+#~ msgid "Line In"
+#~ msgstr "Linje in"
+
+#~ msgid "Internal CD"
+#~ msgstr "Intern cd"
+
+#~ msgid "Video In"
+#~ msgstr "Video in"
+
+#~ msgid "AUX 1 In"
+#~ msgstr "AUX 1 in"
+
+#~ msgid "AUX 2 In"
+#~ msgstr "AUX 2 in"
+
+#~ msgid "AUX In"
+#~ msgstr "AUX in"
+
+#~ msgid "PCM"
+#~ msgstr "PCM"
+
+#~ msgid "Record Gain"
+#~ msgstr "Inspelningsförstärkning"
+
+#~ msgid "Output Gain"
+#~ msgstr "Utgångsförstärkning"
+
+#~ msgid "Microphone Boost"
+#~ msgstr "Mikrofonförstärkning"
+
+#~ msgid "Loopback"
+#~ msgstr "Vändslinga"
+
+#~ msgid "Diagnostic"
+#~ msgstr "Diagnostik"
+
+#~ msgid "Bass Boost"
+#~ msgstr "Basförstärkning"
+
+#~ msgid "Playback Ports"
+#~ msgstr "Uppspelningsportar"
+
+#~ msgid "Input"
+#~ msgstr "Ingång"
+
+#~ msgid "Record Source"
+#~ msgstr "Inspelningskälla"
+
+#~ msgid "Monitor Source"
+#~ msgstr "Monitorkälla"
+
+#~ msgid "Keyboard Beep"
+#~ msgstr "Tangentbordspip"
+
+#~ msgid "Monitor"
+#~ msgstr "Monitor"
+
+#~ msgid "Simulate Stereo"
+#~ msgstr "Simulera stereo"
+
+#~ msgid "Stereo"
+#~ msgstr "Stereo"
+
+#~ msgid "Surround Sound"
+#~ msgstr "Surroundljud"
+
+#~ msgid "Microphone Gain"
+#~ msgstr "Mikrofonförstärkning"
+
+#~ msgid "Speaker Source"
+#~ msgstr "Högtalarkälla"
+
+#~ msgid "Microphone Source"
+#~ msgstr "Mikrofonkälla"
+
+#~ msgid "Jack"
+#~ msgstr "Jack"
+
+# LFE=lågfrekvenseffekter
+#~ msgid "Center / LFE"
+#~ msgstr "Center / LFE"
+
+#~ msgid "Stereo Mix"
+#~ msgstr "Stereomix"
+
+#~ msgid "Mono Mix"
+#~ msgstr "Monomix"
+
+#~ msgid "Input Mix"
+#~ msgstr "Ingångsmix"
+
+#~ msgid "SPDIF In"
+#~ msgstr "SPDIF in"
+
+#~ msgid "SPDIF Out"
+#~ msgstr "SPDIF ut"
+
+#~ msgid "Microphone 1"
+#~ msgstr "Mikrofon 1"
+
+#~ msgid "Microphone 2"
+#~ msgstr "Mikrofon 2"
+
+#~ msgid "Digital Out"
+#~ msgstr "Digital ut"
+
+#~ msgid "Digital In"
+#~ msgstr "Digital in"
+
+#~ msgid "HDMI"
+#~ msgstr "HDMI"
+
+#~ msgid "Modem"
+#~ msgstr "Modem"
+
+# Denna är svår att tolka
+#~ msgid "Handset"
+#~ msgstr "Telefonlur"
+
+#~ msgid "Other"
+#~ msgstr "Annan"
+
+#~ msgid "None"
+#~ msgstr "Ingen"
+
+#~ msgid "On"
+#~ msgstr "På"
+
+#~ msgid "Off"
+#~ msgstr "Av"
+
+#~ msgid "Mute"
+#~ msgstr "Tyst"
+
+#~ msgid "Fast"
+#~ msgstr "Snabb"
+
+#~ msgid "Very Low"
+#~ msgstr "Mycket låg"
+
+#~ msgid "Low"
+#~ msgstr "Låg"
+
+#~ msgid "Medium"
+#~ msgstr "Medel"
+
+#~ msgid "High"
+#~ msgstr "Hög"
+
+#~ msgid "Very High"
+#~ msgstr "Mycket hög"
+
+#~ msgid "Production"
+#~ msgstr "Produktion"
+
+#~ msgid "Front Panel Microphone"
+#~ msgstr "Frontpanelsmikrofon"
+
+#~ msgid "Front Panel Line In"
+#~ msgstr "Linje-in på frontpanel"
+
+#~ msgid "Front Panel Headphones"
+#~ msgstr "Hörlurar på frontpanel"
+
+#~ msgid "Front Panel Line Out"
+#~ msgstr "Linje-ut på frontpanel"
+
+#~ msgid "Green Connector"
+#~ msgstr "Grön kontakt"
+
+#~ msgid "Pink Connector"
+#~ msgstr "Rosa kontakt"
+
+#~ msgid "Blue Connector"
+#~ msgstr "Blå kontakt"
+
+#~ msgid "White Connector"
+#~ msgstr "Vit kontakt"
+
+#~ msgid "Black Connector"
+#~ msgstr "Svart kontakt"
+
+#~ msgid "Gray Connector"
+#~ msgstr "Grå kontakt"
+
+#~ msgid "Orange Connector"
+#~ msgstr "Orange kontakt"
+
+#~ msgid "Red Connector"
+#~ msgstr "Röd kontakt"
+
+#~ msgid "Yellow Connector"
+#~ msgstr "Gul kontakt"
+
+#~ msgid "Green Front Panel Connector"
+#~ msgstr "Grön frontpanelskontakt"
+
+#~ msgid "Pink Front Panel Connector"
+#~ msgstr "Rosa frontpanelskontakt"
+
+#~ msgid "Blue Front Panel Connector"
+#~ msgstr "Blå frontpanelskontakt"
+
+#~ msgid "White Front Panel Connector"
+#~ msgstr "Vit frontpanelskontakt"
+
+#~ msgid "Black Front Panel Connector"
+#~ msgstr "Svart frontpanelskontakt"
+
+#~ msgid "Gray Front Panel Connector"
+#~ msgstr "Grå frontpanelskontakt"
+
+#~ msgid "Orange Front Panel Connector"
+#~ msgstr "Orange frontpanelskontakt"
+
+#~ msgid "Red Front Panel Connector"
+#~ msgstr "Röd frontpanelskontakt"
+
+#~ msgid "Yellow Front Panel Connector"
+#~ msgstr "Gul frontpanelskontakt"
+
+#~ msgid "Spread Output"
+#~ msgstr "Spridd utgång"
+
+#~ msgid "Downmix"
+#~ msgstr "Nedmixning"
+
+#~ msgid "Virtual Mixer Input"
+#~ msgstr "Virtuell mixeringång"
+
+#~ msgid "Virtual Mixer Output"
+#~ msgstr "Virtuell mixerutgång"
+
+#~ msgid "Virtual Mixer Channels"
+#~ msgstr "Virtuella mixerkanaler"
+
+#~ msgid "%s Function"
+#~ msgstr "%s-funktion"
+
+#~ msgid "%s %d"
+#~ msgstr "%s %d"
+
+#~ msgid ""
+#~ "Could not open audio device for playback. Device is being used by another "
+#~ "application."
+#~ msgstr ""
+#~ "Kunde inte öppna ljudenheten för uppspelning. Enheten används av ett "
+#~ "annat program."
+
+#~ msgid ""
+#~ "Could not open audio device for playback. You don't have permission to "
+#~ "open the device."
+#~ msgstr ""
+#~ "Kunde inte öppna ljudenheten för uppspelning. Du har inte behörighet att "
+#~ "öppna enheten."
+
+#~ msgid "Could not open audio device for playback."
+#~ msgstr "Kunde inte öppna ljudenheten för uppspelning."
+
+#~ msgid ""
+#~ "Could not open audio device for playback. This version of the Open Sound "
+#~ "System is not supported by this element."
+#~ msgstr ""
+#~ "Kunde inte öppna ljudenheten för uppspelning. Denna version av Open Sound "
+#~ "System stöds inte av detta element."
+
+#~ msgid "Playback is not supported by this audio device."
+#~ msgstr "Uppspelning stöds inte av denna ljudenhet."
+
+#~ msgid "Audio playback error."
+#~ msgstr "Fel vid ljuduppspelning."
+
+#~ msgid "Recording is not supported by this audio device."
+#~ msgstr "Inspelning stöds inte av denna ljudenhet."
+
+#~ msgid "Error recording from audio device."
+#~ msgstr "Fel vid inspelning från ljudenhet."
+
+#~ msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
+#~ msgstr ""
+#~ "Misslyckades med att konfigurera TwoLAME-kodaren. Kontrollera dina "
+#~ "kodningsparametrar."
+
+#~ msgid ""
+#~ "The requested bitrate %d kbit/s for property '%s' is not allowed. The "
+#~ "bitrate was changed to %d kbit/s."
+#~ msgstr ""
+#~ "Den begärda bitfrekvensen %d kbit/s för egenskapen \"%s\" tillåts inte. "
+#~ "Bitfrekvensen ändrades till %d kbit/s."
+
+#~ msgid "PCM 1"
+#~ msgstr "PCM 1"
+
+#~ msgid "PCM 2"
+#~ msgstr "PCM 2"
+
+#~ msgid "PCM 3"
+#~ msgstr "PCM 3"
+
+#~ msgid "PCM 4"
+#~ msgstr "PCM 4"
+
+#~ msgid "Green connector function"
+#~ msgstr "Funktion för grön kontakt"
+
+#~ msgid "Green front panel connector function"
+#~ msgstr "Funktion för grön frontpanelskontakt"
+
+#~ msgid "Pink connector function"
+#~ msgstr "Funktion för rosa kontakt"
+
+#~ msgid "Pink front panel connector function"
+#~ msgstr "Funktion för rosa frontpanelskontakt"
+
+#~ msgid "Blue connector function"
+#~ msgstr "Funktion för blå kontakt"
+
+#~ msgid "Blue front panel connector function"
+#~ msgstr "Funktion för blå frontpanelskontakt"
+
+#~ msgid "Orange connector function"
+#~ msgstr "Funktion för orange kontakt"
+
+#~ msgid "Orange front panel connector function"
+#~ msgstr "Funktion för orange frontpanelskontakt"
+
+#~ msgid "Black connector function"
+#~ msgstr "Funktion för svart kontakt"
+
+#~ msgid "Black front panel connector function"
+#~ msgstr "Funktion för svart frontpanelskontakt"
+
+#~ msgid "Gray connector function"
+#~ msgstr "Funktion för grå kontakt"
+
+#~ msgid "Gray front panel connector function"
+#~ msgstr "Funktion för grå frontpanelskontakt"
+
+#~ msgid "White connector function"
+#~ msgstr "Funktion för vit kontakt"
+
+#~ msgid "White front panel connector function"
+#~ msgstr "Funktion för vit frontpanelskontakt"
+
+#~ msgid "Red connector function"
+#~ msgstr "Funktion för röd kontakt"
+
+#~ msgid "Red front panel connector function"
+#~ msgstr "Funktion för röd frontpanelskontakt"
+
+#~ msgid "Yellow connector function"
+#~ msgstr "Funktion för gul kontakt"
+
+#~ msgid "Yellow front panel connector function"
+#~ msgstr "Funktion för gul frontpanelskontakt"
+
+#~ msgid "Virtual mixer channel configuration"
+#~ msgstr "Kanalkonfiguration för virtuell mixer"
+
+#~ msgid "This file is corrupt and cannot be played."
+#~ msgstr "Den här filen är skadad och kan inte spelas upp."
+
+#~ msgid "This file is encrypted and cannot be played."
+#~ msgstr "Den här filen är krypterad och kan inte spelas upp."
index 667758e..3bf9867 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-27 12:55+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-26 19:21+0200\n"
 "Last-Translator: Server Acim <serveracim@gmail.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
index 5f6c97e..d01fa98 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2011-04-30 18:56+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2011-04-30 14:00+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
index 5dd1ea7..b3983a1 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.17.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2010-03-06 22:09+1030\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
index b962e38..84f35ce 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.16.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2010-10-19 23:33+0100\n"
+"POT-Creation-Date: 2012-02-17 10:41+0100\n"
 "PO-Revision-Date: 2009-11-20 18:12中国标准时间\n"
 "Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
index dd84f00..77fc814 100644 (file)
@@ -24,7 +24,7 @@
 #define GST_LICENSE "LGPL"
 
 /* package name in plugins */
-#define GST_PACKAGE_NAME "GStreamer Bad Plug-ins git"
+#define GST_PACKAGE_NAME "GStreamer Bad Plug-ins source release"
 
 /* package origin */
 #define GST_PACKAGE_ORIGIN "Unknown package origin"
 #undef USE_POISONING
 
 /* Version number of package */
-#define VERSION "0.11.0.1"
+#define VERSION "0.11.1"
 
 /* Define to 1 if your processor stores words with the most significant byte
    first (like Motorola and SPARC, unlike Intel and VAX). */