Release 0.10.20 RELEASE-0.10.20
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Thu, 2 Sep 2010 23:23:02 +0000 (00:23 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Thu, 2 Sep 2010 23:23:02 +0000 (00:23 +0100)
ChangeLog
NEWS
RELEASE
configure.ac
ext/cog/gstcogorc-dist.c
ext/cog/gstcogorc-dist.h
gst-plugins-bad.doap
win32/common/config.h

index 6369994..ca74376 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+=== release 0.10.20 ===
+
+2010-09-03  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+         releasing 0.10.20, "For it is a Human Number"
+
+2010-09-03 00:03:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * po/LINGUAS:
+       * po/el.po:
+       * po/gl.po:
+       * po/ro.po:
+       * po/sl.po:
+         po: update translations
+
+2010-09-03 00:01:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst-plugins-bad.doap:
+         doap: reference git repository instead of CVS repository
+
+2010-09-02 22:39:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmpsrc: fix wrong use of GST_ELEMENT_ERROR
+
+2010-08-30 16:01:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * docs/plugins/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * ext/cog/gstcogorc-dist.c:
+       * po/af.po:
+       * po/az.po:
+       * po/bg.po:
+       * po/ca.po:
+       * po/cs.po:
+       * po/da.po:
+       * po/de.po:
+       * po/en_GB.po:
+       * po/es.po:
+       * po/eu.po:
+       * po/fi.po:
+       * po/fr.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/ru.po:
+       * po/sk.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:
+         0.10.19.5 pre-release
+
+2010-08-30 15:20:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * tests/examples/camerabin/Makefile.am:
+         camerabin: Don't install gst-camera.ui
+         The examples are not meant to be installed and the executables of
+         them are not installed anyway.
+         Fixes bug #627918.
+
+2010-08-25 22:56:03 -0400  Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpmux.c:
+         rtpmux: Unlock the right mutex
+         The mutex locked is for the 'mux' object, but we unlock the
+         pad, which means that if the rtpmux gets a flush, then the
+         object lock will stay locked forever, causing it to freeze
+         the next time it tries to take it.
+         Fixes bug #627991
+
+2010-08-27 15:49:39 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+       * configure.ac:
+         configure: Bump neon requirement to 0.27.0
+         Needed in order to have ne_set_connect_timeout
+         Fixes bug #625076
+
+2010-08-21 21:42:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * 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/gst-plugins-bad-plugins.prerequisites:
+       * ext/cog/gstcogorc-dist.c:
+       * ext/cog/gstcogorc-dist.h:
+       * po/af.po:
+       * po/az.po:
+       * po/bg.po:
+       * po/ca.po:
+       * po/cs.po:
+       * po/da.po:
+       * po/de.po:
+       * po/en_GB.po:
+       * po/es.po:
+       * po/eu.po:
+       * po/fi.po:
+       * po/fr.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/ru.po:
+       * po/sk.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:
+         0.10.19.4 pre-release
+
+2010-08-16 12:36:24 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/qtmux/gstqtmux.c:
+         qtmux: autodetect out-of-order input timestamps and determine DTS accordingly
+         Favour using input buffer timestamps for DTS, but fallback to using buffer
+         duration (accumulation) if input ts detected out-of-order.
+         Fixes #624212.
+
+2010-08-20 11:09:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/jpegformat/gstjifmux.c:
+         jifmux: Avoid recombining RGB jpegs
+         JFIF only allows YUV as colorspace, when we receive an RGB jpeg,
+         we should just push it forward without adding the JFIF marker.
+         Fixes #627413
+
+2010-08-13 14:34:21 +0200  Philip Jägenstedt <philipj@opera.com>
+
+       * ext/vp8/gstvp8dec.c:
+         vp8dec: Set GstBaseVideoDecoder::packetized to TRUE as soon as possible
+         This fixes an infinite loop if an EOS event is received before
+         GstBaseVideoDecoder::start() is called, e.g. immediately when the
+         pads are activated.
+         Fixes bug #626815.
+
+2010-08-13 17:24:25 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From 3e8db1d to ec60217
+
+2010-08-11 22:03:07 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/gaudieffects/gstchromium.c:
+       * gst/gaudieffects/gstdilate.c:
+         gaudieffects: Mark inline functions as static inline
+         Otherwise it fails to correctly link them in some cases.
+         https://bugzilla.gnome.org/show_bug.cgi?id=626670
+
+2010-08-11 17:19:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * .gitignore:
+       * 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/gst-plugins-bad-plugins.prerequisites:
+       * docs/plugins/inspect/plugin-adpcmdec.xml:
+       * docs/plugins/inspect/plugin-adpcmenc.xml:
+       * docs/plugins/inspect/plugin-aiff.xml:
+       * docs/plugins/inspect/plugin-alsaspdif.xml:
+       * docs/plugins/inspect/plugin-amrwbenc.xml:
+       * docs/plugins/inspect/plugin-apexsink.xml:
+       * docs/plugins/inspect/plugin-asfmux.xml:
+       * docs/plugins/inspect/plugin-assrender.xml:
+       * docs/plugins/inspect/plugin-audioparsersbad.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-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-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-invtelecine.xml:
+       * docs/plugins/inspect/plugin-ivfparse.xml:
+       * docs/plugins/inspect/plugin-jack.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-metadata.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-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-pcapparse.xml:
+       * docs/plugins/inspect/plugin-pnm.xml:
+       * docs/plugins/inspect/plugin-qtmux.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-rtpmux.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-selector.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-valve.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-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-zbar.xml:
+       * win32/common/config.h:
+         0.10.19.3 pre-release
+
+2010-08-11 17:19:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/gsettings/Makefile.am:
+         gsettings: fix make distcheck
+         Clean up file we generated at build time.
+
+2010-08-11 12:09:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+         checks: blacklist gsettings* elements for generic/states test
+         When the test is run, the schema file won't be installed yet,
+         and there doesn't seem to be an environment variable to set
+         to force GSettings to look in a different directory.
+         https://bugzilla.gnome.org/show_bug.cgi?id=626603
+
+2010-08-11 00:23:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * 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/gst-plugins-bad-plugins.prerequisites:
+       * docs/plugins/inspect/plugin-adpcmdec.xml:
+       * docs/plugins/inspect/plugin-adpcmenc.xml:
+       * docs/plugins/inspect/plugin-aiff.xml:
+       * docs/plugins/inspect/plugin-alsaspdif.xml:
+       * docs/plugins/inspect/plugin-amrwbenc.xml:
+       * docs/plugins/inspect/plugin-apexsink.xml:
+       * docs/plugins/inspect/plugin-asfmux.xml:
+       * docs/plugins/inspect/plugin-assrender.xml:
+       * docs/plugins/inspect/plugin-audioparsersbad.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-cog.xml:
+       * docs/plugins/inspect/plugin-coloreffects.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-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-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-invtelecine.xml:
+       * docs/plugins/inspect/plugin-ivfparse.xml:
+       * docs/plugins/inspect/plugin-jack.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-metadata.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-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-pcapparse.xml:
+       * docs/plugins/inspect/plugin-pnm.xml:
+       * docs/plugins/inspect/plugin-qtmux.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-rtpmux.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-selector.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-valve.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-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-zbar.xml:
+       * ext/cog/gstcogorc-dist.c:
+       * win32/common/config.h:
+         0.10.19.2 pre-release
+         This commit is out of sequence, it really belongs between commits
+         15098331412ceb982c24b89bb4346354fb56433c (Automatic update of
+         common submodule) and dd26f378b01d679834f12935efc7093fb5807956
+         (configure: Fix the CELT checks to ...)
+
+2010-08-09 00:42:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+         configure: bump core/base requirement to released versions
+         This commit is out of sequence, it really belongs between commits
+         15098331412ceb982c24b89bb4346354fb56433c (Automatic update of
+         common submodule) and dd26f378b01d679834f12935efc7093fb5807956
+         (configure: Fix the CELT checks to ...)
+
+2010-08-09 00:42:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+         configure: fix --disable-external
+         This commit is out of sequence, it really belongs between commits
+         15098331412ceb982c24b89bb4346354fb56433c (Automatic update of
+         common submodule) and dd26f378b01d679834f12935efc7093fb5807956
+         (configure: Fix the CELT checks to ...)
+
+2010-08-08 17:09:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/elements/jifmux.c:
+         checks: skip jifmux tests if required elements aren't available
+         This commit is out of sequence, it really belongs between commits
+         15098331412ceb982c24b89bb4346354fb56433c (Automatic update of
+         common submodule) and dd26f378b01d679834f12935efc7093fb5807956
+         (configure: Fix the CELT checks to ...)
+
+2010-08-11 11:52:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/legacyresample/Makefile.am:
+         legacyresample: Link against $(LIBM) for rint() and friends
+
+2010-08-11 11:51:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * m4/gsettings.m4:
+         gsettings: Add gsettings.m4 for the gsettings macros
+
+2010-08-11 11:50:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/invtelecine/Makefile.am:
+         invtelecine: Link against $(LIBM) for sqrt() and friends
+
+2010-08-11 11:39:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         configure: Fix the CELT check to actually succeed if CELT >= 0.5 is available
+         Also remove the AC_MSG_RESULTS([no]), pkg-config does this for us already.
+
+2010-08-10 10:58:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * common:
+         Automatic update of common submodule
+         From bd2054b to 3e8db1d
+
+2010-08-09 17:20:11 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/gstsquare.c:
+       * gst/geometrictransform/gstsquare.h:
+         geometrictransform: add a "zoom" parameter to square filter
+         https://bugzilla.gnome.org/show_bug.cgi?id=625908
+
+2010-08-09 16:55:43 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/gstsquare.c:
+       * gst/geometrictransform/gstsquare.h:
+         geometrictransform: make square "width" and "height" customizable
+         https://bugzilla.gnome.org/show_bug.cgi?id=625908
+
+2010-08-09 10:03:20 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/gstmirror.c:
+       * gst/geometrictransform/gstmirror.h:
+         geometrictransform: add a "mode" property to mirror filter
+         Add a "mode" enum property to mirror that defines how to split the frame
+         and with side reflect.
+         https://bugzilla.gnome.org/show_bug.cgi?id=625908
+
+2010-08-09 08:52:51 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/gstbulge.c:
+       * gst/geometrictransform/gstbulge.h:
+         geometrictransform: add a "zoom" parameter to bulge filter
+         Rework bulge mapping function to give more predictable results.
+         Now the bulge is done dividing by a scale factor that smoothsteps from
+         "zoom" at the center to 1.0 at "radius".
+         https://bugzilla.gnome.org/show_bug.cgi?id=625908
+
+2010-08-05 16:16:37 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/gststretch.c:
+       * gst/geometrictransform/gststretch.h:
+         geometrictransform: add an "intensity" parameter to stretch filter
+         https://bugzilla.gnome.org/show_bug.cgi?id=625908
+
+2010-08-05 12:43:15 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/gsttunnel.c:
+         geometrictransform: make tunnel "radius" customizable
+         https://bugzilla.gnome.org/show_bug.cgi?id=625908
+
+2010-08-05 12:29:16 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/gstbulge.c:
+         geometrictransform: make bulge "radius" customizable
+         https://bugzilla.gnome.org/show_bug.cgi?id=625908
+
+2010-08-05 12:25:04 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/gststretch.c:
+         geometrictransform: make stretch "radius" customizable
+         https://bugzilla.gnome.org/show_bug.cgi?id=625908
+
+2010-08-08 23:56:43 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/mpeg4/mpeg4util.c:
+         vdpaumpeg4dec: fix typo in default_non_intra_quant_matrix
+
+2010-07-14 11:03:35 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/Makefile.am:
+       * sys/vdpau/gstvdpau.c:
+       * sys/vdpau/mpeg4/gstmpeg4frame.c:
+       * sys/vdpau/mpeg4/gstmpeg4frame.h:
+       * sys/vdpau/mpeg4/gstvdpmpeg4dec.c:
+       * sys/vdpau/mpeg4/gstvdpmpeg4dec.h:
+       * sys/vdpau/mpeg4/mpeg4util.c:
+       * sys/vdpau/mpeg4/mpeg4util.h:
+         vdpau: add mpeg4 part2 decoder
+
+2010-08-08 12:46:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/elements/id3mux.c:
+         checks: skip id3mux unit tests that need id3demux if id3demux is not available
+
+2010-08-08 12:26:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+         configure: build and dist new coloreffects plugin
+         Fixes make distcheck.
+
+2010-08-08 12:01:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/frei0r/gstfrei0r.c:
+         frei0r: Only check the plugin filenames, not the directory names
+
+2010-08-08 11:56:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/frei0r/gstfrei0r.c:
+         frei0r: Don't try to register/load the same frei0r plugin at different locations twice
+         This could happen because for example /usr/lib is linked
+         to /usr/lib64 and both are loaded. The frei0r specification
+         says that the plugin init function must only be called once
+         and for some plugin weird things (including crashes) are
+         happening.
+         Fixes bug #623710.
+
+2010-08-06 01:56:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * sys/dvb/gstdvbsrc.c:
+       * sys/dvb/gstdvbsrc.h:
+         dvbsrc: align actual default values for properties with defaults in param spec
+         https://bugzilla.gnome.org/show_bug.cgi?id=621404
+
+2010-08-06 12:14:04 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpdevice.c:
+       * sys/vdpau/gstvdp/gstvdpdevice.h:
+         vdpau: fix destruction of GstVdpDevice when it failed to open
+         only close display in finalize and check if vdp_decoder_destroy is available
+         before we use it
+
+2010-08-05 23:55:00 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdpsink.c:
+       * sys/vdpau/gstvdpsink.h:
+         vdpausink: use separate mutex for device locking
+         we can't use GST_OBJECT_LOCK since that cause problems when we try to post
+         errors, due to gst_element_post_message also taking the GST_OBJECT_LOCK
+
+2010-08-06 11:04:57 +0100  David Hoyt <dhoyt@llnl.gov>
+
+       * ext/neon/gstneonhttpsrc.c:
+       * ext/neon/gstneonhttpsrc.h:
+         neonhttpsrc: add connect-timeout and read-timeout properties
+         https://bugzilla.gnome.org/show_bug.cgi?id=625076
+
+2010-08-06 10:44:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/neon/gstneonhttpsrc.c:
+       * ext/neon/gstneonhttpsrc.h:
+       * tests/check/elements/neonhttpsrc.c:
+         neonhttpsrc: add "cookies" property
+         Based on patch by: Sameer Naik
+         https://bugzilla.gnome.org/show_bug.cgi?id=625174
+
+2010-07-25 17:04:12 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * sys/dshowvideosink/dshowvideosink.cpp:
+         dshowvideosink: close our own window when changing the window id
+         If we created the window, it needs to be closed after setting a new
+         window id.
+         https://bugzilla.gnome.org/show_bug.cgi?id=574290
+
+2010-07-25 17:01:19 +0200  Raimo Jarvi <raimo.jarvi@gmail.com>
+
+       * sys/dshowvideosink/dshowvideosink.cpp:
+         dshowvideosink: allow changing window ID whilst in PLAYING state
+         https://bugzilla.gnome.org/show_bug.cgi?id=574290
+
+2010-08-06 03:19:16 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/frei0r/gstfrei0r.c:
+         frei0r: Load plugins in /usr/{local/,}lib{32,64}/frei0r-1 too
+         Loads the plugins in more paths where they could be installed by
+         multilib distributions.
+         Fixes #623710
+
+2010-08-05 13:57:11 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From a519571 to bd2054b
+
+2010-08-03 10:08:34 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/gstcircle.c:
+       * gst/geometrictransform/gstcirclegeometrictransform.c:
+       * gst/geometrictransform/gstcirclegeometrictransform.h:
+       * gst/geometrictransform/gstkaleidoscope.c:
+       * gst/geometrictransform/gsttwirl.c:
+       * gst/geometrictransform/gstwaterripple.c:
+         geometrictransform: make ciclegt "radius" property relative
+         Make the "radius" property of CircleGeometricTransform relative.
+         This is more coherent with the way [x,y]-center properties are handled
+         and allow to set a radius without knowing the video size.
+         Radius is defined with respect to the circle circumscribed about the
+         video rectangle so that a point in the center has radius 0.0 and one in
+         a vertex has radius 1.0.
+         Note that this is not a regression from the previous absolute way of
+         defining the radius as a user who knows the video size can easily
+         calculate the relative radius and set that.
+         https://bugzilla.gnome.org/show_bug.cgi?id=625959
+
+2010-08-04 23:50:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/id3tag/id3tag.c:
+         id3mux: minor code clean-up
+         Add helper function to write text frames with just one string.
+
+2010-08-04 23:44:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/elements/.gitignore:
+         .gitignore: ignore more unit test binaries
+
+2010-06-14 20:07:33 +1000  Jonathan Matthew <jonathan@d14n.org>
+
+       * gst/id3tag/id3tag.c:
+       * tests/check/Makefile.am:
+       * tests/check/elements/id3mux.c:
+         id3mux: add support for beats-per-minute tag
+         Write beats per minute into the TBPM frame, and add unit
+         test for id3mux, based on id3v2mux unit test.
+         https://bugzilla.gnome.org/show_bug.cgi?id=621523
+
+2010-08-04 19:26:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * 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-aiff.xml:
+       * docs/plugins/inspect/plugin-aiffparse.xml:
+         configure: Check if the compiler supports ISO C89 or C99 and which parameters are required
+         This first checks what is required for ISO C99 support and sets the relevant
+         compiler parameters and if no C99 compiler is found, it checks for a
+         C89 compiler. This enables us to check for and use C89/C99 functions
+         that gcc hides from us without the correct compiler parameters.
+
+2010-08-04 10:15:00 +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/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * docs/plugins/inspect/plugin-coloreffects.xml:
+         coloreffects: Add to the documentation
+
+2010-08-04 10:11:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/coloreffects/gstcoloreffects.c:
+       * gst/coloreffects/gstplugin.c:
+         coloreffects: Minor cleanup
+
+2010-08-04 10:09:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/coloreffects/gstcoloreffects.c:
+         coloreffects: Improve property description a bit
+
+2010-08-04 10:08:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/coloreffects/gstcoloreffects.c:
+         coloreffects: Don't use the fixed_caps func on the pads
+         coloreffects can renegotiate during playback without any problems.
+
+2010-08-03 14:39:22 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/coloreffects/gstcoloreffects.c:
+       * gst/coloreffects/gstcoloreffects.h:
+         coloreffects: add ayuv support
+         Currently implemented switching from yuv to rgb, looking up rgb from the
+         table in the usual way, getting back to yuv. With luma lookup presets
+         (sepia, heat, xray) a color space conversion is saved directly looking
+         up rgb for a given Y and converting to yuv.
+         Probably this latter step can even be made faster precalculating a luma
+         to yuv table in an outer loop.
+         https://bugzilla.gnome.org/show_bug.cgi?id=625817
+
+2010-08-01 23:03:24 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * configure.ac:
+       * gst/coloreffects/Makefile.am:
+       * gst/coloreffects/gstcoloreffects.c:
+       * gst/coloreffects/gstcoloreffects.h:
+       * gst/coloreffects/gstplugin.c:
+         coloreffects: new plugin for lookup table color mapping
+         Implements a color lookup table filter with 4 presets:
+         - heat: fake heat camera effect
+         - sepia: sepia toning
+         - xray: invert + shade to blue
+         - xpro: cross process
+         https://bugzilla.gnome.org/show_bug.cgi?id=625817
+
+2010-08-03 10:29:36 +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/gst-plugins-bad-plugins.args:
+       * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+       * docs/plugins/gst-plugins-bad-plugins.interfaces:
+       * docs/plugins/inspect/plugin-aiffparse.xml:
+       * docs/plugins/inspect/plugin-frei0r.xml:
+       * docs/plugins/inspect/plugin-geometrictransform.xml:
+       * docs/plugins/inspect/plugin-kate.xml:
+       * docs/plugins/inspect/plugin-ladspa.xml:
+         docs: Add lots of gaudieffects/geometrictransform symbols to the docs
+
+2010-08-02 11:30:50 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstfisheye.c:
+       * gst/geometrictransform/gstfisheye.h:
+       * gst/geometrictransform/plugin.c:
+         geometrictransform: new filter "fisheye"
+         Ports gleffects "fisheye" filter to geometrictransform.
+         Fake fisheye lens filter. Somewhat empiric implementation because I
+         didn't find any good algorithm that does it with nice results.
+         https://bugzilla.gnome.org/show_bug.cgi?id=625722
+
+2010-08-02 11:12:42 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstmirror.c:
+       * gst/geometrictransform/gstmirror.h:
+       * gst/geometrictransform/plugin.c:
+         geometrictransform: new filter "mirror"
+         Ports gleffects "mirror" filter to geometrictransform.
+         Simple yet effective mirror effect, splits the image into halves and
+         reflect the first into the second.
+         https://bugzilla.gnome.org/show_bug.cgi?id=625722
+
+2010-08-02 11:01:31 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstsquare.c:
+       * gst/geometrictransform/gstsquare.h:
+       * gst/geometrictransform/plugin.c:
+         geometrictransform: new filter "square"
+         Ports gleffects "square" filter to geometrictransform.
+         Maps a region around the center into a zoomed square and smoothly get
+         back to normal zoom. With faces it makes a funny "cube-face" effect.
+         https://bugzilla.gnome.org/show_bug.cgi?id=625722
+
+2010-08-02 10:46:44 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gsttunnel.c:
+       * gst/geometrictransform/gsttunnel.h:
+       * gst/geometrictransform/plugin.c:
+         geometrictransform: new filter "tunnel"
+         Ports gleffects "tunnel" filter to geometrictransform.
+         Do nothing in a circle around the center and zoom outside.
+         https://bugzilla.gnome.org/show_bug.cgi?id=625722
+
+2010-08-02 09:39:51 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstbulge.c:
+       * gst/geometrictransform/gstbulge.h:
+       * gst/geometrictransform/plugin.c:
+         geometrictransform: new filter "bulge"
+         Ports gleffects "bulge" filter to geometrictransform.
+         Adds a protuberance around the center point.
+         https://bugzilla.gnome.org/show_bug.cgi?id=625722
+
+2010-08-02 09:17:03 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/geometricmath.c:
+       * gst/geometrictransform/geometricmath.h:
+       * gst/geometrictransform/gststretch.c:
+       * gst/geometrictransform/gststretch.h:
+       * gst/geometrictransform/plugin.c:
+         geometrictransform: new filter "stretch"
+         Ports gleffects "stretch" filter to geometrictransform.
+         Shrinks the image around the center and gradually return to normal zoom
+         creating funny caricatures.
+         https://bugzilla.gnome.org/show_bug.cgi?id=625722
+
+2010-08-02 18:33:46 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdpau.c:
+         vdpau: set back plugin ranks to GST_RANK_NONE
+         the previous change was not meant to slip in
+
+2010-08-02 18:23:11 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+         vdpau: slightly fix GstBaseVideoDecoder timestamping
+         clear timestamps on flush and properly calculate the frame's end offset
+
+2010-08-01 12:32:31 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpvideobuffer.c:
+         vdpau: init debug category in gst_vdp_video_buffer_get_type
+
+2010-08-02 20:41:12 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+       * docs/plugins/inspect/plugin-gaudieffects.xml:
+       * gst/gaudieffects/Makefile.am:
+       * gst/gaudieffects/blur-example.py:
+       * gst/gaudieffects/gstgaussblur.c:
+       * gst/gaudieffects/gstgaussblur.h:
+       * gst/gaudieffects/gstplugin.c:
+       * gst/gaudieffects/gstplugin.h:
+         gaudieffects: Add Gaussian Blur effect, and brief example.
+
+2010-07-30 23:59:10 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmpsrc: fix warning on osx.
+
+2010-07-30 22:27:49 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpdecoder.c:
+       * sys/vdpau/gstvdp/gstvdpdevice.c:
+       * sys/vdpau/gstvdp/gstvdpdevice.h:
+       * sys/vdpau/gstvdpau.c:
+       * sys/vdpau/gstvdpsink.c:
+       * sys/vdpau/gstvdpvideopostprocess.c:
+         vdpau: add error reporting to device creation
+
+2010-07-30 16:54:40 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+         vdpau: fix small typo in GstBaseVideoDecoder
+
+2010-07-30 14:47:43 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.c:
+         vdpau: use gst_vdp_yuv_to_video_caps in GstVdpVideoSrcPad to transform set caps
+         this way we'll keep other all other fields in the caps which we didn't take in
+         account when we manually created the "video/x-vdpau-video" caps
+
+2010-07-30 14:44:09 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdputils.c:
+       * sys/vdpau/gstvdp/gstvdputils.h:
+       * sys/vdpau/gstvdp/gstvdpvideobuffer.c:
+       * sys/vdpau/gstvdp/gstvdpvideobuffer.h:
+       * sys/vdpau/gstvdpvideopostprocess.c:
+         vdpau: rename gst_vdp_video_buffer_parse_yuv_caps and move it to gstvdputils.h
+
+2010-07-30 14:07:22 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.c:
+         vdpau: GstVdpOutputSrcPad use gst_pad_alloc when outputting video/x-raw-rgb
+         we implement "acceptcaps" to prevent us from getting a buffer with different
+         width and height from what we requested.
+
+2010-07-30 11:29:16 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdputils.c:
+         vdpau: properly remove "chroma-type" field from transformed caps
+
+2010-07-30 11:27:27 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.c:
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.h:
+       * sys/vdpau/gstvdpvideopostprocess.c:
+       * sys/vdpau/gstvdpvideopostprocess.h:
+         vdpauvideopostprocess: use GstVdp[Video|Output]BufferPool to cache our buffers
+         This way we'll reuse the GstVdp[Video|Output]Buffers if they're of the same
+         size and chroma-type/rgba-format.
+         Also remove gst_vdp_output_src_pad_negotiate and set a "setcaps" function on
+         GstVdpOutputSrcPad instead, leaving negotiation to GstVdpVideoPostProcess.
+
+2010-07-30 11:20:35 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdpsink.c:
+       * sys/vdpau/gstvdpsink.h:
+         vdpausink: use GstVdpOutputBufferPool to alloc our buffers
+         This way we'll reuse our GstVdpOutputBuffers if they're of the same size and
+         rgba-format
+
+2010-07-30 11:16:09 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.c:
+         vdpau: use GstVdpVideoBufferPool in GstVdpVideoSrcPad
+         We also don't pad_alloc our GstVdpVideoBuffers anymore since we don't support
+         downstream negotation anyway.
+
+2010-07-30 11:06:17 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/Makefile.am:
+       * sys/vdpau/gstvdp/gstvdpoutputbuffer.c:
+       * sys/vdpau/gstvdp/gstvdpoutputbuffer.h:
+       * sys/vdpau/gstvdp/gstvdpoutputbufferpool.c:
+       * sys/vdpau/gstvdp/gstvdpoutputbufferpool.h:
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.c:
+       * sys/vdpau/gstvdpsink.c:
+         vdpau: add GstVdpOutputBufferPool
+         GstVdpVideoOutputPool is a subclass of GstVdpBufferPool that caches
+         GstVdpOutputBuffers
+
+2010-07-30 11:01:15 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/Makefile.am:
+       * sys/vdpau/gstvdp/gstvdpvideobuffer.c:
+       * sys/vdpau/gstvdp/gstvdpvideobuffer.h:
+       * sys/vdpau/gstvdp/gstvdpvideobufferpool.c:
+       * sys/vdpau/gstvdp/gstvdpvideobufferpool.h:
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.c:
+       * sys/vdpau/gstvdpvideopostprocess.c:
+         vdpau: add GstVdpVideoBufferPool
+         GstVdpVideoBufferPool is a subclass of GstVdpBuffer that caches
+         GstVdpVideoBuffers
+
+2010-07-30 10:55:56 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/Makefile.am:
+       * sys/vdpau/gstvdp/gstvdpbuffer.c:
+       * sys/vdpau/gstvdp/gstvdpbuffer.h:
+       * sys/vdpau/gstvdp/gstvdpbufferpool.c:
+       * sys/vdpau/gstvdp/gstvdpbufferpool.h:
+         vdpau: add GstVdpBufferPool base class
+         GstVdpBufferPool will be used to cache GstVdp[Video|Output]Buffers since
+         creating these can be a costly operation on some hardware.
+
+2010-07-28 21:39:12 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.c:
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.h:
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.c:
+       * sys/vdpau/gstvdpvideopostprocess.c:
+         vdpau: remove GstVdpOutputSrcPad "template-caps" property
+         instead we do as GstVdpVideoSrcPad and use the "templ" property of GstPad,
+         which enable us to change the signature of gst_vdp_output_src_pad_new to match
+         gst_pad_new_from_template
+
+2010-07-28 21:15:46 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.c:
+       * sys/vdpau/gstvdpvideopostprocess.c:
+         vdpau: remove GstVdpOutputSrcPad code to retrieve the device from downstream
+         we now no longer try to get the GstVdpDevice from downstream since it in
+         practice didn't give us anything and complicates the code alot. Nevertheless if device
+         distribution should be done there's probably a lot better ways to do it.
+         Instead we now simply aquire the device in vdpauvideopostprocess when we're
+         going into PAUSED.
+
+2010-07-27 23:24:43 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpdecoder.c:
+       * sys/vdpau/gstvdp/gstvdpdecoder.h:
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.c:
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+         vdpau: cleanup GstVdpDecoder opening of it's GstVdpDevice
+         we now no longer try to get the GstVdpDevice from downstream since it in
+         practice didn't give us anything and complicates the code alot. Nevertheless if device
+         distribution should be done there's probably a lot better ways to do it.
+
+2010-07-27 23:17:09 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+         vdpau: fix GstBaseVideoDecoder returning wrong GstStateChangeReturn
+         when gst_base_video_decoder_[start|stop] fails we now return
+         GST_STATE_CHANGE_FAILURE instead of returning what the parent class returns
+
+2010-07-27 15:33:00 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+         vdpaumpegdec: remove unneeded setting of buffer flags
+         GstBaseVideoDecoder sets GST_VIDEO_BUFFER_TFF for us and
+         GST_BUFFER_FLAG_DELTA_UNIT doesn't make sense for decoded frames.
+
+2010-07-29 16:08:03 +0200  Andoni Morales <ylatuya@gmail.com>
+
+       * sys/dshowsrcwrapper/gstdshow.cpp:
+         dshowvideosrc: don't make a range if min==max
+         Fixes bug #625138
+
+2010-07-29 10:38:58 +0100  Zaheer Abbas Merali <zaheerabbas@merali.org>
+
+       * gst/mpegdemux/mpegtspacketizer.c:
+         mpegtsparse: actually work when we have small buffers coming in
+         available_fast is not what we want and it will never get to discover packet
+         size if 188 byte buffers are being picked up.
+
+2010-07-28 18:36:53 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * .gitignore:
+         .gitignore: ignore gsettings xml schema file
+
+2010-07-28 18:34:15 +0200  Tim-Philipp Müller <tim.muller@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/gst-plugins-bad-plugins.args:
+       * docs/plugins/inspect/plugin-aiff.xml:
+       * docs/plugins/inspect/plugin-gaudieffects.xml:
+       * docs/plugins/inspect/plugin-geometrictransform.xml:
+       * docs/plugins/inspect/plugin-ivfparse.xml:
+       * docs/plugins/inspect/plugin-kate.xml:
+       * docs/plugins/inspect/plugin-ladspa.xml:
+       * docs/plugins/inspect/plugin-shm.xml:
+       * docs/plugins/inspect/plugin-videomaxrate.xml:
+         docs: add more plugins and elements to the docs
+
+2010-07-28 17:46:53 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/ivfparse/gstivfparse.c:
+       * gst/ivfparse/gstivfparse.h:
+         ivfparse: fix up macros and function names to match guidelines
+
+2010-07-28 17:34:02 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/gaudieffects/gstburn.c:
+       * gst/gaudieffects/gstburn.h:
+       * gst/gaudieffects/gstchromium.c:
+       * gst/gaudieffects/gstchromium.h:
+       * gst/gaudieffects/gstdilate.c:
+       * gst/gaudieffects/gstdilate.h:
+       * gst/gaudieffects/gstdodge.c:
+       * gst/gaudieffects/gstdodge.h:
+       * gst/gaudieffects/gstexclusion.c:
+       * gst/gaudieffects/gstexclusion.h:
+       * gst/gaudieffects/gstsolarize.c:
+       * gst/gaudieffects/gstsolarize.h:
+         gaudieffects: fix structure names to comply with the plugin moving guidelines
+
+2010-07-28 16:15:53 +0200  Marc-André Lureau <mlureau@flumotion.com>
+
+       * gst/qtmux/gstqtmux.c:
+         qtmux: use caps bitrate at last chance
+         If we didn't get the stream's bitrate from one of the atoms,
+         try getting it from the caps as a last resort.
+         https://bugzilla.gnome.org/show_bug.cgi?id=625496
+
+2010-07-28 16:12:11 +0200  Marc-André Lureau <mlureau@flumotion.com>
+
+       * gst/qtmux/atoms.c:
+         qtmux: btrt - max bitrate before average
+         According to iso base media file format, the max bitrate
+         is before the avg
+         https://bugzilla.gnome.org/show_bug.cgi?id=625496
+
+2010-07-27 18:23:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: Reset the segment on FLUSH_STOP and when going back to READY
+
+2010-07-27 18:07:00 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * sys/vdpau/gstvdp/Makefile.am:
+         vdpau: dist new header file
+         Fix make distcheck.
+
+2010-07-23 19:41:29 +0200  Julien Moutte <julien@fluendo.com>
+
+       * sys/dshowvideosink/dshowvideofakesrc.cpp:
+       * sys/dshowvideosink/dshowvideosink.cpp:
+       * sys/dshowvideosink/dshowvideosink.h:
+         dshowvideosink: Improvements contributed from the Moovida projet.
+         * Inherit from GstVideoSink
+         * Implement GstNavigation interface
+         * Proper COM initialization for threaded environments
+         * Fix Window resource leak
+         * Add EVR support for better video scaling on Windows Vista and above
+         * Only apply PAR scaling when the keep_aspect_ratio property is set to stay
+         consistent with the other Linux sinks
+         * Prevent an infinite loop with the wndproc chain
+         * Fix debugging messages to use the object instance
+
+2010-07-23 00:28:49 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpdecoder.c:
+       * sys/vdpau/gstvdp/gstvdpdecoder.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+         vdpau: add gst_vdp_decoder_render and gst_vdp_decoder_init_decoder
+
+2010-07-22 09:21:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * tests/icles/metadata_editor.c:
+         examples: Use cairo instead of gdk_draw_* API
+         Fixes bug #625003.
+
+2010-07-12 22:37:47 -0300  Luis de Bethencourt <luis@debethencourt.com>
+
+       * configure.ac:
+       * gst/gaudieffects/Makefile.am:
+       * gst/gaudieffects/gstburn.c:
+       * gst/gaudieffects/gstburn.h:
+       * gst/gaudieffects/gstchromium.c:
+       * gst/gaudieffects/gstchromium.h:
+       * gst/gaudieffects/gstdilate.c:
+       * gst/gaudieffects/gstdilate.h:
+       * gst/gaudieffects/gstdodge.c:
+       * gst/gaudieffects/gstdodge.h:
+       * gst/gaudieffects/gstexclusion.c:
+       * gst/gaudieffects/gstexclusion.h:
+       * gst/gaudieffects/gstplugin.c:
+       * gst/gaudieffects/gstplugin.h:
+       * gst/gaudieffects/gstsolarize.c:
+       * gst/gaudieffects/gstsolarize.h:
+         gaudieffects: Adds new plugin 'gaudieffects'
+         Adds the new 'gaudieffects' plugin, originally found
+         here: http://github.com/luisbg/gaudi_effects
+         Contains the following video effect elements: burn, chromium, dilate,
+         dodge, exclusion and solarize.
+         Thanks to Jan Schmidt for the reviewing and refactoring
+
+2010-07-19 21:53:30 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264parser.c:
+       * sys/vdpau/h264/gstvdph264dec.c:
+         vdpauh264dec: try to calculate framerate if we don't get one from upstream
+
+2010-07-19 11:34:39 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpdevice.c:
+         vdpau: fix segfault when vdpau device could not be created
+
+2010-07-18 21:15:34 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gstvdph264dec.c:
+         vdpauh264dec: fix problem when encountering GST_NAL_AU_DELIMITER
+
+2010-07-08 09:56:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * sys/wasapi/gstwasapisrc.c:
+         wasapisrc: Use new gst_audio_clock_new_full()
+
+2010-07-08 09:55:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/alsaspdif/alsaspdifsink.c:
+         alsaspdifsink: Use new gst_audio_clock_new_full()
+
+2010-07-15 13:23:52 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gstvdph264dec.c:
+         vdpauh264dec: calculate width and height from bitstream info
+
+2010-07-15 11:10:03 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264parser.c:
+         vdpauh264dec: fix usage of g_bit_storage
+
+2010-07-14 11:19:05 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/mpeg/mpegutil.c:
+         vdpaumpegdec: rename zigzag matrix
+
+2010-07-14 11:17:49 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * configure.ac:
+       * sys/vdpau/h264/gsth264parser.c:
+         vdpauh264dec: use g_bit_storage instead of log2
+         log2 caused compile issues on certain platforms
+
+2010-07-13 00:40:36 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * ext/gsettings/Makefile.am:
+         gsettings: Fix maintainer-clean when it is not available
+         Do not use @GSETTINGS_RULES@ if gsettings is not available
+         to avoid maintainer-clean failing.
+
+2010-07-11 10:47:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/frei0r/gstfrei0r.c:
+       * gst/frei0r/gstfrei0r.h:
+       * gst/frei0r/gstfrei0rfilter.c:
+       * gst/frei0r/gstfrei0rfilter.h:
+       * gst/frei0r/gstfrei0rmixer.c:
+       * gst/frei0r/gstfrei0rmixer.h:
+       * gst/frei0r/gstfrei0rsrc.c:
+       * gst/frei0r/gstfrei0rsrc.h:
+         frei0r: Use correct order of directories to search for plugins
+         And don't fail if a plugin was already registered. Frei0r allows
+         plugins in directories with higher importance to override plugins
+         from directories with lower importance.
+
+2010-07-10 16:52:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+         vp8enc: Add support for enabling automatic insertion of alt-ref frames by the encoder
+
+2010-07-10 16:51:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Fix handling of invisible/alt ref frames
+
+2010-07-10 15:50:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: Fix memory leak
+         The timestamps are only used if the output adapter is used, not
+         if complete frames are provided by the decoder and finish_frame() is
+         called and even in the case where the output adapter is used they
+         might not be used and are leaked.
+
+2010-07-10 15:46:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/vp8dec.c:
+         vp8dec: Add simple unit test for vp8dec
+
+2010-07-10 15:46:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * tests/check/elements/vp8enc.c:
+         vp8enc: Improve unit test a bit
+
+2010-07-10 15:32:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * tests/check/elements/vp8enc.c:
+         vp8enc: Also check the output caps in the unit test
+
+2010-07-10 15:29:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/vp8enc.c:
+         vp8enc: Add simple unit test
+
+2010-07-09 17:44:56 +0300  David Hoyt <dhoyt@llnl.gov>
+
+       * gst/aiff/aiffmux.c:
+         aifmmux: use alternative way to check for inf
+         MSVC emits a divide-by-zero error when compiling aiffmux.c on line 205.
+         Fixes #623881.
+
+2010-07-08 21:53:35 +0100  David Hoyt <dhoyt@llnl.gov>
+
+       * sys/winks/gstksvideosrc.c:
+         winks: fix compilation by using the right function
+         Fixes #623883.
+
+2010-07-08 17:58:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+       * gst/jpegformat/gstjpegparse.c:
+         jpegparse: fix exif frame size
+         Skip the correct number of bytes when reading exif
+         data
+         Fixes #623854
+
+2010-07-08 15:07:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/timidity/gstwildmidi.c:
+         wildmidi: Correctly initialize properties with the default values again
+
+2010-07-08 07:57:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/timidity/gstwildmidi.c:
+         wildmidi: Use PROP_ instead of ARG_ for property enums and use G_PARAM_STATIC_STRINGS
+         Also don't use G_PARAM_CONSTRUCT, it does not make sense for elements.
+
+2010-07-07 23:06:43 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin/gstcamerabin.c:
+         camerabin: Fix viewfiner-sink property for bins
+         Correctly iterate viewfinder-sink children when
+         it is a bin.
+         Fixes #623802
+
+2010-07-06 14:48:08 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
+
+       * gst/qtmux/atoms.c:
+       * gst/qtmux/atoms.h:
+       * gst/qtmux/gstqtmux.c:
+         qtmux: Write 'btrt' atom for H.264 media if possible
+         This writes out the optional 'btrt' atom (MPEG4BitrateBox) for H.264
+         media if either or both of average and maximum bitrate are available for
+         the stream.
+         https://bugzilla.gnome.org/show_bug.cgi?id=623678
+
+2010-07-05 14:09:50 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
+
+       * gst/qtmux/atoms.c:
+       * gst/qtmux/atoms.h:
+       * gst/qtmux/gstqtmux.c:
+       * gst/qtmux/gstqtmux.h:
+         qtmux: Write avg/max bitrate to ESDS if available
+         This collects the 'bitrate' and 'maximum-bitrate' tags on the
+         corresponding pad and uses these to populate these fields in the ESDS
+         where applicable.
+         https://bugzilla.gnome.org/show_bug.cgi?id=623678
+
+2010-07-07 10:33:18 -0700  Michael Smith <msmith@songbirdnest.com>
+
+       * sys/dshowdecwrapper/gstdshowvideodec.cpp:
+         dshowdecwrapper: reset flow return state tracker after flush to avoid spurious errors after flushing in some cases.
+
+2010-07-07 08:37:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * ext/timidity/gstwildmidi.c:
+         wildmidi: Add support for wildmidi 0.2.3
+         Fixes bug #623722.
+
+2010-07-01 10:56:19 +0200  Philippe Normand <pnormand@igalia.com>
+
+       * sys/dshowvideosink/dshowvideosink.cpp:
+       * sys/dshowvideosink/dshowvideosink.h:
+         dshowvideosink: Update renderer aspect ratio after force-aspect-ratio property update.
+         A new virtual method has been added to the RendererSupport class. It
+         is called during the initial renderer configuration and each time the
+         force-aspect-ratio property of the sink is updated.
+         Fixes bug #623272.
+
+2010-07-07 00:15:22 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>
+
+       * sys/dshowdecwrapper/gstdshowaudiodec.cpp:
+         dshowaudiodec: Fix compilation error
+         Closes #623713
+
+2010-07-06 13:15:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/asfmux/gstasfmux.c:
+         asfmux: only use g_warning() when setting the old is-live property, not when reading it
+         Don't want warnings in e.g. gst-inspect.
+
+2010-07-06 10:53:04 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * po/POTFILES.in:
+         po: Use proper gsettings schema file
+
+2010-07-05 11:52:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * tests/check/elements/jpegparse.c:
+         tests: fix caps leak in jpegparse unit test
+
+2010-07-05 11:48:08 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/jpegformat/gstjpegparse.c:
+         jpegparse: fix skipping extra 0xff markers
+         In particular, this makes the jpegparse unit test pass again.
+         Also add a debug statement.
+         Fixes #622690.
+
+2010-07-05 10:09:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/celt/gstceltdec.c:
+       * ext/celt/gstceltenc.c:
+         celt: Improve debugging
+
+2010-07-05 10:08:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/celt/gstceltenc.c:
+       * ext/celt/gstceltenc.h:
+         celtenc: Add support for setting the prediction mode and the start band
+
+2010-07-05 09:53:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         celt: Add check for celt 0.8
+
+2010-07-05 09:52:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * ext/celt/gstceltenc.c:
+         celt: Remove support for celt < 0.5
+         celt 0.5 was released more than a year ago and the bitstream is
+         incompatible with the current one anyway.
+
+2010-07-05 09:47:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/celt/gstceltdec.c:
+       * ext/celt/gstceltenc.c:
+         celt: Fix compilation with celt 0.8
+         Fixes bug #623550.
+
+2010-07-05 09:32:30 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * ext/gsettings/gstgsettingsaudiosrc.c:
+       * ext/gsettings/gstgsettingsvideosink.c:
+       * ext/gsettings/gstgsettingsvideosrc.c:
+         gsettings: fix some more warnings
+
+2010-07-05 09:28:49 +0200  Alessandro Decina <alessandro.d@gmail.com>
+
+       * ext/gsettings/gstgsettingsaudiosink.c:
+         gsettings: fix a compiler warning
+
+2010-07-03 16:15:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * ext/Makefile.am:
+       * ext/gsettings/Makefile.am:
+       * ext/gsettings/gstgsettings.h:
+       * ext/gsettings/gstgsettingsaudiosink.c:
+       * ext/gsettings/gstgsettingsaudiosink.h:
+       * ext/gsettings/gstgsettingsaudiosrc.c:
+       * ext/gsettings/gstgsettingsaudiosrc.h:
+       * ext/gsettings/gstgsettingsvideosink.c:
+       * ext/gsettings/gstgsettingsvideosink.h:
+       * ext/gsettings/gstgsettingsvideosrc.c:
+       * ext/gsettings/gstgsettingsvideosrc.h:
+       * ext/gsettings/gstswitchsink.c:
+       * ext/gsettings/gstswitchsink.h:
+       * ext/gsettings/gstswitchsrc.c:
+       * ext/gsettings/gstswitchsrc.h:
+       * ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:
+       * ext/gsettings/plugin.c:
+       * po/POTFILES.in:
+         gsettings: Initial version of GSettings plugin
+         This provides audio/video sources and sinks.
+         Fixes bug #616265.
+
+2010-07-03 17:48:20 +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/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/plugins/gst-plugins-bad-plugins.signals:
+       * docs/plugins/inspect/plugin-aiff.xml:
+       * docs/plugins/inspect/plugin-aiffparse.xml:
+       * docs/plugins/inspect/plugin-frei0r.xml:
+       * docs/plugins/inspect/plugin-gmedec.xml:
+       * docs/plugins/inspect/plugin-gstrtpmanager.xml:
+       * docs/plugins/inspect/plugin-kate.xml:
+       * docs/plugins/inspect/plugin-ladspa.xml:
+       * docs/plugins/inspect/plugin-lv2.xml:
+         docs: Integrate VP8 documentation
+
+2010-07-03 17:47:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8dec.c:
+       * ext/vp8/gstvp8dec.h:
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+         vp8: Add initial documentation, based on the theoradec/theoraenc documentation
+
+2010-07-03 17:34:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/Makefile.am:
+       * ext/vp8/gstvp8dec.c:
+       * ext/vp8/gstvp8dec.h:
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8enc.h:
+       * ext/vp8/plugin.c:
+         vp8: Move structure definitions, etc to public header files for gtk-doc
+
+2010-07-02 12:45:20 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/qtmux/gstqtmux.c:
+         qtmux: Don't use bogus codec/format tags
+         https://bugzilla.gnome.org/show_bug.cgi?id=623365
+
+2010-07-01 15:19:12 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpdtmfmux.c:
+       * gst/rtpmux/gstrtpmux.c:
+       * gst/rtpmux/gstrtpmux.h:
+         rtpmux: Add support for GstBufferList
+         Factor out most of the buffer handling and implement a chain_list
+         function. Also, the DTMF muxer has been modified to just have a
+         function to accept or reject a buffer instead of having to subclass
+         both chain and chain_list.
+
+2010-07-01 15:15:49 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpmux.c:
+         rtpmux: Don't leak invalid buffers
+
+2010-06-14 15:15:09 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * docs/plugins/Makefile.am:
+       * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+       * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+       * gst/videomaxrate/videomaxrate.c:
+       * gst/videomaxrate/videomaxrate.h:
+         videomaxrate: Add to docs
+
+2010-06-11 18:31:05 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/videomaxrate/videomaxrate.c:
+         videomaxrate: Add fixates_caps
+
+2010-06-10 20:36:29 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/videomaxrate/videomaxrate.c:
+         videomaxrate: Accept wider caps
+
+2010-06-10 20:25:01 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/videomaxrate/videomaxrate.c:
+       * gst/videomaxrate/videomaxrate.h:
+         videomaxrate: Make period over which to average configurable
+
+2010-06-10 20:43:16 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/videomaxrate/videomaxrate.c:
+         videomaxrate: Simplify transform_caps
+
+2010-06-10 20:14:01 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/videomaxrate/videomaxrate.c:
+         videomaxrate: Use basetransform correctly
+
+2010-06-10 20:08:14 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/videomaxrate/videomaxrate.c:
+       * gst/videomaxrate/videomaxrate.h:
+         videomaxrate: Make plugin actually work by using an average
+
+2010-06-10 19:17:00 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * configure.ac:
+       * gst/videomaxrate/Makefile.am:
+       * gst/videomaxrate/videomaxrate.c:
+       * gst/videomaxrate/videomaxrate.h:
+         videomaxrate: Import plugin
+         Import plugin from PsiMedia, based on my work
+
+2010-07-01 16:28:57 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/debugutils/fpsdisplaysink.c:
+         fpsdisplaysink: signal-fps-measurements is writable
+         signal-fps-measurements is a readwrite property, not read-only.
+         Also adds some more debugging logs.
+
+2010-06-30 18:59:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+         tests: add gst-ffmpeg to whitelist as well
+         The mxf tests use some ffmpeg elements if they're available.
+
+2010-06-30 18:52:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+         tests: add plugin loading whitelist to test environment
+         Only want to load core/-base/-good/-ugly/-bad plugins here.
+
+2010-06-30 18:20:13 +0100  Sebastian Pölsterl <sebp@k-d-w.org>
+
+       * gst/mpegdemux/mpegtsparse.c:
+         mpegtsparse: don't free PAT structure which may still be needed later
+         This is a problem if you tune to a channel which uses pid X and later tune to
+         another channel where X is used for another table (e.g. PMT).
+         The code that does that was actually already there but never used because the
+         pat structure was freed before. The commit that introduced those lines intended
+         to fix a memory leak, but we clean things up elsewhere.
+         Fixes #622725.
+
+2010-06-30 18:19:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * 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-audioparsersbad.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-cog.xml:
+       * docs/plugins/inspect/plugin-dtmf.xml:
+       * docs/plugins/inspect/plugin-dtsdec.xml:
+       * docs/plugins/inspect/plugin-dvb.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-gsm.xml:
+       * docs/plugins/inspect/plugin-id3tag.xml:
+       * docs/plugins/inspect/plugin-invtelecine.xml:
+       * docs/plugins/inspect/plugin-kate.xml:
+       * docs/plugins/inspect/plugin-ladspa.xml:
+       * docs/plugins/inspect/plugin-mimic.xml:
+       * docs/plugins/inspect/plugin-modplug.xml:
+       * docs/plugins/inspect/plugin-mpeg2enc.xml:
+       * docs/plugins/inspect/plugin-mpegdemux2.xml:
+       * docs/plugins/inspect/plugin-mpegpsmux.xml:
+       * docs/plugins/inspect/plugin-mpegtsmux.xml:
+       * docs/plugins/inspect/plugin-mplex.xml:
+       * docs/plugins/inspect/plugin-mve.xml:
+       * docs/plugins/inspect/plugin-mxf.xml:
+       * docs/plugins/inspect/plugin-nuvdemux.xml:
+       * docs/plugins/inspect/plugin-ofa.xml:
+       * docs/plugins/inspect/plugin-pcapparse.xml:
+       * docs/plugins/inspect/plugin-pnm.xml:
+       * docs/plugins/inspect/plugin-qtmux.xml:
+       * docs/plugins/inspect/plugin-rawparse.xml:
+       * docs/plugins/inspect/plugin-real.xml:
+       * docs/plugins/inspect/plugin-resindvd.xml:
+       * docs/plugins/inspect/plugin-rsvg.xml:
+       * docs/plugins/inspect/plugin-rtpmux.xml:
+       * docs/plugins/inspect/plugin-sdp.xml:
+       * docs/plugins/inspect/plugin-segmentclip.xml:
+       * docs/plugins/inspect/plugin-selector.xml:
+       * docs/plugins/inspect/plugin-stereo.xml:
+       * docs/plugins/inspect/plugin-subenc.xml:
+       * docs/plugins/inspect/plugin-vdpau.xml:
+       * docs/plugins/inspect/plugin-videomeasure.xml:
+       * docs/plugins/inspect/plugin-videosignal.xml:
+       * docs/plugins/inspect/plugin-xvid.xml:
+       * docs/plugins/inspect/plugin-zbar.xml:
+         docs: update inspect info, now sorted and escaped
+
+2010-06-30 17:54:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * .gitignore:
+         .gitignore: ignore temporary orc files
+
+2010-06-29 11:21:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * sys/vdpau/h264/gsth264parser.c:
+         vdpau: Check for log2 and only use it if it's available
+
+2010-06-28 16:20:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * autogen.sh:
+       * configure.ac:
+         Bump automake requirement to 1.10 and autoconf to 2.60
+         For maintainability reasons, $(builddir) and other things.
+         See #622944 and #570428.
+
+2010-06-28 12:00:55 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264frame.c:
+         vdpauh264dec: don't use deprecated g_ptr_array_free incase glib >= 2.22
+
+2010-06-28 11:19:27 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.c:
+         vdpauvideopostprocess: fix resizing of output
+
+2010-06-28 11:08:56 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264frame.c:
+         vdpauh264dec: don't use glib 2.22 functions
+
+2010-06-27 20:29:06 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+         vdpau: change GstBaseVideoDecoder state api
+
+2010-06-27 10:52:33 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264dpb.c:
+         vdpauh264dec: free frames on finalize in GstH264DPB
+
+2010-06-27 09:55:22 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.h:
+       * sys/vdpau/gstvdp/gstvdpdecoder.c:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+         vdpau: add display property to GstVdpDecoder
+
+2010-06-27 01:27:28 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/Makefile.am:
+       * sys/vdpau/h264/gsth264dpb.c:
+       * sys/vdpau/h264/gsth264dpb.h:
+       * sys/vdpau/h264/gsth264frame.c:
+       * sys/vdpau/h264/gsth264frame.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/h264/gstvdph264frame.c:
+       * sys/vdpau/h264/gstvdph264frame.h:
+         vdpauh264dec: rename GstVdpH264Frame to GstH264Frame
+
+2010-06-27 00:36:25 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.c:
+       * sys/vdpau/gstvdpvideopostprocess.c:
+         vdpau: fix error handling when plugging "vdpauvideopostprocess ! fakesink"
+
+2010-06-27 00:35:11 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpdecoder.c:
+       * sys/vdpau/gstvdp/gstvdpdecoder.h:
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.c:
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+         vdpau: add error parameter to gst_vdp_video_src_pad_get_device
+
+2010-06-28 10:47:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * sys/vdpau/Makefile.am:
+         vdpau: Link to $(LIBM) for log2 and friends
+
+2010-06-27 19:22:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/legacyresample/resample_functable.c:
+       * gst/legacyresample/resample_ref.c:
+         legacyresample: Include _stdint.h for int16_t and friends
+
+2010-06-27 17:46:44 +0200  Robert Swain <robert.swain@collabora.co.uk>
+
+       * ext/cog/cogframe.c:
+       * ext/cog/cogvirtframe.c:
+         cog: Use g_malloc() instead of malloc()
+         malloc() needs stdlib.h, which isn't included here and the
+         memory is freed later with g_free() anyway.
+
+2010-06-27 11:24:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/assrender/gstassrender.c:
+       * gst/ivfparse/gstivfparse.c:
+       * gst/jpegformat/gstjifmux.c:
+         assrender, ivfparse, jpegformat: fix compiler warnings with debugging disabled in core
+
+2010-06-27 10:41:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * tests/examples/camerabin/gst-camera.c:
+       * tests/icles/metadata_editor.c:
+         tests: Fix build with GTK+ < 2.17.7
+         gtk_widget_get_allocation() was added in that version.
+
+2010-06-27 10:36:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * tests/examples/scaletempo/demo-gui.c:
+         configure: Require GTK+ >= 2.14 for the example
+
+2010-06-27 07:40:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * tests/examples/camerabin/gst-camera.c:
+       * tests/icles/metadata_editor.c:
+         tests: Don't use deprecated GTK API to fix the build with GTK+ 3.0
+
+2010-06-26 21:02:53 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/Makefile.am:
+       * sys/vdpau/gstvdp/Makefile.am:
+       * sys/vdpau/gstvdp/gstvdp.c:
+       * sys/vdpau/gstvdp/gstvdpdecoder.c:
+       * sys/vdpau/gstvdp/gstvdpdecoder.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/h264/gstvdph264dec.h:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.h:
+         vdpau: add GstVdpDecoder base class
+
+2010-06-26 19:02:00 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264dpb.c:
+       * sys/vdpau/h264/gsth264dpb.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+         vdpauh264dec: add gst_h264_dpb_set_output_func function
+
+2010-06-25 20:19:20 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/qtmux/gstqtmux.c:
+         qtmux: Write uint tags that don't have a complement
+         Write uint tags that have complements (e.g. track-number/
+         track-count) even when we only have one of them available
+         and set the other one to 0.
+         Fixes #622484
+
+2010-06-25 11:02:33 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * ext/metadata/metadataexif.c:
+       * ext/metadata/metadataiptc.c:
+       * ext/metadata/metadatamuxjpeg.c:
+       * ext/metadata/metadatamuxpng.c:
+       * ext/metadata/metadataparsejpeg.c:
+       * ext/metadata/metadataparsepng.c:
+       * ext/metadata/metadataparseutil.c:
+       * ext/metadata/metadatatags.c:
+       * ext/metadata/metadatatypes.c:
+       * ext/metadata/metadataxmp.c:
+         metadata: Include config.h in metadata*.c files
+         Include config.h in metadataexif.c in metadata plugin so
+         that HAVE_EXIF gets defined and exif metadata is properly
+         generated.
+         Also adds config.h to all .c files missing it in metadata plugin
+         Fixes #622692
+
+2010-06-24 20:21:15 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/asfmux/gstasfmux.c:
+         asfmux: Warn if preroll value is too big
+         Post a warning when the preroll value is greater than
+         the streams duration
+
+2010-06-24 23:57:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * sys/vdpau/basevideodecoder/Makefile.am:
+         vdpay: fix build in uninstalled setup
+         Add GST_PLUGINS_BASE_CFLAGS to CFLAGS so it finds the gst/video/video.h
+         headers in an uninstalled setup. Also reshuffle order.
+
+2010-06-24 18:32:44 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/asfmux/gstasfobjects.c:
+         asfmux: Make metadata writable before setting it
+         Before copying metadata from one buffer to another, make sure
+         the destination is metadata-writable.
+
+2010-06-24 22:14:38 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gstvdph264dec.c:
+         vdpauh264dec: fix unitialized variable
+
+2010-06-24 22:06:56 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gstnalreader.c:
+       * sys/vdpau/h264/gstnalreader.h:
+         vdpauh264dec: fix initalization of GstNalReader cache
+
+2010-06-24 12:37:36 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/debugutils/.gitignore:
+       * gst/debugutils/Makefile.am:
+       * gst/debugutils/debugutils-marshal.list:
+       * gst/debugutils/fpsdisplaysink.c:
+       * gst/debugutils/fpsdisplaysink.h:
+         fpsdisplaysink: Adds a signal to inform measurements to apps
+         Adds a signal for applications to receive the fps measurements made
+         instead of only printing them to the frame/stdout.
+         This signal is only emited if the signal-fps-measurements property
+         is set to TRUE
+
+2010-06-24 10:59:32 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/debugutils/fpsdisplaysink.c:
+       * gst/debugutils/fpsdisplaysink.h:
+         fpsdisplaysink: Adds max-fps and min-fps property
+         Adds 2 properties for getting the maximum and minimum fps
+         values measured
+
+2010-06-24 10:24:27 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/debugutils/fpsdisplaysink.c:
+         fpsdisplaysink: Use G_PARAM_STATIC_STRINGS in all properties
+         Add G_PARAM_STATIC_STRINGS to the properties that are
+         missing it
+
+2010-06-24 10:23:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/debugutils/fpsdisplaysink.c:
+       * gst/debugutils/fpsdisplaysink.h:
+         fpsdisplaysink: Add fps-update-interval property
+         Use a property to set/get the fps update interval instead
+         of having a hardcoded value.
+
+2010-06-24 16:20:23 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/basevideodecoder/Makefile.am:
+         vdpau: rename GstBaseVideoDecoder to SatBaseVideoDecoder using CFLAGS
+
+2010-06-24 15:23:33 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/Makefile.am:
+       * sys/vdpau/basevideodecoder/Makefile.am:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.h:
+       * sys/vdpau/basevideodecoder/gstbasevideoutils.h:
+       * sys/vdpau/basevideodecoder/gstvideoframe.c:
+       * sys/vdpau/basevideodecoder/gstvideoframe.h:
+       * sys/vdpau/basevideodecoder/satbasevideodecoder.c:
+       * sys/vdpau/basevideodecoder/satbasevideodecoder.h:
+       * sys/vdpau/basevideodecoder/satbasevideoutils.h:
+       * sys/vdpau/basevideodecoder/satvideoframe.c:
+       * sys/vdpau/basevideodecoder/satvideoframe.h:
+       * sys/vdpau/h264/gsth264dpb.c:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/h264/gstvdph264dec.h:
+       * sys/vdpau/h264/gstvdph264frame.c:
+       * sys/vdpau/h264/gstvdph264frame.h:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.h:
+       * sys/vdpau/mpeg/gstvdpmpegframe.c:
+       * sys/vdpau/mpeg/gstvdpmpegframe.h:
+         Revert "vdpau: rename GstBaseVideoDecoder to SatBaseVideoDecoder"
+         This reverts commit aa0444f204157c22c11a742547c9e68a9eaecc80.
+
+2010-06-24 15:09:33 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From 35617c2 to a519571
+
+2010-06-24 13:18:55 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/Makefile.am:
+       * sys/vdpau/basevideodecoder/Makefile.am:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.h:
+       * sys/vdpau/basevideodecoder/gstbasevideoutils.h:
+       * sys/vdpau/basevideodecoder/gstvideoframe.c:
+       * sys/vdpau/basevideodecoder/gstvideoframe.h:
+       * sys/vdpau/basevideodecoder/satbasevideodecoder.c:
+       * sys/vdpau/basevideodecoder/satbasevideodecoder.h:
+       * sys/vdpau/basevideodecoder/satbasevideoutils.h:
+       * sys/vdpau/basevideodecoder/satvideoframe.c:
+       * sys/vdpau/basevideodecoder/satvideoframe.h:
+       * sys/vdpau/h264/gsth264dpb.c:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/h264/gstvdph264dec.h:
+       * sys/vdpau/h264/gstvdph264frame.c:
+       * sys/vdpau/h264/gstvdph264frame.h:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.h:
+       * sys/vdpau/mpeg/gstvdpmpegframe.c:
+       * sys/vdpau/mpeg/gstvdpmpegframe.h:
+         vdpau: rename GstBaseVideoDecoder to SatBaseVideoDecoder
+
+2010-06-23 22:33:05 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264parser.c:
+         vdpauh264dec: use bitshifts instead of pow
+
+2010-06-23 22:21:18 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gstvdph264dec.c:
+         vdpauh264dec: add interlaced = false to sink caps
+         we don't support interlaced content yet
+
+2010-06-23 22:18:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmp: All read return values smaller than zero are failures
+
+2010-06-23 21:10:03 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264parser.c:
+         vdpauh264dec: fix parsing of scaling lists
+
+2010-06-23 21:09:42 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gstnalreader.c:
+         vdpauh264dec: fix reading of signed exp golomb
+
+2010-06-22 15:49:15 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+         vdpau: fixup decoder timestamping
+
+2010-06-22 14:52:00 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.h:
+         vdpau: remove parse_codec_data from GstBaseVideoDecoder
+
+2010-06-22 14:25:17 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264parser.c:
+         vdpauh264dec: fix initialization of fallback scaling matrix
+
+2010-06-22 14:17:28 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264dpb.c:
+       * sys/vdpau/h264/gsth264dpb.h:
+       * sys/vdpau/h264/gsth264parser.c:
+       * sys/vdpau/h264/gsth264parser.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/h264/gstvdph264frame.h:
+         vdpauh264dec: improve further
+
+2010-06-17 15:20:51 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/h264/gsth264dpb.c:
+       * sys/vdpau/h264/gsth264parser.c:
+       * sys/vdpau/h264/gstvdph264dec.c:
+         vdpauh264dec: now works for simple streams
+
+2010-06-17 15:20:03 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.c:
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.h:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+         vdpau: change gst_vdp_video_src_pad_get_device behaviour
+         it now creates the device if it's not available
+
+2010-06-16 23:12:43 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/Makefile.am:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.h:
+       * sys/vdpau/h264/gsth264dpb.c:
+       * sys/vdpau/h264/gsth264dpb.h:
+       * sys/vdpau/h264/gsth264parser.c:
+       * sys/vdpau/h264/gsth264parser.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/h264/gstvdph264dec.h:
+       * sys/vdpau/h264/gstvdph264frame.h:
+         vdpau: more work on h264 decoder
+
+2010-06-10 12:13:50 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/Makefile.am:
+       * sys/vdpau/basevideodecoder/gstvideoframe.h:
+       * sys/vdpau/h264/gsth264parser.c:
+       * sys/vdpau/h264/gsth264parser.h:
+       * sys/vdpau/h264/gstnalreader.c:
+       * sys/vdpau/h264/gstnalreader.h:
+       * sys/vdpau/h264/gstvdph264dec.c:
+       * sys/vdpau/h264/gstvdph264dec.h:
+       * sys/vdpau/h264/gstvdph264frame.c:
+       * sys/vdpau/h264/gstvdph264frame.h:
+         vdpau: add beginning of h264 decoder
+
+2010-06-09 15:43:43 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * configure.ac:
+       * sys/vdpau/Makefile.am:
+       * sys/vdpau/basevideodecoder/Makefile.am:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
+       * sys/vdpau/basevideodecoder/gstbasevideodecoder.h:
+       * sys/vdpau/basevideodecoder/gstbasevideoutils.h:
+       * sys/vdpau/basevideodecoder/gstvideoframe.c:
+       * sys/vdpau/basevideodecoder/gstvideoframe.h:
+       * sys/vdpau/gstvdp.c:
+       * sys/vdpau/gstvdp.h:
+       * sys/vdpau/gstvdp/Makefile.am:
+       * sys/vdpau/gstvdp/gstvdp.c:
+       * sys/vdpau/gstvdp/gstvdp.h:
+       * sys/vdpau/gstvdp/gstvdpdevice.c:
+       * sys/vdpau/gstvdp/gstvdpdevice.h:
+       * sys/vdpau/gstvdp/gstvdpoutputbuffer.c:
+       * sys/vdpau/gstvdp/gstvdpoutputbuffer.h:
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.c:
+       * sys/vdpau/gstvdp/gstvdpoutputsrcpad.h:
+       * sys/vdpau/gstvdp/gstvdputils.c:
+       * sys/vdpau/gstvdp/gstvdputils.h:
+       * sys/vdpau/gstvdp/gstvdpvideobuffer.c:
+       * sys/vdpau/gstvdp/gstvdpvideobuffer.h:
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.c:
+       * sys/vdpau/gstvdp/gstvdpvideosrcpad.h:
+       * sys/vdpau/gstvdpau.c:
+       * sys/vdpau/gstvdpdevice.c:
+       * sys/vdpau/gstvdpdevice.h:
+       * sys/vdpau/gstvdpmpegdec.c:
+       * sys/vdpau/gstvdpmpegdec.h:
+       * sys/vdpau/gstvdpoutputbuffer.c:
+       * sys/vdpau/gstvdpoutputbuffer.h:
+       * sys/vdpau/gstvdpoutputsrcpad.c:
+       * sys/vdpau/gstvdpoutputsrcpad.h:
+       * sys/vdpau/gstvdpsink.c:
+       * sys/vdpau/gstvdpsink.h:
+       * sys/vdpau/gstvdputils.c:
+       * sys/vdpau/gstvdputils.h:
+       * sys/vdpau/gstvdpvideobuffer.c:
+       * sys/vdpau/gstvdpvideobuffer.h:
+       * sys/vdpau/gstvdpvideopostprocess.c:
+       * sys/vdpau/gstvdpvideopostprocess.h:
+       * sys/vdpau/gstvdpvideosrcpad.c:
+       * sys/vdpau/gstvdpvideosrcpad.h:
+       * sys/vdpau/mpeg/gstvdpmpegdec.c:
+       * sys/vdpau/mpeg/gstvdpmpegdec.h:
+       * sys/vdpau/mpeg/gstvdpmpegframe.c:
+       * sys/vdpau/mpeg/gstvdpmpegframe.h:
+       * sys/vdpau/mpeg/mpegutil.c:
+       * sys/vdpau/mpeg/mpegutil.h:
+       * sys/vdpau/mpegutil.c:
+       * sys/vdpau/mpegutil.h:
+         vdpau: base vdpaumpegdec on GstBaseVideoDecoder
+
+2010-06-08 13:36:53 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdpvideopostprocess.c:
+         vdpauvideopostprocess: fix small bug
+
+2010-05-15 22:47:41 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/mpegutil.c:
+         vdpaumpegdec: use READ_UINT[8|16|32] macros
+
+2010-06-04 12:24:16 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
+
+       * sys/vdpau/gstvdpmpegdec.c:
+       * sys/vdpau/gstvdpvideosrcpad.c:
+       * sys/vdpau/gstvdpvideosrcpad.h:
+         vdpau: remove gst_vdp_video_src_pad_set_caps
+
+2010-06-23 21:46:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmpsrc: Do some sanity checks before accepting an URI
+         Fixes bug #622369.
+
+2010-06-17 10:58:55 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/elements/jifmux.c:
+         jifmux: Adds image orientation tags tests
+         Adds tests for image orientation tags to jifmux
+
+2010-06-23 10:38:54 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/h264parse/gsth264parse.c:
+         h264parse: obtain correct upstream timestamp
+         ... for optional downstream use.
+
+2010-06-22 12:28:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/h264parse/gsth264parse.c:
+         h264parse: add new h264 caps attribute alignment
+         See #606662.
+
+2010-06-21 23:48:59 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * ext/timidity/gstwildmidi.c:
+         wildmidi: fix previous commit
+         We were leaking the element refcount and not the pad one.
+
+2010-06-21 22:33:54 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * ext/timidity/gstwildmidi.c:
+         wildmidi: don't leak the element refcount
+
+2010-06-21 19:39:54 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * gst/qtmux/gstqtmux.c:
+         qtmux: Remove the pad from our internal list before calling collectpads
+         Previously we would end up with the collectpaddata structure already freed.
+         This would result in a bogus iteration of mux->sinkpads (all the
+         GstQTPad being freed) and it wouldn't be removed from that list.
+         Finally, due to it not being removed from that list, we would end up
+         calling a bogus gst_qt_mux_pad_reset on those structures => SEGFAULT
+
+2010-06-21 10:21:04 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin/Makefile.am:
+       * gst/camerabin/camerabindebug.h:
+       * gst/camerabin/camerabingeneral.h:
+       * gst/camerabin/camerabinimage.c:
+       * gst/camerabin/camerabinpreview.c:
+       * gst/camerabin/camerabinvideo.c:
+       * gst/camerabin/gstcamerabin.c:
+         camerabin: Move debug category declaration to a separate file
+         Having GST_DEBUG_CATEGORY and GST_DEBUG_CATEGORY_EXTERN together
+         might lead to 'undefined symbol' problems. This commit moves
+         the _EXTERN to a separate new file.
+
+2010-06-21 11:13:20 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
+
+       * gst/h264parse/gsth264parse.c:
+         Revert "h264parse: add parsed field to src caps"
+         This reverts commit 54edae4f1f2119cf492ffe44f936f99e133af7dc.
+         See this bug for more information:
+         https://bugzilla.gnome.org/show_bug.cgi?id=606662
+
+2010-06-17 08:42:53 +1000  Austin Lund <austin.lund@gmail.com>
+
+       * gst/mpegvideoparse/mpegpacketiser.c:
+         mpegvideoparse: Remove redundant log message
+
+2010-06-20 10:39:39 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
+
+       * gst/h264parse/gsth264parse.c:
+         h264parse: add parsed field to src caps
+
+2010-06-18 14:37:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/id3tag/id3tag.c:
+         id3tag: Use gst_tag_list_peek_string_index
+         Replace _get_string_index with _peek_string_index to avoid
+         a string copy
+
+2010-06-18 18:41:59 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/h264parse/gsth264parse.c:
+         h264parse: also handle 3-byte bytestream sync code
+
+2010-06-17 10:52:31 +0200  Thijs Vermeir <thijsvermeir@gmail.com>
+
+       * gst/mpegdemux/gstsectionfilter.c:
+         mpegdemux: improve debug output
+
+2010-06-16 10:31:19 +0200  Benjamin Otte <otte@redhat.com>
+
+       * gst/pnm/gstpnmdec.c:
+         pnmdec: Don't crash if no valid input was parsed yet
+         https://bugzilla.redhat.com/show_bug.cgi?id=603771
+
+2010-06-11 10:53:26 +1000  Austin Lund <austin.lund@gmail.com>
+
+       * gst/mpegvideoparse/mpegpacketiser.c:
+       * gst/mpegvideoparse/mpegvideoparse.c:
+         mpegvideoparse: Added debugging output for mpegpacketiser
+
+2010-06-15 16:50:05 +0200  Edward Hervey <bilboed@bilboed.com>
+
+       * common:
+         Automatic update of common submodule
+         From 9339ccc to 35617c2
+
+2010-06-15 16:54:28 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From 5adb1ca to 9339ccc
+
+2010-06-15 15:34:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/audioparsers/gstbaseparse.c:
+         baseparse: fix seek event ref handling
+
+2010-06-15 15:33:37 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/audioparsers/gstbaseparse.c:
+         baseparse: prevent arithmetic overflows in pull mode buffer cache handling
+
+2010-06-15 15:32:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/audioparsers/gstbaseparse.c:
+         baseparse: fix seek handling
+         Allow a few more seek event type combinations, and really use the result
+         of gst_segment_set_seek to perform the seek.  Also add some debug.
+
+2010-06-15 16:35:35 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From 57c89b7 to 5adb1ca
+
+2010-06-15 15:49:26 +0300  Stefan Kost <ensonic@users.sf.net>
+
+       * common:
+         Automatic update of common submodule
+         From c804988 to 57c89b7
+
+2010-06-12 09:02:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Implement multipass encoding
+         Fixes bug #621348.
+
+2010-06-15 11:20:21 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+         mpeg4videoparse: sprinkle some branch prediction
+
+2010-06-15 11:16:47 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+         mpeg4videoparse: handle FLUSH_STOP event
+
+2010-06-15 11:16:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/mpeg4videoparse/mpeg4videoparse.c:
+       * gst/mpeg4videoparse/mpeg4videoparse.h:
+         mpeg4videoparse: add config-interval parameter to re-insert config in stream
+         Add a new config-interval property to instruct the parser to insert
+         config (VOSH, VOS, etc) at periodic intervals in the stream
+         (when a GOP or VOP-I is encountered).
+         Based on patch by <marc.leeman at gmail.com>
+         Fixes #621205.
+
+2010-06-15 17:16:12 +1000  Jan Schmidt <thaytan@noraisin.net>
+
+       * gst/mpegvideoparse/mpegpacketiser.c:
+         mpegvideoparse: Apply previous timestamp when there isn't any newer.
+         If the current incoming packet didn't carry a timestamp, but a
+         previous packet had one we didn't yet use, then apply that timestamp
+         to the next picture.
+         Fixes: #618336
+
+2010-06-14 17:01:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * tests/examples/mxf/mxfdemux-structure.c:
+         configure: Require GLib 2.20
+
+2010-06-14 15:56:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Set VP8E_SET_CPUUSED to 0
+         This setting controls how much CPU can be used by the encoder, specified
+         in fractions of 16. Negative values mean strict enforcement of this
+         while positive values are adaptive.
+         The default value is -4, which means that we're not running as fast
+         as possible and probably are wasting some quality. 0 is the recommended
+         default by libvpx upstream.
+
+2010-06-14 15:51:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Use VPX defines for REALTIME, GOOD/BEST quality deadlines instead of our own
+         These are the values used for the speed property.
+
+2010-06-14 15:46:58 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * ext/dts/gstdtsdec.c:
+         dtsdec: prevent compiler warning if orc not present
+
+2010-05-31 18:30:36 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/jpegformat/gstjpegparse.c:
+         jpegparse: handle FLUSH_STOP sink event
+
+2010-05-31 18:30:19 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/jpegformat/gstjpegparse.c:
+         jpegparse: optimize image parsing
+         Use adapter API for scanning and peeking to reduce buffer copying.
+         See #583047.
+
+2010-06-14 15:32:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/dts/gstdtsdec.c:
+         dtsdec: Call orc_init() before trying to get target flags
+
+2010-06-14 14:53:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         configure: Check for orc instead of liboil
+
+2010-06-14 14:51:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/dts/Makefile.am:
+       * ext/dts/gstdtsdec.c:
+         dtsdec: Use orc for CPU feature detection
+
+2010-06-14 14:48:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/mpegdemux/Makefile.am:
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegtsdemux: Don't use liboil functions
+         glibc memcpy() will be faster than liboil's/orc's for now anyway
+         and we can use orc's later, after orc has support for loop unrolling.
+
+2010-06-14 14:47:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/legacyresample/Makefile.am:
+       * gst/legacyresample/resample.c:
+       * gst/legacyresample/resample_functable.c:
+       * gst/legacyresample/resample_ref.c:
+         legacyresample: Don't include liboil headers, they're not used anyway
+
+2010-06-14 13:26:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+         configure: Use GLIB_EXTRA_CFLAGS
+
+2010-06-14 13:04:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * common:
+         Automatic update of common submodule
+         From 7a0fdf5 to c804988
+
+2010-06-14 12:49:40 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/h264parse/gsth264parse.c:
+       * gst/h264parse/gsth264parse.h:
+         h264parse: add option to insert SPS/PPS in stream
+         Add a new config-interval property to insert SPS and PPS at periodic intervals
+         in the stream (when an IDR is encountered).
+         Based on patch by <marc.leeman at gmail.com>
+         Fixes #620978.
+
+2010-06-09 15:32:14 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
+
+       * gst/h264parse/gsth264parse.c:
+         h264parse: also collect SPS and PPS nalu in codec_data
+
+2010-06-14 11:34:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * common:
+         Automatic update of common submodule
+         From 6da3bab to 7a0fdf5
+
+2010-06-13 08:28:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/xvid/gstxvid.c:
+         xvid: Don't use deprecated 15/16 bit RGB masks
+
+2010-06-12 08:28:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * common:
+         Automatic update of common submodule
+         From 733fca9 to 6da3bab
+
+2010-05-22 10:35:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * sys/vcd/vcdsrc.c:
+         vcdsrc: minor clean-up
+         Use gst_uri_has_protocol().
+
+2010-06-11 15:29:43 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * configure.ac:
+       * tests/check/Makefile.am:
+       * tests/check/elements/jifmux.c:
+         jifmux: Fix tests building
+         Only build jifmux tests if libexif headers are present
+
+2010-06-09 19:16:03 -0700  David Schleef <ds@schleef.org>
+
+       * ext/cog/gstcogorc-dist.c:
+       * ext/cog/gstcogorc-dist.h:
+       * ext/cog/gstcogorc.orc:
+         cog: use glib instead of stdint types
+
+2010-06-09 18:39:38 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+         configure: use m4 macro for Orc check
+
+2010-06-05 16:02:41 +0200  Philip Jägenstedt <philipj@opera.com>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: remove spurious warning
+
+2010-06-10 14:17:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+         configure: require core/base git for the new image tags and helper functions
+
+2010-05-10 10:47:06 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * tests/check/Makefile.am:
+       * tests/check/elements/.gitignore:
+       * tests/check/elements/jifmux.c:
+         tests: jifmux: Adds jifmux exif tags tests
+         Adds a basic unit test for jifmux to test that exif tags
+         are writen properly.
+         This test uses libexif.
+         Fixes #614872
+
+2010-04-28 23:52:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/jpegformat/gstjifmux.c:
+       * gst/jpegformat/gstjpegparse.c:
+         jpegformat: Add exif support
+         Adds exif writing support to jifmux.
+         Adds parsing support to jpegparse.
+         Fixes #614872
+
+2010-06-09 12:40:21 -0700  David Schleef <ds@schleef.org>
+
+       * common:
+         Automatic update of common submodule
+         From fad145b to 733fca9
+
+2010-06-09 12:34:10 -0700  David Schleef <ds@schleef.org>
+
+       * common:
+         Automatic update of common submodule
+         From 47683c1 to fad145b
+
+2010-06-09 20:49:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmpsrc: Fix timestamps after a seek
+
+2010-06-08 14:33:56 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/asfmux/gstasfmux.c:
+       * gst/asfmux/gstasfmux.h:
+         asfmux: Deprecate 'is-live' and add 'streamable' property
+         Following the similar change in flvmux, this commit adds
+         'streamable' property and deprecated 'is-live' for a better/less wrong
+         name.
+
+2010-05-13 12:15:27 +0200  Andoni Morales Alastruey <amorales@flumotion.com>
+
+       * gst/asfmux/gstasfmux.c:
+         asfmux: don't set the 'seekable' flag if we are streaming
+         Fixes #618522
+
+2010-04-29 10:46:49 +0200  Andoni Morales Alastruey <amorales@flumotion.com>
+
+       * gst/asfmux/gstasfmux.c:
+         asfmux: write preroll info in the header at initialization
+         This value doesn't need to be updated and is usefull in a streaming context
+         Fixes #618522
+
+2010-04-26 13:33:48 +0200  Andoni Morales Alastruey <amorales@flumotion.com>
+
+       * gst/asfmux/gstasfmux.c:
+         asfmux: put headers in streamheader for streaming
+         Fixes #618522
+
+2010-06-08 13:59:45 +0200  Marc-André Lureau <mlureau@flumotion.com>
+
+       * gst/mpegtsmux/tsmux/tsmux.h:
+         mpegtsmux: start pmt at 0x020 as suggested by Zaheer
+
+2010-06-08 13:59:08 +0200  Marc-André Lureau <mlureau@flumotion.com>
+
+       * gst/mpegtsmux/mpegtsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.c:
+       * gst/mpegtsmux/tsmux/tsmux.h:
+         mpegtsmux: take all the pmt in the streamheaders
+
+2010-06-08 09:14:01 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin/gstcamerabin.c:
+         camerabin: Do not assert on set_property to NULL for elements
+         Check if the value is NULL before reffing them in set_property
+         for 'GstElement' properties
+
+2010-06-08 08:41:49 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin/gstcamerabin.c:
+         camerabin: Do not assert on null caps property
+         If camerabin receives a null caps as 'filter-caps' argument,
+         use the default value
+
+2010-06-07 22:56:17 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstgeometrictransform.c:
+         geometrictransform: Use _CAST macro
+         Replace default type casting macro with the faster direct _CAST macro
+
+2010-06-07 22:21:10 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstcircle.c:
+       * gst/geometrictransform/gstcirclegeometrictransform.c:
+       * gst/geometrictransform/gstdiffuse.c:
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/geometrictransform/gstgeometrictransform.h:
+       * gst/geometrictransform/gstkaleidoscope.c:
+       * gst/geometrictransform/gstmarble.c:
+       * gst/geometrictransform/gstpinch.c:
+       * gst/geometrictransform/gstsphere.c:
+       * gst/geometrictransform/gsttwirl.c:
+       * gst/geometrictransform/gstwaterripple.c:
+         geometrictransform: Make properties controllable
+         Makes the element's properties controllable and threadsafe.
+         Fixes #620825
+
+2010-06-07 17:39:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmpsrc: Remove page-url and swf-url properties
+         It's possible to include all those options in the URL already
+         by appending the options and separating them by spaces, e.g.
+         rtmp://somewhere/something opt1=val1 opt2=val2
+
+2010-06-07 17:30:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmpsrc: Fix memory leaks
+
+2010-06-07 11:15:26 -0400  Olivier Crête <tester@tester.ca>
+
+       * gst/dtmf/gstdtmfdetect.c:
+       * gst/dtmf/gstdtmfdetect.h:
+         dtmfdetect: Only works with rate=8000, fix in caps
+
+2010-06-07 07:58:22 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/camerabin/gstcamerabin.c:
+         camerabin: Fix crash in 'filename' property
+         Do not crash when filename property is set to NULL, use an
+         empty string instead.
+
+2010-06-07 07:38:33 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * ext/kate/gstkateenc.c:
+       * ext/kate/gstkatespu.c:
+         kate: Run gst-indent on .c files
+         kate plugin has some indentation problems, run gst-indent on them
+         and fix it
+
+2010-06-06 22:34:55 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/geometricmath.c:
+       * gst/geometrictransform/geometricmath.h:
+       * gst/geometrictransform/gstmarble.c:
+       * gst/geometrictransform/gstmarble.h:
+       * gst/geometrictransform/plugin.c:
+         marble: Adds 'marble' element to geometrictransform
+         Adds a new element that does a marbling effect to
+         geometrictransform plugin
+
+2010-06-06 14:35:44 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstgeometrictransform.c:
+         geometrictransform: Use explicit formats from gstvideo
+         Use explicit format macros from gstvideo to avoid exposing
+         unsupported formats on template pads. Using the macros
+         also give us complete caps (width/height/framerate).
+         And add support for AYUV.
+         Fixes #620717
+
+2010-06-05 19:38:44 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstdiffuse.c:
+       * gst/geometrictransform/gstdiffuse.h:
+       * gst/geometrictransform/plugin.c:
+         diffuse: Adds diffuse element to geometrictransform
+         Adds the 'diffuse' element to geometrictransform. It moves
+         the pixels of the image in random directions
+
+2010-06-05 19:20:06 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/geometrictransform/gstgeometrictransform.h:
+         geometrictransform: Make map precalculation optional
+         Adds a variable to be set to allow subclasses to enable
+         or disable precalculation of the pixels mapping
+
+2010-06-06 15:32:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmpsrc: Add some braces to improve readability
+
+2010-06-06 15:29:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmpsrc: Improve timestamp handling a bit
+
+2010-06-06 15:24:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+       * ext/rtmp/gstrtmpsrc.h:
+         rtmpsrc: Add support for seeking
+
+2010-06-06 13:57:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+       * ext/rtmp/gstrtmpsrc.h:
+         rtmpsrc: Handle timestamps and the position query
+         This is not very accurate but better than nothing. The demuxer
+         after the source knows more accurate timestamps.
+
+2010-06-06 08:30:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+         rtmpsrc: Allocate and free the RTMP instance in start/stop
+
+2010-06-04 22:36:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+       * ext/rtmp/gstrtmpsrc.h:
+         rtmpsrc: Add properties for setting the swfUrl and pageUrl properties
+         These are required for some streams unfortunately.
+
+2010-06-04 22:04:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/rtmp/gstrtmpsrc.c:
+       * ext/rtmp/gstrtmpsrc.h:
+         rtmpsrc: Major cleanup and reorganization
+
+2010-06-04 08:14:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * ext/Makefile.am:
+       * ext/rtmp/Makefile.am:
+       * ext/rtmp/README:
+       * ext/rtmp/gstrtmpsrc.c:
+       * ext/rtmp/gstrtmpsrc.h:
+       * gst/rtmp/Makefile.am:
+       * gst/rtmp/amf.c:
+       * gst/rtmp/amf.h:
+       * gst/rtmp/bytes.h:
+       * gst/rtmp/dh.h:
+       * gst/rtmp/dhgroups.h:
+       * gst/rtmp/gstrtmpsrc.c:
+       * gst/rtmp/gstrtmpsrc.h:
+       * gst/rtmp/handshake.h:
+       * gst/rtmp/hashswf.c:
+       * gst/rtmp/http.h:
+       * gst/rtmp/log.c:
+       * gst/rtmp/log.h:
+       * gst/rtmp/parseurl.c:
+       * gst/rtmp/rtmp.c:
+       * gst/rtmp/rtmp.h:
+       * gst/rtmp/rtmp_sys.h:
+         rtmp: Move to ext and drop internal librtmp copy
+         We really don't want this in gst-plugins-bad because of
+         legal complexities around RTMP and possible problems
+         for distributions.
+         Add README that explains how to build librtmp to be suitable
+         for linking to the GStreamer plugin.
+
+2010-06-02 00:45:06 +0100  Bastien Nocera <hadess@hadess.net>
+
+       * configure.ac:
+       * gst/rtmp/Makefile.am:
+       * gst/rtmp/amf.c:
+       * gst/rtmp/amf.h:
+       * gst/rtmp/bytes.h:
+       * gst/rtmp/dh.h:
+       * gst/rtmp/dhgroups.h:
+       * gst/rtmp/gstrtmpsrc.c:
+       * gst/rtmp/gstrtmpsrc.h:
+       * gst/rtmp/handshake.h:
+       * gst/rtmp/hashswf.c:
+       * gst/rtmp/http.h:
+       * gst/rtmp/log.c:
+       * gst/rtmp/log.h:
+       * gst/rtmp/parseurl.c:
+       * gst/rtmp/rtmp.c:
+       * gst/rtmp/rtmp.h:
+       * gst/rtmp/rtmp_sys.h:
+         rtmp: Add RTMP source plugin
+         https://bugzilla.gnome.org/show_bug.cgi?id=566604
+
+2010-06-05 11:04:45 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstgeometrictransform.c:
+         geometrictransform: Set output buffer data to 0
+         Initialize output buffer data to 0 before doing the
+         transform.
+
+2010-06-05 10:58:00 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstcircle.c:
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/geometrictransform/gstgeometrictransform.h:
+       * gst/geometrictransform/gstkaleidoscope.c:
+       * gst/geometrictransform/gstpinch.c:
+       * gst/geometrictransform/gstsphere.c:
+       * gst/geometrictransform/gsttwirl.c:
+       * gst/geometrictransform/gstwaterripple.c:
+         geometrictransform: Descriptions and default values
+         Improve some properties and element descriptions and changes
+         some default properties values.
+
+2010-06-04 16:14:02 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * sys/shm/gstshmsink.c:
+         shmsink: Verify that pipe exists before resizing it
+
+2010-06-04 15:54:33 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * sys/shm/shmalloc.c:
+       * sys/shm/shmalloc.h:
+       * sys/shm/shmpipe.c:
+       * sys/shm/shmpipe.h:
+         shm: Add copyright notices to shmalloc.[ch] and shmpipe.[ch]
+
+2010-06-04 15:53:20 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/geometricmath.c:
+       * gst/geometrictransform/geometricmath.h:
+       * gst/geometrictransform/gstcircle.c:
+       * gst/geometrictransform/gstcircle.h:
+       * gst/geometrictransform/gstcirclegeometrictransform.c:
+       * gst/geometrictransform/gstcirclegeometrictransform.h:
+       * gst/geometrictransform/gstkaleidoscope.c:
+       * gst/geometrictransform/gstkaleidoscope.h:
+       * gst/geometrictransform/gstpinch.c:
+       * gst/geometrictransform/gstpinch.h:
+       * gst/geometrictransform/gstsphere.c:
+       * gst/geometrictransform/gstsphere.h:
+       * gst/geometrictransform/gsttwirl.c:
+       * gst/geometrictransform/gsttwirl.h:
+       * gst/geometrictransform/gstwaterripple.c:
+       * gst/geometrictransform/gstwaterripple.h:
+         geometrictransform: Remove trailing whitespace
+         Remove trailing whitespace from geometrictransform files
+
+2010-06-03 00:24:50 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstwaterripple.c:
+       * gst/geometrictransform/gstwaterripple.h:
+       * gst/geometrictransform/plugin.c:
+         waterripple: Adds new waterripple element to geometrictransofmr
+         Adds an water ripple distortion element to geometrictransform
+
+2010-06-02 23:55:41 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstsphere.c:
+       * gst/geometrictransform/gstsphere.h:
+       * gst/geometrictransform/plugin.c:
+         sphere: Adds new 'sphere' element to geometrictransform
+         Adds a new element to do 'sphere' effect into geometrictransform
+         plugin
+
+2010-06-02 22:01:31 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstcircle.c:
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/geometrictransform/gstgeometrictransform.h:
+       * gst/geometrictransform/gstkaleidoscope.c:
+       * gst/geometrictransform/gstpinch.c:
+       * gst/geometrictransform/gsttwirl.c:
+         geometrictransform: adds some properties to base class
+         Adds a property to select what to do with pixels that are mapped out of
+         edges: ignore, clamp or wrap.
+
+2010-06-02 18:58:42 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/geometricmath.c:
+       * gst/geometrictransform/geometricmath.h:
+       * gst/geometrictransform/gstcircle.c:
+       * gst/geometrictransform/gstcircle.h:
+       * gst/geometrictransform/plugin.c:
+         circle: Adds circle element to geometrictransform plugin
+         Adds the new 'circle' element to geometrictransform plugin
+
+2010-06-02 01:21:23 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/geometricmath.c:
+       * gst/geometrictransform/geometricmath.h:
+       * gst/geometrictransform/gstkaleidoscope.c:
+       * gst/geometrictransform/gstkaleidoscope.h:
+       * gst/geometrictransform/plugin.c:
+         kaleidoscope: Adds new element 'kaleidoscope'
+         Adds new kaleidoscope element to geometrictransform plugin
+
+2010-06-02 00:48:15 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gsttwirl.c:
+       * gst/geometrictransform/gsttwirl.h:
+       * gst/geometrictransform/plugin.c:
+         gsttwirl: Adds new element twirl
+         Adds a new element to geometrictransform plugin: twirl
+
+2010-06-02 00:34:36 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstcirclegeometrictransform.c:
+       * gst/geometrictransform/gstcirclegeometrictransform.h:
+       * gst/geometrictransform/gstpinch.c:
+       * gst/geometrictransform/gstpinch.h:
+         geometrictransform: Adds a intermediary baseclass circlegeometrictransform
+         Adds an intermediary baseclass named gstcirclegeometrictransform
+         to keep common properties code for filters that operate on
+         a circular area.
+
+2010-05-30 12:50:56 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstpinch.c:
+       * gst/geometrictransform/gstpinch.h:
+         pinch: Some optimization using the prepare func
+         Small optimization by precalculating the center of the effect,
+         also use newly added _CAST macro.
+
+2010-05-30 12:36:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/geometrictransform/gstgeometrictransform.h:
+         geometrictransform: Adds prepare function and cleanup
+         Adds a prepare function to make subclasses precalculate values
+         that will be used throughout the mapping functions.
+         Also adds a missing cleanup to fix a memleak
+
+2010-05-26 21:39:21 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/geometrictransform/gstgeometrictransform.h:
+         geometrictransform: Precalculate mapping array
+         Precalculate when setting caps the warping map to avoid
+         recalculating it every buffer
+
+2010-05-26 18:29:15 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstgeometrictransform.c:
+         geometrictransform: Accept any rgb or gray
+         Using gstvideo functions geometrictransform can handle
+         rgb or gray, put that on template caps
+
+2010-05-26 18:22:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/geometrictransform/gstgeometrictransform.h:
+       * gst/geometrictransform/gstpinch.c:
+         geometrictransform: Rename some variables for clarity
+         Renames some variables and adds a minimum doc to the
+         mapping function for a little clarity.
+         Also uses gstvideo functions for the row and pixel strides
+         instead of hardcoded values
+
+2010-05-24 23:57:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+
+       * configure.ac:
+       * gst/geometrictransform/Makefile.am:
+       * gst/geometrictransform/gstgeometrictransform.c:
+       * gst/geometrictransform/gstgeometrictransform.h:
+       * gst/geometrictransform/gstpinch.c:
+       * gst/geometrictransform/gstpinch.h:
+       * gst/geometrictransform/plugin.c:
+         geometrictransform: New plugin for geometric transforms
+         Adds a new plugin that has elements that perform geometric
+         transformations to images. By geometric transformations I mean
+         that the operations are functions that given the output pixel
+         position, get the pixel position in the input image. This pixel
+         is then copied from input to output.
+         The gstgeometrictransform baseclass makes it easy to write
+         such elements. It boils down to write the mapping function
+         and exposing properties
+         Already added the first of the elements, 'pinch'. It's a common
+         effect in image editors, like gimp (distort -> pinch)
+
+2010-06-03 23:19:35 -0700  David Schleef <ds@schleef.org>
+
+       * tools/element-maker:
+       * tools/gobject.c:
+       * tools/gstbasesink.c:
+       * tools/gstbasesrc.c:
+         tools: flesh out element-maker templates
+
+2010-06-03 18:14:05 -0700  David Schleef <ds@schleef.org>
+
+       * gst/bayer/gstbayer2rgb.c:
+         bayer2rgb: handle other bayer formats
+
+2010-06-03 18:14:57 -0700  David Schleef <ds@schleef.org>
+
+       * gst/bayer/gstrgb2bayer.c:
+       * gst/bayer/gstrgb2bayer.h:
+         rgb2bayer: handle multiple bayer formats
+
+2010-06-03 15:53:04 -0700  David Schleef <ds@schleef.org>
+
+       * gst/bayer/Makefile.am:
+       * gst/bayer/gstbayer.c:
+       * gst/bayer/gstrgb2bayer.c:
+       * gst/bayer/gstrgb2bayer.h:
+         bayer: Add rgb2bayer element
+         Mostly for testing/completeness.
+
+2010-06-03 20:51:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * sys/shm/gstshmsink.c:
+       * sys/shm/gstshmsrc.c:
+         shm: fix debug messages
+         Misc. printf format fixes and missing arguments.
+
+2010-06-03 15:27:03 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * sys/shm/gstshmsink.c:
+         shmsink: Make static function static
+
+2010-06-03 15:26:52 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * sys/shm/gstshmsink.c:
+       * sys/shm/gstshmsrc.c:
+         shm: Use gst_element_class_set_details_simple
+
+2010-06-03 14:42:06 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * configure.ac:
+       * gst/shm/Makefile.am:
+       * gst/shm/gstshm.c:
+       * gst/shm/gstshmsink.c:
+       * gst/shm/gstshmsink.h:
+       * gst/shm/gstshmsrc.c:
+       * gst/shm/gstshmsrc.h:
+       * gst/shm/shmalloc.c:
+       * gst/shm/shmalloc.h:
+       * gst/shm/shmpipe.c:
+       * gst/shm/shmpipe.h:
+       * sys/Makefile.am:
+       * sys/shm/Makefile.am:
+       * sys/shm/gstshm.c:
+       * sys/shm/gstshmsink.c:
+       * sys/shm/gstshmsink.h:
+       * sys/shm/gstshmsrc.c:
+       * sys/shm/gstshmsrc.h:
+       * sys/shm/shmalloc.c:
+       * sys/shm/shmalloc.h:
+       * sys/shm/shmpipe.c:
+       * sys/shm/shmpipe.h:
+         shm: Move to sys/ since it doesn't exist on windows
+
+2010-06-03 14:41:55 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsrc.c:
+         shmsrc: Fix indentation
+
+2010-06-03 14:22:36 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsink.c:
+       * gst/shm/shmpipe.c:
+       * gst/shm/shmpipe.h:
+         shmsink: Print errors if fchmod fails
+
+2010-04-07 19:05:37 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shmpipe: Fix crash when sp_close_shm is called with self == NULL.
+         If sp_open_shm errors out trying to open a shm area, it would crash
+         when trying to free the area. The RETURN_ERROR macro calls
+         sp_shm_area_dec with self == NULL. sp_shm_area_dec calls
+         sp_shm_close, with self == NULL, which it then tries to access a
+         parameter of without checking. This patch checks to make sure
+         self != NULL before accessing that parameter.
+
+2010-04-07 19:05:15 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shmpipe: Update code standard
+
+2010-02-03 13:50:13 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsrc.c:
+         shmsrc: Add socket path to error message
+
+2010-02-02 17:40:09 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shmpipe: Remove wrong test inversion
+
+2010-02-02 17:35:26 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shmpipe: Verify that accept succeeds
+
+2010-02-02 17:35:15 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shmpipe: Fix one byte overflow
+
+2010-02-02 11:11:06 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsink.c:
+       * gst/shm/gstshmsrc.c:
+         shmsrc: Improve debug prints
+
+2010-01-26 12:34:34 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsink.c:
+         shmsink: Get potentially modified after opening shmpipe
+
+2010-01-26 12:32:56 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+       * gst/shm/shmpipe.h:
+         shm: Try alternate paths for the socket
+
+2010-01-29 11:06:44 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shmpipe: Don't pretend the path is random
+
+2010-01-29 10:57:27 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shmpipe: Create shm area exclusively
+
+2010-01-28 15:34:44 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmalloc.h:
+       * gst/shm/shmpipe.c:
+       * gst/shm/shmpipe.h:
+         shmalloc: Make it build in non-glib world
+
+2010-01-28 12:19:07 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsrc.c:
+       * gst/shm/gstshmsrc.h:
+         shmsrc: Make the shmpipe life independant of the element states
+
+2010-01-28 11:57:34 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shmpipe: Simplify handling of random paths
+
+2010-01-28 11:36:01 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsrc.c:
+         shmpipe: Remove useless attrib
+
+2010-01-28 11:31:11 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shmpipe: Ref client shmarea when a buffer is received in it
+
+2010-01-28 11:30:11 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shmpipe: Don't dec old shm area when new one is added
+         Its ref will be dropped when the "close" message arrives
+
+2010-01-27 11:49:34 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsrc.c:
+         shmsrc: Lock uses of shmpipe
+
+2010-01-26 14:20:35 +0200  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsrc.c:
+         shmsrc: Add is-live property
+
+2009-11-03 20:03:24 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shm: Print details on errors
+
+2009-11-03 18:33:35 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsink.c:
+       * gst/shm/shmpipe.c:
+         shm: Make valgrind happy
+
+2009-11-03 16:31:37 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsink.c:
+         shmsink: Don't block on EOS in non-blocking mode
+
+2009-11-03 16:09:35 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/shmpipe.c:
+         shm: Block if required
+
+2009-10-30 18:24:58 +0000  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshm.h:
+       * gst/shm/gstshmsink.c:
+       * gst/shm/gstshmsink.h:
+         shmsink: Port to ShmPipe
+
+2009-10-30 12:37:50 +0000  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/gstshmsrc.c:
+       * gst/shm/gstshmsrc.h:
+         shmsrc: Port to ShmPipe
+
+2009-10-29 19:18:25 +0000  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/shm/Makefile.am:
+       * gst/shm/shmalloc.c:
+       * gst/shm/shmalloc.h:
+       * gst/shm/shmpipe.c:
+       * gst/shm/shmpipe.h:
+         shm: Add shmpipe implementation
+
+2009-04-29 16:33:46 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * configure.ac:
+       * gst/shm/Makefile.am:
+       * gst/shm/gstshm.c:
+       * gst/shm/gstshm.h:
+       * gst/shm/gstshmsink.c:
+       * gst/shm/gstshmsink.h:
+       * gst/shm/gstshmsrc.c:
+       * gst/shm/gstshmsrc.h:
+         shm: Add shm based sink and src
+         These two elements (shmsink and shmsrc) communicate buffers using POSIX
+         shared memory. They also communicate the caps. The source currently acts as
+         a live source and ignores the timestamps coming from the sink. It also does
+         not transfer the tags.
+
+2010-06-03 15:51:18 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
+
+       * gst/mpegdemux/gstmpegtsdemux.c:
+         mpegtsdemux: Some checks to avoid asserts
+         gst_mpeg_descriptor_find() expects the description field to be non-NULL.
+         This fixes a couple of calls where the value being passed is not
+         verified to be non-NULL first.
+         https://bugzilla.gnome.org/show_bug.cgi?id=620456
+
+2010-06-03 10:49:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: fix printf format warning in log message
+         gstvp8enc.c:564: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
+         gstvp8enc.c:744: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
+
+2010-06-03 10:43:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpdtmfmux.c:
+         rtpmux: fix missing debug log message argument
+
+2010-06-02 22:07:31 -0700  David Schleef <ds@schleef.org>
+
+       * gst/invtelecine/gstinvtelecine.c:
+         invtelecine: add an assert to placate gcc-4.5
+
+2010-06-02 19:46:50 -0700  David Schleef <ds@schleef.org>
+
+       * gst-libs/gst/video/gstbasevideoparse.c:
+         basevideoparse: fix warning
+
+2010-06-02 19:38:35 -0700  David Schleef <ds@schleef.org>
+
+       * gst-libs/gst/video/gstbasevideoparse.c:
+         basevideoparse: remove bogus api
+
+2010-06-02 17:54:42 -0700  David Schleef <ds@schleef.org>
+
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoutils.c:
+       * gst-libs/gst/video/gstbasevideoutils.h:
+         basevideo: remove gst_base_video_state_from_caps
+
+2010-06-02 17:40:17 -0700  David Schleef <ds@schleef.org>
+
+       * gst-libs/gst/video/gstbasevideoutils.c:
+         basevideo: remove compatibility code
+
+2010-06-02 16:06:20 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+         configure: Orc is not required
+
+2010-06-02 16:01:28 -0700  David Schleef <ds@schleef.org>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoparse.c:
+       * gst-libs/gst/video/gstbasevideoutils.c:
+         basevideo: use debug category for each class
+
+2009-10-05 15:47:58 +0100  Jan Schmidt <thaytan@noraisin.net>
+
+       * gst-libs/gst/video/gstbasevideoutils.c:
+         basevideo: Fail if caps don't contain a framerate field
+         Return false from the caps parsing function if there is no framerate
+         field in the provided caps
+         Merging previous commit into current codebase.
+
+2010-06-02 13:31:46 -0700  David Schleef <ds@schleef.org>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+         basevideodecoder: create new segments if missing
+
+2009-09-17 10:50:40 -0700  David Schleef <ds@schleef.org>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideo: Add a warning
+         Merging previous commit into current codebase.
+
+2009-07-03 16:08:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * ext/vp8/Makefile.am:
+       * gst-libs/gst/video/Makefile.am:
+       * gst-libs/gst/video/gstbasevideocodec.h:
+       * gst-libs/gst/video/gstbasevideodecoder.h:
+       * gst-libs/gst/video/gstbasevideoencoder.h:
+       * gst-libs/gst/video/gstbasevideoparse.h:
+       * gst-libs/gst/video/gstbasevideoutils.h:
+         basevideo, vp8: guard unstable API with GST_USE_UNSTABLE_API
+         Add some guards and fat warnings to the header files with still unstable
+         API, so people who just look at the installed headers know that it
+         actually is unstable API.
+         Merging previous commit into current codebase.
+
+2010-06-02 19:52:07 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+         mimdec: Clear adapter when flushing
+
+2010-06-02 19:45:29 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+         mimdec: Stop decoding if can't push
+
+2010-06-02 19:44:31 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+         mimdec: Flush adapter right ater using it
+
+2009-11-18 11:14:28 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimenc.c:
+         mimenc: No need to do a try allocation
+
+2009-11-18 11:08:25 -0500  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimenc.c:
+         mimenc: Document paused-mode property
+
+2009-10-12 20:19:38 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+       * ext/mimic/gstmimenc.c:
+         mimic: Use log loglevel for messages that are shown on every frame
+
+2009-10-12 20:09:34 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+       * ext/mimic/gstmimdec.h:
+         mimdec: Remove object lock usage, stream lock is enough
+
+2009-10-12 20:08:12 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+         mimdec: Output framerate is unknown
+
+2009-10-12 20:06:13 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+       * ext/mimic/gstmimdec.h:
+         mimdec: Remove local state variable from instance
+
+2009-10-12 19:57:50 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+         mimdec: Remove useless variable
+
+2009-10-12 19:56:54 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+         mimdec: Make caps a lot stricter
+
+2009-10-12 19:52:35 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimenc.c:
+         mimenc: Set delta_unit flag on intra frames
+
+2009-10-12 19:50:52 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+       * ext/mimic/gstmimenc.c:
+         mimic: Initialize encoder/decoders in state change and setcaps where possible
+
+2009-10-12 19:36:29 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+       * ext/mimic/gstmimenc.c:
+         mimic: Fix element details
+
+2009-10-12 19:31:38 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimenc.c:
+         mimic: Hold element lock while accessing the clock
+
+2009-10-12 19:29:17 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimenc.c:
+         mimic: Refactor tcp header creation to not make a separate buffer
+
+2009-10-12 19:18:20 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimenc.c:
+         mimic: Function can't fail
+
+2009-10-12 19:17:30 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+       * ext/mimic/gstmimenc.c:
+         mimic: Remove C++ style comments
+
+2009-10-12 19:16:26 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+       * ext/mimic/gstmimenc.c:
+         mimic: Use GST_ELEMENT_ERROR when returning a flow error
+
+2009-10-12 18:54:59 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.h:
+       * ext/mimic/gstmimenc.h:
+         mimic: Fix GST_MIM_*_CLASS macros
+
+2009-10-12 18:47:35 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimenc.c:
+         mimic: Warn if paused-mode is toggled while playing
+
+2009-10-12 18:39:06 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+       * ext/mimic/gstmimenc.c:
+         mimic: Add GST_DEBUG_FUNCPTR where appropriate
+
+2009-10-12 18:36:58 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * ext/mimic/gstmimdec.c:
+       * ext/mimic/gstmimdec.h:
+       * ext/mimic/gstmimenc.c:
+       * ext/mimic/gstmimenc.h:
+       * ext/mimic/gstmimic.c:
+         mimic: Rename functions/macros to match class names
+
+2010-05-10 18:37:55 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpdtmfmux.c:
+         rtpdtmfmux: Add some debug messages
+
+2010-05-07 18:56:57 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpdtmfmux.c:
+       * gst/rtpmux/gstrtpdtmfmux.h:
+       * gst/rtpmux/gstrtpmux.c:
+       * gst/rtpmux/gstrtpmux.h:
+         rtpdtmfmux: Remove stream-lock event handling
+
+2010-05-07 18:54:49 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpdtmfmux.c:
+         rtpdtmfmux: Update doc for simplification
+
+2010-05-07 18:42:06 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/dtmf/gstdtmfsrc.c:
+       * gst/dtmf/gstrtpdtmfsrc.c:
+         dtmf: Remove rtpdtmfmux stream-lock code
+
+2010-05-07 18:40:30 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * tests/check/elements/rtpmux.c:
+         tests: Change tests to not use the priority pads instead of the events
+
+2010-05-06 19:51:59 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpdtmfmux.c:
+       * gst/rtpmux/gstrtpdtmfmux.h:
+         rtpdtmfmux: Drop buffers on non-priority sinks when something is incoming on the priority sink
+
+2010-05-06 18:11:40 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpdtmfmux.c:
+       * gst/rtpmux/gstrtpmux.c:
+       * gst/rtpmux/gstrtpmux.h:
+         rtpdtmfmux: Add priority sink pads
+
+2010-05-07 17:15:47 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpdtmfmux.c:
+         rtpdtmfmux: Cleanup event function
+
+2010-05-07 16:42:22 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpmux.c:
+       * gst/rtpmux/gstrtpmux.h:
+       * tests/check/elements/rtpmux.c:
+         rtpmux: Aggregate incoming segments
+
+2010-05-06 19:09:48 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpdtmfmux.c:
+         rtpdtmfmux: Update documentation
+
+2010-05-06 18:10:45 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
+
+       * gst/rtpmux/gstrtpmux.c:
+       * gst/rtpmux/gstrtpmux.h:
+         rtpmux: Simplify request pad creation
+
+2010-06-02 12:16:56 -0700  David Schleef <ds@schleef.org>
+
+       * gst-libs/gst/video/gstbasevideocodec.c:
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+       * gst-libs/gst/video/gstbasevideoencoder.c:
+       * gst-libs/gst/video/gstbasevideoparse.c:
+         basevideo: make printf formats portable
+
+2010-06-02 11:41:25 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+         Update Orc requirement to 0.4.4.1
+
+2010-06-02 11:31:26 -0700  David Schleef <ds@schleef.org>
+
+         Merge branch 'hacking'
+
+2010-05-22 18:14:09 -0700  David Schleef <ds@schleef.org>
+
+       * gst/invtelecine/gstinvtelecine.c:
+         invtelecine: Add verify-field-flags property
+         When enabled, check that the video matches the field flags on the
+         incoming buffers.
+
+2010-05-22 11:36:37 -0700  David Schleef <ds@schleef.org>
+
+       * gst/invtelecine/gstinvtelecine.c:
+         invtelecine: remove old code
+
+2010-05-22 11:30:54 -0700  David Schleef <ds@schleef.org>
+
+       * gst/invtelecine/gstinvtelecine.c:
+         invtelecine: Add 4:2:2 formats
+
+2010-05-22 00:44:40 -0700  David Schleef <ds@schleef.org>
+
+       * gst/invtelecine/gstinvtelecine.c:
+         invtelecine: Change format table
+         Add format name, phase table.
+
+2010-03-09 12:32:42 -0800  David Schleef <ds@schleef.org>
+
+       * gst/invtelecine/gstinvtelecine.c:
+         invtelecine: Add multiple pulldown formats
+
+2010-05-21 23:39:06 -0700  David Schleef <ds@schleef.org>
+
+       * gst/invtelecine/Makefile.am:
+       * gst/invtelecine/gstinvtelecine.c:
+         invtelecine: handle different frame sizes
+
+2010-05-24 12:55:16 -0700  David Schleef <ds@schleef.org>
+
+       * gst-libs/gst/video/gstbasevideodecoder.c:
+         basevideodecoder: (in vp8) Mark discont buffers
+
+2010-06-02 05:51:41 +0400  Руслан Ижбулатов <lrn1986@gmail.com>
+
+       * gst/ivfparse/gstivfparse.c:
+         ivfparse: Fix format string warning
+         Fixes #620324
+
+2010-06-01 23:50:03 -0700  David Schleef <ds@schleef.org>
+
+       * tests/icles/Makefile.am:
+         cog: remove old tests
+
+2010-06-01 23:34:05 -0700  David Schleef <ds@schleef.org>
+
+       * tests/check/Makefile.am:
+         tests: Add orc tests to check Makefile
+
+2010-06-01 16:55:17 -0700  David Schleef <ds@schleef.org>
+
+       * configure.ac:
+       * ext/cog/Makefile.am:
+       * ext/cog/cog.orc:
+       * ext/cog/cogframe.c:
+       * ext/cog/cogvirtframe.c:
+       * ext/cog/gstcogorc-dist.c:
+       * ext/cog/gstcogorc-dist.h:
+       * ext/cog/gstcogorc.orc:
+         cog: use common/orc.mak
+
+2010-05-16 10:24:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/schroedinger/gstschroenc.c:
+         schro: Fix segfault on EOS
+
+2010-05-14 01:21:08 -0700  David Schleef <ds@schleef.org>
+
+       * ext/schroedinger/gstschrodec.c:
+       * ext/schroedinger/gstschroenc.c:
+       * ext/schroedinger/gstschroparse.c:
+         schro: fix for base video updates
+
+2010-05-16 10:15:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/dirac/gstdiracenc.cc:
+         dirac: Fixes for base video encoder changes
+
+2010-06-01 15:54:51 -0700  David Schleef <ds@schleef.org>
+
+       * ext/vp8/Makefile.am:
+       * ext/vp8/gst/video/gstbasevideocodec.c:
+       * ext/vp8/gst/video/gstbasevideocodec.h:
+       * ext/vp8/gst/video/gstbasevideodecoder.c:
+       * ext/vp8/gst/video/gstbasevideodecoder.h:
+       * ext/vp8/gst/video/gstbasevideoencoder.c:
+       * ext/vp8/gst/video/gstbasevideoencoder.h:
+       * ext/vp8/gst/video/gstbasevideoparse.c:
+       * ext/vp8/gst/video/gstbasevideoparse.h:
+       * ext/vp8/gst/video/gstbasevideoutils.c:
+       * ext/vp8/gst/video/gstbasevideoutils.h:
+       * ext/vp8/gst/video/gstvideocompat.c:
+       * ext/vp8/gst/video/gstvideocompat.h:
+       * 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:
+       * gst-libs/gst/video/gstbasevideoparse.c:
+       * gst-libs/gst/video/gstbasevideoparse.h:
+       * gst-libs/gst/video/gstbasevideoutils.c:
+       * gst-libs/gst/video/gstbasevideoutils.h:
+         basevideo: Move base video from vp8 to gst-libs
+
+2010-06-01 23:49:31 -0700  David Schleef <ds@schleef.org>
+
+       * common:
+         Automatic update of common submodule
+         From 17f89e5 to 47683c1
+
+2010-06-01 22:55:11 -0700  David Schleef <ds@schleef.org>
+
+       * common:
+         Automatic update of common submodule
+         From fd7ca04 to 17f89e5
+
+2010-05-26 06:52:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8dec.c:
+       * ext/vp8/gstvp8enc.c:
+       * ext/vp8/gstvp8utils.h:
+         vp8: Use VPX_PLANE_* instead of PLANE_*
+
+2010-05-24 11:04:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8utils.h:
+         vp8: Add compatilibity defines to work with older versions of libvpx too
+
+2010-05-23 09:28:13 +0200  Philip Jägenstedt <philipj@opera.com>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8dec: s/IMG_FMT_I420/VPX_IMG_FMT_I420/
+         This corresponds to upstream libvpx commit 6cd4a10e167203d1deb79abf60ee72599e97891b
+
+2010-05-22 12:55:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8enc.c:
+         vp8enc: Allow a maximum keyframe distance of 0, i.e. all frames are keyframes
+
+2010-05-22 09:08:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/ivfparse/gstivfparse.c:
+         ivfparse: Send an initial NEWSEGMENT event
+
+2010-05-22 09:02:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * configure.ac:
+       * gst/ivfparse/Makefile.am:
+       * gst/ivfparse/gstivfparse.c:
+         ivfparse: Integrate into the build system
+
+2010-05-22 08:56:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * gst/ivfparse/gstivfparse.c:
+       * gst/ivfparse/gstivfparse.h:
+         ivfparse: Add simple IVF parser
+         This only supports VP8 so far.
+         Fixes bug #619158.
+
+2010-05-22 08:45:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+       * ext/vp8/gstvp8dec.c:
+         vp8dec: Set decoder deadline from the QoS information
+
+2010-06-01 10:18:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * configure.ac:
+       * docs/plugins/inspect/plugin-adpcmdec.xml:
+       * docs/plugins/inspect/plugin-adpcmenc.xml:
+       * docs/plugins/inspect/plugin-aiff.xml:
+       * docs/plugins/inspect/plugin-alsaspdif.xml:
+       * docs/plugins/inspect/plugin-amrwbenc.xml:
+       * docs/plugins/inspect/plugin-apexsink.xml:
+       * docs/plugins/inspect/plugin-asfmux.xml:
+       * docs/plugins/inspect/plugin-assrender.xml:
+       * docs/plugins/inspect/plugin-audioparsersbad.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-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-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-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-invtelecine.xml:
+       * docs/plugins/inspect/plugin-jack.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-metadata.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-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-pcapparse.xml:
+       * docs/plugins/inspect/plugin-pnm.xml:
+       * docs/plugins/inspect/plugin-qtmux.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-rtpmux.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-selector.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-valve.xml:
+       * docs/plugins/inspect/plugin-vcdsrc.xml:
+       * docs/plugins/inspect/plugin-videomeasure.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-zbar.xml:
+       * win32/common/config.h:
+         Back to development
+
 === release 0.10.19 ===
 
-2010-05-31  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+2010-05-31 02:10:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
 
+       * ChangeLog:
+       * NEWS:
+       * RELEASE:
        * configure.ac:
-         releasing 0.10.19, "The World Kicked Back"
+       * 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/plugins/inspect/plugin-adpcmdec.xml:
+       * docs/plugins/inspect/plugin-adpcmenc.xml:
+       * docs/plugins/inspect/plugin-aiff.xml:
+       * docs/plugins/inspect/plugin-alsaspdif.xml:
+       * docs/plugins/inspect/plugin-amrwbenc.xml:
+       * docs/plugins/inspect/plugin-apexsink.xml:
+       * docs/plugins/inspect/plugin-asfmux.xml:
+       * docs/plugins/inspect/plugin-assrender.xml:
+       * docs/plugins/inspect/plugin-audioparsersbad.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-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-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-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-invtelecine.xml:
+       * docs/plugins/inspect/plugin-jack.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-metadata.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-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-pcapparse.xml:
+       * docs/plugins/inspect/plugin-pnm.xml:
+       * docs/plugins/inspect/plugin-qtmux.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-rtpmux.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-selector.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-valve.xml:
+       * docs/plugins/inspect/plugin-vcdsrc.xml:
+       * docs/plugins/inspect/plugin-videomeasure.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-zbar.xml:
+       * gst-plugins-bad.doap:
+       * win32/common/config.h:
+         Release 0.10.19
+
+2010-05-31 02:10:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+       * po/af.po:
+       * po/az.po:
+       * po/bg.po:
+       * po/ca.po:
+       * po/cs.po:
+       * po/da.po:
+       * po/de.po:
+       * po/en_GB.po:
+       * po/es.po:
+       * po/eu.po:
+       * po/fi.po:
+       * po/fr.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/ru.po:
+       * po/sk.po:
+       * po/sq.po:
+       * po/sr.po:
+       * po/sv.po:
+       * po/tr.po:
+       * po/uk.po:
+       * po/vi.po:
+       * po/zh_CN.po:
+         Update .po files
 
 2010-05-31 01:52:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
 
diff --git a/NEWS b/NEWS
index b00c3e1..c13dc90 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,123 @@
-This is GStreamer Bad Plug-ins 0.10.19, "The World Kicked Back"
+This is GStreamer Bad Plug-ins 0.10.20, "For it is a Human Number"
+
+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:
 
diff --git a/RELEASE b/RELEASE
index e530f97..8f8ae89 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,5 +1,5 @@
 
-Release notes for GStreamer Bad Plug-ins 0.10.19 "The World Kicked Back"
+Release notes for GStreamer Bad Plug-ins 0.10.20 "For it is a Human Number"
         
 
 
@@ -60,86 +60,122 @@ contains a set of well-supported plug-ins, but might pose problems for
 
 Features of this release
     
-      * 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)
+      * 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 in this release
      
