diff --git a/ChangeLog b/ChangeLog index f8a2bc53b6e9b196d75ff71454211842e26f82dc..ffd52376a39762d357a82af92b000565da11cca2 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 53f65c4736574a11a0ce5afa6b45442dde5cd60d..01c90974b3b45b679ee4ab40fb14287fbae09082 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 ea07e5699e9835cb491c60bd9b586b900d129ad3..56c33517300d724a2d689112452ff3e9b3a6c4b8 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 45edb37181a105aa5eec18d3f2ada0dd1b83622d..ed47d0cf98e8f77c59739ee67920b7a9f1e14a0a 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 9373ad8aecff9e6ac3e397fb31200073e42bbdb4..a762ea54b0b34c4819e1a42c24beccf106580b63 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 ffa2093228343ce79250f0dce688bca22104a28c..457edfab97a0ee2e8224991c9f99a3e702969fd1 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 ad5b3cba09b6968b8439caf6fa569bd44a40acaf..2e4b6276d2facaaa34a50a2cc0923b30517c8be7 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 78f921fe2a1dd23d7f7eb39caaf6a7011383b424..799bc20e228f0046dcd35da2b0f3b12c0a1bbc2e 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 45990b50b77a3e295f89a16cec52a02b06089fd3..2dbf3eaf55b1918e03d13ad0dc46040c5755f455 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 207fbeff6467d5764f9666518151ef2fef821ff7..36a84bc728fcd71ba5677e7644a536fb2b6b11bb 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 91e2156e7858570d3deb87009522841146ebcdb0..644c57377a39c9116f2f187585e55686f9d2cd80 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 7f569a3392fb6fcf3b6309ea6b5fb12fe1bf2fa0..96401568190ce74c18ed09a175da7f84e0d01cae 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 87c5a05fd52d73840201d0dc90eb5460b1c6c899..cf74310d8735a956ff71a143db6d31d94ec3f7b8 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 f66e1f7ed49a775e08b9edfd26ce47283fe46460..f5d629211b54d274467021b1de4d1a713f98e54c 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 1b9f18e0a0a703a2aa98ae6cf1ac04ac45cc61a6..bfea0a7174ebfa4988fc8abe6413f465dd2c747a 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 8c086e291afaeab8634e58bcdbd05629786afa3e..fe85a82dcf3564f144ad20b9da9b66ea66ae0fa8 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 163284e83ab5435a417d428367a99570b6f5118b..b2cacde1a6279ff69d73b10484b87a5535cbde2c 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 6bd6efd1253d7918460f9acb5551dd4ee81415a1..b5f88375aeea2cdb9e58f766f4d84d53c5ec7e5e 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 2a1a6e664eca3aac55acfd6d02192cf0cb071d5a..e0f7fbb4a882b4b4a899e3b16b2834cd1644a147 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 6729e8fedc61b02eac0f3f13661adec9e68cd161..b2214892c1e3ee7efd50c282942af9936f13ffd7 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 93391bb9d9ac52db9ba0885ed0595e78821ecdf6..56e4a240d2f977b4f8a30a592daae85e4770cdfa 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 3031e8a127fb49c9c7443044fa3207d902c83b87..b53b7e3d17763e1b006ec0370acb41df35883232 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 7b83ee96d0641e74e197cc3a324b3036d0787f9e..8b80f8c36ae4a271a3f9deebe7315a17de0af690 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 de410e4ad95bbaba81050a0c57ba9c29b00aa354..1314cb69f667e6bce32a53c1be056de32ba954a5 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 60d751ff94375aa6f3bd734f6536295f3aa8dddd..5dce798c457cb0a821902a5b3368f4407a552cda 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 b6c780b9e22bee2180d317bda26c4175a5274157..2f08349f26e5654a9747e6f9f454fa90a5f193c3 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 85dda917f95e56bb829ff7b844c50b041df15615..05ea4014f7477cb294ef516579bd1fd555691f0d 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 797d45948ef8c93f94109576253aac4e6d482c31..3001c3d615f40a389ebc1c5ea06e5d2cff37457e 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 de2cd750665ac10b9f233a1baa81379672aebc4d..6a680c2fee251a56d10b04a3a1320329967b7d4f 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 9ebf5c3b3e0fa69b72acdd59985ec7902ffe00c2..77067e9763d6a375dd8d4528fd4e1fcb48caf263 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 26665a22f2ace522249a7c87bbae350c814f8812..ba66baea940feee71e1832b1a9fedffdb10fd8f6 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 a6f9d6a832b5ae3852242af27f8574f3cdae91e1..72023f86574db0fb55b8434b106aca1c2cd1a9c5 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 533edc367a9ebce80a4af854a2f8b22e54f18691..d4bb0cafc8efc5eb124dc4704f40618b02333b25 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 a5c94f982767ce9036aac08eb119dea03e34d181..831e2774ced3edcb230edbff47f9706bbe7fa56a 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 ed9fbde71b7e1e906dd0a7eda5e7d01d0ff359d1..5af217ba87069f8c440081096a48212a28a7b2c6 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 4047d42de7f839445c9a7c7af69c16a1101d4d16..58b340a558955aa46612ad5bfdd4dffbd86d8cc5 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 16d24f6d8ca8b3a7aaad9b4e3f2e9190668c4259..5eecda03993aab31f42194f533eb638f2ca6f0dc 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 75390da5890433a7d3bc1c0bf66207213d6630be..9240a45b0a0c5ad57afca68e0badb7e792de6126 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 fdfa61f85dd1b3648febefed0947128224bd0df2..f11d894e3501b994f8be460c8d751ca963cba011 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 a81f7a14847da5a0166f5ee9990fe582dccdd57e..a0d624cb786914db5750353f7dccd9a78eaa5813 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 35c1b201fcd4ee7bfb557df774201a2da5955bc5..3a6c65d5b9d74f5623d32d602df4e37ecf9a64c6 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 ea4677d9bbe715d89890125778b71951f4b42391..ed50711961a436e19aac7ef335f360ccd3e5fed9 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 81bedd94674fef0784ba817d3b59423d843d01ef..e1d87e9b92e4b0bf4f68af5ed9c865f24fd67692 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 66bff8bba6f6b3cbc176dd40d1b811d23ec6a6f7..4f353d71c0b655e8bba51ff63b50ef0b37f8bd9b 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 fb6a110f949fb3b14a8267d9b9a46d958114733f..794eaa76149d02129c6df2138dc2b7084eebaeef 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 93a5ed8937fae283b662a8f7a0f7e54584ffef6b..64c33a5a9b21a15de45e637d96d7a3ec576a7872 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 d3235ed85215036cd70bf139fddc3e0c075fe128..7f4e67746bf63cfebb300b89245d7707e45cbaa1 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 62ced3f274014459cb447fa9716312355fdb305e..3c756fb9b66d43ad0f9fef204e3cb3853d46ccf7 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 a3a4e79e9df1bd1aff4c1cb69baa78dc042918e3..3ee2fa3f17881c93778fa2707d62cfe097c1b38c 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 c4d5ecbfb528545cf41ae2a8943a0a1d6b27d46e..a6c3625b63e420ffb9c79a754c135f584f2ebede 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 bf2623c0ce37348918c87197133a64a9d89273f4..ea982991136a8dd550e64ee9b35f4ba79dc96b92 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 80918747b8d7ce7a03c5f6705e3ccd55e41221e7..5bb2fb05c0df222078a414ecffeaa960f14bfb1c 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 c16bf16cf0b88a8d0f286d44118ab16f101d9f14..5c0dc721fb57d233c69143f7cedbd709755004ef 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 5cc159974e7e26c50686042fde7ba8c12642e332..2588de5702b1e9d94271a7c72975e784882675c9 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 361ac5bbd4b7a037f70c640e3c20410e094e234d..166ad7cb62d5d8c4f6c4bf3c31d0e3b96edd0a77 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 02a3fa61a97290008aef0641ef212ebaa6588bdd..f9e1c295296a10f767b2a89d5a281a264d1a903d 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 b433e469c7e7781257ec1cb876f9a32b495a7e75..c14bd630ce179ae11835d872d93002381a284e08 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 224c6d46a1a47c9637fc69371ac9337a2cd4d211..80f0eee2c3c49099e59343512f2308c4f551c8c2 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 87a8d583b5d7ab9a740dcd55fa2afddfe01e4705..67155073a3ae8c1e1fc3828daba3c38ef2ec5e7e 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 d795e74269466ddbfab75cb2d112067418c45aa6..643efb1f28efeaf430b42b28bcba675f5edadcb7 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 c6268680f31c1aa880dc92890a016661ce362a7b..de46287c64e5f42e0b3e3720ee20b37e79899a21 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 af3781aa965a5dbc4f156a93111c7501dd848ddd..d2f5d95340e3c3bfd67d97cf9fafdc6bd019cecd 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 89979d13a89e29b9565d1344fddfc4061833b7d7..fd1e8091713908055e1e67e2d964d5ce369f168e 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 00e5cff614b6b62a73ed8bb22b05e397c0feea94..6710197002e0bbd10115eab9c98a12847bf02de7 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 0fd270190000cefd008349bb903c3ae55578945c..6ff0c9e91051c7807de7b4b7dc76859f006b09fe 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 f7c86778f420d3aa97ba7c5429a6a54effa249c8..964bee7cfca68657dbc62c41eee650f9f8bcea57 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 76fccd2b78017996a31963b10f85bccd97d2db79..2b833fad3685a2656629677592d7aae047631d90 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 742802a81c9fe49dee64566106018bf1677d2f54..559d32f46fd68a3e51d4623ad7dd7a42937c1b61 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 9361c4c2911af7ca827778b1f20cedf98b341b5b..8fd4ddee096ccf2b5fc74d3b17c7002095f63d0e 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 a8845fcd67078dd21e4df16332907321864b23a1..e00124f47f406b0f55ac65e2839a12f211c0a1c1 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 ac8768d0d950a9ba20d318d3862878cb7a13211c..3acd2039ac430d74f38e0adb3ce7c6dfe4e6f096 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 ce5edcc22cd0deeeb11f146a19ab836883ef4e56..7ba7cbd840e604348b69f59b5360a7df67a20cab 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 e301926ba2edbe98ab929cfbcf09fbf760d5ab8e..7f5cc7f967f89873304e94022a5125c14e75fa13 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 2942e4bbcd8aa7bd11ed09d6ba66e3222cdd1123..3a4c5bf7d313ec5c89bf68196d3d84d483e74171 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 6b5aca18f0dcf965f2ce2b12ecdeedf081f31e3d..2f33e6be1fdb595486ab1d0d12e18aed21d7502c 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 1f8a7c7ef9ac4a3446c34052fcab33c7e1720aea..8571b2ed258b6055b43c80e86af9d867cdab2e70 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 f74eb25cf62f83cb67535090183daf619999e0dd..15c03c220dc06722997e51864a92fe2bc33dbbf5 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 7daadd28a6fcfc77a3f1d227d80bfe6fb3cabdd8..7b6e01ecc6142383a6ec361e8217dd58f6c6cce6 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 19b803e14607d6b0eaecd8a6b21a994c06c271c6..4ab7ff979c2e19cb977dfa07b92dba9fc4bd7fdf 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 7b50c6e92358f5e770232aebe3fd1211787eb960..2d3c9f8bb73e18f51ff28a7da2515d739f065aa3 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 2a2702905cb318702183bca75c9b98ba86ad0802..1916c563e470bd52e5ce1c9a2828e4dfe490f75d 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 4074c5eb4b6e293c04afb6489907f91804316bc9..a09efa432ed3b2d42c74e8a2c081a2a0e9d81652 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 53a90e2d23bb6686516af39a28713338f5faf3f7..2c4e657e5515b2db571fb8e524f1870403458348 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 33c648d9ba874655b2320d053e41bf1a0941433c..791b069c4c52f9eb3c3cfd9a6ef4308c5e62ff32 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 f2bad96486e5ed98b28a405019f868797c82c36e..068e23c55f5ce74a175176361021bd3ec105bd38 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 3b23e8876c49f58dddd1239f5761719ac8987505..398f92ef762feef436169aa6592ecc1100591e6f 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 ed89b2cb588d7c535046ede903a5c16c98bbbaca..83cbb209cc07e12483880441655ffb1319b17427 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 ccd56bd0d5aa9ece8d10804803f0d141c5e7ecdd..5d66bc7a19a2d0693edc73fccf898c3ce3a77f93 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 93830e12ee34b9e83543942d13fbaee8324a30ee..2e1e460258f7f30c92ba89eba52eb75889be80d7 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 1a84472b2b26957f89ceafe71e0fd10d749186f7..5a519e3b7bcec7ef3393ef02a2cbc5b5e71dfcbf 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 bfd8d7b165bc6d02d92d011d14e1aa81c991abad..9c963e731f7db8875e66b5c938fce282eacc7dd1 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 c54382d4d7786fe5f4bd5af4af4a0820cb2f3482..2290cd39ffac9790c5fbd55fbf019c90c602cd36 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 5c88958e23cc6341f7c65ba386e340ac7ec12021..a94fc1ab116fb256e6e32d9c95ed7bc4c1f52904 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 a797c0d57021871d91f1b54bc261fbdbcf4a9e87..ffa00c947f828dd7296e1648fee50b4ca6864933 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 91d61f633063795ba927d98e637316cea6134f57..1438406f9f47bbf1ecf758a2d95b535536ab8057 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 ea26a9eb34aadc3ab9c88df425e543c6542233ae..1a3c225425406c6b65d875994097584d5db4a570 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 702bbac1866c819eecdfb565e19fe43143d35705..07bed34d173a3b3e8703414cf9f55b4cf945f1a4 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 97fb8ab9a796602e78e2d816c617e721653905da..c93f4f115aee15891d9065c948a50570015b5ee0 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 4a9c63fab50b4b8b3b814e1d8110a3aefbeb16c2..b41c3f780486b71bab3399e1432897bd06456747 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 973ff39d39b7f4f92496829dc58e715a77bdbae1..fd2f75c1a5e9a3feb01ff1fe6965c2e8c5b35921 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 40b5fedbcd1892b58986ab35e39b4ab16b337aeb..73f902b9a6b1f38f6b580cc095063a959fa21891 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 de9eac56c601c9cff4351eadf7bd470bceb5c77b..2b5cd8b2fb38c72ff83490dcc6383b5326f068fc 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 2e8183cfc13ad05638aef6b9a1490ea8c61a7e61..42a5e40fc6b394e7d90cc2dca10a2757647eef89 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 1c7811734efab58368887819553f4d2a1e7ee35c..78343c2dfec9fb9133e518bebf8ab8661343d3c1 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 07ab61b300633f3fff36559911c939c7e69483c6..aad841f3dfcee49106a87446db19f2349b58941e 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 8b2f8158bd97946d61ed21fdcb8eec3189dded22..7774d73bdf0836393866ed1f3fcf9602f8eacd00 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 926bcb8ca70a49af1d00b7248a7d8cc300e50dbe..c8e38fd18268d76feaff28f2b64cf01643dafe34 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 d5bf826d9ce373f41c7b3ea8ea7ab5c12f5a423d..517b13cd53477a0ac87d65df0b56b63cbd892e60 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 2f0714197b1dc8ffb4d53569c5d478c0fe310120..59114fba0c4049be3a16344ab259fc4d6d09645c 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 97e18762e0167dd71f145b7c42f301fde18d1fa9..df41b962635d3acf42e1e4472a8b2770aa3a7b96 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 36ed585d174b8e495d7651f1c449dbe552a0aeb1..74c130f03b1c7e696589f0f38810afacff9d563a 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 3e13361154120c5683e8bcc42b7b1df129f94753..a33bafa0f1ea46c877c391b2c522c2dd19c56f0d 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 efd10e9b870bd8f402417bcb887285c503a8a091..4cc45f7ca5b4d14950bd2e452249a5fe8e77297f 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 11ec9989a8117d9beb1b536c71bc8dd26ab62126..67a3b47f7837d65f1ee053bb5561094ca33b7f33 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 92bd986b647577f0237dd4b92913ba8bfd31fe0c..2d247e2817724a07127fc7c6c63cec5f58fe051f 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 a2a18146664ceb0b15ada337801ad250357bab97..4e9baafa3cff4d4b031219f073c51f814a4ba442 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 a6cb81a6b7ffc77a0be2224cf9db2b316f4095c8..d0e036866939ce10566928239ab7035b9392fd8d 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 be60c1fa305f6d82f0f66dec4fb1aec9cf73ef44..4fc6c491d5300c14989658cb5b281d193f778279 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 287cfb6782acddc3de8afd1e6de80b8a57a4a123..168650c15b2e35afefa3bf5d815e1990c18fba89 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 e4051b0132809d412d6a608290351d351e8a17e4..c24c6a164f1db74cfb2e41843926d01649e84f13 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 a8ad1717ef466d5b733a9fc5fabd6dfe033bc76e..d8846d5d83ac66c734129afdd356ac2be88cced0 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 9d5e1d5f776908ad467c48a913b823b9b8231830..6365571cdf35a07e15b5408f311fac871f3591a8 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 9433dc60b981d924000636fafec528200bf22a48..870ab8ad5b1ffd0c37b5c13559bcf566878779ad 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 708e8bbe930a923da6be45912aba62502bb7dd1b..233d86127decbf285534900534926fc3839f89ea 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 f458aeb04545233cc1ba20d13dde1360088a84a3..586f7b15e96b65db52276b3a80a98f086a9e733d 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 a702cf47eb6c78518f10bd816dd0f91c48674941..7cc042e79a524a505b8e81b97bd012fc2fec670b 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 490eaefb62a39c62be843b5f93670ea419becf26..cdcd3e9531a0ea6698c7b6b791d8782199ba946a 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 e54ca48f7087b4a7d720b1cad9a5fd829e3a30ad..2741e2cd09d468c96e3a3971c5cc30e68ac400c1 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 f8d7b86a1aa25f9cae9b8b5c043a4afc5a04acaa..b3d1f6471c35e6db254f73f77f9aa563e03d7c3f 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 3e743cdd982ebd0aff1cde28e53e908132036219..fafc14b858237c22694fadcbe597fcc4900806a6 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 587739e70ea2cb58ebe25802a96d6c7bd878ac54..36510be4ac8864447ccc35a5244249394fc68fdc 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 58fa1b6664f3a517a6632b7b6b6e887e998b273c..354515c851ee2551da5f6d5585e34768882038a5 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 f6210baba4ed291d016840f263dd04f8fa386f1e..8055d34434bfda03a792aa6ed3e83a3b1384e5bc 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 d5c6d0b73897aef5d7f119086c19c9fa59c1bf25..04d188eb0bee73c9cb8989c85900d421d822456e 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 9756359485f77a1c86c31c14cd48a7334d335896..6430d094db92ecf94b5192499a65c5ac8361becf 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 abde3c9baee9b61298589d52107a0f23b7b51349..1fd45965ab0f09722049199b2dba9c6ca6cf675b 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 4d11f131d06518df946e9be529fb788dd248610a..a5ab7c4dc55f41d8222a6d69e8cbfc163d4f2cda 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 4202e6e2b2bc9901436aca1886aa8c44857bb290..0f1041040c125de2b43a40a19c27f83cfecb3ccc 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 8e9170096db9dfac8d476b8d50d47207c703b1ff..c96488cd58b5cb2beea6397e2eaeb15b605cfa99 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 7fc54d90d0a75b1eed4d991435e9b7f83f5683c0..95eb4b7f0869af09e93502b0666385408d6d0090 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 95cd5cac32c8d8d2ed8a88a22ca1f26162c83782..48e1fd8dade7174ea21ee7aba205057cdf4d4a64 100644 --- a/gst-plugins-good.doap +++ b/gst-plugins-good.doap @@ -32,6 +32,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library). </GitRepository> </repository> + <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> diff --git a/gst-plugins-good.spec b/gst-plugins-good.spec index 1e5628099f1bb5dc797347771c9bafb0057b1eda..14d8faa08b99792392f1cfafa17453d3c3665296 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 e60b24c86ab35729197a5ac5e259ba7993ba9381..2859386cf7e6db9ca6f939a0593b546fa32aa7b5 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 6970eaa515f79d9121bb4abfaf783a0125b2a4df..59aab7e1bd7ecb4da9a97c64011178df3502448b 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 03b06aed7bcf55a54a9868890449b199d09eeb44..05ae89fe5fcee4993966853861ebc87efec433ea 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 90018ac6d7a441e7306e0fc24444a5f6397aaa86..854c641d87e76fb9ddd02e7917ca7f0f8fff72bc 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 c84ffce87a72c41d682ce0be3453bcab49e1501a..23e1437cdaca5c7285cc890e5ccd9e544d35d25b 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 69a42464b7d0d08e564d0a213e91d24c20a870e8..93e77e7f098f2d5917a54a4182f3b58f3ef4a280 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 63ecfe1b5c1d088498f232547446217b6ec41ce5..adef916bc68fe80bfc2ebd29e0ece99d880426ab 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 76328fc0edf7b8398221930e7e0fceed53d9d7f3..8c76cd035936f95e0c2c811c8d7416260d5a9ba5 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 4d3cb42167f558d89ab6a3cab90ff430121c7592..1eeef5cf68a69a77195eda745902e792cbfe912b 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 9cc7d6ef03b8d8c85909173f6a2772920a133bc4..9b1b86a9f4fffa2656a4e4c0ee75e10d4eeeee75 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 5395567fc0d88545814b826b76df2aeccd6cdf32..0f4b23cae17be68658761e9d5c44953d0f497304 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 caeed748ef9197694e880ed3b9988c66d4393923..e7573c7a2b610ae5b1881477676b5ef829e90326 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 96a9f70b02bb049c18df7536b447ec945c63e911..c46bd563abd962aa7fedb092944947c2d455ab3a 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 f926a44af944913023a93e4ec6fa8da984cb38f6..7cc5d5ad77a0015c16c8f91764e8bbac26edc540 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 53e192d888cc3d94e11b18d0fc43d630938f856b..05565d7c60176f530449b428a327dde8749c1c30 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 b83b28ba14dc396c960faef84bbccf7fc8b90074..e27bc0a8b7208926fcfb8ad293582f27c03a3d1b 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 f87f4b76171d947dbf12fb474fd7dc9426a69376..418005edc16212241acd3c3152f390c7dd8d5bdd 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 b8002c758fc738e7ededcd8a9f5888c2748cde41..80a4a2dfea12776371d967cafa15fd5babce2e38 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; -#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; @@ -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_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_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; -#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; @@ -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_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_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_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 + orc_union16 var51; + orc_union16 var52; #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__) - volatile orc_union16 var51; + volatile orc_union32 var53; #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; + 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; -#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; @@ -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_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_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; -#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; @@ -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_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_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_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_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; -#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; @@ -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,97 +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_VAR_D1); - orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_C3, - 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_T4, ORC_VAR_T4, ORC_VAR_T1, - ORC_VAR_D1); - orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_T6, + 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_T6, ORC_VAR_C4, + 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, "subssw", 0, ORC_VAR_T7, ORC_VAR_T7, 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_T7, 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, "addssw", 0, ORC_VAR_T9, ORC_VAR_T4, ORC_VAR_T5, + orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T6, ORC_VAR_T2, ORC_VAR_P3, ORC_VAR_D1); - orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T5, - ORC_VAR_D1); - orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, 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_T9, ORC_VAR_T9, ORC_VAR_T1, + 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_C6, + 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, "subssw", 0, ORC_VAR_T8, ORC_VAR_T4, ORC_VAR_T1, + orc_program_append_2 (p, "mulhsw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_P5, 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_program_append_2 (p, "addssw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_T1, ORC_VAR_D1); - orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T10, ORC_VAR_T7, + orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1, ORC_VAR_D1); - orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8, + orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1, ORC_VAR_D1); - orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9, + 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_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_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T9, ORC_VAR_T8, + ORC_VAR_D1); + 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", 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 @@ -12073,6895 +11353,11 @@ videomixer_video_convert_orc_convert_I420_BGRA (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_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_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_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_VAR_D1, ORC_VAR_D1); - orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T5, ORC_VAR_S3, - 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_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_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_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_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 e0b935f62a7c7042193b6204fac3b65d36a9d4d5..ad35551f4fbf77a63e7a59d659d6c9651da758f3 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 7ee7fef4a212fd6db129e026ab64a4bc1606fe35..45e0f565aa54ca6d5f370d37dd27e8cd8283b5e5 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 fa82cf969e75424837e2504b98596f1c87a30864..9f62fc7ac4876b17d4af00f695c89131e43b29d5 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 167e4ba7eb0c54de90baa18f926f317ab848042a..28d206395f91dd199100fc5ac8ef1d3897fbe18b 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 70e08942b777af72646891f80840f37f1f6752cf..77556387803ec80b7d32fbb634e9fe0d37db7362 100644 Binary files a/po/af.gmo and b/po/af.gmo differ diff --git a/po/af.po b/po/af.po index 20a44454a0fee844184581152a1827029298d88f..13efc7349031798bf1c972fa0d7530b43c871eda 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 e2047116b395d963334447a66f89f1c65b71cfde..b093b19be22d33989a83b669dc0680f6439e6ee6 100644 Binary files a/po/az.gmo and b/po/az.gmo differ diff --git a/po/az.po b/po/az.po index a28d3867661d8713f984db3284f91ce9e1b294d0..a52af73702aacf94b3a167a51ca16e9bbf86af13 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 15746e25ec79bc3d2897151683a3a8059b560d1e..a02546dd6d59d8d32d146f90d945b6e4be9ea803 100644 Binary files a/po/bg.gmo and b/po/bg.gmo differ diff --git a/po/bg.po b/po/bg.po index 30864aa346592fb55f83315082546480589f9abf..8ed1c82967c1129aba3f5422d9317affb5540bf0 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 32b90707ce027dafb22442e85f832b10652e65e0..2332d8bacec46a1595a1750b0020d2d4a6b3b3cc 100644 Binary files a/po/ca.gmo and b/po/ca.gmo differ diff --git a/po/ca.po b/po/ca.po index 388d75dee55e8dbe709a0f34a74aa4f0941b0209..c7919a7c2ffaabecc086da87fc30bdf8bdbf89a4 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 8ae3a511982fd649b42c2c2557569240539dd91b..8aa63fdded776ce61316b1d72ebc7efecf70f931 100644 Binary files a/po/cs.gmo and b/po/cs.gmo differ diff --git a/po/cs.po b/po/cs.po index f5de00a29c9b67c7a3ed86cce2b96b062dd4b048..15c7ade4a29834bb446e3f16e9989b4961938cce 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 4aee176cc15f4da57dba4c15fb8981569b996b10..8fe6c10497448a862b185dfeade777ad833f85a8 100644 Binary files a/po/da.gmo and b/po/da.gmo differ diff --git a/po/da.po b/po/da.po index 8159494d0957c45a0add8497b033b67b6fe74023..0bacb11b537151b2ee5b362e128de9aa156beb77 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 ccf69fa2c79bf646e9b94334c2334520cb0dc46a..8c0d17457ad114a715ff724840c54b5861587b0f 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index b99f5b8ead1928a865f412f707f83409f48e38e5..54de4694b001cbdb36c817bca58dd00ed82107eb 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 045d4287201e6053e1159fc6f28eac08b7d576a0..c22c28cf11c84ddf6a004028e6c632fbd41b0ef3 100644 Binary files a/po/el.gmo and b/po/el.gmo differ diff --git a/po/el.po b/po/el.po index 03815abe7f1352f398af2a23482a6d6b558dcd0b..c53d1fa9c7298a936fbfbe23e50300aff30b5365 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 e22ba79513ee2f84b582d278dc9b534524482d94..40f1c28b1894931b678214a631fcf7f255dd04ce 100644 Binary files a/po/en_GB.gmo and b/po/en_GB.gmo differ diff --git a/po/en_GB.po b/po/en_GB.po index 3efebf94f3c8c4254605cada77f97e6c3e7d24e1..b5ac0dc36bc0995042ab3399ff0379c662564387 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 f15901b0cc9400c955fa36c435996122b336031a..adf79db4746a570f386bb0bce1bc0b33f45408f5 100644 Binary files a/po/eo.gmo and b/po/eo.gmo differ diff --git a/po/eo.po b/po/eo.po index 9d10916c17a001d2066827a6dc1a4e51f715db3b..b221c69aa5a3e6479ec39ecddc1b441dc1b2300c 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 feda9b7a37d925c20150cb299aa54c52271fbb76..2c0db993432a00a34d1abfa88be06b90a6bc3c32 100644 Binary files a/po/es.gmo and b/po/es.gmo differ diff --git a/po/es.po b/po/es.po index 0a87f945d91165973f7f51a7552104c1f0d9a4ba..8d3e11ab688aa603e49e63a46a7130266755d331 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 8c0d0d724a0e4e23f20cb120412beb22f6f8aab6..764da413c431e274d596b203159d847dd12cd2db 100644 Binary files a/po/eu.gmo and b/po/eu.gmo differ diff --git a/po/eu.po b/po/eu.po index 5d062a15814c6dde6b17bf83c08f86008cc59e92..2dfe4e14df2bb2dd3e1a10ed157f611fd07f8188 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 2e660ec57a9c869bc15e2f96eb4ffc770cee5fd3..679a245a481ce934c0884677ca314ca1512689ed 100644 Binary files a/po/fi.gmo and b/po/fi.gmo differ diff --git a/po/fi.po b/po/fi.po index 6cb1f40180cfab709008e6871f8bfbec44cd5c4d..6898ee2bd321ffdfad189e8af2e3c33b4174895b 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 0f75f6b86cb3dda002c8c34f5adffaebb0a24aec..3820272627fd737fa41d875e7bb65c6a55adfb16 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 9785ec593ac886065bd63dc4d83c24923877d871..84db64185b4907cff4473e3b75b0934a03d57639 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 4774953517aebc247398d722be108d59d89a92af..e64f346da5cf9290dafab8754011b32308cefdcc 100644 Binary files a/po/gl.gmo and b/po/gl.gmo differ diff --git a/po/gl.po b/po/gl.po index 2b0ba94c11a59a3e54cc7961502b5ddab7364bf5..f2868bc5416e31ef0aeb56dbaf1aaee7c8c4184d 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 3419962b5c856488dd54648a5a0a2c350f564713..985880a6de7966ce46c2fa02ea995e8d1de8d358 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 8a66089419882c30553a19182e3f76b074293813..455480f10ce3c433f5db8e4d4eaf8b2a52c356f4 100644 Binary files a/po/hr.gmo and b/po/hr.gmo differ diff --git a/po/hr.po b/po/hr.po index 88912c7341002b4daad79499e23c99bb1a136c40..e3b913af51a26ae5cf62aadee0568b4708b51108 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 c8168930624d9ca0c438bc8014e3bfd901ad7ccd..d704e8846c5cf25a26a6f7ec6e507365e567a7f1 100644 Binary files a/po/hu.gmo and b/po/hu.gmo differ diff --git a/po/hu.po b/po/hu.po index 55ab23b75463548128f7190cbe0163fe11bd9be1..198a31308d97797cfe600b0138aea2027a2b4f46 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 972a1bc6cbdb072b340c4131a2cf27b8c8d5a931..7edfbcf7cdeebee72bab26a1d1ab64481a391584 100644 Binary files a/po/id.gmo and b/po/id.gmo differ diff --git a/po/id.po b/po/id.po index 52a0b4d738a5ec0d64b533b8d45233a6f4b7acaf..59da0f6eb2827ab3dadca56722cadb35f37755f8 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 9afb5b074ba5ed3602e9f97d85e5495e4056d250..55425b567226da10698a47ae39685a3afd48846d 100644 Binary files a/po/it.gmo and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index f809f216d49bad4775207a601e0809c22153b904..6447682e79b6dc25056a30a43504a240298a7020 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 206aca772cd2e3c3257cce998b30f04cfc114ee9..93ab7ed4995aa3e0503c12e1aa19a9c914a5f457 100644 Binary files a/po/ja.gmo and b/po/ja.gmo differ diff --git a/po/ja.po b/po/ja.po index 30089e95f3be2abd5a587bd29c212f474fa27ddc..0ed9e3ef5ea1e10ccc66f9b7fbf9c2d76453af7a 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 d1cf048c3122a7376d41e5d8805d1f1256dc9572..8d77c17a2f3fd9699d508f851d81d5177467d72b 100644 Binary files a/po/lt.gmo and b/po/lt.gmo differ diff --git a/po/lt.po b/po/lt.po index e8d663ac33adb186193ff65296da60a986fd7802..bc49e233ed2aaf6197fe36ecc3852da9b82c840b 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 8414a759797d4e9eaa63f3c49b4366013fef89c7..3c4da0b34db810b21c85ac65762b2998ac2b8d15 100644 Binary files a/po/lv.gmo and b/po/lv.gmo differ diff --git a/po/lv.po b/po/lv.po index 9e70eae5a16d3e989e058e222d7f230a1fb38f78..51424c114b99f02f73d1d15b09505b752ec885ea 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 9a2ee89789abee203203b55410369952ab97189b..4f6ad232617530e8a113182ce718f8f21fda2b6c 100644 Binary files a/po/mt.gmo and b/po/mt.gmo differ diff --git a/po/mt.po b/po/mt.po index 295b1bffd08859bf78fc49690555671aa51b642e..3c2b68a7192dcc9c8ef238d2d1ddc910e3c4cb5c 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 e4bb678674ab7a14db05f1931551b5ca9bbcbbce..1b62f26e4679f0dde839b18a9228426b92affa47 100644 Binary files a/po/nb.gmo and b/po/nb.gmo differ diff --git a/po/nb.po b/po/nb.po index 4ba0bd1a52dec6e43f6e85af083c8652cdf67c70..3932ddb18e3ce32abd21cd3c20eefe1953b39b4f 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 3d076223e2b0e2324555c3cf47db49b81af9c285..6483732415403fdecfd5c4bb3ad1ccac67502371 100644 Binary files a/po/nl.gmo and b/po/nl.gmo differ diff --git a/po/nl.po b/po/nl.po index 6a32d1822aa41326304f888f7b9f2819e6dce9d8..1b2f247b3780ac7a194e9806ee185d39de18192b 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 273a6a4857824738e673ca82d248f1e7558c0942..a6cdb35973ede186e51cf4e60ad31072c0091d0d 100644 Binary files a/po/or.gmo and b/po/or.gmo differ diff --git a/po/or.po b/po/or.po index 95a7f3bd28301ebd0421607efddedfa62f049b46..fcac8747d18e60c45fbd153cbdc9f2f6eff41bd9 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 0bdac9f6f267b68298185ee8e46a87657b233b0b..7cbed0dd9297a23ff080cd24d1edc321d2c34b11 100644 Binary files a/po/pl.gmo and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po index 20923bb7fb3c841f031ceb3eb7fc67bfb9a31969..ec9680504f7c61b40fa056ec535f35ef067ab394 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 bbcf63e08a1bfb721fd2cfa9f3e9c8dafdb3003a..42a20e5a67539fedd89803e5ee719a6491ca1d25 100644 Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ diff --git a/po/pt_BR.po b/po/pt_BR.po index 4fd1ab21980eed0ce983308d2c834ff595446e13..92e35e7e87cac0ebbfd5dc5ee36678bcb59eaab2 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 cfc093b3c810223acf78d12d2896ddf3d9955d59..c1068a8318239271c95a3ea0e99fa82ad145bc7e 100644 Binary files a/po/ro.gmo and b/po/ro.gmo differ diff --git a/po/ro.po b/po/ro.po index e4501fddab5e355d0a53418fc9283619dcb10f14..ecf0b2fe4e48effded5aa0fc45ce0c4a572da481 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 d56afcfb29e24c081c8cb2b3c0e6f15c9cb75004..d13e5655a58b6a25dcf29955759de16e9f4e46ea 100644 Binary files a/po/ru.gmo and b/po/ru.gmo differ diff --git a/po/ru.po b/po/ru.po index 71abd79287c7ea84a1683eb7ee36eeeb7b674706..58d8307faa5feb15116df1e094ce8f994f65f3ed 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 2a761dedf6957ff1124a109f3742d101d97e56f1..e1efd38ea275f0dc404691821d4ce8df934841ec 100644 Binary files a/po/sk.gmo and b/po/sk.gmo differ diff --git a/po/sk.po b/po/sk.po index dcc889dc4b66452b3b9018a4af6d862708e09f02..a42d2a2e2c480351c3b655c017e7068911045201 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 a29f61e04ddd9dbce8b72fa34cd7ddd6bc5dd29c..e125acb3de6a8889b80c38060cfec5878e2a547d 100644 Binary files a/po/sl.gmo and b/po/sl.gmo differ diff --git a/po/sl.po b/po/sl.po index cd7e0b34ef0cd1427a9b56d2f6a27b573eba100a..36e8c914d9c489ef4eefdd5952fbb45ab8272b40 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 3997c9338fdb5d68f9191da8b99a606ab08b9a20..2d5d4dbe9ff97f137f4ab20d9c59427719b9c198 100644 Binary files a/po/sq.gmo and b/po/sq.gmo differ diff --git a/po/sq.po b/po/sq.po index ef2cd44f59442c1697d96771bb932a9eba8a03dc..cdd2dbc835bc75cd70a9b28ea2bef3e175995ba1 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 0598945569459bb0de396662ab1694e6e46770a6..eca7eefb99cbad889d69520417cc5018db237ff0 100644 Binary files a/po/sr.gmo and b/po/sr.gmo differ diff --git a/po/sr.po b/po/sr.po index 0931e5a3ccbcb1cf102db84f1ae442231dd79e40..837222177b2fc576c767c0c36eef7f005f04cfac 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 2cb563d658af2a10d2b7d7356a191d182359efef..078f6c7d70e3cff7d1f08877432f59cb4f98f337 100644 Binary files a/po/sv.gmo and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po index c6b0e85f0eb0e5cbf1ea2aef72ce41f986d0c56f..7fe4d2552a8e9eaae9ba507c8c9c601d00baeb61 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 43c08587f430ae6402a6a4d4dabc787954db63ed..aedc430d966766117425ec3f8c909e84beb982a7 100644 Binary files a/po/tr.gmo and b/po/tr.gmo differ diff --git a/po/tr.po b/po/tr.po index 00881016d1b4c983d8b68cc323d48ac3bd0c2e30..36aa03108019a2ea569863776b0435b94b8cd233 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 b484f6d69ebd5572d61d079bcec09963087f064e..53908cda5a0bf516dfe5aad218b296f7f86ec16a 100644 Binary files a/po/uk.gmo and b/po/uk.gmo differ diff --git a/po/uk.po b/po/uk.po index 83c79f0f85d026e5cd079105859e7de901b8d405..078a81089183f06150e602bd503bcd7120df7056 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 0fed5aee0625bb160ece8a76829beb1dded01af1..262c0e01a1371206a9c511268fa75f3ff7301dde 100644 Binary files a/po/vi.gmo and b/po/vi.gmo differ diff --git a/po/vi.po b/po/vi.po index 5d73991b820661ca5531483e68c1db38ebfefc60..e415f7ad92416fba68bf1f62d1779bdfc110b967 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 14250e2e489680da569a7fd13a2bf0e1a5d68bb9..9022a5cb8d9abaea4ae028269b0b731f3823b655 100644 Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ diff --git a/po/zh_CN.po b/po/zh_CN.po index 50965d7a7835dcefa33d6e6e45d30a17aa32b5cb..060c51637d9351cba60f14309f045ea167a908c1 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 9d9ae3452c412853afc7a631c7c83ead99b55e86..e61bc8fdb6419d12f1f38d4e8c4a9f650548b935 100644 Binary files a/po/zh_HK.gmo and b/po/zh_HK.gmo differ diff --git a/po/zh_HK.po b/po/zh_HK.po index b7b62c6df86266e4df11c78b47c84dd66d96e90a..fd15c8cd1bc3b50e8bea33554f137161c7542e58 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 e4ccc0a281422d6e7cc1e33e9eb0a2acc69f2f63..16bacc74856b01d6ba664723448105981caf5c7b 100644 Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ diff --git a/po/zh_TW.po b/po/zh_TW.po index 90dad890088b77ae450c77530970a868310e2761..2fb45c1b5009b90e6a5978f060e233bf1faf82ff 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 416770b5b6c6b96e0781ab347e025401bc4c0ab4..68ce9023a78bcec11ca472113cc040e4c1d3c286 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 54cf1cbc890a376446301859a92bff6d076ed5fa..3f7b33def6256d2aeafc2ac71a603a7b748ea829 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 f5c74c8f2cc174bddee19c4bac070653ee70fec2..488ade7184dbf1185c36ed51337209e9f64b9b03 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 65486bff8ee1aebac97e3ebeb02c1f6f8826857c..8601a3277a7a6432a603aa2b9edc9ff64579cfe5 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 e49e7e592bc2a23abc20d5a353a65c243d0abbd5..8e366d478ad2cd9c352f4b9939f06258c9b4d05a 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 69990ff0229ce559cdeb49dd796dee8b4e10ddd4..3b22b1ae1e168cc42da5027a84db3fe63f46865b 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 1386333e706420dd89acb90cb2b2acd6b6774e5c..e1c0df0354f36e6074e2949d273f2425ddfcf8e1 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 8c2482c4f7a73eb269e5370814878251798d4902..13ef8d8d8ad53006c1124289107b3bf80ad12802 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 fe215565193449ace875472f9b0b903b92042df4..105b1e80db10066f50305f6819f85065e10a3bbc 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 41408902f8e64f0d92c4cc64a370df5beaa71c15..7c7b5688f23e8927874844b6d9154cc3d83a4542 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 2352ed183dd77a574121801357d351d39171d298..8953e9e1aec20ad68d6f3d0ec1b3aa99cab4b3d5 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 d95e9e4a79f14b308ba547480a458dff62a836bd..081fa60f9dd9a17dc792f352b175242b814c14bb 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 4265cc3d8fc60f817e8ab112681973b9c696b73c..c59a76b4912831927449f205eed6ace05fec9d72 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