aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2014-07-11 11:30:17 +0200
committerSebastian Dröge <sebastian@centricular.com>2014-07-11 11:30:17 +0200
commit5c3faeffa0d502dd164daa73804fc2b9cd4a7069 (patch)
treece9a3e4441bcac0f7d8c5d9765a6d19896e3c83c
parentca7208809cf7836c370974b2ce3bbd51a2f9ee15 (diff)
parentca1104c0586c070c9635a33724f5a1c743533ba8 (diff)
Merge tag 'upstream/1.3.91'
Upstream version 1.3.91
-rw-r--r--ChangeLog400
-rw-r--r--Makefile.in2
-rw-r--r--NEWS2
-rw-r--r--RELEASE29
-rwxr-xr-xconfigure38
-rw-r--r--configure.ac8
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-level.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-png.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html2
-rw-r--r--docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html2
-rw-r--r--docs/plugins/html/index.html2
-rw-r--r--docs/plugins/inspect/plugin-1394.xml2
-rw-r--r--docs/plugins/inspect/plugin-aasink.xml2
-rw-r--r--docs/plugins/inspect/plugin-alaw.xml2
-rw-r--r--docs/plugins/inspect/plugin-alpha.xml2
-rw-r--r--docs/plugins/inspect/plugin-alphacolor.xml2
-rw-r--r--docs/plugins/inspect/plugin-apetag.xml2
-rw-r--r--docs/plugins/inspect/plugin-audiofx.xml2
-rw-r--r--docs/plugins/inspect/plugin-audioparsers.xml2
-rw-r--r--docs/plugins/inspect/plugin-auparse.xml2
-rw-r--r--docs/plugins/inspect/plugin-autodetect.xml2
-rw-r--r--docs/plugins/inspect/plugin-avi.xml2
-rw-r--r--docs/plugins/inspect/plugin-cacasink.xml2
-rw-r--r--docs/plugins/inspect/plugin-cairo.xml2
-rw-r--r--docs/plugins/inspect/plugin-cutter.xml2
-rw-r--r--docs/plugins/inspect/plugin-debug.xml2
-rw-r--r--docs/plugins/inspect/plugin-deinterlace.xml2
-rw-r--r--docs/plugins/inspect/plugin-dtmf.xml2
-rw-r--r--docs/plugins/inspect/plugin-dv.xml2
-rw-r--r--docs/plugins/inspect/plugin-effectv.xml2
-rw-r--r--docs/plugins/inspect/plugin-equalizer.xml2
-rw-r--r--docs/plugins/inspect/plugin-flac.xml2
-rw-r--r--docs/plugins/inspect/plugin-flv.xml2
-rw-r--r--docs/plugins/inspect/plugin-flxdec.xml2
-rw-r--r--docs/plugins/inspect/plugin-gdkpixbuf.xml2
-rw-r--r--docs/plugins/inspect/plugin-goom.xml2
-rw-r--r--docs/plugins/inspect/plugin-goom2k1.xml2
-rw-r--r--docs/plugins/inspect/plugin-icydemux.xml2
-rw-r--r--docs/plugins/inspect/plugin-id3demux.xml2
-rw-r--r--docs/plugins/inspect/plugin-imagefreeze.xml2
-rw-r--r--docs/plugins/inspect/plugin-interleave.xml2
-rw-r--r--docs/plugins/inspect/plugin-isomp4.xml2
-rw-r--r--docs/plugins/inspect/plugin-jack.xml2
-rw-r--r--docs/plugins/inspect/plugin-jpeg.xml2
-rw-r--r--docs/plugins/inspect/plugin-level.xml2
-rw-r--r--docs/plugins/inspect/plugin-matroska.xml2
-rw-r--r--docs/plugins/inspect/plugin-mulaw.xml2
-rw-r--r--docs/plugins/inspect/plugin-multifile.xml2
-rw-r--r--docs/plugins/inspect/plugin-multipart.xml2
-rw-r--r--docs/plugins/inspect/plugin-navigationtest.xml2
-rw-r--r--docs/plugins/inspect/plugin-oss4.xml2
-rw-r--r--docs/plugins/inspect/plugin-ossaudio.xml2
-rw-r--r--docs/plugins/inspect/plugin-png.xml2
-rw-r--r--docs/plugins/inspect/plugin-pulseaudio.xml2
-rw-r--r--docs/plugins/inspect/plugin-replaygain.xml2
-rw-r--r--docs/plugins/inspect/plugin-rtp.xml2
-rw-r--r--docs/plugins/inspect/plugin-rtpmanager.xml2
-rw-r--r--docs/plugins/inspect/plugin-rtsp.xml2
-rw-r--r--docs/plugins/inspect/plugin-shapewipe.xml2
-rw-r--r--docs/plugins/inspect/plugin-shout2send.xml2
-rw-r--r--docs/plugins/inspect/plugin-smpte.xml2
-rw-r--r--docs/plugins/inspect/plugin-soup.xml2
-rw-r--r--docs/plugins/inspect/plugin-spectrum.xml2
-rw-r--r--docs/plugins/inspect/plugin-speex.xml2
-rw-r--r--docs/plugins/inspect/plugin-taglib.xml2
-rw-r--r--docs/plugins/inspect/plugin-udp.xml2
-rw-r--r--docs/plugins/inspect/plugin-video4linux2.xml2
-rw-r--r--docs/plugins/inspect/plugin-videobox.xml2
-rw-r--r--docs/plugins/inspect/plugin-videocrop.xml2
-rw-r--r--docs/plugins/inspect/plugin-videofilter.xml2
-rw-r--r--docs/plugins/inspect/plugin-videomixer.xml2
-rw-r--r--docs/plugins/inspect/plugin-vpx.xml2
-rw-r--r--docs/plugins/inspect/plugin-wavenc.xml2
-rw-r--r--docs/plugins/inspect/plugin-wavpack.xml2
-rw-r--r--docs/plugins/inspect/plugin-wavparse.xml2
-rw-r--r--docs/plugins/inspect/plugin-ximagesrc.xml2
-rw-r--r--docs/plugins/inspect/plugin-y4menc.xml2
-rw-r--r--ext/pulse/pulsedeviceprovider.c4
-rw-r--r--ext/pulse/pulsesrc.c2
-rw-r--r--gst-plugins-good.doap10
-rw-r--r--gst-plugins-good.spec2
-rw-r--r--gst/autodetect/gstautoaudiosrc.c23
-rw-r--r--gst/autodetect/gstautodetect.c16
-rw-r--r--gst/autodetect/gstautodetect.h3
-rw-r--r--gst/autodetect/gstautovideosrc.c22
-rw-r--r--gst/avi/gstavidemux.c3
-rw-r--r--gst/deinterlace/gstdeinterlacemethod.c6
-rw-r--r--gst/matroska/matroska-demux.c27
-rw-r--r--gst/matroska/matroska-mux.c4
-rw-r--r--gst/matroska/matroska-parse.c9
-rw-r--r--gst/rtpmanager/gstrtpbin.c4
-rw-r--r--gst/rtpmanager/gstrtpssrcdemux.c2
-rw-r--r--gst/rtsp/gstrtspsrc.c10
-rw-r--r--gst/videomixer/gstcms.c186
-rw-r--r--gst/videomixer/gstcms.h48
-rw-r--r--gst/videomixer/videoconvert.c288
-rw-r--r--gst/videomixer/videoconvert.h4
-rw-r--r--gst/videomixer/videomixer2.c3
-rw-r--r--gst/videomixer/videomixerorc-dist.c10130
-rw-r--r--gst/videomixer/videomixerorc-dist.h40
-rw-r--r--gst/videomixer/videomixerorc.orc864
-rw-r--r--gst/wavenc/gstwavenc.c5
-rw-r--r--gst/wavparse/gstwavparse.c3
-rw-r--r--po/af.gmobin666 -> 666 bytes
-rw-r--r--po/af.po2
-rw-r--r--po/az.gmobin723 -> 723 bytes
-rw-r--r--po/az.po2
-rw-r--r--po/bg.gmobin11149 -> 11149 bytes
-rw-r--r--po/bg.po2
-rw-r--r--po/ca.gmobin9124 -> 9124 bytes
-rw-r--r--po/ca.po2
-rw-r--r--po/cs.gmobin11000 -> 11000 bytes
-rw-r--r--po/cs.po2
-rw-r--r--po/da.gmobin11242 -> 12180 bytes
-rw-r--r--po/da.po33
-rw-r--r--po/de.gmobin12321 -> 13303 bytes
-rw-r--r--po/de.po35
-rw-r--r--po/el.gmobin11597 -> 11597 bytes
-rw-r--r--po/el.po2
-rw-r--r--po/en_GB.gmobin671 -> 671 bytes
-rw-r--r--po/en_GB.po2
-rw-r--r--po/eo.gmobin1328 -> 1328 bytes
-rw-r--r--po/eo.po2
-rw-r--r--po/es.gmobin9369 -> 9369 bytes
-rw-r--r--po/es.po2
-rw-r--r--po/eu.gmobin7626 -> 7626 bytes
-rw-r--r--po/eu.po2
-rw-r--r--po/fi.gmobin8041 -> 8041 bytes
-rw-r--r--po/fi.po2
-rw-r--r--po/fr.gmobin9222 -> 9222 bytes
-rw-r--r--po/fr.po2
-rw-r--r--po/gl.gmobin10938 -> 10938 bytes
-rw-r--r--po/gl.po2
-rw-r--r--po/gst-plugins-good-1.0.pot48
-rw-r--r--po/hr.gmobin8525 -> 8525 bytes
-rw-r--r--po/hr.po2
-rw-r--r--po/hu.gmobin12010 -> 13302 bytes
-rw-r--r--po/hu.po51
-rw-r--r--po/id.gmobin11243 -> 12187 bytes
-rw-r--r--po/id.po31
-rw-r--r--po/it.gmobin8539 -> 8539 bytes
-rw-r--r--po/it.po2
-rw-r--r--po/ja.gmobin12052 -> 12052 bytes
-rw-r--r--po/ja.po2
-rw-r--r--po/lt.gmobin7460 -> 7460 bytes
-rw-r--r--po/lt.po2
-rw-r--r--po/lv.gmobin10527 -> 10527 bytes
-rw-r--r--po/lv.po2
-rw-r--r--po/mt.gmobin5942 -> 5942 bytes
-rw-r--r--po/mt.po2
-rw-r--r--po/nb.gmobin10047 -> 10047 bytes
-rw-r--r--po/nb.po2
-rw-r--r--po/nl.gmobin11644 -> 11644 bytes
-rw-r--r--po/nl.po2
-rw-r--r--po/or.gmobin832 -> 832 bytes
-rw-r--r--po/or.po2
-rw-r--r--po/pl.gmobin12125 -> 13090 bytes
-rw-r--r--po/pl.po31
-rw-r--r--po/pt_BR.gmobin10921 -> 10921 bytes
-rw-r--r--po/pt_BR.po2
-rw-r--r--po/ro.gmobin8001 -> 8001 bytes
-rw-r--r--po/ro.po2
-rw-r--r--po/ru.gmobin15628 -> 16873 bytes
-rw-r--r--po/ru.po31
-rw-r--r--po/sk.gmobin10768 -> 10768 bytes
-rw-r--r--po/sk.po2
-rw-r--r--po/sl.gmobin10412 -> 10412 bytes
-rw-r--r--po/sl.po2
-rw-r--r--po/sq.gmobin685 -> 685 bytes
-rw-r--r--po/sq.po2
-rw-r--r--po/sr.gmobin15169 -> 15169 bytes
-rw-r--r--po/sr.po2
-rw-r--r--po/sv.gmobin8861 -> 8861 bytes
-rw-r--r--po/sv.po2
-rw-r--r--po/tr.gmobin9816 -> 9816 bytes
-rw-r--r--po/tr.po2
-rw-r--r--po/uk.gmobin15559 -> 16962 bytes
-rw-r--r--po/uk.po38
-rw-r--r--po/vi.gmobin12111 -> 14530 bytes
-rw-r--r--po/vi.po69
-rw-r--r--po/zh_CN.gmobin6295 -> 6295 bytes
-rw-r--r--po/zh_CN.po2
-rw-r--r--po/zh_HK.gmobin1571 -> 1571 bytes
-rw-r--r--po/zh_HK.po2
-rw-r--r--po/zh_TW.gmobin1570 -> 1570 bytes
-rw-r--r--po/zh_TW.po2
-rw-r--r--sys/v4l2/gstv4l2allocator.c22
-rw-r--r--sys/v4l2/gstv4l2allocator.h4
-rw-r--r--sys/v4l2/gstv4l2bufferpool.c47
-rw-r--r--sys/v4l2/gstv4l2bufferpool.h4
-rw-r--r--sys/v4l2/gstv4l2deviceprovider.c4
-rw-r--r--sys/v4l2/gstv4l2object.c69
-rw-r--r--sys/v4l2/gstv4l2src.c13
-rw-r--r--tests/check/elements/matroskaparse.c18
-rw-r--r--tests/check/elements/qtmux.c3
-rw-r--r--tests/check/elements/rtpsession.c10
-rw-r--r--tests/examples/rtp/client-rtpaux.c6
-rw-r--r--tests/icles/videocrop-test.c1
-rw-r--r--win32/common/config.h8
260 files changed, 2758 insertions, 10345 deletions
diff --git a/ChangeLog b/ChangeLog
index f8a2bc53..ffd52376 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,405 @@
+=== release 1.3.91 ===
+
+2014-07-11 Sebastian Dröge <slomo@coaxion.net>
+
+ * configure.ac:
+ releasing 1.3.91
+
+2014-07-10 18:11:20 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2allocator.c:
+ * sys/v4l2/gstv4l2allocator.h:
+ * sys/v4l2/gstv4l2bufferpool.c:
+ v4l2allocator: Use qdata instead of parenting to DmabufMemory
+ Parenting V4l2Memory to DmabufMemory was in conflict with recent
+ optimization in DmabufMemory to avoid dup(), and didn't work with
+ memory sharing. Instead, use a qdata and it's destroy notify.
+ https://bugzilla.gnome.org/show_bug.cgi?id=730441
+
+2014-07-11 08:52:39 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/da.po:
+ * po/de.po:
+ * po/hu.po:
+ * po/id.po:
+ * po/pl.po:
+ * po/ru.po:
+ * po/uk.po:
+ * po/vi.po:
+ po: Update translations
+
+2014-07-08 17:50:47 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2bufferpool.c:
+ v4l2bufferpool: Workaround elements not requesting any buffers
+ This is a workaround for element that don't request buffers when
+ they should.
+ https://bugzilla.gnome.org/show_bug.cgi?id=732288
+
+2014-07-06 11:27:36 +0200 Sebastian Rasmussen <sebras@hotmail.com>
+
+ * tests/icles/videocrop-test.c:
+ tests: fix pipeline leak in videocrop test
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732976
+
+2014-07-06 11:26:46 +0200 Sebastian Rasmussen <sebras@hotmail.com>
+
+ * tests/examples/rtp/client-rtpaux.c:
+ examples: client-rtpaux: Release reference to parent when done
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732976
+
+2014-07-10 17:19:42 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: fix query leak
+ https://bugzilla.gnome.org/show_bug.cgi?id=733003
+
+2014-07-10 12:10:45 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/wavenc/gstwavenc.c:
+ wavenc: Return not-negotiated if we got no caps or caps negotiation failed
+ And do it always, not inside a g_return_val_if_fail().
+ See https://bugzilla.gnome.org/show_bug.cgi?id=732939
+
+2014-07-08 13:34:28 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2src.c:
+ v4l2src: Ensure internal pool activation
+ Before we would hit an assertion "'gst_buffer_pool_is_active (bpool)' failed"
+ if the internal pool was not used to push buffer downstrea, hence not
+ given to the baseclass.
+ https://bugzilla.gnome.org/show_bug.cgi?id=732912
+
+2014-07-04 20:22:10 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/videomixer/videomixer2.c:
+ videomixer: fix double unlock in segment seek segment code path
+ We only want to unlock if we push an event downstream and
+ jump to done_unlock label afterwards. We would also unlock
+ in case of a segment seek and then unlock again later, and
+ nothing good can come of that.
+ (This code looks a bit dodgy anyway though, shouldn't it
+ also bail out with FLOW_EOS here in case of a segment seek
+ scenario, just without the event?)
+
+2014-07-04 19:45:55 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/elements/qtmux.c:
+ tests: qtmux: suppress glib criticals caused by testing deprecated dts methods
+
+2014-07-04 03:21:30 +0200 Sebastian Rasmussen <sebras@hotmail.com>
+
+ * gst/avi/gstavidemux.c:
+ * gst/wavparse/gstwavparse.c:
+ avidemux, wavparse: Print invalid fourcc in hex
+ Previously this was printed as characters which caused later processing
+ of the error message to sometimes warn about non-UTF-8 characters.
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732714
+
+2014-07-03 15:21:18 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2object: Pool might be NULL in decide allocation
+ If special stride is needed and downstream don't support VideoMeta,
+ pool might be NULL in order to let the baseclass create a generic
+ pool­. This would lead to assertion with on Exynos with:
+ gst-launch-1.0 -v filesrc location=mov ! qtdemux ! h264parse ! \
+ v4l2video8dec ! fakesink
+ https://bugzilla.gnome.org/show_bug.cgi?id=732707
+
+2014-07-03 15:29:54 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2bufferpool.c:
+ * sys/v4l2/gstv4l2bufferpool.h:
+ v4l2bufferpool: Handle FD error during poll
+ This will ensure we fail earlier if something unrecoverable
+ happens.
+
+2014-07-03 15:28:45 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/v4l2/gstv4l2bufferpool.c:
+ * sys/v4l2/gstv4l2bufferpool.h:
+ v4l2bufferpool: Wait before polling if queue is empty
+ In kernel before 3.17, polling during queue underrun would unblock right
+ away and trigger POLLERR. As we are not handling POLLERR, we would endup
+ blocking in DQBUF call, which won't be unblocked correctly when going
+ to NULL state. A deadlock at start caused by locking error in libv4l2 was
+ also seen before this patch. Instead, we wait until the queue is no longer
+ empty before polling.
+ https://bugzilla.gnome.org/show_bug.cgi?id=731015
+
+2014-07-02 16:01:47 +0200 Wim Taymans <wtaymans@redhat.com>
+
+ * gst/rtsp/gstrtspsrc.c:
+ rtspsrc: fix for mikey api change
+
+2014-06-30 10:29:54 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2: fix probing and enumeration of stepwise frame sizes
+ The code enumerating STEPWISE framesizes would start from
+ (min_w, min_h) and then add (step_w, step_h) to get the
+ next framesize. However, it should really allow any width
+ from min_w to max_w with step_w and same for heights.
+ Secondly, we would add and probe each individual stepped
+ frame size to the caps as separate structure, which would
+ lead to hundreds if not thousands of structs ending up in
+ the probed caps. Use integer ranges with steps instead.
+ This was particularly noticable with the Raspberry Pi Cam.
+ https://bugzilla.gnome.org/show_bug.cgi?id=724521
+ https://bugzilla.gnome.org/show_bug.cgi?id=732458
+ https://bugzilla.gnome.org/show_bug.cgi?id=726521
+
+2014-06-27 11:33:06 +0100 Daniel Drake <drake@endlessm.com>
+
+ * sys/v4l2/gstv4l2object.c:
+ v4l2object: drop workaround for misbehaving TRY_FMT
+ This workaround from 2011 was causing 25 S_FMT ioctls to be sent
+ to my UVC webcam from under gst_v4l2_object_get_caps as it probes
+ all the formats. In total, this adds up to about 5 seconds of
+ execution time, or a 10 second delay while starting up cheese.
+ These ioctls come from a workaround from 2011 where TRY_FMT might
+ make changes to hardware settings, so S_FMT was used to restore
+ the original config:
+ https://bugzilla.gnome.org/show_bug.cgi?id=649067
+ The driver bug is now assumed fixed. Remove the workaround to fix the
+ long startup delay.
+ https://bugzilla.gnome.org/show_bug.cgi?id=732326
+
+2014-07-01 12:50:31 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * gst/videomixer/videomixer2.c:
+ videomixer: reset QoS on segment event
+ https://bugzilla.gnome.org/show_bug.cgi?id=732540
+
+2014-07-01 15:14:34 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * gst/matroska/matroska-demux.c:
+ matroskademux: send gap events instead of segment tricks
+ This fixes missing frames from being time skipped.
+ https://bugzilla.gnome.org/show_bug.cgi?id=732372
+
+2014-06-30 00:00:32 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/elements/rtpsession.c:
+ rtpsession: Fix memory leaks in unit test
+
+2014-06-29 23:55:19 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpbin.c:
+ rtpbin: Don't leak caps
+
+2014-06-29 20:02:14 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/pulse/pulsesrc.c:
+ pulsesrc: Fix compiler warning when compiling with G_DISABLE_ASSERT
+
+2014-06-29 19:59:53 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/rtpmanager/gstrtpssrcdemux.c:
+ rtpssrcdemux: Fix compiler warning when compiling with G_DISABLE_ASSERT
+
+2014-06-29 19:57:57 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/matroska/matroska-mux.c:
+ matroskamux: Fix compiler warnings when compiling with G_DISABLE_ASSERT
+
+2014-06-29 19:54:44 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/deinterlace/gstdeinterlacemethod.c:
+ deinterlace: Fix compiler warnings when compiling with G_DISABLE_ASSERT
+
+2014-06-29 17:05:13 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/pulse/pulsedeviceprovider.c:
+ pulse: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
+ Compiler complains about uninitialised variables in the impossible
+ 'default' code path in device provider source/sink switch-case.
+
+2014-06-29 17:03:17 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * sys/v4l2/gstv4l2deviceprovider.c:
+ v4l2: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
+ Compiler complains about uninitialised variables in the impossible
+ 'default' code path in device provider source/sink switch-case.
+
+2014-06-28 17:40:45 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/check/elements/matroskaparse.c:
+ tests: matroskaparse: fail on errors and disable pull mode test
+ Actually look for error messages on the bus and fail if there
+ is one before the EOS message. Disable pull mode test which is
+ pointless as long as matroskaparse only supports push mode
+ (pull mode support has not been ported over to 1.0).
+
+2014-06-28 17:37:23 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/matroska/matroska-parse.c:
+ matroskaparse: don't error out if there's not enough data in the adapter
+ gst_matroska_parse_take() would return FLOW_ERROR instead of
+ FLOW_EOS in case there's less data in the adapter than requested,
+ because buffer is NULL in that case which triggers the error
+ code path. This made the unit test fail (occasionally at least,
+ because of a bug in the unit test there's a race and it would
+ happen only sporadically).
+
+2014-06-28 16:53:58 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videomixer/videomixerorc-dist.c:
+ * gst/videomixer/videomixerorc-dist.h:
+ videomixer: Update dist generated ORC files
+
+2014-06-28 16:48:13 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videomixer/gstcms.c:
+ * gst/videomixer/gstcms.h:
+ * gst/videomixer/videoconvert.c:
+ * gst/videomixer/videoconvert.h:
+ * gst/videomixer/videomixerorc.orc:
+ videomixer: Update videoconvert code from -base
+ And also rename the remaining symbols to prevent conflicts
+ during static linking.
+ https://bugzilla.gnome.org/show_bug.cgi?id=728443
+
+2014-06-28 13:01:46 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/autodetect/gstautovideosrc.c:
+ autovideosrc: use videotestsrc as fallback element instead of fakesrc
+ fakesrc doesn't announce video caps, so most video pipelines will
+ just error out with not-negotiated if a fallback element is created.
+
+2014-06-28 12:44:31 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/autodetect/gstautoaudiosrc.c:
+ * gst/autodetect/gstautodetect.c:
+ * gst/autodetect/gstautodetect.h:
+ autoaudiosrc: use audiotestsrc as fallback element instead of fakesrc
+ fakesrc doesn't announce audio caps, so most audio pipelines will
+ just error out with not-negotiated if a fallback element is created.
+
=== release 1.3.90 ===
-2014-06-28 Sebastian Dröge <slomo@coaxion.net>
+2014-06-28 11:21:15 +0200 Sebastian Dröge <sebastian@centricular.com>
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
* configure.ac:
- releasing 1.3.90
+ * docs/plugins/gst-plugins-good-plugins.hierarchy:
+ * docs/plugins/inspect/plugin-1394.xml:
+ * docs/plugins/inspect/plugin-aasink.xml:
+ * docs/plugins/inspect/plugin-alaw.xml:
+ * docs/plugins/inspect/plugin-alpha.xml:
+ * docs/plugins/inspect/plugin-alphacolor.xml:
+ * docs/plugins/inspect/plugin-apetag.xml:
+ * docs/plugins/inspect/plugin-audiofx.xml:
+ * docs/plugins/inspect/plugin-audioparsers.xml:
+ * docs/plugins/inspect/plugin-auparse.xml:
+ * docs/plugins/inspect/plugin-autodetect.xml:
+ * docs/plugins/inspect/plugin-avi.xml:
+ * docs/plugins/inspect/plugin-cacasink.xml:
+ * docs/plugins/inspect/plugin-cairo.xml:
+ * docs/plugins/inspect/plugin-cutter.xml:
+ * docs/plugins/inspect/plugin-debug.xml:
+ * docs/plugins/inspect/plugin-deinterlace.xml:
+ * docs/plugins/inspect/plugin-dtmf.xml:
+ * docs/plugins/inspect/plugin-dv.xml:
+ * docs/plugins/inspect/plugin-effectv.xml:
+ * docs/plugins/inspect/plugin-equalizer.xml:
+ * docs/plugins/inspect/plugin-flac.xml:
+ * docs/plugins/inspect/plugin-flv.xml:
+ * docs/plugins/inspect/plugin-flxdec.xml:
+ * docs/plugins/inspect/plugin-gdkpixbuf.xml:
+ * docs/plugins/inspect/plugin-goom.xml:
+ * docs/plugins/inspect/plugin-goom2k1.xml:
+ * docs/plugins/inspect/plugin-icydemux.xml:
+ * docs/plugins/inspect/plugin-id3demux.xml:
+ * docs/plugins/inspect/plugin-imagefreeze.xml:
+ * docs/plugins/inspect/plugin-interleave.xml:
+ * docs/plugins/inspect/plugin-isomp4.xml:
+ * docs/plugins/inspect/plugin-jack.xml:
+ * docs/plugins/inspect/plugin-jpeg.xml:
+ * docs/plugins/inspect/plugin-level.xml:
+ * docs/plugins/inspect/plugin-matroska.xml:
+ * docs/plugins/inspect/plugin-mulaw.xml:
+ * docs/plugins/inspect/plugin-multifile.xml:
+ * docs/plugins/inspect/plugin-multipart.xml:
+ * docs/plugins/inspect/plugin-navigationtest.xml:
+ * docs/plugins/inspect/plugin-oss4.xml:
+ * docs/plugins/inspect/plugin-ossaudio.xml:
+ * docs/plugins/inspect/plugin-png.xml:
+ * docs/plugins/inspect/plugin-pulseaudio.xml:
+ * docs/plugins/inspect/plugin-replaygain.xml:
+ * docs/plugins/inspect/plugin-rtp.xml:
+ * docs/plugins/inspect/plugin-rtpmanager.xml:
+ * docs/plugins/inspect/plugin-rtsp.xml:
+ * docs/plugins/inspect/plugin-shapewipe.xml:
+ * docs/plugins/inspect/plugin-shout2send.xml:
+ * docs/plugins/inspect/plugin-smpte.xml:
+ * docs/plugins/inspect/plugin-soup.xml:
+ * docs/plugins/inspect/plugin-spectrum.xml:
+ * docs/plugins/inspect/plugin-speex.xml:
+ * docs/plugins/inspect/plugin-taglib.xml:
+ * docs/plugins/inspect/plugin-udp.xml:
+ * docs/plugins/inspect/plugin-video4linux2.xml:
+ * docs/plugins/inspect/plugin-videobox.xml:
+ * docs/plugins/inspect/plugin-videocrop.xml:
+ * docs/plugins/inspect/plugin-videofilter.xml:
+ * docs/plugins/inspect/plugin-videomixer.xml:
+ * docs/plugins/inspect/plugin-vpx.xml:
+ * docs/plugins/inspect/plugin-wavenc.xml:
+ * docs/plugins/inspect/plugin-wavpack.xml:
+ * docs/plugins/inspect/plugin-wavparse.xml:
+ * docs/plugins/inspect/plugin-ximagesrc.xml:
+ * docs/plugins/inspect/plugin-y4menc.xml:
+ * gst-plugins-good.doap:
+ * win32/common/config.h:
+ Release 1.3.90
+
+2014-06-28 11:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/af.po:
+ * po/az.po:
+ * po/bg.po:
+ * po/ca.po:
+ * po/cs.po:
+ * po/da.po:
+ * po/de.po:
+ * po/el.po:
+ * po/en_GB.po:
+ * po/eo.po:
+ * po/es.po:
+ * po/eu.po:
+ * po/fi.po:
+ * po/fr.po:
+ * po/gl.po:
+ * po/hr.po:
+ * po/hu.po:
+ * po/id.po:
+ * po/it.po:
+ * po/ja.po:
+ * po/lt.po:
+ * po/lv.po:
+ * po/mt.po:
+ * po/nb.po:
+ * po/nl.po:
+ * po/or.po:
+ * po/pl.po:
+ * po/pt_BR.po:
+ * po/ro.po:
+ * po/ru.po:
+ * po/sk.po:
+ * po/sl.po:
+ * po/sq.po:
+ * po/sr.po:
+ * po/sv.po:
+ * po/tr.po:
+ * po/uk.po:
+ * po/vi.po:
+ * po/zh_CN.po:
+ * po/zh_HK.po:
+ * po/zh_TW.po:
+ Update .po files
2014-06-26 14:52:57 -0400 Olivier Crête <olivier.crete@collabora.com>
diff --git a/Makefile.in b/Makefile.in
index 53f65c47..01c90974 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -98,7 +98,7 @@ DIST_COMMON = $(top_srcdir)/common/win32.mak \
$(top_srcdir)/configure $(am__configure_deps) \
$(srcdir)/config.h.in $(srcdir)/gst-plugins-good.spec.in \
ABOUT-NLS $(noinst_HEADERS) COPYING compile config.guess \
- config.rpath config.sub install-sh missing ltmain.sh
+ config.rpath config.sub depcomp install-sh missing ltmain.sh
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
diff --git a/NEWS b/NEWS
index ea07e569..56c33517 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-This is GStreamer Good Plugins 1.3.90
+This is GStreamer Good Plugins 1.3.91
Changes since 1.2:
diff --git a/RELEASE b/RELEASE
index 45edb371..ed47d0cf 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,8 +1,8 @@
-Release notes for GStreamer Good Plugins 1.3.90
+Release notes for GStreamer Good Plugins 1.3.91
-The GStreamer team is pleased to announce the first release candidate of
+The GStreamer team is pleased to announce the second release candidate of
the stable 1.4 release series. The 1.4 release series is adding new features
on top of the 1.0 and 1.2 series and is part of the API and ABI-stable 1.x
release series of the GStreamer multimedia framework.
@@ -68,11 +68,15 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
Bugs fixed in this release
- * 701110 : videomixer: sinkpads GSList is not protected for multi-threading
- * 703753 : osxvideosink: remove legacy code for passing a windows ID
- * 731324 : rtpssrcdemux: manage ssrc of RTCP RR packets
- * 731533 : wavparse: Infinite loop in wavparse with some files
- * 732144 : videobox: Add unit tests
+ * 724521 : v4l2object: Inconvenient handling of V4L2_FRMSIZE_STEPWISE
+ * 732326 : v4l2: slow UVC webcam startup due to excessive S_FMT
+ * 732372 : matroskademux: send gap events instead of doing 0.10-style segment tricks
+ * 732707 : v4l2object: Assert with fakesink
+ * 732714 : avidemux, wavparse: Print invalid fourcc in hex
+ * 732912 : v4l2src: Does not activate its pool when not pushing from it
+ * 732976 : tests & examples: Unref parent after use
+ * 733003 : rtspsrc: memleak, missing gst_query_unref
+ * 731015 : v4l2src: deadlock on shutdown
==== Download ====
@@ -109,14 +113,11 @@ subscribe to the gstreamer-devel list.
Contributors to this release
- * Andoni Morales Alastruey
- * David Fernandez
- * Jan Schmidt
- * Miguel París Díaz
- * Olivier Crête
- * Ravi Kiran K N
+ * Daniel Drake
+ * Nicolas Dufresne
* Sebastian Dröge
- * Thibault Saunier
+ * Sebastian Rasmussen
* Tim-Philipp Müller
+ * Vincent Penquerc'h
* Wim Taymans
  \ No newline at end of file
diff --git a/configure b/configure
index 9373ad8a..a762ea54 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.3.90.
+# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.3.91.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GStreamer Good Plug-ins'
PACKAGE_TARNAME='gst-plugins-good'
-PACKAGE_VERSION='1.3.90'
-PACKAGE_STRING='GStreamer Good Plug-ins 1.3.90'
+PACKAGE_VERSION='1.3.91'
+PACKAGE_STRING='GStreamer Good Plug-ins 1.3.91'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
PACKAGE_URL=''
@@ -1945,7 +1945,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GStreamer Good Plug-ins 1.3.90 to adapt to many kinds of systems.
+\`configure' configures GStreamer Good Plug-ins 1.3.91 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2021,7 +2021,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.3.90:";;
+ short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.3.91:";;
esac
cat <<\_ACEOF
@@ -2384,7 +2384,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GStreamer Good Plug-ins configure 1.3.90
+GStreamer Good Plug-ins configure 1.3.91
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3195,7 +3195,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GStreamer Good Plug-ins $as_me 1.3.90, which was
+It was created by GStreamer Good Plug-ins $as_me 1.3.91, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4177,7 +4177,7 @@ fi
# Define the identity of the package.
PACKAGE='gst-plugins-good'
- VERSION='1.3.90'
+ VERSION='1.3.91'
cat >>confdefs.h <<_ACEOF
@@ -4388,9 +4388,9 @@ fi
- PACKAGE_VERSION_MAJOR=$(echo 1.3.90 | cut -d'.' -f1)
- PACKAGE_VERSION_MINOR=$(echo 1.3.90 | cut -d'.' -f2)
- PACKAGE_VERSION_MICRO=$(echo 1.3.90 | cut -d'.' -f3)
+ PACKAGE_VERSION_MAJOR=$(echo 1.3.91 | cut -d'.' -f1)
+ PACKAGE_VERSION_MINOR=$(echo 1.3.91 | cut -d'.' -f2)
+ PACKAGE_VERSION_MICRO=$(echo 1.3.91 | cut -d'.' -f3)
@@ -4401,7 +4401,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
$as_echo_n "checking nano version... " >&6; }
- NANO=$(echo 1.3.90 | cut -d'.' -f4)
+ NANO=$(echo 1.3.91 | cut -d'.' -f4)
if test x"$NANO" = x || test "x$NANO" = "x0" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -9057,10 +9057,10 @@ fi
done
- GST_CURRENT=390
+ GST_CURRENT=391
GST_REVISION=0
- GST_AGE=390
- GST_LIBVERSION=390:0:390
+ GST_AGE=391
+ GST_LIBVERSION=391:0:391
@@ -13385,8 +13385,8 @@ CC="$lt_save_CC"
-GST_REQ=1.3.90
-GSTPB_REQ=1.3.90
+GST_REQ=1.3.91
+GSTPB_REQ=1.3.91
@@ -37425,7 +37425,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GStreamer Good Plug-ins $as_me 1.3.90, which was
+This file was extended by GStreamer Good Plug-ins $as_me 1.3.91, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -37491,7 +37491,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GStreamer Good Plug-ins config.status 1.3.90
+GStreamer Good Plug-ins config.status 1.3.91
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index ffa20932..457edfab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file
dnl initialize autoconf
dnl releases only do -Wall, git and prerelease does -Werror too
dnl use a three digit version number for releases, and four for git/pre
-AC_INIT([GStreamer Good Plug-ins],[1.3.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
+AC_INIT([GStreamer Good Plug-ins],[1.3.91],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
AG_GST_INIT
@@ -43,11 +43,11 @@ AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
[GStreamer API Version])
AG_GST_LIBTOOL_PREPARE
-AS_LIBTOOL(GST, 390, 0, 390)
+AS_LIBTOOL(GST, 391, 0, 391)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.3.90
-GSTPB_REQ=1.3.90
+GST_REQ=1.3.91
+GSTPB_REQ=1.3.91
dnl *** autotools stuff ****
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
index ad5b3cba..2e4b6276 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
index 78f921fe..799bc20e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
index 45990b50..2dbf3eaf 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
index 207fbeff..36a84bc7 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
index 91e2156e..644c5737 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
index 7f569a33..96401568 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
index 87c5a05f..cf74310d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
index f66e1f7e..f5d62921 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
index 1b9f18e0..bfea0a71 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
index 8c086e29..fe85a82d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
index 163284e8..b2cacde1 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
index 6bd6efd1..b5f88375 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
index 2a1a6e66..e0f7fbb4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
index 6729e8fe..b2214892 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
index 93391bb9..56e4a240 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
index 3031e8a1..b53b7e3d 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
index 7b83ee96..8b80f8c3 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
index de410e4a..1314cb69 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
index 60d751ff..5dce798c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
index b6c780b9..2f08349f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
index 85dda917..05ea4014 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
index 797d4594..3001c3d6 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
index de2cd750..6a680c2f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
index 9ebf5c3b..77067e97 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
index 26665a22..ba66baea 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
index a6f9d6a8..72023f86 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
index 533edc36..d4bb0caf 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
index a5c94f98..831e2774 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
index ed9fbde7..5af217ba 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
index 4047d42d..58b340a5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
index 16d24f6d..5eecda03 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
index 75390da5..9240a45b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
index fdfa61f8..f11d894e 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
index a81f7a14..a0d624cb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
index 35c1b201..3a6c65d5 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
index ea4677d9..ed507119 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
index 81bedd94..e1d87e9b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
index 66bff8bb..4f353d71 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
index fb6a110f..794eaa76 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
index 93a5ed89..64c33a5a 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
index d3235ed8..7f4e6774 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
index 62ced3f2..3c756fb9 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
index a3a4e79e..3ee2fa3f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
index c4d5ecbf..a6c3625b 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
index bf2623c0..ea982991 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
index 80918747..5bb2fb05 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
index c16bf16c..5c0dc721 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
index 5cc15997..2588de57 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2send.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
index 361ac5bb..166ad7cb 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
index 02a3fa61..f9e1c295 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
index b433e469..c14bd630 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
index 224c6d46..80f0eee2 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
index 87a8d583..67155073 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
index d795e742..643efb1f 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
index c6268680..de46287c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
index af3781aa..d2f5d953 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
index 89979d13..fd1e8091 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
index 00e5cff6..67101970 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
index 0fd27019..6ff0c9e9 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
index f7c86778..964bee7c 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
index 76fccd2b..2b833fad 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
index 742802a8..559d32f4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
index 9361c4c2..8fd4ddee 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
index a8845fcd..e00124f4 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
index ac8768d0..3acd2039 100644
--- a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
+++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.3.90</td>
+<td>1.3.91</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index ce5edcc2..7ba7cbd8 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Good Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GStreamer Good Plugins 1.0 (1.3.90)
+ for GStreamer Good Plugins 1.0 (1.3.91)
The latest version of this documentation can be found on-line at
<a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/</a>.
</p></div>
diff --git a/docs/plugins/inspect/plugin-1394.xml b/docs/plugins/inspect/plugin-1394.xml
index e301926b..7f5cc7f9 100644
--- a/docs/plugins/inspect/plugin-1394.xml
+++ b/docs/plugins/inspect/plugin-1394.xml
@@ -3,7 +3,7 @@
<description>Source for video data via IEEE1394 interface</description>
<filename>../../ext/raw1394/.libs/libgst1394.so</filename>
<basename>libgst1394.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-aasink.xml b/docs/plugins/inspect/plugin-aasink.xml
index 2942e4bb..3a4c5bf7 100644
--- a/docs/plugins/inspect/plugin-aasink.xml
+++ b/docs/plugins/inspect/plugin-aasink.xml
@@ -3,7 +3,7 @@
<description>ASCII Art video sink</description>
<filename>../../ext/aalib/.libs/libgstaasink.so</filename>
<basename>libgstaasink.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alaw.xml b/docs/plugins/inspect/plugin-alaw.xml
index 6b5aca18..2f33e6be 100644
--- a/docs/plugins/inspect/plugin-alaw.xml
+++ b/docs/plugins/inspect/plugin-alaw.xml
@@ -3,7 +3,7 @@
<description>ALaw audio conversion routines</description>
<filename>../../gst/law/.libs/libgstalaw.so</filename>
<basename>libgstalaw.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alpha.xml b/docs/plugins/inspect/plugin-alpha.xml
index 1f8a7c7e..8571b2ed 100644
--- a/docs/plugins/inspect/plugin-alpha.xml
+++ b/docs/plugins/inspect/plugin-alpha.xml
@@ -3,7 +3,7 @@
<description>adds an alpha channel to video - constant or via chroma-keying</description>
<filename>../../gst/alpha/.libs/libgstalpha.so</filename>
<basename>libgstalpha.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-alphacolor.xml b/docs/plugins/inspect/plugin-alphacolor.xml
index f74eb25c..15c03c22 100644
--- a/docs/plugins/inspect/plugin-alphacolor.xml
+++ b/docs/plugins/inspect/plugin-alphacolor.xml
@@ -3,7 +3,7 @@
<description>RGBA from/to AYUV colorspace conversion preserving the alpha channel</description>
<filename>../../gst/alpha/.libs/libgstalphacolor.so</filename>
<basename>libgstalphacolor.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-apetag.xml b/docs/plugins/inspect/plugin-apetag.xml
index 7daadd28..7b6e01ec 100644
--- a/docs/plugins/inspect/plugin-apetag.xml
+++ b/docs/plugins/inspect/plugin-apetag.xml
@@ -3,7 +3,7 @@
<description>APEv1/2 tag reader</description>
<filename>../../gst/apetag/.libs/libgstapetag.so</filename>
<basename>libgstapetag.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml
index 19b803e1..4ab7ff97 100644
--- a/docs/plugins/inspect/plugin-audiofx.xml
+++ b/docs/plugins/inspect/plugin-audiofx.xml
@@ -3,7 +3,7 @@
<description>Audio effects plugin</description>
<filename>../../gst/audiofx/.libs/libgstaudiofx.so</filename>
<basename>libgstaudiofx.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audioparsers.xml b/docs/plugins/inspect/plugin-audioparsers.xml
index 7b50c6e9..2d3c9f8b 100644
--- a/docs/plugins/inspect/plugin-audioparsers.xml
+++ b/docs/plugins/inspect/plugin-audioparsers.xml
@@ -3,7 +3,7 @@
<description>Parsers for various audio formats</description>
<filename>../../gst/audioparsers/.libs/libgstaudioparsers.so</filename>
<basename>libgstaudioparsers.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-auparse.xml b/docs/plugins/inspect/plugin-auparse.xml
index 2a270290..1916c563 100644
--- a/docs/plugins/inspect/plugin-auparse.xml
+++ b/docs/plugins/inspect/plugin-auparse.xml
@@ -3,7 +3,7 @@
<description>parses au streams</description>
<filename>../../gst/auparse/.libs/libgstauparse.so</filename>
<basename>libgstauparse.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-autodetect.xml b/docs/plugins/inspect/plugin-autodetect.xml
index 4074c5eb..a09efa43 100644
--- a/docs/plugins/inspect/plugin-autodetect.xml
+++ b/docs/plugins/inspect/plugin-autodetect.xml
@@ -3,7 +3,7 @@
<description>Plugin contains auto-detection plugins for video/audio in- and outputs</description>
<filename>../../gst/autodetect/.libs/libgstautodetect.so</filename>
<basename>libgstautodetect.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-avi.xml b/docs/plugins/inspect/plugin-avi.xml
index 53a90e2d..2c4e657e 100644
--- a/docs/plugins/inspect/plugin-avi.xml
+++ b/docs/plugins/inspect/plugin-avi.xml
@@ -3,7 +3,7 @@
<description>AVI stream handling</description>
<filename>../../gst/avi/.libs/libgstavi.so</filename>
<basename>libgstavi.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cacasink.xml b/docs/plugins/inspect/plugin-cacasink.xml
index 33c648d9..791b069c 100644
--- a/docs/plugins/inspect/plugin-cacasink.xml
+++ b/docs/plugins/inspect/plugin-cacasink.xml
@@ -3,7 +3,7 @@
<description>Colored ASCII Art video sink</description>
<filename>../../ext/libcaca/.libs/libgstcacasink.so</filename>
<basename>libgstcacasink.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cairo.xml b/docs/plugins/inspect/plugin-cairo.xml
index f2bad964..068e23c5 100644
--- a/docs/plugins/inspect/plugin-cairo.xml
+++ b/docs/plugins/inspect/plugin-cairo.xml
@@ -3,7 +3,7 @@
<description>Cairo-based elements</description>
<filename>../../ext/cairo/.libs/libgstcairo.so</filename>
<basename>libgstcairo.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-cutter.xml b/docs/plugins/inspect/plugin-cutter.xml
index 3b23e887..398f92ef 100644
--- a/docs/plugins/inspect/plugin-cutter.xml
+++ b/docs/plugins/inspect/plugin-cutter.xml
@@ -3,7 +3,7 @@
<description>Audio Cutter to split audio into non-silent bits</description>
<filename>../../gst/cutter/.libs/libgstcutter.so</filename>
<basename>libgstcutter.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-debug.xml b/docs/plugins/inspect/plugin-debug.xml
index ed89b2cb..83cbb209 100644
--- a/docs/plugins/inspect/plugin-debug.xml
+++ b/docs/plugins/inspect/plugin-debug.xml
@@ -3,7 +3,7 @@
<description>elements for testing and debugging</description>
<filename>../../gst/debugutils/.libs/libgstdebug.so</filename>
<basename>libgstdebug.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-deinterlace.xml b/docs/plugins/inspect/plugin-deinterlace.xml
index ccd56bd0..5d66bc7a 100644
--- a/docs/plugins/inspect/plugin-deinterlace.xml
+++ b/docs/plugins/inspect/plugin-deinterlace.xml
@@ -3,7 +3,7 @@
<description>Deinterlacer</description>
<filename>../../gst/deinterlace/.libs/libgstdeinterlace.so</filename>
<basename>libgstdeinterlace.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dtmf.xml b/docs/plugins/inspect/plugin-dtmf.xml
index 93830e12..2e1e4602 100644
--- a/docs/plugins/inspect/plugin-dtmf.xml
+++ b/docs/plugins/inspect/plugin-dtmf.xml
@@ -3,7 +3,7 @@
<description>DTMF plugins</description>
<filename>../../gst/dtmf/.libs/libgstdtmf.so</filename>
<basename>libgstdtmf.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dv.xml b/docs/plugins/inspect/plugin-dv.xml
index 1a84472b..5a519e3b 100644
--- a/docs/plugins/inspect/plugin-dv.xml
+++ b/docs/plugins/inspect/plugin-dv.xml
@@ -3,7 +3,7 @@
<description>DV demuxer and decoder based on libdv (libdv.sf.net)</description>
<filename>../../ext/dv/.libs/libgstdv.so</filename>
<basename>libgstdv.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-effectv.xml b/docs/plugins/inspect/plugin-effectv.xml
index bfd8d7b1..9c963e73 100644
--- a/docs/plugins/inspect/plugin-effectv.xml
+++ b/docs/plugins/inspect/plugin-effectv.xml
@@ -3,7 +3,7 @@
<description>effect plugins from the effectv project</description>
<filename>../../gst/effectv/.libs/libgsteffectv.so</filename>
<basename>libgsteffectv.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-equalizer.xml b/docs/plugins/inspect/plugin-equalizer.xml
index c54382d4..2290cd39 100644
--- a/docs/plugins/inspect/plugin-equalizer.xml
+++ b/docs/plugins/inspect/plugin-equalizer.xml
@@ -3,7 +3,7 @@
<description>GStreamer audio equalizers</description>
<filename>../../gst/equalizer/.libs/libgstequalizer.so</filename>
<basename>libgstequalizer.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flac.xml b/docs/plugins/inspect/plugin-flac.xml
index 5c88958e..a94fc1ab 100644
--- a/docs/plugins/inspect/plugin-flac.xml
+++ b/docs/plugins/inspect/plugin-flac.xml
@@ -3,7 +3,7 @@
<description>The FLAC Lossless compressor Codec</description>
<filename>../../ext/flac/.libs/libgstflac.so</filename>
<basename>libgstflac.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flv.xml b/docs/plugins/inspect/plugin-flv.xml
index a797c0d5..ffa00c94 100644
--- a/docs/plugins/inspect/plugin-flv.xml
+++ b/docs/plugins/inspect/plugin-flv.xml
@@ -3,7 +3,7 @@
<description>FLV muxing and demuxing plugin</description>
<filename>../../gst/flv/.libs/libgstflv.so</filename>
<basename>libgstflv.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-flxdec.xml b/docs/plugins/inspect/plugin-flxdec.xml
index 91d61f63..1438406f 100644
--- a/docs/plugins/inspect/plugin-flxdec.xml
+++ b/docs/plugins/inspect/plugin-flxdec.xml
@@ -3,7 +3,7 @@
<description>FLC/FLI/FLX video decoder</description>
<filename>../../gst/flx/.libs/libgstflxdec.so</filename>
<basename>libgstflxdec.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gdkpixbuf.xml b/docs/plugins/inspect/plugin-gdkpixbuf.xml
index ea26a9eb..1a3c2254 100644
--- a/docs/plugins/inspect/plugin-gdkpixbuf.xml
+++ b/docs/plugins/inspect/plugin-gdkpixbuf.xml
@@ -3,7 +3,7 @@
<description>GdkPixbuf-based image decoder, overlay and sink</description>
<filename>../../ext/gdk_pixbuf/.libs/libgstgdkpixbuf.so</filename>
<basename>libgstgdkpixbuf.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-goom.xml b/docs/plugins/inspect/plugin-goom.xml
index 702bbac1..07bed34d 100644
--- a/docs/plugins/inspect/plugin-goom.xml
+++ b/docs/plugins/inspect/plugin-goom.xml
@@ -3,7 +3,7 @@
<description>GOOM visualization filter</description>
<filename>../../gst/goom/.libs/libgstgoom.so</filename>
<basename>libgstgoom.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-goom2k1.xml b/docs/plugins/inspect/plugin-goom2k1.xml
index 97fb8ab9..c93f4f11 100644
--- a/docs/plugins/inspect/plugin-goom2k1.xml
+++ b/docs/plugins/inspect/plugin-goom2k1.xml
@@ -3,7 +3,7 @@
<description>GOOM 2k1 visualization filter</description>
<filename>../../gst/goom2k1/.libs/libgstgoom2k1.so</filename>
<basename>libgstgoom2k1.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-icydemux.xml b/docs/plugins/inspect/plugin-icydemux.xml
index 4a9c63fa..b41c3f78 100644
--- a/docs/plugins/inspect/plugin-icydemux.xml
+++ b/docs/plugins/inspect/plugin-icydemux.xml
@@ -3,7 +3,7 @@
<description>Demux ICY tags from a stream</description>
<filename>../../gst/icydemux/.libs/libgsticydemux.so</filename>
<basename>libgsticydemux.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-id3demux.xml b/docs/plugins/inspect/plugin-id3demux.xml
index 973ff39d..fd2f75c1 100644
--- a/docs/plugins/inspect/plugin-id3demux.xml
+++ b/docs/plugins/inspect/plugin-id3demux.xml
@@ -3,7 +3,7 @@
<description>Demux ID3v1 and ID3v2 tags from a file</description>
<filename>../../gst/id3demux/.libs/libgstid3demux.so</filename>
<basename>libgstid3demux.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-imagefreeze.xml b/docs/plugins/inspect/plugin-imagefreeze.xml
index 40b5fedb..73f902b9 100644
--- a/docs/plugins/inspect/plugin-imagefreeze.xml
+++ b/docs/plugins/inspect/plugin-imagefreeze.xml
@@ -3,7 +3,7 @@
<description>Still frame stream generator</description>
<filename>../../gst/imagefreeze/.libs/libgstimagefreeze.so</filename>
<basename>libgstimagefreeze.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-interleave.xml b/docs/plugins/inspect/plugin-interleave.xml
index de9eac56..2b5cd8b2 100644
--- a/docs/plugins/inspect/plugin-interleave.xml
+++ b/docs/plugins/inspect/plugin-interleave.xml
@@ -3,7 +3,7 @@
<description>Audio interleaver/deinterleaver</description>
<filename>../../gst/interleave/.libs/libgstinterleave.so</filename>
<basename>libgstinterleave.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-isomp4.xml b/docs/plugins/inspect/plugin-isomp4.xml
index 2e8183cf..42a5e40f 100644
--- a/docs/plugins/inspect/plugin-isomp4.xml
+++ b/docs/plugins/inspect/plugin-isomp4.xml
@@ -3,7 +3,7 @@
<description>ISO base media file format support (mp4, 3gpp, qt, mj2)</description>
<filename>../../gst/isomp4/.libs/libgstisomp4.so</filename>
<basename>libgstisomp4.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jack.xml b/docs/plugins/inspect/plugin-jack.xml
index 1c781173..78343c2d 100644
--- a/docs/plugins/inspect/plugin-jack.xml
+++ b/docs/plugins/inspect/plugin-jack.xml
@@ -3,7 +3,7 @@
<description>JACK audio elements</description>
<filename>../../ext/jack/.libs/libgstjack.so</filename>
<basename>libgstjack.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jpeg.xml b/docs/plugins/inspect/plugin-jpeg.xml
index 07ab61b3..aad841f3 100644
--- a/docs/plugins/inspect/plugin-jpeg.xml
+++ b/docs/plugins/inspect/plugin-jpeg.xml
@@ -3,7 +3,7 @@
<description>JPeg plugin library</description>
<filename>../../ext/jpeg/.libs/libgstjpeg.so</filename>
<basename>libgstjpeg.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-level.xml b/docs/plugins/inspect/plugin-level.xml
index 8b2f8158..7774d73b 100644
--- a/docs/plugins/inspect/plugin-level.xml
+++ b/docs/plugins/inspect/plugin-level.xml
@@ -3,7 +3,7 @@
<description>Audio level plugin</description>
<filename>../../gst/level/.libs/libgstlevel.so</filename>
<basename>libgstlevel.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-matroska.xml b/docs/plugins/inspect/plugin-matroska.xml
index 926bcb8c..c8e38fd1 100644
--- a/docs/plugins/inspect/plugin-matroska.xml
+++ b/docs/plugins/inspect/plugin-matroska.xml
@@ -3,7 +3,7 @@
<description>Matroska and WebM stream handling</description>
<filename>../../gst/matroska/.libs/libgstmatroska.so</filename>
<basename>libgstmatroska.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mulaw.xml b/docs/plugins/inspect/plugin-mulaw.xml
index d5bf826d..517b13cd 100644
--- a/docs/plugins/inspect/plugin-mulaw.xml
+++ b/docs/plugins/inspect/plugin-mulaw.xml
@@ -3,7 +3,7 @@
<description>MuLaw audio conversion routines</description>
<filename>../../gst/law/.libs/libgstmulaw.so</filename>
<basename>libgstmulaw.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-multifile.xml b/docs/plugins/inspect/plugin-multifile.xml
index 2f071419..59114fba 100644
--- a/docs/plugins/inspect/plugin-multifile.xml
+++ b/docs/plugins/inspect/plugin-multifile.xml
@@ -3,7 +3,7 @@
<description>Reads/Writes buffers from/to sequentially named files</description>
<filename>../../gst/multifile/.libs/libgstmultifile.so</filename>
<basename>libgstmultifile.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-multipart.xml b/docs/plugins/inspect/plugin-multipart.xml
index 97e18762..df41b962 100644
--- a/docs/plugins/inspect/plugin-multipart.xml
+++ b/docs/plugins/inspect/plugin-multipart.xml
@@ -3,7 +3,7 @@
<description>multipart stream manipulation</description>
<filename>../../gst/multipart/.libs/libgstmultipart.so</filename>
<basename>libgstmultipart.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-navigationtest.xml b/docs/plugins/inspect/plugin-navigationtest.xml
index 36ed585d..74c130f0 100644
--- a/docs/plugins/inspect/plugin-navigationtest.xml
+++ b/docs/plugins/inspect/plugin-navigationtest.xml
@@ -3,7 +3,7 @@
<description>Template for a video filter</description>
<filename>../../gst/debugutils/.libs/libgstnavigationtest.so</filename>
<basename>libgstnavigationtest.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-oss4.xml b/docs/plugins/inspect/plugin-oss4.xml
index 3e133611..a33bafa0 100644
--- a/docs/plugins/inspect/plugin-oss4.xml
+++ b/docs/plugins/inspect/plugin-oss4.xml
@@ -3,7 +3,7 @@
<description>Open Sound System (OSS) version 4 support for GStreamer</description>
<filename>../../sys/oss4/.libs/libgstoss4audio.so</filename>
<basename>libgstoss4audio.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ossaudio.xml b/docs/plugins/inspect/plugin-ossaudio.xml
index efd10e9b..4cc45f7c 100644
--- a/docs/plugins/inspect/plugin-ossaudio.xml
+++ b/docs/plugins/inspect/plugin-ossaudio.xml
@@ -3,7 +3,7 @@
<description>OSS (Open Sound System) support for GStreamer</description>
<filename>../../sys/oss/.libs/libgstossaudio.so</filename>
<basename>libgstossaudio.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-png.xml b/docs/plugins/inspect/plugin-png.xml
index 11ec9989..67a3b47f 100644
--- a/docs/plugins/inspect/plugin-png.xml
+++ b/docs/plugins/inspect/plugin-png.xml
@@ -3,7 +3,7 @@
<description>PNG plugin library</description>
<filename>../../ext/libpng/.libs/libgstpng.so</filename>
<basename>libgstpng.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-pulseaudio.xml b/docs/plugins/inspect/plugin-pulseaudio.xml
index 92bd986b..2d247e28 100644
--- a/docs/plugins/inspect/plugin-pulseaudio.xml
+++ b/docs/plugins/inspect/plugin-pulseaudio.xml
@@ -3,7 +3,7 @@
<description>PulseAudio plugin library</description>
<filename>../../ext/pulse/.libs/libgstpulse.so</filename>
<basename>libgstpulse.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-replaygain.xml b/docs/plugins/inspect/plugin-replaygain.xml
index a2a18146..4e9baafa 100644
--- a/docs/plugins/inspect/plugin-replaygain.xml
+++ b/docs/plugins/inspect/plugin-replaygain.xml
@@ -3,7 +3,7 @@
<description>ReplayGain volume normalization</description>
<filename>../../gst/replaygain/.libs/libgstreplaygain.so</filename>
<basename>libgstreplaygain.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtp.xml b/docs/plugins/inspect/plugin-rtp.xml
index a6cb81a6..d0e03686 100644
--- a/docs/plugins/inspect/plugin-rtp.xml
+++ b/docs/plugins/inspect/plugin-rtp.xml
@@ -3,7 +3,7 @@
<description>Real-time protocol plugins</description>
<filename>../../gst/rtp/.libs/libgstrtp.so</filename>
<basename>libgstrtp.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtpmanager.xml b/docs/plugins/inspect/plugin-rtpmanager.xml
index be60c1fa..4fc6c491 100644
--- a/docs/plugins/inspect/plugin-rtpmanager.xml
+++ b/docs/plugins/inspect/plugin-rtpmanager.xml
@@ -3,7 +3,7 @@
<description>RTP session management plugin library</description>
<filename>../../gst/rtpmanager/.libs/libgstrtpmanager.so</filename>
<basename>libgstrtpmanager.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtsp.xml b/docs/plugins/inspect/plugin-rtsp.xml
index 287cfb67..168650c1 100644
--- a/docs/plugins/inspect/plugin-rtsp.xml
+++ b/docs/plugins/inspect/plugin-rtsp.xml
@@ -3,7 +3,7 @@
<description>transfer data via RTSP</description>
<filename>../../gst/rtsp/.libs/libgstrtsp.so</filename>
<basename>libgstrtsp.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shapewipe.xml b/docs/plugins/inspect/plugin-shapewipe.xml
index e4051b01..c24c6a16 100644
--- a/docs/plugins/inspect/plugin-shapewipe.xml
+++ b/docs/plugins/inspect/plugin-shapewipe.xml
@@ -3,7 +3,7 @@
<description>Shape Wipe transition filter</description>
<filename>../../gst/shapewipe/.libs/libgstshapewipe.so</filename>
<basename>libgstshapewipe.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shout2send.xml b/docs/plugins/inspect/plugin-shout2send.xml
index a8ad1717..d8846d5d 100644
--- a/docs/plugins/inspect/plugin-shout2send.xml
+++ b/docs/plugins/inspect/plugin-shout2send.xml
@@ -3,7 +3,7 @@
<description>Sends data to an icecast server using libshout2</description>
<filename>../../ext/shout2/.libs/libgstshout2.so</filename>
<basename>libgstshout2.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>libshout2</package>
diff --git a/docs/plugins/inspect/plugin-smpte.xml b/docs/plugins/inspect/plugin-smpte.xml
index 9d5e1d5f..6365571c 100644
--- a/docs/plugins/inspect/plugin-smpte.xml
+++ b/docs/plugins/inspect/plugin-smpte.xml
@@ -3,7 +3,7 @@
<description>Apply the standard SMPTE transitions on video images</description>
<filename>../../gst/smpte/.libs/libgstsmpte.so</filename>
<basename>libgstsmpte.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-soup.xml b/docs/plugins/inspect/plugin-soup.xml
index 9433dc60..870ab8ad 100644
--- a/docs/plugins/inspect/plugin-soup.xml
+++ b/docs/plugins/inspect/plugin-soup.xml
@@ -3,7 +3,7 @@
<description>libsoup HTTP client src/sink</description>
<filename>../../ext/soup/.libs/libgstsouphttpsrc.so</filename>
<basename>libgstsouphttpsrc.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-spectrum.xml b/docs/plugins/inspect/plugin-spectrum.xml
index 708e8bbe..233d8612 100644
--- a/docs/plugins/inspect/plugin-spectrum.xml
+++ b/docs/plugins/inspect/plugin-spectrum.xml
@@ -3,7 +3,7 @@
<description>Run an FFT on the audio signal, output spectrum data</description>
<filename>../../gst/spectrum/.libs/libgstspectrum.so</filename>
<basename>libgstspectrum.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-speex.xml b/docs/plugins/inspect/plugin-speex.xml
index f458aeb0..586f7b15 100644
--- a/docs/plugins/inspect/plugin-speex.xml
+++ b/docs/plugins/inspect/plugin-speex.xml
@@ -3,7 +3,7 @@
<description>Speex plugin library</description>
<filename>../../ext/speex/.libs/libgstspeex.so</filename>
<basename>libgstspeex.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-taglib.xml b/docs/plugins/inspect/plugin-taglib.xml
index a702cf47..7cc042e7 100644
--- a/docs/plugins/inspect/plugin-taglib.xml
+++ b/docs/plugins/inspect/plugin-taglib.xml
@@ -3,7 +3,7 @@
<description>Tag writing plug-in based on taglib</description>
<filename>../../ext/taglib/.libs/libgsttaglib.so</filename>
<basename>libgsttaglib.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-udp.xml b/docs/plugins/inspect/plugin-udp.xml
index 490eaefb..cdcd3e95 100644
--- a/docs/plugins/inspect/plugin-udp.xml
+++ b/docs/plugins/inspect/plugin-udp.xml
@@ -3,7 +3,7 @@
<description>transfer data via UDP</description>
<filename>../../gst/udp/.libs/libgstudp.so</filename>
<basename>libgstudp.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-video4linux2.xml b/docs/plugins/inspect/plugin-video4linux2.xml
index e54ca48f..2741e2cd 100644
--- a/docs/plugins/inspect/plugin-video4linux2.xml
+++ b/docs/plugins/inspect/plugin-video4linux2.xml
@@ -3,7 +3,7 @@
<description>elements for Video 4 Linux</description>
<filename>../../sys/v4l2/.libs/libgstvideo4linux2.so</filename>
<basename>libgstvideo4linux2.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videobox.xml b/docs/plugins/inspect/plugin-videobox.xml
index f8d7b86a..b3d1f647 100644
--- a/docs/plugins/inspect/plugin-videobox.xml
+++ b/docs/plugins/inspect/plugin-videobox.xml
@@ -3,7 +3,7 @@
<description>resizes a video by adding borders or cropping</description>
<filename>../../gst/videobox/.libs/libgstvideobox.so</filename>
<basename>libgstvideobox.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videocrop.xml b/docs/plugins/inspect/plugin-videocrop.xml
index 3e743cdd..fafc14b8 100644
--- a/docs/plugins/inspect/plugin-videocrop.xml
+++ b/docs/plugins/inspect/plugin-videocrop.xml
@@ -3,7 +3,7 @@
<description>Crops video into a user-defined region</description>
<filename>../../gst/videocrop/.libs/libgstvideocrop.so</filename>
<basename>libgstvideocrop.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videofilter.xml b/docs/plugins/inspect/plugin-videofilter.xml
index 587739e7..36510be4 100644
--- a/docs/plugins/inspect/plugin-videofilter.xml
+++ b/docs/plugins/inspect/plugin-videofilter.xml
@@ -3,7 +3,7 @@
<description>Video filters plugin</description>
<filename>../../gst/videofilter/.libs/libgstvideofilter.so</filename>
<basename>libgstvideofilter.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videomixer.xml b/docs/plugins/inspect/plugin-videomixer.xml
index 58fa1b66..354515c8 100644
--- a/docs/plugins/inspect/plugin-videomixer.xml
+++ b/docs/plugins/inspect/plugin-videomixer.xml
@@ -3,7 +3,7 @@
<description>Video mixer</description>
<filename>../../gst/videomixer/.libs/libgstvideomixer.so</filename>
<basename>libgstvideomixer.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vpx.xml b/docs/plugins/inspect/plugin-vpx.xml
index f6210bab..8055d344 100644
--- a/docs/plugins/inspect/plugin-vpx.xml
+++ b/docs/plugins/inspect/plugin-vpx.xml
@@ -3,7 +3,7 @@
<description>VP8 plugin</description>
<filename>../../ext/vpx/.libs/libgstvpx.so</filename>
<basename>libgstvpx.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavenc.xml b/docs/plugins/inspect/plugin-wavenc.xml
index d5c6d0b7..04d188eb 100644
--- a/docs/plugins/inspect/plugin-wavenc.xml
+++ b/docs/plugins/inspect/plugin-wavenc.xml
@@ -3,7 +3,7 @@
<description>Encode raw audio into WAV</description>
<filename>../../gst/wavenc/.libs/libgstwavenc.so</filename>
<basename>libgstwavenc.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavpack.xml b/docs/plugins/inspect/plugin-wavpack.xml
index 97563594..6430d094 100644
--- a/docs/plugins/inspect/plugin-wavpack.xml
+++ b/docs/plugins/inspect/plugin-wavpack.xml
@@ -3,7 +3,7 @@
<description>Wavpack lossless/lossy audio format handling</description>
<filename>../../ext/wavpack/.libs/libgstwavpack.so</filename>
<basename>libgstwavpack.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wavparse.xml b/docs/plugins/inspect/plugin-wavparse.xml
index abde3c9b..1fd45965 100644
--- a/docs/plugins/inspect/plugin-wavparse.xml
+++ b/docs/plugins/inspect/plugin-wavparse.xml
@@ -3,7 +3,7 @@
<description>Parse a .wav file into raw audio</description>
<filename>../../gst/wavparse/.libs/libgstwavparse.so</filename>
<basename>libgstwavparse.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ximagesrc.xml b/docs/plugins/inspect/plugin-ximagesrc.xml
index 4d11f131..a5ab7c4d 100644
--- a/docs/plugins/inspect/plugin-ximagesrc.xml
+++ b/docs/plugins/inspect/plugin-ximagesrc.xml
@@ -3,7 +3,7 @@
<description>X11 video input plugin using standard Xlib calls</description>
<filename>../../sys/ximage/.libs/libgstximagesrc.so</filename>
<basename>libgstximagesrc.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-y4menc.xml b/docs/plugins/inspect/plugin-y4menc.xml
index 4202e6e2..0f104104 100644
--- a/docs/plugins/inspect/plugin-y4menc.xml
+++ b/docs/plugins/inspect/plugin-y4menc.xml
@@ -3,7 +3,7 @@
<description>Encodes a YUV frame into the yuv4mpeg format (mjpegtools)</description>
<filename>../../gst/y4m/.libs/libgsty4menc.so</filename>
<basename>libgsty4menc.so</basename>
- <version>1.3.90</version>
+ <version>1.3.91</version>
<license>LGPL</license>
<source>gst-plugins-good</source>
<package>GStreamer Good Plug-ins source release</package>
diff --git a/ext/pulse/pulsedeviceprovider.c b/ext/pulse/pulsedeviceprovider.c
index 8e917009..c96488cd 100644
--- a/ext/pulse/pulsedeviceprovider.c
+++ b/ext/pulse/pulsedeviceprovider.c
@@ -606,8 +606,8 @@ gst_pulse_device_new (guint device_index, const gchar * device_name,
GstCaps * caps, const gchar * internal_name, GstPulseDeviceType type)
{
GstPulseDevice *gstdev;
- const gchar *element;
- const gchar *klass;
+ const gchar *element = NULL;
+ const gchar *klass = NULL;
g_return_val_if_fail (device_name, NULL);
g_return_val_if_fail (internal_name, NULL);
diff --git a/ext/pulse/pulsesrc.c b/ext/pulse/pulsesrc.c
index 7fc54d90..95eb4b7f 100644
--- a/ext/pulse/pulsesrc.c
+++ b/ext/pulse/pulsesrc.c
@@ -1240,7 +1240,7 @@ gst_pulsesrc_create_stream (GstPulseSrc * pulsesrc, GstCaps ** caps,
const pa_channel_map *m;
GstStructure *s;
gboolean need_channel_layout = FALSE;
- GstAudioRingBufferSpec new_spec, *spec;
+ GstAudioRingBufferSpec new_spec, *spec = NULL;
const gchar *name;
int i;
diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap
index 95cd5cac..48e1fd8d 100644
--- a/gst-plugins-good.doap
+++ b/gst-plugins-good.doap
@@ -34,6 +34,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library).
<release>
<Version>
+ <revision>1.3.91</revision>
+ <branch>1.3</branch>
+ <name></name>
+ <created>2014-07-11</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.3.91.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.3.90</revision>
<branch>1.3</branch>
<name></name>
diff --git a/gst-plugins-good.spec b/gst-plugins-good.spec
index 1e562809..14d8faa0 100644
--- a/gst-plugins-good.spec
+++ b/gst-plugins-good.spec
@@ -4,7 +4,7 @@
%define gst_minver 0.11.0
Name: %{gstreamer}-plugins-good
-Version: 1.3.90
+Version: 1.3.91
Release: 1.gst
Summary: GStreamer plug-ins with good code and licensing
diff --git a/gst/autodetect/gstautoaudiosrc.c b/gst/autodetect/gstautoaudiosrc.c
index e60b24c8..2859386c 100644
--- a/gst/autodetect/gstautoaudiosrc.c
+++ b/gst/autodetect/gstautoaudiosrc.c
@@ -49,9 +49,30 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_ALWAYS,
GST_STATIC_CAPS_ANY);
+static GstElement *
+gst_auto_audio_src_create_fake_element (GstAutoDetect * autodetect)
+{
+ GstElement *fake;
+
+ fake = gst_element_factory_make ("audiotestsrc", "fake-auto-audio-src");
+ if (fake != NULL) {
+ g_object_set (fake, "is-live", TRUE, NULL);
+ gst_util_set_object_arg (G_OBJECT (fake), "wave", "silence");
+ } else {
+ GST_ELEMENT_ERROR (autodetect, RESOURCE, NOT_FOUND,
+ ("Failed to find usable audio source element."),
+ ("Failed to find a usable audio source and couldn't create an audio"
+ "testsrc as fallback either, check your GStreamer installation."));
+ /* This will error out with not-negotiated.. */
+ fake = gst_element_factory_make ("fakesrc", "fake-auto-audio-src");
+ }
+ return fake;
+}
+
static void
gst_auto_audio_src_class_init (GstAutoAudioSrcClass * klass)
{
+ GstAutoDetectClass *autoclass = GST_AUTO_DETECT_CLASS (klass);
GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (eklass,
@@ -61,6 +82,8 @@ gst_auto_audio_src_class_init (GstAutoAudioSrcClass * klass)
"Wrapper audio source for automatically detected audio source",
"Jan Schmidt <thaytan@noraisin.net>, "
"Stefan Kost <ensonic@users.sf.net>");
+
+ autoclass->create_fake_element = gst_auto_audio_src_create_fake_element;
}
static void
diff --git a/gst/autodetect/gstautodetect.c b/gst/autodetect/gstautodetect.c
index 6970eaa5..59aab7e1 100644
--- a/gst/autodetect/gstautodetect.c
+++ b/gst/autodetect/gstautodetect.c
@@ -119,7 +119,7 @@ gst_auto_detect_clear_kid (GstAutoDetect * self)
}
static GstElement *
-gst_auto_detect_create_fake_element (GstAutoDetect * self)
+gst_auto_detect_create_fake_element_default (GstAutoDetect * self)
{
GstElement *fake;
gchar dummy_factory[10], dummy_name[20];
@@ -132,6 +132,20 @@ gst_auto_detect_create_fake_element (GstAutoDetect * self)
return fake;
}
+static GstElement *
+gst_auto_detect_create_fake_element (GstAutoDetect * self)
+{
+ GstAutoDetectClass *klass = GST_AUTO_DETECT_GET_CLASS (self);
+ GstElement *fake;
+
+ if (klass->create_fake_element)
+ fake = klass->create_fake_element (self);
+ else
+ fake = gst_auto_detect_create_fake_element_default (self);
+
+ return fake;
+}
+
static gboolean
gst_auto_detect_attach_ghost_pad (GstAutoDetect * self)
{
diff --git a/gst/autodetect/gstautodetect.h b/gst/autodetect/gstautodetect.h
index 03b06aed..05ae89fe 100644
--- a/gst/autodetect/gstautodetect.h
+++ b/gst/autodetect/gstautodetect.h
@@ -60,9 +60,10 @@ typedef struct _GstAutoDetect {
typedef struct _GstAutoDetectClass {
GstBinClass parent_class;
- /*< public >*/
+ /*< private >*/
/* virtual methods for subclasses */
void (*configure)(GstAutoDetect *self, GstElement *kid);
+ GstElement * (*create_fake_element) (GstAutoDetect * autodetect);
} GstAutoDetectClass;
GType gst_auto_detect_get_type (void);
diff --git a/gst/autodetect/gstautovideosrc.c b/gst/autodetect/gstautovideosrc.c
index 90018ac6..854c641d 100644
--- a/gst/autodetect/gstautovideosrc.c
+++ b/gst/autodetect/gstautovideosrc.c
@@ -49,9 +49,29 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_ALWAYS,
GST_STATIC_CAPS_ANY);
+static GstElement *
+gst_auto_video_src_create_fake_element (GstAutoDetect * autodetect)
+{
+ GstElement *fake;
+
+ fake = gst_element_factory_make ("videotestsrc", "fake-auto-video-src");
+ if (fake != NULL) {
+ g_object_set (fake, "is-live", TRUE, NULL);
+ } else {
+ GST_ELEMENT_ERROR (autodetect, RESOURCE, NOT_FOUND,
+ ("Failed to find usable video source element."),
+ ("Failed to find a usable video source and couldn't create a video"
+ "testsrc as fallback either, check your GStreamer installation."));
+ /* This will error out with not-negotiated.. */
+ fake = gst_element_factory_make ("fakesrc", "fake-auto-video-src");
+ }
+ return fake;
+}
+
static void
gst_auto_video_src_class_init (GstAutoVideoSrcClass * klass)
{
+ GstAutoDetectClass *autoclass = GST_AUTO_DETECT_CLASS (klass);
GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (eklass,
@@ -61,6 +81,8 @@ gst_auto_video_src_class_init (GstAutoVideoSrcClass * klass)
"Wrapper video source for automatically detected video source",
"Jan Schmidt <thaytan@noraisin.net>, "
"Stefan Kost <ensonic@users.sf.net>");
+
+ autoclass->create_fake_element = gst_auto_video_src_create_fake_element;
}
static void
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index c84ffce8..23e1437c 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -1072,8 +1072,7 @@ gst_avi_demux_parse_file_header (GstElement * element, GstBuffer * buf)
not_avi:
{
GST_ELEMENT_ERROR (element, STREAM, WRONG_TYPE, (NULL),
- ("File is not an AVI file: %" GST_FOURCC_FORMAT,
- GST_FOURCC_ARGS (doctype)));
+ ("File is not an AVI file: 0x%" G_GINT32_MODIFIER "x", doctype));
return FALSE;
}
}
diff --git a/gst/deinterlace/gstdeinterlacemethod.c b/gst/deinterlace/gstdeinterlacemethod.c
index 69a42464..93e77e7f 100644
--- a/gst/deinterlace/gstdeinterlacemethod.c
+++ b/gst/deinterlace/gstdeinterlacemethod.c
@@ -310,7 +310,9 @@ gst_deinterlace_simple_method_deinterlace_frame_packed (GstDeinterlaceMethod *
GstVideoFrame * outframe, gint cur_field_idx)
{
GstDeinterlaceSimpleMethod *self = GST_DEINTERLACE_SIMPLE_METHOD (method);
+#ifndef G_DISABLE_ASSERT
GstDeinterlaceMethodClass *dm_class = GST_DEINTERLACE_METHOD_GET_CLASS (self);
+#endif
GstDeinterlaceScanlineData scanlines;
guint cur_field_flags;
gint i;
@@ -519,7 +521,9 @@ gst_deinterlace_simple_method_deinterlace_frame_planar (GstDeinterlaceMethod *
GstVideoFrame * outframe, gint cur_field_idx)
{
GstDeinterlaceSimpleMethod *self = GST_DEINTERLACE_SIMPLE_METHOD (method);
+#ifndef G_DISABLE_ASSERT
GstDeinterlaceMethodClass *dm_class = GST_DEINTERLACE_METHOD_GET_CLASS (self);
+#endif
const GstVideoFrame *frame0, *frame1, *frame2, *framep;
guint cur_field_flags = history[cur_field_idx].flags;
gint i;
@@ -562,7 +566,9 @@ gst_deinterlace_simple_method_deinterlace_frame_nv12 (GstDeinterlaceMethod *
GstVideoFrame * outframe, gint cur_field_idx)
{
GstDeinterlaceSimpleMethod *self = GST_DEINTERLACE_SIMPLE_METHOD (method);
+#ifndef G_DISABLE_ASSERT
GstDeinterlaceMethodClass *dm_class = GST_DEINTERLACE_METHOD_GET_CLASS (self);
+#endif
const GstVideoFrame *frame0, *frame1, *frame2, *framep;
guint cur_field_flags = history[cur_field_idx].flags;
gint i;
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
index 63ecfe1b..adef916b 100644
--- a/gst/matroska/matroska-demux.c
+++ b/gst/matroska/matroska-demux.c
@@ -3478,37 +3478,18 @@ gst_matroska_demux_parse_blockgroup_or_simpleblock (GstMatroskaDemux * demux,
&& lace_time > demux->common.segment.start
&& (!GST_CLOCK_TIME_IS_VALID (demux->common.segment.stop)
|| lace_time < demux->common.segment.stop)) {
- GstSegment segment;
- GstEvent *event1, *event2;
+ GstEvent *event;
GST_DEBUG_OBJECT (demux,
"Gap of %" G_GINT64_FORMAT " ns detected in"
"stream %d (%" GST_TIME_FORMAT " -> %" GST_TIME_FORMAT "). "
"Sending updated SEGMENT events", diff,
stream->index, GST_TIME_ARGS (stream->pos),
GST_TIME_ARGS (lace_time));
- /* send segment events such that the gap is not accounted in
- * segment base time, hence running_time */
- /* close ahead of gap */
- segment = demux->common.segment;
- segment.start = demux->last_stop_end;
- segment.stop = demux->last_stop_end;
- segment.position = demux->last_stop_end;
- event1 = gst_event_new_segment (&segment);
- /* skip gap */
- segment.start = lace_time;
- segment.stop = demux->common.segment.stop;
- segment.position = lace_time;
- event2 = gst_event_new_segment (&segment);
+
+ event = gst_event_new_gap (demux->last_stop_end, diff);
GST_OBJECT_UNLOCK (demux);
- gst_matroska_demux_send_event (demux, event1);
- gst_matroska_demux_send_event (demux, event2);
+ gst_pad_push_event (stream->pad, event);
GST_OBJECT_LOCK (demux);
- /* align segment view with downstream,
- * prevents double-counting base time when closing segment */
- /* FIXME: in 0.10, the segment base/accum got updated here, but
- * maybe we don't need that because of the double accounting
- * mentioned above? */
- demux->common.segment = segment;
}
}
diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c
index 76328fc0..8c76cd03 100644
--- a/gst/matroska/matroska-mux.c
+++ b/gst/matroska/matroska-mux.c
@@ -1911,8 +1911,8 @@ gst_matroska_mux_audio_pad_setcaps (GstPad * pad, GstCaps * caps)
guint8 *codec_priv;
guint codec_priv_size;
guint16 format = 0;
- gint block_align;
- gint bitrate;
+ gint block_align = 0;
+ gint bitrate = 0;
if (samplerate == 0 || channels == 0) {
GST_WARNING_OBJECT (mux, "Missing channels/samplerate on caps");
diff --git a/gst/matroska/matroska-parse.c b/gst/matroska/matroska-parse.c
index 4d3cb421..1eeef5cf 100644
--- a/gst/matroska/matroska-parse.c
+++ b/gst/matroska/matroska-parse.c
@@ -2274,10 +2274,10 @@ gst_matroska_parse_take (GstMatroskaParse * parse, guint64 bytes,
ret = GST_FLOW_ERROR;
goto exit;
}
- if (gst_adapter_available (parse->common.adapter) >= bytes)
- buffer = gst_adapter_take_buffer (parse->common.adapter, bytes);
- else
- ret = GST_FLOW_EOS;
+ if (gst_adapter_available (parse->common.adapter) < bytes)
+ return GST_FLOW_EOS;
+
+ buffer = gst_adapter_take_buffer (parse->common.adapter, bytes);
if (G_LIKELY (buffer)) {
gst_ebml_read_init (ebml, GST_ELEMENT_CAST (parse), buffer,
parse->common.offset);
@@ -2286,6 +2286,7 @@ gst_matroska_parse_take (GstMatroskaParse * parse, guint64 bytes,
ret = GST_FLOW_ERROR;
}
exit:
+
return ret;
}
diff --git a/gst/rtpmanager/gstrtpbin.c b/gst/rtpmanager/gstrtpbin.c
index 9cc7d6ef..9b1b86a9 100644
--- a/gst/rtpmanager/gstrtpbin.c
+++ b/gst/rtpmanager/gstrtpbin.c
@@ -2813,8 +2813,10 @@ caps_changed (GstPad * pad, GParamSpec * pspec, GstRtpBinSession * session)
s = gst_caps_get_structure (caps, 0);
/* get payload, finish when it's not there */
- if (!gst_structure_get_int (s, "payload", &payload))
+ if (!gst_structure_get_int (s, "payload", &payload)) {
+ gst_caps_unref (caps);
return;
+ }
GST_RTP_SESSION_LOCK (session);
GST_DEBUG_OBJECT (bin, "insert caps for payload %d", payload);
diff --git a/gst/rtpmanager/gstrtpssrcdemux.c b/gst/rtpmanager/gstrtpssrcdemux.c
index 5395567f..0f4b23ca 100644
--- a/gst/rtpmanager/gstrtpssrcdemux.c
+++ b/gst/rtpmanager/gstrtpssrcdemux.c
@@ -215,7 +215,7 @@ forward_initial_events (GstRtpSsrcDemux * demux, guint32 ssrc, GstPad * pad,
PadType padtype)
{
struct ForwardStickyEventData fdata;
- GstPad *sinkpad;
+ GstPad *sinkpad = NULL;
if (padtype == RTP_PAD)
sinkpad = demux->rtp_sink;
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index caeed748..e7573c7a 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -1839,7 +1839,7 @@ parse_keymgmt (const gchar * keymgmt, GstCaps * caps)
res = TRUE;
done:
- gst_mikey_message_free (msg);
+ gst_mikey_message_unref (msg);
return res;
}
@@ -2328,12 +2328,16 @@ gst_rtspsrc_get_position (GstRTSPSrc * src)
GST_DEBUG_OBJECT (src, "retaining position %" GST_TIME_FORMAT,
GST_TIME_ARGS (pos));
src->last_pos = pos;
- return;
+ goto out;
}
}
}
src->last_pos = 0;
+
+out:
+
+ gst_query_unref (query);
}
static gboolean
@@ -6036,7 +6040,7 @@ gst_rtspsrc_stream_make_keymgmt (GstRTSPSrc * src, GstRTSPStream * stream)
/* now serialize this to bytes */
bytes = gst_mikey_message_to_bytes (msg, NULL, NULL);
- gst_mikey_message_free (msg);
+ gst_mikey_message_unref (msg);
/* and make it into base64 */
data = g_bytes_get_data (bytes, &size);
base64 = g_base64_encode (data, size);
diff --git a/gst/videomixer/gstcms.c b/gst/videomixer/gstcms.c
index 96a9f70b..c46bd563 100644
--- a/gst/videomixer/gstcms.c
+++ b/gst/videomixer/gstcms.c
@@ -33,7 +33,7 @@
/* our simple CMS */
void
-color_xyY_to_XYZ (Color * c)
+videomixer_color_xyY_to_XYZ (Color * c)
{
if (c->v[1] == 0) {
c->v[0] = 0;
@@ -51,7 +51,7 @@ color_xyY_to_XYZ (Color * c)
}
void
-color_XYZ_to_xyY (Color * c)
+videomixer_color_XYZ_to_xyY (Color * c)
{
double d;
d = c->v[0] + c->v[1] + c->v[2];
@@ -71,7 +71,7 @@ color_XYZ_to_xyY (Color * c)
}
void
-color_set (Color * c, double x, double y, double z)
+videomixer_color_set (Color * c, double x, double y, double z)
{
c->v[0] = x;
c->v[1] = y;
@@ -79,7 +79,7 @@ color_set (Color * c, double x, double y, double z)
}
void
-color_matrix_set_identity (ColorMatrix * m)
+videomixer_color_matrix_set_identity (ColorMatrix * m)
{
int i, j;
@@ -92,7 +92,7 @@ color_matrix_set_identity (ColorMatrix * m)
/* Prettyprint a 4x4 matrix @m@ */
void
-color_matrix_dump (ColorMatrix * m)
+videomixer_color_matrix_dump (ColorMatrix * m)
{
int i, j;
@@ -112,7 +112,8 @@ color_matrix_dump (ColorMatrix * m)
* - @dst@ may be a pointer to @a@ andor @b@
*/
void
-color_matrix_multiply (ColorMatrix * dst, ColorMatrix * a, ColorMatrix * b)
+videomixer_color_matrix_multiply (ColorMatrix * dst, ColorMatrix * a,
+ ColorMatrix * b)
{
ColorMatrix tmp;
int i, j, k;
@@ -131,7 +132,7 @@ color_matrix_multiply (ColorMatrix * dst, ColorMatrix * a, ColorMatrix * b)
}
void
-color_matrix_apply (ColorMatrix * m, Color * dest, Color * src)
+videomixer_color_matrix_apply (ColorMatrix * m, Color * dest, Color * src)
{
int i;
Color tmp;
@@ -148,32 +149,33 @@ color_matrix_apply (ColorMatrix * m, Color * dest, Color * src)
}
void
-color_matrix_offset_components (ColorMatrix * m, double a1, double a2,
- double a3)
+videomixer_color_matrix_offset_components (ColorMatrix * m, double a1,
+ double a2, double a3)
{
ColorMatrix a;
- color_matrix_set_identity (&a);
+ videomixer_color_matrix_set_identity (&a);
a.m[0][3] = a1;
a.m[1][3] = a2;
a.m[2][3] = a3;
- color_matrix_multiply (m, &a, m);
+ videomixer_color_matrix_multiply (m, &a, m);
}
void
-color_matrix_scale_components (ColorMatrix * m, double a1, double a2, double a3)
+videomixer_color_matrix_scale_components (ColorMatrix * m, double a1, double a2,
+ double a3)
{
ColorMatrix a;
- color_matrix_set_identity (&a);
+ videomixer_color_matrix_set_identity (&a);
a.m[0][0] = a1;
a.m[1][1] = a2;
a.m[2][2] = a3;
- color_matrix_multiply (m, &a, m);
+ videomixer_color_matrix_multiply (m, &a, m);
}
void
-color_matrix_YCbCr_to_RGB (ColorMatrix * m, double Kr, double Kb)
+videomixer_color_matrix_YCbCr_to_RGB (ColorMatrix * m, double Kr, double Kb)
{
double Kg = 1.0 - Kr - Kb;
ColorMatrix k = {
@@ -185,11 +187,11 @@ color_matrix_YCbCr_to_RGB (ColorMatrix * m, double Kr, double Kb)
}
};
- color_matrix_multiply (m, &k, m);
+ videomixer_color_matrix_multiply (m, &k, m);
}
void
-color_matrix_RGB_to_YCbCr (ColorMatrix * m, double Kr, double Kb)
+videomixer_color_matrix_RGB_to_YCbCr (ColorMatrix * m, double Kr, double Kb)
{
double Kg = 1.0 - Kr - Kb;
ColorMatrix k;
@@ -217,27 +219,28 @@ color_matrix_RGB_to_YCbCr (ColorMatrix * m, double Kr, double Kb)
k.m[3][2] = 0;
k.m[3][3] = 1;
- color_matrix_multiply (m, &k, m);
+ videomixer_color_matrix_multiply (m, &k, m);
}
void
-color_matrix_build_yuv_to_rgb_601 (ColorMatrix * dst)
+videomixer_color_matrix_build_yuv_to_rgb_601 (ColorMatrix * dst)
{
/*
* At this point, everything is in YCbCr
* All components are in the range [0,255]
*/
- color_matrix_set_identity (dst);
+ videomixer_color_matrix_set_identity (dst);
/* offset required to get input video black to (0.,0.,0.) */
- color_matrix_offset_components (dst, -16, -128, -128);
+ videomixer_color_matrix_offset_components (dst, -16, -128, -128);
/* scale required to get input video black to (0.,0.,0.) */
- color_matrix_scale_components (dst, (1 / 219.0), (1 / 224.0), (1 / 224.0));
+ videomixer_color_matrix_scale_components (dst, (1 / 219.0), (1 / 224.0),
+ (1 / 224.0));
/* colour matrix, YCbCr -> RGB */
/* Requires Y in [0,1.0], Cb&Cr in [-0.5,0.5] */
- color_matrix_YCbCr_to_RGB (dst, 0.2990, 0.1140); /* SD */
+ videomixer_color_matrix_YCbCr_to_RGB (dst, 0.2990, 0.1140); /* SD */
/*
* We are now in RGB space
@@ -245,72 +248,73 @@ color_matrix_build_yuv_to_rgb_601 (ColorMatrix * dst)
#if 0
/* scale to output range. */
- color_matrix_scale_components (dst, 255.0, 255.0, 255.0);
+ videomixer_color_matrix_scale_components (dst, 255.0, 255.0, 255.0);
#endif
}
void
-color_matrix_build_bt709_to_bt601 (ColorMatrix * dst)
+videomixer_color_matrix_build_bt709_to_bt601 (ColorMatrix * dst)
{
- color_matrix_set_identity (dst);
+ videomixer_color_matrix_set_identity (dst);
/* offset required to get input video black to (0.,0.,0.) */
- color_matrix_offset_components (dst, -16, -128, -128);
+ videomixer_color_matrix_offset_components (dst, -16, -128, -128);
/* scale required to get input video black to (0.,0.,0.) */
- color_matrix_scale_components (dst, (1 / 219.0), (1 / 224.0), (1 / 224.0));
+ videomixer_color_matrix_scale_components (dst, (1 / 219.0), (1 / 224.0),
+ (1 / 224.0));
/* colour matrix, YCbCr -> RGB */
/* Requires Y in [0,1.0], Cb&Cr in [-0.5,0.5] */
- color_matrix_YCbCr_to_RGB (dst, 0.2126, 0.0722); /* HD */
+ videomixer_color_matrix_YCbCr_to_RGB (dst, 0.2126, 0.0722); /* HD */
- color_matrix_RGB_to_YCbCr (dst, 0.2990, 0.1140); /* SD */
+ videomixer_color_matrix_RGB_to_YCbCr (dst, 0.2990, 0.1140); /* SD */
- color_matrix_scale_components (dst, 219.0, 224.0, 224.0);
+ videomixer_color_matrix_scale_components (dst, 219.0, 224.0, 224.0);
- color_matrix_offset_components (dst, 16, 128, 128);
+ videomixer_color_matrix_offset_components (dst, 16, 128, 128);
}
void
-color_matrix_build_rgb_to_yuv_601 (ColorMatrix * dst)
+videomixer_color_matrix_build_rgb_to_yuv_601 (ColorMatrix * dst)
{
- color_matrix_set_identity (dst);
+ videomixer_color_matrix_set_identity (dst);
- color_matrix_RGB_to_YCbCr (dst, 0.2990, 0.1140); /* SD */
+ videomixer_color_matrix_RGB_to_YCbCr (dst, 0.2990, 0.1140); /* SD */
- color_matrix_scale_components (dst, 219.0, 224.0, 224.0);
+ videomixer_color_matrix_scale_components (dst, 219.0, 224.0, 224.0);
- color_matrix_offset_components (dst, 16, 128, 128);
+ videomixer_color_matrix_offset_components (dst, 16, 128, 128);
{
Color c;
int i;
for (i = 7; i >= 0; i--) {
- color_set (&c, (i & 2) ? 0.75 : 0.0, (i & 4) ? 0.75 : 0.0,
+ videomixer_color_set (&c, (i & 2) ? 0.75 : 0.0, (i & 4) ? 0.75 : 0.0,
(i & 1) ? 0.75 : 0.0);
- color_matrix_apply (dst, &c, &c);
+ videomixer_color_matrix_apply (dst, &c, &c);
g_print (" { %g, %g, %g },\n", rint (c.v[0]), rint (c.v[1]),
rint (c.v[2]));
}
- color_set (&c, -0.075, -0.075, -0.075);
- color_matrix_apply (dst, &c, &c);
+ videomixer_color_set (&c, -0.075, -0.075, -0.075);
+ videomixer_color_matrix_apply (dst, &c, &c);
g_print (" { %g, %g, %g },\n", rint (c.v[0]), rint (c.v[1]),
rint (c.v[2]));
- color_set (&c, 0.075, 0.075, 0.075);
- color_matrix_apply (dst, &c, &c);
+ videomixer_color_set (&c, 0.075, 0.075, 0.075);
+ videomixer_color_matrix_apply (dst, &c, &c);
g_print (" { %g, %g, %g },\n", rint (c.v[0]), rint (c.v[1]),
rint (c.v[2]));
}
}
void
-color_matrix_invert (ColorMatrix * m)
+videomixer_color_matrix_invert (ColorMatrix * m)
{
ColorMatrix tmp;
int i, j;
double det;
- color_matrix_set_identity (&tmp);
+ videomixer_color_matrix_set_identity (&tmp);
for (j = 0; j < 3; j++) {
for (i = 0; i < 3; i++) {
tmp.m[j][i] =
@@ -330,18 +334,18 @@ color_matrix_invert (ColorMatrix * m)
}
void
-color_matrix_copy (ColorMatrix * dest, ColorMatrix * src)
+videomixer_color_matrix_copy (ColorMatrix * dest, ColorMatrix * src)
{
memcpy (dest, src, sizeof (ColorMatrix));
}
void
-color_matrix_transpose (ColorMatrix * m)
+videomixer_color_matrix_transpose (ColorMatrix * m)
{
int i, j;
ColorMatrix tmp;
- color_matrix_set_identity (&tmp);
+ videomixer_color_matrix_set_identity (&tmp);
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
tmp.m[i][j] = m->m[j][i];
@@ -351,23 +355,23 @@ color_matrix_transpose (ColorMatrix * m)
}
void
-color_matrix_build_XYZ (ColorMatrix * dst,
+videomixer_color_matrix_build_XYZ (ColorMatrix * dst,
double rx, double ry,
double gx, double gy, double bx, double by, double wx, double wy)
{
Color r, g, b, w, scale;
ColorMatrix m;
- color_set (&r, rx, ry, 1.0);
- color_xyY_to_XYZ (&r);
- color_set (&g, gx, gy, 1.0);
- color_xyY_to_XYZ (&g);
- color_set (&b, bx, by, 1.0);
- color_xyY_to_XYZ (&b);
- color_set (&w, wx, wy, 1.0);
- color_xyY_to_XYZ (&w);
+ videomixer_color_set (&r, rx, ry, 1.0);
+ videomixer_color_xyY_to_XYZ (&r);
+ videomixer_color_set (&g, gx, gy, 1.0);
+ videomixer_color_xyY_to_XYZ (&g);
+ videomixer_color_set (&b, bx, by, 1.0);
+ videomixer_color_xyY_to_XYZ (&b);
+ videomixer_color_set (&w, wx, wy, 1.0);
+ videomixer_color_xyY_to_XYZ (&w);
- color_matrix_set_identity (dst);
+ videomixer_color_matrix_set_identity (dst);
dst->m[0][0] = r.v[0];
dst->m[0][1] = r.v[1];
@@ -379,13 +383,13 @@ color_matrix_build_XYZ (ColorMatrix * dst,
dst->m[2][1] = b.v[1];
dst->m[2][2] = b.v[2];
- color_matrix_dump (dst);
- color_matrix_copy (&m, dst);
- color_matrix_invert (&m);
- color_matrix_dump (&m);
+ videomixer_color_matrix_dump (dst);
+ videomixer_color_matrix_copy (&m, dst);
+ videomixer_color_matrix_invert (&m);
+ videomixer_color_matrix_dump (&m);
- color_matrix_transpose (&m);
- color_matrix_apply (&m, &scale, &w);
+ videomixer_color_matrix_transpose (&m);
+ videomixer_color_matrix_apply (&m, &scale, &w);
g_print ("%g %g %g\n", scale.v[0], scale.v[1], scale.v[2]);
dst->m[0][0] = r.v[0] * scale.v[0];
@@ -398,54 +402,54 @@ color_matrix_build_XYZ (ColorMatrix * dst,
dst->m[2][1] = b.v[1] * scale.v[2];
dst->m[2][2] = b.v[2] * scale.v[2];
- color_matrix_transpose (dst);
- color_matrix_dump (dst);
+ videomixer_color_matrix_transpose (dst);
+ videomixer_color_matrix_dump (dst);
- color_set (&scale, 1, 1, 1);
- color_matrix_apply (dst, &scale, &scale);
- color_XYZ_to_xyY (&scale);
+ videomixer_color_set (&scale, 1, 1, 1);
+ videomixer_color_matrix_apply (dst, &scale, &scale);
+ videomixer_color_XYZ_to_xyY (&scale);
g_print ("white %g %g %g\n", scale.v[0], scale.v[1], scale.v[2]);
}
void
-color_matrix_build_rgb_to_XYZ_601 (ColorMatrix * dst)
+videomixer_color_matrix_build_rgb_to_XYZ_601 (ColorMatrix * dst)
{
/* SMPTE C primaries, SMPTE 170M-2004 */
- color_matrix_build_XYZ (dst,
+ videomixer_color_matrix_build_XYZ (dst,
0.630, 0.340, 0.310, 0.595, 0.155, 0.070, 0.3127, 0.3290);
#if 0
/* NTSC 1953 primaries, SMPTE 170M-2004 */
- color_matrix_build_XYZ (dst,
+ videomixer_color_matrix_build_XYZ (dst,
0.67, 0.33, 0.21, 0.71, 0.14, 0.08, 0.3127, 0.3290);
#endif
}
void
-color_matrix_build_XYZ_to_rgb_709 (ColorMatrix * dst)
+videomixer_color_matrix_build_XYZ_to_rgb_709 (ColorMatrix * dst)
{
/* Rec. ITU-R BT.709-5 */
- color_matrix_build_XYZ (dst,
+ videomixer_color_matrix_build_XYZ (dst,
0.640, 0.330, 0.300, 0.600, 0.150, 0.060, 0.3127, 0.3290);
}
void
-color_matrix_build_XYZ_to_rgb_dell (ColorMatrix * dst)
+videomixer_color_matrix_build_XYZ_to_rgb_dell (ColorMatrix * dst)
{
/* Dell monitor */
#if 1
- color_matrix_build_XYZ (dst,
+ videomixer_color_matrix_build_XYZ (dst,
0.662, 0.329, 0.205, 0.683, 0.146, 0.077, 0.3135, 0.3290);
#endif
#if 0
- color_matrix_build_XYZ (dst,
+ videomixer_color_matrix_build_XYZ (dst,
0.630, 0.340, 0.310, 0.595, 0.155, 0.070, 0.3127, 0.3290);
#endif
- color_matrix_invert (dst);
+ videomixer_color_matrix_invert (dst);
}
void
-color_transfer_function_apply (Color * dest, Color * src)
+videomixer_color_transfer_function_apply (Color * dest, Color * src)
{
int i;
@@ -459,7 +463,7 @@ color_transfer_function_apply (Color * dest, Color * src)
}
void
-color_transfer_function_unapply (Color * dest, Color * src)
+videomixer_color_transfer_function_unapply (Color * dest, Color * src)
{
int i;
@@ -473,7 +477,7 @@ color_transfer_function_unapply (Color * dest, Color * src)
}
void
-color_gamut_clamp (Color * dest, Color * src)
+videomixer_color_gamut_clamp (Color * dest, Color * src)
{
dest->v[0] = CLAMP (src->v[0], 0.0, 1.0);
dest->v[1] = CLAMP (src->v[1], 0.0, 1.0);
@@ -497,10 +501,10 @@ get_color_transform_table (void)
guint8 *table_v;
int y, u, v;
- color_matrix_build_yuv_to_rgb_601 (&bt601_to_rgb);
- color_matrix_build_rgb_to_yuv_601 (&bt601_to_yuv);
- color_matrix_build_rgb_to_XYZ_601 (&bt601_rgb_to_XYZ);
- color_matrix_build_XYZ_to_rgb_dell (&dell_XYZ_to_rgb);
+ videomixer_color_matrix_build_yuv_to_rgb_601 (&bt601_to_rgb);
+ videomixer_color_matrix_build_rgb_to_yuv_601 (&bt601_to_yuv);
+ videomixer_color_matrix_build_rgb_to_XYZ_601 (&bt601_rgb_to_XYZ);
+ videomixer_color_matrix_build_XYZ_to_rgb_dell (&dell_XYZ_to_rgb);
color_transform_table = g_malloc (0x1000000 * 3);
@@ -516,14 +520,14 @@ get_color_transform_table (void)
c.v[0] = y;
c.v[1] = u;
c.v[2] = v;
- color_matrix_apply (&bt601_to_rgb, &c, &c);
+ videomixer_color_matrix_apply (&bt601_to_rgb, &c, &c);
color_gamut_clamp (&c, &c);
color_transfer_function_apply (&c, &c);
- color_matrix_apply (&bt601_rgb_to_XYZ, &c, &c);
- color_matrix_apply (&dell_XYZ_to_rgb, &c, &c);
+ videomixer_color_matrix_apply (&bt601_rgb_to_XYZ, &c, &c);
+ videomixer_color_matrix_apply (&dell_XYZ_to_rgb, &c, &c);
color_transfer_function_unapply (&c, &c);
color_gamut_clamp (&c, &c);
- color_matrix_apply (&bt601_to_yuv, &c, &c);
+ videomixer_color_matrix_apply (&bt601_to_yuv, &c, &c);
table_y[(y << 16) | (u << 8) | (v)] = rint (c.v[0]);
table_u[(y << 16) | (u << 8) | (v)] = rint (c.v[1]);
@@ -541,7 +545,7 @@ get_color_transform_table (void)
guint8 *table_v;
int y, u, v;
- color_matrix_build_bt709_to_bt601 (&bt709_to_bt601);
+ videomixer_color_matrix_build_bt709_to_bt601 (&bt709_to_bt601);
color_transform_table = g_malloc (0x1000000 * 3);
@@ -557,7 +561,7 @@ get_color_transform_table (void)
c.v[0] = y;
c.v[1] = u;
c.v[2] = v;
- color_matrix_apply (&bt709_to_bt601, &c, &c);
+ videomixer_color_matrix_apply (&bt709_to_bt601, &c, &c);
table_y[(y << 16) | (u << 8) | (v)] = rint (c.v[0]);
table_u[(y << 16) | (u << 8) | (v)] = rint (c.v[1]);
diff --git a/gst/videomixer/gstcms.h b/gst/videomixer/gstcms.h
index f926a44a..7cc5d5ad 100644
--- a/gst/videomixer/gstcms.h
+++ b/gst/videomixer/gstcms.h
@@ -37,33 +37,33 @@ struct _ColorMatrix
double m[4][4];
};
-void color_xyY_to_XYZ (Color * c);
-void color_XYZ_to_xyY (Color * c);
-void color_set (Color * c, double x, double y, double z);
-void color_matrix_set_identity (ColorMatrix * m);
-void color_matrix_dump (ColorMatrix * m);
-void color_matrix_multiply (ColorMatrix * dst, ColorMatrix * a, ColorMatrix * b);
-void color_matrix_apply (ColorMatrix * m, Color * dest, Color * src);
-void color_matrix_offset_components (ColorMatrix * m, double a1, double a2,
+void videomixer_color_xyY_to_XYZ (Color * c);
+void videomixer_color_XYZ_to_xyY (Color * c);
+void videomixer_color_set (Color * c, double x, double y, double z);
+void videomixer_color_matrix_set_identity (ColorMatrix * m);
+void videomixer_color_matrix_dump (ColorMatrix * m);
+void videomixer_color_matrix_multiply (ColorMatrix * dst, ColorMatrix * a, ColorMatrix * b);
+void videomixer_color_matrix_apply (ColorMatrix * m, Color * dest, Color * src);
+void videomixer_color_matrix_offset_components (ColorMatrix * m, double a1, double a2,
double a3);
-void color_matrix_scale_components (ColorMatrix * m, double a1, double a2, double a3);
-void color_matrix_YCbCr_to_RGB (ColorMatrix * m, double Kr, double Kb);
-void color_matrix_RGB_to_YCbCr (ColorMatrix * m, double Kr, double Kb);
-void color_matrix_build_yuv_to_rgb_601 (ColorMatrix * dst);
-void color_matrix_build_bt709_to_bt601 (ColorMatrix * dst);
-void color_matrix_build_rgb_to_yuv_601 (ColorMatrix * dst);
-void color_matrix_invert (ColorMatrix * m);
-void color_matrix_copy (ColorMatrix * dest, ColorMatrix * src);
-void color_matrix_transpose (ColorMatrix * m);
-void color_matrix_build_XYZ (ColorMatrix * dst,
+void videomixer_color_matrix_scale_components (ColorMatrix * m, double a1, double a2, double a3);
+void videomixer_color_matrix_YCbCr_to_RGB (ColorMatrix * m, double Kr, double Kb);
+void videomixer_color_matrix_RGB_to_YCbCr (ColorMatrix * m, double Kr, double Kb);
+void videomixer_color_matrix_build_yuv_to_rgb_601 (ColorMatrix * dst);
+void videomixer_color_matrix_build_bt709_to_bt601 (ColorMatrix * dst);
+void videomixer_color_matrix_build_rgb_to_yuv_601 (ColorMatrix * dst);
+void videomixer_color_matrix_invert (ColorMatrix * m);
+void videomixer_color_matrix_copy (ColorMatrix * dest, ColorMatrix * src);
+void videomixer_color_matrix_transpose (ColorMatrix * m);
+void videomixer_color_matrix_build_XYZ (ColorMatrix * dst,
double rx, double ry,
double gx, double gy, double bx, double by, double wx, double wy);
-void color_matrix_build_rgb_to_XYZ_601 (ColorMatrix * dst);
-void color_matrix_build_XYZ_to_rgb_709 (ColorMatrix * dst);
-void color_matrix_build_XYZ_to_rgb_dell (ColorMatrix * dst);
-void color_transfer_function_apply (Color * dest, Color * src);
-void color_transfer_function_unapply (Color * dest, Color * src);
-void color_gamut_clamp (Color * dest, Color * src);
+void videomixer_color_matrix_build_rgb_to_XYZ_601 (ColorMatrix * dst);
+void videomixer_color_matrix_build_XYZ_to_rgb_709 (ColorMatrix * dst);
+void videomixer_color_matrix_build_XYZ_to_rgb_dell (ColorMatrix * dst);
+void videomixer_color_transfer_function_apply (Color * dest, Color * src);
+void videomixer_color_transfer_function_unapply (Color * dest, Color * src);
+void videomixer_color_gamut_clamp (Color * dest, Color * src);
G_END_DECLS
diff --git a/gst/videomixer/videoconvert.c b/gst/videomixer/videoconvert.c
index 53e192d8..05565d7c 100644
--- a/gst/videomixer/videoconvert.c
+++ b/gst/videomixer/videoconvert.c
@@ -31,21 +31,18 @@
#include "videomixerorc.h"
-static void videomixer_videoconvert_convert_generic (VideoConvert * convert,
+static void videoconvert_convert_generic (VideoConvert * convert,
GstVideoFrame * dest, const GstVideoFrame * src);
-static void videomixer_videoconvert_convert_matrix8 (VideoConvert * convert,
+static void videoconvert_convert_matrix8 (VideoConvert * convert,
gpointer pixels);
-static void videomixer_videoconvert_convert_matrix16 (VideoConvert * convert,
+static void videoconvert_convert_matrix16 (VideoConvert * convert,
gpointer pixels);
-static gboolean videomixer_videoconvert_convert_lookup_fastpath (VideoConvert *
- convert);
-static gboolean videomixer_videoconvert_convert_compute_matrix (VideoConvert *
- convert);
-static gboolean videomixer_videoconvert_convert_compute_resample (VideoConvert *
- convert);
-static void videomixer_videoconvert_dither_verterr (VideoConvert * convert,
+static gboolean videoconvert_convert_lookup_fastpath (VideoConvert * convert);
+static gboolean videoconvert_convert_compute_matrix (VideoConvert * convert);
+static gboolean videoconvert_convert_compute_resample (VideoConvert * convert);
+static void videoconvert_dither_verterr (VideoConvert * convert,
guint16 * pixels, int j);
-static void videomixer_videoconvert_dither_halftone (VideoConvert * convert,
+static void videoconvert_dither_halftone (VideoConvert * convert,
guint16 * pixels, int j);
@@ -65,12 +62,12 @@ videomixer_videoconvert_convert_new (GstVideoInfo * in_info,
convert->width = GST_VIDEO_INFO_WIDTH (in_info);
convert->height = GST_VIDEO_INFO_HEIGHT (in_info);
- if (!videomixer_videoconvert_convert_lookup_fastpath (convert)) {
- convert->convert = videomixer_videoconvert_convert_generic;
- if (!videomixer_videoconvert_convert_compute_matrix (convert))
+ if (!videoconvert_convert_lookup_fastpath (convert)) {
+ convert->convert = videoconvert_convert_generic;
+ if (!videoconvert_convert_compute_matrix (convert))
goto no_convert;
- if (!videomixer_videoconvert_convert_compute_resample (convert))
+ if (!videoconvert_convert_compute_resample (convert))
goto no_convert;
}
@@ -116,10 +113,10 @@ videomixer_videoconvert_convert_set_dither (VideoConvert * convert, int type)
convert->dither16 = NULL;
break;
case 1:
- convert->dither16 = videomixer_videoconvert_dither_verterr;
+ convert->dither16 = videoconvert_dither_verterr;
break;
case 2:
- convert->dither16 = videomixer_videoconvert_dither_halftone;
+ convert->dither16 = videoconvert_dither_halftone;
break;
}
}
@@ -135,8 +132,7 @@ videomixer_videoconvert_convert_convert (VideoConvert * convert,
#define SCALE_F ((float) (1 << SCALE))
static void
-videomixer_videoconvert_convert_matrix8 (VideoConvert * convert,
- gpointer pixels)
+videoconvert_convert_matrix8 (VideoConvert * convert, gpointer pixels)
{
int i;
int r, g, b;
@@ -162,8 +158,7 @@ videomixer_videoconvert_convert_matrix8 (VideoConvert * convert,
}
static void
-videomixer_videoconvert_convert_matrix16 (VideoConvert * convert,
- gpointer pixels)
+videoconvert_convert_matrix16 (VideoConvert * convert, gpointer pixels)
{
int i;
int r, g, b;
@@ -222,7 +217,7 @@ get_Kr_Kb (GstVideoColorMatrix matrix, gdouble * Kr, gdouble * Kb)
}
static gboolean
-videomixer_videoconvert_convert_compute_matrix (VideoConvert * convert)
+videoconvert_convert_compute_matrix (VideoConvert * convert)
{
GstVideoInfo *in_info, *out_info;
ColorMatrix dst;
@@ -262,7 +257,7 @@ videomixer_videoconvert_convert_compute_matrix (VideoConvert * convert)
/* calculate intermediate format for the matrix. When unpacking, we expand
* input to 16 when one of the inputs is 16 bits */
if (convert->in_bits == 16 || convert->out_bits == 16) {
- convert->matrix = videomixer_videoconvert_convert_matrix16;
+ convert->matrix = videoconvert_convert_matrix16;
if (GST_VIDEO_FORMAT_INFO_IS_RGB (suinfo))
suinfo = gst_video_format_get_info (GST_VIDEO_FORMAT_ARGB64);
@@ -274,22 +269,24 @@ videomixer_videoconvert_convert_compute_matrix (VideoConvert * convert)
else
duinfo = gst_video_format_get_info (GST_VIDEO_FORMAT_AYUV64);
} else {
- convert->matrix = videomixer_videoconvert_convert_matrix8;
+ convert->matrix = videoconvert_convert_matrix8;
}
- color_matrix_set_identity (&dst);
+ videomixer_color_matrix_set_identity (&dst);
/* 1, bring color components to [0..1.0] range */
gst_video_color_range_offsets (in_info->colorimetry.range, suinfo, offset,
scale);
- color_matrix_offset_components (&dst, -offset[0], -offset[1], -offset[2]);
- color_matrix_scale_components (&dst, 1 / ((float) scale[0]),
+ videomixer_color_matrix_offset_components (&dst, -offset[0], -offset[1],
+ -offset[2]);
+
+ videomixer_color_matrix_scale_components (&dst, 1 / ((float) scale[0]),
1 / ((float) scale[1]), 1 / ((float) scale[2]));
/* 2. bring components to R'G'B' space */
if (get_Kr_Kb (in_info->colorimetry.matrix, &Kr, &Kb))
- color_matrix_YCbCr_to_RGB (&dst, Kr, Kb);
+ videomixer_color_matrix_YCbCr_to_RGB (&dst, Kr, Kb);
/* 3. inverse transfer function. R'G'B' to linear RGB */
@@ -301,18 +298,20 @@ videomixer_videoconvert_convert_compute_matrix (VideoConvert * convert)
/* 7. bring components to YCbCr space */
if (get_Kr_Kb (out_info->colorimetry.matrix, &Kr, &Kb))
- color_matrix_RGB_to_YCbCr (&dst, Kr, Kb);
+ videomixer_color_matrix_RGB_to_YCbCr (&dst, Kr, Kb);
/* 8, bring color components to nominal range */
gst_video_color_range_offsets (out_info->colorimetry.range, duinfo, offset,
scale);
- color_matrix_scale_components (&dst, (float) scale[0], (float) scale[1],
- (float) scale[2]);
- color_matrix_offset_components (&dst, offset[0], offset[1], offset[2]);
+ videomixer_color_matrix_scale_components (&dst, (float) scale[0],
+ (float) scale[1], (float) scale[2]);
+
+ videomixer_color_matrix_offset_components (&dst, offset[0], offset[1],
+ offset[2]);
/* because we're doing fixed point matrix coefficients */
- color_matrix_scale_components (&dst, SCALE_F, SCALE_F, SCALE_F);
+ videomixer_color_matrix_scale_components (&dst, SCALE_F, SCALE_F, SCALE_F);
for (i = 0; i < 4; i++)
for (j = 0; j < 4; j++)
@@ -345,8 +344,7 @@ no_pack_func:
}
static void
-videomixer_videoconvert_dither_verterr (VideoConvert * convert,
- guint16 * pixels, int j)
+videoconvert_dither_verterr (VideoConvert * convert, guint16 * pixels, int j)
{
int i;
guint16 *errline = convert->errline;
@@ -362,8 +360,7 @@ videomixer_videoconvert_dither_verterr (VideoConvert * convert,
}
static void
-videomixer_videoconvert_dither_halftone (VideoConvert * convert,
- guint16 * pixels, int j)
+videoconvert_dither_halftone (VideoConvert * convert, guint16 * pixels, int j)
{
int i;
static guint16 halftone[8][8] = {
@@ -398,7 +395,7 @@ alloc_tmplines (VideoConvert * convert, guint lines, gint width)
}
static gboolean
-videomixer_videoconvert_convert_compute_resample (VideoConvert * convert)
+videoconvert_convert_compute_resample (VideoConvert * convert)
{
GstVideoInfo *in_info, *out_info;
const GstVideoFormatInfo *sfinfo, *dfinfo;
@@ -494,8 +491,8 @@ convert_to8 (gpointer line, gint width)
frame->info.chroma_site, line, width);
static void
-videomixer_videoconvert_convert_generic (VideoConvert * convert,
- GstVideoFrame * dest, const GstVideoFrame * src)
+videoconvert_convert_generic (VideoConvert * convert, GstVideoFrame * dest,
+ const GstVideoFrame * src)
{
int j, k;
gint width, height, lines, max_lines;
@@ -1210,7 +1207,9 @@ convert_AYUV_ARGB (VideoConvert * convert, GstVideoFrame * dest,
videomixer_video_convert_orc_convert_AYUV_ARGB (FRAME_GET_LINE (dest, 0),
FRAME_GET_STRIDE (dest), FRAME_GET_LINE (src, 0),
- FRAME_GET_STRIDE (src), width, height);
+ FRAME_GET_STRIDE (src), convert->cmatrix[0][0], convert->cmatrix[0][2],
+ convert->cmatrix[2][1], convert->cmatrix[1][1], convert->cmatrix[1][2],
+ width, height);
}
static void
@@ -1222,7 +1221,9 @@ convert_AYUV_BGRA (VideoConvert * convert, GstVideoFrame * dest,
videomixer_video_convert_orc_convert_AYUV_BGRA (FRAME_GET_LINE (dest, 0),
FRAME_GET_STRIDE (dest), FRAME_GET_LINE (src, 0),
- FRAME_GET_STRIDE (src), width, height);
+ FRAME_GET_STRIDE (src), convert->cmatrix[0][0], convert->cmatrix[0][2],
+ convert->cmatrix[2][1], convert->cmatrix[1][1], convert->cmatrix[1][2],
+ width, height);
}
static void
@@ -1234,7 +1235,9 @@ convert_AYUV_ABGR (VideoConvert * convert, GstVideoFrame * dest,
videomixer_video_convert_orc_convert_AYUV_ABGR (FRAME_GET_LINE (dest, 0),
FRAME_GET_STRIDE (dest), FRAME_GET_LINE (src, 0),
- FRAME_GET_STRIDE (src), width, height);
+ FRAME_GET_STRIDE (src), convert->cmatrix[0][0], convert->cmatrix[0][2],
+ convert->cmatrix[2][1], convert->cmatrix[1][1], convert->cmatrix[1][2],
+ width, height);
}
static void
@@ -1246,7 +1249,9 @@ convert_AYUV_RGBA (VideoConvert * convert, GstVideoFrame * dest,
videomixer_video_convert_orc_convert_AYUV_RGBA (FRAME_GET_LINE (dest, 0),
FRAME_GET_STRIDE (dest), FRAME_GET_LINE (src, 0),
- FRAME_GET_STRIDE (src), width, height);
+ FRAME_GET_STRIDE (src), convert->cmatrix[0][0], convert->cmatrix[0][2],
+ convert->cmatrix[2][1], convert->cmatrix[1][1], convert->cmatrix[1][2],
+ width, height);
}
static void
@@ -1260,7 +1265,10 @@ convert_I420_BGRA (VideoConvert * convert, GstVideoFrame * dest,
for (i = 0; i < height; i++) {
videomixer_video_convert_orc_convert_I420_BGRA (FRAME_GET_LINE (dest, i),
FRAME_GET_Y_LINE (src, i),
- FRAME_GET_U_LINE (src, i >> 1), FRAME_GET_V_LINE (src, i >> 1), width);
+ FRAME_GET_U_LINE (src, i >> 1), FRAME_GET_V_LINE (src, i >> 1),
+ convert->cmatrix[0][0], convert->cmatrix[0][2],
+ convert->cmatrix[2][1], convert->cmatrix[1][1], convert->cmatrix[1][2],
+ width);
}
}
#endif
@@ -1277,6 +1285,7 @@ typedef struct
GstVideoColorMatrix out_matrix;
gboolean keeps_color_matrix;
gboolean keeps_interlaced;
+ gboolean needs_color_matrix;
gint width_align, height_align;
void (*convert) (VideoConvert * convert, GstVideoFrame * dest,
const GstVideoFrame * src);
@@ -1284,123 +1293,170 @@ typedef struct
static const VideoTransform transforms[] = {
{GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_YUY2},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_I420_YUY2},
{GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_UYVY},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_I420_UYVY},
{GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_AYUV},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_I420_AYUV},
{GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_I420_Y42B},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, FALSE, 0, 0,
+ convert_I420_Y42B},
{GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_I420_Y444},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, FALSE, 0, 0,
+ convert_I420_Y444},
{GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_YUY2},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_I420_YUY2},
{GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_UYVY},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_I420_UYVY},
{GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_I420_AYUV},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_I420_AYUV},
{GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_I420_Y42B},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, FALSE, 0, 0,
+ convert_I420_Y42B},
{GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_I420_Y444},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, FALSE, 0, 0,
+ convert_I420_Y444},
{GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_I420,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_YUY2_I420},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_YUY2_I420},
{GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YV12,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_YUY2_I420},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_YUY2_I420},
{GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_YUY2}, /* alias */
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0, convert_UYVY_YUY2}, /* alias */
{GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_YUY2_AYUV},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_YUY2_AYUV},
{GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_YUY2_Y42B},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_YUY2_Y42B},
{GST_VIDEO_FORMAT_YUY2, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_YUY2_Y444},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_YUY2_Y444},
{GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_I420,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_I420},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_UYVY_I420},
{GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YV12,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_I420},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_UYVY_I420},
{GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_YUY2},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_UYVY_YUY2},
{GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_AYUV},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_UYVY_AYUV},
{GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_Y42B},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_UYVY_Y42B},
{GST_VIDEO_FORMAT_UYVY, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_UYVY_Y444},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_UYVY_Y444},
{GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_I420,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 1, 1, convert_AYUV_I420},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, FALSE, 1, 1,
+ convert_AYUV_I420},
{GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YV12,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 1, 1, convert_AYUV_I420},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, FALSE, 1, 1,
+ convert_AYUV_I420},
{GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_AYUV_YUY2},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 1, 0,
+ convert_AYUV_YUY2},
{GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_AYUV_UYVY},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 1, 0,
+ convert_AYUV_UYVY},
{GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_AYUV_Y42B},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 1, 0,
+ convert_AYUV_Y42B},
{GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_AYUV_Y444},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_AYUV_Y444},
{GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_I420,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_Y42B_I420},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, FALSE, 0, 0,
+ convert_Y42B_I420},
{GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YV12,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 0, 0, convert_Y42B_I420},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, FALSE, 0, 0,
+ convert_Y42B_I420},
{GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_Y42B_YUY2},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_Y42B_YUY2},
{GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_Y42B_UYVY},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_Y42B_UYVY},
{GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_Y42B_AYUV},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 1, 0,
+ convert_Y42B_AYUV},
{GST_VIDEO_FORMAT_Y42B, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y444,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_Y42B_Y444},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_Y42B_Y444},
{GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_I420,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 1, 0, convert_Y444_I420},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, FALSE, 1, 0,
+ convert_Y444_I420},
{GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YV12,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, 1, 0, convert_Y444_I420},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, FALSE, 1, 0,
+ convert_Y444_I420},
{GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_YUY2,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_Y444_YUY2},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 1, 0,
+ convert_Y444_YUY2},
{GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_UYVY,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_Y444_UYVY},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 1, 0,
+ convert_Y444_UYVY},
{GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_AYUV,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 0, 0, convert_Y444_AYUV},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 0, 0,
+ convert_Y444_AYUV},
{GST_VIDEO_FORMAT_Y444, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_Y42B,
- GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, 1, 0, convert_Y444_Y42B},
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, FALSE, 1, 0,
+ convert_Y444_Y42B},
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
- {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_ARGB,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_ARGB},
- {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRA,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_BGRA},
- {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_xRGB,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_ARGB}, /* alias */
- {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRx,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_BGRA}, /* alias */
- {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_ABGR,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_ABGR},
- {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_RGBA,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_RGBA},
- {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_xBGR,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_ABGR}, /* alias */
- {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_RGBx,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, TRUE, 0, 0, convert_AYUV_RGBA}, /* alias */
-
- {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRA,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, FALSE, 0, 0, convert_I420_BGRA},
- {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRx,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, FALSE, 0, 0, convert_I420_BGRA},
- {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRA,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, FALSE, 0, 0, convert_I420_BGRA},
- {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_BT601, GST_VIDEO_FORMAT_BGRx,
- GST_VIDEO_COLOR_MATRIX_RGB, FALSE, FALSE, 0, 0, convert_I420_BGRA},
+ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_ARGB,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, TRUE, 0, 0,
+ convert_AYUV_ARGB},
+ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_BGRA,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, TRUE, 0, 0,
+ convert_AYUV_BGRA},
+ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_xRGB,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, TRUE, 0, 0, convert_AYUV_ARGB}, /* alias */
+ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_BGRx,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, TRUE, 0, 0, convert_AYUV_BGRA}, /* alias */
+ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_ABGR,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, TRUE, 0, 0,
+ convert_AYUV_ABGR},
+ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_RGBA,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, TRUE, 0, 0,
+ convert_AYUV_RGBA},
+ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_xBGR,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, TRUE, 0, 0, convert_AYUV_ABGR}, /* alias */
+ {GST_VIDEO_FORMAT_AYUV, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_RGBx,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, TRUE, TRUE, 0, 0, convert_AYUV_RGBA}, /* alias */
+
+ {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_BGRA,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, TRUE, 0, 0,
+ convert_I420_BGRA},
+ {GST_VIDEO_FORMAT_I420, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_BGRx,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, TRUE, 0, 0,
+ convert_I420_BGRA},
+ {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_BGRA,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, TRUE, 0, 0,
+ convert_I420_BGRA},
+ {GST_VIDEO_FORMAT_YV12, GST_VIDEO_COLOR_MATRIX_UNKNOWN, GST_VIDEO_FORMAT_BGRx,
+ GST_VIDEO_COLOR_MATRIX_UNKNOWN, TRUE, FALSE, TRUE, 0, 0,
+ convert_I420_BGRA},
#endif
};
static gboolean
-videomixer_videoconvert_convert_lookup_fastpath (VideoConvert * convert)
+videoconvert_convert_lookup_fastpath (VideoConvert * convert)
{
int i;
GstVideoFormat in_format, out_format;
@@ -1430,10 +1486,20 @@ videomixer_videoconvert_convert_lookup_fastpath (VideoConvert * convert)
(transforms[i].width_align & width) == 0 &&
(transforms[i].height_align & height) == 0) {
GST_DEBUG ("using fastpath");
+ if (transforms[i].needs_color_matrix)
+ if (!videoconvert_convert_compute_matrix (convert))
+ goto no_convert;
convert->convert = transforms[i].convert;
alloc_tmplines (convert, 1, GST_VIDEO_INFO_WIDTH (&convert->in_info));
return TRUE;
}
}
+ GST_DEBUG ("no fastpath found");
return FALSE;
+
+no_convert:
+ {
+ GST_DEBUG ("can't create matrix");
+ return FALSE;
+ }
}
diff --git a/gst/videomixer/videoconvert.h b/gst/videomixer/videoconvert.h
index b83b28ba..e27bc0a8 100644
--- a/gst/videomixer/videoconvert.h
+++ b/gst/videomixer/videoconvert.h
@@ -66,13 +66,13 @@ struct _VideoConvert {
};
VideoConvert * videomixer_videoconvert_convert_new (GstVideoInfo *in_info,
- GstVideoInfo *out_info);
+ GstVideoInfo *out_info);
void videomixer_videoconvert_convert_free (VideoConvert * convert);
void videomixer_videoconvert_convert_set_dither (VideoConvert * convert, int type);
void videomixer_videoconvert_convert_convert (VideoConvert * convert,
- GstVideoFrame *dest, const GstVideoFrame *src);
+ GstVideoFrame *dest, const GstVideoFrame *src);
G_END_DECLS
diff --git a/gst/videomixer/videomixer2.c b/gst/videomixer/videomixer2.c
index f87f4b76..418005ed 100644
--- a/gst/videomixer/videomixer2.c
+++ b/gst/videomixer/videomixer2.c
@@ -1246,8 +1246,8 @@ gst_videomixer2_collected (GstCollectPads * pads, GstVideoMixer2 * mix)
if (output_end_time >= mix->segment.stop) {
GST_DEBUG_OBJECT (mix, "Segment done");
- GST_VIDEO_MIXER2_UNLOCK (mix);
if (!(mix->segment.flags & GST_SEGMENT_FLAG_SEGMENT)) {
+ GST_VIDEO_MIXER2_UNLOCK (mix);
gst_pad_push_event (mix->srcpad, gst_event_new_eos ());
ret = GST_FLOW_EOS;
@@ -1917,6 +1917,7 @@ gst_videomixer2_sink_event (GstCollectPads * pads, GstCollectData * cdata,
gst_event_copy_segment (event, &seg);
g_assert (seg.format == GST_FORMAT_TIME);
+ gst_videomixer2_reset_qos (mix);
break;
}
case GST_EVENT_FLUSH_STOP:
diff --git a/gst/videomixer/videomixerorc-dist.c b/gst/videomixer/videomixerorc-dist.c
index b8002c75..80a4a2df 100644
--- a/gst/videomixer/videomixerorc-dist.c
+++ b/gst/videomixer/videomixerorc-dist.c
@@ -212,87 +212,21 @@ void videomixer_video_convert_orc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1,
const guint8 * ORC_RESTRICT s2, int s2_stride,
const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void videomixer_video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m);
void videomixer_video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m);
void videomixer_video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m);
void videomixer_video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m);
void videomixer_video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n);
-void videomixer_video_convert_orc_convert_I420_BGRA_avg (guint8 *
- ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
- const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
- const guint8 * ORC_RESTRICT s4, const guint8 * ORC_RESTRICT s5, int n);
-void videomixer_video_convert_orc_getline_I420 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n);
-void videomixer_video_convert_orc_getline_YUV9 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n);
-void videomixer_video_convert_orc_getline_YUY2 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_UYVY (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_YVYU (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_Y42B (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n);
-void videomixer_video_convert_orc_getline_Y444 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n);
-void videomixer_video_convert_orc_getline_Y800 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_Y16 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_BGRA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_ABGR (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_RGBA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_NV12 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void videomixer_video_convert_orc_getline_NV21 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void videomixer_video_convert_orc_getline_A420 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
-void videomixer_video_convert_orc_putline_I420 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_YUY2 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_YVYU (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_UYVY (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_Y42B (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_Y444 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_Y800 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_Y16 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_BGRA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_ABGR (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_RGBA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_NV12 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_NV21 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_A420 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, int n);
+ const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
+ int n);
/* begin Orc C target preamble */
@@ -9017,56 +8951,39 @@ videomixer_video_convert_orc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1,
#ifdef DISABLE_ORC
void
videomixer_video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m)
{
int i;
int j;
orc_union32 *ORC_RESTRICT ptr0;
const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var48;
+ orc_union32 var46;
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var49;
+ volatile orc_union32 var47;
#else
- orc_union32 var49;
+ orc_union32 var47;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
+ orc_union16 var48;
+ orc_union16 var49;
orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
orc_union16 var51;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
-#else
orc_union16 var52;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
-#else
- orc_union16 var53;
-#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var54;
+ volatile orc_union32 var53;
#else
- orc_union16 var54;
+ orc_union32 var53;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var55;
-#else
+ orc_union32 var54;
orc_union32 var55;
-#endif
- orc_union32 var56;
- orc_union32 var57;
- orc_union16 var58;
- orc_union16 var59;
+ orc_union16 var56;
+ orc_union16 var57;
+ orc_int8 var58;
+ orc_int8 var59;
orc_int8 var60;
orc_int8 var61;
- orc_int8 var62;
- orc_int8 var63;
+ orc_union16 var62;
+ orc_union16 var63;
orc_union16 var64;
orc_union16 var65;
orc_union16 var66;
@@ -9077,160 +8994,125 @@ videomixer_video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1,
orc_union16 var71;
orc_union16 var72;
orc_union16 var73;
- orc_union16 var74;
- orc_union16 var75;
- orc_union16 var76;
+ orc_int8 var74;
+ orc_int8 var75;
+ orc_int8 var76;
orc_union16 var77;
orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_union16 var85;
- orc_union16 var86;
- orc_int8 var87;
- orc_int8 var88;
- orc_int8 var89;
- orc_union16 var90;
- orc_union16 var91;
- orc_union32 var92;
+ orc_union32 var79;
for (j = 0; j < m; j++) {
ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
/* 1: loadpb */
- var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 9: loadpw */
- var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+ var48.i = p1;
+ /* 11: loadpw */
+ var49.i = p2;
/* 14: loadpw */
- var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 21: loadpw */
- var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 25: loadpw */
- var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 29: loadpw */
- var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 40: loadpb */
- var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var50.i = p3;
+ /* 17: loadpw */
+ var51.i = p4;
+ /* 20: loadpw */
+ var52.i = p5;
+ /* 29: loadpb */
+ var53.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
for (i = 0; i < n; i++) {
/* 0: loadl */
- var48 = ptr4[i];
+ var46 = ptr4[i];
/* 2: subb */
- var57.x4[0] = var48.x4[0] - var49.x4[0];
- var57.x4[1] = var48.x4[1] - var49.x4[1];
- var57.x4[2] = var48.x4[2] - var49.x4[2];
- var57.x4[3] = var48.x4[3] - var49.x4[3];
+ var55.x4[0] = var46.x4[0] - var47.x4[0];
+ var55.x4[1] = var46.x4[1] - var47.x4[1];
+ var55.x4[2] = var46.x4[2] - var47.x4[2];
+ var55.x4[3] = var46.x4[3] - var47.x4[3];
/* 3: splitlw */
{
orc_union32 _src;
- _src.i = var57.i;
- var58.i = _src.x2[1];
- var59.i = _src.x2[0];
+ _src.i = var55.i;
+ var56.i = _src.x2[1];
+ var57.i = _src.x2[0];
}
/* 4: splitwb */
{
orc_union16 _src;
- _src.i = var59.i;
- var60 = _src.x2[1];
- var61 = _src.x2[0];
+ _src.i = var57.i;
+ var58 = _src.x2[1];
+ var59 = _src.x2[0];
}
/* 5: splitwb */
{
orc_union16 _src;
- _src.i = var58.i;
- var62 = _src.x2[1];
- var63 = _src.x2[0];
+ _src.i = var56.i;
+ var60 = _src.x2[1];
+ var61 = _src.x2[0];
}
- /* 6: convsbw */
- var64.i = var60;
- /* 7: convsbw */
- var65.i = var63;
- /* 8: convsbw */
- var66.i = var62;
- /* 10: mullw */
- var67.i = (var64.i * var50.i) & 0xffff;
- /* 11: shrsw */
- var68.i = var67.i >> 8;
- /* 12: addssw */
- var69.i = ORC_CLAMP_SW (var64.i + var68.i);
+ /* 6: splatbw */
+ var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+ /* 7: splatbw */
+ var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+ /* 8: splatbw */
+ var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+ /* 10: mulhsw */
+ var65.i = (var62.i * var48.i) >> 16;
+ /* 12: mulhsw */
+ var66.i = (var64.i * var49.i) >> 16;
/* 13: addssw */
- var70.i = ORC_CLAMP_SW (var69.i + var66.i);
- /* 15: mullw */
- var71.i = (var66.i * var51.i) & 0xffff;
- /* 16: shrsw */
- var72.i = var71.i >> 8;
- /* 17: subssw */
- var73.i = ORC_CLAMP_SW (var70.i - var72.i);
- /* 18: addssw */
- var74.i = ORC_CLAMP_SW (var73.i + var66.i);
+ var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+ /* 15: mulhsw */
+ var68.i = (var63.i * var50.i) >> 16;
+ /* 16: addssw */
+ var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+ /* 18: mulhsw */
+ var70.i = (var63.i * var51.i) >> 16;
/* 19: addssw */
- var75.i = ORC_CLAMP_SW (var69.i + var65.i);
- /* 20: addssw */
- var76.i = ORC_CLAMP_SW (var75.i + var65.i);
- /* 22: mullw */
- var77.i = (var65.i * var52.i) & 0xffff;
- /* 23: shrsw */
- var78.i = var77.i >> 8;
- /* 24: addssw */
- var79.i = ORC_CLAMP_SW (var76.i + var78.i);
- /* 26: mullw */
- var80.i = (var65.i * var53.i) & 0xffff;
- /* 27: shrsw */
- var81.i = var80.i >> 8;
- /* 28: subssw */
- var82.i = ORC_CLAMP_SW (var69.i - var81.i);
- /* 30: mullw */
- var83.i = (var66.i * var54.i) & 0xffff;
- /* 31: shrsw */
- var84.i = var83.i >> 8;
- /* 32: subssw */
- var85.i = ORC_CLAMP_SW (var82.i - var84.i);
- /* 33: subssw */
- var86.i = ORC_CLAMP_SW (var85.i - var84.i);
- /* 34: convssswb */
- var87 = ORC_CLAMP_SB (var74.i);
- /* 35: convssswb */
- var88 = ORC_CLAMP_SB (var86.i);
- /* 36: convssswb */
- var89 = ORC_CLAMP_SB (var79.i);
- /* 37: mergebw */
+ var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+ /* 21: mulhsw */
+ var72.i = (var64.i * var52.i) >> 16;
+ /* 22: addssw */
+ var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+ /* 23: convssswb */
+ var74 = ORC_CLAMP_SB (var67.i);
+ /* 24: convssswb */
+ var75 = ORC_CLAMP_SB (var73.i);
+ /* 25: convssswb */
+ var76 = ORC_CLAMP_SB (var69.i);
+ /* 26: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var61;
- _dest.x2[1] = var87;
- var90.i = _dest.i;
+ _dest.x2[0] = var59;
+ _dest.x2[1] = var74;
+ var77.i = _dest.i;
}
- /* 38: mergebw */
+ /* 27: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var88;
- _dest.x2[1] = var89;
- var91.i = _dest.i;
+ _dest.x2[0] = var75;
+ _dest.x2[1] = var76;
+ var78.i = _dest.i;
}
- /* 39: mergewl */
+ /* 28: mergewl */
{
orc_union32 _dest;
- _dest.x2[0] = var90.i;
- _dest.x2[1] = var91.i;
- var92.i = _dest.i;
+ _dest.x2[0] = var77.i;
+ _dest.x2[1] = var78.i;
+ var79.i = _dest.i;
}
- /* 41: addb */
- var56.x4[0] = var92.x4[0] + var55.x4[0];
- var56.x4[1] = var92.x4[1] + var55.x4[1];
- var56.x4[2] = var92.x4[2] + var55.x4[2];
- var56.x4[3] = var92.x4[3] + var55.x4[3];
- /* 42: storel */
- ptr0[i] = var56;
+ /* 30: addb */
+ var54.x4[0] = var79.x4[0] + var53.x4[0];
+ var54.x4[1] = var79.x4[1] + var53.x4[1];
+ var54.x4[2] = var79.x4[2] + var53.x4[2];
+ var54.x4[3] = var79.x4[3] + var53.x4[3];
+ /* 31: storel */
+ ptr0[i] = var54;
}
}
@@ -9247,50 +9129,32 @@ _backup_videomixer_video_convert_orc_convert_AYUV_ARGB (OrcExecutor *
int m = ex->params[ORC_VAR_A1];
orc_union32 *ORC_RESTRICT ptr0;
const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var48;
+ orc_union32 var46;
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var49;
+ volatile orc_union32 var47;
#else
- orc_union32 var49;
+ orc_union32 var47;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
+ orc_union16 var48;
+ orc_union16 var49;
orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
orc_union16 var51;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
-#else
orc_union16 var52;
-#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
+ volatile orc_union32 var53;
#else
- orc_union16 var53;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var54;
-#else
- orc_union16 var54;
+ orc_union32 var53;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var55;
-#else
+ orc_union32 var54;
orc_union32 var55;
-#endif
- orc_union32 var56;
- orc_union32 var57;
- orc_union16 var58;
- orc_union16 var59;
+ orc_union16 var56;
+ orc_union16 var57;
+ orc_int8 var58;
+ orc_int8 var59;
orc_int8 var60;
orc_int8 var61;
- orc_int8 var62;
- orc_int8 var63;
+ orc_union16 var62;
+ orc_union16 var63;
orc_union16 var64;
orc_union16 var65;
orc_union16 var66;
@@ -9301,160 +9165,125 @@ _backup_videomixer_video_convert_orc_convert_AYUV_ARGB (OrcExecutor *
orc_union16 var71;
orc_union16 var72;
orc_union16 var73;
- orc_union16 var74;
- orc_union16 var75;
- orc_union16 var76;
+ orc_int8 var74;
+ orc_int8 var75;
+ orc_int8 var76;
orc_union16 var77;
orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_union16 var85;
- orc_union16 var86;
- orc_int8 var87;
- orc_int8 var88;
- orc_int8 var89;
- orc_union16 var90;
- orc_union16 var91;
- orc_union32 var92;
+ orc_union32 var79;
for (j = 0; j < m; j++) {
ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
/* 1: loadpb */
- var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 9: loadpw */
- var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+ var48.i = ex->params[24];
+ /* 11: loadpw */
+ var49.i = ex->params[25];
/* 14: loadpw */
- var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 21: loadpw */
- var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 25: loadpw */
- var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 29: loadpw */
- var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 40: loadpb */
- var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var50.i = ex->params[26];
+ /* 17: loadpw */
+ var51.i = ex->params[27];
+ /* 20: loadpw */
+ var52.i = ex->params[28];
+ /* 29: loadpb */
+ var53.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
for (i = 0; i < n; i++) {
/* 0: loadl */
- var48 = ptr4[i];
+ var46 = ptr4[i];
/* 2: subb */
- var57.x4[0] = var48.x4[0] - var49.x4[0];
- var57.x4[1] = var48.x4[1] - var49.x4[1];
- var57.x4[2] = var48.x4[2] - var49.x4[2];
- var57.x4[3] = var48.x4[3] - var49.x4[3];
+ var55.x4[0] = var46.x4[0] - var47.x4[0];
+ var55.x4[1] = var46.x4[1] - var47.x4[1];
+ var55.x4[2] = var46.x4[2] - var47.x4[2];
+ var55.x4[3] = var46.x4[3] - var47.x4[3];
/* 3: splitlw */
{
orc_union32 _src;
- _src.i = var57.i;
- var58.i = _src.x2[1];
- var59.i = _src.x2[0];
+ _src.i = var55.i;
+ var56.i = _src.x2[1];
+ var57.i = _src.x2[0];
}
/* 4: splitwb */
{
orc_union16 _src;
- _src.i = var59.i;
- var60 = _src.x2[1];
- var61 = _src.x2[0];
+ _src.i = var57.i;
+ var58 = _src.x2[1];
+ var59 = _src.x2[0];
}
/* 5: splitwb */
{
orc_union16 _src;
- _src.i = var58.i;
- var62 = _src.x2[1];
- var63 = _src.x2[0];
+ _src.i = var56.i;
+ var60 = _src.x2[1];
+ var61 = _src.x2[0];
}
- /* 6: convsbw */
- var64.i = var60;
- /* 7: convsbw */
- var65.i = var63;
- /* 8: convsbw */
- var66.i = var62;
- /* 10: mullw */
- var67.i = (var64.i * var50.i) & 0xffff;
- /* 11: shrsw */
- var68.i = var67.i >> 8;
- /* 12: addssw */
- var69.i = ORC_CLAMP_SW (var64.i + var68.i);
+ /* 6: splatbw */
+ var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+ /* 7: splatbw */
+ var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+ /* 8: splatbw */
+ var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+ /* 10: mulhsw */
+ var65.i = (var62.i * var48.i) >> 16;
+ /* 12: mulhsw */
+ var66.i = (var64.i * var49.i) >> 16;
/* 13: addssw */
- var70.i = ORC_CLAMP_SW (var69.i + var66.i);
- /* 15: mullw */
- var71.i = (var66.i * var51.i) & 0xffff;
- /* 16: shrsw */
- var72.i = var71.i >> 8;
- /* 17: subssw */
- var73.i = ORC_CLAMP_SW (var70.i - var72.i);
- /* 18: addssw */
- var74.i = ORC_CLAMP_SW (var73.i + var66.i);
+ var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+ /* 15: mulhsw */
+ var68.i = (var63.i * var50.i) >> 16;
+ /* 16: addssw */
+ var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+ /* 18: mulhsw */
+ var70.i = (var63.i * var51.i) >> 16;
/* 19: addssw */
- var75.i = ORC_CLAMP_SW (var69.i + var65.i);
- /* 20: addssw */
- var76.i = ORC_CLAMP_SW (var75.i + var65.i);
- /* 22: mullw */
- var77.i = (var65.i * var52.i) & 0xffff;
- /* 23: shrsw */
- var78.i = var77.i >> 8;
- /* 24: addssw */
- var79.i = ORC_CLAMP_SW (var76.i + var78.i);
- /* 26: mullw */
- var80.i = (var65.i * var53.i) & 0xffff;
- /* 27: shrsw */
- var81.i = var80.i >> 8;
- /* 28: subssw */
- var82.i = ORC_CLAMP_SW (var69.i - var81.i);
- /* 30: mullw */
- var83.i = (var66.i * var54.i) & 0xffff;
- /* 31: shrsw */
- var84.i = var83.i >> 8;
- /* 32: subssw */
- var85.i = ORC_CLAMP_SW (var82.i - var84.i);
- /* 33: subssw */
- var86.i = ORC_CLAMP_SW (var85.i - var84.i);
- /* 34: convssswb */
- var87 = ORC_CLAMP_SB (var74.i);
- /* 35: convssswb */
- var88 = ORC_CLAMP_SB (var86.i);
- /* 36: convssswb */
- var89 = ORC_CLAMP_SB (var79.i);
- /* 37: mergebw */
+ var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+ /* 21: mulhsw */
+ var72.i = (var64.i * var52.i) >> 16;
+ /* 22: addssw */
+ var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+ /* 23: convssswb */
+ var74 = ORC_CLAMP_SB (var67.i);
+ /* 24: convssswb */
+ var75 = ORC_CLAMP_SB (var73.i);
+ /* 25: convssswb */
+ var76 = ORC_CLAMP_SB (var69.i);
+ /* 26: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var61;
- _dest.x2[1] = var87;
- var90.i = _dest.i;
+ _dest.x2[0] = var59;
+ _dest.x2[1] = var74;
+ var77.i = _dest.i;
}
- /* 38: mergebw */
+ /* 27: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var88;
- _dest.x2[1] = var89;
- var91.i = _dest.i;
+ _dest.x2[0] = var75;
+ _dest.x2[1] = var76;
+ var78.i = _dest.i;
}
- /* 39: mergewl */
+ /* 28: mergewl */
{
orc_union32 _dest;
- _dest.x2[0] = var90.i;
- _dest.x2[1] = var91.i;
- var92.i = _dest.i;
+ _dest.x2[0] = var77.i;
+ _dest.x2[1] = var78.i;
+ var79.i = _dest.i;
}
- /* 41: addb */
- var56.x4[0] = var92.x4[0] + var55.x4[0];
- var56.x4[1] = var92.x4[1] + var55.x4[1];
- var56.x4[2] = var92.x4[2] + var55.x4[2];
- var56.x4[3] = var92.x4[3] + var55.x4[3];
- /* 42: storel */
- ptr0[i] = var56;
+ /* 30: addb */
+ var54.x4[0] = var79.x4[0] + var53.x4[0];
+ var54.x4[1] = var79.x4[1] + var53.x4[1];
+ var54.x4[2] = var79.x4[2] + var53.x4[2];
+ var54.x4[3] = var79.x4[3] + var53.x4[3];
+ /* 31: storel */
+ ptr0[i] = var54;
}
}
@@ -9462,7 +9291,8 @@ _backup_videomixer_video_convert_orc_convert_AYUV_ARGB (OrcExecutor *
void
videomixer_video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m)
{
OrcExecutor _ex, *ex = &_ex;
static volatile int p_inited = 0;
@@ -9480,20 +9310,16 @@ videomixer_video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1,
105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114,
99,
95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89, 85, 86, 95, 65, 82,
- 71, 66, 11, 4, 4, 12, 4, 4, 14, 1, 8, 0, 0, 0, 14, 4,
- 128, 0, 0, 0, 14, 4, 42, 0, 0, 0, 14, 4, 103, 0, 0, 0,
- 14, 4, 4, 0, 0, 0, 14, 4, 100, 0, 0, 0, 14, 4, 104, 0,
- 0, 0, 20, 2, 20, 2, 20, 1, 20, 1, 20, 1, 20, 1, 20, 2,
- 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1, 20, 1,
- 20, 4, 21, 2, 65, 47, 4, 17, 198, 32, 33, 47, 199, 35, 34, 33,
- 199, 37, 36, 32, 149, 38, 35, 149, 39, 36, 149, 40, 37, 89, 32, 38,
- 18, 94, 32, 32, 16, 71, 38, 38, 32, 71, 41, 38, 40, 89, 32, 40,
- 19, 94, 32, 32, 16, 99, 41, 41, 32, 71, 41, 41, 40, 71, 43, 38,
- 39, 71, 43, 43, 39, 89, 32, 39, 20, 94, 32, 32, 16, 71, 43, 43,
- 32, 89, 32, 39, 21, 94, 32, 32, 16, 99, 42, 38, 32, 89, 32, 40,
- 22, 94, 32, 32, 16, 99, 42, 42, 32, 99, 42, 42, 32, 159, 44, 41,
- 159, 45, 42, 159, 46, 43, 196, 32, 34, 44, 196, 33, 45, 46, 195, 47,
- 32, 33, 21, 2, 33, 0, 47, 17, 2, 0,
+ 71, 66, 11, 4, 4, 12, 4, 4, 14, 1, 128, 0, 0, 0, 16, 2,
+ 16, 2, 16, 2, 16, 2, 16, 2, 20, 1, 20, 1, 20, 1, 20, 1,
+ 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1,
+ 20, 1, 20, 4, 21, 2, 65, 45, 4, 16, 198, 38, 36, 45, 199, 33,
+ 32, 36, 199, 35, 34, 38, 151, 36, 33, 151, 37, 34, 151, 38, 35, 90,
+ 36, 36, 24, 90, 39, 38, 25, 71, 39, 36, 39, 90, 41, 37, 26, 71,
+ 41, 36, 41, 90, 40, 37, 27, 71, 40, 36, 40, 90, 36, 38, 28, 71,
+ 40, 40, 36, 159, 42, 39, 159, 43, 40, 159, 44, 41, 196, 39, 32, 42,
+ 196, 41, 43, 44, 195, 45, 39, 41, 21, 2, 33, 0, 45, 16, 2, 0,
+
};
p = orc_program_new_from_static_bytecode (bc);
orc_program_set_backup_function (p,
@@ -9507,97 +9333,72 @@ videomixer_video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1,
_backup_videomixer_video_convert_orc_convert_AYUV_ARGB);
orc_program_add_destination (p, 4, "d1");
orc_program_add_source (p, 4, "s1");
- orc_program_add_constant (p, 1, 0x00000008, "c1");
- orc_program_add_constant (p, 4, 0x00000080, "c2");
- orc_program_add_constant (p, 4, 0x0000002a, "c3");
- orc_program_add_constant (p, 4, 0x00000067, "c4");
- orc_program_add_constant (p, 4, 0x00000004, "c5");
- orc_program_add_constant (p, 4, 0x00000064, "c6");
- orc_program_add_constant (p, 4, 0x00000068, "c7");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
+ orc_program_add_constant (p, 1, 0x00000080, "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_parameter (p, 2, "p4");
+ orc_program_add_parameter (p, 2, "p5");
+ orc_program_add_temporary (p, 1, "t1");
+ orc_program_add_temporary (p, 1, "t2");
orc_program_add_temporary (p, 1, "t3");
orc_program_add_temporary (p, 1, "t4");
- orc_program_add_temporary (p, 1, "t5");
- orc_program_add_temporary (p, 1, "t6");
+ orc_program_add_temporary (p, 2, "t5");
+ orc_program_add_temporary (p, 2, "t6");
orc_program_add_temporary (p, 2, "t7");
orc_program_add_temporary (p, 2, "t8");
orc_program_add_temporary (p, 2, "t9");
orc_program_add_temporary (p, 2, "t10");
- orc_program_add_temporary (p, 2, "t11");
- orc_program_add_temporary (p, 2, "t12");
+ orc_program_add_temporary (p, 1, "t11");
+ orc_program_add_temporary (p, 1, "t12");
orc_program_add_temporary (p, 1, "t13");
- orc_program_add_temporary (p, 1, "t14");
- orc_program_add_temporary (p, 1, "t15");
- orc_program_add_temporary (p, 4, "t16");
+ orc_program_add_temporary (p, 4, "t14");
- orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
+ orc_program_append_2 (p, "subb", 2, ORC_VAR_T14, ORC_VAR_S1, ORC_VAR_C1,
ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
+ orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T7, ORC_VAR_T5,
+ ORC_VAR_T14, ORC_VAR_D1);
+ orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T5,
ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
+ orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T7,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_P1,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_P2,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_T8,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
- ORC_VAR_T9, ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T10, ORC_VAR_T6, ORC_VAR_P3,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
- ORC_VAR_T8, ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T5,
+ ORC_VAR_T10, ORC_VAR_D1);
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_P4,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T5, ORC_VAR_T9,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T5, ORC_VAR_T7, ORC_VAR_P5,
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, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
- ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T5,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3,
+ orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T1,
+ ORC_VAR_T11, ORC_VAR_D1);
+ orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T10, ORC_VAR_T12,
ORC_VAR_T13, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T14,
- ORC_VAR_T15, ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
+ orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T14, ORC_VAR_T8,
+ ORC_VAR_T10, ORC_VAR_D1);
+ orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T14, ORC_VAR_C1,
ORC_VAR_D1);
#endif
@@ -9617,6 +9418,11 @@ videomixer_video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1,
ex->params[ORC_VAR_D1] = d1_stride;
ex->arrays[ORC_VAR_S1] = (void *) s1;
ex->params[ORC_VAR_S1] = s1_stride;
+ ex->params[ORC_VAR_P1] = p1;
+ ex->params[ORC_VAR_P2] = p2;
+ ex->params[ORC_VAR_P3] = p3;
+ ex->params[ORC_VAR_P4] = p4;
+ ex->params[ORC_VAR_P5] = p5;
func = c->exec;
func (ex);
@@ -9628,56 +9434,39 @@ videomixer_video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1,
#ifdef DISABLE_ORC
void
videomixer_video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m)
{
int i;
int j;
orc_union32 *ORC_RESTRICT ptr0;
const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var48;
+ orc_union32 var46;
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var49;
+ volatile orc_union32 var47;
#else
- orc_union32 var49;
+ orc_union32 var47;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
+ orc_union16 var48;
+ orc_union16 var49;
orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
orc_union16 var51;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
-#else
orc_union16 var52;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
-#else
- orc_union16 var53;
-#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var54;
+ volatile orc_union32 var53;
#else
- orc_union16 var54;
+ orc_union32 var53;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var55;
-#else
+ orc_union32 var54;
orc_union32 var55;
-#endif
- orc_union32 var56;
- orc_union32 var57;
- orc_union16 var58;
- orc_union16 var59;
+ orc_union16 var56;
+ orc_union16 var57;
+ orc_int8 var58;
+ orc_int8 var59;
orc_int8 var60;
orc_int8 var61;
- orc_int8 var62;
- orc_int8 var63;
+ orc_union16 var62;
+ orc_union16 var63;
orc_union16 var64;
orc_union16 var65;
orc_union16 var66;
@@ -9688,160 +9477,125 @@ videomixer_video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1,
orc_union16 var71;
orc_union16 var72;
orc_union16 var73;
- orc_union16 var74;
- orc_union16 var75;
- orc_union16 var76;
+ orc_int8 var74;
+ orc_int8 var75;
+ orc_int8 var76;
orc_union16 var77;
orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_union16 var85;
- orc_union16 var86;
- orc_int8 var87;
- orc_int8 var88;
- orc_int8 var89;
- orc_union16 var90;
- orc_union16 var91;
- orc_union32 var92;
+ orc_union32 var79;
for (j = 0; j < m; j++) {
ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
/* 1: loadpb */
- var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 9: loadpw */
- var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+ var48.i = p1;
+ /* 11: loadpw */
+ var49.i = p2;
/* 14: loadpw */
- var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 21: loadpw */
- var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 25: loadpw */
- var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 29: loadpw */
- var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 40: loadpb */
- var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var50.i = p3;
+ /* 17: loadpw */
+ var51.i = p4;
+ /* 20: loadpw */
+ var52.i = p5;
+ /* 29: loadpb */
+ var53.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
for (i = 0; i < n; i++) {
/* 0: loadl */
- var48 = ptr4[i];
+ var46 = ptr4[i];
/* 2: subb */
- var57.x4[0] = var48.x4[0] - var49.x4[0];
- var57.x4[1] = var48.x4[1] - var49.x4[1];
- var57.x4[2] = var48.x4[2] - var49.x4[2];
- var57.x4[3] = var48.x4[3] - var49.x4[3];
+ var55.x4[0] = var46.x4[0] - var47.x4[0];
+ var55.x4[1] = var46.x4[1] - var47.x4[1];
+ var55.x4[2] = var46.x4[2] - var47.x4[2];
+ var55.x4[3] = var46.x4[3] - var47.x4[3];
/* 3: splitlw */
{
orc_union32 _src;
- _src.i = var57.i;
- var58.i = _src.x2[1];
- var59.i = _src.x2[0];
+ _src.i = var55.i;
+ var56.i = _src.x2[1];
+ var57.i = _src.x2[0];
}
/* 4: splitwb */
{
orc_union16 _src;
- _src.i = var59.i;
- var60 = _src.x2[1];
- var61 = _src.x2[0];
+ _src.i = var57.i;
+ var58 = _src.x2[1];
+ var59 = _src.x2[0];
}
/* 5: splitwb */
{
orc_union16 _src;
- _src.i = var58.i;
- var62 = _src.x2[1];
- var63 = _src.x2[0];
+ _src.i = var56.i;
+ var60 = _src.x2[1];
+ var61 = _src.x2[0];
}
- /* 6: convsbw */
- var64.i = var60;
- /* 7: convsbw */
- var65.i = var63;
- /* 8: convsbw */
- var66.i = var62;
- /* 10: mullw */
- var67.i = (var64.i * var50.i) & 0xffff;
- /* 11: shrsw */
- var68.i = var67.i >> 8;
- /* 12: addssw */
- var69.i = ORC_CLAMP_SW (var64.i + var68.i);
+ /* 6: splatbw */
+ var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+ /* 7: splatbw */
+ var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+ /* 8: splatbw */
+ var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+ /* 10: mulhsw */
+ var65.i = (var62.i * var48.i) >> 16;
+ /* 12: mulhsw */
+ var66.i = (var64.i * var49.i) >> 16;
/* 13: addssw */
- var70.i = ORC_CLAMP_SW (var69.i + var66.i);
- /* 15: mullw */
- var71.i = (var66.i * var51.i) & 0xffff;
- /* 16: shrsw */
- var72.i = var71.i >> 8;
- /* 17: subssw */
- var73.i = ORC_CLAMP_SW (var70.i - var72.i);
- /* 18: addssw */
- var74.i = ORC_CLAMP_SW (var73.i + var66.i);
+ var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+ /* 15: mulhsw */
+ var68.i = (var63.i * var50.i) >> 16;
+ /* 16: addssw */
+ var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+ /* 18: mulhsw */
+ var70.i = (var63.i * var51.i) >> 16;
/* 19: addssw */
- var75.i = ORC_CLAMP_SW (var69.i + var65.i);
- /* 20: addssw */
- var76.i = ORC_CLAMP_SW (var75.i + var65.i);
- /* 22: mullw */
- var77.i = (var65.i * var52.i) & 0xffff;
- /* 23: shrsw */
- var78.i = var77.i >> 8;
- /* 24: addssw */
- var79.i = ORC_CLAMP_SW (var76.i + var78.i);
- /* 26: mullw */
- var80.i = (var65.i * var53.i) & 0xffff;
- /* 27: shrsw */
- var81.i = var80.i >> 8;
- /* 28: subssw */
- var82.i = ORC_CLAMP_SW (var69.i - var81.i);
- /* 30: mullw */
- var83.i = (var66.i * var54.i) & 0xffff;
- /* 31: shrsw */
- var84.i = var83.i >> 8;
- /* 32: subssw */
- var85.i = ORC_CLAMP_SW (var82.i - var84.i);
- /* 33: subssw */
- var86.i = ORC_CLAMP_SW (var85.i - var84.i);
- /* 34: convssswb */
- var87 = ORC_CLAMP_SB (var74.i);
- /* 35: convssswb */
- var88 = ORC_CLAMP_SB (var86.i);
- /* 36: convssswb */
- var89 = ORC_CLAMP_SB (var79.i);
- /* 37: mergebw */
+ var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+ /* 21: mulhsw */
+ var72.i = (var64.i * var52.i) >> 16;
+ /* 22: addssw */
+ var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+ /* 23: convssswb */
+ var74 = ORC_CLAMP_SB (var67.i);
+ /* 24: convssswb */
+ var75 = ORC_CLAMP_SB (var73.i);
+ /* 25: convssswb */
+ var76 = ORC_CLAMP_SB (var69.i);
+ /* 26: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var89;
- _dest.x2[1] = var88;
- var90.i = _dest.i;
+ _dest.x2[0] = var76;
+ _dest.x2[1] = var75;
+ var77.i = _dest.i;
}
- /* 38: mergebw */
+ /* 27: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var87;
- _dest.x2[1] = var61;
- var91.i = _dest.i;
+ _dest.x2[0] = var74;
+ _dest.x2[1] = var59;
+ var78.i = _dest.i;
}
- /* 39: mergewl */
+ /* 28: mergewl */
{
orc_union32 _dest;
- _dest.x2[0] = var90.i;
- _dest.x2[1] = var91.i;
- var92.i = _dest.i;
+ _dest.x2[0] = var77.i;
+ _dest.x2[1] = var78.i;
+ var79.i = _dest.i;
}
- /* 41: addb */
- var56.x4[0] = var92.x4[0] + var55.x4[0];
- var56.x4[1] = var92.x4[1] + var55.x4[1];
- var56.x4[2] = var92.x4[2] + var55.x4[2];
- var56.x4[3] = var92.x4[3] + var55.x4[3];
- /* 42: storel */
- ptr0[i] = var56;
+ /* 30: addb */
+ var54.x4[0] = var79.x4[0] + var53.x4[0];
+ var54.x4[1] = var79.x4[1] + var53.x4[1];
+ var54.x4[2] = var79.x4[2] + var53.x4[2];
+ var54.x4[3] = var79.x4[3] + var53.x4[3];
+ /* 31: storel */
+ ptr0[i] = var54;
}
}
@@ -9858,50 +9612,32 @@ _backup_videomixer_video_convert_orc_convert_AYUV_BGRA (OrcExecutor *
int m = ex->params[ORC_VAR_A1];
orc_union32 *ORC_RESTRICT ptr0;
const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var48;
+ orc_union32 var46;
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var49;
+ volatile orc_union32 var47;
#else
- orc_union32 var49;
+ orc_union32 var47;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
+ orc_union16 var48;
+ orc_union16 var49;
orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
orc_union16 var51;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
-#else
orc_union16 var52;
-#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
+ volatile orc_union32 var53;
#else
- orc_union16 var53;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var54;
-#else
- orc_union16 var54;
+ orc_union32 var53;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var55;
-#else
+ orc_union32 var54;
orc_union32 var55;
-#endif
- orc_union32 var56;
- orc_union32 var57;
- orc_union16 var58;
- orc_union16 var59;
+ orc_union16 var56;
+ orc_union16 var57;
+ orc_int8 var58;
+ orc_int8 var59;
orc_int8 var60;
orc_int8 var61;
- orc_int8 var62;
- orc_int8 var63;
+ orc_union16 var62;
+ orc_union16 var63;
orc_union16 var64;
orc_union16 var65;
orc_union16 var66;
@@ -9912,160 +9648,125 @@ _backup_videomixer_video_convert_orc_convert_AYUV_BGRA (OrcExecutor *
orc_union16 var71;
orc_union16 var72;
orc_union16 var73;
- orc_union16 var74;
- orc_union16 var75;
- orc_union16 var76;
+ orc_int8 var74;
+ orc_int8 var75;
+ orc_int8 var76;
orc_union16 var77;
orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_union16 var85;
- orc_union16 var86;
- orc_int8 var87;
- orc_int8 var88;
- orc_int8 var89;
- orc_union16 var90;
- orc_union16 var91;
- orc_union32 var92;
+ orc_union32 var79;
for (j = 0; j < m; j++) {
ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
/* 1: loadpb */
- var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 9: loadpw */
- var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+ var48.i = ex->params[24];
+ /* 11: loadpw */
+ var49.i = ex->params[25];
/* 14: loadpw */
- var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 21: loadpw */
- var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 25: loadpw */
- var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 29: loadpw */
- var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 40: loadpb */
- var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var50.i = ex->params[26];
+ /* 17: loadpw */
+ var51.i = ex->params[27];
+ /* 20: loadpw */
+ var52.i = ex->params[28];
+ /* 29: loadpb */
+ var53.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
for (i = 0; i < n; i++) {
/* 0: loadl */
- var48 = ptr4[i];
+ var46 = ptr4[i];
/* 2: subb */
- var57.x4[0] = var48.x4[0] - var49.x4[0];
- var57.x4[1] = var48.x4[1] - var49.x4[1];
- var57.x4[2] = var48.x4[2] - var49.x4[2];
- var57.x4[3] = var48.x4[3] - var49.x4[3];
+ var55.x4[0] = var46.x4[0] - var47.x4[0];
+ var55.x4[1] = var46.x4[1] - var47.x4[1];
+ var55.x4[2] = var46.x4[2] - var47.x4[2];
+ var55.x4[3] = var46.x4[3] - var47.x4[3];
/* 3: splitlw */
{
orc_union32 _src;
- _src.i = var57.i;
- var58.i = _src.x2[1];
- var59.i = _src.x2[0];
+ _src.i = var55.i;
+ var56.i = _src.x2[1];
+ var57.i = _src.x2[0];
}
/* 4: splitwb */
{
orc_union16 _src;
- _src.i = var59.i;
- var60 = _src.x2[1];
- var61 = _src.x2[0];
+ _src.i = var57.i;
+ var58 = _src.x2[1];
+ var59 = _src.x2[0];
}
/* 5: splitwb */
{
orc_union16 _src;
- _src.i = var58.i;
- var62 = _src.x2[1];
- var63 = _src.x2[0];
+ _src.i = var56.i;
+ var60 = _src.x2[1];
+ var61 = _src.x2[0];
}
- /* 6: convsbw */
- var64.i = var60;
- /* 7: convsbw */
- var65.i = var63;
- /* 8: convsbw */
- var66.i = var62;
- /* 10: mullw */
- var67.i = (var64.i * var50.i) & 0xffff;
- /* 11: shrsw */
- var68.i = var67.i >> 8;
- /* 12: addssw */
- var69.i = ORC_CLAMP_SW (var64.i + var68.i);
+ /* 6: splatbw */
+ var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+ /* 7: splatbw */
+ var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+ /* 8: splatbw */
+ var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+ /* 10: mulhsw */
+ var65.i = (var62.i * var48.i) >> 16;
+ /* 12: mulhsw */
+ var66.i = (var64.i * var49.i) >> 16;
/* 13: addssw */
- var70.i = ORC_CLAMP_SW (var69.i + var66.i);
- /* 15: mullw */
- var71.i = (var66.i * var51.i) & 0xffff;
- /* 16: shrsw */
- var72.i = var71.i >> 8;
- /* 17: subssw */
- var73.i = ORC_CLAMP_SW (var70.i - var72.i);
- /* 18: addssw */
- var74.i = ORC_CLAMP_SW (var73.i + var66.i);
+ var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+ /* 15: mulhsw */
+ var68.i = (var63.i * var50.i) >> 16;
+ /* 16: addssw */
+ var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+ /* 18: mulhsw */
+ var70.i = (var63.i * var51.i) >> 16;
/* 19: addssw */
- var75.i = ORC_CLAMP_SW (var69.i + var65.i);
- /* 20: addssw */
- var76.i = ORC_CLAMP_SW (var75.i + var65.i);
- /* 22: mullw */
- var77.i = (var65.i * var52.i) & 0xffff;
- /* 23: shrsw */
- var78.i = var77.i >> 8;
- /* 24: addssw */
- var79.i = ORC_CLAMP_SW (var76.i + var78.i);
- /* 26: mullw */
- var80.i = (var65.i * var53.i) & 0xffff;
- /* 27: shrsw */
- var81.i = var80.i >> 8;
- /* 28: subssw */
- var82.i = ORC_CLAMP_SW (var69.i - var81.i);
- /* 30: mullw */
- var83.i = (var66.i * var54.i) & 0xffff;
- /* 31: shrsw */
- var84.i = var83.i >> 8;
- /* 32: subssw */
- var85.i = ORC_CLAMP_SW (var82.i - var84.i);
- /* 33: subssw */
- var86.i = ORC_CLAMP_SW (var85.i - var84.i);
- /* 34: convssswb */
- var87 = ORC_CLAMP_SB (var74.i);
- /* 35: convssswb */
- var88 = ORC_CLAMP_SB (var86.i);
- /* 36: convssswb */
- var89 = ORC_CLAMP_SB (var79.i);
- /* 37: mergebw */
+ var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+ /* 21: mulhsw */
+ var72.i = (var64.i * var52.i) >> 16;
+ /* 22: addssw */
+ var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+ /* 23: convssswb */
+ var74 = ORC_CLAMP_SB (var67.i);
+ /* 24: convssswb */
+ var75 = ORC_CLAMP_SB (var73.i);
+ /* 25: convssswb */
+ var76 = ORC_CLAMP_SB (var69.i);
+ /* 26: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var89;
- _dest.x2[1] = var88;
- var90.i = _dest.i;
+ _dest.x2[0] = var76;
+ _dest.x2[1] = var75;
+ var77.i = _dest.i;
}
- /* 38: mergebw */
+ /* 27: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var87;
- _dest.x2[1] = var61;
- var91.i = _dest.i;
+ _dest.x2[0] = var74;
+ _dest.x2[1] = var59;
+ var78.i = _dest.i;
}
- /* 39: mergewl */
+ /* 28: mergewl */
{
orc_union32 _dest;
- _dest.x2[0] = var90.i;
- _dest.x2[1] = var91.i;
- var92.i = _dest.i;
+ _dest.x2[0] = var77.i;
+ _dest.x2[1] = var78.i;
+ var79.i = _dest.i;
}
- /* 41: addb */
- var56.x4[0] = var92.x4[0] + var55.x4[0];
- var56.x4[1] = var92.x4[1] + var55.x4[1];
- var56.x4[2] = var92.x4[2] + var55.x4[2];
- var56.x4[3] = var92.x4[3] + var55.x4[3];
- /* 42: storel */
- ptr0[i] = var56;
+ /* 30: addb */
+ var54.x4[0] = var79.x4[0] + var53.x4[0];
+ var54.x4[1] = var79.x4[1] + var53.x4[1];
+ var54.x4[2] = var79.x4[2] + var53.x4[2];
+ var54.x4[3] = var79.x4[3] + var53.x4[3];
+ /* 31: storel */
+ ptr0[i] = var54;
}
}
@@ -10073,7 +9774,8 @@ _backup_videomixer_video_convert_orc_convert_AYUV_BGRA (OrcExecutor *
void
videomixer_video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m)
{
OrcExecutor _ex, *ex = &_ex;
static volatile int p_inited = 0;
@@ -10091,20 +9793,16 @@ videomixer_video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1,
105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114,
99,
95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89, 85, 86, 95, 66, 71,
- 82, 65, 11, 4, 4, 12, 4, 4, 14, 1, 8, 0, 0, 0, 14, 4,
- 128, 0, 0, 0, 14, 4, 42, 0, 0, 0, 14, 4, 103, 0, 0, 0,
- 14, 4, 4, 0, 0, 0, 14, 4, 100, 0, 0, 0, 14, 4, 104, 0,
- 0, 0, 20, 2, 20, 2, 20, 1, 20, 1, 20, 1, 20, 1, 20, 2,
- 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1, 20, 1,
- 20, 4, 21, 2, 65, 47, 4, 17, 198, 32, 33, 47, 199, 35, 34, 33,
- 199, 37, 36, 32, 149, 38, 35, 149, 39, 36, 149, 40, 37, 89, 32, 38,
- 18, 94, 32, 32, 16, 71, 38, 38, 32, 71, 41, 38, 40, 89, 32, 40,
- 19, 94, 32, 32, 16, 99, 41, 41, 32, 71, 41, 41, 40, 71, 43, 38,
- 39, 71, 43, 43, 39, 89, 32, 39, 20, 94, 32, 32, 16, 71, 43, 43,
- 32, 89, 32, 39, 21, 94, 32, 32, 16, 99, 42, 38, 32, 89, 32, 40,
- 22, 94, 32, 32, 16, 99, 42, 42, 32, 99, 42, 42, 32, 159, 44, 41,
- 159, 45, 42, 159, 46, 43, 196, 32, 46, 45, 196, 33, 44, 34, 195, 47,
- 32, 33, 21, 2, 33, 0, 47, 17, 2, 0,
+ 82, 65, 11, 4, 4, 12, 4, 4, 14, 1, 128, 0, 0, 0, 16, 2,
+ 16, 2, 16, 2, 16, 2, 16, 2, 20, 1, 20, 1, 20, 1, 20, 1,
+ 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1,
+ 20, 1, 20, 4, 21, 2, 65, 45, 4, 16, 198, 38, 36, 45, 199, 33,
+ 32, 36, 199, 35, 34, 38, 151, 36, 33, 151, 37, 34, 151, 38, 35, 90,
+ 36, 36, 24, 90, 39, 38, 25, 71, 39, 36, 39, 90, 41, 37, 26, 71,
+ 41, 36, 41, 90, 40, 37, 27, 71, 40, 36, 40, 90, 36, 38, 28, 71,
+ 40, 40, 36, 159, 42, 39, 159, 43, 40, 159, 44, 41, 196, 41, 44, 43,
+ 196, 39, 42, 32, 195, 45, 41, 39, 21, 2, 33, 0, 45, 16, 2, 0,
+
};
p = orc_program_new_from_static_bytecode (bc);
orc_program_set_backup_function (p,
@@ -10118,97 +9816,72 @@ videomixer_video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1,
_backup_videomixer_video_convert_orc_convert_AYUV_BGRA);
orc_program_add_destination (p, 4, "d1");
orc_program_add_source (p, 4, "s1");
- orc_program_add_constant (p, 1, 0x00000008, "c1");
- orc_program_add_constant (p, 4, 0x00000080, "c2");
- orc_program_add_constant (p, 4, 0x0000002a, "c3");
- orc_program_add_constant (p, 4, 0x00000067, "c4");
- orc_program_add_constant (p, 4, 0x00000004, "c5");
- orc_program_add_constant (p, 4, 0x00000064, "c6");
- orc_program_add_constant (p, 4, 0x00000068, "c7");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
+ orc_program_add_constant (p, 1, 0x00000080, "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_parameter (p, 2, "p4");
+ orc_program_add_parameter (p, 2, "p5");
+ orc_program_add_temporary (p, 1, "t1");
+ orc_program_add_temporary (p, 1, "t2");
orc_program_add_temporary (p, 1, "t3");
orc_program_add_temporary (p, 1, "t4");
- orc_program_add_temporary (p, 1, "t5");
- orc_program_add_temporary (p, 1, "t6");
+ orc_program_add_temporary (p, 2, "t5");
+ orc_program_add_temporary (p, 2, "t6");
orc_program_add_temporary (p, 2, "t7");
orc_program_add_temporary (p, 2, "t8");
orc_program_add_temporary (p, 2, "t9");
orc_program_add_temporary (p, 2, "t10");
- orc_program_add_temporary (p, 2, "t11");
- orc_program_add_temporary (p, 2, "t12");
+ orc_program_add_temporary (p, 1, "t11");
+ orc_program_add_temporary (p, 1, "t12");
orc_program_add_temporary (p, 1, "t13");
- orc_program_add_temporary (p, 1, "t14");
- orc_program_add_temporary (p, 1, "t15");
- orc_program_add_temporary (p, 4, "t16");
+ orc_program_add_temporary (p, 4, "t14");
- orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
+ orc_program_append_2 (p, "subb", 2, ORC_VAR_T14, ORC_VAR_S1, ORC_VAR_C1,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
+ orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T7, ORC_VAR_T5,
+ ORC_VAR_T14, ORC_VAR_D1);
+ orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T5,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T7,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_P1,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
- ORC_VAR_T9, ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_P2,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
- ORC_VAR_T8, ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_T8,
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, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T10, ORC_VAR_T6, ORC_VAR_P3,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T5,
+ ORC_VAR_T10, ORC_VAR_D1);
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_P4,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T5, ORC_VAR_T9,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T5, ORC_VAR_T7, ORC_VAR_P5,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T5,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T15,
- ORC_VAR_T14, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T13,
- ORC_VAR_T3, ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
+ orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T10, ORC_VAR_T13,
+ ORC_VAR_T12, ORC_VAR_D1);
+ orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T11,
+ ORC_VAR_T1, ORC_VAR_D1);
+ orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T14, ORC_VAR_T10,
+ ORC_VAR_T8, ORC_VAR_D1);
+ orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T14, ORC_VAR_C1,
ORC_VAR_D1);
#endif
@@ -10228,6 +9901,11 @@ videomixer_video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1,
ex->params[ORC_VAR_D1] = d1_stride;
ex->arrays[ORC_VAR_S1] = (void *) s1;
ex->params[ORC_VAR_S1] = s1_stride;
+ ex->params[ORC_VAR_P1] = p1;
+ ex->params[ORC_VAR_P2] = p2;
+ ex->params[ORC_VAR_P3] = p3;
+ ex->params[ORC_VAR_P4] = p4;
+ ex->params[ORC_VAR_P5] = p5;
func = c->exec;
func (ex);
@@ -10239,56 +9917,39 @@ videomixer_video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1,
#ifdef DISABLE_ORC
void
videomixer_video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m)
{
int i;
int j;
orc_union32 *ORC_RESTRICT ptr0;
const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var48;
+ orc_union32 var46;
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var49;
+ volatile orc_union32 var47;
#else
- orc_union32 var49;
+ orc_union32 var47;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
+ orc_union16 var48;
+ orc_union16 var49;
orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
orc_union16 var51;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
-#else
orc_union16 var52;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
-#else
- orc_union16 var53;
-#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var54;
+ volatile orc_union32 var53;
#else
- orc_union16 var54;
+ orc_union32 var53;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var55;
-#else
+ orc_union32 var54;
orc_union32 var55;
-#endif
- orc_union32 var56;
- orc_union32 var57;
- orc_union16 var58;
- orc_union16 var59;
+ orc_union16 var56;
+ orc_union16 var57;
+ orc_int8 var58;
+ orc_int8 var59;
orc_int8 var60;
orc_int8 var61;
- orc_int8 var62;
- orc_int8 var63;
+ orc_union16 var62;
+ orc_union16 var63;
orc_union16 var64;
orc_union16 var65;
orc_union16 var66;
@@ -10299,160 +9960,125 @@ videomixer_video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1,
orc_union16 var71;
orc_union16 var72;
orc_union16 var73;
- orc_union16 var74;
- orc_union16 var75;
- orc_union16 var76;
+ orc_int8 var74;
+ orc_int8 var75;
+ orc_int8 var76;
orc_union16 var77;
orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_union16 var85;
- orc_union16 var86;
- orc_int8 var87;
- orc_int8 var88;
- orc_int8 var89;
- orc_union16 var90;
- orc_union16 var91;
- orc_union32 var92;
+ orc_union32 var79;
for (j = 0; j < m; j++) {
ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
/* 1: loadpb */
- var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 9: loadpw */
- var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+ var48.i = p1;
+ /* 11: loadpw */
+ var49.i = p2;
/* 14: loadpw */
- var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 21: loadpw */
- var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 25: loadpw */
- var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 29: loadpw */
- var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 40: loadpb */
- var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var50.i = p3;
+ /* 17: loadpw */
+ var51.i = p4;
+ /* 20: loadpw */
+ var52.i = p5;
+ /* 29: loadpb */
+ var53.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
for (i = 0; i < n; i++) {
/* 0: loadl */
- var48 = ptr4[i];
+ var46 = ptr4[i];
/* 2: subb */
- var57.x4[0] = var48.x4[0] - var49.x4[0];
- var57.x4[1] = var48.x4[1] - var49.x4[1];
- var57.x4[2] = var48.x4[2] - var49.x4[2];
- var57.x4[3] = var48.x4[3] - var49.x4[3];
+ var55.x4[0] = var46.x4[0] - var47.x4[0];
+ var55.x4[1] = var46.x4[1] - var47.x4[1];
+ var55.x4[2] = var46.x4[2] - var47.x4[2];
+ var55.x4[3] = var46.x4[3] - var47.x4[3];
/* 3: splitlw */
{
orc_union32 _src;
- _src.i = var57.i;
- var58.i = _src.x2[1];
- var59.i = _src.x2[0];
+ _src.i = var55.i;
+ var56.i = _src.x2[1];
+ var57.i = _src.x2[0];
}
/* 4: splitwb */
{
orc_union16 _src;
- _src.i = var59.i;
- var60 = _src.x2[1];
- var61 = _src.x2[0];
+ _src.i = var57.i;
+ var58 = _src.x2[1];
+ var59 = _src.x2[0];
}
/* 5: splitwb */
{
orc_union16 _src;
- _src.i = var58.i;
- var62 = _src.x2[1];
- var63 = _src.x2[0];
+ _src.i = var56.i;
+ var60 = _src.x2[1];
+ var61 = _src.x2[0];
}
- /* 6: convsbw */
- var64.i = var60;
- /* 7: convsbw */
- var65.i = var63;
- /* 8: convsbw */
- var66.i = var62;
- /* 10: mullw */
- var67.i = (var64.i * var50.i) & 0xffff;
- /* 11: shrsw */
- var68.i = var67.i >> 8;
- /* 12: addssw */
- var69.i = ORC_CLAMP_SW (var64.i + var68.i);
+ /* 6: splatbw */
+ var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+ /* 7: splatbw */
+ var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+ /* 8: splatbw */
+ var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+ /* 10: mulhsw */
+ var65.i = (var62.i * var48.i) >> 16;
+ /* 12: mulhsw */
+ var66.i = (var64.i * var49.i) >> 16;
/* 13: addssw */
- var70.i = ORC_CLAMP_SW (var69.i + var66.i);
- /* 15: mullw */
- var71.i = (var66.i * var51.i) & 0xffff;
- /* 16: shrsw */
- var72.i = var71.i >> 8;
- /* 17: subssw */
- var73.i = ORC_CLAMP_SW (var70.i - var72.i);
- /* 18: addssw */
- var74.i = ORC_CLAMP_SW (var73.i + var66.i);
+ var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+ /* 15: mulhsw */
+ var68.i = (var63.i * var50.i) >> 16;
+ /* 16: addssw */
+ var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+ /* 18: mulhsw */
+ var70.i = (var63.i * var51.i) >> 16;
/* 19: addssw */
- var75.i = ORC_CLAMP_SW (var69.i + var65.i);
- /* 20: addssw */
- var76.i = ORC_CLAMP_SW (var75.i + var65.i);
- /* 22: mullw */
- var77.i = (var65.i * var52.i) & 0xffff;
- /* 23: shrsw */
- var78.i = var77.i >> 8;
- /* 24: addssw */
- var79.i = ORC_CLAMP_SW (var76.i + var78.i);
- /* 26: mullw */
- var80.i = (var65.i * var53.i) & 0xffff;
- /* 27: shrsw */
- var81.i = var80.i >> 8;
- /* 28: subssw */
- var82.i = ORC_CLAMP_SW (var69.i - var81.i);
- /* 30: mullw */
- var83.i = (var66.i * var54.i) & 0xffff;
- /* 31: shrsw */
- var84.i = var83.i >> 8;
- /* 32: subssw */
- var85.i = ORC_CLAMP_SW (var82.i - var84.i);
- /* 33: subssw */
- var86.i = ORC_CLAMP_SW (var85.i - var84.i);
- /* 34: convssswb */
- var87 = ORC_CLAMP_SB (var74.i);
- /* 35: convssswb */
- var88 = ORC_CLAMP_SB (var86.i);
- /* 36: convssswb */
- var89 = ORC_CLAMP_SB (var79.i);
- /* 37: mergebw */
+ var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+ /* 21: mulhsw */
+ var72.i = (var64.i * var52.i) >> 16;
+ /* 22: addssw */
+ var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+ /* 23: convssswb */
+ var74 = ORC_CLAMP_SB (var67.i);
+ /* 24: convssswb */
+ var75 = ORC_CLAMP_SB (var73.i);
+ /* 25: convssswb */
+ var76 = ORC_CLAMP_SB (var69.i);
+ /* 26: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var61;
- _dest.x2[1] = var89;
- var90.i = _dest.i;
+ _dest.x2[0] = var59;
+ _dest.x2[1] = var76;
+ var77.i = _dest.i;
}
- /* 38: mergebw */
+ /* 27: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var88;
- _dest.x2[1] = var87;
- var91.i = _dest.i;
+ _dest.x2[0] = var75;
+ _dest.x2[1] = var74;
+ var78.i = _dest.i;
}
- /* 39: mergewl */
+ /* 28: mergewl */
{
orc_union32 _dest;
- _dest.x2[0] = var90.i;
- _dest.x2[1] = var91.i;
- var92.i = _dest.i;
+ _dest.x2[0] = var77.i;
+ _dest.x2[1] = var78.i;
+ var79.i = _dest.i;
}
- /* 41: addb */
- var56.x4[0] = var92.x4[0] + var55.x4[0];
- var56.x4[1] = var92.x4[1] + var55.x4[1];
- var56.x4[2] = var92.x4[2] + var55.x4[2];
- var56.x4[3] = var92.x4[3] + var55.x4[3];
- /* 42: storel */
- ptr0[i] = var56;
+ /* 30: addb */
+ var54.x4[0] = var79.x4[0] + var53.x4[0];
+ var54.x4[1] = var79.x4[1] + var53.x4[1];
+ var54.x4[2] = var79.x4[2] + var53.x4[2];
+ var54.x4[3] = var79.x4[3] + var53.x4[3];
+ /* 31: storel */
+ ptr0[i] = var54;
}
}
@@ -10469,50 +10095,32 @@ _backup_videomixer_video_convert_orc_convert_AYUV_ABGR (OrcExecutor *
int m = ex->params[ORC_VAR_A1];
orc_union32 *ORC_RESTRICT ptr0;
const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var48;
+ orc_union32 var46;
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var49;
+ volatile orc_union32 var47;
#else
- orc_union32 var49;
+ orc_union32 var47;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
+ orc_union16 var48;
+ orc_union16 var49;
orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
orc_union16 var51;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
-#else
orc_union16 var52;
-#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
+ volatile orc_union32 var53;
#else
- orc_union16 var53;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var54;
-#else
- orc_union16 var54;
+ orc_union32 var53;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var55;
-#else
+ orc_union32 var54;
orc_union32 var55;
-#endif
- orc_union32 var56;
- orc_union32 var57;
- orc_union16 var58;
- orc_union16 var59;
+ orc_union16 var56;
+ orc_union16 var57;
+ orc_int8 var58;
+ orc_int8 var59;
orc_int8 var60;
orc_int8 var61;
- orc_int8 var62;
- orc_int8 var63;
+ orc_union16 var62;
+ orc_union16 var63;
orc_union16 var64;
orc_union16 var65;
orc_union16 var66;
@@ -10523,160 +10131,125 @@ _backup_videomixer_video_convert_orc_convert_AYUV_ABGR (OrcExecutor *
orc_union16 var71;
orc_union16 var72;
orc_union16 var73;
- orc_union16 var74;
- orc_union16 var75;
- orc_union16 var76;
+ orc_int8 var74;
+ orc_int8 var75;
+ orc_int8 var76;
orc_union16 var77;
orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_union16 var85;
- orc_union16 var86;
- orc_int8 var87;
- orc_int8 var88;
- orc_int8 var89;
- orc_union16 var90;
- orc_union16 var91;
- orc_union32 var92;
+ orc_union32 var79;
for (j = 0; j < m; j++) {
ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
/* 1: loadpb */
- var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 9: loadpw */
- var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+ var48.i = ex->params[24];
+ /* 11: loadpw */
+ var49.i = ex->params[25];
/* 14: loadpw */
- var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 21: loadpw */
- var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 25: loadpw */
- var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 29: loadpw */
- var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 40: loadpb */
- var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var50.i = ex->params[26];
+ /* 17: loadpw */
+ var51.i = ex->params[27];
+ /* 20: loadpw */
+ var52.i = ex->params[28];
+ /* 29: loadpb */
+ var53.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
for (i = 0; i < n; i++) {
/* 0: loadl */
- var48 = ptr4[i];
+ var46 = ptr4[i];
/* 2: subb */
- var57.x4[0] = var48.x4[0] - var49.x4[0];
- var57.x4[1] = var48.x4[1] - var49.x4[1];
- var57.x4[2] = var48.x4[2] - var49.x4[2];
- var57.x4[3] = var48.x4[3] - var49.x4[3];
+ var55.x4[0] = var46.x4[0] - var47.x4[0];
+ var55.x4[1] = var46.x4[1] - var47.x4[1];
+ var55.x4[2] = var46.x4[2] - var47.x4[2];
+ var55.x4[3] = var46.x4[3] - var47.x4[3];
/* 3: splitlw */
{
orc_union32 _src;
- _src.i = var57.i;
- var58.i = _src.x2[1];
- var59.i = _src.x2[0];
+ _src.i = var55.i;
+ var56.i = _src.x2[1];
+ var57.i = _src.x2[0];
}
/* 4: splitwb */
{
orc_union16 _src;
- _src.i = var59.i;
- var60 = _src.x2[1];
- var61 = _src.x2[0];
+ _src.i = var57.i;
+ var58 = _src.x2[1];
+ var59 = _src.x2[0];
}
/* 5: splitwb */
{
orc_union16 _src;
- _src.i = var58.i;
- var62 = _src.x2[1];
- var63 = _src.x2[0];
+ _src.i = var56.i;
+ var60 = _src.x2[1];
+ var61 = _src.x2[0];
}
- /* 6: convsbw */
- var64.i = var60;
- /* 7: convsbw */
- var65.i = var63;
- /* 8: convsbw */
- var66.i = var62;
- /* 10: mullw */
- var67.i = (var64.i * var50.i) & 0xffff;
- /* 11: shrsw */
- var68.i = var67.i >> 8;
- /* 12: addssw */
- var69.i = ORC_CLAMP_SW (var64.i + var68.i);
+ /* 6: splatbw */
+ var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+ /* 7: splatbw */
+ var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+ /* 8: splatbw */
+ var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+ /* 10: mulhsw */
+ var65.i = (var62.i * var48.i) >> 16;
+ /* 12: mulhsw */
+ var66.i = (var64.i * var49.i) >> 16;
/* 13: addssw */
- var70.i = ORC_CLAMP_SW (var69.i + var66.i);
- /* 15: mullw */
- var71.i = (var66.i * var51.i) & 0xffff;
- /* 16: shrsw */
- var72.i = var71.i >> 8;
- /* 17: subssw */
- var73.i = ORC_CLAMP_SW (var70.i - var72.i);
- /* 18: addssw */
- var74.i = ORC_CLAMP_SW (var73.i + var66.i);
+ var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+ /* 15: mulhsw */
+ var68.i = (var63.i * var50.i) >> 16;
+ /* 16: addssw */
+ var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+ /* 18: mulhsw */
+ var70.i = (var63.i * var51.i) >> 16;
/* 19: addssw */
- var75.i = ORC_CLAMP_SW (var69.i + var65.i);
- /* 20: addssw */
- var76.i = ORC_CLAMP_SW (var75.i + var65.i);
- /* 22: mullw */
- var77.i = (var65.i * var52.i) & 0xffff;
- /* 23: shrsw */
- var78.i = var77.i >> 8;
- /* 24: addssw */
- var79.i = ORC_CLAMP_SW (var76.i + var78.i);
- /* 26: mullw */
- var80.i = (var65.i * var53.i) & 0xffff;
- /* 27: shrsw */
- var81.i = var80.i >> 8;
- /* 28: subssw */
- var82.i = ORC_CLAMP_SW (var69.i - var81.i);
- /* 30: mullw */
- var83.i = (var66.i * var54.i) & 0xffff;
- /* 31: shrsw */
- var84.i = var83.i >> 8;
- /* 32: subssw */
- var85.i = ORC_CLAMP_SW (var82.i - var84.i);
- /* 33: subssw */
- var86.i = ORC_CLAMP_SW (var85.i - var84.i);
- /* 34: convssswb */
- var87 = ORC_CLAMP_SB (var74.i);
- /* 35: convssswb */
- var88 = ORC_CLAMP_SB (var86.i);
- /* 36: convssswb */
- var89 = ORC_CLAMP_SB (var79.i);
- /* 37: mergebw */
+ var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+ /* 21: mulhsw */
+ var72.i = (var64.i * var52.i) >> 16;
+ /* 22: addssw */
+ var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+ /* 23: convssswb */
+ var74 = ORC_CLAMP_SB (var67.i);
+ /* 24: convssswb */
+ var75 = ORC_CLAMP_SB (var73.i);
+ /* 25: convssswb */
+ var76 = ORC_CLAMP_SB (var69.i);
+ /* 26: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var61;
- _dest.x2[1] = var89;
- var90.i = _dest.i;
+ _dest.x2[0] = var59;
+ _dest.x2[1] = var76;
+ var77.i = _dest.i;
}
- /* 38: mergebw */
+ /* 27: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var88;
- _dest.x2[1] = var87;
- var91.i = _dest.i;
+ _dest.x2[0] = var75;
+ _dest.x2[1] = var74;
+ var78.i = _dest.i;
}
- /* 39: mergewl */
+ /* 28: mergewl */
{
orc_union32 _dest;
- _dest.x2[0] = var90.i;
- _dest.x2[1] = var91.i;
- var92.i = _dest.i;
+ _dest.x2[0] = var77.i;
+ _dest.x2[1] = var78.i;
+ var79.i = _dest.i;
}
- /* 41: addb */
- var56.x4[0] = var92.x4[0] + var55.x4[0];
- var56.x4[1] = var92.x4[1] + var55.x4[1];
- var56.x4[2] = var92.x4[2] + var55.x4[2];
- var56.x4[3] = var92.x4[3] + var55.x4[3];
- /* 42: storel */
- ptr0[i] = var56;
+ /* 30: addb */
+ var54.x4[0] = var79.x4[0] + var53.x4[0];
+ var54.x4[1] = var79.x4[1] + var53.x4[1];
+ var54.x4[2] = var79.x4[2] + var53.x4[2];
+ var54.x4[3] = var79.x4[3] + var53.x4[3];
+ /* 31: storel */
+ ptr0[i] = var54;
}
}
@@ -10684,7 +10257,8 @@ _backup_videomixer_video_convert_orc_convert_AYUV_ABGR (OrcExecutor *
void
videomixer_video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m)
{
OrcExecutor _ex, *ex = &_ex;
static volatile int p_inited = 0;
@@ -10702,20 +10276,16 @@ videomixer_video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1,
105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114,
99,
95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89, 85, 86, 95, 65, 66,
- 71, 82, 11, 4, 4, 12, 4, 4, 14, 1, 8, 0, 0, 0, 14, 4,
- 128, 0, 0, 0, 14, 4, 42, 0, 0, 0, 14, 4, 103, 0, 0, 0,
- 14, 4, 4, 0, 0, 0, 14, 4, 100, 0, 0, 0, 14, 4, 104, 0,
- 0, 0, 20, 2, 20, 2, 20, 1, 20, 1, 20, 1, 20, 1, 20, 2,
- 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1, 20, 1,
- 20, 4, 21, 2, 65, 47, 4, 17, 198, 32, 33, 47, 199, 35, 34, 33,
- 199, 37, 36, 32, 149, 38, 35, 149, 39, 36, 149, 40, 37, 89, 32, 38,
- 18, 94, 32, 32, 16, 71, 38, 38, 32, 71, 41, 38, 40, 89, 32, 40,
- 19, 94, 32, 32, 16, 99, 41, 41, 32, 71, 41, 41, 40, 71, 43, 38,
- 39, 71, 43, 43, 39, 89, 32, 39, 20, 94, 32, 32, 16, 71, 43, 43,
- 32, 89, 32, 39, 21, 94, 32, 32, 16, 99, 42, 38, 32, 89, 32, 40,
- 22, 94, 32, 32, 16, 99, 42, 42, 32, 99, 42, 42, 32, 159, 44, 41,
- 159, 45, 42, 159, 46, 43, 196, 32, 34, 46, 196, 33, 45, 44, 195, 47,
- 32, 33, 21, 2, 33, 0, 47, 17, 2, 0,
+ 71, 82, 11, 4, 4, 12, 4, 4, 14, 1, 128, 0, 0, 0, 16, 2,
+ 16, 2, 16, 2, 16, 2, 16, 2, 20, 1, 20, 1, 20, 1, 20, 1,
+ 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1,
+ 20, 1, 20, 4, 21, 2, 65, 45, 4, 16, 198, 38, 36, 45, 199, 33,
+ 32, 36, 199, 35, 34, 38, 151, 36, 33, 151, 37, 34, 151, 38, 35, 90,
+ 36, 36, 24, 90, 39, 38, 25, 71, 39, 36, 39, 90, 41, 37, 26, 71,
+ 41, 36, 41, 90, 40, 37, 27, 71, 40, 36, 40, 90, 36, 38, 28, 71,
+ 40, 40, 36, 159, 42, 39, 159, 43, 40, 159, 44, 41, 196, 41, 32, 44,
+ 196, 39, 43, 42, 195, 45, 41, 39, 21, 2, 33, 0, 45, 16, 2, 0,
+
};
p = orc_program_new_from_static_bytecode (bc);
orc_program_set_backup_function (p,
@@ -10729,97 +10299,72 @@ videomixer_video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1,
_backup_videomixer_video_convert_orc_convert_AYUV_ABGR);
orc_program_add_destination (p, 4, "d1");
orc_program_add_source (p, 4, "s1");
- orc_program_add_constant (p, 1, 0x00000008, "c1");
- orc_program_add_constant (p, 4, 0x00000080, "c2");
- orc_program_add_constant (p, 4, 0x0000002a, "c3");
- orc_program_add_constant (p, 4, 0x00000067, "c4");
- orc_program_add_constant (p, 4, 0x00000004, "c5");
- orc_program_add_constant (p, 4, 0x00000064, "c6");
- orc_program_add_constant (p, 4, 0x00000068, "c7");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
+ orc_program_add_constant (p, 1, 0x00000080, "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_parameter (p, 2, "p4");
+ orc_program_add_parameter (p, 2, "p5");
+ orc_program_add_temporary (p, 1, "t1");
+ orc_program_add_temporary (p, 1, "t2");
orc_program_add_temporary (p, 1, "t3");
orc_program_add_temporary (p, 1, "t4");
- orc_program_add_temporary (p, 1, "t5");
- orc_program_add_temporary (p, 1, "t6");
+ orc_program_add_temporary (p, 2, "t5");
+ orc_program_add_temporary (p, 2, "t6");
orc_program_add_temporary (p, 2, "t7");
orc_program_add_temporary (p, 2, "t8");
orc_program_add_temporary (p, 2, "t9");
orc_program_add_temporary (p, 2, "t10");
- orc_program_add_temporary (p, 2, "t11");
- orc_program_add_temporary (p, 2, "t12");
+ orc_program_add_temporary (p, 1, "t11");
+ orc_program_add_temporary (p, 1, "t12");
orc_program_add_temporary (p, 1, "t13");
- orc_program_add_temporary (p, 1, "t14");
- orc_program_add_temporary (p, 1, "t15");
- orc_program_add_temporary (p, 4, "t16");
+ orc_program_add_temporary (p, 4, "t14");
- orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
+ orc_program_append_2 (p, "subb", 2, ORC_VAR_T14, ORC_VAR_S1, ORC_VAR_C1,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T7, ORC_VAR_T5,
+ ORC_VAR_T14, ORC_VAR_D1);
+ orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T5,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
+ orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T7,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
- ORC_VAR_T9, ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_P1,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
- ORC_VAR_T8, ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_P2,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_T8,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T10, ORC_VAR_T6, ORC_VAR_P3,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T5,
+ ORC_VAR_T10, ORC_VAR_D1);
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_P4,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T5, ORC_VAR_T9,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T5, ORC_VAR_T7, ORC_VAR_P5,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T5,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3,
- ORC_VAR_T15, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T14,
+ orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T10, ORC_VAR_T1,
ORC_VAR_T13, ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
+ orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T12,
+ ORC_VAR_T11, ORC_VAR_D1);
+ orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T14, ORC_VAR_T10,
+ ORC_VAR_T8, ORC_VAR_D1);
+ orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T14, ORC_VAR_C1,
ORC_VAR_D1);
#endif
@@ -10839,6 +10384,11 @@ videomixer_video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1,
ex->params[ORC_VAR_D1] = d1_stride;
ex->arrays[ORC_VAR_S1] = (void *) s1;
ex->params[ORC_VAR_S1] = s1_stride;
+ ex->params[ORC_VAR_P1] = p1;
+ ex->params[ORC_VAR_P2] = p2;
+ ex->params[ORC_VAR_P3] = p3;
+ ex->params[ORC_VAR_P4] = p4;
+ ex->params[ORC_VAR_P5] = p5;
func = c->exec;
func (ex);
@@ -10850,56 +10400,39 @@ videomixer_video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1,
#ifdef DISABLE_ORC
void
videomixer_video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m)
{
int i;
int j;
orc_union32 *ORC_RESTRICT ptr0;
const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var48;
+ orc_union32 var46;
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var49;
+ volatile orc_union32 var47;
#else
- orc_union32 var49;
+ orc_union32 var47;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
+ orc_union16 var48;
+ orc_union16 var49;
orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
orc_union16 var51;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
-#else
orc_union16 var52;
-#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
+ volatile orc_union32 var53;
#else
- orc_union16 var53;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var54;
-#else
- orc_union16 var54;
+ orc_union32 var53;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var55;
-#else
+ orc_union32 var54;
orc_union32 var55;
-#endif
- orc_union32 var56;
- orc_union32 var57;
- orc_union16 var58;
- orc_union16 var59;
+ orc_union16 var56;
+ orc_union16 var57;
+ orc_int8 var58;
+ orc_int8 var59;
orc_int8 var60;
orc_int8 var61;
- orc_int8 var62;
- orc_int8 var63;
+ orc_union16 var62;
+ orc_union16 var63;
orc_union16 var64;
orc_union16 var65;
orc_union16 var66;
@@ -10910,160 +10443,125 @@ videomixer_video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1,
orc_union16 var71;
orc_union16 var72;
orc_union16 var73;
- orc_union16 var74;
- orc_union16 var75;
- orc_union16 var76;
+ orc_int8 var74;
+ orc_int8 var75;
+ orc_int8 var76;
orc_union16 var77;
orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_union16 var85;
- orc_union16 var86;
- orc_int8 var87;
- orc_int8 var88;
- orc_int8 var89;
- orc_union16 var90;
- orc_union16 var91;
- orc_union32 var92;
+ orc_union32 var79;
for (j = 0; j < m; j++) {
ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
/* 1: loadpb */
- var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 9: loadpw */
- var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+ var48.i = p1;
+ /* 11: loadpw */
+ var49.i = p2;
/* 14: loadpw */
- var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 21: loadpw */
- var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 25: loadpw */
- var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 29: loadpw */
- var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 40: loadpb */
- var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var50.i = p3;
+ /* 17: loadpw */
+ var51.i = p4;
+ /* 20: loadpw */
+ var52.i = p5;
+ /* 29: loadpb */
+ var53.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
for (i = 0; i < n; i++) {
/* 0: loadl */
- var48 = ptr4[i];
+ var46 = ptr4[i];
/* 2: subb */
- var57.x4[0] = var48.x4[0] - var49.x4[0];
- var57.x4[1] = var48.x4[1] - var49.x4[1];
- var57.x4[2] = var48.x4[2] - var49.x4[2];
- var57.x4[3] = var48.x4[3] - var49.x4[3];
+ var55.x4[0] = var46.x4[0] - var47.x4[0];
+ var55.x4[1] = var46.x4[1] - var47.x4[1];
+ var55.x4[2] = var46.x4[2] - var47.x4[2];
+ var55.x4[3] = var46.x4[3] - var47.x4[3];
/* 3: splitlw */
{
orc_union32 _src;
- _src.i = var57.i;
- var58.i = _src.x2[1];
- var59.i = _src.x2[0];
+ _src.i = var55.i;
+ var56.i = _src.x2[1];
+ var57.i = _src.x2[0];
}
/* 4: splitwb */
{
orc_union16 _src;
- _src.i = var59.i;
- var60 = _src.x2[1];
- var61 = _src.x2[0];
+ _src.i = var57.i;
+ var58 = _src.x2[1];
+ var59 = _src.x2[0];
}
/* 5: splitwb */
{
orc_union16 _src;
- _src.i = var58.i;
- var62 = _src.x2[1];
- var63 = _src.x2[0];
+ _src.i = var56.i;
+ var60 = _src.x2[1];
+ var61 = _src.x2[0];
}
- /* 6: convsbw */
- var64.i = var60;
- /* 7: convsbw */
- var65.i = var63;
- /* 8: convsbw */
- var66.i = var62;
- /* 10: mullw */
- var67.i = (var64.i * var50.i) & 0xffff;
- /* 11: shrsw */
- var68.i = var67.i >> 8;
- /* 12: addssw */
- var69.i = ORC_CLAMP_SW (var64.i + var68.i);
+ /* 6: splatbw */
+ var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+ /* 7: splatbw */
+ var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+ /* 8: splatbw */
+ var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+ /* 10: mulhsw */
+ var65.i = (var62.i * var48.i) >> 16;
+ /* 12: mulhsw */
+ var66.i = (var64.i * var49.i) >> 16;
/* 13: addssw */
- var70.i = ORC_CLAMP_SW (var69.i + var66.i);
- /* 15: mullw */
- var71.i = (var66.i * var51.i) & 0xffff;
- /* 16: shrsw */
- var72.i = var71.i >> 8;
- /* 17: subssw */
- var73.i = ORC_CLAMP_SW (var70.i - var72.i);
- /* 18: addssw */
- var74.i = ORC_CLAMP_SW (var73.i + var66.i);
+ var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+ /* 15: mulhsw */
+ var68.i = (var63.i * var50.i) >> 16;
+ /* 16: addssw */
+ var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+ /* 18: mulhsw */
+ var70.i = (var63.i * var51.i) >> 16;
/* 19: addssw */
- var75.i = ORC_CLAMP_SW (var69.i + var65.i);
- /* 20: addssw */
- var76.i = ORC_CLAMP_SW (var75.i + var65.i);
- /* 22: mullw */
- var77.i = (var65.i * var52.i) & 0xffff;
- /* 23: shrsw */
- var78.i = var77.i >> 8;
- /* 24: addssw */
- var79.i = ORC_CLAMP_SW (var76.i + var78.i);
- /* 26: mullw */
- var80.i = (var65.i * var53.i) & 0xffff;
- /* 27: shrsw */
- var81.i = var80.i >> 8;
- /* 28: subssw */
- var82.i = ORC_CLAMP_SW (var69.i - var81.i);
- /* 30: mullw */
- var83.i = (var66.i * var54.i) & 0xffff;
- /* 31: shrsw */
- var84.i = var83.i >> 8;
- /* 32: subssw */
- var85.i = ORC_CLAMP_SW (var82.i - var84.i);
- /* 33: subssw */
- var86.i = ORC_CLAMP_SW (var85.i - var84.i);
- /* 34: convssswb */
- var87 = ORC_CLAMP_SB (var74.i);
- /* 35: convssswb */
- var88 = ORC_CLAMP_SB (var86.i);
- /* 36: convssswb */
- var89 = ORC_CLAMP_SB (var79.i);
- /* 37: mergebw */
+ var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+ /* 21: mulhsw */
+ var72.i = (var64.i * var52.i) >> 16;
+ /* 22: addssw */
+ var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+ /* 23: convssswb */
+ var74 = ORC_CLAMP_SB (var67.i);
+ /* 24: convssswb */
+ var75 = ORC_CLAMP_SB (var73.i);
+ /* 25: convssswb */
+ var76 = ORC_CLAMP_SB (var69.i);
+ /* 26: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var87;
- _dest.x2[1] = var88;
- var90.i = _dest.i;
+ _dest.x2[0] = var74;
+ _dest.x2[1] = var75;
+ var77.i = _dest.i;
}
- /* 38: mergebw */
+ /* 27: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var89;
- _dest.x2[1] = var61;
- var91.i = _dest.i;
+ _dest.x2[0] = var76;
+ _dest.x2[1] = var59;
+ var78.i = _dest.i;
}
- /* 39: mergewl */
+ /* 28: mergewl */
{
orc_union32 _dest;
- _dest.x2[0] = var90.i;
- _dest.x2[1] = var91.i;
- var92.i = _dest.i;
+ _dest.x2[0] = var77.i;
+ _dest.x2[1] = var78.i;
+ var79.i = _dest.i;
}
- /* 41: addb */
- var56.x4[0] = var92.x4[0] + var55.x4[0];
- var56.x4[1] = var92.x4[1] + var55.x4[1];
- var56.x4[2] = var92.x4[2] + var55.x4[2];
- var56.x4[3] = var92.x4[3] + var55.x4[3];
- /* 42: storel */
- ptr0[i] = var56;
+ /* 30: addb */
+ var54.x4[0] = var79.x4[0] + var53.x4[0];
+ var54.x4[1] = var79.x4[1] + var53.x4[1];
+ var54.x4[2] = var79.x4[2] + var53.x4[2];
+ var54.x4[3] = var79.x4[3] + var53.x4[3];
+ /* 31: storel */
+ ptr0[i] = var54;
}
}
@@ -11080,50 +10578,32 @@ _backup_videomixer_video_convert_orc_convert_AYUV_RGBA (OrcExecutor *
int m = ex->params[ORC_VAR_A1];
orc_union32 *ORC_RESTRICT ptr0;
const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var48;
+ orc_union32 var46;
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var49;
+ volatile orc_union32 var47;
#else
- orc_union32 var49;
+ orc_union32 var47;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
+ orc_union16 var48;
+ orc_union16 var49;
orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
orc_union16 var51;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
-#else
orc_union16 var52;
-#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
+ volatile orc_union32 var53;
#else
- orc_union16 var53;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var54;
-#else
- orc_union16 var54;
+ orc_union32 var53;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var55;
-#else
+ orc_union32 var54;
orc_union32 var55;
-#endif
- orc_union32 var56;
- orc_union32 var57;
- orc_union16 var58;
- orc_union16 var59;
+ orc_union16 var56;
+ orc_union16 var57;
+ orc_int8 var58;
+ orc_int8 var59;
orc_int8 var60;
orc_int8 var61;
- orc_int8 var62;
- orc_int8 var63;
+ orc_union16 var62;
+ orc_union16 var63;
orc_union16 var64;
orc_union16 var65;
orc_union16 var66;
@@ -11134,160 +10614,125 @@ _backup_videomixer_video_convert_orc_convert_AYUV_RGBA (OrcExecutor *
orc_union16 var71;
orc_union16 var72;
orc_union16 var73;
- orc_union16 var74;
- orc_union16 var75;
- orc_union16 var76;
+ orc_int8 var74;
+ orc_int8 var75;
+ orc_int8 var76;
orc_union16 var77;
orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_union16 var85;
- orc_union16 var86;
- orc_int8 var87;
- orc_int8 var88;
- orc_int8 var89;
- orc_union16 var90;
- orc_union16 var91;
- orc_union32 var92;
+ orc_union32 var79;
for (j = 0; j < m; j++) {
ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
/* 1: loadpb */
- var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var47.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 9: loadpw */
- var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+ var48.i = ex->params[24];
+ /* 11: loadpw */
+ var49.i = ex->params[25];
/* 14: loadpw */
- var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 21: loadpw */
- var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 25: loadpw */
- var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 29: loadpw */
- var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 40: loadpb */
- var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var50.i = ex->params[26];
+ /* 17: loadpw */
+ var51.i = ex->params[27];
+ /* 20: loadpw */
+ var52.i = ex->params[28];
+ /* 29: loadpb */
+ var53.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var53.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
for (i = 0; i < n; i++) {
/* 0: loadl */
- var48 = ptr4[i];
+ var46 = ptr4[i];
/* 2: subb */
- var57.x4[0] = var48.x4[0] - var49.x4[0];
- var57.x4[1] = var48.x4[1] - var49.x4[1];
- var57.x4[2] = var48.x4[2] - var49.x4[2];
- var57.x4[3] = var48.x4[3] - var49.x4[3];
+ var55.x4[0] = var46.x4[0] - var47.x4[0];
+ var55.x4[1] = var46.x4[1] - var47.x4[1];
+ var55.x4[2] = var46.x4[2] - var47.x4[2];
+ var55.x4[3] = var46.x4[3] - var47.x4[3];
/* 3: splitlw */
{
orc_union32 _src;
- _src.i = var57.i;
- var58.i = _src.x2[1];
- var59.i = _src.x2[0];
+ _src.i = var55.i;
+ var56.i = _src.x2[1];
+ var57.i = _src.x2[0];
}
/* 4: splitwb */
{
orc_union16 _src;
- _src.i = var59.i;
- var60 = _src.x2[1];
- var61 = _src.x2[0];
+ _src.i = var57.i;
+ var58 = _src.x2[1];
+ var59 = _src.x2[0];
}
/* 5: splitwb */
{
orc_union16 _src;
- _src.i = var58.i;
- var62 = _src.x2[1];
- var63 = _src.x2[0];
+ _src.i = var56.i;
+ var60 = _src.x2[1];
+ var61 = _src.x2[0];
}
- /* 6: convsbw */
- var64.i = var60;
- /* 7: convsbw */
- var65.i = var63;
- /* 8: convsbw */
- var66.i = var62;
- /* 10: mullw */
- var67.i = (var64.i * var50.i) & 0xffff;
- /* 11: shrsw */
- var68.i = var67.i >> 8;
- /* 12: addssw */
- var69.i = ORC_CLAMP_SW (var64.i + var68.i);
+ /* 6: splatbw */
+ var62.i = ((var58 & 0xff) << 8) | (var58 & 0xff);
+ /* 7: splatbw */
+ var63.i = ((var61 & 0xff) << 8) | (var61 & 0xff);
+ /* 8: splatbw */
+ var64.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+ /* 10: mulhsw */
+ var65.i = (var62.i * var48.i) >> 16;
+ /* 12: mulhsw */
+ var66.i = (var64.i * var49.i) >> 16;
/* 13: addssw */
- var70.i = ORC_CLAMP_SW (var69.i + var66.i);
- /* 15: mullw */
- var71.i = (var66.i * var51.i) & 0xffff;
- /* 16: shrsw */
- var72.i = var71.i >> 8;
- /* 17: subssw */
- var73.i = ORC_CLAMP_SW (var70.i - var72.i);
- /* 18: addssw */
- var74.i = ORC_CLAMP_SW (var73.i + var66.i);
+ var67.i = ORC_CLAMP_SW (var65.i + var66.i);
+ /* 15: mulhsw */
+ var68.i = (var63.i * var50.i) >> 16;
+ /* 16: addssw */
+ var69.i = ORC_CLAMP_SW (var65.i + var68.i);
+ /* 18: mulhsw */
+ var70.i = (var63.i * var51.i) >> 16;
/* 19: addssw */
- var75.i = ORC_CLAMP_SW (var69.i + var65.i);
- /* 20: addssw */
- var76.i = ORC_CLAMP_SW (var75.i + var65.i);
- /* 22: mullw */
- var77.i = (var65.i * var52.i) & 0xffff;
- /* 23: shrsw */
- var78.i = var77.i >> 8;
- /* 24: addssw */
- var79.i = ORC_CLAMP_SW (var76.i + var78.i);
- /* 26: mullw */
- var80.i = (var65.i * var53.i) & 0xffff;
- /* 27: shrsw */
- var81.i = var80.i >> 8;
- /* 28: subssw */
- var82.i = ORC_CLAMP_SW (var69.i - var81.i);
- /* 30: mullw */
- var83.i = (var66.i * var54.i) & 0xffff;
- /* 31: shrsw */
- var84.i = var83.i >> 8;
- /* 32: subssw */
- var85.i = ORC_CLAMP_SW (var82.i - var84.i);
- /* 33: subssw */
- var86.i = ORC_CLAMP_SW (var85.i - var84.i);
- /* 34: convssswb */
- var87 = ORC_CLAMP_SB (var74.i);
- /* 35: convssswb */
- var88 = ORC_CLAMP_SB (var86.i);
- /* 36: convssswb */
- var89 = ORC_CLAMP_SB (var79.i);
- /* 37: mergebw */
+ var71.i = ORC_CLAMP_SW (var65.i + var70.i);
+ /* 21: mulhsw */
+ var72.i = (var64.i * var52.i) >> 16;
+ /* 22: addssw */
+ var73.i = ORC_CLAMP_SW (var71.i + var72.i);
+ /* 23: convssswb */
+ var74 = ORC_CLAMP_SB (var67.i);
+ /* 24: convssswb */
+ var75 = ORC_CLAMP_SB (var73.i);
+ /* 25: convssswb */
+ var76 = ORC_CLAMP_SB (var69.i);
+ /* 26: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var87;
- _dest.x2[1] = var88;
- var90.i = _dest.i;
+ _dest.x2[0] = var74;
+ _dest.x2[1] = var75;
+ var77.i = _dest.i;
}
- /* 38: mergebw */
+ /* 27: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var89;
- _dest.x2[1] = var61;
- var91.i = _dest.i;
+ _dest.x2[0] = var76;
+ _dest.x2[1] = var59;
+ var78.i = _dest.i;
}
- /* 39: mergewl */
+ /* 28: mergewl */
{
orc_union32 _dest;
- _dest.x2[0] = var90.i;
- _dest.x2[1] = var91.i;
- var92.i = _dest.i;
+ _dest.x2[0] = var77.i;
+ _dest.x2[1] = var78.i;
+ var79.i = _dest.i;
}
- /* 41: addb */
- var56.x4[0] = var92.x4[0] + var55.x4[0];
- var56.x4[1] = var92.x4[1] + var55.x4[1];
- var56.x4[2] = var92.x4[2] + var55.x4[2];
- var56.x4[3] = var92.x4[3] + var55.x4[3];
- /* 42: storel */
- ptr0[i] = var56;
+ /* 30: addb */
+ var54.x4[0] = var79.x4[0] + var53.x4[0];
+ var54.x4[1] = var79.x4[1] + var53.x4[1];
+ var54.x4[2] = var79.x4[2] + var53.x4[2];
+ var54.x4[3] = var79.x4[3] + var53.x4[3];
+ /* 31: storel */
+ ptr0[i] = var54;
}
}
@@ -11295,7 +10740,8 @@ _backup_videomixer_video_convert_orc_convert_AYUV_RGBA (OrcExecutor *
void
videomixer_video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1,
- int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
+ int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1,
+ int p2, int p3, int p4, int p5, int n, int m)
{
OrcExecutor _ex, *ex = &_ex;
static volatile int p_inited = 0;
@@ -11313,20 +10759,16 @@ videomixer_video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1,
105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114,
99,
95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89, 85, 86, 95, 82, 71,
- 66, 65, 11, 4, 4, 12, 4, 4, 14, 1, 8, 0, 0, 0, 14, 4,
- 128, 0, 0, 0, 14, 4, 42, 0, 0, 0, 14, 4, 103, 0, 0, 0,
- 14, 4, 4, 0, 0, 0, 14, 4, 100, 0, 0, 0, 14, 4, 104, 0,
- 0, 0, 20, 2, 20, 2, 20, 1, 20, 1, 20, 1, 20, 1, 20, 2,
- 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1, 20, 1,
- 20, 4, 21, 2, 65, 47, 4, 17, 198, 32, 33, 47, 199, 35, 34, 33,
- 199, 37, 36, 32, 149, 38, 35, 149, 39, 36, 149, 40, 37, 89, 32, 38,
- 18, 94, 32, 32, 16, 71, 38, 38, 32, 71, 41, 38, 40, 89, 32, 40,
- 19, 94, 32, 32, 16, 99, 41, 41, 32, 71, 41, 41, 40, 71, 43, 38,
- 39, 71, 43, 43, 39, 89, 32, 39, 20, 94, 32, 32, 16, 71, 43, 43,
- 32, 89, 32, 39, 21, 94, 32, 32, 16, 99, 42, 38, 32, 89, 32, 40,
- 22, 94, 32, 32, 16, 99, 42, 42, 32, 99, 42, 42, 32, 159, 44, 41,
- 159, 45, 42, 159, 46, 43, 196, 32, 44, 45, 196, 33, 46, 34, 195, 47,
- 32, 33, 21, 2, 33, 0, 47, 17, 2, 0,
+ 66, 65, 11, 4, 4, 12, 4, 4, 14, 1, 128, 0, 0, 0, 16, 2,
+ 16, 2, 16, 2, 16, 2, 16, 2, 20, 1, 20, 1, 20, 1, 20, 1,
+ 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1,
+ 20, 1, 20, 4, 21, 2, 65, 45, 4, 16, 198, 38, 36, 45, 199, 33,
+ 32, 36, 199, 35, 34, 38, 151, 36, 33, 151, 37, 34, 151, 38, 35, 90,
+ 36, 36, 24, 90, 39, 38, 25, 71, 39, 36, 39, 90, 41, 37, 26, 71,
+ 41, 36, 41, 90, 40, 37, 27, 71, 40, 36, 40, 90, 36, 38, 28, 71,
+ 40, 40, 36, 159, 42, 39, 159, 43, 40, 159, 44, 41, 196, 39, 42, 43,
+ 196, 41, 44, 32, 195, 45, 39, 41, 21, 2, 33, 0, 45, 16, 2, 0,
+
};
p = orc_program_new_from_static_bytecode (bc);
orc_program_set_backup_function (p,
@@ -11340,97 +10782,72 @@ videomixer_video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1,
_backup_videomixer_video_convert_orc_convert_AYUV_RGBA);
orc_program_add_destination (p, 4, "d1");
orc_program_add_source (p, 4, "s1");
- orc_program_add_constant (p, 1, 0x00000008, "c1");
- orc_program_add_constant (p, 4, 0x00000080, "c2");
- orc_program_add_constant (p, 4, 0x0000002a, "c3");
- orc_program_add_constant (p, 4, 0x00000067, "c4");
- orc_program_add_constant (p, 4, 0x00000004, "c5");
- orc_program_add_constant (p, 4, 0x00000064, "c6");
- orc_program_add_constant (p, 4, 0x00000068, "c7");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
+ orc_program_add_constant (p, 1, 0x00000080, "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_parameter (p, 2, "p4");
+ orc_program_add_parameter (p, 2, "p5");
+ orc_program_add_temporary (p, 1, "t1");
+ orc_program_add_temporary (p, 1, "t2");
orc_program_add_temporary (p, 1, "t3");
orc_program_add_temporary (p, 1, "t4");
- orc_program_add_temporary (p, 1, "t5");
- orc_program_add_temporary (p, 1, "t6");
+ orc_program_add_temporary (p, 2, "t5");
+ orc_program_add_temporary (p, 2, "t6");
orc_program_add_temporary (p, 2, "t7");
orc_program_add_temporary (p, 2, "t8");
orc_program_add_temporary (p, 2, "t9");
orc_program_add_temporary (p, 2, "t10");
- orc_program_add_temporary (p, 2, "t11");
- orc_program_add_temporary (p, 2, "t12");
+ orc_program_add_temporary (p, 1, "t11");
+ orc_program_add_temporary (p, 1, "t12");
orc_program_add_temporary (p, 1, "t13");
- orc_program_add_temporary (p, 1, "t14");
- orc_program_add_temporary (p, 1, "t15");
- orc_program_add_temporary (p, 4, "t16");
+ orc_program_add_temporary (p, 4, "t14");
- orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
+ orc_program_append_2 (p, "subb", 2, ORC_VAR_T14, ORC_VAR_S1, ORC_VAR_C1,
ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
+ orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T7, ORC_VAR_T5,
+ ORC_VAR_T14, ORC_VAR_D1);
+ orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T5,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
+ orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T7,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_P1,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_P2,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
- ORC_VAR_T9, ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_T8,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
- ORC_VAR_T8, ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T10, ORC_VAR_T6, 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, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T5,
+ ORC_VAR_T10, ORC_VAR_D1);
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_P4,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T5, ORC_VAR_T9,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T5, ORC_VAR_T7, ORC_VAR_P5,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
- ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T5,
ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T13,
- ORC_VAR_T14, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T15,
- ORC_VAR_T3, ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
+ orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T11,
+ ORC_VAR_T12, ORC_VAR_D1);
+ orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T10, ORC_VAR_T13,
+ ORC_VAR_T1, ORC_VAR_D1);
+ orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T14, ORC_VAR_T8,
+ ORC_VAR_T10, ORC_VAR_D1);
+ orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T14, ORC_VAR_C1,
ORC_VAR_D1);
#endif
@@ -11450,6 +10867,11 @@ videomixer_video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1,
ex->params[ORC_VAR_D1] = d1_stride;
ex->arrays[ORC_VAR_S1] = (void *) s1;
ex->params[ORC_VAR_S1] = s1_stride;
+ ex->params[ORC_VAR_P1] = p1;
+ ex->params[ORC_VAR_P2] = p2;
+ ex->params[ORC_VAR_P3] = p3;
+ ex->params[ORC_VAR_P4] = p4;
+ ex->params[ORC_VAR_P5] = p5;
func = c->exec;
func (ex);
@@ -11462,72 +10884,56 @@ videomixer_video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1,
void
videomixer_video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n)
+ const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
+ 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 var45;
+ orc_int8 var42;
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var46;
+ volatile orc_int8 var43;
#else
- orc_int8 var46;
+ orc_int8 var43;
#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var47;
+ volatile orc_int8 var44;
#else
- orc_int8 var47;
+ orc_int8 var44;
#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var48;
+ volatile orc_int8 var45;
#else
- orc_int8 var48;
+ orc_int8 var45;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var49;
-#else
+ orc_union16 var46;
+ orc_union16 var47;
+ orc_union16 var48;
orc_union16 var49;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
- orc_union16 var51;
-#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
+ volatile orc_int8 var51;
#else
- orc_union16 var52;
+ orc_int8 var51;
#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
+ volatile orc_union32 var52;
#else
- orc_union16 var53;
+ orc_union32 var52;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var54;
-#else
+ orc_union32 var53;
orc_int8 var54;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var55;
-#else
- orc_union32 var55;
-#endif
- orc_union32 var56;
+ orc_union16 var55;
+ orc_int8 var56;
orc_int8 var57;
orc_union16 var58;
orc_int8 var59;
orc_int8 var60;
orc_union16 var61;
- orc_int8 var62;
- orc_int8 var63;
+ orc_union16 var62;
+ orc_union16 var63;
orc_union16 var64;
orc_union16 var65;
orc_union16 var66;
@@ -11535,26 +10941,12 @@ videomixer_video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
orc_union16 var68;
orc_union16 var69;
orc_union16 var70;
- orc_union16 var71;
- orc_union16 var72;
- orc_union16 var73;
+ orc_int8 var71;
+ orc_int8 var72;
+ orc_int8 var73;
orc_union16 var74;
orc_union16 var75;
- orc_union16 var76;
- orc_union16 var77;
- orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_int8 var85;
- orc_int8 var86;
- orc_int8 var87;
- orc_union16 var88;
- orc_union16 var89;
- orc_union32 var90;
+ orc_union32 var76;
ptr0 = (orc_union32 *) d1;
ptr4 = (orc_int8 *) s1;
@@ -11562,126 +10954,100 @@ videomixer_video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
ptr6 = (orc_int8 *) s3;
/* 1: loadpb */
- var46 = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var43 = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 5: loadpb */
- var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var44 = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 9: loadpb */
- var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var45 = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 12: loadpw */
- var49.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+ var46.i = p1;
+ /* 14: loadpw */
+ var47.i = p2;
/* 17: loadpw */
- var50.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 24: loadpw */
- var51.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 28: loadpw */
- var52.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 32: loadpw */
- var53.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 41: loadpb */
- var54 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- /* 44: loadpb */
- var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var48.i = p3;
+ /* 20: loadpw */
+ var49.i = p4;
+ /* 23: loadpw */
+ var50.i = p5;
+ /* 30: loadpb */
+ var51 = (int) 0x0000007f; /* 127 or 6.27463e-322f */
+ /* 33: loadpb */
+ var52.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var52.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var52.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var52.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
for (i = 0; i < n; i++) {
/* 0: loadb */
- var45 = ptr4[i];
+ var42 = ptr4[i];
/* 2: subb */
- var57 = var45 - var46;
- /* 3: convsbw */
- var58.i = var57;
- /* 4: loadupib */
- var59 =
- (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
- 1) >> 1 : ptr5[i >> 1];
+ var54 = var42 - var43;
+ /* 3: splatbw */
+ var55.i = ((var54 & 0xff) << 8) | (var54 & 0xff);
+ /* 4: loadupdb */
+ var56 = ptr5[i >> 1];
/* 6: subb */
- var60 = var59 - var47;
- /* 7: convsbw */
- var61.i = var60;
- /* 8: loadupib */
- var62 =
- (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
- 1) >> 1 : ptr6[i >> 1];
+ var57 = var56 - var44;
+ /* 7: splatbw */
+ var58.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
+ /* 8: loadupdb */
+ var59 = ptr6[i >> 1];
/* 10: subb */
- var63 = var62 - var48;
- /* 11: convsbw */
- var64.i = var63;
- /* 13: mullw */
- var65.i = (var58.i * var49.i) & 0xffff;
- /* 14: shrsw */
- var66.i = var65.i >> 8;
- /* 15: addssw */
- var67.i = ORC_CLAMP_SW (var58.i + var66.i);
+ var60 = var59 - var45;
+ /* 11: splatbw */
+ var61.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+ /* 13: mulhsw */
+ var62.i = (var55.i * var46.i) >> 16;
+ /* 15: mulhsw */
+ var63.i = (var61.i * var47.i) >> 16;
/* 16: addssw */
- var68.i = ORC_CLAMP_SW (var67.i + var64.i);
- /* 18: mullw */
- var69.i = (var64.i * var50.i) & 0xffff;
- /* 19: shrsw */
- var70.i = var69.i >> 8;
- /* 20: subssw */
- var71.i = ORC_CLAMP_SW (var68.i - var70.i);
- /* 21: addssw */
- var72.i = ORC_CLAMP_SW (var71.i + var64.i);
+ var64.i = ORC_CLAMP_SW (var62.i + var63.i);
+ /* 18: mulhsw */
+ var65.i = (var58.i * var48.i) >> 16;
+ /* 19: addssw */
+ var66.i = ORC_CLAMP_SW (var62.i + var65.i);
+ /* 21: mulhsw */
+ var67.i = (var58.i * var49.i) >> 16;
/* 22: addssw */
- var73.i = ORC_CLAMP_SW (var67.i + var61.i);
- /* 23: addssw */
- var74.i = ORC_CLAMP_SW (var73.i + var61.i);
- /* 25: mullw */
- var75.i = (var61.i * var51.i) & 0xffff;
- /* 26: shrsw */
- var76.i = var75.i >> 8;
- /* 27: addssw */
- var77.i = ORC_CLAMP_SW (var74.i + var76.i);
- /* 29: mullw */
- var78.i = (var61.i * var52.i) & 0xffff;
- /* 30: shrsw */
- var79.i = var78.i >> 8;
- /* 31: subssw */
- var80.i = ORC_CLAMP_SW (var67.i - var79.i);
- /* 33: mullw */
- var81.i = (var64.i * var53.i) & 0xffff;
- /* 34: shrsw */
- var82.i = var81.i >> 8;
- /* 35: subssw */
- var83.i = ORC_CLAMP_SW (var80.i - var82.i);
- /* 36: subssw */
- var84.i = ORC_CLAMP_SW (var83.i - var82.i);
- /* 37: convssswb */
- var85 = ORC_CLAMP_SB (var72.i);
- /* 38: convssswb */
- var86 = ORC_CLAMP_SB (var84.i);
- /* 39: convssswb */
- var87 = ORC_CLAMP_SB (var77.i);
- /* 40: mergebw */
+ var68.i = ORC_CLAMP_SW (var62.i + var67.i);
+ /* 24: mulhsw */
+ var69.i = (var61.i * var50.i) >> 16;
+ /* 25: addssw */
+ var70.i = ORC_CLAMP_SW (var68.i + var69.i);
+ /* 26: convssswb */
+ var71 = ORC_CLAMP_SB (var64.i);
+ /* 27: convssswb */
+ var72 = ORC_CLAMP_SB (var70.i);
+ /* 28: convssswb */
+ var73 = ORC_CLAMP_SB (var66.i);
+ /* 29: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var87;
- _dest.x2[1] = var86;
- var88.i = _dest.i;
+ _dest.x2[0] = var73;
+ _dest.x2[1] = var72;
+ var74.i = _dest.i;
}
- /* 42: mergebw */
+ /* 31: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var85;
- _dest.x2[1] = var54;
- var89.i = _dest.i;
+ _dest.x2[0] = var71;
+ _dest.x2[1] = var51;
+ var75.i = _dest.i;
}
- /* 43: mergewl */
+ /* 32: mergewl */
{
orc_union32 _dest;
- _dest.x2[0] = var88.i;
- _dest.x2[1] = var89.i;
- var90.i = _dest.i;
+ _dest.x2[0] = var74.i;
+ _dest.x2[1] = var75.i;
+ var76.i = _dest.i;
}
- /* 45: addb */
- var56.x4[0] = var90.x4[0] + var55.x4[0];
- var56.x4[1] = var90.x4[1] + var55.x4[1];
- var56.x4[2] = var90.x4[2] + var55.x4[2];
- var56.x4[3] = var90.x4[3] + var55.x4[3];
- /* 46: storel */
- ptr0[i] = var56;
+ /* 34: addb */
+ var53.x4[0] = var76.x4[0] + var52.x4[0];
+ var53.x4[1] = var76.x4[1] + var52.x4[1];
+ var53.x4[2] = var76.x4[2] + var52.x4[2];
+ var53.x4[3] = var76.x4[3] + var52.x4[3];
+ /* 35: storel */
+ ptr0[i] = var53;
}
}
@@ -11697,65 +11063,48 @@ _backup_videomixer_video_convert_orc_convert_I420_BGRA (OrcExecutor *
const orc_int8 *ORC_RESTRICT ptr4;
const orc_int8 *ORC_RESTRICT ptr5;
const orc_int8 *ORC_RESTRICT ptr6;
- orc_int8 var45;
+ orc_int8 var42;
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var46;
+ volatile orc_int8 var43;
#else
- orc_int8 var46;
+ orc_int8 var43;
#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var47;
+ volatile orc_int8 var44;
#else
- orc_int8 var47;
+ orc_int8 var44;
#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var48;
+ volatile orc_int8 var45;
#else
- orc_int8 var48;
+ orc_int8 var45;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var49;
-#else
+ orc_union16 var46;
+ orc_union16 var47;
+ orc_union16 var48;
orc_union16 var49;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
orc_union16 var50;
-#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
+ volatile orc_int8 var51;
#else
- orc_union16 var51;
+ orc_int8 var51;
#endif
#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
+ volatile orc_union32 var52;
#else
- orc_union16 var52;
+ orc_union32 var52;
#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
-#else
- orc_union16 var53;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var54;
-#else
+ orc_union32 var53;
orc_int8 var54;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var55;
-#else
- orc_union32 var55;
-#endif
- orc_union32 var56;
+ orc_union16 var55;
+ orc_int8 var56;
orc_int8 var57;
orc_union16 var58;
orc_int8 var59;
orc_int8 var60;
orc_union16 var61;
- orc_int8 var62;
- orc_int8 var63;
+ orc_union16 var62;
+ orc_union16 var63;
orc_union16 var64;
orc_union16 var65;
orc_union16 var66;
@@ -11763,26 +11112,12 @@ _backup_videomixer_video_convert_orc_convert_I420_BGRA (OrcExecutor *
orc_union16 var68;
orc_union16 var69;
orc_union16 var70;
- orc_union16 var71;
- orc_union16 var72;
- orc_union16 var73;
+ orc_int8 var71;
+ orc_int8 var72;
+ orc_int8 var73;
orc_union16 var74;
orc_union16 var75;
- orc_union16 var76;
- orc_union16 var77;
- orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_int8 var85;
- orc_int8 var86;
- orc_int8 var87;
- orc_union16 var88;
- orc_union16 var89;
- orc_union32 var90;
+ orc_union32 var76;
ptr0 = (orc_union32 *) ex->arrays[0];
ptr4 = (orc_int8 *) ex->arrays[4];
@@ -11790,126 +11125,100 @@ _backup_videomixer_video_convert_orc_convert_I420_BGRA (OrcExecutor *
ptr6 = (orc_int8 *) ex->arrays[6];
/* 1: loadpb */
- var46 = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var43 = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 5: loadpb */
- var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var44 = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 9: loadpb */
- var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var45 = (int) 0x00000080; /* 128 or 6.32404e-322f */
/* 12: loadpw */
- var49.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
+ var46.i = ex->params[24];
+ /* 14: loadpw */
+ var47.i = ex->params[25];
/* 17: loadpw */
- var50.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 24: loadpw */
- var51.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 28: loadpw */
- var52.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 32: loadpw */
- var53.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 41: loadpb */
- var54 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- /* 44: loadpb */
- var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var48.i = ex->params[26];
+ /* 20: loadpw */
+ var49.i = ex->params[27];
+ /* 23: loadpw */
+ var50.i = ex->params[28];
+ /* 30: loadpb */
+ var51 = (int) 0x0000007f; /* 127 or 6.27463e-322f */
+ /* 33: loadpb */
+ var52.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var52.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var52.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
+ var52.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
for (i = 0; i < n; i++) {
/* 0: loadb */
- var45 = ptr4[i];
+ var42 = ptr4[i];
/* 2: subb */
- var57 = var45 - var46;
- /* 3: convsbw */
- var58.i = var57;
- /* 4: loadupib */
- var59 =
- (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
- 1) >> 1 : ptr5[i >> 1];
+ var54 = var42 - var43;
+ /* 3: splatbw */
+ var55.i = ((var54 & 0xff) << 8) | (var54 & 0xff);
+ /* 4: loadupdb */
+ var56 = ptr5[i >> 1];
/* 6: subb */
- var60 = var59 - var47;
- /* 7: convsbw */
- var61.i = var60;
- /* 8: loadupib */
- var62 =
- (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
- 1) >> 1 : ptr6[i >> 1];
+ var57 = var56 - var44;
+ /* 7: splatbw */
+ var58.i = ((var57 & 0xff) << 8) | (var57 & 0xff);
+ /* 8: loadupdb */
+ var59 = ptr6[i >> 1];
/* 10: subb */
- var63 = var62 - var48;
- /* 11: convsbw */
- var64.i = var63;
- /* 13: mullw */
- var65.i = (var58.i * var49.i) & 0xffff;
- /* 14: shrsw */
- var66.i = var65.i >> 8;
- /* 15: addssw */
- var67.i = ORC_CLAMP_SW (var58.i + var66.i);
+ var60 = var59 - var45;
+ /* 11: splatbw */
+ var61.i = ((var60 & 0xff) << 8) | (var60 & 0xff);
+ /* 13: mulhsw */
+ var62.i = (var55.i * var46.i) >> 16;
+ /* 15: mulhsw */
+ var63.i = (var61.i * var47.i) >> 16;
/* 16: addssw */
- var68.i = ORC_CLAMP_SW (var67.i + var64.i);
- /* 18: mullw */
- var69.i = (var64.i * var50.i) & 0xffff;
- /* 19: shrsw */
- var70.i = var69.i >> 8;
- /* 20: subssw */
- var71.i = ORC_CLAMP_SW (var68.i - var70.i);
- /* 21: addssw */
- var72.i = ORC_CLAMP_SW (var71.i + var64.i);
+ var64.i = ORC_CLAMP_SW (var62.i + var63.i);
+ /* 18: mulhsw */
+ var65.i = (var58.i * var48.i) >> 16;
+ /* 19: addssw */
+ var66.i = ORC_CLAMP_SW (var62.i + var65.i);
+ /* 21: mulhsw */
+ var67.i = (var58.i * var49.i) >> 16;
/* 22: addssw */
- var73.i = ORC_CLAMP_SW (var67.i + var61.i);
- /* 23: addssw */
- var74.i = ORC_CLAMP_SW (var73.i + var61.i);
- /* 25: mullw */
- var75.i = (var61.i * var51.i) & 0xffff;
- /* 26: shrsw */
- var76.i = var75.i >> 8;
- /* 27: addssw */
- var77.i = ORC_CLAMP_SW (var74.i + var76.i);
- /* 29: mullw */
- var78.i = (var61.i * var52.i) & 0xffff;
- /* 30: shrsw */
- var79.i = var78.i >> 8;
- /* 31: subssw */
- var80.i = ORC_CLAMP_SW (var67.i - var79.i);
- /* 33: mullw */
- var81.i = (var64.i * var53.i) & 0xffff;
- /* 34: shrsw */
- var82.i = var81.i >> 8;
- /* 35: subssw */
- var83.i = ORC_CLAMP_SW (var80.i - var82.i);
- /* 36: subssw */
- var84.i = ORC_CLAMP_SW (var83.i - var82.i);
- /* 37: convssswb */
- var85 = ORC_CLAMP_SB (var72.i);
- /* 38: convssswb */
- var86 = ORC_CLAMP_SB (var84.i);
- /* 39: convssswb */
- var87 = ORC_CLAMP_SB (var77.i);
- /* 40: mergebw */
+ var68.i = ORC_CLAMP_SW (var62.i + var67.i);
+ /* 24: mulhsw */
+ var69.i = (var61.i * var50.i) >> 16;
+ /* 25: addssw */
+ var70.i = ORC_CLAMP_SW (var68.i + var69.i);
+ /* 26: convssswb */
+ var71 = ORC_CLAMP_SB (var64.i);
+ /* 27: convssswb */
+ var72 = ORC_CLAMP_SB (var70.i);
+ /* 28: convssswb */
+ var73 = ORC_CLAMP_SB (var66.i);
+ /* 29: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var87;
- _dest.x2[1] = var86;
- var88.i = _dest.i;
+ _dest.x2[0] = var73;
+ _dest.x2[1] = var72;
+ var74.i = _dest.i;
}
- /* 42: mergebw */
+ /* 31: mergebw */
{
orc_union16 _dest;
- _dest.x2[0] = var85;
- _dest.x2[1] = var54;
- var89.i = _dest.i;
+ _dest.x2[0] = var71;
+ _dest.x2[1] = var51;
+ var75.i = _dest.i;
}
- /* 43: mergewl */
+ /* 32: mergewl */
{
orc_union32 _dest;
- _dest.x2[0] = var88.i;
- _dest.x2[1] = var89.i;
- var90.i = _dest.i;
+ _dest.x2[0] = var74.i;
+ _dest.x2[1] = var75.i;
+ var76.i = _dest.i;
}
- /* 45: addb */
- var56.x4[0] = var90.x4[0] + var55.x4[0];
- var56.x4[1] = var90.x4[1] + var55.x4[1];
- var56.x4[2] = var90.x4[2] + var55.x4[2];
- var56.x4[3] = var90.x4[3] + var55.x4[3];
- /* 46: storel */
- ptr0[i] = var56;
+ /* 34: addb */
+ var53.x4[0] = var76.x4[0] + var52.x4[0];
+ var53.x4[1] = var76.x4[1] + var52.x4[1];
+ var53.x4[2] = var76.x4[2] + var52.x4[2];
+ var53.x4[3] = var76.x4[3] + var52.x4[3];
+ /* 35: storel */
+ ptr0[i] = var53;
}
}
@@ -11917,7 +11226,8 @@ _backup_videomixer_video_convert_orc_convert_I420_BGRA (OrcExecutor *
void
videomixer_video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n)
+ const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
+ int n)
{
OrcExecutor _ex, *ex = &_ex;
static volatile int p_inited = 0;
@@ -11936,20 +11246,16 @@ videomixer_video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
95,
99, 111, 110, 118, 101, 114, 116, 95, 73, 52, 50, 48, 95, 66, 71, 82,
- 65, 11, 4, 4, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 8,
- 0, 0, 0, 14, 1, 128, 0, 0, 0, 14, 4, 42, 0, 0, 0, 14,
- 4, 103, 0, 0, 0, 14, 4, 4, 0, 0, 0, 14, 4, 100, 0, 0,
- 0, 14, 4, 104, 0, 0, 0, 14, 4, 255, 0, 0, 0, 20, 2, 20,
- 2, 20, 1, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20,
- 1, 20, 1, 20, 1, 20, 4, 65, 34, 4, 17, 149, 35, 34, 46, 34,
- 5, 65, 34, 34, 17, 149, 36, 34, 46, 34, 6, 65, 34, 34, 17, 149,
- 37, 34, 89, 32, 35, 18, 94, 32, 32, 16, 71, 35, 35, 32, 71, 38,
- 35, 37, 89, 32, 37, 19, 94, 32, 32, 16, 99, 38, 38, 32, 71, 38,
- 38, 37, 71, 40, 35, 36, 71, 40, 40, 36, 89, 32, 36, 20, 94, 32,
- 32, 16, 71, 40, 40, 32, 89, 32, 36, 21, 94, 32, 32, 16, 99, 39,
- 35, 32, 89, 32, 37, 22, 94, 32, 32, 16, 99, 39, 39, 32, 99, 39,
- 39, 32, 159, 41, 38, 159, 42, 39, 159, 43, 40, 196, 32, 43, 42, 196,
- 33, 41, 23, 195, 44, 32, 33, 21, 2, 33, 0, 44, 17, 2, 0,
+ 65, 11, 4, 4, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 128,
+ 0, 0, 0, 14, 4, 127, 0, 0, 0, 16, 2, 16, 2, 16, 2, 16,
+ 2, 16, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20,
+ 1, 20, 1, 20, 1, 20, 4, 65, 38, 4, 16, 151, 32, 38, 45, 38,
+ 5, 65, 38, 38, 16, 151, 33, 38, 45, 38, 6, 65, 38, 38, 16, 151,
+ 34, 38, 90, 32, 32, 24, 90, 35, 34, 25, 71, 35, 32, 35, 90, 37,
+ 33, 26, 71, 37, 32, 37, 90, 36, 33, 27, 71, 36, 32, 36, 90, 32,
+ 34, 28, 71, 36, 36, 32, 159, 38, 35, 159, 39, 36, 159, 40, 37, 196,
+ 37, 40, 39, 196, 35, 38, 17, 195, 41, 37, 35, 21, 2, 33, 0, 41,
+ 16, 2, 0,
};
p = orc_program_new_from_static_bytecode (bc);
orc_program_set_backup_function (p,
@@ -11964,2209 +11270,71 @@ videomixer_video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
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, 1, 0x00000008, "c1");
- orc_program_add_constant (p, 1, 0x00000080, "c2");
- orc_program_add_constant (p, 4, 0x0000002a, "c3");
- orc_program_add_constant (p, 4, 0x00000067, "c4");
- orc_program_add_constant (p, 4, 0x00000004, "c5");
- orc_program_add_constant (p, 4, 0x00000064, "c6");
- orc_program_add_constant (p, 4, 0x00000068, "c7");
- orc_program_add_constant (p, 4, 0x000000ff, "c8");
+ orc_program_add_constant (p, 1, 0x00000080, "c1");
+ orc_program_add_constant (p, 4, 0x0000007f, "c2");
+ orc_program_add_parameter (p, 2, "p1");
+ orc_program_add_parameter (p, 2, "p2");
+ orc_program_add_parameter (p, 2, "p3");
+ orc_program_add_parameter (p, 2, "p4");
+ orc_program_add_parameter (p, 2, "p5");
orc_program_add_temporary (p, 2, "t1");
orc_program_add_temporary (p, 2, "t2");
- orc_program_add_temporary (p, 1, "t3");
+ orc_program_add_temporary (p, 2, "t3");
orc_program_add_temporary (p, 2, "t4");
orc_program_add_temporary (p, 2, "t5");
orc_program_add_temporary (p, 2, "t6");
- orc_program_add_temporary (p, 2, "t7");
- orc_program_add_temporary (p, 2, "t8");
- orc_program_add_temporary (p, 2, "t9");
- orc_program_add_temporary (p, 1, "t10");
- orc_program_add_temporary (p, 1, "t11");
- orc_program_add_temporary (p, 1, "t12");
- orc_program_add_temporary (p, 4, "t13");
+ orc_program_add_temporary (p, 1, "t7");
+ orc_program_add_temporary (p, 1, "t8");
+ orc_program_add_temporary (p, 1, "t9");
+ orc_program_add_temporary (p, 4, "t10");
- orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_C2,
+ orc_program_append_2 (p, "subb", 0, ORC_VAR_T7, ORC_VAR_S1, ORC_VAR_C1,
ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_D1,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S2,
+ orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T7, ORC_VAR_S2,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
+ orc_program_append_2 (p, "subb", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_C1,
ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_D1,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T2, ORC_VAR_T7, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S3,
+ orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T7, ORC_VAR_S3,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
+ orc_program_append_2 (p, "subb", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_C1,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_C3,
+ orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T3, ORC_VAR_T7, ORC_VAR_D1,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T1,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_P2,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_T6,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_T4,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C4,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T6, ORC_VAR_T2, 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, "subssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T6,
- ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T4, ORC_VAR_T5,
- ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T5,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_T6,
ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C5,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_P4,
ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "addssw", 0, ORC_VAR_T5, ORC_VAR_T1, ORC_VAR_T5,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C6,
- 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, "subssw", 0, ORC_VAR_T8, ORC_VAR_T4, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C7,
- 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, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T10, ORC_VAR_T7,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T12,
- ORC_VAR_T11, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T10,
- ORC_VAR_C8, ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T13, ORC_VAR_T1,
- ORC_VAR_T2, ORC_VAR_D1);
- orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T13, ORC_VAR_C2,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
- ex->arrays[ORC_VAR_S2] = (void *) s2;
- ex->arrays[ORC_VAR_S3] = (void *) s3;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_convert_I420_BGRA_avg */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
- const guint8 * ORC_RESTRICT s5, 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;
- const orc_int8 *ORC_RESTRICT ptr7;
- const orc_int8 *ORC_RESTRICT ptr8;
- orc_int8 var46;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var47;
-#else
- orc_int8 var47;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var48;
-#else
- orc_int8 var48;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var49;
-#else
- orc_int8 var49;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
- orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
- orc_union16 var51;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
-#else
- orc_union16 var52;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
-#else
- orc_union16 var53;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var54;
-#else
- orc_union16 var54;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var55;
-#else
- orc_int8 var55;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var56;
-#else
- orc_union32 var56;
-#endif
- orc_union32 var57;
- orc_int8 var58;
- orc_union16 var59;
- orc_int8 var60;
- orc_int8 var61;
- orc_int8 var62;
- orc_int8 var63;
- orc_union16 var64;
- orc_int8 var65;
- orc_int8 var66;
- orc_int8 var67;
- orc_int8 var68;
- orc_union16 var69;
- orc_union16 var70;
- orc_union16 var71;
- orc_union16 var72;
- orc_union16 var73;
- orc_union16 var74;
- orc_union16 var75;
- orc_union16 var76;
- orc_union16 var77;
- orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_union16 var85;
- orc_union16 var86;
- orc_union16 var87;
- orc_union16 var88;
- orc_union16 var89;
- orc_int8 var90;
- orc_int8 var91;
- orc_int8 var92;
- orc_union16 var93;
- orc_union16 var94;
- orc_union32 var95;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_int8 *) s1;
- ptr5 = (orc_int8 *) s2;
- ptr6 = (orc_int8 *) s3;
- ptr7 = (orc_int8 *) s4;
- ptr8 = (orc_int8 *) s5;
-
- /* 1: loadpb */
- var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
- /* 7: loadpb */
- var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
- /* 13: loadpb */
- var49 = (int) 0x00000080; /* 128 or 6.32404e-322f */
- /* 16: loadpw */
- var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
- /* 21: loadpw */
- var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 28: loadpw */
- var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 32: loadpw */
- var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 36: loadpw */
- var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 45: loadpb */
- var55 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- /* 48: loadpb */
- var56.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var56.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var56.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var56.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var46 = ptr4[i];
- /* 2: subb */
- var58 = var46 - var47;
- /* 3: convsbw */
- var59.i = var58;
- /* 4: loadupib */
- var60 =
- (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
- 1) >> 1 : ptr5[i >> 1];
- /* 5: loadupib */
- var61 =
- (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
- 1) >> 1 : ptr6[i >> 1];
- /* 6: avgub */
- var62 = ((orc_uint8) var60 + (orc_uint8) var61 + 1) >> 1;
- /* 8: subb */
- var63 = var62 - var48;
- /* 9: convsbw */
- var64.i = var63;
- /* 10: loadupib */
- var65 =
- (i & 1) ? ((orc_uint8) ptr7[i >> 1] + (orc_uint8) ptr7[(i >> 1) + 1] +
- 1) >> 1 : ptr7[i >> 1];
- /* 11: loadupib */
- var66 =
- (i & 1) ? ((orc_uint8) ptr8[i >> 1] + (orc_uint8) ptr8[(i >> 1) + 1] +
- 1) >> 1 : ptr8[i >> 1];
- /* 12: avgub */
- var67 = ((orc_uint8) var65 + (orc_uint8) var66 + 1) >> 1;
- /* 14: subb */
- var68 = var67 - var49;
- /* 15: convsbw */
- var69.i = var68;
- /* 17: mullw */
- var70.i = (var59.i * var50.i) & 0xffff;
- /* 18: shrsw */
- var71.i = var70.i >> 8;
- /* 19: addssw */
- var72.i = ORC_CLAMP_SW (var59.i + var71.i);
- /* 20: addssw */
- var73.i = ORC_CLAMP_SW (var72.i + var69.i);
- /* 22: mullw */
- var74.i = (var69.i * var51.i) & 0xffff;
- /* 23: shrsw */
- var75.i = var74.i >> 8;
- /* 24: subssw */
- var76.i = ORC_CLAMP_SW (var73.i - var75.i);
- /* 25: addssw */
- var77.i = ORC_CLAMP_SW (var76.i + var69.i);
- /* 26: addssw */
- var78.i = ORC_CLAMP_SW (var72.i + var64.i);
- /* 27: addssw */
- var79.i = ORC_CLAMP_SW (var78.i + var64.i);
- /* 29: mullw */
- var80.i = (var64.i * var52.i) & 0xffff;
- /* 30: shrsw */
- var81.i = var80.i >> 8;
- /* 31: addssw */
- var82.i = ORC_CLAMP_SW (var79.i + var81.i);
- /* 33: mullw */
- var83.i = (var64.i * var53.i) & 0xffff;
- /* 34: shrsw */
- var84.i = var83.i >> 8;
- /* 35: subssw */
- var85.i = ORC_CLAMP_SW (var72.i - var84.i);
- /* 37: mullw */
- var86.i = (var69.i * var54.i) & 0xffff;
- /* 38: shrsw */
- var87.i = var86.i >> 8;
- /* 39: subssw */
- var88.i = ORC_CLAMP_SW (var85.i - var87.i);
- /* 40: subssw */
- var89.i = ORC_CLAMP_SW (var88.i - var87.i);
- /* 41: convssswb */
- var90 = ORC_CLAMP_SB (var77.i);
- /* 42: convssswb */
- var91 = ORC_CLAMP_SB (var89.i);
- /* 43: convssswb */
- var92 = ORC_CLAMP_SB (var82.i);
- /* 44: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var92;
- _dest.x2[1] = var91;
- var93.i = _dest.i;
- }
- /* 46: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var90;
- _dest.x2[1] = var55;
- var94.i = _dest.i;
- }
- /* 47: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var93.i;
- _dest.x2[1] = var94.i;
- var95.i = _dest.i;
- }
- /* 49: addb */
- var57.x4[0] = var95.x4[0] + var56.x4[0];
- var57.x4[1] = var95.x4[1] + var56.x4[1];
- var57.x4[2] = var95.x4[2] + var56.x4[2];
- var57.x4[3] = var95.x4[3] + var56.x4[3];
- /* 50: storel */
- ptr0[i] = var57;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_convert_I420_BGRA_avg (OrcExecutor *
- ORC_RESTRICT 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;
- const orc_int8 *ORC_RESTRICT ptr7;
- const orc_int8 *ORC_RESTRICT ptr8;
- orc_int8 var46;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var47;
-#else
- orc_int8 var47;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var48;
-#else
- orc_int8 var48;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var49;
-#else
- orc_int8 var49;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var50;
-#else
- orc_union16 var50;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var51;
-#else
- orc_union16 var51;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var52;
-#else
- orc_union16 var52;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var53;
-#else
- orc_union16 var53;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var54;
-#else
- orc_union16 var54;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var55;
-#else
- orc_int8 var55;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union32 var56;
-#else
- orc_union32 var56;
-#endif
- orc_union32 var57;
- orc_int8 var58;
- orc_union16 var59;
- orc_int8 var60;
- orc_int8 var61;
- orc_int8 var62;
- orc_int8 var63;
- orc_union16 var64;
- orc_int8 var65;
- orc_int8 var66;
- orc_int8 var67;
- orc_int8 var68;
- orc_union16 var69;
- orc_union16 var70;
- orc_union16 var71;
- orc_union16 var72;
- orc_union16 var73;
- orc_union16 var74;
- orc_union16 var75;
- orc_union16 var76;
- orc_union16 var77;
- orc_union16 var78;
- orc_union16 var79;
- orc_union16 var80;
- orc_union16 var81;
- orc_union16 var82;
- orc_union16 var83;
- orc_union16 var84;
- orc_union16 var85;
- orc_union16 var86;
- orc_union16 var87;
- orc_union16 var88;
- orc_union16 var89;
- orc_int8 var90;
- orc_int8 var91;
- orc_int8 var92;
- orc_union16 var93;
- orc_union16 var94;
- orc_union32 var95;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_int8 *) ex->arrays[4];
- ptr5 = (orc_int8 *) ex->arrays[5];
- ptr6 = (orc_int8 *) ex->arrays[6];
- ptr7 = (orc_int8 *) ex->arrays[7];
- ptr8 = (orc_int8 *) ex->arrays[8];
-
- /* 1: loadpb */
- var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
- /* 7: loadpb */
- var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
- /* 13: loadpb */
- var49 = (int) 0x00000080; /* 128 or 6.32404e-322f */
- /* 16: loadpw */
- var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
- /* 21: loadpw */
- var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
- /* 28: loadpw */
- var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
- /* 32: loadpw */
- var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
- /* 36: loadpw */
- var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
- /* 45: loadpb */
- var55 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- /* 48: loadpb */
- var56.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var56.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var56.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
- var56.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var46 = ptr4[i];
- /* 2: subb */
- var58 = var46 - var47;
- /* 3: convsbw */
- var59.i = var58;
- /* 4: loadupib */
- var60 =
- (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
- 1) >> 1 : ptr5[i >> 1];
- /* 5: loadupib */
- var61 =
- (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
- 1) >> 1 : ptr6[i >> 1];
- /* 6: avgub */
- var62 = ((orc_uint8) var60 + (orc_uint8) var61 + 1) >> 1;
- /* 8: subb */
- var63 = var62 - var48;
- /* 9: convsbw */
- var64.i = var63;
- /* 10: loadupib */
- var65 =
- (i & 1) ? ((orc_uint8) ptr7[i >> 1] + (orc_uint8) ptr7[(i >> 1) + 1] +
- 1) >> 1 : ptr7[i >> 1];
- /* 11: loadupib */
- var66 =
- (i & 1) ? ((orc_uint8) ptr8[i >> 1] + (orc_uint8) ptr8[(i >> 1) + 1] +
- 1) >> 1 : ptr8[i >> 1];
- /* 12: avgub */
- var67 = ((orc_uint8) var65 + (orc_uint8) var66 + 1) >> 1;
- /* 14: subb */
- var68 = var67 - var49;
- /* 15: convsbw */
- var69.i = var68;
- /* 17: mullw */
- var70.i = (var59.i * var50.i) & 0xffff;
- /* 18: shrsw */
- var71.i = var70.i >> 8;
- /* 19: addssw */
- var72.i = ORC_CLAMP_SW (var59.i + var71.i);
- /* 20: addssw */
- var73.i = ORC_CLAMP_SW (var72.i + var69.i);
- /* 22: mullw */
- var74.i = (var69.i * var51.i) & 0xffff;
- /* 23: shrsw */
- var75.i = var74.i >> 8;
- /* 24: subssw */
- var76.i = ORC_CLAMP_SW (var73.i - var75.i);
- /* 25: addssw */
- var77.i = ORC_CLAMP_SW (var76.i + var69.i);
- /* 26: addssw */
- var78.i = ORC_CLAMP_SW (var72.i + var64.i);
- /* 27: addssw */
- var79.i = ORC_CLAMP_SW (var78.i + var64.i);
- /* 29: mullw */
- var80.i = (var64.i * var52.i) & 0xffff;
- /* 30: shrsw */
- var81.i = var80.i >> 8;
- /* 31: addssw */
- var82.i = ORC_CLAMP_SW (var79.i + var81.i);
- /* 33: mullw */
- var83.i = (var64.i * var53.i) & 0xffff;
- /* 34: shrsw */
- var84.i = var83.i >> 8;
- /* 35: subssw */
- var85.i = ORC_CLAMP_SW (var72.i - var84.i);
- /* 37: mullw */
- var86.i = (var69.i * var54.i) & 0xffff;
- /* 38: shrsw */
- var87.i = var86.i >> 8;
- /* 39: subssw */
- var88.i = ORC_CLAMP_SW (var85.i - var87.i);
- /* 40: subssw */
- var89.i = ORC_CLAMP_SW (var88.i - var87.i);
- /* 41: convssswb */
- var90 = ORC_CLAMP_SB (var77.i);
- /* 42: convssswb */
- var91 = ORC_CLAMP_SB (var89.i);
- /* 43: convssswb */
- var92 = ORC_CLAMP_SB (var82.i);
- /* 44: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var92;
- _dest.x2[1] = var91;
- var93.i = _dest.i;
- }
- /* 46: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var90;
- _dest.x2[1] = var55;
- var94.i = _dest.i;
- }
- /* 47: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var93.i;
- _dest.x2[1] = var94.i;
- var95.i = _dest.i;
- }
- /* 49: addb */
- var57.x4[0] = var95.x4[0] + var56.x4[0];
- var57.x4[1] = var95.x4[1] + var56.x4[1];
- var57.x4[2] = var95.x4[2] + var56.x4[2];
- var57.x4[3] = var95.x4[3] + var56.x4[3];
- /* 50: storel */
- ptr0[i] = var57;
- }
-
-}
-
-void
-videomixer_video_convert_orc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
- const guint8 * ORC_RESTRICT s5, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 50, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 99, 111, 110, 118, 101, 114, 116, 95, 73, 52, 50, 48, 95, 66, 71, 82,
- 65, 95, 97, 118, 103, 11, 4, 4, 12, 1, 1, 12, 1, 1, 12, 1,
- 1, 12, 1, 1, 12, 1, 1, 14, 1, 8, 0, 0, 0, 14, 1, 128,
- 0, 0, 0, 14, 4, 42, 0, 0, 0, 14, 4, 103, 0, 0, 0, 14,
- 4, 4, 0, 0, 0, 14, 4, 100, 0, 0, 0, 14, 4, 104, 0, 0,
- 0, 14, 4, 255, 0, 0, 0, 20, 2, 20, 2, 20, 1, 20, 1, 20,
- 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 1, 20, 1, 20,
- 1, 20, 4, 65, 34, 4, 17, 149, 36, 34, 46, 34, 5, 46, 35, 6,
- 39, 34, 34, 35, 65, 34, 34, 17, 149, 37, 34, 46, 34, 7, 46, 35,
- 8, 39, 34, 34, 35, 65, 34, 34, 17, 149, 38, 34, 89, 32, 36, 18,
- 94, 32, 32, 16, 71, 36, 36, 32, 71, 39, 36, 38, 89, 32, 38, 19,
- 94, 32, 32, 16, 99, 39, 39, 32, 71, 39, 39, 38, 71, 41, 36, 37,
- 71, 41, 41, 37, 89, 32, 37, 20, 94, 32, 32, 16, 71, 41, 41, 32,
- 89, 32, 37, 21, 94, 32, 32, 16, 99, 40, 36, 32, 89, 32, 38, 22,
- 94, 32, 32, 16, 99, 40, 40, 32, 99, 40, 40, 32, 159, 42, 39, 159,
- 43, 40, 159, 44, 41, 196, 32, 44, 43, 196, 33, 42, 23, 195, 45, 32,
- 33, 21, 2, 33, 0, 45, 17, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_convert_I420_BGRA_avg);
-#else
- p = orc_program_new ();
- orc_program_set_name (p,
- "videomixer_video_convert_orc_convert_I420_BGRA_avg");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_convert_I420_BGRA_avg);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 1, "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_source (p, 1, "s5");
- orc_program_add_constant (p, 1, 0x00000008, "c1");
- orc_program_add_constant (p, 1, 0x00000080, "c2");
- orc_program_add_constant (p, 4, 0x0000002a, "c3");
- orc_program_add_constant (p, 4, 0x00000067, "c4");
- orc_program_add_constant (p, 4, 0x00000004, "c5");
- orc_program_add_constant (p, 4, 0x00000064, "c6");
- orc_program_add_constant (p, 4, 0x00000068, "c7");
- orc_program_add_constant (p, 4, 0x000000ff, "c8");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
- orc_program_add_temporary (p, 1, "t3");
- orc_program_add_temporary (p, 1, "t4");
- orc_program_add_temporary (p, 2, "t5");
- orc_program_add_temporary (p, 2, "t6");
- orc_program_add_temporary (p, 2, "t7");
- orc_program_add_temporary (p, 2, "t8");
- orc_program_add_temporary (p, 2, "t9");
- orc_program_add_temporary (p, 2, "t10");
- orc_program_add_temporary (p, 1, "t11");
- orc_program_add_temporary (p, 1, "t12");
- orc_program_add_temporary (p, 1, "t13");
- orc_program_add_temporary (p, 4, "t14");
-
- orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_C2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S2,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T4, ORC_VAR_S3,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S4,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T4, ORC_VAR_S5,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T3, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
+ orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_P5,
ORC_VAR_D1);
orc_program_append_2 (p, "addssw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_T1,
ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_T7,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C4,
- 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, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T7,
- ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T5, ORC_VAR_T6,
- ORC_VAR_D1);
- orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
- ORC_VAR_T6, ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C5,
- 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, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
- ORC_VAR_T1, ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C6,
- 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, "subssw", 0, ORC_VAR_T9, ORC_VAR_T5, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C7,
- 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, "subssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "subssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T13,
- ORC_VAR_T12, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T11,
- ORC_VAR_C8, ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T14, ORC_VAR_T1,
- ORC_VAR_T2, ORC_VAR_D1);
- orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T14, ORC_VAR_C2,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
- ex->arrays[ORC_VAR_S2] = (void *) s2;
- ex->arrays[ORC_VAR_S3] = (void *) s3;
- ex->arrays[ORC_VAR_S4] = (void *) s4;
- ex->arrays[ORC_VAR_S5] = (void *) s5;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_I420 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_I420 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, 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;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var36;
-#else
- orc_int8 var36;
-#endif
- orc_int8 var37;
- orc_union32 var38;
- orc_int8 var39;
- orc_int8 var40;
- orc_union16 var41;
- orc_union16 var42;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_int8 *) s1;
- ptr5 = (orc_int8 *) s2;
- ptr6 = (orc_int8 *) s3;
-
- /* 3: loadpb */
- var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadupdb */
- var39 = ptr5[i >> 1];
- /* 1: loadupdb */
- var40 = ptr6[i >> 1];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var39;
- _dest.x2[1] = var40;
- var41.i = _dest.i;
- }
- /* 4: loadb */
- var37 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36;
- _dest.x2[1] = var37;
- var42.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.i;
- _dest.x2[1] = var41.i;
- var38.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_I420 (OrcExecutor *
- ORC_RESTRICT 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;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var36;
-#else
- orc_int8 var36;
-#endif
- orc_int8 var37;
- orc_union32 var38;
- orc_int8 var39;
- orc_int8 var40;
- orc_union16 var41;
- orc_union16 var42;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_int8 *) ex->arrays[4];
- ptr5 = (orc_int8 *) ex->arrays[5];
- ptr6 = (orc_int8 *) ex->arrays[6];
-
- /* 3: loadpb */
- var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadupdb */
- var39 = ptr5[i >> 1];
- /* 1: loadupdb */
- var40 = ptr6[i >> 1];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var39;
- _dest.x2[1] = var40;
- var41.i = _dest.i;
- }
- /* 4: loadb */
- var37 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36;
- _dest.x2[1] = var37;
- var42.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.i;
- _dest.x2[1] = var41.i;
- var38.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_I420 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 73, 52, 50, 48, 11, 4, 4, 12,
- 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 255, 0, 0, 0, 20, 2,
- 20, 2, 20, 1, 20, 1, 45, 34, 5, 45, 35, 6, 196, 32, 34, 35,
- 196, 33, 16, 4, 195, 0, 33, 32, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_I420);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_I420");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_I420);
- orc_program_add_destination (p, 4, "d1");
- 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, 1, 0x000000ff, "c1");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
- orc_program_add_temporary (p, 1, "t3");
- orc_program_add_temporary (p, 1, "t4");
-
- orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S2,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T7, ORC_VAR_T4,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S3,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
- ex->arrays[ORC_VAR_S2] = (void *) s2;
- ex->arrays[ORC_VAR_S3] = (void *) s3;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_YUV9 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_YUV9 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n)
-{
- int i;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union16 *ORC_RESTRICT ptr4;
- const orc_int8 *ORC_RESTRICT ptr5;
- const orc_int8 *ORC_RESTRICT ptr6;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var37;
-#else
- orc_union16 var37;
-#endif
- orc_union16 var38;
- orc_union64 var39;
- orc_int8 var40;
- orc_int8 var41;
- orc_union16 var42;
- orc_union32 var43;
- orc_union32 var44;
-
- ptr0 = (orc_union64 *) d1;
- ptr4 = (orc_union16 *) s1;
- ptr5 = (orc_int8 *) s2;
- ptr6 = (orc_int8 *) s3;
-
- /* 4: loadpb */
- var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadupdb */
- var40 = ptr5[i >> 1];
- /* 1: loadupdb */
- var41 = ptr6[i >> 1];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var40;
- _dest.x2[1] = var41;
- var42.i = _dest.i;
- }
- /* 3: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.i;
- _dest.x2[1] = var42.i;
- var43.i = _dest.i;
- }
- /* 5: loadw */
- var38 = ptr4[i];
- /* 6: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[0];
- _dest.x2[1] = var38.x2[0];
- var44.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[1];
- _dest.x2[1] = var38.x2[1];
- var44.x2[1] = _dest.i;
- }
- /* 7: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var44.x2[0];
- _dest.x2[1] = var43.x2[0];
- var39.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var44.x2[1];
- _dest.x2[1] = var43.x2[1];
- var39.x2[1] = _dest.i;
- }
- /* 8: storeq */
- ptr0[i] = var39;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_YUV9 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union16 *ORC_RESTRICT ptr4;
- const orc_int8 *ORC_RESTRICT ptr5;
- const orc_int8 *ORC_RESTRICT ptr6;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var37;
-#else
- orc_union16 var37;
-#endif
- orc_union16 var38;
- orc_union64 var39;
- orc_int8 var40;
- orc_int8 var41;
- orc_union16 var42;
- orc_union32 var43;
- orc_union32 var44;
-
- ptr0 = (orc_union64 *) ex->arrays[0];
- ptr4 = (orc_union16 *) ex->arrays[4];
- ptr5 = (orc_int8 *) ex->arrays[5];
- ptr6 = (orc_int8 *) ex->arrays[6];
-
- /* 4: loadpb */
- var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadupdb */
- var40 = ptr5[i >> 1];
- /* 1: loadupdb */
- var41 = ptr6[i >> 1];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var40;
- _dest.x2[1] = var41;
- var42.i = _dest.i;
- }
- /* 3: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.i;
- _dest.x2[1] = var42.i;
- var43.i = _dest.i;
- }
- /* 5: loadw */
- var38 = ptr4[i];
- /* 6: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[0];
- _dest.x2[1] = var38.x2[0];
- var44.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[1];
- _dest.x2[1] = var38.x2[1];
- var44.x2[1] = _dest.i;
- }
- /* 7: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var44.x2[0];
- _dest.x2[1] = var43.x2[0];
- var39.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var44.x2[1];
- _dest.x2[1] = var43.x2[1];
- var39.x2[1] = _dest.i;
- }
- /* 8: storeq */
- ptr0[i] = var39;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_YUV9 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 89, 85, 86, 57, 11, 8, 8, 12,
- 2, 2, 12, 1, 1, 12, 1, 1, 14, 1, 255, 0, 0, 0, 20, 2,
- 20, 4, 20, 4, 20, 1, 20, 1, 45, 35, 5, 45, 36, 6, 196, 32,
- 35, 36, 195, 34, 32, 32, 21, 1, 196, 33, 16, 4, 21, 1, 195, 0,
- 33, 34, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_YUV9);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_YUV9");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_YUV9);
- orc_program_add_destination (p, 8, "d1");
- orc_program_add_source (p, 2, "s1");
- orc_program_add_source (p, 1, "s2");
- orc_program_add_source (p, 1, "s3");
- orc_program_add_constant (p, 1, 0x000000ff, "c1");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 4, "t2");
- orc_program_add_temporary (p, 4, "t3");
- orc_program_add_temporary (p, 1, "t4");
- orc_program_add_temporary (p, 1, "t5");
-
- orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S2,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T8, ORC_VAR_T5,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T5, ORC_VAR_S3,
+ orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T9, ORC_VAR_T6,
ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_T5,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
- ex->arrays[ORC_VAR_S2] = (void *) s2;
- ex->arrays[ORC_VAR_S3] = (void *) s3;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_YUY2 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_YUY2 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var37;
-#else
- orc_union16 var37;
-#endif
- orc_union64 var38;
- orc_union16 var39;
- orc_union16 var40;
- orc_union32 var41;
- orc_union32 var42;
-
- ptr0 = (orc_union64 *) d1;
- ptr4 = (orc_union32 *) s1;
-
- /* 2: loadpb */
- var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var36 = ptr4[i];
- /* 1: splitwb */
- {
- orc_union16 _src;
- _src.i = var36.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var36.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 3: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[0];
- _dest.x2[1] = var40.x2[0];
- var41.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[1];
- _dest.x2[1] = var40.x2[1];
- var41.x2[1] = _dest.i;
- }
- /* 4: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var39.i;
- _dest.x2[1] = var39.i;
- var42.i = _dest.i;
- }
- /* 5: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[0];
- _dest.x2[1] = var42.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[1];
- _dest.x2[1] = var42.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 6: storeq */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_YUY2 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var37;
-#else
- orc_union16 var37;
-#endif
- orc_union64 var38;
- orc_union16 var39;
- orc_union16 var40;
- orc_union32 var41;
- orc_union32 var42;
-
- ptr0 = (orc_union64 *) ex->arrays[0];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
- /* 2: loadpb */
- var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var36 = ptr4[i];
- /* 1: splitwb */
- {
- orc_union16 _src;
- _src.i = var36.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var36.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 3: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[0];
- _dest.x2[1] = var40.x2[0];
- var41.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[1];
- _dest.x2[1] = var40.x2[1];
- var41.x2[1] = _dest.i;
- }
- /* 4: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var39.i;
- _dest.x2[1] = var39.i;
- var42.i = _dest.i;
- }
- /* 5: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[0];
- _dest.x2[1] = var42.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[1];
- _dest.x2[1] = var42.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 6: storeq */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_YUY2 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 89, 85, 89, 50, 11, 8, 8, 12,
- 4, 4, 14, 2, 255, 0, 0, 0, 20, 2, 20, 2, 20, 4, 20, 4,
- 21, 1, 199, 33, 32, 4, 21, 1, 196, 34, 16, 32, 195, 35, 33, 33,
- 21, 1, 195, 0, 34, 35, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_YUY2);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_YUY2");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_YUY2);
- orc_program_add_destination (p, 8, "d1");
- orc_program_add_source (p, 4, "s1");
- orc_program_add_constant (p, 2, 0x000000ff, "c1");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
- orc_program_add_temporary (p, 4, "t3");
- orc_program_add_temporary (p, 4, "t4");
-
- orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
+ orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T9, ORC_VAR_T8,
ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
+ orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_T7, ORC_VAR_C2,
ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_UYVY */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_UYVY (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var37;
-#else
- orc_union16 var37;
-#endif
- orc_union64 var38;
- orc_union16 var39;
- orc_union16 var40;
- orc_union32 var41;
- orc_union32 var42;
-
- ptr0 = (orc_union64 *) d1;
- ptr4 = (orc_union32 *) s1;
-
- /* 2: loadpb */
- var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var36 = ptr4[i];
- /* 1: splitwb */
- {
- orc_union16 _src;
- _src.i = var36.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var36.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 3: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[0];
- _dest.x2[1] = var39.x2[0];
- var41.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[1];
- _dest.x2[1] = var39.x2[1];
- var41.x2[1] = _dest.i;
- }
- /* 4: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var40.i;
- _dest.x2[1] = var40.i;
- var42.i = _dest.i;
- }
- /* 5: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[0];
- _dest.x2[1] = var42.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[1];
- _dest.x2[1] = var42.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 6: storeq */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_UYVY (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var37;
-#else
- orc_union16 var37;
-#endif
- orc_union64 var38;
- orc_union16 var39;
- orc_union16 var40;
- orc_union32 var41;
- orc_union32 var42;
-
- ptr0 = (orc_union64 *) ex->arrays[0];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
- /* 2: loadpb */
- var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var36 = ptr4[i];
- /* 1: splitwb */
- {
- orc_union16 _src;
- _src.i = var36.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var36.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 3: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[0];
- _dest.x2[1] = var39.x2[0];
- var41.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[1];
- _dest.x2[1] = var39.x2[1];
- var41.x2[1] = _dest.i;
- }
- /* 4: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var40.i;
- _dest.x2[1] = var40.i;
- var42.i = _dest.i;
- }
- /* 5: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[0];
- _dest.x2[1] = var42.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[1];
- _dest.x2[1] = var42.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 6: storeq */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_UYVY (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 85, 89, 86, 89, 11, 8, 8, 12,
- 4, 4, 14, 2, 255, 0, 0, 0, 20, 2, 20, 2, 20, 4, 20, 4,
- 21, 1, 199, 32, 33, 4, 21, 1, 196, 34, 16, 32, 195, 35, 33, 33,
- 21, 1, 195, 0, 34, 35, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_UYVY);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_UYVY");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_UYVY);
- orc_program_add_destination (p, 8, "d1");
- orc_program_add_source (p, 4, "s1");
- orc_program_add_constant (p, 2, 0x000000ff, "c1");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
- orc_program_add_temporary (p, 4, "t3");
- orc_program_add_temporary (p, 4, "t4");
-
- orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_YVYU */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_YVYU (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var37;
-#else
- orc_union16 var37;
-#endif
- orc_union64 var38;
- orc_union16 var39;
- orc_union16 var40;
- orc_union16 var41;
- orc_union32 var42;
- orc_union32 var43;
-
- ptr0 = (orc_union64 *) d1;
- ptr4 = (orc_union32 *) s1;
-
- /* 3: loadpb */
- var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var36 = ptr4[i];
- /* 1: splitwb */
- {
- orc_union16 _src;
- _src.i = var36.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var36.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 2: swapw */
- var41.i = ORC_SWAP_W (var39.i);
- /* 4: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[0];
- _dest.x2[1] = var40.x2[0];
- var42.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[1];
- _dest.x2[1] = var40.x2[1];
- var42.x2[1] = _dest.i;
- }
- /* 5: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.i;
- _dest.x2[1] = var41.i;
- var43.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.x2[0];
- _dest.x2[1] = var43.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.x2[1];
- _dest.x2[1] = var43.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 7: storeq */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_YVYU (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var36;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var37;
-#else
- orc_union16 var37;
-#endif
- orc_union64 var38;
- orc_union16 var39;
- orc_union16 var40;
- orc_union16 var41;
- orc_union32 var42;
- orc_union32 var43;
-
- ptr0 = (orc_union64 *) ex->arrays[0];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
- /* 3: loadpb */
- var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var36 = ptr4[i];
- /* 1: splitwb */
- {
- orc_union16 _src;
- _src.i = var36.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var36.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 2: swapw */
- var41.i = ORC_SWAP_W (var39.i);
- /* 4: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[0];
- _dest.x2[1] = var40.x2[0];
- var42.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var37.x2[1];
- _dest.x2[1] = var40.x2[1];
- var42.x2[1] = _dest.i;
- }
- /* 5: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.i;
- _dest.x2[1] = var41.i;
- var43.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.x2[0];
- _dest.x2[1] = var43.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.x2[1];
- _dest.x2[1] = var43.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 7: storeq */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_YVYU (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 89, 86, 89, 85, 11, 8, 8, 12,
- 4, 4, 14, 2, 255, 0, 0, 0, 20, 2, 20, 2, 20, 4, 20, 4,
- 21, 1, 199, 33, 32, 4, 183, 33, 33, 21, 1, 196, 34, 16, 32, 195,
- 35, 33, 33, 21, 1, 195, 0, 34, 35, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_YVYU);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_YVYU");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_YVYU);
- orc_program_add_destination (p, 8, "d1");
- orc_program_add_source (p, 4, "s1");
- orc_program_add_constant (p, 2, 0x000000ff, "c1");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
- orc_program_add_temporary (p, 4, "t3");
- orc_program_add_temporary (p, 4, "t4");
-
- orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "swapw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_Y42B */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_Y42B (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n)
-{
- int i;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union16 *ORC_RESTRICT ptr4;
- const orc_int8 *ORC_RESTRICT ptr5;
- const orc_int8 *ORC_RESTRICT ptr6;
- orc_int8 var36;
- orc_int8 var37;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var38;
-#else
- orc_union16 var38;
-#endif
- orc_union16 var39;
- orc_union64 var40;
- orc_union16 var41;
- orc_union32 var42;
- orc_union32 var43;
-
- ptr0 = (orc_union64 *) d1;
- ptr4 = (orc_union16 *) s1;
- ptr5 = (orc_int8 *) s2;
- ptr6 = (orc_int8 *) s3;
-
- /* 3: loadpb */
- var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var36 = ptr5[i];
- /* 1: loadb */
- var37 = ptr6[i];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36;
- _dest.x2[1] = var37;
- var41.i = _dest.i;
- }
- /* 4: loadw */
- var39 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var38.x2[0];
- _dest.x2[1] = var39.x2[0];
- var42.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var38.x2[1];
- _dest.x2[1] = var39.x2[1];
- var42.x2[1] = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.i;
- _dest.x2[1] = var41.i;
- var43.i = _dest.i;
- }
- /* 7: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.x2[0];
- _dest.x2[1] = var43.x2[0];
- var40.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.x2[1];
- _dest.x2[1] = var43.x2[1];
- var40.x2[1] = _dest.i;
- }
- /* 8: storeq */
- ptr0[i] = var40;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_Y42B (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union16 *ORC_RESTRICT ptr4;
- const orc_int8 *ORC_RESTRICT ptr5;
- const orc_int8 *ORC_RESTRICT ptr6;
- orc_int8 var36;
- orc_int8 var37;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var38;
-#else
- orc_union16 var38;
-#endif
- orc_union16 var39;
- orc_union64 var40;
- orc_union16 var41;
- orc_union32 var42;
- orc_union32 var43;
-
- ptr0 = (orc_union64 *) ex->arrays[0];
- ptr4 = (orc_union16 *) ex->arrays[4];
- ptr5 = (orc_int8 *) ex->arrays[5];
- ptr6 = (orc_int8 *) ex->arrays[6];
-
- /* 3: loadpb */
- var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var36 = ptr5[i];
- /* 1: loadb */
- var37 = ptr6[i];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36;
- _dest.x2[1] = var37;
- var41.i = _dest.i;
- }
- /* 4: loadw */
- var39 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var38.x2[0];
- _dest.x2[1] = var39.x2[0];
- var42.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var38.x2[1];
- _dest.x2[1] = var39.x2[1];
- var42.x2[1] = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.i;
- _dest.x2[1] = var41.i;
- var43.i = _dest.i;
- }
- /* 7: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.x2[0];
- _dest.x2[1] = var43.x2[0];
- var40.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.x2[1];
- _dest.x2[1] = var43.x2[1];
- var40.x2[1] = _dest.i;
- }
- /* 8: storeq */
- ptr0[i] = var40;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_Y42B (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 89, 52, 50, 66, 11, 8, 8, 12,
- 2, 2, 12, 1, 1, 12, 1, 1, 14, 1, 255, 0, 0, 0, 20, 2,
- 20, 2, 20, 4, 20, 4, 196, 32, 5, 6, 21, 1, 196, 35, 16, 4,
- 195, 34, 32, 32, 21, 1, 195, 0, 35, 34, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_Y42B);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_Y42B");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_Y42B);
- orc_program_add_destination (p, 8, "d1");
- orc_program_add_source (p, 2, "s1");
- orc_program_add_source (p, 1, "s2");
- orc_program_add_source (p, 1, "s3");
- orc_program_add_constant (p, 1, 0x000000ff, "c1");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
- orc_program_add_temporary (p, 4, "t3");
- orc_program_add_temporary (p, 4, "t4");
-
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T4, ORC_VAR_C1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3,
+ orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T10, ORC_VAR_T6,
+ ORC_VAR_T4, ORC_VAR_D1);
+ orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T10, ORC_VAR_C1,
ORC_VAR_D1);
#endif
@@ -14185,4783 +11353,11 @@ videomixer_video_convert_orc_getline_Y42B (guint8 * ORC_RESTRICT d1,
ex->arrays[ORC_VAR_S1] = (void *) s1;
ex->arrays[ORC_VAR_S2] = (void *) s2;
ex->arrays[ORC_VAR_S3] = (void *) s3;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_Y444 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_Y444 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, 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;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var36;
-#else
- orc_int8 var36;
-#endif
- orc_int8 var37;
- orc_union32 var38;
- orc_union16 var39;
- orc_union16 var40;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_int8 *) s1;
- ptr5 = (orc_int8 *) s2;
- ptr6 = (orc_int8 *) s3;
-
- /* 3: loadpb */
- var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var34 = ptr5[i];
- /* 1: loadb */
- var35 = ptr6[i];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var34;
- _dest.x2[1] = var35;
- var39.i = _dest.i;
- }
- /* 4: loadb */
- var37 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36;
- _dest.x2[1] = var37;
- var40.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var40.i;
- _dest.x2[1] = var39.i;
- var38.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_Y444 (OrcExecutor *
- ORC_RESTRICT 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;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var36;
-#else
- orc_int8 var36;
-#endif
- orc_int8 var37;
- orc_union32 var38;
- orc_union16 var39;
- orc_union16 var40;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_int8 *) ex->arrays[4];
- ptr5 = (orc_int8 *) ex->arrays[5];
- ptr6 = (orc_int8 *) ex->arrays[6];
-
- /* 3: loadpb */
- var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadb */
- var34 = ptr5[i];
- /* 1: loadb */
- var35 = ptr6[i];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var34;
- _dest.x2[1] = var35;
- var39.i = _dest.i;
- }
- /* 4: loadb */
- var37 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36;
- _dest.x2[1] = var37;
- var40.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var40.i;
- _dest.x2[1] = var39.i;
- var38.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_Y444 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 89, 52, 52, 52, 11, 4, 4, 12,
- 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 255, 0, 0, 0, 20, 2,
- 20, 2, 196, 32, 5, 6, 196, 33, 16, 4, 195, 0, 33, 32, 2, 0,
-
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_Y444);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_Y444");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_Y444);
- orc_program_add_destination (p, 4, "d1");
- 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, 1, 0x000000ff, "c1");
- 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_S2, ORC_VAR_S3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
- ex->arrays[ORC_VAR_S2] = (void *) s2;
- ex->arrays[ORC_VAR_S3] = (void *) s3;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_Y800 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_Y800 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_int8 *ORC_RESTRICT ptr4;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var33;
-#else
- orc_int8 var33;
-#endif
- orc_int8 var34;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var35;
-#else
- orc_union16 var35;
-#endif
- orc_union32 var36;
- orc_union16 var37;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_int8 *) s1;
-
- /* 0: loadpb */
- var33 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- /* 3: loadpw */
- var35.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
-
- for (i = 0; i < n; i++) {
- /* 1: loadb */
- var34 = ptr4[i];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var33;
- _dest.x2[1] = var34;
- var37.i = _dest.i;
- }
- /* 4: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var37.i;
- _dest.x2[1] = var35.i;
- var36.i = _dest.i;
- }
- /* 5: storel */
- ptr0[i] = var36;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_Y800 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_int8 *ORC_RESTRICT ptr4;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var33;
-#else
- orc_int8 var33;
-#endif
- orc_int8 var34;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var35;
-#else
- orc_union16 var35;
-#endif
- orc_union32 var36;
- orc_union16 var37;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_int8 *) ex->arrays[4];
-
- /* 0: loadpb */
- var33 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- /* 3: loadpw */
- var35.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
-
- for (i = 0; i < n; i++) {
- /* 1: loadb */
- var34 = ptr4[i];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var33;
- _dest.x2[1] = var34;
- var37.i = _dest.i;
- }
- /* 4: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var37.i;
- _dest.x2[1] = var35.i;
- var36.i = _dest.i;
- }
- /* 5: storel */
- ptr0[i] = var36;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_Y800 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 89, 56, 48, 48, 11, 4, 4, 12,
- 1, 1, 14, 1, 255, 0, 0, 0, 14, 2, 128, 128, 0, 0, 20, 2,
- 196, 32, 16, 4, 195, 0, 32, 17, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_Y800);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_Y800");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_Y800);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 1, "s1");
- orc_program_add_constant (p, 1, 0x000000ff, "c1");
- orc_program_add_constant (p, 2, 0x00008080, "c2");
- orc_program_add_temporary (p, 2, "t1");
-
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_Y16 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_Y16 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union16 *ORC_RESTRICT ptr4;
- orc_union16 var34;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var35;
-#else
- orc_int8 var35;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var36;
-#else
- orc_union16 var36;
-#endif
- orc_union32 var37;
- orc_int8 var38;
- orc_union16 var39;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_union16 *) s1;
-
- /* 2: loadpb */
- var35 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- /* 4: loadpw */
- var36.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var34 = ptr4[i];
- /* 1: convhwb */
- var38 = ((orc_uint16) var34.i) >> 8;
- /* 3: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var35;
- _dest.x2[1] = var38;
- var39.i = _dest.i;
- }
- /* 5: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var39.i;
- _dest.x2[1] = var36.i;
- var37.i = _dest.i;
- }
- /* 6: storel */
- ptr0[i] = var37;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_Y16 (OrcExecutor * ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union16 *ORC_RESTRICT ptr4;
- orc_union16 var34;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_int8 var35;
-#else
- orc_int8 var35;
-#endif
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var36;
-#else
- orc_union16 var36;
-#endif
- orc_union32 var37;
- orc_int8 var38;
- orc_union16 var39;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_union16 *) ex->arrays[4];
-
- /* 2: loadpb */
- var35 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- /* 4: loadpw */
- var36.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var34 = ptr4[i];
- /* 1: convhwb */
- var38 = ((orc_uint16) var34.i) >> 8;
- /* 3: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var35;
- _dest.x2[1] = var38;
- var39.i = _dest.i;
- }
- /* 5: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var39.i;
- _dest.x2[1] = var36.i;
- var37.i = _dest.i;
- }
- /* 6: storel */
- ptr0[i] = var37;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_Y16 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 40, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 89, 49, 54, 11, 4, 4, 12, 2,
- 2, 14, 1, 255, 0, 0, 0, 14, 2, 128, 128, 0, 0, 20, 2, 20,
- 1, 158, 33, 4, 196, 32, 16, 33, 195, 0, 32, 17, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_Y16);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_Y16");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_Y16);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 2, "s1");
- orc_program_add_constant (p, 1, 0x000000ff, "c1");
- orc_program_add_constant (p, 2, 0x00008080, "c2");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 1, "t2");
-
- orc_program_append_2 (p, "convhwb", 0, ORC_VAR_T2, ORC_VAR_S1, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_BGRA */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_BGRA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var32;
- orc_union32 var33;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_union32 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: swapl */
- var33.i = ORC_SWAP_L (var32.i);
- /* 2: storel */
- ptr0[i] = var33;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_BGRA (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var32;
- orc_union32 var33;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: swapl */
- var33.i = ORC_SWAP_L (var32.i);
- /* 2: storel */
- ptr0[i] = var33;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_BGRA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 66, 71, 82, 65, 11, 4, 4, 12,
- 4, 4, 184, 0, 4, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_BGRA);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_BGRA");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_BGRA);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 4, "s1");
-
- orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_ABGR */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_ABGR (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_int8 var44;
- orc_int8 var45;
- orc_int8 var46;
- orc_int8 var47;
- orc_union16 var48;
- orc_union16 var49;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_union32 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var40 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 2: splitwb */
- {
- orc_union16 _src;
- _src.i = var42.i;
- var44 = _src.x2[1];
- var45 = _src.x2[0];
- }
- /* 3: splitwb */
- {
- orc_union16 _src;
- _src.i = var43.i;
- var46 = _src.x2[1];
- var47 = _src.x2[0];
- }
- /* 4: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var47;
- _dest.x2[1] = var44;
- var48.i = _dest.i;
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var45;
- _dest.x2[1] = var46;
- var49.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var48.i;
- _dest.x2[1] = var49.i;
- var41.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var41;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_ABGR (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_int8 var44;
- orc_int8 var45;
- orc_int8 var46;
- orc_int8 var47;
- orc_union16 var48;
- orc_union16 var49;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var40 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 2: splitwb */
- {
- orc_union16 _src;
- _src.i = var42.i;
- var44 = _src.x2[1];
- var45 = _src.x2[0];
- }
- /* 3: splitwb */
- {
- orc_union16 _src;
- _src.i = var43.i;
- var46 = _src.x2[1];
- var47 = _src.x2[0];
- }
- /* 4: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var47;
- _dest.x2[1] = var44;
- var48.i = _dest.i;
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var45;
- _dest.x2[1] = var46;
- var49.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var48.i;
- _dest.x2[1] = var49.i;
- var41.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var41;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_ABGR (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 65, 66, 71, 82, 11, 4, 4, 12,
- 4, 4, 20, 1, 20, 1, 20, 1, 20, 1, 20, 2, 20, 2, 20, 2,
- 20, 2, 198, 36, 37, 4, 199, 33, 34, 36, 199, 35, 32, 37, 196, 38,
- 32, 33, 196, 39, 34, 35, 195, 0, 38, 39, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_ABGR);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_ABGR");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_ABGR);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 4, "s1");
- orc_program_add_temporary (p, 1, "t1");
- orc_program_add_temporary (p, 1, "t2");
- orc_program_add_temporary (p, 1, "t3");
- orc_program_add_temporary (p, 1, "t4");
- orc_program_add_temporary (p, 2, "t5");
- orc_program_add_temporary (p, 2, "t6");
- orc_program_add_temporary (p, 2, "t7");
- orc_program_add_temporary (p, 2, "t8");
-
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_T6,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T7, ORC_VAR_T8,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_RGBA */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_RGBA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_int8 var44;
- orc_int8 var45;
- orc_int8 var46;
- orc_int8 var47;
- orc_union16 var48;
- orc_union16 var49;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_union32 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var40 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 2: splitwb */
- {
- orc_union16 _src;
- _src.i = var43.i;
- var44 = _src.x2[1];
- var45 = _src.x2[0];
- }
- /* 3: splitwb */
- {
- orc_union16 _src;
- _src.i = var42.i;
- var46 = _src.x2[1];
- var47 = _src.x2[0];
- }
- /* 4: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var46;
- _dest.x2[1] = var45;
- var48.i = _dest.i;
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var44;
- _dest.x2[1] = var47;
- var49.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var48.i;
- _dest.x2[1] = var49.i;
- var41.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var41;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_RGBA (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_int8 var44;
- orc_int8 var45;
- orc_int8 var46;
- orc_int8 var47;
- orc_union16 var48;
- orc_union16 var49;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var40 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 2: splitwb */
- {
- orc_union16 _src;
- _src.i = var43.i;
- var44 = _src.x2[1];
- var45 = _src.x2[0];
- }
- /* 3: splitwb */
- {
- orc_union16 _src;
- _src.i = var42.i;
- var46 = _src.x2[1];
- var47 = _src.x2[0];
- }
- /* 4: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var46;
- _dest.x2[1] = var45;
- var48.i = _dest.i;
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var44;
- _dest.x2[1] = var47;
- var49.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var48.i;
- _dest.x2[1] = var49.i;
- var41.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var41;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_RGBA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 82, 71, 66, 65, 11, 4, 4, 12,
- 4, 4, 20, 1, 20, 1, 20, 1, 20, 1, 20, 2, 20, 2, 20, 2,
- 20, 2, 198, 37, 36, 4, 199, 34, 33, 36, 199, 32, 35, 37, 196, 38,
- 32, 33, 196, 39, 34, 35, 195, 0, 38, 39, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_RGBA);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_RGBA");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_RGBA);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 4, "s1");
- orc_program_add_temporary (p, 1, "t1");
- orc_program_add_temporary (p, 1, "t2");
- orc_program_add_temporary (p, 1, "t3");
- orc_program_add_temporary (p, 1, "t4");
- orc_program_add_temporary (p, 2, "t5");
- orc_program_add_temporary (p, 2, "t6");
- orc_program_add_temporary (p, 2, "t7");
- orc_program_add_temporary (p, 2, "t8");
-
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T5,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_T6,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T7, ORC_VAR_T8,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_NV12 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_NV12 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
- int i;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union16 *ORC_RESTRICT ptr4;
- const orc_union16 *ORC_RESTRICT ptr5;
- orc_union16 var34;
- orc_union16 var35;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var36;
-#else
- orc_union16 var36;
-#endif
- orc_union16 var37;
- orc_union64 var38;
- orc_union32 var39;
- orc_union32 var40;
-
- ptr0 = (orc_union64 *) d1;
- ptr4 = (orc_union16 *) s1;
- ptr5 = (orc_union16 *) s2;
-
- /* 3: loadpb */
- var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var34 = ptr5[i];
- /* 1: loadw */
- var35 = ptr5[i];
- /* 2: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var34.i;
- _dest.x2[1] = var35.i;
- var39.i = _dest.i;
- }
- /* 4: loadw */
- var37 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36.x2[0];
- _dest.x2[1] = var37.x2[0];
- var40.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var36.x2[1];
- _dest.x2[1] = var37.x2[1];
- var40.x2[1] = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var40.x2[0];
- _dest.x2[1] = var39.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var40.x2[1];
- _dest.x2[1] = var39.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 7: storeq */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_NV12 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union16 *ORC_RESTRICT ptr4;
- const orc_union16 *ORC_RESTRICT ptr5;
- orc_union16 var34;
- orc_union16 var35;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var36;
-#else
- orc_union16 var36;
-#endif
- orc_union16 var37;
- orc_union64 var38;
- orc_union32 var39;
- orc_union32 var40;
-
- ptr0 = (orc_union64 *) ex->arrays[0];
- ptr4 = (orc_union16 *) ex->arrays[4];
- ptr5 = (orc_union16 *) ex->arrays[5];
-
- /* 3: loadpb */
- var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var34 = ptr5[i];
- /* 1: loadw */
- var35 = ptr5[i];
- /* 2: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var34.i;
- _dest.x2[1] = var35.i;
- var39.i = _dest.i;
- }
- /* 4: loadw */
- var37 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36.x2[0];
- _dest.x2[1] = var37.x2[0];
- var40.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var36.x2[1];
- _dest.x2[1] = var37.x2[1];
- var40.x2[1] = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var40.x2[0];
- _dest.x2[1] = var39.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var40.x2[1];
- _dest.x2[1] = var39.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 7: storeq */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_NV12 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 78, 86, 49, 50, 11, 8, 8, 12,
- 2, 2, 12, 2, 2, 14, 1, 255, 0, 0, 0, 20, 4, 20, 4, 195,
- 33, 5, 5, 21, 1, 196, 32, 16, 4, 21, 1, 195, 0, 32, 33, 2,
- 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_NV12);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_NV12");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_NV12);
- orc_program_add_destination (p, 8, "d1");
- orc_program_add_source (p, 2, "s1");
- orc_program_add_source (p, 2, "s2");
- orc_program_add_constant (p, 1, 0x000000ff, "c1");
- orc_program_add_temporary (p, 4, "t1");
- orc_program_add_temporary (p, 4, "t2");
-
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
- ex->arrays[ORC_VAR_S2] = (void *) s2;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_NV21 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_NV21 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
- int i;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union16 *ORC_RESTRICT ptr4;
- const orc_union16 *ORC_RESTRICT ptr5;
- orc_union16 var35;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var36;
-#else
- orc_union16 var36;
-#endif
- orc_union16 var37;
- orc_union64 var38;
- orc_union16 var39;
- orc_union32 var40;
- orc_union32 var41;
-
- ptr0 = (orc_union64 *) d1;
- ptr4 = (orc_union16 *) s1;
- ptr5 = (orc_union16 *) s2;
-
- /* 3: loadpb */
- var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var35 = ptr5[i];
- /* 1: swapw */
- var39.i = ORC_SWAP_W (var35.i);
- /* 2: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var39.i;
- _dest.x2[1] = var39.i;
- var40.i = _dest.i;
- }
- /* 4: loadw */
- var37 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36.x2[0];
- _dest.x2[1] = var37.x2[0];
- var41.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var36.x2[1];
- _dest.x2[1] = var37.x2[1];
- var41.x2[1] = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[0];
- _dest.x2[1] = var40.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[1];
- _dest.x2[1] = var40.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 7: storeq */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_NV21 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union64 *ORC_RESTRICT ptr0;
- const orc_union16 *ORC_RESTRICT ptr4;
- const orc_union16 *ORC_RESTRICT ptr5;
- orc_union16 var35;
-#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
- volatile orc_union16 var36;
-#else
- orc_union16 var36;
-#endif
- orc_union16 var37;
- orc_union64 var38;
- orc_union16 var39;
- orc_union32 var40;
- orc_union32 var41;
-
- ptr0 = (orc_union64 *) ex->arrays[0];
- ptr4 = (orc_union16 *) ex->arrays[4];
- ptr5 = (orc_union16 *) ex->arrays[5];
-
- /* 3: loadpb */
- var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
- var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
-
- for (i = 0; i < n; i++) {
- /* 0: loadw */
- var35 = ptr5[i];
- /* 1: swapw */
- var39.i = ORC_SWAP_W (var35.i);
- /* 2: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var39.i;
- _dest.x2[1] = var39.i;
- var40.i = _dest.i;
- }
- /* 4: loadw */
- var37 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36.x2[0];
- _dest.x2[1] = var37.x2[0];
- var41.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var36.x2[1];
- _dest.x2[1] = var37.x2[1];
- var41.x2[1] = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[0];
- _dest.x2[1] = var40.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union32 _dest;
- _dest.x2[0] = var41.x2[1];
- _dest.x2[1] = var40.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 7: storeq */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_NV21 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 78, 86, 50, 49, 11, 8, 8, 12,
- 2, 2, 12, 2, 2, 14, 1, 255, 0, 0, 0, 20, 2, 20, 4, 20,
- 4, 183, 32, 5, 195, 34, 32, 32, 21, 1, 196, 33, 16, 4, 21, 1,
- 195, 0, 33, 34, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_NV21);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_NV21");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_NV21);
- orc_program_add_destination (p, 8, "d1");
- orc_program_add_source (p, 2, "s1");
- orc_program_add_source (p, 2, "s2");
- orc_program_add_constant (p, 1, 0x000000ff, "c1");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 4, "t2");
- orc_program_add_temporary (p, 4, "t3");
-
- orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
- ex->arrays[ORC_VAR_S2] = (void *) s2;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_getline_A420 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_getline_A420 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, 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;
- const orc_int8 *ORC_RESTRICT ptr7;
- orc_int8 var36;
- orc_int8 var37;
- orc_union32 var38;
- orc_int8 var39;
- orc_int8 var40;
- orc_union16 var41;
- orc_union16 var42;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_int8 *) s1;
- ptr5 = (orc_int8 *) s2;
- ptr6 = (orc_int8 *) s3;
- ptr7 = (orc_int8 *) s4;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadupdb */
- var39 = ptr5[i >> 1];
- /* 1: loadupdb */
- var40 = ptr6[i >> 1];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var39;
- _dest.x2[1] = var40;
- var41.i = _dest.i;
- }
- /* 3: loadb */
- var36 = ptr7[i];
- /* 4: loadb */
- var37 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36;
- _dest.x2[1] = var37;
- var42.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.i;
- _dest.x2[1] = var41.i;
- var38.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_getline_A420 (OrcExecutor *
- ORC_RESTRICT 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;
- const orc_int8 *ORC_RESTRICT ptr7;
- orc_int8 var36;
- orc_int8 var37;
- orc_union32 var38;
- orc_int8 var39;
- orc_int8 var40;
- orc_union16 var41;
- orc_union16 var42;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_int8 *) ex->arrays[4];
- ptr5 = (orc_int8 *) ex->arrays[5];
- ptr6 = (orc_int8 *) ex->arrays[6];
- ptr7 = (orc_int8 *) ex->arrays[7];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadupdb */
- var39 = ptr5[i >> 1];
- /* 1: loadupdb */
- var40 = ptr6[i >> 1];
- /* 2: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var39;
- _dest.x2[1] = var40;
- var41.i = _dest.i;
- }
- /* 3: loadb */
- var36 = ptr7[i];
- /* 4: loadb */
- var37 = ptr4[i];
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var36;
- _dest.x2[1] = var37;
- var42.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var42.i;
- _dest.x2[1] = var41.i;
- var38.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_getline_A420 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
- const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 103, 101, 116, 108, 105, 110, 101, 95, 65, 52, 50, 48, 11, 4, 4, 12,
- 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 20, 2, 20, 2, 20,
- 1, 20, 1, 45, 34, 5, 45, 35, 6, 196, 32, 34, 35, 196, 33, 7,
- 4, 195, 0, 33, 32, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_A420);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_getline_A420");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_getline_A420);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 1, "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_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
- orc_program_add_temporary (p, 1, "t3");
- orc_program_add_temporary (p, 1, "t4");
-
- orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S2,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S3,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S4, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
- ex->arrays[ORC_VAR_S2] = (void *) s2;
- ex->arrays[ORC_VAR_S3] = (void *) s3;
- ex->arrays[ORC_VAR_S4] = (void *) s4;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_I420 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_I420 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union16 *ORC_RESTRICT ptr0;
- orc_int8 *ORC_RESTRICT ptr1;
- orc_int8 *ORC_RESTRICT ptr2;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var38;
- orc_union16 var39;
- orc_int8 var40;
- orc_int8 var41;
- orc_union32 var42;
- orc_union32 var43;
- orc_union16 var44;
- orc_union16 var45;
- orc_int8 var46;
- orc_int8 var47;
- orc_int8 var48;
- orc_int8 var49;
-
- ptr0 = (orc_union16 *) d1;
- ptr1 = (orc_int8 *) d2;
- ptr2 = (orc_int8 *) d3;
- ptr4 = (orc_union64 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var38 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var38.x2[0];
- var42.x2[0] = _src.x2[1];
- var43.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var38.x2[1];
- var42.x2[1] = _src.x2[1];
- var43.x2[1] = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var43.x2[0];
- var39.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var43.x2[1];
- var39.x2[1] = _src.x2[1];
- }
- /* 3: storew */
- ptr0[i] = var39;
- /* 4: splitwb */
- {
- orc_union16 _src;
- _src.i = var42.x2[0];
- var44.x2[0] = _src.x2[1];
- var45.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var42.x2[1];
- var44.x2[1] = _src.x2[1];
- var45.x2[1] = _src.x2[0];
- }
- /* 5: splitwb */
- {
- orc_union16 _src;
- _src.i = var45.i;
- var46 = _src.x2[1];
- var47 = _src.x2[0];
- }
- /* 6: avgub */
- var40 = ((orc_uint8) var46 + (orc_uint8) var47 + 1) >> 1;
- /* 7: storeb */
- ptr1[i] = var40;
- /* 8: splitwb */
- {
- orc_union16 _src;
- _src.i = var44.i;
- var48 = _src.x2[1];
- var49 = _src.x2[0];
- }
- /* 9: avgub */
- var41 = ((orc_uint8) var48 + (orc_uint8) var49 + 1) >> 1;
- /* 10: storeb */
- ptr2[i] = var41;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_I420 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union16 *ORC_RESTRICT ptr0;
- orc_int8 *ORC_RESTRICT ptr1;
- orc_int8 *ORC_RESTRICT ptr2;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var38;
- orc_union16 var39;
- orc_int8 var40;
- orc_int8 var41;
- orc_union32 var42;
- orc_union32 var43;
- orc_union16 var44;
- orc_union16 var45;
- orc_int8 var46;
- orc_int8 var47;
- orc_int8 var48;
- orc_int8 var49;
-
- ptr0 = (orc_union16 *) ex->arrays[0];
- ptr1 = (orc_int8 *) ex->arrays[1];
- ptr2 = (orc_int8 *) ex->arrays[2];
- ptr4 = (orc_union64 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var38 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var38.x2[0];
- var42.x2[0] = _src.x2[1];
- var43.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var38.x2[1];
- var42.x2[1] = _src.x2[1];
- var43.x2[1] = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var43.x2[0];
- var39.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var43.x2[1];
- var39.x2[1] = _src.x2[1];
- }
- /* 3: storew */
- ptr0[i] = var39;
- /* 4: splitwb */
- {
- orc_union16 _src;
- _src.i = var42.x2[0];
- var44.x2[0] = _src.x2[1];
- var45.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var42.x2[1];
- var44.x2[1] = _src.x2[1];
- var45.x2[1] = _src.x2[0];
- }
- /* 5: splitwb */
- {
- orc_union16 _src;
- _src.i = var45.i;
- var46 = _src.x2[1];
- var47 = _src.x2[0];
- }
- /* 6: avgub */
- var40 = ((orc_uint8) var46 + (orc_uint8) var47 + 1) >> 1;
- /* 7: storeb */
- ptr1[i] = var40;
- /* 8: splitwb */
- {
- orc_union16 _src;
- _src.i = var44.i;
- var48 = _src.x2[1];
- var49 = _src.x2[0];
- }
- /* 9: avgub */
- var41 = ((orc_uint8) var48 + (orc_uint8) var49 + 1) >> 1;
- /* 10: storeb */
- ptr2[i] = var41;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_I420 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 73, 52, 50, 48, 11, 2, 2, 11,
- 1, 1, 11, 1, 1, 12, 8, 8, 20, 4, 20, 4, 20, 2, 20, 2,
- 20, 1, 20, 1, 21, 1, 198, 33, 32, 4, 21, 1, 189, 0, 32, 21,
- 1, 199, 35, 34, 33, 199, 36, 37, 34, 39, 1, 36, 37, 199, 36, 37,
- 35, 39, 2, 36, 37, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_I420);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_I420");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_I420);
- orc_program_add_destination (p, 2, "d1");
- orc_program_add_destination (p, 1, "d2");
- orc_program_add_destination (p, 1, "d3");
- orc_program_add_source (p, 8, "s1");
- orc_program_add_temporary (p, 4, "t1");
- orc_program_add_temporary (p, 4, "t2");
- orc_program_add_temporary (p, 2, "t3");
- orc_program_add_temporary (p, 2, "t4");
- orc_program_add_temporary (p, 1, "t5");
- orc_program_add_temporary (p, 1, "t6");
-
- orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_T6,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T5, ORC_VAR_T6,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_D2] = d2;
- ex->arrays[ORC_VAR_D3] = d3;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_YUY2 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_YUY2 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var37;
- orc_union32 var38;
- orc_union32 var39;
- orc_union32 var40;
- orc_union16 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_union16 var44;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_union64 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var37 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var37.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var37.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 2: splitlw */
- {
- orc_union32 _src;
- _src.i = var39.i;
- var41.i = _src.x2[1];
- var42.i = _src.x2[0];
- }
- /* 3: avgub */
- var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
- var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
- /* 4: select1wb */
- {
- orc_union16 _src;
- _src.i = var40.x2[0];
- var44.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var40.x2[1];
- var44.x2[1] = _src.x2[1];
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var44.x2[0];
- _dest.x2[1] = var43.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var44.x2[1];
- _dest.x2[1] = var43.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 6: storel */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_YUY2 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var37;
- orc_union32 var38;
- orc_union32 var39;
- orc_union32 var40;
- orc_union16 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_union16 var44;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_union64 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var37 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var37.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var37.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 2: splitlw */
- {
- orc_union32 _src;
- _src.i = var39.i;
- var41.i = _src.x2[1];
- var42.i = _src.x2[0];
- }
- /* 3: avgub */
- var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
- var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
- /* 4: select1wb */
- {
- orc_union16 _src;
- _src.i = var40.x2[0];
- var44.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var40.x2[1];
- var44.x2[1] = _src.x2[1];
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var44.x2[0];
- _dest.x2[1] = var43.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var44.x2[1];
- _dest.x2[1] = var43.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 6: storel */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_YUY2 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 89, 85, 89, 50, 11, 4, 4, 12,
- 8, 8, 20, 2, 20, 2, 20, 2, 20, 4, 20, 4, 21, 1, 198, 36,
- 35, 4, 198, 33, 34, 36, 21, 1, 39, 33, 33, 34, 21, 1, 189, 32,
- 35, 21, 1, 196, 0, 32, 33, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_YUY2);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_YUY2");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_YUY2);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 8, "s1");
- 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, 4, "t4");
- orc_program_add_temporary (p, 4, "t5");
-
- orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
- ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_YVYU */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_YVYU (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var37;
- orc_union32 var38;
- orc_union32 var39;
- orc_union32 var40;
- orc_union16 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_union16 var44;
- orc_union16 var45;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_union64 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var37 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var37.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var37.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 2: splitlw */
- {
- orc_union32 _src;
- _src.i = var39.i;
- var41.i = _src.x2[1];
- var42.i = _src.x2[0];
- }
- /* 3: avgub */
- var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
- var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
- /* 4: select1wb */
- {
- orc_union16 _src;
- _src.i = var40.x2[0];
- var44.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var40.x2[1];
- var44.x2[1] = _src.x2[1];
- }
- /* 5: swapw */
- var45.i = ORC_SWAP_W (var43.i);
- /* 6: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var44.x2[0];
- _dest.x2[1] = var45.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var44.x2[1];
- _dest.x2[1] = var45.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_YVYU (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var37;
- orc_union32 var38;
- orc_union32 var39;
- orc_union32 var40;
- orc_union16 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_union16 var44;
- orc_union16 var45;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_union64 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var37 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var37.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var37.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 2: splitlw */
- {
- orc_union32 _src;
- _src.i = var39.i;
- var41.i = _src.x2[1];
- var42.i = _src.x2[0];
- }
- /* 3: avgub */
- var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
- var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
- /* 4: select1wb */
- {
- orc_union16 _src;
- _src.i = var40.x2[0];
- var44.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var40.x2[1];
- var44.x2[1] = _src.x2[1];
- }
- /* 5: swapw */
- var45.i = ORC_SWAP_W (var43.i);
- /* 6: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var44.x2[0];
- _dest.x2[1] = var45.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var44.x2[1];
- _dest.x2[1] = var45.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_YVYU (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 89, 86, 89, 85, 11, 4, 4, 12,
- 8, 8, 20, 2, 20, 2, 20, 2, 20, 4, 20, 4, 21, 1, 198, 36,
- 35, 4, 198, 33, 34, 36, 21, 1, 39, 33, 33, 34, 21, 1, 189, 32,
- 35, 183, 33, 33, 21, 1, 196, 0, 32, 33, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_YVYU);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_YVYU");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_YVYU);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 8, "s1");
- 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, 4, "t4");
- orc_program_add_temporary (p, 4, "t5");
-
- orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
- ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "swapw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_UYVY */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_UYVY (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var37;
- orc_union32 var38;
- orc_union32 var39;
- orc_union32 var40;
- orc_union16 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_union16 var44;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_union64 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var37 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var37.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var37.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 2: splitlw */
- {
- orc_union32 _src;
- _src.i = var39.i;
- var41.i = _src.x2[1];
- var42.i = _src.x2[0];
- }
- /* 3: avgub */
- var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
- var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
- /* 4: select1wb */
- {
- orc_union16 _src;
- _src.i = var40.x2[0];
- var44.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var40.x2[1];
- var44.x2[1] = _src.x2[1];
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var43.x2[0];
- _dest.x2[1] = var44.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var43.x2[1];
- _dest.x2[1] = var44.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 6: storel */
- ptr0[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_UYVY (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var37;
- orc_union32 var38;
- orc_union32 var39;
- orc_union32 var40;
- orc_union16 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_union16 var44;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_union64 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var37 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var37.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var37.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 2: splitlw */
- {
- orc_union32 _src;
- _src.i = var39.i;
- var41.i = _src.x2[1];
- var42.i = _src.x2[0];
- }
- /* 3: avgub */
- var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
- var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
- /* 4: select1wb */
- {
- orc_union16 _src;
- _src.i = var40.x2[0];
- var44.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var40.x2[1];
- var44.x2[1] = _src.x2[1];
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var43.x2[0];
- _dest.x2[1] = var44.x2[0];
- var38.x2[0] = _dest.i;
- }
- {
- orc_union16 _dest;
- _dest.x2[0] = var43.x2[1];
- _dest.x2[1] = var44.x2[1];
- var38.x2[1] = _dest.i;
- }
- /* 6: storel */
- ptr0[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_UYVY (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 85, 89, 86, 89, 11, 4, 4, 12,
- 8, 8, 20, 2, 20, 2, 20, 2, 20, 4, 20, 4, 21, 1, 198, 36,
- 35, 4, 198, 33, 34, 36, 21, 1, 39, 33, 33, 34, 21, 1, 189, 32,
- 35, 21, 1, 196, 0, 33, 32, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_UYVY);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_UYVY");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_UYVY);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 8, "s1");
- 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, 4, "t4");
- orc_program_add_temporary (p, 4, "t5");
-
- orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
- ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_Y42B */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_Y42B (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union16 *ORC_RESTRICT ptr0;
- orc_int8 *ORC_RESTRICT ptr1;
- orc_int8 *ORC_RESTRICT ptr2;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var36;
- orc_int8 var37;
- orc_int8 var38;
- orc_union16 var39;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_union16 var44;
-
- ptr0 = (orc_union16 *) d1;
- ptr1 = (orc_int8 *) d2;
- ptr2 = (orc_int8 *) d3;
- ptr4 = (orc_union64 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var36 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var36.x2[0];
- var40.x2[0] = _src.x2[1];
- var41.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var36.x2[1];
- var40.x2[1] = _src.x2[1];
- var41.x2[1] = _src.x2[0];
- }
- /* 2: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 3: avgub */
- var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
- var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
- /* 4: splitwb */
- {
- orc_union16 _src;
- _src.i = var44.i;
- var37 = _src.x2[1];
- var38 = _src.x2[0];
- }
- /* 5: storeb */
- ptr2[i] = var37;
- /* 6: storeb */
- ptr1[i] = var38;
- /* 7: select1wb */
- {
- orc_union16 _src;
- _src.i = var41.x2[0];
- var39.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var41.x2[1];
- var39.x2[1] = _src.x2[1];
- }
- /* 8: storew */
- ptr0[i] = var39;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_Y42B (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union16 *ORC_RESTRICT ptr0;
- orc_int8 *ORC_RESTRICT ptr1;
- orc_int8 *ORC_RESTRICT ptr2;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var36;
- orc_int8 var37;
- orc_int8 var38;
- orc_union16 var39;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_union16 var44;
-
- ptr0 = (orc_union16 *) ex->arrays[0];
- ptr1 = (orc_int8 *) ex->arrays[1];
- ptr2 = (orc_int8 *) ex->arrays[2];
- ptr4 = (orc_union64 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var36 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var36.x2[0];
- var40.x2[0] = _src.x2[1];
- var41.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var36.x2[1];
- var40.x2[1] = _src.x2[1];
- var41.x2[1] = _src.x2[0];
- }
- /* 2: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 3: avgub */
- var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
- var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
- /* 4: splitwb */
- {
- orc_union16 _src;
- _src.i = var44.i;
- var37 = _src.x2[1];
- var38 = _src.x2[0];
- }
- /* 5: storeb */
- ptr2[i] = var37;
- /* 6: storeb */
- ptr1[i] = var38;
- /* 7: select1wb */
- {
- orc_union16 _src;
- _src.i = var41.x2[0];
- var39.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var41.x2[1];
- var39.x2[1] = _src.x2[1];
- }
- /* 8: storew */
- ptr0[i] = var39;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_Y42B (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 89, 52, 50, 66, 11, 2, 2, 11,
- 1, 1, 11, 1, 1, 12, 8, 8, 20, 4, 20, 4, 20, 2, 20, 2,
- 21, 1, 198, 33, 32, 4, 198, 34, 35, 33, 21, 1, 39, 34, 34, 35,
- 199, 2, 1, 34, 21, 1, 189, 0, 32, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_Y42B);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_Y42B");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_Y42B);
- orc_program_add_destination (p, 2, "d1");
- orc_program_add_destination (p, 1, "d2");
- orc_program_add_destination (p, 1, "d3");
- orc_program_add_source (p, 8, "s1");
- orc_program_add_temporary (p, 4, "t1");
- orc_program_add_temporary (p, 4, "t2");
- orc_program_add_temporary (p, 2, "t3");
- orc_program_add_temporary (p, 2, "t4");
-
- orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 1, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
- ORC_VAR_D1, ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_D2] = d2;
- ex->arrays[ORC_VAR_D3] = d3;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_Y444 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_Y444 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_int8 *ORC_RESTRICT ptr0;
- orc_int8 *ORC_RESTRICT ptr1;
- orc_int8 *ORC_RESTRICT ptr2;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var34;
- orc_int8 var35;
- orc_int8 var36;
- orc_int8 var37;
- orc_union16 var38;
- orc_union16 var39;
-
- ptr0 = (orc_int8 *) d1;
- ptr1 = (orc_int8 *) d2;
- ptr2 = (orc_int8 *) d3;
- ptr4 = (orc_union32 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var34 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var34.i;
- var38.i = _src.x2[1];
- var39.i = _src.x2[0];
- }
- /* 2: splitwb */
- {
- orc_union16 _src;
- _src.i = var38.i;
- var35 = _src.x2[1];
- var36 = _src.x2[0];
- }
- /* 3: storeb */
- ptr2[i] = var35;
- /* 4: storeb */
- ptr1[i] = var36;
- /* 5: select1wb */
- {
- orc_union16 _src;
- _src.i = var39.i;
- var37 = _src.x2[1];
- }
- /* 6: storeb */
- ptr0[i] = var37;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_Y444 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_int8 *ORC_RESTRICT ptr0;
- orc_int8 *ORC_RESTRICT ptr1;
- orc_int8 *ORC_RESTRICT ptr2;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var34;
- orc_int8 var35;
- orc_int8 var36;
- orc_int8 var37;
- orc_union16 var38;
- orc_union16 var39;
-
- ptr0 = (orc_int8 *) ex->arrays[0];
- ptr1 = (orc_int8 *) ex->arrays[1];
- ptr2 = (orc_int8 *) ex->arrays[2];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var34 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var34.i;
- var38.i = _src.x2[1];
- var39.i = _src.x2[0];
- }
- /* 2: splitwb */
- {
- orc_union16 _src;
- _src.i = var38.i;
- var35 = _src.x2[1];
- var36 = _src.x2[0];
- }
- /* 3: storeb */
- ptr2[i] = var35;
- /* 4: storeb */
- ptr1[i] = var36;
- /* 5: select1wb */
- {
- orc_union16 _src;
- _src.i = var39.i;
- var37 = _src.x2[1];
- }
- /* 6: storeb */
- ptr0[i] = var37;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_Y444 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 89, 52, 52, 52, 11, 1, 1, 11,
- 1, 1, 11, 1, 1, 12, 4, 4, 20, 2, 20, 2, 198, 33, 32, 4,
- 199, 2, 1, 33, 189, 0, 32, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_Y444);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_Y444");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_Y444);
- orc_program_add_destination (p, 1, "d1");
- orc_program_add_destination (p, 1, "d2");
- orc_program_add_destination (p, 1, "d3");
- orc_program_add_source (p, 4, "s1");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 2, "t2");
-
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
- ORC_VAR_D1, ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_D2] = d2;
- ex->arrays[ORC_VAR_D3] = d3;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_Y800 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_Y800 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT 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;
-
- ptr0 = (orc_int8 *) d1;
- ptr4 = (orc_union32 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var33 = ptr4[i];
- /* 1: select0lw */
- {
- orc_union32 _src;
- _src.i = var33.i;
- var35.i = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var35.i;
- var34 = _src.x2[1];
- }
- /* 3: storeb */
- ptr0[i] = var34;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_Y800 (OrcExecutor *
- ORC_RESTRICT 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;
-
- 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 */
- {
- orc_union32 _src;
- _src.i = var33.i;
- var35.i = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var35.i;
- var34 = _src.x2[1];
- }
- /* 3: storeb */
- ptr0[i] = var34;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_Y800 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 89, 56, 48, 48, 11, 1, 1, 12,
- 4, 4, 20, 2, 190, 32, 4, 189, 0, 32, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_Y800);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_Y800");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_Y800);
- orc_program_add_destination (p, 1, "d1");
- 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);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_Y16 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_Y16 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union16 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var34;
- orc_union16 var35;
- orc_union16 var36;
- orc_int8 var37;
- orc_union16 var38;
-
- ptr0 = (orc_union16 *) d1;
- ptr4 = (orc_union32 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var34 = ptr4[i];
- /* 1: select0lw */
- {
- orc_union32 _src;
- _src.i = var34.i;
- var36.i = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var36.i;
- var37 = _src.x2[1];
- }
- /* 3: convubw */
- var38.i = (orc_uint8) var37;
- /* 4: shlw */
- var35.i = var38.i << 8;
- /* 5: storew */
- ptr0[i] = var35;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_Y16 (OrcExecutor * ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union16 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var34;
- orc_union16 var35;
- orc_union16 var36;
- orc_int8 var37;
- orc_union16 var38;
-
- ptr0 = (orc_union16 *) ex->arrays[0];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var34 = ptr4[i];
- /* 1: select0lw */
- {
- orc_union32 _src;
- _src.i = var34.i;
- var36.i = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var36.i;
- var37 = _src.x2[1];
- }
- /* 3: convubw */
- var38.i = (orc_uint8) var37;
- /* 4: shlw */
- var35.i = var38.i << 8;
- /* 5: storew */
- ptr0[i] = var35;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_Y16 (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 40, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 89, 49, 54, 11, 2, 2, 12, 4,
- 4, 14, 4, 8, 0, 0, 0, 20, 2, 20, 1, 190, 32, 4, 189, 33,
- 32, 150, 32, 33, 93, 0, 32, 16, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_Y16);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_Y16");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_Y16);
- orc_program_add_destination (p, 2, "d1");
- orc_program_add_source (p, 4, "s1");
- orc_program_add_constant (p, 4, 0x00000008, "c1");
- orc_program_add_temporary (p, 2, "t1");
- orc_program_add_temporary (p, 1, "t2");
-
- 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_T2, ORC_VAR_T1,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "shlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_BGRA */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_BGRA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var32;
- orc_union32 var33;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_union32 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: swapl */
- var33.i = ORC_SWAP_L (var32.i);
- /* 2: storel */
- ptr0[i] = var33;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_BGRA (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var32;
- orc_union32 var33;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var32 = ptr4[i];
- /* 1: swapl */
- var33.i = ORC_SWAP_L (var32.i);
- /* 2: storel */
- ptr0[i] = var33;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_BGRA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 66, 71, 82, 65, 11, 4, 4, 12,
- 4, 4, 184, 0, 4, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_BGRA);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_BGRA");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_BGRA);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 4, "s1");
-
- orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_ABGR */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_ABGR (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_int8 var44;
- orc_int8 var45;
- orc_int8 var46;
- orc_int8 var47;
- orc_union16 var48;
- orc_union16 var49;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_union32 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var40 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 2: splitwb */
- {
- orc_union16 _src;
- _src.i = var42.i;
- var44 = _src.x2[1];
- var45 = _src.x2[0];
- }
- /* 3: splitwb */
- {
- orc_union16 _src;
- _src.i = var43.i;
- var46 = _src.x2[1];
- var47 = _src.x2[0];
- }
- /* 4: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var47;
- _dest.x2[1] = var44;
- var48.i = _dest.i;
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var45;
- _dest.x2[1] = var46;
- var49.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var48.i;
- _dest.x2[1] = var49.i;
- var41.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var41;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_ABGR (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_int8 var44;
- orc_int8 var45;
- orc_int8 var46;
- orc_int8 var47;
- orc_union16 var48;
- orc_union16 var49;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var40 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 2: splitwb */
- {
- orc_union16 _src;
- _src.i = var42.i;
- var44 = _src.x2[1];
- var45 = _src.x2[0];
- }
- /* 3: splitwb */
- {
- orc_union16 _src;
- _src.i = var43.i;
- var46 = _src.x2[1];
- var47 = _src.x2[0];
- }
- /* 4: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var47;
- _dest.x2[1] = var44;
- var48.i = _dest.i;
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var45;
- _dest.x2[1] = var46;
- var49.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var48.i;
- _dest.x2[1] = var49.i;
- var41.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var41;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_ABGR (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 65, 66, 71, 82, 11, 4, 4, 12,
- 4, 4, 20, 1, 20, 1, 20, 1, 20, 1, 20, 2, 20, 2, 20, 2,
- 20, 2, 198, 39, 38, 4, 199, 35, 34, 39, 199, 33, 32, 38, 196, 37,
- 32, 35, 196, 36, 34, 33, 195, 0, 37, 36, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_ABGR);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_ABGR");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_ABGR);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 4, "s1");
- orc_program_add_temporary (p, 1, "t1");
- orc_program_add_temporary (p, 1, "t2");
- orc_program_add_temporary (p, 1, "t3");
- orc_program_add_temporary (p, 1, "t4");
- orc_program_add_temporary (p, 2, "t5");
- orc_program_add_temporary (p, 2, "t6");
- orc_program_add_temporary (p, 2, "t7");
- orc_program_add_temporary (p, 2, "t8");
-
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T8,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T7,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T6, ORC_VAR_T5,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_RGBA */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_RGBA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_int8 var44;
- orc_int8 var45;
- orc_int8 var46;
- orc_int8 var47;
- orc_union16 var48;
- orc_union16 var49;
-
- ptr0 = (orc_union32 *) d1;
- ptr4 = (orc_union32 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var40 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 2: splitwb */
- {
- orc_union16 _src;
- _src.i = var42.i;
- var44 = _src.x2[1];
- var45 = _src.x2[0];
- }
- /* 3: splitwb */
- {
- orc_union16 _src;
- _src.i = var43.i;
- var46 = _src.x2[1];
- var47 = _src.x2[0];
- }
- /* 4: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var44;
- _dest.x2[1] = var47;
- var48.i = _dest.i;
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var46;
- _dest.x2[1] = var45;
- var49.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var49.i;
- _dest.x2[1] = var48.i;
- var41.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var41;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_RGBA (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union32 *ORC_RESTRICT ptr0;
- const orc_union32 *ORC_RESTRICT ptr4;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_int8 var44;
- orc_int8 var45;
- orc_int8 var46;
- orc_int8 var47;
- orc_union16 var48;
- orc_union16 var49;
-
- ptr0 = (orc_union32 *) ex->arrays[0];
- ptr4 = (orc_union32 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadl */
- var40 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 2: splitwb */
- {
- orc_union16 _src;
- _src.i = var42.i;
- var44 = _src.x2[1];
- var45 = _src.x2[0];
- }
- /* 3: splitwb */
- {
- orc_union16 _src;
- _src.i = var43.i;
- var46 = _src.x2[1];
- var47 = _src.x2[0];
- }
- /* 4: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var44;
- _dest.x2[1] = var47;
- var48.i = _dest.i;
- }
- /* 5: mergebw */
- {
- orc_union16 _dest;
- _dest.x2[0] = var46;
- _dest.x2[1] = var45;
- var49.i = _dest.i;
- }
- /* 6: mergewl */
- {
- orc_union32 _dest;
- _dest.x2[0] = var49.i;
- _dest.x2[1] = var48.i;
- var41.i = _dest.i;
- }
- /* 7: storel */
- ptr0[i] = var41;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_RGBA (guint8 * ORC_RESTRICT d1,
- const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 82, 71, 66, 65, 11, 4, 4, 12,
- 4, 4, 20, 1, 20, 1, 20, 1, 20, 1, 20, 2, 20, 2, 20, 2,
- 20, 2, 198, 39, 38, 4, 199, 35, 34, 39, 199, 33, 32, 38, 196, 37,
- 35, 32, 196, 36, 33, 34, 195, 0, 36, 37, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_RGBA);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_RGBA");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_RGBA);
- orc_program_add_destination (p, 4, "d1");
- orc_program_add_source (p, 4, "s1");
- orc_program_add_temporary (p, 1, "t1");
- orc_program_add_temporary (p, 1, "t2");
- orc_program_add_temporary (p, 1, "t3");
- orc_program_add_temporary (p, 1, "t4");
- orc_program_add_temporary (p, 2, "t5");
- orc_program_add_temporary (p, 2, "t6");
- orc_program_add_temporary (p, 2, "t7");
- orc_program_add_temporary (p, 2, "t8");
-
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T8,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T7,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T4, ORC_VAR_T1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_T3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T5, ORC_VAR_T6,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_NV12 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_NV12 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union16 *ORC_RESTRICT ptr0;
- orc_union16 *ORC_RESTRICT ptr1;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var36;
- orc_union16 var37;
- orc_union16 var38;
- orc_union32 var39;
- orc_union32 var40;
- orc_union16 var41;
- orc_union16 var42;
-
- ptr0 = (orc_union16 *) d1;
- ptr1 = (orc_union16 *) d2;
- ptr4 = (orc_union64 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var36 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var36.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var36.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var40.x2[0];
- var37.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var40.x2[1];
- var37.x2[1] = _src.x2[1];
- }
- /* 3: storew */
- ptr0[i] = var37;
- /* 4: splitlw */
- {
- orc_union32 _src;
- _src.i = var39.i;
- var41.i = _src.x2[1];
- var42.i = _src.x2[0];
- }
- /* 5: avgub */
- var38.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
- var38.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
- /* 6: storew */
- ptr1[i] = var38;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_NV12 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union16 *ORC_RESTRICT ptr0;
- orc_union16 *ORC_RESTRICT ptr1;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var36;
- orc_union16 var37;
- orc_union16 var38;
- orc_union32 var39;
- orc_union32 var40;
- orc_union16 var41;
- orc_union16 var42;
-
- ptr0 = (orc_union16 *) ex->arrays[0];
- ptr1 = (orc_union16 *) ex->arrays[1];
- ptr4 = (orc_union64 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var36 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var36.x2[0];
- var39.x2[0] = _src.x2[1];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var36.x2[1];
- var39.x2[1] = _src.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var40.x2[0];
- var37.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var40.x2[1];
- var37.x2[1] = _src.x2[1];
- }
- /* 3: storew */
- ptr0[i] = var37;
- /* 4: splitlw */
- {
- orc_union32 _src;
- _src.i = var39.i;
- var41.i = _src.x2[1];
- var42.i = _src.x2[0];
- }
- /* 5: avgub */
- var38.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
- var38.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
- /* 6: storew */
- ptr1[i] = var38;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_NV12 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 78, 86, 49, 50, 11, 2, 2, 11,
- 2, 2, 12, 8, 8, 20, 4, 20, 4, 20, 2, 20, 2, 21, 1, 198,
- 33, 32, 4, 21, 1, 189, 0, 32, 198, 34, 35, 33, 21, 1, 39, 1,
- 34, 35, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_NV12);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_NV12");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_NV12);
- orc_program_add_destination (p, 2, "d1");
- orc_program_add_destination (p, 2, "d2");
- orc_program_add_source (p, 8, "s1");
- orc_program_add_temporary (p, 4, "t1");
- orc_program_add_temporary (p, 4, "t2");
- orc_program_add_temporary (p, 2, "t3");
- orc_program_add_temporary (p, 2, "t4");
-
- orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 1, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_D2] = d2;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_NV21 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_NV21 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union16 *ORC_RESTRICT ptr0;
- orc_union16 *ORC_RESTRICT ptr1;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var37;
- orc_union16 var38;
- orc_union16 var39;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_union16 var44;
-
- ptr0 = (orc_union16 *) d1;
- ptr1 = (orc_union16 *) d2;
- ptr4 = (orc_union64 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var37 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var37.x2[0];
- var40.x2[0] = _src.x2[1];
- var41.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var37.x2[1];
- var40.x2[1] = _src.x2[1];
- var41.x2[1] = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var41.x2[0];
- var38.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var41.x2[1];
- var38.x2[1] = _src.x2[1];
- }
- /* 3: storew */
- ptr0[i] = var38;
- /* 4: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 5: avgub */
- var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
- var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
- /* 6: swapw */
- var39.i = ORC_SWAP_W (var44.i);
- /* 7: storew */
- ptr1[i] = var39;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_NV21 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union16 *ORC_RESTRICT ptr0;
- orc_union16 *ORC_RESTRICT ptr1;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var37;
- orc_union16 var38;
- orc_union16 var39;
- orc_union32 var40;
- orc_union32 var41;
- orc_union16 var42;
- orc_union16 var43;
- orc_union16 var44;
-
- ptr0 = (orc_union16 *) ex->arrays[0];
- ptr1 = (orc_union16 *) ex->arrays[1];
- ptr4 = (orc_union64 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var37 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var37.x2[0];
- var40.x2[0] = _src.x2[1];
- var41.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var37.x2[1];
- var40.x2[1] = _src.x2[1];
- var41.x2[1] = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var41.x2[0];
- var38.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var41.x2[1];
- var38.x2[1] = _src.x2[1];
- }
- /* 3: storew */
- ptr0[i] = var38;
- /* 4: splitlw */
- {
- orc_union32 _src;
- _src.i = var40.i;
- var42.i = _src.x2[1];
- var43.i = _src.x2[0];
- }
- /* 5: avgub */
- var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
- var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
- /* 6: swapw */
- var39.i = ORC_SWAP_W (var44.i);
- /* 7: storew */
- ptr1[i] = var39;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_NV21 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 78, 86, 50, 49, 11, 2, 2, 11,
- 2, 2, 12, 8, 8, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21,
- 1, 198, 33, 32, 4, 21, 1, 189, 0, 32, 198, 34, 35, 33, 21, 1,
- 39, 36, 34, 35, 183, 1, 36, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_NV21);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_NV21");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_NV21);
- orc_program_add_destination (p, 2, "d1");
- orc_program_add_destination (p, 2, "d2");
- orc_program_add_source (p, 8, "s1");
- orc_program_add_temporary (p, 4, "t1");
- orc_program_add_temporary (p, 4, "t2");
- orc_program_add_temporary (p, 2, "t3");
- orc_program_add_temporary (p, 2, "t4");
- orc_program_add_temporary (p, 2, "t5");
-
- orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 1, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "swapw", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_D1,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_D2] = d2;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
-
- func = c->exec;
- func (ex);
-}
-#endif
-
-
-/* videomixer_video_convert_orc_putline_A420 */
-#ifdef DISABLE_ORC
-void
-videomixer_video_convert_orc_putline_A420 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, int n)
-{
- int i;
- orc_union16 *ORC_RESTRICT ptr0;
- orc_int8 *ORC_RESTRICT ptr1;
- orc_int8 *ORC_RESTRICT ptr2;
- orc_union16 *ORC_RESTRICT ptr3;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var38;
- orc_union16 var39;
- orc_union16 var40;
- orc_int8 var41;
- orc_int8 var42;
- orc_union32 var43;
- orc_union32 var44;
- orc_union16 var45;
- orc_union16 var46;
- orc_int8 var47;
- orc_int8 var48;
- orc_int8 var49;
- orc_int8 var50;
-
- ptr0 = (orc_union16 *) d1;
- ptr1 = (orc_int8 *) d2;
- ptr2 = (orc_int8 *) d3;
- ptr3 = (orc_union16 *) d4;
- ptr4 = (orc_union64 *) s1;
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var38 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var38.x2[0];
- var43.x2[0] = _src.x2[1];
- var44.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var38.x2[1];
- var43.x2[1] = _src.x2[1];
- var44.x2[1] = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var44.x2[0];
- var39.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var44.x2[1];
- var39.x2[1] = _src.x2[1];
- }
- /* 3: storew */
- ptr0[i] = var39;
- /* 4: select0wb */
- {
- orc_union16 _src;
- _src.i = var44.x2[0];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var44.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 5: storew */
- ptr3[i] = var40;
- /* 6: splitwb */
- {
- orc_union16 _src;
- _src.i = var43.x2[0];
- var45.x2[0] = _src.x2[1];
- var46.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var43.x2[1];
- var45.x2[1] = _src.x2[1];
- var46.x2[1] = _src.x2[0];
- }
- /* 7: splitwb */
- {
- orc_union16 _src;
- _src.i = var46.i;
- var47 = _src.x2[1];
- var48 = _src.x2[0];
- }
- /* 8: avgub */
- var41 = ((orc_uint8) var47 + (orc_uint8) var48 + 1) >> 1;
- /* 9: storeb */
- ptr1[i] = var41;
- /* 10: splitwb */
- {
- orc_union16 _src;
- _src.i = var45.i;
- var49 = _src.x2[1];
- var50 = _src.x2[0];
- }
- /* 11: avgub */
- var42 = ((orc_uint8) var49 + (orc_uint8) var50 + 1) >> 1;
- /* 12: storeb */
- ptr2[i] = var42;
- }
-
-}
-
-#else
-static void
-_backup_videomixer_video_convert_orc_putline_A420 (OrcExecutor *
- ORC_RESTRICT ex)
-{
- int i;
- int n = ex->n;
- orc_union16 *ORC_RESTRICT ptr0;
- orc_int8 *ORC_RESTRICT ptr1;
- orc_int8 *ORC_RESTRICT ptr2;
- orc_union16 *ORC_RESTRICT ptr3;
- const orc_union64 *ORC_RESTRICT ptr4;
- orc_union64 var38;
- orc_union16 var39;
- orc_union16 var40;
- orc_int8 var41;
- orc_int8 var42;
- orc_union32 var43;
- orc_union32 var44;
- orc_union16 var45;
- orc_union16 var46;
- orc_int8 var47;
- orc_int8 var48;
- orc_int8 var49;
- orc_int8 var50;
-
- ptr0 = (orc_union16 *) ex->arrays[0];
- ptr1 = (orc_int8 *) ex->arrays[1];
- ptr2 = (orc_int8 *) ex->arrays[2];
- ptr3 = (orc_union16 *) ex->arrays[3];
- ptr4 = (orc_union64 *) ex->arrays[4];
-
-
- for (i = 0; i < n; i++) {
- /* 0: loadq */
- var38 = ptr4[i];
- /* 1: splitlw */
- {
- orc_union32 _src;
- _src.i = var38.x2[0];
- var43.x2[0] = _src.x2[1];
- var44.x2[0] = _src.x2[0];
- }
- {
- orc_union32 _src;
- _src.i = var38.x2[1];
- var43.x2[1] = _src.x2[1];
- var44.x2[1] = _src.x2[0];
- }
- /* 2: select1wb */
- {
- orc_union16 _src;
- _src.i = var44.x2[0];
- var39.x2[0] = _src.x2[1];
- }
- {
- orc_union16 _src;
- _src.i = var44.x2[1];
- var39.x2[1] = _src.x2[1];
- }
- /* 3: storew */
- ptr0[i] = var39;
- /* 4: select0wb */
- {
- orc_union16 _src;
- _src.i = var44.x2[0];
- var40.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var44.x2[1];
- var40.x2[1] = _src.x2[0];
- }
- /* 5: storew */
- ptr3[i] = var40;
- /* 6: splitwb */
- {
- orc_union16 _src;
- _src.i = var43.x2[0];
- var45.x2[0] = _src.x2[1];
- var46.x2[0] = _src.x2[0];
- }
- {
- orc_union16 _src;
- _src.i = var43.x2[1];
- var45.x2[1] = _src.x2[1];
- var46.x2[1] = _src.x2[0];
- }
- /* 7: splitwb */
- {
- orc_union16 _src;
- _src.i = var46.i;
- var47 = _src.x2[1];
- var48 = _src.x2[0];
- }
- /* 8: avgub */
- var41 = ((orc_uint8) var47 + (orc_uint8) var48 + 1) >> 1;
- /* 9: storeb */
- ptr1[i] = var41;
- /* 10: splitwb */
- {
- orc_union16 _src;
- _src.i = var45.i;
- var49 = _src.x2[1];
- var50 = _src.x2[0];
- }
- /* 11: avgub */
- var42 = ((orc_uint8) var49 + (orc_uint8) var50 + 1) >> 1;
- /* 12: storeb */
- ptr2[i] = var42;
- }
-
-}
-
-void
-videomixer_video_convert_orc_putline_A420 (guint8 * ORC_RESTRICT d1,
- guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
- guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, int n)
-{
- OrcExecutor _ex, *ex = &_ex;
- static volatile int p_inited = 0;
- static OrcCode *c = 0;
- void (*func) (OrcExecutor *);
-
- if (!p_inited) {
- orc_once_mutex_lock ();
- if (!p_inited) {
- OrcProgram *p;
-
-#if 1
- static const orc_uint8 bc[] = {
- 1, 9, 41, 118, 105, 100, 101, 111, 109, 105, 120, 101, 114, 95, 118,
- 105,
- 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116, 95, 111, 114, 99,
- 95,
- 112, 117, 116, 108, 105, 110, 101, 95, 65, 52, 50, 48, 11, 2, 2, 11,
- 1, 1, 11, 1, 1, 11, 2, 2, 12, 8, 8, 20, 4, 20, 4, 20,
- 2, 20, 2, 20, 1, 20, 1, 21, 1, 198, 33, 32, 4, 21, 1, 189,
- 0, 32, 21, 1, 188, 3, 32, 21, 1, 199, 35, 34, 33, 199, 36, 37,
- 34, 39, 1, 36, 37, 199, 36, 37, 35, 39, 2, 36, 37, 2, 0,
- };
- p = orc_program_new_from_static_bytecode (bc);
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_A420);
-#else
- p = orc_program_new ();
- orc_program_set_name (p, "videomixer_video_convert_orc_putline_A420");
- orc_program_set_backup_function (p,
- _backup_videomixer_video_convert_orc_putline_A420);
- orc_program_add_destination (p, 2, "d1");
- orc_program_add_destination (p, 1, "d2");
- orc_program_add_destination (p, 1, "d3");
- orc_program_add_destination (p, 2, "d4");
- orc_program_add_source (p, 8, "s1");
- orc_program_add_temporary (p, 4, "t1");
- orc_program_add_temporary (p, 4, "t2");
- orc_program_add_temporary (p, 2, "t3");
- orc_program_add_temporary (p, 2, "t4");
- orc_program_add_temporary (p, 1, "t5");
- orc_program_add_temporary (p, 1, "t6");
-
- orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
- ORC_VAR_D1);
- orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "select0wb", 1, ORC_VAR_D4, ORC_VAR_T1,
- ORC_VAR_D1, ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T3,
- ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_T6,
- ORC_VAR_D1);
- orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T4,
- ORC_VAR_D1);
- orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T5, ORC_VAR_T6,
- ORC_VAR_D1);
-#endif
-
- orc_program_compile (p);
- c = orc_program_take_code (p);
- orc_program_free (p);
- }
- p_inited = TRUE;
- orc_once_mutex_unlock ();
- }
- ex->arrays[ORC_VAR_A2] = c;
- ex->program = 0;
-
- ex->n = n;
- ex->arrays[ORC_VAR_D1] = d1;
- ex->arrays[ORC_VAR_D2] = d2;
- ex->arrays[ORC_VAR_D3] = d3;
- ex->arrays[ORC_VAR_D4] = d4;
- ex->arrays[ORC_VAR_S1] = (void *) s1;
+ ex->params[ORC_VAR_P1] = p1;
+ ex->params[ORC_VAR_P2] = p2;
+ ex->params[ORC_VAR_P3] = p3;
+ ex->params[ORC_VAR_P4] = p4;
+ ex->params[ORC_VAR_P5] = p5;
func = c->exec;
func (ex);
diff --git a/gst/videomixer/videomixerorc-dist.h b/gst/videomixer/videomixerorc-dist.h
index e0b935f6..ad35551f 100644
--- a/gst/videomixer/videomixerorc-dist.h
+++ b/gst/videomixer/videomixerorc-dist.h
@@ -117,41 +117,11 @@ void videomixer_video_convert_orc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, i
void videomixer_video_convert_orc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void videomixer_video_convert_orc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void videomixer_video_convert_orc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void videomixer_video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void videomixer_video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void videomixer_video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void videomixer_video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void videomixer_video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void videomixer_video_convert_orc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, const guint8 * ORC_RESTRICT s5, int n);
-void videomixer_video_convert_orc_getline_I420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void videomixer_video_convert_orc_getline_YUV9 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void videomixer_video_convert_orc_getline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_Y42B (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void videomixer_video_convert_orc_getline_Y444 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void videomixer_video_convert_orc_getline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_getline_NV12 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void videomixer_video_convert_orc_getline_NV21 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void videomixer_video_convert_orc_getline_A420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
-void videomixer_video_convert_orc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n);
-void videomixer_video_convert_orc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, int n);
+void videomixer_video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1, int p2, int p3, int p4, int p5, int n, int m);
+void videomixer_video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1, int p2, int p3, int p4, int p5, int n, int m);
+void videomixer_video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1, int p2, int p3, int p4, int p5, int n, int m);
+void videomixer_video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int p1, int p2, int p3, int p4, int p5, int n, int m);
+void videomixer_video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
#ifdef __cplusplus
}
diff --git a/gst/videomixer/videomixerorc.orc b/gst/videomixer/videomixerorc.orc
index 7ee7fef4..45e0f565 100644
--- a/gst/videomixer/videomixerorc.orc
+++ b/gst/videomixer/videomixerorc.orc
@@ -674,8 +674,11 @@ mergewl ayuv, ay, uv
.flags 2d
.dest 4 argb guint8
.source 4 ayuv guint8
-.temp 2 t1
-.temp 2 t2
+.param 2 p1
+.param 2 p2
+.param 2 p3
+.param 2 p4
+.param 2 p5
.temp 1 a
.temp 1 y
.temp 1 u
@@ -690,57 +693,48 @@ mergewl ayuv, ay, uv
.temp 1 g
.temp 1 b
.temp 4 x
-.const 1 c8 8
+.const 1 c128 128
-x4 subb x, ayuv, 128
-splitlw t1, t2, x
-splitwb y, a, t2
-splitwb v, u, t1
-convsbw wy, y
-convsbw wu, u
-convsbw wv, v
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
+x4 subb x, ayuv, c128
+splitlw wv, wy, x
+splitwb y, a, wy
+splitwb v, u, wv
+
+splatbw wy, y
+splatbw wu, u
+splatbw wv, v
+
+mulhsw wy, wy, p1
+
+mulhsw wr, wv, p2
+addssw wr, wy, wr
+
+mulhsw wb, wu, p3
+addssw wb, wy, wb
+
+mulhsw wg, wu, p4
+addssw wg, wy, wg
+mulhsw wy, wv, p5
+addssw wg, wg, wy
convssswb r, wr
convssswb g, wg
convssswb b, wb
-mergebw t1, a, r
-mergebw t2, g, b
-mergewl x, t1, t2
-x4 addb argb, x, 128
-
-
+mergebw wr, a, r
+mergebw wb, g, b
+mergewl x, wr, wb
+x4 addb argb, x, c128
.function videomixer_video_convert_orc_convert_AYUV_BGRA
.flags 2d
-.dest 4 argb guint8
+.dest 4 bgra guint8
.source 4 ayuv guint8
-.temp 2 t1
-.temp 2 t2
+.param 2 p1
+.param 2 p2
+.param 2 p3
+.param 2 p4
+.param 2 p5
.temp 1 a
.temp 1 y
.temp 1 u
@@ -755,58 +749,49 @@ x4 addb argb, x, 128
.temp 1 g
.temp 1 b
.temp 4 x
-.const 1 c8 8
+.const 1 c128 128
-x4 subb x, ayuv, 128
-splitlw t1, t2, x
-splitwb y, a, t2
-splitwb v, u, t1
-convsbw wy, y
-convsbw wu, u
-convsbw wv, v
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
+x4 subb x, ayuv, c128
+splitlw wv, wy, x
+splitwb y, a, wy
+splitwb v, u, wv
+
+splatbw wy, y
+splatbw wu, u
+splatbw wv, v
+
+mulhsw wy, wy, p1
+
+mulhsw wr, wv, p2
+addssw wr, wy, wr
+
+mulhsw wb, wu, p3
+addssw wb, wy, wb
+
+mulhsw wg, wu, p4
+addssw wg, wy, wg
+mulhsw wy, wv, p5
+addssw wg, wg, wy
convssswb r, wr
convssswb g, wg
convssswb b, wb
-mergebw t1, b, g
-mergebw t2, r, a
-mergewl x, t1, t2
-x4 addb argb, x, 128
-
-
+mergebw wb, b, g
+mergebw wr, r, a
+mergewl x, wb, wr
+x4 addb bgra, x, c128
.function videomixer_video_convert_orc_convert_AYUV_ABGR
.flags 2d
.dest 4 argb guint8
.source 4 ayuv guint8
-.temp 2 t1
-.temp 2 t2
+.param 2 p1
+.param 2 p2
+.param 2 p3
+.param 2 p4
+.param 2 p5
.temp 1 a
.temp 1 y
.temp 1 u
@@ -821,57 +806,48 @@ x4 addb argb, x, 128
.temp 1 g
.temp 1 b
.temp 4 x
-.const 1 c8 8
+.const 1 c128 128
-x4 subb x, ayuv, 128
-splitlw t1, t2, x
-splitwb y, a, t2
-splitwb v, u, t1
-convsbw wy, y
-convsbw wu, u
-convsbw wv, v
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
+x4 subb x, ayuv, c128
+splitlw wv, wy, x
+splitwb y, a, wy
+splitwb v, u, wv
+
+splatbw wy, y
+splatbw wu, u
+splatbw wv, v
+
+mulhsw wy, wy, p1
+
+mulhsw wr, wv, p2
+addssw wr, wy, wr
+
+mulhsw wb, wu, p3
+addssw wb, wy, wb
+
+mulhsw wg, wu, p4
+addssw wg, wy, wg
+mulhsw wy, wv, p5
+addssw wg, wg, wy
convssswb r, wr
convssswb g, wg
convssswb b, wb
-mergebw t1, a, b
-mergebw t2, g, r
-mergewl x, t1, t2
-x4 addb argb, x, 128
-
-
+mergebw wb, a, b
+mergebw wr, g, r
+mergewl x, wb, wr
+x4 addb argb, x, c128
.function videomixer_video_convert_orc_convert_AYUV_RGBA
.flags 2d
.dest 4 argb guint8
.source 4 ayuv guint8
-.temp 2 t1
-.temp 2 t2
+.param 2 p1
+.param 2 p2
+.param 2 p3
+.param 2 p4
+.param 2 p5
.temp 1 a
.temp 1 y
.temp 1 u
@@ -886,48 +862,38 @@ x4 addb argb, x, 128
.temp 1 g
.temp 1 b
.temp 4 x
-.const 1 c8 8
+.const 1 c128 128
-x4 subb x, ayuv, 128
-splitlw t1, t2, x
-splitwb y, a, t2
-splitwb v, u, t1
-convsbw wy, y
-convsbw wu, u
-convsbw wv, v
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
+x4 subb x, ayuv, c128
+splitlw wv, wy, x
+splitwb y, a, wy
+splitwb v, u, wv
+
+splatbw wy, y
+splatbw wu, u
+splatbw wv, v
+
+mulhsw wy, wy, p1
+
+mulhsw wr, wv, p2
+addssw wr, wy, wr
+
+mulhsw wb, wu, p3
+addssw wb, wy, wb
+
+mulhsw wg, wu, p4
+addssw wg, wy, wg
+mulhsw wy, wv, p5
+addssw wg, wg, wy
convssswb r, wr
convssswb g, wg
convssswb b, wb
-mergebw t1, r, g
-mergebw t2, b, a
-mergewl x, t1, t2
-x4 addb argb, x, 128
+mergebw wr, r, g
+mergebw wb, b, a
+mergewl x, wr, wb
+x4 addb argb, x, c128
@@ -936,9 +902,11 @@ x4 addb argb, x, 128
.source 1 y guint8
.source 1 u guint8
.source 1 v guint8
-.temp 2 t1
-.temp 2 t2
-.temp 1 t3
+.param 2 p1
+.param 2 p2
+.param 2 p3
+.param 2 p4
+.param 2 p5
.temp 2 wy
.temp 2 wu
.temp 2 wv
@@ -949,568 +917,36 @@ x4 addb argb, x, 128
.temp 1 g
.temp 1 b
.temp 4 x
-.const 1 c8 8
.const 1 c128 128
-subb t3, y, c128
-convsbw wy, t3
-loadupib t3, u
-subb t3, t3, c128
-convsbw wu, t3
-loadupib t3, v
-subb t3, t3, c128
-convsbw wv, t3
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
+subb r, y, c128
+splatbw wy, r
+loadupdb r, u
+subb r, r, c128
+splatbw wu, r
+loadupdb r, v
+subb r, r, c128
+splatbw wv, r
-convssswb r, wr
-convssswb g, wg
-convssswb b, wb
-
-mergebw t1, b, g
-mergebw t2, r, 255
-mergewl x, t1, t2
-x4 addb argb, x, c128
+mulhsw wy, wy, p1
+mulhsw wr, wv, p2
+addssw wr, wy, wr
+mulhsw wb, wu, p3
+addssw wb, wy, wb
-.function videomixer_video_convert_orc_convert_I420_BGRA_avg
-.dest 4 argb guint8
-.source 1 y guint8
-.source 1 u1 guint8
-.source 1 u2 guint8
-.source 1 v1 guint8
-.source 1 v2 guint8
-.temp 2 t1
-.temp 2 t2
-.temp 1 t3
-.temp 1 t4
-.temp 2 wy
-.temp 2 wu
-.temp 2 wv
-.temp 2 wr
-.temp 2 wg
-.temp 2 wb
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 4 x
-.const 1 c8 8
-.const 1 c128 128
-
-subb t3, y, c128
-convsbw wy, t3
-loadupib t3, u1
-loadupib t4, u2
-avgub t3, t3, t4
-subb t3, t3, c128
-convsbw wu, t3
-loadupib t3, v1
-loadupib t4, v2
-avgub t3, t3, t4
-subb t3, t3, c128
-convsbw wv, t3
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
+mulhsw wg, wu, p4
+addssw wg, wy, wg
+mulhsw wy, wv, p5
+addssw wg, wg, wy
convssswb r, wr
convssswb g, wg
convssswb b, wb
-mergebw t1, b, g
-mergebw t2, r, 255
-mergewl x, t1, t2
+mergebw wb, b, g
+mergebw wr, r, 127
+mergewl x, wb, wr
x4 addb argb, x, c128
-
-
-.function videomixer_video_convert_orc_getline_I420
-.dest 4 d guint8
-.source 1 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 2 ay
-.temp 1 tu
-.temp 1 tv
-
-loadupdb tu, u
-loadupdb tv, v
-mergebw uv, tu, tv
-mergebw ay, c255, y
-mergewl d, ay, uv
-
-.function videomixer_video_convert_orc_getline_YUV9
-.dest 8 d guint8
-.source 2 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 tuv
-.temp 4 ay
-.temp 4 uv
-.temp 1 tu
-.temp 1 tv
-
-loadupdb tu, u
-loadupdb tv, v
-mergebw tuv, tu, tv
-mergewl uv, tuv, tuv
-x2 mergebw ay, c255, y
-x2 mergewl d, ay, uv
-
-.function videomixer_video_convert_orc_getline_YUY2
-.dest 8 ayuv guint8
-.source 4 yuy2 guint8
-.const 2 c255 0xff
-.temp 2 yy
-.temp 2 uv
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitwb uv, yy, yuy2
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function videomixer_video_convert_orc_getline_UYVY
-.dest 8 ayuv guint8
-.source 4 uyvy guint8
-.const 2 c255 0xff
-.temp 2 yy
-.temp 2 uv
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitwb yy, uv, uyvy
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function videomixer_video_convert_orc_getline_YVYU
-.dest 8 ayuv guint8
-.source 4 uyvy guint8
-.const 2 c255 0xff
-.temp 2 yy
-.temp 2 uv
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitwb uv, yy, uyvy
-swapw uv, uv
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function videomixer_video_convert_orc_getline_Y42B
-.dest 8 ayuv guint8
-.source 2 yy guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 2 ay
-.temp 4 uvuv
-.temp 4 ayay
-
-mergebw uv, u, v
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function videomixer_video_convert_orc_getline_Y444
-.dest 4 ayuv guint8
-.source 1 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 2 ay
-
-mergebw uv, u, v
-mergebw ay, c255, y
-mergewl ayuv, ay, uv
-
-
-.function videomixer_video_convert_orc_getline_Y800
-.dest 4 ayuv guint8
-.source 1 y guint8
-.const 1 c255 255
-.const 2 c0x8080 0x8080
-.temp 2 ay
-
-mergebw ay, c255, y
-mergewl ayuv, ay, c0x8080
-
-.function videomixer_video_convert_orc_getline_Y16
-.dest 4 ayuv guint8
-.source 2 y guint8
-.const 1 c255 255
-.const 2 c0x8080 0x8080
-.temp 2 ay
-.temp 1 yb
-
-convhwb yb, y
-mergebw ay, c255, yb
-mergewl ayuv, ay, c0x8080
-
-.function videomixer_video_convert_orc_getline_BGRA
-.dest 4 argb guint8
-.source 4 bgra guint8
-
-swapl argb, bgra
-
-
-.function videomixer_video_convert_orc_getline_ABGR
-.dest 4 argb guint8
-.source 4 abgr guint8
-.temp 1 a
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 2 gr
-.temp 2 ab
-.temp 2 ar
-.temp 2 gb
-
-splitlw gr, ab, abgr
-splitwb r, g, gr
-splitwb b, a, ab
-mergebw ar, a, r
-mergebw gb, g, b
-mergewl argb, ar, gb
-
-
-.function videomixer_video_convert_orc_getline_RGBA
-.dest 4 argb guint8
-.source 4 rgba guint8
-.temp 1 a
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 2 rg
-.temp 2 ba
-.temp 2 ar
-.temp 2 gb
-
-splitlw ba, rg, rgba
-splitwb g, r, rg
-splitwb a, b, ba
-mergebw ar, a, r
-mergebw gb, g, b
-mergewl argb, ar, gb
-
-
-.function videomixer_video_convert_orc_getline_NV12
-.dest 8 d guint8
-.source 2 y guint8
-.source 2 uv guint8
-.const 1 c255 255
-.temp 4 ay
-.temp 4 uvuv
-
-mergewl uvuv, uv, uv
-x2 mergebw ay, c255, y
-x2 mergewl d, ay, uvuv
-
-
-.function videomixer_video_convert_orc_getline_NV21
-.dest 8 d guint8
-.source 2 y guint8
-.source 2 vu guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 4 ay
-.temp 4 uvuv
-
-swapw uv, vu
-mergewl uvuv, uv, uv
-x2 mergebw ay, c255, y
-x2 mergewl d, ay, uvuv
-
-.function videomixer_video_convert_orc_getline_A420
-.dest 4 d guint8
-.source 1 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.source 1 a guint8
-.temp 2 uv
-.temp 2 ay
-.temp 1 tu
-.temp 1 tv
-
-loadupdb tu, u
-loadupdb tv, v
-mergebw uv, tu, tv
-mergebw ay, a, y
-mergewl d, ay, uv
-
-.function videomixer_video_convert_orc_putline_I420
-.dest 2 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 8 ayuv guint8
-.temp 4 ay
-.temp 4 uv
-.temp 2 uu
-.temp 2 vv
-.temp 1 t1
-.temp 1 t2
-
-x2 splitlw uv, ay, ayuv
-x2 select1wb y, ay
-x2 splitwb vv, uu, uv
-splitwb t1, t2, uu
-avgub u, t1, t2
-splitwb t1, t2, vv
-avgub v, t1, t2
-
-
-
-.function videomixer_video_convert_orc_putline_YUY2
-.dest 4 yuy2 guint8
-.source 8 ayuv guint8
-.temp 2 yy
-.temp 2 uv1
-.temp 2 uv2
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-x2 select1wb yy, ayay
-x2 mergebw yuy2, yy, uv1
-
-
-.function videomixer_video_convert_orc_putline_YVYU
-.dest 4 yuy2 guint8
-.source 8 ayuv guint8
-.temp 2 yy
-.temp 2 uv1
-.temp 2 uv2
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-x2 select1wb yy, ayay
-swapw uv1, uv1
-x2 mergebw yuy2, yy, uv1
-
-
-.function videomixer_video_convert_orc_putline_UYVY
-.dest 4 yuy2 guint8
-.source 8 ayuv guint8
-.temp 2 yy
-.temp 2 uv1
-.temp 2 uv2
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-x2 select1wb yy, ayay
-x2 mergebw yuy2, uv1, yy
-
-
-
-.function videomixer_video_convert_orc_putline_Y42B
-.dest 2 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 8 ayuv guint8
-.temp 4 ayay
-.temp 4 uvuv
-.temp 2 uv1
-.temp 2 uv2
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-splitwb v, u, uv1
-x2 select1wb y, ayay
-
-
-.function videomixer_video_convert_orc_putline_Y444
-.dest 1 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 4 ayuv guint8
-.temp 2 ay
-.temp 2 uv
-
-splitlw uv, ay, ayuv
-splitwb v, u, uv
-select1wb y, ay
-
-
-.function videomixer_video_convert_orc_putline_Y800
-.dest 1 y guint8
-.source 4 ayuv guint8
-.temp 2 ay
-
-select0lw ay, ayuv
-select1wb y, ay
-
-.function videomixer_video_convert_orc_putline_Y16
-.dest 2 y guint8
-.source 4 ayuv guint8
-.temp 2 ay
-.temp 1 yb
-
-select0lw ay, ayuv
-select1wb yb, ay
-convubw ay, yb
-shlw y, ay, 8
-
-.function videomixer_video_convert_orc_putline_BGRA
-.dest 4 bgra guint8
-.source 4 argb guint8
-
-swapl bgra, argb
-
-
-.function videomixer_video_convert_orc_putline_ABGR
-.dest 4 abgr guint8
-.source 4 argb guint8
-.temp 1 a
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 2 gr
-.temp 2 ab
-.temp 2 ar
-.temp 2 gb
-
-splitlw gb, ar, argb
-splitwb b, g, gb
-splitwb r, a, ar
-mergebw ab, a, b
-mergebw gr, g, r
-mergewl abgr, ab, gr
-
-
-.function videomixer_video_convert_orc_putline_RGBA
-.dest 4 rgba guint8
-.source 4 argb guint8
-.temp 1 a
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 2 rg
-.temp 2 ba
-.temp 2 ar
-.temp 2 gb
-
-splitlw gb, ar, argb
-splitwb b, g, gb
-splitwb r, a, ar
-mergebw ba, b, a
-mergebw rg, r, g
-mergewl rgba, rg, ba
-
-
-.function videomixer_video_convert_orc_putline_NV12
-.dest 2 y guint8
-.dest 2 uv guint8
-.source 8 ayuv guint8
-.temp 4 ay
-.temp 4 uvuv
-.temp 2 uv1
-.temp 2 uv2
-
-x2 splitlw uvuv, ay, ayuv
-x2 select1wb y, ay
-splitlw uv1, uv2, uvuv
-x2 avgub uv, uv1, uv2
-
-
-.function videomixer_video_convert_orc_putline_NV21
-.dest 2 y guint8
-.dest 2 vu guint8
-.source 8 ayuv guint8
-.temp 4 ay
-.temp 4 uvuv
-.temp 2 uv1
-.temp 2 uv2
-.temp 2 uv
-
-x2 splitlw uvuv, ay, ayuv
-x2 select1wb y, ay
-splitlw uv1, uv2, uvuv
-x2 avgub uv, uv1, uv2
-swapw vu, uv
-
-.function videomixer_video_convert_orc_putline_A420
-.dest 2 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.dest 2 a guint8
-.source 8 ayuv guint8
-.temp 4 ay
-.temp 4 uv
-.temp 2 uu
-.temp 2 vv
-.temp 1 t1
-.temp 1 t2
-
-x2 splitlw uv, ay, ayuv
-x2 select1wb y, ay
-x2 select0wb a, ay
-x2 splitwb vv, uu, uv
-splitwb t1, t2, uu
-avgub u, t1, t2
-splitwb t1, t2, vv
-avgub v, t1, t2
diff --git a/gst/wavenc/gstwavenc.c b/gst/wavenc/gstwavenc.c
index fa82cf96..9f62fc7a 100644
--- a/gst/wavenc/gstwavenc.c
+++ b/gst/wavenc/gstwavenc.c
@@ -848,7 +848,10 @@ gst_wavenc_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
GstWavEnc *wavenc = GST_WAVENC (parent);
GstFlowReturn flow = GST_FLOW_OK;
- g_return_val_if_fail (wavenc->channels > 0, GST_FLOW_FLUSHING);
+ if (wavenc->channels <= 0) {
+ GST_ERROR_OBJECT (wavenc, "Got data without caps");
+ return GST_FLOW_NOT_NEGOTIATED;
+ }
if (G_UNLIKELY (!wavenc->sent_header)) {
/* starting a file, means we have to finish it properly */
diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c
index 167e4ba7..28d20639 100644
--- a/gst/wavparse/gstwavparse.c
+++ b/gst/wavparse/gstwavparse.c
@@ -303,8 +303,7 @@ gst_wavparse_parse_file_header (GstElement * element, GstBuffer * buf)
not_wav:
{
GST_ELEMENT_ERROR (element, STREAM, WRONG_TYPE, (NULL),
- ("File is not a WAVE file: %" GST_FOURCC_FORMAT,
- GST_FOURCC_ARGS (doctype)));
+ ("File is not a WAVE file: 0x%" G_GINT32_MODIFIER "x", doctype));
return FALSE;
}
}
diff --git a/po/af.gmo b/po/af.gmo
index 70e08942..77556387 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 20a44454..13efc734 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins 0.7.6\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2004-03-18 14:16+0200\n"
"Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
"Language-Team: Afrikaans <i18n@af.org.za>\n"
diff --git a/po/az.gmo b/po/az.gmo
index e2047116..b093b19b 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index a28d3867..a52af737 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-0.8.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2004-03-19 18:29+0200\n"
"Last-Translator: Metin Amiroff <metin@karegen.com>\n"
"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
diff --git a/po/bg.gmo b/po/bg.gmo
index 15746e25..a02546dd 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 30864aa3..8ed1c829 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2011-04-26 22:35+0300\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
diff --git a/po/ca.gmo b/po/ca.gmo
index 32b90707..2332d8ba 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 388d75de..c7919a7c 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2012-01-01 14:19+0100\n"
"Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
diff --git a/po/cs.gmo b/po/cs.gmo
index 8ae3a511..8aa63fdd 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index f5de00a2..15c7ade4 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-1.1.4\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2013-09-18 19:18+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
diff --git a/po/da.gmo b/po/da.gmo
index 4aee176c..8fe6c104 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 8159494d..0bacb11b 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1,7 +1,6 @@
# Danish translation of gst-plugins-good.
# Copyright (C) 2014 gst.
# This file is distributed under the same license as the gst-plugins-good package.
-#
# Mogens Jaeger <mogens@jaeger.tf>, 2007.
# Joe Hansen <joedalton2@yahoo.dk>, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
#
@@ -10,10 +9,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good-1.3.2\n"
+"Project-Id-Version: gst-plugins-good-1.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
-"PO-Revision-Date: 2014-05-24 23:54+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
+"PO-Revision-Date: 2014-06-29 23:54+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
@@ -306,33 +305,33 @@ msgid "Failed to change mute state for device '%s'."
msgstr "Kunne ikke ændre tilstand for tænk/slut for enhed »%s«."
msgid "Failed to allocated required memory."
-msgstr ""
+msgstr "Kunne ikke allokere den krævede hukommelse."
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported input format"
-msgstr "Videoenheder bruger et billedpunktsformat, der ikke er understøttet."
+msgstr ""
+"Konverteringsprogram på enhed %s har ikke et understøttet inddataformat"
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported output format"
-msgstr "Videoenheder bruger et billedpunktsformat, der ikke er understøttet."
+msgstr "Konverteringsprogram på enhed %s har ikke et understøttet uddataformat"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported input format"
-msgstr "Videoenheder bruger et billedpunktsformat, der ikke er understøttet."
+msgstr "Koder på enhed %s har ikke et understøttet inddataformat"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported output format"
-msgstr "Videoenheder bruger et billedpunktsformat, der ikke er understøttet."
+msgstr "Koder på enhed %s har ikke et understøttet uddataformat"
msgid "Failed to allocate required memory."
-msgstr ""
+msgstr "Kunne ikke allokere den krævede hukommelse."
-#, fuzzy
msgid "Failed to start decoding thread."
-msgstr "Mislykkedes i at afkode JPEG-billede"
+msgstr "Kunne ikke starte afkodning af tråd."
msgid "Failed to process frame."
-msgstr ""
+msgstr "Kunne ikke behandle billed."
#, c-format
msgid ""
diff --git a/po/de.gmo b/po/de.gmo
index ccf69fa2..8c0d1745 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index b99f5b8e..54de4694 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,4 +1,4 @@
-# German translations for gst-plugins-good 1.3.2
+# German translations for gst-plugins-good 1.3.90
# Copyright (C) 2007 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-good package.
#
@@ -8,14 +8,14 @@
# Pipeline = Weiterleitung
# Stream = Strom
# mixer = Mischer
-# Christian Kirbach <christian.kirbach@gmail.com>, 2010, 2011, 2012, 2013.
+# Christian Kirbach <christian.kirbach@gmail.com>, 2010, 2011, 2012, 2013, 2014.
#
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good 1.3.2\n"
+"Project-Id-Version: gst-plugins-good 1.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
-"PO-Revision-Date: 2014-05-22 17:31+0100\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
+"PO-Revision-Date: 2014-06-29 21:20+0100\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
@@ -319,33 +319,32 @@ msgid "Failed to change mute state for device '%s'."
msgstr "Ändern des Stummzustands von Gerät »%s« schlug fehl."
msgid "Failed to allocated required memory."
-msgstr ""
+msgstr "Anfordern des benötigen Arbeitsspeichers schlug fehl."
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported input format"
-msgstr "Das Video-Gerät verwendet ein nicht unterstütztes Pixelformat."
+msgstr "Der Umwandler auf Gerät %s hat kein unterstütztes Eingabeformat"
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported output format"
-msgstr "Das Video-Gerät verwendet ein nicht unterstütztes Pixelformat."
+msgstr "Der Umwandler auf Gerät %s hat kein unterstütztes Ausgabeformat"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported input format"
-msgstr "Das Video-Gerät verwendet ein nicht unterstütztes Pixelformat."
+msgstr "Der Kodierer auf Gerät %s hat kein unterstütztes Eingabeformat"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported output format"
-msgstr "Das Video-Gerät verwendet ein nicht unterstütztes Pixelformat."
+msgstr "Der Kodierer auf Gerät %s hat kein unterstütztes Ausgabeformat"
msgid "Failed to allocate required memory."
-msgstr ""
+msgstr "Anfordern des benötigen Arbeitsspeichers schlug fehl."
-#, fuzzy
msgid "Failed to start decoding thread."
-msgstr "Dekodieren des JPEG-Bildes schlug fehl"
+msgstr "Beginn der Dekodierung des JPEG-Bildes schlug fehl"
msgid "Failed to process frame."
-msgstr ""
+msgstr "Verarbeiten des Einzelbilds schlug fehl."
#, c-format
msgid ""
diff --git a/po/el.gmo b/po/el.gmo
index 045d4287..c22c28cf 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 03815abe..c53d1fa9 100644
--- a/po/el.po
+++ b/po/el.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2012-05-05 19:05+0100\n"
"Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
"Language-Team: Greek <team@lists.gnome.gr>\n"
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index e22ba795..40f1c28b 100644
--- a/po/en_GB.gmo
+++ b/po/en_GB.gmo
Binary files differ
diff --git a/po/en_GB.po b/po/en_GB.po
index 3efebf94..b5ac0dc3 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins 0.8.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2004-04-26 10:41-0400\n"
"Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
"Language-Team: English (British) <en_gb@li.org>\n"
diff --git a/po/eo.gmo b/po/eo.gmo
index f15901b0..adf79db4 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 9d10916c..b221c69a 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2011-06-04 21:48+0100\n"
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
diff --git a/po/es.gmo b/po/es.gmo
index feda9b7a..2c0db993 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 0a87f945..8d3e11ab 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.26.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2011-02-12 18:30+0100\n"
"Last-Translator: Jorge González González <aloriel@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
diff --git a/po/eu.gmo b/po/eu.gmo
index 8c0d0d72..764da413 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 5d062a15..2dfe4e14 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-0.10.18.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2010-03-25 12:37+0100\n"
"Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
diff --git a/po/fi.gmo b/po/fi.gmo
index 2e660ec5..679a245a 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 6cb1f401..6898ee2b 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.25.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2010-11-17 23:03+0200\n"
"Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
diff --git a/po/fr.gmo b/po/fr.gmo
index 0f75f6b8..38202726 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 9785ec59..84db6418 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2011-04-28 09:22+0200\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
"Language-Team: French <traduc@traduc.org>\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index 47749535..e64f346d 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 2b0ba94c..f2868bc5 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2012-12-15 03:46+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
diff --git a/po/gst-plugins-good-1.0.pot b/po/gst-plugins-good-1.0.pot
index 3419962b..985880a6 100644
--- a/po/gst-plugins-good-1.0.pot
+++ b/po/gst-plugins-good-1.0.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good 1.3.90\n"
+"Project-Id-Version: gst-plugins-good 1.3.91\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -66,7 +66,7 @@ msgstr ""
msgid "Server sent bad data."
msgstr ""
-#: gst/avi/gstavidemux.c:5678
+#: gst/avi/gstavidemux.c:5677
msgid "Internal data stream error."
msgstr ""
@@ -112,20 +112,20 @@ msgstr ""
msgid "This file contains too many streams. Only playing first %d"
msgstr ""
-#: gst/rtsp/gstrtspsrc.c:6465
+#: gst/rtsp/gstrtspsrc.c:6469
msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
-#: gst/rtsp/gstrtspsrc.c:6470
+#: gst/rtsp/gstrtspsrc.c:6474
msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
"plugin."
msgstr ""
-#: gst/wavparse/gstwavparse.c:2178
+#: gst/wavparse/gstwavparse.c:2177
msgid "Internal data flow error."
msgstr ""
@@ -252,7 +252,7 @@ msgstr ""
msgid "AUX 2 Out"
msgstr ""
-#: sys/v4l2/gstv4l2bufferpool.c:1496
+#: sys/v4l2/gstv4l2bufferpool.c:1527
#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr ""
@@ -262,80 +262,80 @@ msgstr ""
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2293
+#: sys/v4l2/gstv4l2object.c:2292
#, c-format
msgid "Could not map buffers from device '%s'"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2301
+#: sys/v4l2/gstv4l2object.c:2300
#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2308
+#: sys/v4l2/gstv4l2object.c:2307
#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2801
+#: sys/v4l2/gstv4l2object.c:2800
#, c-format
msgid "Device '%s' does not support video capture"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2810
+#: sys/v4l2/gstv4l2object.c:2809
#, c-format
msgid "Device '%s' is busy"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2816 sys/v4l2/gstv4l2object.c:2827
+#: sys/v4l2/gstv4l2object.c:2815 sys/v4l2/gstv4l2object.c:2826
#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2836
+#: sys/v4l2/gstv4l2object.c:2835
#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2847
+#: sys/v4l2/gstv4l2object.c:2846
#, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2857
+#: sys/v4l2/gstv4l2object.c:2856
#, c-format
msgid "Could not get parameters on device '%s'"
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2865
+#: sys/v4l2/gstv4l2object.c:2864
msgid "Video device did not accept new frame rate setting."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2958
+#: sys/v4l2/gstv4l2object.c:2957
msgid "Video device did not provide output format."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2964
+#: sys/v4l2/gstv4l2object.c:2963
msgid "Video device returned invalid dimensions."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2972
+#: sys/v4l2/gstv4l2object.c:2971
msgid "Video devices uses an unsupported interlacing method."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:2979
+#: sys/v4l2/gstv4l2object.c:2978
msgid "Video devices uses an unsupported pixel format."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:3392
+#: sys/v4l2/gstv4l2object.c:3393
msgid "Failed to configure internal buffer pool."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:3398
+#: sys/v4l2/gstv4l2object.c:3399
msgid "Video device did not suggest any buffer size."
msgstr ""
-#: sys/v4l2/gstv4l2object.c:3413
+#: sys/v4l2/gstv4l2object.c:3414
msgid "No downstream pool to import from."
msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index 8a660894..455480f1 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 88912c73..e3b913af 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2012-04-16 03:04+0200\n"
"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
diff --git a/po/hu.gmo b/po/hu.gmo
index c8168930..d704e884 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 55ab23b7..198a3130 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1,16 +1,16 @@
-# Hungarian translation of gst-plugins-good
-# This file is distributed under the same license as the gst-plugins-good package.
+# Hungarian translation for gst-plugins-good.
# Copyright (C) 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gst-plugins-good package.
#
# Laszlo Dvornik <dvornik@invitel.hu>, 2004.
-# Gabor Kelemen <kelemeng@gnome.hu>, 2007, 2008, 2009, 2010, 2012.
+# Gabor Kelemen <kelemeng@gnome.hu>, 2007, 2008, 2009, 2010, 2012, 2014.
# Balázs Úr <urbalazs@gmail.com>, 2014.
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good 1.3.2\n"
+"Project-Id-Version: gst-plugins-good 1.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
-"PO-Revision-Date: 2014-05-23 21:00+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
+"PO-Revision-Date: 2014-06-29 12:56+0200\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
@@ -34,7 +34,7 @@ msgid "'%s' by '%s'"
msgstr "„%s” ettől: „%s”"
msgid "Could not connect to server"
-msgstr "Nem lehet csatlakozni a kiszolgálóhoz"
+msgstr "Nem sikerült csatlakozni a kiszolgálóhoz"
msgid "No URL set."
msgstr "Nincs beállítva URL."
@@ -43,7 +43,7 @@ msgid "Server does not support seeking."
msgstr "A kiszolgáló nem támogatja a tekerést."
msgid "Could not resolve server name."
-msgstr "Nem lehet feloldani a kiszolgáló nevét."
+msgstr "Nem sikerült feloldani a kiszolgáló nevét."
msgid "Could not establish connection to server."
msgstr "Nem hozható létre kapcsolat a kiszolgálóhoz."
@@ -279,7 +279,7 @@ msgid "Video device did not suggest any buffer size."
msgstr "A videoeszköz nem javasolt semmilyen pufferméretet."
msgid "No downstream pool to import from."
-msgstr ""
+msgstr "Nincs importálási forrásként használható alárendelt tároló."
#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
@@ -306,40 +306,39 @@ msgid "Failed to change mute state for device '%s'."
msgstr "A némítási állapot módosítása meghiúsult a(z) „%s” eszközön."
msgid "Failed to allocated required memory."
-msgstr ""
+msgstr "Nem sikerült lefoglalni a szükséges memóriát."
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported input format"
-msgstr "A videoeszközök nem támogatott képpontformátumot használnak."
+msgstr "A(z) %s eszközön lévő átalakítónak nincs támogatott bemeneti formátuma"
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported output format"
-msgstr "A videoeszközök nem támogatott képpontformátumot használnak."
+msgstr "A(z) %s eszközön lévő átalakítónak nincs támogatott kimeneti formátuma"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported input format"
-msgstr "A videoeszközök nem támogatott képpontformátumot használnak."
+msgstr "A(z) %s eszközön lévő kódolónak nincs támogatott bemeneti formátuma"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported output format"
-msgstr "A videoeszközök nem támogatott képpontformátumot használnak."
+msgstr "A(z) %s eszközön lévő kódolónak nincs támogatott kimeneti formátuma"
msgid "Failed to allocate required memory."
-msgstr ""
+msgstr "Nem sikerült lefoglalni a szükséges memóriát."
-#, fuzzy
msgid "Failed to start decoding thread."
-msgstr "A JPEG kép visszafejtése meghiúsult"
+msgstr "Nem sikerült elindítani a dekódolási szálat."
msgid "Failed to process frame."
-msgstr ""
+msgstr "Nem sikerült feldolgozni a keretet."
#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
-"hiba a(z) „%s” eszköz képességeinek lekérésekor. Ez nem egy v4l2 meghajtó. "
+"Hiba a(z) „%s” eszköz képességeinek lekérésekor. Ez nem egy v4l2 meghajtó. "
"Ellenőrizze, hogy nem v4l1 meghajtó-e."
#, c-format
@@ -368,7 +367,7 @@ msgstr "Ez nem egy eszköz: „%s”."
#, c-format
msgid "Could not open device '%s' for reading and writing."
-msgstr "Nem lehet olvasásra és írásra megnyitni a(z) „%s” eszközt."
+msgstr "Nem sikerült olvasásra és írásra megnyitni a(z) „%s” eszközt."
#, c-format
msgid "Device '%s' is not a capture device."
@@ -382,9 +381,9 @@ msgstr "A(z) „%s” eszköz nem kimeneti eszköz."
msgid "Device '%s' is not a M2M device."
msgstr "A(z) „%s” eszköz nem M2M eszköz."
-#, fuzzy, c-format
+#, c-format
msgid "Could not dup device '%s' for reading and writing."
-msgstr "Nem lehet olvasásra és írásra megnyitni a(z) „%s” eszközt."
+msgstr "Nem sikerült duplikálni a(z) „%s” eszközt olvasásra és írásra."
#, c-format
msgid "Failed to set norm for device '%s'."
diff --git a/po/id.gmo b/po/id.gmo
index 972a1bc6..7edfbcf7 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 52a0b4d7..59da0f6e 100644
--- a/po/id.po
+++ b/po/id.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good 1.3.2\n"
+"Project-Id-Version: gst-plugins-good 1.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
-"PO-Revision-Date: 2014-06-01 09:52+0700\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
+"PO-Revision-Date: 2014-07-06 21:37+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
"Language: id\n"
@@ -301,33 +301,32 @@ msgid "Failed to change mute state for device '%s'."
msgstr "Gagal mengubah keadaan bisu untuk divais '%s'."
msgid "Failed to allocated required memory."
-msgstr ""
+msgstr "Gagal mengalokasikan memori yang diperlukan."
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported input format"
-msgstr "Divais video menggunakan format pixel yang tidak didukung."
+msgstr "Konverter di divais %s tidak mempunyai format masukan yang didukung"
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported output format"
-msgstr "Divais video menggunakan format pixel yang tidak didukung."
+msgstr "Konverter di divais %s tidak mempunyai format keluaran yang didukung"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported input format"
-msgstr "Divais video menggunakan format pixel yang tidak didukung."
+msgstr "Penyandi di divais %s tidak mempunyai format masukan yang didukung"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported output format"
-msgstr "Divais video menggunakan format pixel yang tidak didukung."
+msgstr "Penyandi di divais %s tidak mempunyai format keluaran yang didukung"
msgid "Failed to allocate required memory."
-msgstr ""
+msgstr "Gagal mengalokasikan memori yang diperlukan."
-#, fuzzy
msgid "Failed to start decoding thread."
-msgstr "Gagal untuk mengawasandi citra JPEG"
+msgstr "Gagal untuk menjalankan tali awasandi."
msgid "Failed to process frame."
-msgstr ""
+msgstr "Gagal memproses bingkai."
#, c-format
msgid ""
diff --git a/po/it.gmo b/po/it.gmo
index 9afb5b07..55425b56 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index f809f216..6447682e 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.25.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2010-10-25 10:11+0200\n"
"Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
diff --git a/po/ja.gmo b/po/ja.gmo
index 206aca77..93ab7ed4 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 30089e95..0ed9e3ef 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2012-12-22 20:13+0900\n"
"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
diff --git a/po/lt.gmo b/po/lt.gmo
index d1cf048c..8d77c17a 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index e8d663ac..bc49e233 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.23.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2010-07-16 19:34+0300\n"
"Last-Translator: Žygimantas Beručka <uid0@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
diff --git a/po/lv.gmo b/po/lv.gmo
index 8414a759..3c4da0b3 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 9e70eae5..51424c11 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2014-04-20 16:38+0300\n"
"Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
diff --git a/po/mt.gmo b/po/mt.gmo
index 9a2ee897..4f6ad232 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index 295b1bff..3c2b68a7 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-0.10.10.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2008-10-26 19:09+0100\n"
"Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
"Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
diff --git a/po/nb.gmo b/po/nb.gmo
index e4bb6786..1b62f26e 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 4ba0bd1a..3932ddb1 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2014-01-22 17:49+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
diff --git a/po/nl.gmo b/po/nl.gmo
index 3d076223..64837324 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 6a32d182..1b2f247b 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.3.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2014-05-22 00:41+0200\n"
"Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
diff --git a/po/or.gmo b/po/or.gmo
index 273a6a48..a6cdb359 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 95a7f3bd..fcac8747 100644
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-0.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2004-09-27 13:32+0530\n"
"Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
"Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n"
diff --git a/po/pl.gmo b/po/pl.gmo
index 0bdac9f6..7cbed0dd 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 20923bb7..ec968050 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good 1.3.2\n"
+"Project-Id-Version: gst-plugins-good 1.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
-"PO-Revision-Date: 2014-05-22 18:29+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
+"PO-Revision-Date: 2014-06-29 10:45+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -298,33 +298,32 @@ msgid "Failed to change mute state for device '%s'."
msgstr "Nie udało się zmienić stanu wyciszenia dla urządzenia '%s'."
msgid "Failed to allocated required memory."
-msgstr ""
+msgstr "Nie udało się przydzielić wymaganej pamięci."
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported input format"
-msgstr "Urządzenie obrazu wykorzystuje nie obsługiwany format piksela."
+msgstr "Konwerter urządzenia %s nie ma obsługiwanego formatu wejściowego"
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported output format"
-msgstr "Urządzenie obrazu wykorzystuje nie obsługiwany format piksela."
+msgstr "Konwerter urządzenia %s nie ma obsługiwanego formatu wyjściowego"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported input format"
-msgstr "Urządzenie obrazu wykorzystuje nie obsługiwany format piksela."
+msgstr "Koder urządzenia %s nie ma obsługiwanego formatu wejściowego"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported output format"
-msgstr "Urządzenie obrazu wykorzystuje nie obsługiwany format piksela."
+msgstr "Koder urządzenia %s nie ma obsługiwanego formatu wyjściowego"
msgid "Failed to allocate required memory."
-msgstr ""
+msgstr "Nie udało się przydzielić wymaganej pamięci."
-#, fuzzy
msgid "Failed to start decoding thread."
-msgstr "Nie udało się zdekodować obrazu JPEG"
+msgstr "Nie udało się uruchomić wątku dekodującego."
msgid "Failed to process frame."
-msgstr ""
+msgstr "Nie udało się przetworzyć ramki."
#, c-format
msgid ""
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index bbcf63e0..42a20e5a 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 4fd1ab21..92e35e7e 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2013-12-29 17:48-0200\n"
"Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
diff --git a/po/ro.gmo b/po/ro.gmo
index cfc093b3..c1068a83 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index e4501fdd..ecf0b2fe 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.23.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2010-08-16 03:22+0300\n"
"Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
diff --git a/po/ru.gmo b/po/ru.gmo
index d56afcfb..d13e5655 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 71abd792..58d8307f 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,10 +7,10 @@
# Pavel Maryanov <acid@jack.kiev.ua>, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good 1.3.2\n"
+"Project-Id-Version: gst-plugins-good 1.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
-"PO-Revision-Date: 2014-05-22 19:53+0400\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
+"PO-Revision-Date: 2014-06-29 18:59+0400\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
"Language: ru\n"
@@ -309,33 +309,32 @@ msgid "Failed to change mute state for device '%s'."
msgstr "Не удалось изменить состояние приглушения для устройства «%s»."
msgid "Failed to allocated required memory."
-msgstr ""
+msgstr "Не удалось выделить достаточно памяти."
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported input format"
-msgstr "Видео-устройства используют неподдерживаемый формат пикселей."
+msgstr "Преобразователь на устройстве %s не поддерживает входной формат"
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported output format"
-msgstr "Видео-устройства используют неподдерживаемый формат пикселей."
+msgstr "Преобразователь на устройстве %s не поддерживает выходной формат"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported input format"
-msgstr "Видео-устройства используют неподдерживаемый формат пикселей."
+msgstr "Кодировщик на устройстве %s не поддерживает входной формат"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported output format"
-msgstr "Видео-устройства используют неподдерживаемый формат пикселей."
+msgstr "Кодировщик на устройстве %s не поддерживает выходной формат"
msgid "Failed to allocate required memory."
-msgstr ""
+msgstr "Не удалось выделить достаточно памяти."
-#, fuzzy
msgid "Failed to start decoding thread."
-msgstr "Не удалось декодировать JPEG-изображение"
+msgstr "Не удалось запустить нить декодирования."
msgid "Failed to process frame."
-msgstr ""
+msgstr "Не удалось обработать кадр."
#, c-format
msgid ""
diff --git a/po/sk.gmo b/po/sk.gmo
index 2a761ded..e1efd38e 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index dcc889dc..a42d2a2e 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2014-01-30 11:08+0100\n"
"Last-Translator: Peter Tuharsky <tuharsky@misbb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
diff --git a/po/sl.gmo b/po/sl.gmo
index a29f61e0..e125acb3 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index cd7e0b34..36e8c914 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2014-04-09 22:52+0100\n"
"Last-Translator: Klemen Košir <klemen913@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
diff --git a/po/sq.gmo b/po/sq.gmo
index 3997c933..2d5d4dbe 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index ef2cd44f..cdd2dbc8 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins 0.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2004-08-07 20:29+0200\n"
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
"Language-Team: Albanian <begraj@hotmail.com>\n"
diff --git a/po/sr.gmo b/po/sr.gmo
index 05989455..eca7eefb 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 0931e5a3..83722217 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-1.3.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2014-06-18 19:56+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index 2cb563d6..078f6c7d 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index c6b0e85f..7fe4d255 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.26.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2011-01-09 19:36+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
diff --git a/po/tr.gmo b/po/tr.gmo
index 43c08587..aedc430d 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 00881016..36aa0310 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2013-03-10 13:05+0200\n"
"Last-Translator: Server Acim <serveracim@gmail.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
diff --git a/po/uk.gmo b/po/uk.gmo
index b484f6d6..53908cda 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 83c79f0f..078a8108 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,10 +6,10 @@
# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012, 2013, 2014.
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good 1.3.2\n"
+"Project-Id-Version: gst-plugins-good 1.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
-"PO-Revision-Date: 2014-05-22 07:28+0300\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
+"PO-Revision-Date: 2014-06-29 11:40+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
@@ -310,33 +310,39 @@ msgid "Failed to change mute state for device '%s'."
msgstr "Не вдалося змінити стан вимикання звуку на пристрої «%s»."
msgid "Failed to allocated required memory."
-msgstr ""
+msgstr "Не вдалося отримати потрібний обсяг пам’яті."
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported input format"
-msgstr "Відеопристрій використовує непідтримуваний формат пікселів."
+msgstr ""
+"Засіб перетворення на пристрої %s не може отримувати дані у підтримуваному "
+"форматі"
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported output format"
-msgstr "Відеопристрій використовує непідтримуваний формат пікселів."
+msgstr ""
+"Засіб перетворення на пристрої %s не може виводити дані у підтримуваному "
+"форматі"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported input format"
-msgstr "Відеопристрій використовує непідтримуваний формат пікселів."
+msgstr ""
+"Засіб кодування на пристрої %s не може отримувати дані у підтримуваному "
+"форматі"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported output format"
-msgstr "Відеопристрій використовує непідтримуваний формат пікселів."
+msgstr ""
+"Засіб кодування на пристрої %s не може виводити дані у підтримуваному форматі"
msgid "Failed to allocate required memory."
-msgstr ""
+msgstr "Не вдалося отримати потрібний обсяг пам’яті."
-#, fuzzy
msgid "Failed to start decoding thread."
-msgstr "Помилка при декодуванні зображення JPEG"
+msgstr "Не вдалося започаткувати потік декодування."
msgid "Failed to process frame."
-msgstr ""
+msgstr "Не вдалося обробити кадр."
#, c-format
msgid ""
diff --git a/po/vi.gmo b/po/vi.gmo
index 0fed5aee..262c0e01 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 5d73991b..e415f7ad 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,23 +1,23 @@
# Vietnamese Translation for GST Plugins Good.
-# Copyright © 2013 Free Software Foundation, Inc.
+# Copyright © 2014 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-good package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2013.
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014.
#
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-good-1.1.4\n"
+"Project-Id-Version: gst-plugins-good 1.3.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
-"PO-Revision-Date: 2013-09-16 14:36+0700\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
+"PO-Revision-Date: 2014-06-30 09:12+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Team-Website: <http://translationproject.org/team/vi.html>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Language-Team-Website: <http://translationproject.org/team/vi.html>\n"
"X-Generator: LocFactoryEditor 1.8\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-Language: Vietnamese\n"
@@ -41,7 +41,7 @@ msgid "No URL set."
msgstr "Không có URL nào được đặt."
msgid "Server does not support seeking."
-msgstr "Máy phục vụ không hỗ trợ di chuyển vị trí."
+msgstr "Máy phục vụ không hỗ trợ di chuyển vị trí đọc."
msgid "Could not resolve server name."
msgstr "Không thể phân giải tên miền."
@@ -248,9 +248,9 @@ msgstr "Thiết bị “%s” không thể chụp tại %dx%d"
msgid "Device '%s' cannot capture in the specified format"
msgstr "Thiết bị “%s” không thể chụp ở định dạng đã cho"
-#, fuzzy, c-format
+#, c-format
msgid "Device '%s' does support non-contiguous planes"
-msgstr "Thiết bị “%s” không hỗ trợ chức năng quay video"
+msgstr "Thiết bị “%s” không hỗ trợ chức năng “non-contiguous planes”"
#, c-format
msgid "Could not get parameters on device '%s'"
@@ -259,30 +259,26 @@ msgstr "Không thể lấy các tham số về thiết bị “%s”."
msgid "Video device did not accept new frame rate setting."
msgstr "Thiết bị video không chấp nhận cài đặt về tốc độ khung hình mới."
-#, fuzzy
msgid "Video device did not provide output format."
-msgstr "Thiết bị video không chấp nhận cài đặt về tốc độ khung hình mới."
+msgstr "Thiết bị video không cung cấp định dạng xuất."
msgid "Video device returned invalid dimensions."
-msgstr ""
+msgstr "Thiết bị video trả và kích thước không hợp lệ."
-#, fuzzy
msgid "Video devices uses an unsupported interlacing method."
-msgstr "Trình điều khiển của thiết bị “%s” không hỗ trợ phương pháp VR %d"
+msgstr "Thiết bị dùng phương pháp xen kẽ không được hỗ trợ."
msgid "Video devices uses an unsupported pixel format."
-msgstr ""
+msgstr "Thiết bị video dùng định dạng điểm ảnh không được hỗ trợ."
-#, fuzzy
msgid "Failed to configure internal buffer pool."
-msgstr "Thiết bị video không thể tạo kho đệm."
+msgstr "Gặp lỗi khi cấu hình kho đệm nội tại."
-#, fuzzy
msgid "Video device did not suggest any buffer size."
-msgstr "Thiết bị video không thể tạo kho đệm."
+msgstr "Thiết bị video không đưa ra gợi ý nào về bộ đệm."
msgid "No downstream pool to import from."
-msgstr ""
+msgstr "Không có bể dòng dữ liệu tải về để mà nhập vào."
#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
@@ -310,33 +306,32 @@ msgid "Failed to change mute state for device '%s'."
msgstr "Gặp lỗi khi thay đổi trạng thái ngắt tiếng cho thiết bị “%s”."
msgid "Failed to allocated required memory."
-msgstr ""
+msgstr "Gặp lỗi khi cấp phát bộ nhớ theo yêu cầu."
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported input format"
-msgstr "Trình điều khiển của thiết bị “%s” không hỗ trợ phương pháp VR %d"
+msgstr "Bộ chuyển đổi trên thiết bị %s không có định dạng đầu vào được hỗ trợ"
-#, fuzzy, c-format
+#, c-format
msgid "Converter on device %s has no supported output format"
-msgstr "Thiết bị video không chấp nhận cài đặt về tốc độ khung hình mới."
+msgstr "Bộ chuyển đổi trên thiết bị %s không có định dạng xuất được hỗ trợ"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported input format"
-msgstr "Thiết bị video không chấp nhận cài đặt về tốc độ khung hình mới."
+msgstr "Bộ mã hóa trên thiết bị “%s” không hỗ trợ định dạng đầu vào"
-#, fuzzy, c-format
+#, c-format
msgid "Encoder on device %s has no supported output format"
-msgstr "Thiết bị video không chấp nhận cài đặt về tốc độ khung hình mới."
+msgstr "Bộ giải mã trên thiết bị “%s” không hỗ trợ định dạng đầu ra"
msgid "Failed to allocate required memory."
-msgstr ""
+msgstr "Gặp lỗi khi cấp phát bộ nhớ theo yêu cầu."
-#, fuzzy
msgid "Failed to start decoding thread."
-msgstr "Gặp lỗi khi giải mã ảnh JPEG"
+msgstr "Gặp lỗi khi bắt đầu tiến trình giải mã."
msgid "Failed to process frame."
-msgstr ""
+msgstr "Gặp lỗi khi xử lý khung."
#, c-format
msgid ""
@@ -382,13 +377,13 @@ msgstr "Thiết bị “%s” không phải là thiết bị bắt hình/tiếng
msgid "Device '%s' is not a output device."
msgstr "Thiết bị “%s” không phải là thiết bị xuất ra."
-#, fuzzy, c-format
+#, c-format
msgid "Device '%s' is not a M2M device."
-msgstr "Thiết bị “%s” không phải là thiết bị xuất ra."
+msgstr "Thiết bị “%s” không phải là thiết bị M2M."
-#, fuzzy, c-format
+#, c-format
msgid "Could not dup device '%s' for reading and writing."
-msgstr "Không thể mở thiết bị “%s” để đọc và ghi."
+msgstr "Không thể nhân bản thiết bị “%s” để đọc và ghi."
#, c-format
msgid "Failed to set norm for device '%s'."
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 14250e2e..9022a5cb 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 50965d7a..060c5163 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.16.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2009-11-13 22:20+0800\n"
"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
diff --git a/po/zh_HK.gmo b/po/zh_HK.gmo
index 9d9ae345..e61bc8fd 100644
--- a/po/zh_HK.gmo
+++ b/po/zh_HK.gmo
Binary files differ
diff --git a/po/zh_HK.po b/po/zh_HK.po
index b7b62c6d..fd15c8cd 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2006-08-29 01:08+0800\n"
"Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index e4ccc0a2..16bacc74 100644
--- a/po/zh_TW.gmo
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 90dad890..2fb45c1b 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2014-06-28 11:04+0200\n"
+"POT-Creation-Date: 2014-07-11 10:49+0200\n"
"PO-Revision-Date: 2006-08-29 01:08+0800\n"
"Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
diff --git a/sys/v4l2/gstv4l2allocator.c b/sys/v4l2/gstv4l2allocator.c
index 416770b5..68ce9023 100644
--- a/sys/v4l2/gstv4l2allocator.c
+++ b/sys/v4l2/gstv4l2allocator.c
@@ -204,19 +204,23 @@ _v4l2mem_is_span (GstV4l2Memory * mem1, GstV4l2Memory * mem2, gsize * offset)
return mem1->mem.offset + mem1->mem.size == mem2->mem.offset;
}
-static void
-_v4l2mem_parent_to_dmabuf (GstV4l2Memory * mem, GstMemory * dma_mem)
-{
- gst_memory_lock (&mem->mem, GST_LOCK_FLAG_EXCLUSIVE);
- dma_mem->parent = gst_memory_ref (&mem->mem);
-}
-
gboolean
gst_is_v4l2_memory (GstMemory * mem)
{
return gst_memory_is_type (mem, GST_V4L2_MEMORY_TYPE);
}
+GQuark
+gst_v4l2_memory_quark (void)
+{
+ static GQuark quark = 0;
+
+ if (quark == 0)
+ quark = g_quark_from_string ("GstV4l2Memory");
+
+ return quark;
+}
+
/*************************************/
/* GstV4l2MemoryGroup implementation */
@@ -885,7 +889,9 @@ gst_v4l2_allocator_alloc_dmabuf (GstV4l2Allocator * allocator,
dma_mem = gst_dmabuf_allocator_alloc (dmabuf_allocator, dmafd,
mem->mem.maxsize);
- _v4l2mem_parent_to_dmabuf (mem, dma_mem);
+
+ gst_mini_object_set_qdata (GST_MINI_OBJECT (dma_mem),
+ GST_V4L2_MEMORY_QUARK, mem, (GDestroyNotify) gst_memory_unref);
group->mem[i] = dma_mem;
group->mems_allocated++;
diff --git a/sys/v4l2/gstv4l2allocator.h b/sys/v4l2/gstv4l2allocator.h
index 54cf1cbc..3f7b33de 100644
--- a/sys/v4l2/gstv4l2allocator.h
+++ b/sys/v4l2/gstv4l2allocator.h
@@ -42,6 +42,8 @@ G_BEGIN_DECLS
#define GST_V4L2_ALLOCATOR_CAN_ALLOCATE(obj,type) \
(GST_OBJECT_FLAG_IS_SET (obj, GST_V4L2_ALLOCATOR_FLAG_ ## type ## _CREATE_BUFS))
+#define GST_V4L2_MEMORY_QUARK gst_v4l2_memory_quark ()
+
typedef struct _GstV4l2Allocator GstV4l2Allocator;
typedef struct _GstV4l2AllocatorClass GstV4l2AllocatorClass;
typedef struct _GstV4l2MemoryGroup GstV4l2MemoryGroup;
@@ -109,6 +111,8 @@ GType gst_v4l2_allocator_get_type(void);
gboolean gst_is_v4l2_memory (GstMemory * mem);
+GQuark gst_v4l2_memory_quark (void);
+
gboolean gst_v4l2_allocator_is_active (GstV4l2Allocator * allocator);
guint gst_v4l2_allocator_get_size (GstV4l2Allocator * allocator);
diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
index f5c74c8f..488ade71 100644
--- a/sys/v4l2/gstv4l2bufferpool.c
+++ b/sys/v4l2/gstv4l2bufferpool.c
@@ -78,9 +78,10 @@ gst_v4l2_is_buffer_valid (GstBuffer * buffer, GstV4l2MemoryGroup ** group)
goto done;
if (gst_is_dmabuf_memory (mem))
- mem = mem->parent;
+ mem = gst_mini_object_get_qdata (GST_MINI_OBJECT (mem),
+ GST_V4L2_MEMORY_QUARK);
- if (gst_is_v4l2_memory (mem)) {
+ if (mem && gst_is_v4l2_memory (mem)) {
GstV4l2Memory *vmem = (GstV4l2Memory *) mem;
valid = TRUE;
if (group)
@@ -718,6 +719,12 @@ gst_v4l2_buffer_pool_start (GstBufferPool * bpool)
else
max_latency = min_buffers;
+ /* FIXME Encoder don't negotiate amount of buffers. If we can't grow the
+ * pool, or the minimum is at V4L2 maximum, enabled copy on threshold
+ * https://bugzilla.gnome.org/show_bug.cgi?id=732288 */
+ if (!can_allocate || min_buffers == VIDEO_MAX_FRAME)
+ copy_threshold = min_latency;
+
pool->size = size;
pool->copy_threshold = copy_threshold;
pool->max_latency = max_latency;
@@ -846,6 +853,11 @@ gst_v4l2_buffer_pool_flush_start (GstBufferPool * bpool)
gst_poll_set_flushing (pool->poll, TRUE);
+ GST_OBJECT_LOCK (pool);
+ pool->empty = FALSE;
+ g_cond_broadcast (&pool->empty_cond);
+ GST_OBJECT_UNLOCK (pool);
+
if (pool->other_pool)
gst_buffer_pool_set_flushing (pool->other_pool, TRUE);
}
@@ -934,6 +946,11 @@ gst_v4l2_buffer_pool_poll (GstV4l2BufferPool * pool)
{
gint ret;
+ GST_OBJECT_LOCK (pool);
+ while (pool->empty)
+ g_cond_wait (&pool->empty_cond, GST_OBJECT_GET_LOCK (pool));
+ GST_OBJECT_UNLOCK (pool);
+
if (!pool->can_poll_device)
goto done;
@@ -959,6 +976,9 @@ again:
}
}
+ if (gst_poll_fd_has_error (pool->poll, &pool->pollfd))
+ goto select_error;
+
done:
return GST_FLOW_OK;
@@ -1001,6 +1021,11 @@ gst_v4l2_buffer_pool_qbuf (GstV4l2BufferPool * pool, GstBuffer * buf)
if (!gst_v4l2_allocator_qbuf (pool->vallocator, group))
goto queue_failed;
+ GST_OBJECT_LOCK (pool);
+ pool->empty = FALSE;
+ g_cond_signal (&pool->empty_cond);
+ GST_OBJECT_UNLOCK (pool);
+
return GST_FLOW_OK;
already_queued:
@@ -1047,7 +1072,11 @@ gst_v4l2_buffer_pool_dqbuf (GstV4l2BufferPool * pool, GstBuffer ** buffer)
/* mark the buffer outstanding */
pool->buffers[group->buffer.index] = NULL;
- g_atomic_int_add (&pool->num_queued, -1);
+ if (g_atomic_int_dec_and_test (&pool->num_queued)) {
+ GST_OBJECT_LOCK (pool);
+ pool->empty = TRUE;
+ GST_OBJECT_UNLOCK (pool);
+ }
timestamp = GST_TIMEVAL_TO_TIME (group->buffer.timestamp);
@@ -1354,6 +1383,8 @@ gst_v4l2_buffer_pool_init (GstV4l2BufferPool * pool)
{
pool->poll = gst_poll_new (TRUE);
pool->can_poll_device = TRUE;
+ g_cond_init (&pool->empty_cond);
+ pool->empty = TRUE;
}
static void
@@ -1389,7 +1420,6 @@ gst_v4l2_buffer_pool_new (GstV4l2Object * obj, GstCaps * caps)
GstStructure *config;
gchar *name, *parent_name;
gint fd;
- GstPollFD pollfd = GST_POLL_FD_INIT;
fd = v4l2_dup (obj->video_fd);
if (fd < 0)
@@ -1405,12 +1435,13 @@ gst_v4l2_buffer_pool_new (GstV4l2Object * obj, GstCaps * caps)
"name", name, NULL);
g_free (name);
- pollfd.fd = fd;
- gst_poll_add_fd (pool->poll, &pollfd);
+ gst_poll_fd_init (&pool->pollfd);
+ pool->pollfd.fd = fd;
+ gst_poll_add_fd (pool->poll, &pool->pollfd);
if (V4L2_TYPE_IS_OUTPUT (obj->type))
- gst_poll_fd_ctl_write (pool->poll, &pollfd, TRUE);
+ gst_poll_fd_ctl_write (pool->poll, &pool->pollfd, TRUE);
else
- gst_poll_fd_ctl_read (pool->poll, &pollfd, TRUE);
+ gst_poll_fd_ctl_read (pool->poll, &pool->pollfd, TRUE);
pool->video_fd = fd;
pool->obj = obj;
diff --git a/sys/v4l2/gstv4l2bufferpool.h b/sys/v4l2/gstv4l2bufferpool.h
index 65486bff..8601a327 100644
--- a/sys/v4l2/gstv4l2bufferpool.h
+++ b/sys/v4l2/gstv4l2bufferpool.h
@@ -51,8 +51,12 @@ struct _GstV4l2BufferPool
GstV4l2Object *obj; /* the v4l2 object */
gint video_fd; /* a dup(2) of the v4l2object's video_fd */
GstPoll *poll; /* a poll for video_fd */
+ GstPollFD pollfd;
gboolean can_poll_device;
+ gboolean empty;
+ GCond empty_cond;
+
GstV4l2Allocator *vallocator;
GstAllocator *allocator;
GstAllocationParams params;
diff --git a/sys/v4l2/gstv4l2deviceprovider.c b/sys/v4l2/gstv4l2deviceprovider.c
index e49e7e59..8e366d47 100644
--- a/sys/v4l2/gstv4l2deviceprovider.c
+++ b/sys/v4l2/gstv4l2deviceprovider.c
@@ -438,8 +438,8 @@ gst_v4l2_device_new (const gchar * device_path, const gchar * device_name,
GstCaps * caps, GstV4l2DeviceType type)
{
GstV4l2Device *gstdev;
- const gchar *element;
- const gchar *klass;
+ const gchar *element = NULL;
+ const gchar *klass = NULL;
g_return_val_if_fail (device_path, NULL);
g_return_val_if_fail (device_name, NULL);
diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c
index 69990ff0..3b22b1ae 100644
--- a/sys/v4l2/gstv4l2object.c
+++ b/sys/v4l2/gstv4l2object.c
@@ -1948,6 +1948,8 @@ gst_v4l2_object_probe_caps_for_format (GstV4l2Object * v4l2object,
GST_DEBUG_OBJECT (v4l2object->element,
"done iterating discrete frame sizes");
} else if (size.type == V4L2_FRMSIZE_TYPE_STEPWISE) {
+ guint32 maxw, maxh, step_w, step_h;
+
GST_DEBUG_OBJECT (v4l2object->element, "we have stepwise frame sizes:");
GST_DEBUG_OBJECT (v4l2object->element, "min width: %d",
size.stepwise.min_width);
@@ -1962,21 +1964,34 @@ gst_v4l2_object_probe_caps_for_format (GstV4l2Object * v4l2object,
GST_DEBUG_OBJECT (v4l2object->element, "step height: %d",
size.stepwise.step_height);
- for (w = size.stepwise.min_width, h = size.stepwise.min_height;
- w <= size.stepwise.max_width && h <= size.stepwise.max_height;
- w += size.stepwise.step_width, h += size.stepwise.step_height) {
- if (w == 0 || h == 0)
- continue;
+ w = MAX (size.stepwise.min_width, 1);
+ h = MAX (size.stepwise.min_height, 1);
+ maxw = MIN (size.stepwise.max_width, G_MAXINT);
+ maxh = MIN (size.stepwise.max_height, G_MAXINT);
+
+ step_w = MAX (size.stepwise.step_width, 1);
+ step_h = MAX (size.stepwise.step_height, 1);
- tmp =
- gst_v4l2_object_probe_caps_for_format_and_size (v4l2object,
- pixelformat, w, h, template);
+ /* FIXME: check for sanity and that min/max are multiples of the steps */
- if (tmp)
- results = g_list_prepend (results, tmp);
+ /* we only query details for the max width/height since it's likely the
+ * most restricted if there are any resolution-dependent restrictions */
+ tmp = gst_v4l2_object_probe_caps_for_format_and_size (v4l2object,
+ pixelformat, maxw, maxh, template);
+
+ if (tmp) {
+ GValue step_range = G_VALUE_INIT;
+
+ g_value_init (&step_range, GST_TYPE_INT_RANGE);
+ gst_value_set_int_range_step (&step_range, w, maxw, step_w);
+ gst_structure_set_value (tmp, "width", &step_range);
+
+ gst_value_set_int_range_step (&step_range, h, maxh, step_h);
+ gst_structure_take_value (tmp, "height", &step_range);
+
+ /* no point using the results list here, since there's only one struct */
+ gst_v4l2_object_update_and_append (v4l2object, pixelformat, ret, tmp);
}
- GST_DEBUG_OBJECT (v4l2object->element,
- "done iterating stepwise frame sizes");
} else if (size.type == V4L2_FRMSIZE_TYPE_CONTINUOUS) {
guint32 maxw, maxh;
@@ -2129,10 +2144,9 @@ static gboolean
gst_v4l2_object_get_nearest_size (GstV4l2Object * v4l2object,
guint32 pixelformat, gint * width, gint * height, gboolean * interlaced)
{
- struct v4l2_format fmt, prevfmt;
+ struct v4l2_format fmt;
int fd;
int r;
- int prevfmt_valid = FALSE;
gboolean ret = FALSE;
g_return_val_if_fail (width != NULL, FALSE);
@@ -2145,15 +2159,6 @@ gst_v4l2_object_get_nearest_size (GstV4l2Object * v4l2object,
fd = v4l2object->video_fd;
memset (&fmt, 0, sizeof (struct v4l2_format));
- memset (&prevfmt, 0, sizeof (struct v4l2_format));
-
- /* Some drivers are buggy and will modify the currently set format
- when processing VIDIOC_TRY_FMT, so we remember what is set at the
- minute, and will reset it when done. */
- if (!v4l2object->no_initial_format) {
- prevfmt.type = v4l2object->type;
- prevfmt_valid = (v4l2_ioctl (fd, VIDIOC_G_FMT, &prevfmt) >= 0);
- }
/* get size delimiters */
memset (&fmt, 0, sizeof (fmt));
@@ -2234,12 +2239,6 @@ error:
GST_WARNING_OBJECT (v4l2object->element,
"Unable to try format: %s", g_strerror (errno));
}
- if (prevfmt_valid)
- if (v4l2_ioctl (fd, VIDIOC_S_FMT, &prevfmt) < 0) {
- GST_WARNING_OBJECT (v4l2object->element,
- "Unable to restore format after trying format: %s",
- g_strerror (errno));
- }
return ret;
}
@@ -3361,11 +3360,13 @@ setup_other_pool:
}
}
- /* For simplicity, simply read back the active configuration, so our base
- * class get the right information */
- config = gst_buffer_pool_get_config (pool);
- gst_buffer_pool_config_get_params (config, NULL, &size, &min, &max);
- gst_structure_free (config);
+ if (pool) {
+ /* For simplicity, simply read back the active configuration, so our base
+ * class get the right information */
+ config = gst_buffer_pool_get_config (pool);
+ gst_buffer_pool_config_get_params (config, NULL, &size, &min, &max);
+ gst_structure_free (config);
+ }
done:
if (update)
diff --git a/sys/v4l2/gstv4l2src.c b/sys/v4l2/gstv4l2src.c
index 1386333e..e1c0df03 100644
--- a/sys/v4l2/gstv4l2src.c
+++ b/sys/v4l2/gstv4l2src.c
@@ -464,7 +464,20 @@ gst_v4l2src_decide_allocation (GstBaseSrc * bsrc, GstQuery * query)
if (gst_v4l2_object_decide_allocation (src->v4l2object, query))
ret = GST_BASE_SRC_CLASS (parent_class)->decide_allocation (bsrc, query);
+ if (ret) {
+ if (!gst_buffer_pool_set_active (src->v4l2object->pool, TRUE))
+ goto activate_failed;
+ }
+
return ret;
+
+activate_failed:
+ {
+ GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS,
+ (_("Failed to allocate required memory.")),
+ ("Buffer pool activation failed"));
+ return FALSE;
+ }
}
static gboolean
diff --git a/tests/check/elements/matroskaparse.c b/tests/check/elements/matroskaparse.c
index 8c2482c4..13ef8d8d 100644
--- a/tests/check/elements/matroskaparse.c
+++ b/tests/check/elements/matroskaparse.c
@@ -75,9 +75,17 @@ run_check_for_file (const gchar * file_name, gboolean push_mode)
state_ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
fail_unless (state_ret != GST_STATE_CHANGE_FAILURE);
- msg = gst_bus_poll (bus, GST_MESSAGE_EOS, -1);
- fail_unless (msg != NULL, "Expected EOS message on bus! (%s)", file_name);
-
+ msg = gst_bus_poll (bus, GST_MESSAGE_EOS | GST_MESSAGE_ERROR, -1);
+ if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) {
+ GError *err;
+ gchar *dbg;
+
+ gst_message_parse_error (msg, &err, &dbg);
+ gst_object_default_error (GST_MESSAGE_SRC (msg), err, dbg);
+ g_error ("%s (%s)", err->message, dbg);
+ g_error_free (err);
+ g_free (dbg);
+ }
gst_message_unref (msg);
gst_object_unref (bus);
@@ -88,12 +96,14 @@ run_check_for_file (const gchar * file_name, gboolean push_mode)
g_free (path);
}
+#if 0
GST_START_TEST (test_parse_file_pull)
{
run_check_for_file ("pinknoise-vorbis.mkv", TRUE);
}
GST_END_TEST;
+#endif
GST_START_TEST (test_parse_file_push)
{
@@ -109,7 +119,9 @@ matroskaparse_suite (void)
TCase *tc_chain = tcase_create ("general");
suite_add_tcase (s, tc_chain);
+#if 0
tcase_add_test (tc_chain, test_parse_file_pull);
+#endif
tcase_add_test (tc_chain, test_parse_file_push);
return s;
diff --git a/tests/check/elements/qtmux.c b/tests/check/elements/qtmux.c
index fe215565..105b1e80 100644
--- a/tests/check/elements/qtmux.c
+++ b/tests/check/elements/qtmux.c
@@ -895,6 +895,9 @@ qtmux_suite (void)
Suite *s = suite_create ("qtmux");
TCase *tc_chain = tcase_create ("general");
+ /* avoid glib warnings when setting deprecated dts-method property */
+ g_setenv ("G_ENABLE_DIAGNOSTIC", "0", TRUE);
+
suite_add_tcase (s, tc_chain);
tcase_add_test (tc_chain, test_video_pad_dd);
tcase_add_test (tc_chain, test_audio_pad_dd);
diff --git a/tests/check/elements/rtpsession.c b/tests/check/elements/rtpsession.c
index 41408902..7c7b5688 100644
--- a/tests/check/elements/rtpsession.c
+++ b/tests/check/elements/rtpsession.c
@@ -408,6 +408,7 @@ static void
crank_rtcp_thread (TestData * data, GstClockTime * time, GstClockID * id)
{
gint queue_length;
+ GstClockID *tid;
queue_length = g_async_queue_length (data->rtcp_queue);
do {
@@ -415,8 +416,12 @@ crank_rtcp_thread (TestData * data, GstClockTime * time, GstClockID * id)
GST_DEBUG ("Advancing time to %" GST_TIME_FORMAT, GST_TIME_ARGS (*time));
if (*time > gst_clock_get_time (data->clock))
gst_test_clock_set_time (GST_TEST_CLOCK (data->clock), *time);
- fail_unless_equals_pointer (gst_test_clock_process_next_clock_id
- (GST_TEST_CLOCK (data->clock)), *id);
+ tid = gst_test_clock_process_next_clock_id (GST_TEST_CLOCK (data->clock));
+ fail_unless_equals_pointer (tid, *id);
+
+ gst_clock_id_unref (tid);
+ gst_clock_id_unref (*id);
+ *id = NULL;
/* wait for the RTCP pad thread to output its data
* and start waiting on the next timeout */
@@ -552,6 +557,7 @@ GST_START_TEST (test_internal_sources_timeout)
gst_buffer_unref (buf);
}
g_assert_cmpint (j, ==, 0x3); /* verify we got both BYE and RR */
+ gst_clock_id_unref (id);
g_object_unref (internal_session);
destroy_testharness (&data);
diff --git a/tests/examples/rtp/client-rtpaux.c b/tests/examples/rtp/client-rtpaux.c
index 2352ed18..8953e9e1 100644
--- a/tests/examples/rtp/client-rtpaux.c
+++ b/tests/examples/rtp/client-rtpaux.c
@@ -226,10 +226,12 @@ handle_new_stream (GstElement * element, GstPad * newPad, gpointer data)
if (g_str_has_prefix (padName, myPrefix)) {
GstPad *outputSinkPad;
+ GstElement *parent;
- gst_bin_add (GST_BIN (gst_element_get_parent (session->rtpbin)),
- session->output);
+ parent = GST_ELEMENT (gst_element_get_parent (session->rtpbin));
+ gst_bin_add (GST_BIN (parent), session->output);
gst_element_sync_state_with_parent (session->output);
+ gst_object_unref (parent);
outputSinkPad = gst_element_get_static_pad (session->output, "sink");
g_assert_cmpint (gst_pad_link (newPad, outputSinkPad), ==, GST_PAD_LINK_OK);
diff --git a/tests/icles/videocrop-test.c b/tests/icles/videocrop-test.c
index d95e9e4a..081fa60f 100644
--- a/tests/icles/videocrop-test.c
+++ b/tests/icles/videocrop-test.c
@@ -127,6 +127,7 @@ test_with_caps (GstElement * src, GstElement * videocrop, GstCaps * caps)
g_timer_destroy (timer);
gst_object_unref (bus);
gst_object_unref (pad);
+ gst_object_unref (pipeline);
}
/* return a list of caps where we only need to set
diff --git a/win32/common/config.h b/win32/common/config.h
index 4265cc3d..c59a76b4 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -58,7 +58,7 @@
#define GST_PACKAGE_ORIGIN "Unknown package origin"
/* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2014-06-28"
+#define GST_PACKAGE_RELEASE_DATETIME "2014-07-11"
/* Define if static plugins should be built */
#undef GST_PLUGIN_BUILD_STATIC
@@ -372,7 +372,7 @@
#define PACKAGE_NAME "GStreamer Good Plug-ins"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Good Plug-ins 1.3.90"
+#define PACKAGE_STRING "GStreamer Good Plug-ins 1.3.91"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gst-plugins-good"
@@ -381,7 +381,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.3.90"
+#define PACKAGE_VERSION "1.3.91"
/* directory where plugins are located */
#ifdef _DEBUG
@@ -415,7 +415,7 @@
#undef TARGET_CPU
/* Version number of package */
-#define VERSION "1.3.90"
+#define VERSION "1.3.91"
/* old wavpack API */
#undef WAVPACK_OLD_API