-      * 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
+      * 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
 
 Download
 
@@ -168,38 +204,39 @@ Applications
   
 Contributors to this release
     
-      * Adam Endrodi
       * Alessandro Decina
       * Andoni Morales
+      * Andoni Morales Alastruey
       * Arun Raghavan
+      * Austin Lund
       * Bastien Nocera
       * Benjamin Otte
-      * Brian Cameron
       * Carl-Anton Ingmarsson
+      * David Hoyt
       * David Schleef
       * Edward Hervey
-      * Ivan Zderadicka
+      * Filippo Argiolas
       * Jan Schmidt
-      * Joshua M. Doe
-      * Lasse Laukkanen
+      * Jonathan Matthew
+      * Julien Moutte
+      * Luis de Bethencourt
+      * Marc-André Lureau
       * Mark Nauwelaerts
+      * Michael Smith
       * Olivier Crête
       * Philip Jägenstedt
-      * Raimo Järvi
-      * René Stadler
-      * Rob Clark
+      * Philippe Normand
+      * Raimo Jarvi
+      * Robert Swain
+      * Sameer Naik
       * Sebastian Dröge
       * Sebastian Pölsterl
-      * Shenghua Liu
       * Stefan Kost
-      * Teemu Katajisto
       * Thiago Santos
-      * Tiago Katcipis
+      * Thijs Vermeir
       * Tim-Philipp Müller
