summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2010-09-03 00:23:02 +0100
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2010-09-03 00:23:02 +0100
commit18b0375241774762ce35bc23496951a497008342 (patch)
treecfa33f2d9b3288ace785aac5a44f335f6a90e46e
parentf413d4d752384f2188008f83c6decade9ba1a3b6 (diff)
downloadgstreamer-plugins-bad-18b0375241774762ce35bc23496951a497008342.tar.gz
Release 0.10.20RELEASE-0.10.20
-rw-r--r--ChangeLog3936
-rw-r--r--NEWS121
-rw-r--r--RELEASE221
-rw-r--r--configure.ac2
-rw-r--r--ext/cog/gstcogorc-dist.c5013
-rw-r--r--ext/cog/gstcogorc-dist.h8
-rw-r--r--gst-plugins-bad.doap11
-rw-r--r--win32/common/config.h4
8 files changed, 6502 insertions, 2814 deletions
diff --git a/ChangeLog b/ChangeLog
index 636999411..ca74376fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,3941 @@
+=== 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 b00c3e16b..c13dc907d 100644
--- 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 e530f97f2..8f8ae896c 100644
--- 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
diff --git a/configure.ac b/configure.ac
index d180d7ad1..499b51ee0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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)
diff --git a/ext/cog/gstcogorc-dist.c b/ext/cog/gstcogorc-dist.c
index f8645c9d0..a375aa2e7 100644
--- a/ext/cog/gstcogorc-dist.c
+++ b/ext/cog/gstcogorc-dist.c
@@ -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);
}
diff --git a/ext/cog/gstcogorc-dist.h b/ext/cog/gstcogorc-dist.h
index 6bbe2af05..9cf1d4053 100644
--- a/ext/cog/gstcogorc-dist.h
+++ b/ext/cog/gstcogorc-dist.h
@@ -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);
diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap
index 1b01c2e74..d86079c14 100644
--- a/gst-plugins-bad.doap
+++ b/gst-plugins-bad.doap
@@ -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>
diff --git a/win32/common/config.h b/win32/common/config.h
index 13b79571f..9ac0adaf1 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -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"
@@ -199,7 +199,7 @@
#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). */