-      * Tommi Myöhänen
-      * Tristan Matthews
       * Víctor Manuel Jáquez Leal
-      * Wim Taymans
+      * Youness Alaoui
       * Zaheer Abbas Merali
       * Руслан Ижбулатов
  
\ No newline at end of file
index d180d7a..499b51e 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.10.19.5,
+AC_INIT(GStreamer Bad Plug-ins, 0.10.20,
     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
     gst-plugins-bad)
 
index f8645c9..a375aa2 100644 (file)
@@ -48,22 +48,13 @@ typedef unsigned long orc_uint64;
 #endif
 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];
-  orc_int16 x4[4];
 } orc_union64;
 #endif
 
@@ -154,27 +145,7 @@ void cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n);
 #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
 #define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
 #define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
-#define ORC_SWAP_Q(x) ((((x)&0xffULL)<<56) | (((x)&0xff00ULL)<<40) | (((x)&0xff0000ULL)<<24) | (((x)&0xff000000ULL)<<8) | (((x)&0xff00000000ULL)>>8) | (((x)&0xff0000000000ULL)>>24) | (((x)&0xff000000000000ULL)>>40) | (((x)&0xff00000000000000ULL)>>56))
 #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
-#define ORC_RECAST_INT(x) (((orc_union32)(x)).i)
-#define ORC_RECAST_FLOAT(x) (((orc_union32)(orc_int32)(x)).f)
-#define ORC_DENORMAL(x) ORC_RECAST_FLOAT(ORC_RECAST_INT(x) & (((ORC_RECAST_INT(x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
-#define ORC_ISNAN(x) (((ORC_RECAST_INT(x)&0x7f800000) == 0x7f800000) && ((ORC_RECAST_INT(x)&0x007fffff) != 0))
-#define ORC_MINF(a,b) (ORC_ISNAN(a) ? a : ORC_ISNAN(b) ? b : ((a)<(b)) ? (a) : (b))
-#define ORC_MAXF(a,b) (ORC_ISNAN(a) ? a : ORC_ISNAN(b) ? b : ((a)>(b)) ? (a) : (b))
-#define ORC_RECAST_INT64(x) (((orc_union64)(x)).i)
-#define ORC_RECAST_DOUBLE(x) (((orc_union64)(orc_int64)(x)).f)
-#define ORC_DENORMAL_D(x) ORC_RECAST_DOUBLE(ORC_RECAST_INT64(x) & (((ORC_RECAST_INT64(x)&0x7ff0000000000000ULL) == 0) ? 0xfff0000000000000ULL : 0xffffffffffffffffULL))
-#define ORC_ISNAN_D(x) (((ORC_RECAST_INT64(x)&0x7ff0000000000000ULL) == 0x7ff0000000000000ULL) && ((ORC_RECAST_INT64(x)&0x000fffffffffffffULL) != 0))
-#define ORC_MIND(a,b) (ORC_ISNAN_D(a) ? a : ORC_ISNAN_D(b) ? b : ((a)<(b)) ? (a) : (b))
-#define ORC_MAXD(a,b) (ORC_ISNAN_D(a) ? a : ORC_ISNAN_D(b) ? b : ((a)>(b)) ? (a) : (b))
-#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
 /* end Orc C target preamble */
 
 
@@ -186,46 +157,46 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1,
     int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
 
   ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
+  ptr4 = (orc_int16 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select0wb */
-    var33 = (orc_uint16) var32.i & 0xff;
-    /* 2: storeb */
-    ptr0[i] = var33;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0wb */
+    var0 = (orc_uint16) var4 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
+  ptr4 = (orc_int16 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select0wb */
-    var33 = (orc_uint16) var32.i & 0xff;
-    /* 2: storeb */
-    ptr0[i] = var33;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0wb */
+    var0 = (orc_uint16) var4 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -251,8 +222,7 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1,
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 2, "s1");
 
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -278,140 +248,134 @@ 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;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
+  orc_int16 var5;
+  const orc_int16 *ptr5;
+  const orc_int16 var16 = 2;
+  const orc_int16 var17 = 2;
+  const orc_int16 var18 = 2;
+  orc_int8 var32;
+  orc_int8 var33;
+  orc_int8 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
+  orc_int16 var43;
 
   ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_union16 *) s2;
+  ptr4 = (orc_int16 *) s1;
+  ptr5 = (orc_int16 *) s2;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var38 = ptr4[i];
-    /* 1: copyw */
-    var43.i = var38.i;
-    /* 2: select0wb */
-    var44 = (orc_uint16) var43.i & 0xff;
-    /* 3: select1wb */
-    var45 = ((orc_uint16) var43.i >> 8) & 0xff;
-    /* 4: loadw */
-    var39 = ptr5[i];
-    /* 5: select0wb */
-    var46 = (orc_uint16) var39.i & 0xff;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: copyw */
+    var35 = var4;
+    /* 1: select0wb */
+    var32 = (orc_uint16) var35 & 0xff;
+    /* 2: select1wb */
+    var33 = ((orc_uint16) var35 >> 8) & 0xff;
+    /* 3: select0wb */
+    var34 = (orc_uint16) var5 & 0xff;
+    /* 4: convubw */
+    var38 = (orc_uint8) var32;
+    /* 5: convubw */
+    var36 = (orc_uint8) var33;
     /* 6: convubw */
-    var47.i = (orc_uint8) var44;
-    /* 7: convubw */
-    var48.i = (orc_uint8) var45;
-    /* 8: convubw */
-    var49.i = (orc_uint8) var46;
-    /* 9: loadpw */
-    var40.i = 2;
-    /* 10: mullw */
-    var50.i = (var48.i * var40.i) & 0xffff;
-    /* 11: addw */
-    var51.i = var47.i + var49.i;
-    /* 12: addw */
-    var52.i = var51.i + var50.i;
-    /* 13: loadpw */
-    var41.i = 2;
-    /* 14: addw */
-    var53.i = var52.i + var41.i;
-    /* 15: shrsw */
-    var54.i = var53.i >> 2;
-    /* 16: convsuswb */
-    var42 = ORC_CLAMP_UB (var54.i);
-    /* 17: storeb */
-    ptr0[i] = var42;
+    var37 = (orc_uint8) var34;
+    /* 7: mullw */
+    var39 = (var36 * var16) & 0xffff;
+    /* 8: addw */
+    var40 = var38 + var37;
+    /* 9: addw */
+    var41 = var40 + var39;
+    /* 10: addw */
+    var42 = var41 + var17;
+    /* 11: shrsw */
+    var43 = var42 >> var18;
+    /* 12: convsuswb */
+    var0 = ORC_CLAMP_UB (var43);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
+  orc_int16 var5;
+  const orc_int16 *ptr5;
+  const orc_int16 var16 = 2;
+  const orc_int16 var17 = 2;
+  const orc_int16 var18 = 2;
+  orc_int8 var32;
+  orc_int8 var33;
+  orc_int8 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
+  orc_int16 var43;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_union16 *) ex->arrays[5];
+  ptr4 = (orc_int16 *) ex->arrays[4];
+  ptr5 = (orc_int16 *) ex->arrays[5];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var38 = ptr4[i];
-    /* 1: copyw */
-    var43.i = var38.i;
-    /* 2: select0wb */
-    var44 = (orc_uint16) var43.i & 0xff;
-    /* 3: select1wb */
-    var45 = ((orc_uint16) var43.i >> 8) & 0xff;
-    /* 4: loadw */
-    var39 = ptr5[i];
-    /* 5: select0wb */
-    var46 = (orc_uint16) var39.i & 0xff;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: copyw */
+    var35 = var4;
+    /* 1: select0wb */
+    var32 = (orc_uint16) var35 & 0xff;
+    /* 2: select1wb */
+    var33 = ((orc_uint16) var35 >> 8) & 0xff;
+    /* 3: select0wb */
+    var34 = (orc_uint16) var5 & 0xff;
+    /* 4: convubw */
+    var38 = (orc_uint8) var32;
+    /* 5: convubw */
+    var36 = (orc_uint8) var33;
     /* 6: convubw */
-    var47.i = (orc_uint8) var44;
-    /* 7: convubw */
-    var48.i = (orc_uint8) var45;
-    /* 8: convubw */
-    var49.i = (orc_uint8) var46;
-    /* 9: loadpw */
-    var40.i = 2;
-    /* 10: mullw */
-    var50.i = (var48.i * var40.i) & 0xffff;
-    /* 11: addw */
-    var51.i = var47.i + var49.i;
-    /* 12: addw */
-    var52.i = var51.i + var50.i;
-    /* 13: loadpw */
-    var41.i = 2;
-    /* 14: addw */
-    var53.i = var52.i + var41.i;
-    /* 15: shrsw */
-    var54.i = var53.i >> 2;
-    /* 16: convsuswb */
-    var42 = ORC_CLAMP_UB (var54.i);
-    /* 17: storeb */
-    ptr0[i] = var42;
+    var37 = (orc_uint8) var34;
+    /* 7: mullw */
+    var39 = (var36 * var16) & 0xffff;
+    /* 8: addw */
+    var40 = var38 + var37;
+    /* 9: addw */
+    var41 = var40 + var39;
+    /* 10: addw */
+    var42 = var41 + var17;
+    /* 11: shrsw */
+    var43 = var42 >> var18;
+    /* 12: convsuswb */
+    var0 = ORC_CLAMP_UB (var43);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -437,9 +401,9 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1,
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 2, "s1");
       orc_program_add_source (p, 2, "s2");
-      orc_program_add_constant (p, 2, 0x00000002, "c1");
-      orc_program_add_constant (p, 2, 0x00000002, "c2");
-      orc_program_add_constant (p, 2, 0x00000002, "c3");
+      orc_program_add_constant (p, 2, 2, "c1");
+      orc_program_add_constant (p, 2, 2, "c2");
+      orc_program_add_constant (p, 2, 2, "c3");
       orc_program_add_temporary (p, 1, "t1");
       orc_program_add_temporary (p, 1, "t2");
       orc_program_add_temporary (p, 1, "t3");
@@ -447,32 +411,19 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1,
       orc_program_add_temporary (p, 2, "t5");
       orc_program_add_temporary (p, 2, "t6");
 
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_T4, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T1, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T3, ORC_VAR_S2,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "copyw", ORC_VAR_T4, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_D1);
+      orc_program_append (p, "select1wb", ORC_VAR_T2, ORC_VAR_T4, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_T3, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C1);
+      orc_program_append (p, "addw", ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T6);
+      orc_program_append (p, "addw", ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T5);
+      orc_program_append (p, "addw", ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C2);
+      orc_program_append (p, "shrsw", ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C3);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -499,104 +450,104 @@ cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1,
     const orc_uint16 * s2, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var37;
-  orc_union16 var38;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
+  orc_int16 var5;
+  const orc_int16 *ptr5;
+  orc_int16 var32;
+  orc_int8 var33;
+  orc_int8 var34;
+  orc_int8 var35;
+  orc_int8 var36;
+  orc_int8 var37;
+  orc_int16 var38;
   orc_int8 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
 
   ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_union16 *) s2;
+  ptr4 = (orc_int16 *) s1;
+  ptr5 = (orc_int16 *) s2;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var40.i = var37.i;
-    /* 2: select0wb */
-    var41 = (orc_uint16) var40.i & 0xff;
-    /* 3: select1wb */
-    var42 = ((orc_uint16) var40.i >> 8) & 0xff;
-    /* 4: avgub */
-    var43 = ((orc_uint8) var41 + (orc_uint8) var42 + 1) >> 1;
-    /* 5: loadw */
-    var38 = ptr5[i];
-    /* 6: copyw */
-    var44.i = var38.i;
-    /* 7: select0wb */
-    var45 = (orc_uint16) var44.i & 0xff;
-    /* 8: select1wb */
-    var46 = ((orc_uint16) var44.i >> 8) & 0xff;
-    /* 9: avgub */
-    var47 = ((orc_uint8) var45 + (orc_uint8) var46 + 1) >> 1;
-    /* 10: avgub */
-    var39 = ((orc_uint8) var43 + (orc_uint8) var47 + 1) >> 1;
-    /* 11: storeb */
-    ptr0[i] = var39;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: copyw */
+    var32 = var4;
+    /* 1: select0wb */
+    var33 = (orc_uint16) var32 & 0xff;
+    /* 2: select1wb */
+    var34 = ((orc_uint16) var32 >> 8) & 0xff;
+    /* 3: avgub */
+    var37 = ((orc_uint8) var33 + (orc_uint8) var34 + 1) >> 1;
+    /* 4: copyw */
+    var38 = var5;
+    /* 5: select0wb */
+    var35 = (orc_uint16) var38 & 0xff;
+    /* 6: select1wb */
+    var36 = ((orc_uint16) var38 >> 8) & 0xff;
+    /* 7: avgub */
+    var39 = ((orc_uint8) var35 + (orc_uint8) var36 + 1) >> 1;
+    /* 8: avgub */
+    var0 = ((orc_uint8) var37 + (orc_uint8) var39 + 1) >> 1;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var37;
-  orc_union16 var38;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
+  orc_int16 var5;
+  const orc_int16 *ptr5;
+  orc_int16 var32;
+  orc_int8 var33;
+  orc_int8 var34;
+  orc_int8 var35;
+  orc_int8 var36;
+  orc_int8 var37;
+  orc_int16 var38;
   orc_int8 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_union16 *) ex->arrays[5];
+  ptr4 = (orc_int16 *) ex->arrays[4];
+  ptr5 = (orc_int16 *) ex->arrays[5];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var40.i = var37.i;
-    /* 2: select0wb */
-    var41 = (orc_uint16) var40.i & 0xff;
-    /* 3: select1wb */
-    var42 = ((orc_uint16) var40.i >> 8) & 0xff;
-    /* 4: avgub */
-    var43 = ((orc_uint8) var41 + (orc_uint8) var42 + 1) >> 1;
-    /* 5: loadw */
-    var38 = ptr5[i];
-    /* 6: copyw */
-    var44.i = var38.i;
-    /* 7: select0wb */
-    var45 = (orc_uint16) var44.i & 0xff;
-    /* 8: select1wb */
-    var46 = ((orc_uint16) var44.i >> 8) & 0xff;
-    /* 9: avgub */
-    var47 = ((orc_uint8) var45 + (orc_uint8) var46 + 1) >> 1;
-    /* 10: avgub */
-    var39 = ((orc_uint8) var43 + (orc_uint8) var47 + 1) >> 1;
-    /* 11: storeb */
-    ptr0[i] = var39;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: copyw */
+    var32 = var4;
+    /* 1: select0wb */
+    var33 = (orc_uint16) var32 & 0xff;
+    /* 2: select1wb */
+    var34 = ((orc_uint16) var32 >> 8) & 0xff;
+    /* 3: avgub */
+    var37 = ((orc_uint8) var33 + (orc_uint8) var34 + 1) >> 1;
+    /* 4: copyw */
+    var38 = var5;
+    /* 5: select0wb */
+    var35 = (orc_uint16) var38 & 0xff;
+    /* 6: select1wb */
+    var36 = ((orc_uint16) var38 >> 8) & 0xff;
+    /* 7: avgub */
+    var39 = ((orc_uint8) var35 + (orc_uint8) var36 + 1) >> 1;
+    /* 8: avgub */
+    var0 = ((orc_uint8) var37 + (orc_uint8) var39 + 1) >> 1;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -627,24 +578,15 @@ cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1,
       orc_program_add_temporary (p, 1, "t4");
       orc_program_add_temporary (p, 1, "t5");
 
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T3, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T4, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T5, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T4,
-          ORC_VAR_D1);
+      orc_program_append (p, "copyw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1);
+      orc_program_append (p, "select1wb", ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_D1);
+      orc_program_append (p, "avgub", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3);
+      orc_program_append (p, "copyw", ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_D1);
+      orc_program_append (p, "select1wb", ORC_VAR_T5, ORC_VAR_T1, ORC_VAR_D1);
+      orc_program_append (p, "avgub", ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T5);
+      orc_program_append (p, "avgub", ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T4);
 
       result = orc_program_compile (p);
     }
@@ -671,56 +613,56 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
   ptr5 = (orc_int8 *) s2;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var32 = ptr4[i];
-    /* 1: loadb */
-    var33 = ptr5[i];
-    /* 2: avgub */
-    var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: avgub */
+    var0 = ((orc_uint8) var4 + (orc_uint8) var5 + 1) >> 1;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
   ptr5 = (orc_int8 *) ex->arrays[5];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var32 = ptr4[i];
-    /* 1: loadb */
-    var33 = ptr5[i];
-    /* 2: avgub */
-    var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: avgub */
+    var0 = ((orc_uint8) var4 + (orc_uint8) var5 + 1) >> 1;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -747,8 +689,7 @@ cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1,
       orc_program_add_source (p, 1, "s1");
       orc_program_add_source (p, 1, "s2");
 
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
-          ORC_VAR_D1);
+      orc_program_append (p, "avgub", ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2);
 
       result = orc_program_compile (p);
     }
@@ -775,24 +716,25 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const orc_int16 var16 = 2;
+  const orc_int16 var17 = 2;
+  const orc_int16 var18 = 2;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -800,64 +742,61 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1,
   ptr6 = (orc_int8 *) s3;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
     /* 1: convubw */
-    var41.i = (orc_uint8) var35;
-    /* 2: loadb */
-    var36 = ptr5[i];
-    /* 3: convubw */
-    var42.i = (orc_uint8) var36;
-    /* 4: loadb */
-    var37 = ptr6[i];
-    /* 5: convubw */
-    var43.i = (orc_uint8) var37;
-    /* 6: loadpw */
-    var38.i = 2;
-    /* 7: mullw */
-    var44.i = (var42.i * var38.i) & 0xffff;
-    /* 8: addw */
-    var45.i = var41.i + var43.i;
-    /* 9: addw */
-    var46.i = var45.i + var44.i;
-    /* 10: loadpw */
-    var39.i = 2;
-    /* 11: addw */
-    var47.i = var46.i + var39.i;
-    /* 12: shrsw */
-    var48.i = var47.i >> 2;
-    /* 13: convsuswb */
-    var40 = ORC_CLAMP_UB (var48.i);
-    /* 14: storeb */
-    ptr0[i] = var40;
+    var33 = (orc_uint8) var5;
+    /* 2: convubw */
+    var34 = (orc_uint8) var6;
+    /* 3: mullw */
+    var35 = (var33 * var16) & 0xffff;
+    /* 4: addw */
+    var36 = var32 + var34;
+    /* 5: addw */
+    var37 = var36 + var35;
+    /* 6: addw */
+    var38 = var37 + var17;
+    /* 7: shrsw */
+    var39 = var38 >> var18;
+    /* 8: convsuswb */
+    var0 = ORC_CLAMP_UB (var39);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const orc_int16 var16 = 2;
+  const orc_int16 var17 = 2;
+  const orc_int16 var18 = 2;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -865,36 +804,32 @@ _backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
     /* 1: convubw */
-    var41.i = (orc_uint8) var35;
-    /* 2: loadb */
-    var36 = ptr5[i];
-    /* 3: convubw */
-    var42.i = (orc_uint8) var36;
-    /* 4: loadb */
-    var37 = ptr6[i];
-    /* 5: convubw */
-    var43.i = (orc_uint8) var37;
-    /* 6: loadpw */
-    var38.i = 2;
-    /* 7: mullw */
-    var44.i = (var42.i * var38.i) & 0xffff;
-    /* 8: addw */
-    var45.i = var41.i + var43.i;
-    /* 9: addw */
-    var46.i = var45.i + var44.i;
-    /* 10: loadpw */
-    var39.i = 2;
-    /* 11: addw */
-    var47.i = var46.i + var39.i;
-    /* 12: shrsw */
-    var48.i = var47.i >> 2;
-    /* 13: convsuswb */
-    var40 = ORC_CLAMP_UB (var48.i);
-    /* 14: storeb */
-    ptr0[i] = var40;
+    var33 = (orc_uint8) var5;
+    /* 2: convubw */
+    var34 = (orc_uint8) var6;
+    /* 3: mullw */
+    var35 = (var33 * var16) & 0xffff;
+    /* 4: addw */
+    var36 = var32 + var34;
+    /* 5: addw */
+    var37 = var36 + var35;
+    /* 6: addw */
+    var38 = var37 + var17;
+    /* 7: shrsw */
+    var39 = var38 >> var18;
+    /* 8: convsuswb */
+    var0 = ORC_CLAMP_UB (var39);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -921,31 +856,22 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1,
       orc_program_add_source (p, 1, "s1");
       orc_program_add_source (p, 1, "s2");
       orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 2, 0x00000002, "c1");
-      orc_program_add_constant (p, 2, 0x00000002, "c2");
-      orc_program_add_constant (p, 2, 0x00000002, "c3");
+      orc_program_add_constant (p, 2, 2, "c1");
+      orc_program_add_constant (p, 2, 2, "c2");
+      orc_program_add_constant (p, 2, 2, "c3");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
       orc_program_add_temporary (p, 2, "t3");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2);
+      orc_program_append (p, "shrsw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C3);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -973,30 +899,31 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  orc_int8 var7;
+  const orc_int8 *ptr7;
+  const orc_int16 var16 = 26;
+  const orc_int16 var17 = 6;
+  const orc_int16 var18 = 32;
+  const orc_int16 var19 = 6;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -1005,80 +932,75 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1,
   ptr7 = (orc_int8 *) s4;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    var7 = *ptr7;
+    ptr7++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
     /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 2: loadb */
-    var37 = ptr5[i];
+    var33 = (orc_uint8) var5;
+    /* 2: convubw */
+    var34 = (orc_uint8) var6;
     /* 3: convubw */
-    var45.i = (orc_uint8) var37;
-    /* 4: loadb */
-    var38 = ptr6[i];
-    /* 5: convubw */
-    var46.i = (orc_uint8) var38;
-    /* 6: loadb */
-    var39 = ptr7[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
+    var35 = (orc_uint8) var7;
+    /* 4: addw */
+    var36 = var33 + var34;
+    /* 5: mullw */
+    var37 = (var36 * var16) & 0xffff;
+    /* 6: addw */
+    var38 = var32 + var35;
+    /* 7: mullw */
+    var39 = (var38 * var17) & 0xffff;
     /* 8: addw */
-    var48.i = var45.i + var46.i;
-    /* 9: loadpw */
-    var40.i = 26;
-    /* 10: mullw */
-    var49.i = (var48.i * var40.i) & 0xffff;
-    /* 11: addw */
-    var50.i = var44.i + var47.i;
-    /* 12: loadpw */
-    var41.i = 6;
-    /* 13: mullw */
-    var51.i = (var50.i * var41.i) & 0xffff;
-    /* 14: addw */
-    var52.i = var49.i + var51.i;
-    /* 15: loadpw */
-    var42.i = 32;
-    /* 16: addw */
-    var53.i = var52.i + var42.i;
-    /* 17: shrsw */
-    var54.i = var53.i >> 6;
-    /* 18: convsuswb */
-    var43 = ORC_CLAMP_UB (var54.i);
-    /* 19: storeb */
-    ptr0[i] = var43;
+    var40 = var37 + var39;
+    /* 9: addw */
+    var41 = var40 + var18;
+    /* 10: shrsw */
+    var42 = var41 >> var19;
+    /* 11: convsuswb */
+    var0 = ORC_CLAMP_UB (var42);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  orc_int8 var7;
+  const orc_int8 *ptr7;
+  const orc_int16 var16 = 26;
+  const orc_int16 var17 = 6;
+  const orc_int16 var18 = 32;
+  const orc_int16 var19 = 6;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -1087,46 +1009,40 @@ _backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ORC_RESTRICT ex)
   ptr7 = (orc_int8 *) ex->arrays[7];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    var7 = *ptr7;
+    ptr7++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
     /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 2: loadb */
-    var37 = ptr5[i];
+    var33 = (orc_uint8) var5;
+    /* 2: convubw */
+    var34 = (orc_uint8) var6;
     /* 3: convubw */
-    var45.i = (orc_uint8) var37;
-    /* 4: loadb */
-    var38 = ptr6[i];
-    /* 5: convubw */
-    var46.i = (orc_uint8) var38;
-    /* 6: loadb */
-    var39 = ptr7[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
+    var35 = (orc_uint8) var7;
+    /* 4: addw */
+    var36 = var33 + var34;
+    /* 5: mullw */
+    var37 = (var36 * var16) & 0xffff;
+    /* 6: addw */
+    var38 = var32 + var35;
+    /* 7: mullw */
+    var39 = (var38 * var17) & 0xffff;
     /* 8: addw */
-    var48.i = var45.i + var46.i;
-    /* 9: loadpw */
-    var40.i = 26;
-    /* 10: mullw */
-    var49.i = (var48.i * var40.i) & 0xffff;
-    /* 11: addw */
-    var50.i = var44.i + var47.i;
-    /* 12: loadpw */
-    var41.i = 6;
-    /* 13: mullw */
-    var51.i = (var50.i * var41.i) & 0xffff;
-    /* 14: addw */
-    var52.i = var49.i + var51.i;
-    /* 15: loadpw */
-    var42.i = 32;
-    /* 16: addw */
-    var53.i = var52.i + var42.i;
-    /* 17: shrsw */
-    var54.i = var53.i >> 6;
-    /* 18: convsuswb */
-    var43 = ORC_CLAMP_UB (var54.i);
-    /* 19: storeb */
-    ptr0[i] = var43;
+    var40 = var37 + var39;
+    /* 9: addw */
+    var41 = var40 + var18;
+    /* 10: shrsw */
+    var42 = var41 >> var19;
+    /* 11: convsuswb */
+    var0 = ORC_CLAMP_UB (var42);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -1154,39 +1070,27 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1,
       orc_program_add_source (p, 1, "s2");
       orc_program_add_source (p, 1, "s3");
       orc_program_add_source (p, 1, "s4");
-      orc_program_add_constant (p, 2, 0x0000001a, "c1");
-      orc_program_add_constant (p, 2, 0x00000006, "c2");
-      orc_program_add_constant (p, 2, 0x00000020, "c3");
-      orc_program_add_constant (p, 2, 0x00000006, "c4");
+      orc_program_add_constant (p, 2, 26, "c1");
+      orc_program_add_constant (p, 2, 6, "c2");
+      orc_program_add_constant (p, 2, 32, "c3");
+      orc_program_add_constant (p, 2, 6, "c4");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
       orc_program_add_temporary (p, 2, "t3");
       orc_program_add_temporary (p, 2, "t4");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T4, ORC_VAR_S4, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T2,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T4, ORC_VAR_S4, ORC_VAR_D1);
+      orc_program_append (p, "addw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T4);
+      orc_program_append (p, "mullw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2);
+      orc_program_append (p, "addw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T1);
+      orc_program_append (p, "addw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C3);
+      orc_program_append (p, "shrsw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C4);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -1214,52 +1118,52 @@ void
 cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n)
 {
   int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_union16 var34;
-  orc_int8 var35;
+  orc_int16 var0;
+  orc_int16 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var32;
 
-  ptr0 = (orc_union16 *) d1;
+  ptr0 = (orc_int16 *) d1;
   ptr4 = (orc_int8 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var33 = ptr4[i];
-    /* 1: copyb */
-    var35 = var33;
-    /* 2: mergebw */
-    var34.i = ((orc_uint8) var35) | ((orc_uint8) var35 << 8);
-    /* 3: storew */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: copyb */
+    var32 = var4;
+    /* 1: mergebw */
+    var0 = ((orc_uint8) var32) | ((orc_uint8) var32 << 8);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_union16 var34;
-  orc_int8 var35;
+  orc_int16 var0;
+  orc_int16 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var32;
 
-  ptr0 = (orc_union16 *) ex->arrays[0];
+  ptr0 = (orc_int16 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var33 = ptr4[i];
-    /* 1: copyb */
-    var35 = var33;
-    /* 2: mergebw */
-    var34.i = ((orc_uint8) var35) | ((orc_uint8) var35 << 8);
-    /* 3: storew */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: copyb */
+    var32 = var4;
+    /* 1: mergebw */
+    var0 = ((orc_uint8) var32) | ((orc_uint8) var32 << 8);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -1285,10 +1189,8 @@ cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n)
       orc_program_add_source (p, 1, "s1");
       orc_program_add_temporary (p, 1, "t1");
 
-      orc_program_append_2 (p, "copyb", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T1,
-          ORC_VAR_D1);
+      orc_program_append (p, "copyb", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "mergebw", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T1);
 
       result = orc_program_compile (p);
     }
@@ -1314,68 +1216,68 @@ cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1,
     const orc_uint8 * s2, int n)
 {
   int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_int8 var38;
+  orc_int16 var0;
+  orc_int16 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var32;
+  orc_int8 var33;
 
-  ptr0 = (orc_union16 *) d1;
+  ptr0 = (orc_int16 *) d1;
   ptr4 = (orc_int8 *) s1;
   ptr5 = (orc_int8 *) s2;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: copyb */
-    var37 = var34;
-    /* 2: loadb */
-    var35 = ptr5[i];
-    /* 3: avgub */
-    var38 = ((orc_uint8) var37 + (orc_uint8) var35 + 1) >> 1;
-    /* 4: mergebw */
-    var36.i = ((orc_uint8) var37) | ((orc_uint8) var38 << 8);
-    /* 5: storew */
-    ptr0[i] = var36;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: copyb */
+    var32 = var4;
+    /* 1: avgub */
+    var33 = ((orc_uint8) var32 + (orc_uint8) var5 + 1) >> 1;
+    /* 2: mergebw */
+    var0 = ((orc_uint8) var32) | ((orc_uint8) var33 << 8);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_int8 var38;
+  orc_int16 var0;
+  orc_int16 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var32;
+  orc_int8 var33;
 
-  ptr0 = (orc_union16 *) ex->arrays[0];
+  ptr0 = (orc_int16 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
   ptr5 = (orc_int8 *) ex->arrays[5];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: copyb */
-    var37 = var34;
-    /* 2: loadb */
-    var35 = ptr5[i];
-    /* 3: avgub */
-    var38 = ((orc_uint8) var37 + (orc_uint8) var35 + 1) >> 1;
-    /* 4: mergebw */
-    var36.i = ((orc_uint8) var37) | ((orc_uint8) var38 << 8);
-    /* 5: storew */
-    ptr0[i] = var36;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: copyb */
+    var32 = var4;
+    /* 1: avgub */
+    var33 = ((orc_uint8) var32 + (orc_uint8) var5 + 1) >> 1;
+    /* 2: mergebw */
+    var0 = ((orc_uint8) var32) | ((orc_uint8) var33 << 8);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -1403,12 +1305,9 @@ cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1,
       orc_program_add_temporary (p, 1, "t1");
       orc_program_add_temporary (p, 1, "t2");
 
-      orc_program_append_2 (p, "copyb", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
+      orc_program_append (p, "copyb", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "avgub", ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S2);
+      orc_program_append (p, "mergebw", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2);
 
       result = orc_program_compile (p);
     }
@@ -1435,56 +1334,56 @@ cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1,
     const orc_uint8 * s2, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
   ptr5 = (orc_int8 *) s2;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var32 = ptr4[i];
-    /* 1: loadb */
-    var33 = ptr5[i];
-    /* 2: avgub */
-    var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: avgub */
+    var0 = ((orc_uint8) var4 + (orc_uint8) var5 + 1) >> 1;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
   ptr5 = (orc_int8 *) ex->arrays[5];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var32 = ptr4[i];
-    /* 1: loadb */
-    var33 = ptr5[i];
-    /* 2: avgub */
-    var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: avgub */
+    var0 = ((orc_uint8) var4 + (orc_uint8) var5 + 1) >> 1;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -1510,8 +1409,7 @@ cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1,
       orc_program_add_source (p, 1, "s1");
       orc_program_add_source (p, 1, "s2");
 
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
-          ORC_VAR_D1);
+      orc_program_append (p, "avgub", ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2);
 
       result = orc_program_compile (p);
     }
@@ -1537,46 +1435,46 @@ void
 orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
 
   ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
+  ptr4 = (orc_int16 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select0wb */
-    var33 = (orc_uint16) var32.i & 0xff;
-    /* 2: storeb */
-    ptr0[i] = var33;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0wb */
+    var0 = (orc_uint16) var4 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
+  ptr4 = (orc_int16 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select0wb */
-    var33 = (orc_uint16) var32.i & 0xff;
-    /* 2: storeb */
-    ptr0[i] = var33;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0wb */
+    var0 = (orc_uint16) var4 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -1600,8 +1498,7 @@ orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n)
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 2, "s1");
 
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -1626,52 +1523,52 @@ void
 orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_union32 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    var35.i = (orc_uint32) var33.i & 0xffff;
-    /* 2: select1wb */
-    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0lw */
+    var32 = (orc_uint32) var4.i & 0xffff;
+    /* 1: select1wb */
+    var0 = ((orc_uint16) var32 >> 8) & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_union32 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    var35.i = (orc_uint32) var33.i & 0xffff;
-    /* 2: select1wb */
-    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0lw */
+    var32 = (orc_uint32) var4.i & 0xffff;
+    /* 1: select1wb */
+    var0 = ((orc_uint16) var32 >> 8) & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -1696,10 +1593,8 @@ orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n)
       orc_program_add_source (p, 4, "s1");
       orc_program_add_temporary (p, 2, "t1");
 
-      orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select0lw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select1wb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -1724,52 +1619,52 @@ void
 orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_union32 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
-    /* 2: select1wb */
-    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select1lw */
+    var32 = ((orc_uint32) var4.i >> 16) & 0xffff;
+    /* 1: select1wb */
+    var0 = ((orc_uint16) var32 >> 8) & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_union32 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
-    /* 2: select1wb */
-    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select1lw */
+    var32 = ((orc_uint32) var4.i >> 16) & 0xffff;
+    /* 1: select1wb */
+    var0 = ((orc_uint16) var32 >> 8) & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -1794,10 +1689,8 @@ orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n)
       orc_program_add_source (p, 4, "s1");
       orc_program_add_temporary (p, 2, "t1");
 
-      orc_program_append_2 (p, "select1lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select1lw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select1wb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -1823,96 +1716,96 @@ 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;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
+  orc_union32 var0;
+  orc_union32 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  orc_int8 var32;
+  orc_int8 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
 
   ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union16 *) s1;
+  ptr4 = (orc_int16 *) s1;
   ptr5 = (orc_int8 *) s2;
   ptr6 = (orc_int8 *) s3;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var41.i = var37.i;
-    /* 2: select0wb */
-    var42 = (orc_uint16) var41.i & 0xff;
-    /* 3: select1wb */
-    var43 = ((orc_uint16) var41.i >> 8) & 0xff;
-    /* 4: loadb */
-    var38 = ptr5[i];
-    /* 5: mergebw */
-    var44.i = ((orc_uint8) var42) | ((orc_uint8) var38 << 8);
-    /* 6: loadb */
-    var39 = ptr6[i];
-    /* 7: mergebw */
-    var45.i = ((orc_uint8) var43) | ((orc_uint8) var39 << 8);
-    /* 8: mergewl */
-    var40.i = ((orc_uint16) var44.i) | ((orc_uint16) var45.i << 16);
-    /* 9: storel */
-    ptr0[i] = var40;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: copyw */
+    var36 = var4;
+    /* 1: select0wb */
+    var32 = (orc_uint16) var36 & 0xff;
+    /* 2: select1wb */
+    var33 = ((orc_uint16) var36 >> 8) & 0xff;
+    /* 3: mergebw */
+    var34 = ((orc_uint8) var32) | ((orc_uint8) var5 << 8);
+    /* 4: mergebw */
+    var35 = ((orc_uint8) var33) | ((orc_uint8) var6 << 8);
+    /* 5: mergewl */
+    var0.i = ((orc_uint16) var34) | ((orc_uint16) var35 << 16);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #else
 static void
-_backup_orc_pack_yuyv (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_pack_yuyv (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
+  orc_union32 var0;
+  orc_union32 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  orc_int8 var32;
+  orc_int8 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
 
   ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
+  ptr4 = (orc_int16 *) ex->arrays[4];
   ptr5 = (orc_int8 *) ex->arrays[5];
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var41.i = var37.i;
-    /* 2: select0wb */
-    var42 = (orc_uint16) var41.i & 0xff;
-    /* 3: select1wb */
-    var43 = ((orc_uint16) var41.i >> 8) & 0xff;
-    /* 4: loadb */
-    var38 = ptr5[i];
-    /* 5: mergebw */
-    var44.i = ((orc_uint8) var42) | ((orc_uint8) var38 << 8);
-    /* 6: loadb */
-    var39 = ptr6[i];
-    /* 7: mergebw */
-    var45.i = ((orc_uint8) var43) | ((orc_uint8) var39 << 8);
-    /* 8: mergewl */
-    var40.i = ((orc_uint16) var44.i) | ((orc_uint16) var45.i << 16);
-    /* 9: storel */
-    ptr0[i] = var40;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: copyw */
+    var36 = var4;
+    /* 1: select0wb */
+    var32 = (orc_uint16) var36 & 0xff;
+    /* 2: select1wb */
+    var33 = ((orc_uint16) var36 >> 8) & 0xff;
+    /* 3: mergebw */
+    var34 = ((orc_uint8) var32) | ((orc_uint8) var5 << 8);
+    /* 4: mergebw */
+    var35 = ((orc_uint8) var33) | ((orc_uint8) var6 << 8);
+    /* 5: mergewl */
+    var0.i = ((orc_uint16) var34) | ((orc_uint16) var35 << 16);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -1944,18 +1837,12 @@ orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2,
       orc_program_add_temporary (p, 2, "t4");
       orc_program_add_temporary (p, 2, "t5");
 
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_T5, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T1, ORC_VAR_T5,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T5,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
+      orc_program_append (p, "copyw", ORC_VAR_T5, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_D1);
+      orc_program_append (p, "select1wb", ORC_VAR_T2, ORC_VAR_T5, ORC_VAR_D1);
+      orc_program_append (p, "mergebw", ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_S2);
+      orc_program_append (p, "mergebw", ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_S3);
+      orc_program_append (p, "mergewl", ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4);
 
       result = orc_program_compile (p);
     }
@@ -1982,46 +1869,46 @@ void
 orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
 
   ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
+  ptr4 = (orc_int16 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select1wb */
-    var33 = ((orc_uint16) var32.i >> 8) & 0xff;
-    /* 2: storeb */
-    ptr0[i] = var33;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select1wb */
+    var0 = ((orc_uint16) var4 >> 8) & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
+  ptr4 = (orc_int16 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select1wb */
-    var33 = ((orc_uint16) var32.i >> 8) & 0xff;
-    /* 2: storeb */
-    ptr0[i] = var33;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select1wb */
+    var0 = ((orc_uint16) var4 >> 8) & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -2045,8 +1932,7 @@ orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n)
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 2, "s1");
 
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select1wb", ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -2071,52 +1957,52 @@ void
 orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_union32 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    var35.i = (orc_uint32) var33.i & 0xffff;
-    /* 2: select0wb */
-    var34 = (orc_uint16) var35.i & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0lw */
+    var32 = (orc_uint32) var4.i & 0xffff;
+    /* 1: select0wb */
+    var0 = (orc_uint16) var32 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_union32 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    var35.i = (orc_uint32) var33.i & 0xffff;
-    /* 2: select0wb */
-    var34 = (orc_uint16) var35.i & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0lw */
+    var32 = (orc_uint32) var4.i & 0xffff;
+    /* 1: select0wb */
+    var0 = (orc_uint16) var32 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -2141,10 +2027,8 @@ orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n)
       orc_program_add_source (p, 4, "s1");
       orc_program_add_temporary (p, 2, "t1");
 
-      orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select0lw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -2169,52 +2053,52 @@ void
 orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_union32 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
-    /* 2: select0wb */
-    var34 = (orc_uint16) var35.i & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select1lw */
+    var32 = ((orc_uint32) var4.i >> 16) & 0xffff;
+    /* 1: select0wb */
+    var0 = (orc_uint16) var32 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_union32 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
-    /* 2: select0wb */
-    var34 = (orc_uint16) var35.i & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select1lw */
+    var32 = ((orc_uint32) var4.i >> 16) & 0xffff;
+    /* 1: select0wb */
+    var0 = (orc_uint16) var32 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -2239,10 +2123,8 @@ orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n)
       orc_program_add_source (p, 4, "s1");
       orc_program_add_temporary (p, 2, "t1");
 
-      orc_program_append_2 (p, "select1lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select1lw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -2268,96 +2150,96 @@ 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;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
+  orc_union32 var0;
+  orc_union32 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  orc_int8 var32;
+  orc_int8 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
 
   ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union16 *) s1;
+  ptr4 = (orc_int16 *) s1;
   ptr5 = (orc_int8 *) s2;
   ptr6 = (orc_int8 *) s3;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var41.i = var37.i;
-    /* 2: select0wb */
-    var42 = (orc_uint16) var41.i & 0xff;
-    /* 3: select1wb */
-    var43 = ((orc_uint16) var41.i >> 8) & 0xff;
-    /* 4: loadb */
-    var38 = ptr5[i];
-    /* 5: mergebw */
-    var44.i = ((orc_uint8) var38) | ((orc_uint8) var42 << 8);
-    /* 6: loadb */
-    var39 = ptr6[i];
-    /* 7: mergebw */
-    var45.i = ((orc_uint8) var39) | ((orc_uint8) var43 << 8);
-    /* 8: mergewl */
-    var40.i = ((orc_uint16) var44.i) | ((orc_uint16) var45.i << 16);
-    /* 9: storel */
-    ptr0[i] = var40;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: copyw */
+    var36 = var4;
+    /* 1: select0wb */
+    var32 = (orc_uint16) var36 & 0xff;
+    /* 2: select1wb */
+    var33 = ((orc_uint16) var36 >> 8) & 0xff;
+    /* 3: mergebw */
+    var34 = ((orc_uint8) var5) | ((orc_uint8) var32 << 8);
+    /* 4: mergebw */
+    var35 = ((orc_uint8) var6) | ((orc_uint8) var33 << 8);
+    /* 5: mergewl */
+    var0.i = ((orc_uint16) var34) | ((orc_uint16) var35 << 16);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #else
 static void
-_backup_orc_pack_uyvy (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_pack_uyvy (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
+  orc_union32 var0;
+  orc_union32 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  orc_int8 var32;
+  orc_int8 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
 
   ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
+  ptr4 = (orc_int16 *) ex->arrays[4];
   ptr5 = (orc_int8 *) ex->arrays[5];
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var41.i = var37.i;
-    /* 2: select0wb */
-    var42 = (orc_uint16) var41.i & 0xff;
-    /* 3: select1wb */
-    var43 = ((orc_uint16) var41.i >> 8) & 0xff;
-    /* 4: loadb */
-    var38 = ptr5[i];
-    /* 5: mergebw */
-    var44.i = ((orc_uint8) var38) | ((orc_uint8) var42 << 8);
-    /* 6: loadb */
-    var39 = ptr6[i];
-    /* 7: mergebw */
-    var45.i = ((orc_uint8) var39) | ((orc_uint8) var43 << 8);
-    /* 8: mergewl */
-    var40.i = ((orc_uint16) var44.i) | ((orc_uint16) var45.i << 16);
-    /* 9: storel */
-    ptr0[i] = var40;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: copyw */
+    var36 = var4;
+    /* 1: select0wb */
+    var32 = (orc_uint16) var36 & 0xff;
+    /* 2: select1wb */
+    var33 = ((orc_uint16) var36 >> 8) & 0xff;
+    /* 3: mergebw */
+    var34 = ((orc_uint8) var5) | ((orc_uint8) var32 << 8);
+    /* 4: mergebw */
+    var35 = ((orc_uint8) var6) | ((orc_uint8) var33 << 8);
+    /* 5: mergewl */
+    var0.i = ((orc_uint16) var34) | ((orc_uint16) var35 << 16);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -2389,18 +2271,12 @@ orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2,
       orc_program_add_temporary (p, 2, "t4");
       orc_program_add_temporary (p, 2, "t5");
 
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_T5, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T1, ORC_VAR_T5,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T5,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T3, ORC_VAR_S2, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_S3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
+      orc_program_append (p, "copyw", ORC_VAR_T5, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_D1);
+      orc_program_append (p, "select1wb", ORC_VAR_T2, ORC_VAR_T5, ORC_VAR_D1);
+      orc_program_append (p, "mergebw", ORC_VAR_T3, ORC_VAR_S2, ORC_VAR_T1);
+      orc_program_append (p, "mergebw", ORC_VAR_T4, ORC_VAR_S3, ORC_VAR_T2);
+      orc_program_append (p, "mergewl", ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4);
 
       result = orc_program_compile (p);
     }
@@ -2427,58 +2303,54 @@ void
 orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var33;
-  orc_union16 var34;
-  orc_int8 var35;
-  orc_union16 var36;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
+  const orc_int16 var16 = 128;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
+  ptr4 = (orc_int16 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var33 = ptr4[i];
-    /* 1: loadpw */
-    var34.i = 128;
-    /* 2: addw */
-    var36.i = var33.i + var34.i;
-    /* 3: convsuswb */
-    var35 = ORC_CLAMP_UB (var36.i);
-    /* 4: storeb */
-    ptr0[i] = var35;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: addw */
+    var32 = var4 + var16;
+    /* 1: convsuswb */
+    var0 = ORC_CLAMP_UB (var32);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var33;
-  orc_union16 var34;
-  orc_int8 var35;
-  orc_union16 var36;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int16 var4;
+  const orc_int16 *ptr4;
+  const orc_int16 var16 = 128;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
+  ptr4 = (orc_int16 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var33 = ptr4[i];
-    /* 1: loadpw */
-    var34.i = 128;
-    /* 2: addw */
-    var36.i = var33.i + var34.i;
-    /* 3: convsuswb */
-    var35 = ORC_CLAMP_UB (var36.i);
-    /* 4: storeb */
-    ptr0[i] = var35;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: addw */
+    var32 = var4 + var16;
+    /* 1: convsuswb */
+    var0 = ORC_CLAMP_UB (var32);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -2501,13 +2373,11 @@ orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n)
       orc_program_set_backup_function (p, _backup_orc_addc_convert_u8_s16);
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 2, "s1");
-      orc_program_add_constant (p, 2, 0x00000080, "c1");
+      orc_program_add_constant (p, 2, 128, "c1");
       orc_program_add_temporary (p, 2, "t1");
 
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -2532,58 +2402,54 @@ void
 orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n)
 {
   int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_union16 var34;
-  orc_union16 var35;
-  orc_union16 var36;
-
-  ptr0 = (orc_union16 *) d1;
+  orc_int16 var0;
+  orc_int16 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  const orc_int16 var16 = 128;
+  orc_int16 var32;
+
+  ptr0 = (orc_int16 *) d1;
   ptr4 = (orc_int8 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var33 = ptr4[i];
-    /* 1: convubw */
-    var36.i = (orc_uint8) var33;
-    /* 2: loadpw */
-    var34.i = 128;
-    /* 3: subw */
-    var35.i = var36.i - var34.i;
-    /* 4: storew */
-    ptr0[i] = var35;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: subw */
+    var0 = var32 - var16;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_union16 var34;
-  orc_union16 var35;
-  orc_union16 var36;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
+  orc_int16 var0;
+  orc_int16 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  const orc_int16 var16 = 128;
+  orc_int16 var32;
+
+  ptr0 = (orc_int16 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var33 = ptr4[i];
-    /* 1: convubw */
-    var36.i = (orc_uint8) var33;
-    /* 2: loadpw */
-    var34.i = 128;
-    /* 3: subw */
-    var35.i = var36.i - var34.i;
-    /* 4: storew */
-    ptr0[i] = var35;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: subw */
+    var0 = var32 - var16;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -2606,13 +2472,11 @@ orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n)
       orc_program_set_backup_function (p, _backup_orc_subc_convert_s16_u8);
       orc_program_add_destination (p, 2, "d1");
       orc_program_add_source (p, 1, "s1");
-      orc_program_add_constant (p, 2, 0x00000080, "c1");
+      orc_program_add_constant (p, 2, 128, "c1");
       orc_program_add_temporary (p, 2, "t1");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "subw", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1);
 
       result = orc_program_compile (p);
     }
@@ -2637,42 +2501,38 @@ void
 orc_splat_u8_ns (orc_uint8 * d1, int p1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  orc_int8 var32;
-  orc_int8 var33;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  const int var24 = p1;
 
   ptr0 = (orc_int8 *) d1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadpb */
-    var32 = p1;
-    /* 1: copyb */
-    var33 = var32;
-    /* 2: storeb */
-    ptr0[i] = var33;
+    /* 0: copyb */
+    var0 = var24;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  orc_int8 var32;
-  orc_int8 var33;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  const int var24 = ex->params[24];
 
   ptr0 = (orc_int8 *) ex->arrays[0];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadpb */
-    var32 = ex->params[24];
-    /* 1: copyb */
-    var33 = var32;
-    /* 2: storeb */
-    ptr0[i] = var33;
+    /* 0: copyb */
+    var0 = var24;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -2696,8 +2556,7 @@ orc_splat_u8_ns (orc_uint8 * d1, int p1, int n)
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_parameter (p, 1, "p1");
 
-      orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1,
-          ORC_VAR_D1);
+      orc_program_append (p, "copyb", ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -2722,42 +2581,38 @@ void
 orc_splat_s16_ns (gint16 * d1, int p1, int n)
 {
   int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 var32;
-  orc_union16 var33;
+  orc_int16 var0;
+  orc_int16 *ptr0;
+  const int var24 = p1;
 
-  ptr0 = (orc_union16 *) d1;
+  ptr0 = (orc_int16 *) d1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadpw */
-    var32.i = p1;
-    /* 1: copyw */
-    var33.i = var32.i;
-    /* 2: storew */
-    ptr0[i] = var33;
+    /* 0: copyw */
+    var0 = var24;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 var32;
-  orc_union16 var33;
+  orc_int16 var0;
+  orc_int16 *ptr0;
+  const int var24 = ex->params[24];
 
-  ptr0 = (orc_union16 *) ex->arrays[0];
+  ptr0 = (orc_int16 *) ex->arrays[0];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadpw */
-    var32.i = ex->params[24];
-    /* 1: copyw */
-    var33.i = var32.i;
-    /* 2: storew */
-    ptr0[i] = var33;
+    /* 0: copyw */
+    var0 = var24;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -2781,8 +2636,7 @@ orc_splat_s16_ns (gint16 * d1, int p1, int n)
       orc_program_add_destination (p, 2, "d1");
       orc_program_add_parameter (p, 2, "p1");
 
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1,
-          ORC_VAR_D1);
+      orc_program_append (p, "copyw", ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -2808,116 +2662,106 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  const orc_int16 var16 = 6;
+  const int var24 = p1;
+  const int var25 = p2;
+  const int var26 = p3;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
   ptr5 = (orc_int8 *) s2;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var40.i = (orc_uint8) var34;
-    /* 2: loadpw */
-    var35.i = p1;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: mullw */
+    var34 = (var32 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var41.i = (var40.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var42.i = (orc_uint8) var36;
-    /* 6: loadpw */
-    var37.i = p2;
-    /* 7: mullw */
-    var43.i = (var42.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var44.i = var41.i + var43.i;
-    /* 9: loadpw */
-    var38.i = p3;
-    /* 10: addw */
-    var45.i = var44.i + var38.i;
-    /* 11: shrsw */
-    var46.i = var45.i >> 6;
-    /* 12: convsuswb */
-    var39 = ORC_CLAMP_UB (var46.i);
-    /* 13: storeb */
-    ptr0[i] = var39;
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var34 + var35;
+    /* 5: addw */
+    var37 = var36 + var26;
+    /* 6: shrsw */
+    var38 = var37 >> var16;
+    /* 7: convsuswb */
+    var0 = ORC_CLAMP_UB (var38);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #else
 static void
-_backup_orc_matrix2_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_matrix2_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  const orc_int16 var16 = 6;
+  const int var24 = ex->params[24];
+  const int var25 = ex->params[25];
+  const int var26 = ex->params[26];
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
   ptr5 = (orc_int8 *) ex->arrays[5];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var40.i = (orc_uint8) var34;
-    /* 2: loadpw */
-    var35.i = ex->params[24];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: mullw */
+    var34 = (var32 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var41.i = (var40.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var42.i = (orc_uint8) var36;
-    /* 6: loadpw */
-    var37.i = ex->params[25];
-    /* 7: mullw */
-    var43.i = (var42.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var44.i = var41.i + var43.i;
-    /* 9: loadpw */
-    var38.i = ex->params[26];
-    /* 10: addw */
-    var45.i = var44.i + var38.i;
-    /* 11: shrsw */
-    var46.i = var45.i >> 6;
-    /* 12: convsuswb */
-    var39 = ORC_CLAMP_UB (var46.i);
-    /* 13: storeb */
-    ptr0[i] = var39;
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var34 + var35;
+    /* 5: addw */
+    var37 = var36 + var26;
+    /* 6: shrsw */
+    var38 = var37 >> var16;
+    /* 7: convsuswb */
+    var0 = ORC_CLAMP_UB (var38);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -2942,29 +2786,21 @@ orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 1, "s1");
       orc_program_add_source (p, 1, "s2");
-      orc_program_add_constant (p, 2, 0x00000006, "c1");
+      orc_program_add_constant (p, 2, 6, "c1");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_parameter (p, 2, "p2");
       orc_program_add_parameter (p, 2, "p3");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P3);
+      orc_program_append (p, "shrsw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -2994,152 +2830,134 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  const orc_int16 var16 = 16;
+  const orc_int16 var17 = 128;
+  const orc_int16 var18 = 128;
+  const orc_int16 var19 = 8;
+  const int var24 = p1;
+  const int var25 = p2;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
   ptr5 = (orc_int8 *) s2;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 2: loadpw */
-    var37.i = 16;
-    /* 3: subw */
-    var45.i = var44.i - var37.i;
-    /* 4: loadpw */
-    var38.i = p1;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: subw */
+    var36 = var32 - var16;
+    /* 2: mullw */
+    var34 = (var36 * var24) & 0xffff;
+    /* 3: convubw */
+    var33 = (orc_uint8) var5;
+    /* 4: subw */
+    var37 = var33 - var17;
     /* 5: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
-    /* 6: loadb */
-    var39 = ptr5[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
-    /* 8: loadpw */
-    var40.i = 128;
-    /* 9: subw */
-    var48.i = var47.i - var40.i;
-    /* 10: loadpw */
-    var41.i = p2;
-    /* 11: mullw */
-    var49.i = (var48.i * var41.i) & 0xffff;
-    /* 12: addw */
-    var50.i = var46.i + var49.i;
-    /* 13: loadpw */
-    var42.i = 128;
-    /* 14: addw */
-    var51.i = var50.i + var42.i;
-    /* 15: shrsw */
-    var52.i = var51.i >> 8;
-    /* 16: addw */
-    var53.i = var52.i + var45.i;
-    /* 17: addw */
-    var54.i = var53.i + var48.i;
-    /* 18: convsuswb */
-    var43 = ORC_CLAMP_UB (var54.i);
-    /* 19: storeb */
-    ptr0[i] = var43;
+    var35 = (var37 * var25) & 0xffff;
+    /* 6: addw */
+    var38 = var34 + var35;
+    /* 7: addw */
+    var39 = var38 + var18;
+    /* 8: shrsw */
+    var40 = var39 >> var19;
+    /* 9: addw */
+    var41 = var40 + var36;
+    /* 10: addw */
+    var42 = var41 + var37;
+    /* 11: convsuswb */
+    var0 = ORC_CLAMP_UB (var42);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  const orc_int16 var16 = 16;
+  const orc_int16 var17 = 128;
+  const orc_int16 var18 = 128;
+  const orc_int16 var19 = 8;
+  const int var24 = ex->params[24];
+  const int var25 = ex->params[25];
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
   ptr5 = (orc_int8 *) ex->arrays[5];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 2: loadpw */
-    var37.i = 16;
-    /* 3: subw */
-    var45.i = var44.i - var37.i;
-    /* 4: loadpw */
-    var38.i = ex->params[24];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: subw */
+    var36 = var32 - var16;
+    /* 2: mullw */
+    var34 = (var36 * var24) & 0xffff;
+    /* 3: convubw */
+    var33 = (orc_uint8) var5;
+    /* 4: subw */
+    var37 = var33 - var17;
     /* 5: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
-    /* 6: loadb */
-    var39 = ptr5[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
-    /* 8: loadpw */
-    var40.i = 128;
-    /* 9: subw */
-    var48.i = var47.i - var40.i;
-    /* 10: loadpw */
-    var41.i = ex->params[25];
-    /* 11: mullw */
-    var49.i = (var48.i * var41.i) & 0xffff;
-    /* 12: addw */
-    var50.i = var46.i + var49.i;
-    /* 13: loadpw */
-    var42.i = 128;
-    /* 14: addw */
-    var51.i = var50.i + var42.i;
-    /* 15: shrsw */
-    var52.i = var51.i >> 8;
-    /* 16: addw */
-    var53.i = var52.i + var45.i;
-    /* 17: addw */
-    var54.i = var53.i + var48.i;
-    /* 18: convsuswb */
-    var43 = ORC_CLAMP_UB (var54.i);
-    /* 19: storeb */
-    ptr0[i] = var43;
+    var35 = (var37 * var25) & 0xffff;
+    /* 6: addw */
+    var38 = var34 + var35;
+    /* 7: addw */
+    var39 = var38 + var18;
+    /* 8: shrsw */
+    var40 = var39 >> var19;
+    /* 9: addw */
+    var41 = var40 + var36;
+    /* 10: addw */
+    var42 = var41 + var37;
+    /* 11: convsuswb */
+    var0 = ORC_CLAMP_UB (var42);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -3164,10 +2982,10 @@ orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 1, "s1");
       orc_program_add_source (p, 1, "s2");
-      orc_program_add_constant (p, 2, 0x00000010, "c1");
-      orc_program_add_constant (p, 2, 0x00000080, "c2");
-      orc_program_add_constant (p, 2, 0x00000080, "c3");
-      orc_program_add_constant (p, 2, 0x00000008, "c4");
+      orc_program_add_constant (p, 2, 16, "c1");
+      orc_program_add_constant (p, 2, 128, "c2");
+      orc_program_add_constant (p, 2, 128, "c3");
+      orc_program_add_constant (p, 2, 8, "c4");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_parameter (p, 2, "p2");
       orc_program_add_temporary (p, 2, "t1");
@@ -3175,30 +2993,18 @@ orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
       orc_program_add_temporary (p, 2, "t3");
       orc_program_add_temporary (p, 2, "t4");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "subw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1);
+      orc_program_append (p, "mullw", ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "subw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2);
+      orc_program_append (p, "mullw", ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_P2);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3);
+      orc_program_append (p, "shrsw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C4);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -3227,158 +3033,140 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union16 var55;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  const orc_int16 var16 = 16;
+  const orc_int16 var17 = 128;
+  const orc_int16 var18 = 128;
+  const orc_int16 var19 = 8;
+  const int var24 = p1;
+  const int var25 = p2;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
+  orc_int16 var43;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
   ptr5 = (orc_int8 *) s2;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 2: loadpw */
-    var37.i = 16;
-    /* 3: subw */
-    var45.i = var44.i - var37.i;
-    /* 4: loadpw */
-    var38.i = p1;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: subw */
+    var36 = var32 - var16;
+    /* 2: mullw */
+    var34 = (var36 * var24) & 0xffff;
+    /* 3: convubw */
+    var33 = (orc_uint8) var5;
+    /* 4: subw */
+    var37 = var33 - var17;
     /* 5: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
-    /* 6: loadb */
-    var39 = ptr5[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
-    /* 8: loadpw */
-    var40.i = 128;
-    /* 9: subw */
-    var48.i = var47.i - var40.i;
-    /* 10: loadpw */
-    var41.i = p2;
-    /* 11: mullw */
-    var49.i = (var48.i * var41.i) & 0xffff;
-    /* 12: addw */
-    var50.i = var46.i + var49.i;
-    /* 13: loadpw */
-    var42.i = 128;
-    /* 14: addw */
-    var51.i = var50.i + var42.i;
-    /* 15: shrsw */
-    var52.i = var51.i >> 8;
-    /* 16: addw */
-    var53.i = var52.i + var45.i;
-    /* 17: addw */
-    var54.i = var53.i + var48.i;
-    /* 18: addw */
-    var55.i = var54.i + var48.i;
-    /* 19: convsuswb */
-    var43 = ORC_CLAMP_UB (var55.i);
-    /* 20: storeb */
-    ptr0[i] = var43;
+    var35 = (var37 * var25) & 0xffff;
+    /* 6: addw */
+    var38 = var34 + var35;
+    /* 7: addw */
+    var39 = var38 + var18;
+    /* 8: shrsw */
+    var40 = var39 >> var19;
+    /* 9: addw */
+    var41 = var40 + var36;
+    /* 10: addw */
+    var42 = var41 + var37;
+    /* 11: addw */
+    var43 = var42 + var37;
+    /* 12: convsuswb */
+    var0 = ORC_CLAMP_UB (var43);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union16 var55;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  const orc_int16 var16 = 16;
+  const orc_int16 var17 = 128;
+  const orc_int16 var18 = 128;
+  const orc_int16 var19 = 8;
+  const int var24 = ex->params[24];
+  const int var25 = ex->params[25];
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
+  orc_int16 var43;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
   ptr5 = (orc_int8 *) ex->arrays[5];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 2: loadpw */
-    var37.i = 16;
-    /* 3: subw */
-    var45.i = var44.i - var37.i;
-    /* 4: loadpw */
-    var38.i = ex->params[24];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: subw */
+    var36 = var32 - var16;
+    /* 2: mullw */
+    var34 = (var36 * var24) & 0xffff;
+    /* 3: convubw */
+    var33 = (orc_uint8) var5;
+    /* 4: subw */
+    var37 = var33 - var17;
     /* 5: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
-    /* 6: loadb */
-    var39 = ptr5[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
-    /* 8: loadpw */
-    var40.i = 128;
-    /* 9: subw */
-    var48.i = var47.i - var40.i;
-    /* 10: loadpw */
-    var41.i = ex->params[25];
-    /* 11: mullw */
-    var49.i = (var48.i * var41.i) & 0xffff;
-    /* 12: addw */
-    var50.i = var46.i + var49.i;
-    /* 13: loadpw */
-    var42.i = 128;
-    /* 14: addw */
-    var51.i = var50.i + var42.i;
-    /* 15: shrsw */
-    var52.i = var51.i >> 8;
-    /* 16: addw */
-    var53.i = var52.i + var45.i;
-    /* 17: addw */
-    var54.i = var53.i + var48.i;
-    /* 18: addw */
-    var55.i = var54.i + var48.i;
-    /* 19: convsuswb */
-    var43 = ORC_CLAMP_UB (var55.i);
-    /* 20: storeb */
-    ptr0[i] = var43;
+    var35 = (var37 * var25) & 0xffff;
+    /* 6: addw */
+    var38 = var34 + var35;
+    /* 7: addw */
+    var39 = var38 + var18;
+    /* 8: shrsw */
+    var40 = var39 >> var19;
+    /* 9: addw */
+    var41 = var40 + var36;
+    /* 10: addw */
+    var42 = var41 + var37;
+    /* 11: addw */
+    var43 = var42 + var37;
+    /* 12: convsuswb */
+    var0 = ORC_CLAMP_UB (var43);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -3403,10 +3191,10 @@ orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 1, "s1");
       orc_program_add_source (p, 1, "s2");
-      orc_program_add_constant (p, 2, 0x00000010, "c1");
-      orc_program_add_constant (p, 2, 0x00000080, "c2");
-      orc_program_add_constant (p, 2, 0x00000080, "c3");
-      orc_program_add_constant (p, 2, 0x00000008, "c4");
+      orc_program_add_constant (p, 2, 16, "c1");
+      orc_program_add_constant (p, 2, 128, "c2");
+      orc_program_add_constant (p, 2, 128, "c3");
+      orc_program_add_constant (p, 2, 8, "c4");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_parameter (p, 2, "p2");
       orc_program_add_temporary (p, 2, "t1");
@@ -3414,32 +3202,19 @@ orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1,
       orc_program_add_temporary (p, 2, "t3");
       orc_program_add_temporary (p, 2, "t4");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "subw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1);
+      orc_program_append (p, "mullw", ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "subw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2);
+      orc_program_append (p, "mullw", ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_P2);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3);
+      orc_program_append (p, "shrsw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C4);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -3468,28 +3243,29 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const orc_int16 var16 = 6;
+  const int var24 = p1;
+  const int var25 = p2;
+  const int var26 = p3;
+  const int var27 = p4;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -3497,76 +3273,69 @@ orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
   ptr6 = (orc_int8 *) s3;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var42.i = (orc_uint8) var34;
-    /* 2: loadpw */
-    var35.i = p1;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: mullw */
+    var34 = (var32 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var43.i = (var42.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var34 + var35;
     /* 5: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 6: loadpw */
-    var37.i = p2;
-    /* 7: mullw */
-    var45.i = (var44.i * var37.i) & 0xffff;
+    var37 = (orc_uint8) var6;
+    /* 6: mullw */
+    var38 = (var37 * var26) & 0xffff;
+    /* 7: addw */
+    var39 = var36 + var38;
     /* 8: addw */
-    var46.i = var43.i + var45.i;
-    /* 9: loadb */
-    var38 = ptr6[i];
-    /* 10: convubw */
-    var47.i = (orc_uint8) var38;
-    /* 11: loadpw */
-    var39.i = p3;
-    /* 12: mullw */
-    var48.i = (var47.i * var39.i) & 0xffff;
-    /* 13: addw */
-    var49.i = var46.i + var48.i;
-    /* 14: loadpw */
-    var40.i = p4;
-    /* 15: addw */
-    var50.i = var49.i + var40.i;
-    /* 16: shrsw */
-    var51.i = var50.i >> 6;
-    /* 17: convsuswb */
-    var41 = ORC_CLAMP_UB (var51.i);
-    /* 18: storeb */
-    ptr0[i] = var41;
+    var40 = var39 + var27;
+    /* 9: shrsw */
+    var41 = var40 >> var16;
+    /* 10: convsuswb */
+    var0 = ORC_CLAMP_UB (var41);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #else
 static void
-_backup_orc_matrix3_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_matrix3_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const orc_int16 var16 = 6;
+  const int var24 = ex->params[24];
+  const int var25 = ex->params[25];
+  const int var26 = ex->params[26];
+  const int var27 = ex->params[27];
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -3574,44 +3343,36 @@ _backup_orc_matrix3_u8 (OrcExecutor * ORC_RESTRICT ex)
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var42.i = (orc_uint8) var34;
-    /* 2: loadpw */
-    var35.i = ex->params[24];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: mullw */
+    var34 = (var32 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var43.i = (var42.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var34 + var35;
     /* 5: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 6: loadpw */
-    var37.i = ex->params[25];
-    /* 7: mullw */
-    var45.i = (var44.i * var37.i) & 0xffff;
+    var37 = (orc_uint8) var6;
+    /* 6: mullw */
+    var38 = (var37 * var26) & 0xffff;
+    /* 7: addw */
+    var39 = var36 + var38;
     /* 8: addw */
-    var46.i = var43.i + var45.i;
-    /* 9: loadb */
-    var38 = ptr6[i];
-    /* 10: convubw */
-    var47.i = (orc_uint8) var38;
-    /* 11: loadpw */
-    var39.i = ex->params[26];
-    /* 12: mullw */
-    var48.i = (var47.i * var39.i) & 0xffff;
-    /* 13: addw */
-    var49.i = var46.i + var48.i;
-    /* 14: loadpw */
-    var40.i = ex->params[27];
-    /* 15: addw */
-    var50.i = var49.i + var40.i;
-    /* 16: shrsw */
-    var51.i = var50.i >> 6;
-    /* 17: convsuswb */
-    var41 = ORC_CLAMP_UB (var51.i);
-    /* 18: storeb */
-    ptr0[i] = var41;
+    var40 = var39 + var27;
+    /* 9: shrsw */
+    var41 = var40 >> var16;
+    /* 10: convsuswb */
+    var0 = ORC_CLAMP_UB (var41);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -3637,7 +3398,7 @@ orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
       orc_program_add_source (p, 1, "s1");
       orc_program_add_source (p, 1, "s2");
       orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 2, 0x00000006, "c1");
+      orc_program_add_constant (p, 2, 6, "c1");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_parameter (p, 2, "p2");
       orc_program_add_parameter (p, 2, "p3");
@@ -3645,28 +3406,17 @@ orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4);
+      orc_program_append (p, "shrsw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -3698,35 +3448,36 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_int8 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union16 var55;
-  orc_union16 var56;
-  orc_union16 var57;
-  orc_union16 var58;
-  orc_union16 var59;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const orc_int16 var16 = 16;
+  const orc_int16 var17 = 128;
+  const orc_int16 var18 = 128;
+  const orc_int16 var19 = 128;
+  const orc_int16 var20 = 8;
+  const int var24 = p1;
+  const int var25 = p2;
+  const int var26 = p3;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
+  orc_int16 var43;
+  orc_int16 var44;
+  orc_int16 var45;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -3734,97 +3485,84 @@ orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
   ptr6 = (orc_int8 *) s3;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
-    /* 1: convubw */
-    var46.i = (orc_uint8) var35;
-    /* 2: loadpw */
-    var36.i = 16;
-    /* 3: subw */
-    var47.i = var46.i - var36.i;
-    /* 4: loadpw */
-    var37.i = p1;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: subw */
+    var35 = var32 - var16;
+    /* 2: mullw */
+    var34 = (var35 * var24) & 0xffff;
+    /* 3: convubw */
+    var33 = (orc_uint8) var5;
+    /* 4: subw */
+    var36 = var33 - var17;
     /* 5: mullw */
-    var48.i = (var47.i * var37.i) & 0xffff;
-    /* 6: loadb */
-    var38 = ptr5[i];
+    var37 = (var36 * var25) & 0xffff;
+    /* 6: addw */
+    var38 = var34 + var37;
     /* 7: convubw */
-    var49.i = (orc_uint8) var38;
-    /* 8: loadpw */
-    var39.i = 128;
-    /* 9: subw */
-    var50.i = var49.i - var39.i;
-    /* 10: loadpw */
-    var40.i = p2;
-    /* 11: mullw */
-    var51.i = (var50.i * var40.i) & 0xffff;
-    /* 12: addw */
-    var52.i = var48.i + var51.i;
-    /* 13: loadb */
-    var41 = ptr6[i];
-    /* 14: convubw */
-    var53.i = (orc_uint8) var41;
-    /* 15: loadpw */
-    var42.i = 128;
-    /* 16: subw */
-    var54.i = var53.i - var42.i;
-    /* 17: loadpw */
-    var43.i = p3;
-    /* 18: mullw */
-    var55.i = (var54.i * var43.i) & 0xffff;
-    /* 19: addw */
-    var56.i = var52.i + var55.i;
-    /* 20: loadpw */
-    var44.i = 128;
-    /* 21: addw */
-    var57.i = var56.i + var44.i;
-    /* 22: shrsw */
-    var58.i = var57.i >> 8;
-    /* 23: addw */
-    var59.i = var58.i + var47.i;
-    /* 24: convsuswb */
-    var45 = ORC_CLAMP_UB (var59.i);
-    /* 25: storeb */
-    ptr0[i] = var45;
+    var39 = (orc_uint8) var6;
+    /* 8: subw */
+    var40 = var39 - var18;
+    /* 9: mullw */
+    var41 = (var40 * var26) & 0xffff;
+    /* 10: addw */
+    var42 = var38 + var41;
+    /* 11: addw */
+    var43 = var42 + var19;
+    /* 12: shrsw */
+    var44 = var43 >> var20;
+    /* 13: addw */
+    var45 = var44 + var35;
+    /* 14: convsuswb */
+    var0 = ORC_CLAMP_UB (var45);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_int8 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union16 var55;
-  orc_union16 var56;
-  orc_union16 var57;
-  orc_union16 var58;
-  orc_union16 var59;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const orc_int16 var16 = 16;
+  const orc_int16 var17 = 128;
+  const orc_int16 var18 = 128;
+  const orc_int16 var19 = 128;
+  const orc_int16 var20 = 8;
+  const int var24 = ex->params[24];
+  const int var25 = ex->params[25];
+  const int var26 = ex->params[26];
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
+  orc_int16 var43;
+  orc_int16 var44;
+  orc_int16 var45;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -3832,58 +3570,44 @@ _backup_orc_matrix3_100_u8 (OrcExecutor * ORC_RESTRICT ex)
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
-    /* 1: convubw */
-    var46.i = (orc_uint8) var35;
-    /* 2: loadpw */
-    var36.i = 16;
-    /* 3: subw */
-    var47.i = var46.i - var36.i;
-    /* 4: loadpw */
-    var37.i = ex->params[24];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: subw */
+    var35 = var32 - var16;
+    /* 2: mullw */
+    var34 = (var35 * var24) & 0xffff;
+    /* 3: convubw */
+    var33 = (orc_uint8) var5;
+    /* 4: subw */
+    var36 = var33 - var17;
     /* 5: mullw */
-    var48.i = (var47.i * var37.i) & 0xffff;
-    /* 6: loadb */
-    var38 = ptr5[i];
+    var37 = (var36 * var25) & 0xffff;
+    /* 6: addw */
+    var38 = var34 + var37;
     /* 7: convubw */
-    var49.i = (orc_uint8) var38;
-    /* 8: loadpw */
-    var39.i = 128;
-    /* 9: subw */
-    var50.i = var49.i - var39.i;
-    /* 10: loadpw */
-    var40.i = ex->params[25];
-    /* 11: mullw */
-    var51.i = (var50.i * var40.i) & 0xffff;
-    /* 12: addw */
-    var52.i = var48.i + var51.i;
-    /* 13: loadb */
-    var41 = ptr6[i];
-    /* 14: convubw */
-    var53.i = (orc_uint8) var41;
-    /* 15: loadpw */
-    var42.i = 128;
-    /* 16: subw */
-    var54.i = var53.i - var42.i;
-    /* 17: loadpw */
-    var43.i = ex->params[26];
-    /* 18: mullw */
-    var55.i = (var54.i * var43.i) & 0xffff;
-    /* 19: addw */
-    var56.i = var52.i + var55.i;
-    /* 20: loadpw */
-    var44.i = 128;
-    /* 21: addw */
-    var57.i = var56.i + var44.i;
-    /* 22: shrsw */
-    var58.i = var57.i >> 8;
-    /* 23: addw */
-    var59.i = var58.i + var47.i;
-    /* 24: convsuswb */
-    var45 = ORC_CLAMP_UB (var59.i);
-    /* 25: storeb */
-    ptr0[i] = var45;
+    var39 = (orc_uint8) var6;
+    /* 8: subw */
+    var40 = var39 - var18;
+    /* 9: mullw */
+    var41 = (var40 * var26) & 0xffff;
+    /* 10: addw */
+    var42 = var38 + var41;
+    /* 11: addw */
+    var43 = var42 + var19;
+    /* 12: shrsw */
+    var44 = var43 >> var20;
+    /* 13: addw */
+    var45 = var44 + var35;
+    /* 14: convsuswb */
+    var0 = ORC_CLAMP_UB (var45);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -3909,11 +3633,11 @@ orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
       orc_program_add_source (p, 1, "s1");
       orc_program_add_source (p, 1, "s2");
       orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 2, 0x00000010, "c1");
-      orc_program_add_constant (p, 2, 0x00000080, "c2");
-      orc_program_add_constant (p, 2, 0x00000080, "c3");
-      orc_program_add_constant (p, 2, 0x00000080, "c4");
-      orc_program_add_constant (p, 2, 0x00000008, "c5");
+      orc_program_add_constant (p, 2, 16, "c1");
+      orc_program_add_constant (p, 2, 128, "c2");
+      orc_program_add_constant (p, 2, 128, "c3");
+      orc_program_add_constant (p, 2, 128, "c4");
+      orc_program_add_constant (p, 2, 8, "c5");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_parameter (p, 2, "p2");
       orc_program_add_parameter (p, 2, "p3");
@@ -3921,36 +3645,21 @@ orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
       orc_program_add_temporary (p, 2, "t2");
       orc_program_add_temporary (p, 2, "t3");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "subw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1);
+      orc_program_append (p, "mullw", ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "subw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1);
+      orc_program_append (p, "subw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C3);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C4);
+      orc_program_append (p, "shrsw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C5);
+      orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -3981,29 +3690,30 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const int var24 = p1;
+  const int var25 = p2;
+  const int var26 = p3;
+  const int var27 = p4;
+  const int var28 = p5;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -4011,79 +3721,72 @@ orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
   ptr6 = (orc_int8 *) s3;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
-    /* 1: convubw */
-    var43.i = (orc_uint8) var35;
-    /* 2: loadpw */
-    var36.i = p1;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: convubw */
+    var34 = (orc_uint8) var4;
+    /* 1: mullw */
+    var32 = (var34 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var44.i = (var43.i * var36.i) & 0xffff;
-    /* 4: loadb */
-    var37 = ptr5[i];
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var32 + var35;
     /* 5: convubw */
-    var45.i = (orc_uint8) var37;
-    /* 6: loadpw */
-    var38.i = p2;
-    /* 7: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
+    var37 = (orc_uint8) var6;
+    /* 6: mullw */
+    var38 = (var37 * var26) & 0xffff;
+    /* 7: addw */
+    var39 = var36 + var38;
     /* 8: addw */
-    var47.i = var44.i + var46.i;
-    /* 9: loadb */
-    var39 = ptr6[i];
-    /* 10: convubw */
-    var48.i = (orc_uint8) var39;
-    /* 11: loadpw */
-    var40.i = p3;
-    /* 12: mullw */
-    var49.i = (var48.i * var40.i) & 0xffff;
-    /* 13: addw */
-    var50.i = var47.i + var49.i;
-    /* 14: loadpw */
-    var41.i = p4;
-    /* 15: addw */
-    var51.i = var50.i + var41.i;
-    /* 16: shrsw */
-    var52.i = var51.i >> p5;
-    /* 17: addw */
-    var53.i = var52.i + var43.i;
-    /* 18: convsuswb */
-    var42 = ORC_CLAMP_UB (var53.i);
-    /* 19: storeb */
-    ptr0[i] = var42;
+    var40 = var39 + var27;
+    /* 9: shrsw */
+    var41 = var40 >> var28;
+    /* 10: addw */
+    var42 = var41 + var34;
+    /* 11: convsuswb */
+    var0 = ORC_CLAMP_UB (var42);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const int var24 = ex->params[24];
+  const int var25 = ex->params[25];
+  const int var26 = ex->params[26];
+  const int var27 = ex->params[27];
+  const int var28 = ex->params[28];
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -4091,46 +3794,38 @@ _backup_orc_matrix3_100_offset_u8 (OrcExecutor * ORC_RESTRICT ex)
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
-    /* 1: convubw */
-    var43.i = (orc_uint8) var35;
-    /* 2: loadpw */
-    var36.i = ex->params[24];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: convubw */
+    var34 = (orc_uint8) var4;
+    /* 1: mullw */
+    var32 = (var34 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var44.i = (var43.i * var36.i) & 0xffff;
-    /* 4: loadb */
-    var37 = ptr5[i];
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var32 + var35;
     /* 5: convubw */
-    var45.i = (orc_uint8) var37;
-    /* 6: loadpw */
-    var38.i = ex->params[25];
-    /* 7: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
+    var37 = (orc_uint8) var6;
+    /* 6: mullw */
+    var38 = (var37 * var26) & 0xffff;
+    /* 7: addw */
+    var39 = var36 + var38;
     /* 8: addw */
-    var47.i = var44.i + var46.i;
-    /* 9: loadb */
-    var39 = ptr6[i];
-    /* 10: convubw */
-    var48.i = (orc_uint8) var39;
-    /* 11: loadpw */
-    var40.i = ex->params[26];
-    /* 12: mullw */
-    var49.i = (var48.i * var40.i) & 0xffff;
-    /* 13: addw */
-    var50.i = var47.i + var49.i;
-    /* 14: loadpw */
-    var41.i = ex->params[27];
-    /* 15: addw */
-    var51.i = var50.i + var41.i;
-    /* 16: shrsw */
-    var52.i = var51.i >> ex->params[28];
-    /* 17: addw */
-    var53.i = var52.i + var43.i;
-    /* 18: convsuswb */
-    var42 = ORC_CLAMP_UB (var53.i);
-    /* 19: storeb */
-    ptr0[i] = var42;
+    var40 = var39 + var27;
+    /* 9: shrsw */
+    var41 = var40 >> var28;
+    /* 10: addw */
+    var42 = var41 + var34;
+    /* 11: convsuswb */
+    var0 = ORC_CLAMP_UB (var42);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -4165,30 +3860,18 @@ orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
       orc_program_add_temporary (p, 2, "t2");
       orc_program_add_temporary (p, 2, "t3");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_P1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4);
+      orc_program_append (p, "shrsw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P5);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -4221,28 +3904,29 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const int var24 = p1;
+  const int var25 = p2;
+  const int var26 = p3;
+  const int var27 = p4;
+  const int var28 = p5;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -4250,76 +3934,69 @@ orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
   ptr6 = (orc_int8 *) s3;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var42.i = (orc_uint8) var34;
-    /* 2: loadpw */
-    var35.i = p1;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: mullw */
+    var34 = (var32 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var43.i = (var42.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var34 + var35;
     /* 5: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 6: loadpw */
-    var37.i = p2;
-    /* 7: mullw */
-    var45.i = (var44.i * var37.i) & 0xffff;
+    var37 = (orc_uint8) var6;
+    /* 6: mullw */
+    var38 = (var37 * var26) & 0xffff;
+    /* 7: addw */
+    var39 = var36 + var38;
     /* 8: addw */
-    var46.i = var43.i + var45.i;
-    /* 9: loadb */
-    var38 = ptr6[i];
-    /* 10: convubw */
-    var47.i = (orc_uint8) var38;
-    /* 11: loadpw */
-    var39.i = p3;
-    /* 12: mullw */
-    var48.i = (var47.i * var39.i) & 0xffff;
-    /* 13: addw */
-    var49.i = var46.i + var48.i;
-    /* 14: loadpw */
-    var40.i = p4;
-    /* 15: addw */
-    var50.i = var49.i + var40.i;
-    /* 16: shrsw */
-    var51.i = var50.i >> p5;
-    /* 17: convwb */
-    var41 = var51.i;
-    /* 18: storeb */
-    ptr0[i] = var41;
+    var40 = var39 + var27;
+    /* 9: shrsw */
+    var41 = var40 >> var28;
+    /* 10: convwb */
+    var0 = var41;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const int var24 = ex->params[24];
+  const int var25 = ex->params[25];
+  const int var26 = ex->params[26];
+  const int var27 = ex->params[27];
+  const int var28 = ex->params[28];
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -4327,44 +4004,36 @@ _backup_orc_matrix3_000_u8 (OrcExecutor * ORC_RESTRICT ex)
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var42.i = (orc_uint8) var34;
-    /* 2: loadpw */
-    var35.i = ex->params[24];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: mullw */
+    var34 = (var32 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var43.i = (var42.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var34 + var35;
     /* 5: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 6: loadpw */
-    var37.i = ex->params[25];
-    /* 7: mullw */
-    var45.i = (var44.i * var37.i) & 0xffff;
+    var37 = (orc_uint8) var6;
+    /* 6: mullw */
+    var38 = (var37 * var26) & 0xffff;
+    /* 7: addw */
+    var39 = var36 + var38;
     /* 8: addw */
-    var46.i = var43.i + var45.i;
-    /* 9: loadb */
-    var38 = ptr6[i];
-    /* 10: convubw */
-    var47.i = (orc_uint8) var38;
-    /* 11: loadpw */
-    var39.i = ex->params[26];
-    /* 12: mullw */
-    var48.i = (var47.i * var39.i) & 0xffff;
-    /* 13: addw */
-    var49.i = var46.i + var48.i;
-    /* 14: loadpw */
-    var40.i = ex->params[27];
-    /* 15: addw */
-    var50.i = var49.i + var40.i;
-    /* 16: shrsw */
-    var51.i = var50.i >> ex->params[28];
-    /* 17: convwb */
-    var41 = var51.i;
-    /* 18: storeb */
-    ptr0[i] = var41;
+    var40 = var39 + var27;
+    /* 9: shrsw */
+    var41 = var40 >> var28;
+    /* 10: convwb */
+    var0 = var41;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -4398,28 +4067,17 @@ orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2,
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
-          ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4);
+      orc_program_append (p, "shrsw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P5);
+      orc_program_append (p, "convwb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -4452,17 +4110,17 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
+  orc_union32 var0;
+  orc_union32 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const int var24 = p1;
+  orc_int16 var32;
+  orc_int16 var33;
 
   ptr0 = (orc_union32 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -4470,43 +4128,41 @@ orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
   ptr6 = (orc_int8 *) s3;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: loadb */
-    var35 = ptr5[i];
-    /* 2: mergebw */
-    var39.i = ((orc_uint8) var34) | ((orc_uint8) var35 << 8);
-    /* 3: loadb */
-    var36 = ptr6[i];
-    /* 4: loadpb */
-    var37 = p1;
-    /* 5: mergebw */
-    var40.i = ((orc_uint8) var36) | ((orc_uint8) var37 << 8);
-    /* 6: mergewl */
-    var38.i = ((orc_uint16) var39.i) | ((orc_uint16) var40.i << 16);
-    /* 7: storel */
-    ptr0[i] = var38;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: mergebw */
+    var32 = ((orc_uint8) var4) | ((orc_uint8) var5 << 8);
+    /* 1: mergebw */
+    var33 = ((orc_uint8) var6) | ((orc_uint8) var24 << 8);
+    /* 2: mergewl */
+    var0.i = ((orc_uint16) var32) | ((orc_uint16) var33 << 16);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #else
 static void
-_backup_orc_pack_123x (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_pack_123x (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
+  orc_union32 var0;
+  orc_union32 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const int var24 = ex->params[24];
+  orc_int16 var32;
+  orc_int16 var33;
 
   ptr0 = (orc_union32 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -4514,22 +4170,20 @@ _backup_orc_pack_123x (OrcExecutor * ORC_RESTRICT ex)
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: loadb */
-    var35 = ptr5[i];
-    /* 2: mergebw */
-    var39.i = ((orc_uint8) var34) | ((orc_uint8) var35 << 8);
-    /* 3: loadb */
-    var36 = ptr6[i];
-    /* 4: loadpb */
-    var37 = ex->params[24];
-    /* 5: mergebw */
-    var40.i = ((orc_uint8) var36) | ((orc_uint8) var37 << 8);
-    /* 6: mergewl */
-    var38.i = ((orc_uint16) var39.i) | ((orc_uint16) var40.i << 16);
-    /* 7: storel */
-    ptr0[i] = var38;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: mergebw */
+    var32 = ((orc_uint8) var4) | ((orc_uint8) var5 << 8);
+    /* 1: mergebw */
+    var33 = ((orc_uint8) var6) | ((orc_uint8) var24 << 8);
+    /* 2: mergewl */
+    var0.i = ((orc_uint16) var32) | ((orc_uint16) var33 << 16);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -4559,12 +4213,9 @@ orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
 
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
+      orc_program_append (p, "mergebw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_S2);
+      orc_program_append (p, "mergebw", ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_P1);
+      orc_program_append (p, "mergewl", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2);
 
       result = orc_program_compile (p);
     }
@@ -4593,17 +4244,17 @@ 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;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
+  orc_union32 var0;
+  orc_union32 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const int var24 = p1;
+  orc_int16 var32;
+  orc_int16 var33;
 
   ptr0 = (orc_union32 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -4611,43 +4262,41 @@ orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
   ptr6 = (orc_int8 *) s3;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadpb */
-    var34 = p1;
-    /* 1: loadb */
-    var35 = ptr4[i];
-    /* 2: mergebw */
-    var39.i = ((orc_uint8) var34) | ((orc_uint8) var35 << 8);
-    /* 3: loadb */
-    var36 = ptr5[i];
-    /* 4: loadb */
-    var37 = ptr6[i];
-    /* 5: mergebw */
-    var40.i = ((orc_uint8) var36) | ((orc_uint8) var37 << 8);
-    /* 6: mergewl */
-    var38.i = ((orc_uint16) var39.i) | ((orc_uint16) var40.i << 16);
-    /* 7: storel */
-    ptr0[i] = var38;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: mergebw */
+    var32 = ((orc_uint8) var24) | ((orc_uint8) var4 << 8);
+    /* 1: mergebw */
+    var33 = ((orc_uint8) var5) | ((orc_uint8) var6 << 8);
+    /* 2: mergewl */
+    var0.i = ((orc_uint16) var32) | ((orc_uint16) var33 << 16);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #else
 static void
-_backup_orc_pack_x123 (OrcExecutor * ORC_RESTRICT ex)
+_backup_orc_pack_x123 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
+  orc_union32 var0;
+  orc_union32 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  const int var24 = ex->params[24];
+  orc_int16 var32;
+  orc_int16 var33;
 
   ptr0 = (orc_union32 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -4655,22 +4304,20 @@ _backup_orc_pack_x123 (OrcExecutor * ORC_RESTRICT ex)
   ptr6 = (orc_int8 *) ex->arrays[6];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadpb */
-    var34 = ex->params[24];
-    /* 1: loadb */
-    var35 = ptr4[i];
-    /* 2: mergebw */
-    var39.i = ((orc_uint8) var34) | ((orc_uint8) var35 << 8);
-    /* 3: loadb */
-    var36 = ptr5[i];
-    /* 4: loadb */
-    var37 = ptr6[i];
-    /* 5: mergebw */
-    var40.i = ((orc_uint8) var36) | ((orc_uint8) var37 << 8);
-    /* 6: mergewl */
-    var38.i = ((orc_uint16) var39.i) | ((orc_uint16) var40.i << 16);
-    /* 7: storel */
-    ptr0[i] = var38;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    /* 0: mergebw */
+    var32 = ((orc_uint8) var24) | ((orc_uint8) var4 << 8);
+    /* 1: mergebw */
+    var33 = ((orc_uint8) var5) | ((orc_uint8) var6 << 8);
+    /* 2: mergewl */
+    var0.i = ((orc_uint16) var32) | ((orc_uint16) var33 << 16);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -4700,12 +4347,9 @@ orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
 
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_P1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
+      orc_program_append (p, "mergebw", ORC_VAR_T1, ORC_VAR_P1, ORC_VAR_S1);
+      orc_program_append (p, "mergebw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S3);
+      orc_program_append (p, "mergewl", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2);
 
       result = orc_program_compile (p);
     }
@@ -4734,104 +4378,98 @@ cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
     int p1, int p2, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  const orc_int16 var16 = 8;
+  const int var24 = p1;
+  const int var25 = p2;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
   ptr5 = (orc_int8 *) s2;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var39.i = (orc_uint8) var34;
-    /* 2: loadpw */
-    var35.i = p1;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: mullw */
+    var34 = (var32 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var40.i = (var39.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var41.i = (orc_uint8) var36;
-    /* 6: loadpw */
-    var37.i = p2;
-    /* 7: mullw */
-    var42.i = (var41.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var43.i = var40.i + var42.i;
-    /* 9: shruw */
-    var44.i = ((orc_uint16) var43.i) >> 8;
-    /* 10: convuuswb */
-    var38 = ORC_CLAMP_UB ((orc_uint16) var44.i);
-    /* 11: storeb */
-    ptr0[i] = var38;
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var34 + var35;
+    /* 5: shruw */
+    var37 = ((orc_uint16) var36) >> var16;
+    /* 6: convuuswb */
+    var0 = ORC_CLAMP_UB ((orc_uint16) var37);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #else
 static void
-_backup_cogorc_combine2_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_combine2_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  const orc_int16 var16 = 8;
+  const int var24 = ex->params[24];
+  const int var25 = ex->params[25];
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
   ptr5 = (orc_int8 *) ex->arrays[5];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var39.i = (orc_uint8) var34;
-    /* 2: loadpw */
-    var35.i = ex->params[24];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: mullw */
+    var34 = (var32 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var40.i = (var39.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var41.i = (orc_uint8) var36;
-    /* 6: loadpw */
-    var37.i = ex->params[25];
-    /* 7: mullw */
-    var42.i = (var41.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var43.i = var40.i + var42.i;
-    /* 9: shruw */
-    var44.i = ((orc_uint16) var43.i) >> 8;
-    /* 10: convuuswb */
-    var38 = ORC_CLAMP_UB ((orc_uint16) var44.i);
-    /* 11: storeb */
-    ptr0[i] = var38;
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var34 + var35;
+    /* 5: shruw */
+    var37 = ((orc_uint16) var36) >> var16;
+    /* 6: convuuswb */
+    var0 = ORC_CLAMP_UB ((orc_uint16) var37);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -4856,26 +4494,19 @@ cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
       orc_program_add_destination (p, 1, "d1");
       orc_program_add_source (p, 1, "s1");
       orc_program_add_source (p, 1, "s2");
-      orc_program_add_constant (p, 2, 0x00000008, "c1");
+      orc_program_add_constant (p, 2, 8, "c1");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_parameter (p, 2, "p2");
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shruw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convuuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "shruw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1);
+      orc_program_append (p, "convuuswb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -4905,34 +4536,35 @@ cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
     int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union16 var55;
-  orc_union16 var56;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  orc_int8 var7;
+  const orc_int8 *ptr7;
+  const orc_int16 var16 = 32;
+  const orc_int16 var17 = 6;
+  const int var24 = p1;
+  const int var25 = p2;
+  const int var26 = p3;
+  const int var27 = p4;
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
+  orc_int16 var43;
+  orc_int16 var44;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_int8 *) s1;
@@ -4941,92 +4573,83 @@ cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
   ptr7 = (orc_int8 *) s4;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var34;
-    /* 2: loadpw */
-    var35.i = p1;
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    var7 = *ptr7;
+    ptr7++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: mullw */
+    var34 = (var32 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var45.i = (var44.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var34 + var35;
     /* 5: convubw */
-    var46.i = (orc_uint8) var36;
-    /* 6: loadpw */
-    var37.i = p2;
-    /* 7: mullw */
-    var47.i = (var46.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var48.i = var45.i + var47.i;
-    /* 9: loadb */
-    var38 = ptr6[i];
-    /* 10: convubw */
-    var49.i = (orc_uint8) var38;
-    /* 11: loadpw */
-    var39.i = p3;
-    /* 12: mullw */
-    var50.i = (var49.i * var39.i) & 0xffff;
-    /* 13: addw */
-    var51.i = var48.i + var50.i;
-    /* 14: loadb */
-    var40 = ptr7[i];
-    /* 15: convubw */
-    var52.i = (orc_uint8) var40;
-    /* 16: loadpw */
-    var41.i = p4;
-    /* 17: mullw */
-    var53.i = (var52.i * var41.i) & 0xffff;
-    /* 18: addw */
-    var54.i = var51.i + var53.i;
-    /* 19: loadpw */
-    var42.i = 32;
-    /* 20: addw */
-    var55.i = var54.i + var42.i;
-    /* 21: shrsw */
-    var56.i = var55.i >> 6;
-    /* 22: convsuswb */
-    var43 = ORC_CLAMP_UB (var56.i);
-    /* 23: storeb */
-    ptr0[i] = var43;
+    var37 = (orc_uint8) var6;
+    /* 6: mullw */
+    var38 = (var37 * var26) & 0xffff;
+    /* 7: addw */
+    var39 = var36 + var38;
+    /* 8: convubw */
+    var40 = (orc_uint8) var7;
+    /* 9: mullw */
+    var41 = (var40 * var27) & 0xffff;
+    /* 10: addw */
+    var42 = var39 + var41;
+    /* 11: addw */
+    var43 = var42 + var16;
+    /* 12: shrsw */
+    var44 = var43 >> var17;
+    /* 13: convsuswb */
+    var0 = ORC_CLAMP_UB (var44);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #else
 static void
-_backup_cogorc_combine4_u8 (OrcExecutor * ORC_RESTRICT ex)
+_backup_cogorc_combine4_u8 (OrcExecutor * ex)
 {
   int i;
   int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union16 var55;
-  orc_union16 var56;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_int8 var4;
+  const orc_int8 *ptr4;
+  orc_int8 var5;
+  const orc_int8 *ptr5;
+  orc_int8 var6;
+  const orc_int8 *ptr6;
+  orc_int8 var7;
+  const orc_int8 *ptr7;
+  const orc_int16 var16 = 32;
+  const orc_int16 var17 = 6;
+  const int var24 = ex->params[24];
+  const int var25 = ex->params[25];
+  const int var26 = ex->params[26];
+  const int var27 = ex->params[27];
+  orc_int16 var32;
+  orc_int16 var33;
+  orc_int16 var34;
+  orc_int16 var35;
+  orc_int16 var36;
+  orc_int16 var37;
+  orc_int16 var38;
+  orc_int16 var39;
+  orc_int16 var40;
+  orc_int16 var41;
+  orc_int16 var42;
+  orc_int16 var43;
+  orc_int16 var44;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_int8 *) ex->arrays[4];
@@ -5035,54 +4658,44 @@ _backup_cogorc_combine4_u8 (OrcExecutor * ORC_RESTRICT ex)
   ptr7 = (orc_int8 *) ex->arrays[7];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var34;
-    /* 2: loadpw */
-    var35.i = ex->params[24];
+    var4 = *ptr4;
+    ptr4++;
+    var5 = *ptr5;
+    ptr5++;
+    var6 = *ptr6;
+    ptr6++;
+    var7 = *ptr7;
+    ptr7++;
+    /* 0: convubw */
+    var32 = (orc_uint8) var4;
+    /* 1: mullw */
+    var34 = (var32 * var24) & 0xffff;
+    /* 2: convubw */
+    var33 = (orc_uint8) var5;
     /* 3: mullw */
-    var45.i = (var44.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
+    var35 = (var33 * var25) & 0xffff;
+    /* 4: addw */
+    var36 = var34 + var35;
     /* 5: convubw */
-    var46.i = (orc_uint8) var36;
-    /* 6: loadpw */
-    var37.i = ex->params[25];
-    /* 7: mullw */
-    var47.i = (var46.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var48.i = var45.i + var47.i;
-    /* 9: loadb */
-    var38 = ptr6[i];
-    /* 10: convubw */
-    var49.i = (orc_uint8) var38;
-    /* 11: loadpw */
-    var39.i = ex->params[26];
-    /* 12: mullw */
-    var50.i = (var49.i * var39.i) & 0xffff;
-    /* 13: addw */
-    var51.i = var48.i + var50.i;
-    /* 14: loadb */
-    var40 = ptr7[i];
-    /* 15: convubw */
-    var52.i = (orc_uint8) var40;
-    /* 16: loadpw */
-    var41.i = ex->params[27];
-    /* 17: mullw */
-    var53.i = (var52.i * var41.i) & 0xffff;
-    /* 18: addw */
-    var54.i = var51.i + var53.i;
-    /* 19: loadpw */
-    var42.i = 32;
-    /* 20: addw */
-    var55.i = var54.i + var42.i;
-    /* 21: shrsw */
-    var56.i = var55.i >> 6;
-    /* 22: convsuswb */
-    var43 = ORC_CLAMP_UB (var56.i);
-    /* 23: storeb */
-    ptr0[i] = var43;
+    var37 = (orc_uint8) var6;
+    /* 6: mullw */
+    var38 = (var37 * var26) & 0xffff;
+    /* 7: addw */
+    var39 = var36 + var38;
+    /* 8: convubw */
+    var40 = (orc_uint8) var7;
+    /* 9: mullw */
+    var41 = (var40 * var27) & 0xffff;
+    /* 10: addw */
+    var42 = var39 + var41;
+    /* 11: addw */
+    var43 = var42 + var16;
+    /* 12: shrsw */
+    var44 = var43 >> var17;
+    /* 13: convsuswb */
+    var0 = ORC_CLAMP_UB (var44);
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -5110,8 +4723,8 @@ cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
       orc_program_add_source (p, 1, "s2");
       orc_program_add_source (p, 1, "s3");
       orc_program_add_source (p, 1, "s4");
-      orc_program_add_constant (p, 2, 0x00000020, "c1");
-      orc_program_add_constant (p, 2, 0x00000006, "c2");
+      orc_program_add_constant (p, 2, 32, "c1");
+      orc_program_add_constant (p, 2, 6, "c2");
       orc_program_add_parameter (p, 2, "p1");
       orc_program_add_parameter (p, 2, "p2");
       orc_program_add_parameter (p, 2, "p3");
@@ -5119,34 +4732,20 @@ cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2,
       orc_program_add_temporary (p, 2, "t1");
       orc_program_add_temporary (p, 2, "t2");
 
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S4, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S4, ORC_VAR_D1);
+      orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P4);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
+      orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1);
+      orc_program_append (p, "shrsw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2);
+      orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -5178,52 +4777,52 @@ void
 cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_union32 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    var35.i = (orc_uint32) var33.i & 0xffff;
-    /* 2: select0wb */
-    var34 = (orc_uint16) var35.i & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0lw */
+    var32 = (orc_uint32) var4.i & 0xffff;
+    /* 1: select0wb */
+    var0 = (orc_uint16) var32 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_union32 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    var35.i = (orc_uint32) var33.i & 0xffff;
-    /* 2: select0wb */
-    var34 = (orc_uint16) var35.i & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0lw */
+    var32 = (orc_uint32) var4.i & 0xffff;
+    /* 1: select0wb */
+    var0 = (orc_uint16) var32 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -5248,10 +4847,8 @@ cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n)
       orc_program_add_source (p, 4, "s1");
       orc_program_add_temporary (p, 2, "t1");
 
-      orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select0lw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -5276,52 +4873,52 @@ void
 cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_union32 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    var35.i = (orc_uint32) var33.i & 0xffff;
-    /* 2: select1wb */
-    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0lw */
+    var32 = (orc_uint32) var4.i & 0xffff;
+    /* 1: select1wb */
+    var0 = ((orc_uint16) var32 >> 8) & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_union32 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    var35.i = (orc_uint32) var33.i & 0xffff;
-    /* 2: select1wb */
-    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select0lw */
+    var32 = (orc_uint32) var4.i & 0xffff;
+    /* 1: select1wb */
+    var0 = ((orc_uint16) var32 >> 8) & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -5346,10 +4943,8 @@ cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n)
       orc_program_add_source (p, 4, "s1");
       orc_program_add_temporary (p, 2, "t1");
 
-      orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select0lw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select1wb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -5374,52 +4969,52 @@ void
 cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_union32 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
-    /* 2: select0wb */
-    var34 = (orc_uint16) var35.i & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select1lw */
+    var32 = ((orc_uint32) var4.i >> 16) & 0xffff;
+    /* 1: select0wb */
+    var0 = (orc_uint16) var32 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_union32 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
-    /* 2: select0wb */
-    var34 = (orc_uint16) var35.i & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select1lw */
+    var32 = ((orc_uint32) var4.i >> 16) & 0xffff;
+    /* 1: select0wb */
+    var0 = (orc_uint16) var32 & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -5444,10 +5039,8 @@ cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n)
       orc_program_add_source (p, 4, "s1");
       orc_program_add_temporary (p, 2, "t1");
 
-      orc_program_append_2 (p, "select1lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select1lw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select0wb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
@@ -5472,52 +5065,52 @@ void
 cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n)
 {
   int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) d1;
   ptr4 = (orc_union32 *) s1;
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
-    /* 2: select1wb */
-    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select1lw */
+    var32 = ((orc_uint32) var4.i >> 16) & 0xffff;
+    /* 1: select1wb */
+    var0 = ((orc_uint16) var32 >> 8) & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
 
 #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;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
+  orc_int8 var0;
+  orc_int8 *ptr0;
+  orc_union32 var4;
+  const orc_union32 *ptr4;
+  orc_int16 var32;
 
   ptr0 = (orc_int8 *) ex->arrays[0];
   ptr4 = (orc_union32 *) ex->arrays[4];
 
   for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    var35.i = ((orc_uint32) var33.i >> 16) & 0xffff;
-    /* 2: select1wb */
-    var34 = ((orc_uint16) var35.i >> 8) & 0xff;
-    /* 3: storeb */
-    ptr0[i] = var34;
+    var4 = *ptr4;
+    ptr4++;
+    /* 0: select1lw */
+    var32 = ((orc_uint32) var4.i >> 16) & 0xffff;
+    /* 1: select1wb */
+    var0 = ((orc_uint16) var32 >> 8) & 0xff;
+    *ptr0 = var0;
+    ptr0++;
   }
 
 }
@@ -5542,10 +5135,8 @@ cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n)
       orc_program_add_source (p, 4, "s1");
       orc_program_add_temporary (p, 2, "t1");
 
-      orc_program_append_2 (p, "select1lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
+      orc_program_append (p, "select1lw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
+      orc_program_append (p, "select1wb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
 
       result = orc_program_compile (p);
     }
index 6bbe2af..9cf1d40 100644 (file)
@@ -10,8 +10,6 @@
 extern "C" {
 #endif
 
-
-
 #ifndef _ORC_INTEGER_TYPEDEFS_
 #define _ORC_INTEGER_TYPEDEFS_
 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
@@ -49,10 +47,10 @@ typedef long orc_int64;
 typedef unsigned long orc_uint64;
 #endif
 #endif
-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]; orc_int16 x4[4]; } orc_union64;
+typedef union { orc_int32 i; float f; } orc_union32;
+typedef union { orc_int64 i; double f; } orc_union64;
 #endif
+
 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);
index 1b01c2e..d86079c 100644 (file)
@@ -35,6 +35,17 @@ real live maintainer, or some actual wide use.
 
  <release>
   <Version>
+   <revision>0.10.20</revision>
+   <branch>0.10</branch>
+   <name>For it is a Human Number</name>
+   <created>2010-09-02</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.20.tar.bz2" />
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.20.tar.gz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>0.10.19</revision>
    <branch>0.10</branch>
    <name>The World Kicked Back</name>
index 13b7957..9ac0ada 100644 (file)
@@ -24,7 +24,7 @@
 #define GST_LICENSE "LGPL"
 
 /* package name in plugins */
-#define GST_PACKAGE_NAME "GStreamer Bad Plug-ins prerelease"
+#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.10.19.5"
+#define VERSION "0.10.20"
 
 /* Define to 1 if your processor stores words with the most significant byte
    first (like Motorola and SPARC, unlike Intel and VAX). */