mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
Release 0.10.25
This commit is contained in:
parent
477caae5e8
commit
b26897dd84
12 changed files with 1526 additions and 658 deletions
968
ChangeLog
968
ChangeLog
|
@ -1,9 +1,971 @@
|
|||
=== release 0.10.24 ===
|
||||
=== release 0.10.25 ===
|
||||
|
||||
2010-07-15 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
2010-09-02 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* configure.ac:
|
||||
releasing 0.10.24, "Taking Liberties"
|
||||
releasing 0.10.25, "Woe to You Oh Earth and Sea"
|
||||
|
||||
2010-09-02 23:12:48 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* 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-annodex.xml:
|
||||
* docs/plugins/inspect/plugin-apetag.xml:
|
||||
* docs/plugins/inspect/plugin-audiofx.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-dv.xml:
|
||||
* docs/plugins/inspect/plugin-efence.xml:
|
||||
* docs/plugins/inspect/plugin-effectv.xml:
|
||||
* docs/plugins/inspect/plugin-equalizer.xml:
|
||||
* docs/plugins/inspect/plugin-esdsink.xml:
|
||||
* docs/plugins/inspect/plugin-flac.xml:
|
||||
* docs/plugins/inspect/plugin-flv.xml:
|
||||
* docs/plugins/inspect/plugin-flxdec.xml:
|
||||
* docs/plugins/inspect/plugin-gconfelements.xml:
|
||||
* docs/plugins/inspect/plugin-gdkpixbuf.xml:
|
||||
* docs/plugins/inspect/plugin-goom.xml:
|
||||
* docs/plugins/inspect/plugin-goom2k1.xml:
|
||||
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
|
||||
* docs/plugins/inspect/plugin-halelements.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-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-quicktime.xml:
|
||||
* docs/plugins/inspect/plugin-replaygain.xml:
|
||||
* docs/plugins/inspect/plugin-rtp.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-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:
|
||||
docs: update docs for release
|
||||
|
||||
2010-09-02 23:07:36 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* po/LINGUAS:
|
||||
* po/es.po:
|
||||
* po/gl.po:
|
||||
* po/lt.po:
|
||||
* po/nl.po:
|
||||
* po/ro.po:
|
||||
* po/sv.po:
|
||||
po: update translations
|
||||
|
||||
2010-08-25 19:01:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* configure.ac:
|
||||
* 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/es.po:
|
||||
* po/eu.po:
|
||||
* po/fi.po:
|
||||
* po/fr.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/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:
|
||||
0.10.24.5 pre-release
|
||||
|
||||
2010-08-22 21:15:07 -0700 David Schleef <ds@schleef.org>
|
||||
|
||||
* gst/deinterlace/gstdeinterlace.c:
|
||||
deinterlace: use separate buffer metadata for fields
|
||||
Call gst_buffer_make_metadata_writable() on buffers that are
|
||||
duplicated into fields. Fixes #627689.
|
||||
|
||||
2010-08-21 21:41:36 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* configure.ac:
|
||||
* gst/deinterlace/tvtime-dist.c:
|
||||
* gst/deinterlace/tvtime-dist.h:
|
||||
* gst/videobox/gstvideoboxorc-dist.c:
|
||||
* gst/videobox/gstvideoboxorc-dist.h:
|
||||
* gst/videomixer/blendorc-dist.c:
|
||||
* gst/videomixer/blendorc-dist.h:
|
||||
* po/af.po:
|
||||
* po/az.po:
|
||||
* po/bg.po:
|
||||
* po/ca.po:
|
||||
* po/cs.po:
|
||||
* po/da.po:
|
||||
* po/de.po:
|
||||
* po/el.po:
|
||||
* po/en_GB.po:
|
||||
* po/es.po:
|
||||
* po/eu.po:
|
||||
* po/fi.po:
|
||||
* po/fr.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/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:
|
||||
0.10.24.4 pre-release
|
||||
|
||||
2010-08-19 18:30:05 -0300 Thiago Santos <thiago.sousa.santos@collabora.co.uk>
|
||||
|
||||
* ext/jpeg/gstjpegdec.c:
|
||||
jpegdec: Prevent crash when reading image with problems
|
||||
Check if we have data on the adapter and fail if not.
|
||||
Fixes #627413
|
||||
|
||||
2010-08-13 17:24:01 +0300 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* common:
|
||||
Automatic update of common submodule
|
||||
From 3e8db1d to ec60217
|
||||
|
||||
2010-08-11 22:20:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* gst/imagefreeze/gstimagefreeze.c:
|
||||
imagefreeze: Send close segments when seeking only for non-flushing seeks and if we already sent a newsegment event
|
||||
Fixes bug #626619.
|
||||
|
||||
2010-08-11 16:50:42 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* configure.ac:
|
||||
* 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-annodex.xml:
|
||||
* docs/plugins/inspect/plugin-apetag.xml:
|
||||
* docs/plugins/inspect/plugin-audiofx.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-dv.xml:
|
||||
* docs/plugins/inspect/plugin-efence.xml:
|
||||
* docs/plugins/inspect/plugin-effectv.xml:
|
||||
* docs/plugins/inspect/plugin-equalizer.xml:
|
||||
* docs/plugins/inspect/plugin-esdsink.xml:
|
||||
* docs/plugins/inspect/plugin-flac.xml:
|
||||
* docs/plugins/inspect/plugin-flv.xml:
|
||||
* docs/plugins/inspect/plugin-flxdec.xml:
|
||||
* docs/plugins/inspect/plugin-gconfelements.xml:
|
||||
* docs/plugins/inspect/plugin-gdkpixbuf.xml:
|
||||
* docs/plugins/inspect/plugin-goom.xml:
|
||||
* docs/plugins/inspect/plugin-goom2k1.xml:
|
||||
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
|
||||
* docs/plugins/inspect/plugin-halelements.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-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-quicktime.xml:
|
||||
* docs/plugins/inspect/plugin-replaygain.xml:
|
||||
* docs/plugins/inspect/plugin-rtp.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-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:
|
||||
* win32/common/config.h:
|
||||
* win32/common/gstrtpbin-marshal.c:
|
||||
* win32/common/gstudp-enumtypes.c:
|
||||
* win32/common/gstudp-enumtypes.h:
|
||||
* win32/common/gstudp-marshal.c:
|
||||
0.10.24.3 pre-release
|
||||
|
||||
2010-08-11 11:17:18 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/qtdemux/qtdemux.c:
|
||||
qtdemux: prevent reading past avc1 atom when parsing
|
||||
... when one of the subatoms has a large/invalid size.
|
||||
Fixes #626609.
|
||||
|
||||
2010-08-10 23:37:23 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* configure.ac:
|
||||
* docs/plugins/gst-plugins-good-plugins.args:
|
||||
* docs/plugins/gst-plugins-good-plugins.hierarchy:
|
||||
* docs/plugins/gst-plugins-good-plugins.interfaces:
|
||||
* 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-annodex.xml:
|
||||
* docs/plugins/inspect/plugin-apetag.xml:
|
||||
* docs/plugins/inspect/plugin-audiofx.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-dv.xml:
|
||||
* docs/plugins/inspect/plugin-efence.xml:
|
||||
* docs/plugins/inspect/plugin-effectv.xml:
|
||||
* docs/plugins/inspect/plugin-equalizer.xml:
|
||||
* docs/plugins/inspect/plugin-esdsink.xml:
|
||||
* docs/plugins/inspect/plugin-flac.xml:
|
||||
* docs/plugins/inspect/plugin-flv.xml:
|
||||
* docs/plugins/inspect/plugin-flxdec.xml:
|
||||
* docs/plugins/inspect/plugin-gconfelements.xml:
|
||||
* docs/plugins/inspect/plugin-gdkpixbuf.xml:
|
||||
* docs/plugins/inspect/plugin-goom.xml:
|
||||
* docs/plugins/inspect/plugin-goom2k1.xml:
|
||||
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
|
||||
* docs/plugins/inspect/plugin-halelements.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-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-quicktime.xml:
|
||||
* docs/plugins/inspect/plugin-replaygain.xml:
|
||||
* docs/plugins/inspect/plugin-rtp.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-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:
|
||||
* win32/common/config.h:
|
||||
0.10.24.2 pre-release
|
||||
|
||||
2010-08-10 10:57:45 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* common:
|
||||
Automatic update of common submodule
|
||||
From bd2054b to 3e8db1d
|
||||
|
||||
2010-08-09 00:36:36 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* ext/pulse/pulsesink.c:
|
||||
pulse: fix printf format in some debugging messages
|
||||
|
||||
2010-08-08 23:31:42 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* pkgconfig/gstreamer-plugins-good-uninstalled.pc.in:
|
||||
pkgconfig: set pluginsdir to top-level builddir without the pkgconfig/.. bits
|
||||
Removes clutter in plugin dir paths. This is only used to find the -good
|
||||
plugins for unit tests of ugly/bad/ffmpeg/etc. in an uninstalled setup.
|
||||
|
||||
2010-08-06 20:04:59 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* sys/v4l2/gstv4l2object.c:
|
||||
v4l2src: also log pixel formats in sorted order
|
||||
|
||||
2010-08-06 18:07:46 +0100 Sjoerd Simons <sjoerd.simons@collabora.co.uk>
|
||||
|
||||
* sys/v4l2/gstv4l2object.c:
|
||||
v4l2: sort formats in the right order so that non-emulated formats are prefered
|
||||
The format list should be sorted from high ranks to low ranks. In the GSList
|
||||
sorting function this means the compare needs to return a positive value if
|
||||
format a has a lower rank than format b.
|
||||
Among other things this fixes v4l2src to prefer non-emulated formats
|
||||
to emulated formats when built against libv4l.
|
||||
|
||||
2010-08-06 19:24:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* gst/videomixer/videomixer.c:
|
||||
videomixer: Fix pipeline in the documentation
|
||||
Make sure that we have the same color format on all streams, i.e. AYUV
|
||||
Fixes bug #625452.
|
||||
|
||||
2010-08-05 13:56:44 +0300 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* common:
|
||||
Automatic update of common submodule
|
||||
From a519571 to bd2054b
|
||||
|
||||
2010-06-14 19:58:11 +1000 Jonathan Matthew <jonathan@d14n.org>
|
||||
|
||||
* ext/taglib/gstid3v2mux.cc:
|
||||
* tests/check/elements/id3v2mux.c:
|
||||
id3v2mux: write beats-per-minute tag using TBPM frame
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=621520
|
||||
|
||||
2010-07-25 11:47:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* gst/videomixer/blend.c:
|
||||
* gst/videomixer/videomixer.c:
|
||||
* gst/videomixer/videomixer.h:
|
||||
videomixer: Move debug categories into the source files and add debug category for the blend functions
|
||||
|
||||
2010-08-04 19:25:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* configure.ac:
|
||||
configure: Check if the compiler supports ISO C89 or C99 and which parameters are required
|
||||
This first checks what is required for ISO C99 support and sets the relevant
|
||||
compiler parameters and if no C99 compiler is found, it checks for a
|
||||
C89 compiler. This enables us to check for and use C89/C99 functions
|
||||
that gcc hides from us without the correct compiler parameters.
|
||||
|
||||
2010-07-15 10:10:31 +0200 Philippe Normand <pnormand@igalia.com>
|
||||
|
||||
* ext/pulse/pulsesink.c:
|
||||
pulsesink: use G_TYPE_DEFINE to define ring buffer type
|
||||
The existing get_type() implementation is racy, and the
|
||||
g_type_class_ref() workaround didn't actually work because
|
||||
it was in the wrong function. Since class creation in GObject
|
||||
is thread-safe these days (since 2.16), the class_ref workaround
|
||||
is no longer needed and it is sufficient to ensure the _get_type()
|
||||
function is thread-safe, which G_TYPE_DEFINE does.
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=624338
|
||||
|
||||
2010-08-04 15:20:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* ext/pulse/pulsesink.c:
|
||||
pulsesink: Post CLOCK-LOST/CLOCK-PROVIDE when going to/from READY
|
||||
Otherwise the clocks are redistributed every time the pipeline
|
||||
goes to PAUSED, which is quite expensive.
|
||||
|
||||
2010-07-12 12:35:15 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/rtp/gstrtpmp4gpay.c:
|
||||
* gst/rtp/gstrtpmp4gpay.h:
|
||||
rtpmp4gpay: implement perfect timestamps
|
||||
Use bitreader for parsing the config string
|
||||
Reset state variables when going to READY
|
||||
Parse frame length and use it to keep track of the rtptimestamps
|
||||
|
||||
2010-07-09 14:07:49 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/rtp/gstrtph263pdepay.c:
|
||||
rtph263pdepay: allow more clock-rates as input
|
||||
Although the spec says that the clock-rate should always be 90000, some rtsp
|
||||
servers send different clock-rates so we must accept then in order to handle
|
||||
those streams too.
|
||||
|
||||
2010-07-06 19:02:14 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/rtp/gstrtpL16depay.c:
|
||||
L16depay: default to 1 channel
|
||||
When we can't find any channel or encoding-params on the caps for dynamic
|
||||
payload types, set the default number of channels to 1, as the spec says we
|
||||
should.
|
||||
See #623209
|
||||
|
||||
2010-07-06 18:22:24 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/rtsp/gstrtspsrc.c:
|
||||
rtspsrc: don't reuse udp sockets
|
||||
Don't reuse sockets but make the udpsrc element fail the state change when the
|
||||
socket is already in use. If we don't prevent reuse, we might end up using the same
|
||||
port for different streams in some cases.
|
||||
Fixes #622017
|
||||
|
||||
2010-07-06 18:11:21 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/udp/gstudpsrc.c:
|
||||
* gst/udp/gstudpsrc.h:
|
||||
udpsrc: add property to enable port reuse
|
||||
|
||||
2010-07-05 10:23:37 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/rtp/gstrtpL16depay.c:
|
||||
L16depay: use encoding-params for the channels
|
||||
When parsing the number of channels, use the encoding-params property from the
|
||||
RTP caps because that is where we can find the channels according to the spec.
|
||||
Fall back to the channels property in the caps when needed.
|
||||
Fixes #623209
|
||||
|
||||
2010-06-29 10:46:41 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/rtsp/gstrtspsrc.c:
|
||||
rtspsrc: improve error and warning message
|
||||
Improve error and warning message.
|
||||
Fixes #622577
|
||||
|
||||
2010-08-02 23:15:56 +0300 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* tests/examples/spectrum/demo-audiotest.c:
|
||||
* tests/examples/spectrum/demo-osssrc.c:
|
||||
examples: no need to set the color for each frq-band
|
||||
|
||||
2010-08-02 12:56:29 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/rtp/gstrtpg729pay.c:
|
||||
* gst/rtp/gstrtpg729pay.h:
|
||||
rtpg729pay: avoid basertppayload perfect-rtptime mode
|
||||
G729 packets may only occur intermittently (e.g. cn packets), and as such
|
||||
do not allow for perfect-rtptime calculating rtp times based on frame or byte
|
||||
count. In particular, do not use rtp audio base payloader as base class, but
|
||||
rather base payloader directly.
|
||||
|
||||
2010-08-02 12:48:02 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/rtp/gstrtph264pay.c:
|
||||
rtph264pay: fix element leak
|
||||
|
||||
2010-08-02 12:46:41 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/rtp/gstrtpmp4vdepay.c:
|
||||
rtpmp4vdepay: fix buffer leak
|
||||
|
||||
2010-08-02 12:46:20 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* tests/check/elements/rtp-payloading.c:
|
||||
tests: rtp payloading: fix pad leak
|
||||
|
||||
2010-07-29 17:18:11 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/avi/gstavidemux.c:
|
||||
avidemux: push mode; use proper movi offset for movi based index
|
||||
Fixes #623357.
|
||||
|
||||
2010-07-29 10:00:15 -0300 Thiago Santos <thiago.sousa.santos@collabora.co.uk>
|
||||
|
||||
* gst/qtdemux/qtdemux.c:
|
||||
* gst/qtdemux/qtdemux.h:
|
||||
qtdemux: Correctly parse mvhd atoms
|
||||
Parse mvhd data according to its version to avoid failing
|
||||
on valid files.
|
||||
|
||||
2010-07-28 12:21:41 -0300 Thiago Santos <thiago.sousa.santos@collabora.co.uk>
|
||||
|
||||
* gst/qtdemux/qtdemux.c:
|
||||
qtdemux: Fix the max/avg in btrt atom reading
|
||||
According to ISO media base format, the max bitrate is the
|
||||
first one, and the avg comes next.
|
||||
|
||||
2010-07-27 15:58:02 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/matroska/matroska-demux.c:
|
||||
matroskademux: proper handling of streaming upstream without duration
|
||||
Fixes #625371.
|
||||
|
||||
2010-07-26 18:33:09 +0200 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* gst/matroska/matroska-demux.c:
|
||||
matroskademux: initialize some variables to fix compiler warnings on OSX build bot
|
||||
|
||||
2010-07-26 18:15:25 +0200 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* ext/pulse/pulsesink.c:
|
||||
pulsesink: correctly check what version of gst-plugins-base we're compiling against
|
||||
We need to check the gst-plugins-base version, not the core version
|
||||
(even if both should be the same in any sane setup).
|
||||
|
||||
2010-07-26 17:45:42 +0200 Arnaud Vrac <rawoul at gmail.com>
|
||||
|
||||
* gst/rtsp/gstrtspsrc.c:
|
||||
* gst/rtsp/gstrtspsrc.h:
|
||||
rtspsrc: add port-range property to rtspsrc
|
||||
To support setups with firewall/ipsec, it is useful for an rtsp client to be
|
||||
able to set the range of ports that can be used for rtp/rtcp reception.
|
||||
Allows this by adding a "port-range" property to the rtspsrc element.
|
||||
Fixes #625153
|
||||
|
||||
2010-07-26 13:38:31 +0200 Andoni Morales Alastruey <amorales@flumotion.com>
|
||||
|
||||
* gst/qtdemux/qtdemux.c:
|
||||
qtdemux: set the pixel-aspect-ratio field also for par=1/1
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=625302
|
||||
|
||||
2010-07-26 15:31:16 +0200 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/rtsp/gstrtspsrc.c:
|
||||
rtspsrc: fix memory leak in server request reply
|
||||
The RTSP server rtspsrc is communicating with, sends a GET_PARAMETER request
|
||||
periodically as a ping. The code in gst_rtspsrc_handle_request forms an OK
|
||||
response and sends, but doesn't call gst_rtsp_message_unset to free the memory
|
||||
after sending the response. This results in a constant slow memory leak.
|
||||
Fixes #624770
|
||||
|
||||
2010-07-24 22:39:54 +0100 Zaheer Abbas Merali <zaheerabbas@merali.org>
|
||||
|
||||
* gst/debugutils/cpureport.c:
|
||||
cpureport: remove bogus docs
|
||||
|
||||
2010-07-24 22:37:11 +0100 Zaheer Abbas Merali <zaheerabbas@merali.org>
|
||||
|
||||
* gst/debugutils/Makefile.am:
|
||||
* gst/debugutils/cpureport.c:
|
||||
* gst/debugutils/cpureport.h:
|
||||
* gst/debugutils/gstdebug.c:
|
||||
debugutils: new element cpureport
|
||||
cpureport posts bus messages after every buffer received of cpu used, system
|
||||
clock time, buffer time
|
||||
|
||||
2010-07-24 10:29:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* tests/examples/equalizer/demo.c:
|
||||
* tests/examples/spectrum/demo-audiotest.c:
|
||||
* tests/examples/spectrum/demo-osssrc.c:
|
||||
examples: Destroy the cairo context after usage
|
||||
|
||||
2010-07-24 10:21:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* configure.ac:
|
||||
* ext/Makefile.am:
|
||||
* ext/gdk_pixbuf/Makefile.am:
|
||||
* ext/gdk_pixbuf/gstgdkpixbuf.c:
|
||||
* ext/gdk_pixbuf/gstgdkpixbufsink.c:
|
||||
* ext/gdk_pixbuf/pixbufscale.c:
|
||||
Revert "gdkpixbuf: Add a gdkpixbuf3 plugin that uses gdkpixbuf3"
|
||||
This reverts commit b6788153161b4e07fbf3d42a2d8921ea049305d0.
|
||||
There's no gdk-pixbuf3 anymore. gdk-pixbuf was separated from GTK+
|
||||
and will stay at version 2.0 for GTK+ 3.0.
|
||||
|
||||
2010-07-24 10:19:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* tests/examples/equalizer/demo.c:
|
||||
* tests/examples/spectrum/demo-audiotest.c:
|
||||
* tests/examples/spectrum/demo-osssrc.c:
|
||||
examples: Use cairo instead of to-be-deprecated GDK API
|
||||
Fixes bug #625002.
|
||||
|
||||
2010-07-22 16:24:43 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* ext/flac/gstflacdec.c:
|
||||
flacdec: fix event leak
|
||||
|
||||
2010-07-22 12:05:26 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/matroska/matroska-demux.c:
|
||||
* gst/matroska/matroska-demux.h:
|
||||
matroskademux: pull mode non-cue seeking
|
||||
That is, in files that have no index (Cue), perform seek by scanning for
|
||||
nearest cluster with timecode before requested position. Scanning is done
|
||||
as a combination of interpolation and sequential scan.
|
||||
Fixes #617368.
|
||||
|
||||
2010-07-16 12:46:50 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/matroska/matroska-mux.c:
|
||||
matroskamux: streamable files need no _finish
|
||||
Fixes #624455.
|
||||
|
||||
2010-07-22 11:46:35 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/avi/gstavidemux.c:
|
||||
avidemux: push mode; handle 0-size data chunks
|
||||
Fixes #618535.
|
||||
|
||||
2010-07-21 08:11:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* gst/videomixer/videomixer.c:
|
||||
videomixer: Only reset QoS information and send a NEWSEGMENT event downstream for NEWSEGMENT events on the master pad
|
||||
|
||||
2010-07-14 20:31:44 -0700 David Schleef <ds@schleef.org>
|
||||
|
||||
* gst/debugutils/Makefile.am:
|
||||
* gst/debugutils/gstcapsdebug.c:
|
||||
* gst/debugutils/gstcapsdebug.h:
|
||||
* gst/debugutils/gstdebug.c:
|
||||
capsdebug: Add new element
|
||||
|
||||
2010-07-20 16:11:25 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* gst/matroska/matroska-mux.c:
|
||||
matroskamux: demote WARNING message to LOG level
|
||||
It's not a warning.
|
||||
|
||||
2010-07-19 14:47:32 -0300 Thiago Santos <thiago.sousa.santos@collabora.co.uk>
|
||||
|
||||
* ext/jpeg/gstjpegdec.c:
|
||||
jpegdec: Fix regression on markers parsing
|
||||
Fixes a regression introduced when fixing bug #583047 in
|
||||
commit a391bf52cc3c580c7a0a2316ca52eb66da3b85c1
|
||||
Skip the data when libjpeg asks it to be skipped on
|
||||
one of its callbacks.
|
||||
|
||||
2010-07-16 18:04:44 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/matroska/matroska-demux.c:
|
||||
matroskademux: add missing argument in debug message
|
||||
|
||||
2010-07-16 17:53:55 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* ext/pulse/pulsemixerctrl.c:
|
||||
* ext/pulse/pulsesink.c:
|
||||
* ext/pulse/pulsesrc.c:
|
||||
pulsesink: Only use gst_audio_clock_new() when compiling against newer base
|
||||
|
||||
2010-07-09 17:33:55 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* ext/raw1394/gstdv1394src.c:
|
||||
dv1394src: Post clock-provide and clock-lost messages when going from/to PLAYING
|
||||
In PAUSED and below the clock is not working.
|
||||
|
||||
2010-07-04 16:57:55 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* ext/gconf/gstswitchsink.c:
|
||||
* ext/gconf/gstswitchsink.h:
|
||||
* ext/gconf/gstswitchsrc.c:
|
||||
* ext/gconf/gstswitchsrc.h:
|
||||
gconf: Fix ref handling of new child elements and minor cleanup
|
||||
|
||||
2010-07-04 09:45:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* ext/gconf/gstgconfvideosrc.c:
|
||||
gconfvideosrc: Use correct GConf key
|
||||
|
||||
2010-07-03 14:16:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* ext/gconf/gstgconfaudiosrc.c:
|
||||
* ext/gconf/gstgconfaudiosrc.h:
|
||||
gconf: Port gconfaudiosrc to GstSwitchSrc
|
||||
|
||||
2010-07-03 14:12:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* ext/gconf/gstgconfvideosrc.c:
|
||||
* ext/gconf/gstgconfvideosrc.h:
|
||||
gconf: Port gconfvideosrc to GstSwitchSrc
|
||||
|
||||
2010-07-03 14:11:55 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* ext/gconf/Makefile.am:
|
||||
* ext/gconf/gstswitchsrc.c:
|
||||
* ext/gconf/gstswitchsrc.h:
|
||||
gconf: Add GstSwitchSrc base class
|
||||
|
||||
2010-07-03 13:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* ext/gconf/gstswitchsink.c:
|
||||
gconf: Create the ghostpad of the switchsink from the template
|
||||
|
||||
2010-07-07 10:10:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||
|
||||
* ext/pulse/pulsesink.c:
|
||||
pulsesink: Post clock-provide/clock-lost when going to/from PAUSED
|
||||
Also use gst_audio_clock_new_full() to prevent crashes when the
|
||||
clock is used after the element was destroyed.
|
||||
|
||||
2010-07-15 11:49:03 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/matroska/matroska-demux.c:
|
||||
matroskademux: remove bogus UNLOCK
|
||||
|
||||
2010-07-13 12:34:44 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/qtdemux/qtdemux.c:
|
||||
qtdemux: also calculate PAR using track width and height for QT files
|
||||
(... as opposed to only for ISO style files).
|
||||
Fixes #624173.
|
||||
|
||||
2010-07-12 17:29:12 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/matroska/matroska-demux.c:
|
||||
matroskademux: handle bogus files storing ADTS AAC data
|
||||
|
||||
2010-07-09 16:57:33 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/matroska/matroska-demux.c:
|
||||
matroskademux: do not error out on a block with unknown tracknumber
|
||||
|
||||
2010-07-08 18:57:21 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/qtdemux/qtdemux.c:
|
||||
qtdemux: do not align reverse playback reference stream twice
|
||||
Timestamp rounding issues could lead to going backwards 2 keyframe periods
|
||||
(rather than only 1). While this is not necessarily a problem, it might
|
||||
potentially place additional (buffering) load on downstream and could be
|
||||
avoided (because We Can).
|
||||
Fixes #623629.
|
||||
|
||||
2010-07-08 16:07:16 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/qtdemux/qtdemux.c:
|
||||
qtdemux: convert some more mov format timestamp to gst time
|
||||
|
||||
2010-07-07 14:16:59 +0200 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
|
||||
|
||||
* gst/avi/gstavidemux.c:
|
||||
avidemux: additional verification heuristics for VBR audio stream
|
||||
Check for and override some header field(s) for reasonable values, according
|
||||
to later expected use in calculations.
|
||||
|
||||
2010-07-14 15:21:21 +0200 Alessandro Decina <alessandro.d@gmail.com>
|
||||
|
||||
* gst/videofilter/gstvideobalance.c:
|
||||
videobalance: Fix wrong lock order that could lead to a deadlock. Fixes #624331.
|
||||
|
||||
2010-07-16 11:31:08 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* configure.ac:
|
||||
* 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-annodex.xml:
|
||||
* docs/plugins/inspect/plugin-apetag.xml:
|
||||
* docs/plugins/inspect/plugin-audiofx.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-dv.xml:
|
||||
* docs/plugins/inspect/plugin-efence.xml:
|
||||
* docs/plugins/inspect/plugin-effectv.xml:
|
||||
* docs/plugins/inspect/plugin-equalizer.xml:
|
||||
* docs/plugins/inspect/plugin-esdsink.xml:
|
||||
* docs/plugins/inspect/plugin-flac.xml:
|
||||
* docs/plugins/inspect/plugin-flv.xml:
|
||||
* docs/plugins/inspect/plugin-flxdec.xml:
|
||||
* docs/plugins/inspect/plugin-gconfelements.xml:
|
||||
* docs/plugins/inspect/plugin-gdkpixbuf.xml:
|
||||
* docs/plugins/inspect/plugin-goom.xml:
|
||||
* docs/plugins/inspect/plugin-goom2k1.xml:
|
||||
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
|
||||
* docs/plugins/inspect/plugin-halelements.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-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-quicktime.xml:
|
||||
* docs/plugins/inspect/plugin-replaygain.xml:
|
||||
* docs/plugins/inspect/plugin-rtp.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-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:
|
||||
* win32/common/config.h:
|
||||
Back to development
|
||||
|
||||
=== release 0.10.24 ===
|
||||
|
||||
2010-07-15 01:49:04 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
* ChangeLog:
|
||||
* NEWS:
|
||||
* RELEASE:
|
||||
* configure.ac:
|
||||
* 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-annodex.xml:
|
||||
* docs/plugins/inspect/plugin-apetag.xml:
|
||||
* docs/plugins/inspect/plugin-audiofx.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-dv.xml:
|
||||
* docs/plugins/inspect/plugin-efence.xml:
|
||||
* docs/plugins/inspect/plugin-effectv.xml:
|
||||
* docs/plugins/inspect/plugin-equalizer.xml:
|
||||
* docs/plugins/inspect/plugin-esdsink.xml:
|
||||
* docs/plugins/inspect/plugin-flac.xml:
|
||||
* docs/plugins/inspect/plugin-flv.xml:
|
||||
* docs/plugins/inspect/plugin-flxdec.xml:
|
||||
* docs/plugins/inspect/plugin-gconfelements.xml:
|
||||
* docs/plugins/inspect/plugin-gdkpixbuf.xml:
|
||||
* docs/plugins/inspect/plugin-goom.xml:
|
||||
* docs/plugins/inspect/plugin-goom2k1.xml:
|
||||
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
|
||||
* docs/plugins/inspect/plugin-halelements.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-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-quicktime.xml:
|
||||
* docs/plugins/inspect/plugin-replaygain.xml:
|
||||
* docs/plugins/inspect/plugin-rtp.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-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 0.10.24
|
||||
|
||||
2010-07-15 01:35:06 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
|
||||
|
||||
|
|
66
NEWS
66
NEWS
|
@ -1,4 +1,68 @@
|
|||
This is GStreamer Good Plug-ins 0.10.24, "Taking Liberties"
|
||||
This is GStreamer Good Plug-ins 0.10.25, "Woe to You Oh Earth and Sea"
|
||||
|
||||
Changes since 0.10.24:
|
||||
|
||||
* v4l2src: massive performance improvement in many cases
|
||||
* streaming mode fixes for avi and matroska/webm
|
||||
* seeking in matroska and webm files that don't have an index
|
||||
* new cpureport element for debugging
|
||||
* avidemux: improve VBR audio stream handling
|
||||
* avidemux: streaming mode fixes: use proper offset for movi-based index, handle 0-size data chunks
|
||||
* debugutils: new element cpureport, posts "cpu-report" element messages on bus
|
||||
* flacdec, rtspsrc, rtph264pay, rtpmp4vdepay: memory leak fixes
|
||||
* gconfvideosrc: use correct GConf key (ie. not the audiosrc key)
|
||||
* gdkpixbuf: remove gdkpixbuf3 plugin again, gdk-pixbuf was split out of gtk+ and will stay at 2.x
|
||||
* id3v2mux: write beats-per-minute tag using TBPM frame
|
||||
* jpegdec: fix markers parsing regression
|
||||
* matroskademux: do not error out on a block with unknown tracknumber
|
||||
* matroskademux: fix streaming in case where the size in bytes is unknown
|
||||
* matroskademux: handle bogus files storing ADTS AAC data
|
||||
* matroskademux: support seeking in local files even if they don't have an index
|
||||
* matroskamux: don't try to seek back and fix up headers if streamable=TRUE
|
||||
* pulsesink: fix race when creating multiple pulsesinks at the same time
|
||||
* qtdemux: also calculate PAR using track width and height for QT files
|
||||
* qtdemux: fix the max/avg in btrt atom reading
|
||||
* qtdemux: improve reverse playback
|
||||
* qtdemux: parse 64-bit version of mvhd atom as well instead of erroring out
|
||||
* qtdemux: prevent reading past avc1 atom when parsing
|
||||
* rtpg729pay: avoid basertppayload perfect-rtptime mode
|
||||
* rtph263pdepay: allow more clock-rates as input
|
||||
* rtpL16depay: also parse encoding-params for the number of channels
|
||||
* rtpL16depay: default to 1 channel if number of channels not specified
|
||||
* rtpmp4gpay: implement perfect timestamps
|
||||
* rtspsrc: add "port-range" property, useful for setups with firewall/ipsec
|
||||
* rtspsrc: don't reuse udp sockets (avoids odd errors when data from previous streams is received)
|
||||
* udpsrc: add "reuse" property to enable or disable port reuse (enabled by default, but disabled in rtspsrc)
|
||||
* v4l2: sort formats in the right order so that non-emulated formats are prefered
|
||||
* videobalance: fix wrong locking order that could lead to a deadlock
|
||||
* videomixer: only reset QoS information and send a NEWSEGMENT event downstream for NEWSEGMENT events on the master pad
|
||||
|
||||
Bugs fixed since 0.10.24:
|
||||
|
||||
* 626463 : [matroskademux] " reading large block of size 14688496 not supported "
|
||||
* 593117 : [avidemux] Support AVF files
|
||||
* 618535 : [avidemux] fails to stream eva_2010_2.22_promo1.avi
|
||||
* 621520 : [id3v2mux] write beats-per-minute tag
|
||||
* 622017 : [GstRtpMP4GDepay] Packet payload was too short.
|
||||
* 622577 : rtspsrc has confusing error messages
|
||||
* 623209 : bug in rtpL16depay
|
||||
* 623357 : avidemux: push mode doesn't work for some http streaming avi files
|
||||
* 623629 : Reverse Playback Issue in QtDemux
|
||||
* 624173 : [qtdemux] qt file with dimension data in tkhd does not get pixel-aspect-ratio in caps
|
||||
* 624331 : videobalance: deadlocks/freezes when changing " brightness " property
|
||||
* 624455 : The matroska muxer seeks even when used with streamable=TRUE
|
||||
* 624770 : rtspsrc: memory leak in gst_rtspsrc_handle_request
|
||||
* 625002 : [examples] Don't use GdkDraw
|
||||
* 625153 : rtspsrc: add property to set client port range
|
||||
* 625302 : [qtdemux] Set the pixel-aspect-ratio field also for par=1/1
|
||||
* 625371 : [matroskademux] critical warnings when playing live webm with progressive download enabled
|
||||
* 625442 : pulsesink: crash - pa_threaded_mainloop_stop is called from the pa thread
|
||||
* 625452 : [videomixer] Pipeline from the docs doesn't work anymore
|
||||
* 626467 : matroskademux: CRITICAL **: file matroska-demux.c: line 578 (gst_matroska_demux_get_length): should not be reached
|
||||
* 626609 : [qtdemux] segfault when parsing avc1 atom
|
||||
* 626619 : [imagefreeze] Incorrect seek behaviour
|
||||
* 627689 : [deinterlace] Broken timestamps
|
||||
* 617368 : [matroska] Implement push-mode seeking and non-cue seeking
|
||||
|
||||
Changes since 0.10.23:
|
||||
|
||||
|
|
178
RELEASE
178
RELEASE
|
@ -1,5 +1,5 @@
|
|||
|
||||
Release notes for GStreamer Good Plug-ins 0.10.24 "Taking Liberties"
|
||||
Release notes for GStreamer Good Plug-ins 0.10.25 "Woe to You Oh Earth and Sea"
|
||||
|
||||
|
||||
|
||||
|
@ -54,108 +54,67 @@ contains a set of less supported plug-ins that haven't passed the
|
|||
|
||||
Features of this release
|
||||
|
||||
* Use Orc (Optimized Inner Loops Runtime Compiler) for SIMD and
|
||||
other optimisations, and remove liboil dependency. The main goal
|
||||
for this release was to make the transition from liboil to liborc.
|
||||
Performance improvements should not be expected and will be the
|
||||
focus of future versions. liborc is an optional dependency for
|
||||
the time being, to make it possible to test and develop the very
|
||||
latest GStreamer versions on systems that don't have orc yet.
|
||||
However, without orc slow unoptimised backup code will be used
|
||||
for many performance critical code paths. Distributors are urged
|
||||
to package and ship the latest version of liborc and compile
|
||||
GStreamer modules with --enable-orc. Please do not distribute
|
||||
GStreamer packages that are not orc enabled. More information on
|
||||
the orc integration can be found in the docs/design/ directory.
|
||||
|
||||
* alpha: add "prefer-passthrough" property to allow passthrough mode
|
||||
* avidemux: improve audio vbr detection
|
||||
* cmmlenc: Remove hack to let oggmux start a new page for every CMML buffer
|
||||
* deinterlace: add mmx implementations of greedyh for UYVY; orcify some deinterlacing methods
|
||||
* dv1394: fix the internal clock even more
|
||||
* flvmux: add "streamable" property
|
||||
* flvmux: write duration at the correct position
|
||||
* gdkpixbuf: Add a gdkpixbuf3 plugin that uses gdkpixbuf3
|
||||
* jpegdec: improved parsing, and better buffer handling that minimises memcpys
|
||||
* jpegdec, jpegenc: add grayscale support
|
||||
* matroskademux: QoS fixes and improvements; reverse playback improvements
|
||||
* matroskademux: handle zero-sized numbers correctly
|
||||
* matroskamux: add "streamable" property; set streamheaders on output caps
|
||||
* matroskamux: try harder to make sure clusters start with a key frame
|
||||
* matroskamux: mark output buffers properly as keyframe or delta unit
|
||||
* matroskamux: do some write caching to avoid newsegment events before each output buffer
|
||||
* matroskamux: fix some timestamp drift caused by rounding errors
|
||||
* pngenc: Support 8 bit grayscale
|
||||
* pulsesink: optimize communication with PulseAudio using pa_stream_begin_write
|
||||
* pulsesink: Post provide-clock message on the bus if the clock appears/disappears
|
||||
* rtph264depay: consider SPS, PPS and IDR as keyframe, all others as DELTA_UNIT
|
||||
* rtph264pay: handle short startcodes in the h264 bytestream
|
||||
* rtpjitterbuffer: stop buffering and emit EOS at the end of a stream
|
||||
* rtpmparobustdepay: add mpa-robust depayloader
|
||||
* rtpmp4gdepay: calculate the frame duration correctly
|
||||
* rtptheorapay: keep announcing the delivery-method in the capabilities, restores compatibility with older farsight versions again
|
||||
* rtspsrc: respect aggregate control attributes; try all ranges from the sdp
|
||||
* spectrum: support 24-bit width and arbitrary bit depth
|
||||
* udp: make url parsing compatible with VLC syntax
|
||||
* udpsrc: fix multicast support on windows
|
||||
* v4l2sink: destroy buffer pool when changing state to NULL
|
||||
* videobox: fix negotiation for I420/YV12
|
||||
* videomixer: don't mix input with different pixel aspect ratios; negotiation fixes
|
||||
* wavparse: proper closing segment construction when doing non-flushing seeks
|
||||
* wavparse: use typefind functions to check if PCM data contains dts stream
|
||||
* v4l2src: massive performance improvement in many cases
|
||||
* streaming mode fixes for avi and matroska/webm
|
||||
* seeking in matroska and webm files that don't have an index
|
||||
* new cpureport element for debugging
|
||||
* avidemux: improve VBR audio stream handling
|
||||
* avidemux: streaming mode fixes: use proper offset for movi-based index, handle 0-size data chunks
|
||||
* debugutils: new element cpureport, posts "cpu-report" element messages on bus
|
||||
* flacdec, rtspsrc, rtph264pay, rtpmp4vdepay: memory leak fixes
|
||||
* gconfvideosrc: use correct GConf key (ie. not the audiosrc key)
|
||||
* gdkpixbuf: remove gdkpixbuf3 plugin again, gdk-pixbuf was split out of gtk+ and will stay at 2.x
|
||||
* id3v2mux: write beats-per-minute tag using TBPM frame
|
||||
* jpegdec: fix markers parsing regression
|
||||
* matroskademux: do not error out on a block with unknown tracknumber
|
||||
* matroskademux: fix streaming in case where the size in bytes is unknown
|
||||
* matroskademux: handle bogus files storing ADTS AAC data
|
||||
* matroskademux: support seeking in local files even if they don't have an index
|
||||
* matroskamux: don't try to seek back and fix up headers if streamable=TRUE
|
||||
* pulsesink: fix race when creating multiple pulsesinks at the same time
|
||||
* qtdemux: also calculate PAR using track width and height for QT files
|
||||
* qtdemux: fix the max/avg in btrt atom reading
|
||||
* qtdemux: improve reverse playback
|
||||
* qtdemux: parse 64-bit version of mvhd atom as well instead of erroring out
|
||||
* qtdemux: prevent reading past avc1 atom when parsing
|
||||
* rtpg729pay: avoid basertppayload perfect-rtptime mode
|
||||
* rtph263pdepay: allow more clock-rates as input
|
||||
* rtpL16depay: also parse encoding-params for the number of channels
|
||||
* rtpL16depay: default to 1 channel if number of channels not specified
|
||||
* rtpmp4gpay: implement perfect timestamps
|
||||
* rtspsrc: add "port-range" property, useful for setups with firewall/ipsec
|
||||
* rtspsrc: don't reuse udp sockets (avoids odd errors when data from previous streams is received)
|
||||
* udpsrc: add "reuse" property to enable or disable port reuse (enabled by default, but disabled in rtspsrc)
|
||||
* v4l2: sort formats in the right order so that non-emulated formats are prefered
|
||||
* videobalance: fix wrong locking order that could lead to a deadlock
|
||||
* videomixer: only reset QoS information and send a NEWSEGMENT event downstream for NEWSEGMENT events on the master pad
|
||||
|
||||
Bugs fixed in this release
|
||||
|
||||
* 619045 : [spectrum] Add support for 24-bit width and all depth combinations
|
||||
* 555967 : [oss4] clarify some translation strings
|
||||
* 570761 : [goom] crash in plugin_info_init allocating 260kB struct on stack
|
||||
* 583047 : [jpegdec] optimise buffer handling when parsing frames
|
||||
* 589997 : [rtp] need mpa-robust depayloader for helix-style MP3-DRAFT-00
|
||||
* 595978 : [udpsrc] failed to play a multicast stream
|
||||
* 597695 : [udpsrc] support VLC-style udp://239.255.11.11:1234 uri with bind address
|
||||
* 611117 : [matroskademux] can't handle unknown cluster sizes
|
||||
* 613066 : [flvmux] re-enable renamed/fixed is-live property
|
||||
* 615461 : dv1394src clock continues to be broken
|
||||
* 617339 : pulsesink doesn't make use of pa_stream_begin_write
|
||||
* 618530 : [videomixer] Doesn't handle pixel-aspect-ratio correctly
|
||||
* 618871 : 1394: remove useless last_time
|
||||
* 618982 : [wavparse] wrong closing segment when doing non-flushing seek
|
||||
* 619198 : [matroskademux] GstEbmlRead cleanup
|
||||
* 619273 : [matroskamux] reduce downstream spam
|
||||
* 619293 : [avimux] clean up avi header creation code
|
||||
* 619531 : [rtspsrc] embedded asx streams' rtsp server doesn't like gstreamer request
|
||||
* 619717 : unit tests fail if older -good plugins are present in system plugin directory
|
||||
* 619824 : Use glib for checksumming
|
||||
* 619848 : [deinterlace] can't switch properties on running pipeline
|
||||
* 620148 : [videomixer] Doesn't negotiate format with downstream
|
||||
* 620154 : [rtph264depay] Seeking with RTP payloaders corrupts images sometimes
|
||||
* 620162 : [gdkpixbufdec] Bump rank to SECONDARY
|
||||
* 620277 : [pulsesink] custom clock is still used after NULL state change
|
||||
* 620358 : [matroskademux] Sorenson Squish WebM output seeking issues
|
||||
* 620390 : rtph264pay doesn't understand short startcodes
|
||||
* 620494 : [rtsp] stuttery audio with some h264/aac streams
|
||||
* 620540 : [pulsesink] pa_stream_write() failed: Invalid argument
|
||||
* 620591 : rtpceltpay doesn't handle stereo celt audio
|
||||
* 620743 : matroskademux: refactor delta unit handling
|
||||
* 620929 : Required libraw1394 version is not high enough
|
||||
* 621510 : GNOME Goal: Remove deprecated glib symbols
|
||||
* 621566 : [pulsesink] since upgrading plugins sound is garbled via Amarok
|
||||
* 621723 : v4l2src crashes on PLAYING- > READY- > PLAYING
|
||||
* 622498 : [avidemux] Doesn't reset all state when going back to READY
|
||||
* 622500 : [v4l2sink] destroy open buffers when changing to NULL
|
||||
* 622501 : [videobox] may negotiate input/output format combinations it can't actually handle
|
||||
* 622816 : Make demos -DSEAL safe
|
||||
* 623103 : matroskamux dispose error
|
||||
* 623172 : [jpegdec] leak in unit test
|
||||
* 623196 : rtpptdemux: don't send custom downstream event twice
|
||||
* 623366 : [qtdemux] strip out bogus tags from XMP
|
||||
* 623379 : [flvmux] Writing duration outside the allocated memory area in streaming mode
|
||||
* 623585 : jpegdec: fails to skip extra 0xff markers at start
|
||||
* 623654 : qtdemux: Fix order of bitrates in 'btrt' atom
|
||||
* 619817 : [matroskademux] Reverse playback doesn't work
|
||||
* 617512 : [alpha] should work in passthrough in all formats if alpha == 1.0
|
||||
* 619485 : matroskademux: skip buffers before a late keyframe (QoS)
|
||||
* 413942 : [wavparse] undetected dts-in-wav
|
||||
* 626463 : [matroskademux] " reading large block of size 14688496 not supported "
|
||||
* 593117 : [avidemux] Support AVF files
|
||||
* 618535 : [avidemux] fails to stream eva_2010_2.22_promo1.avi
|
||||
* 621520 : [id3v2mux] write beats-per-minute tag
|
||||
* 622017 : [GstRtpMP4GDepay] Packet payload was too short.
|
||||
* 622577 : rtspsrc has confusing error messages
|
||||
* 623209 : bug in rtpL16depay
|
||||
* 623357 : avidemux: push mode doesn't work for some http streaming avi files
|
||||
* 623629 : Reverse Playback Issue in QtDemux
|
||||
* 624173 : [qtdemux] qt file with dimension data in tkhd does not get pixel-aspect-ratio in caps
|
||||
* 624331 : videobalance: deadlocks/freezes when changing " brightness " property
|
||||
* 624455 : The matroska muxer seeks even when used with streamable=TRUE
|
||||
* 624770 : rtspsrc: memory leak in gst_rtspsrc_handle_request
|
||||
* 625002 : [examples] Don't use GdkDraw
|
||||
* 625153 : rtspsrc: add property to set client port range
|
||||
* 625302 : [qtdemux] Set the pixel-aspect-ratio field also for par=1/1
|
||||
* 625371 : [matroskademux] critical warnings when playing live webm with progressive download enabled
|
||||
* 625442 : pulsesink: crash - pa_threaded_mainloop_stop is called from the pa thread
|
||||
* 625452 : [videomixer] Pipeline from the docs doesn't work anymore
|
||||
* 626467 : matroskademux: CRITICAL **: file matroska-demux.c: line 578 (gst_matroska_demux_get_length): should not be reached
|
||||
* 626609 : [qtdemux] segfault when parsing avc1 atom
|
||||
* 626619 : [imagefreeze] Incorrect seek behaviour
|
||||
* 627689 : [deinterlace] Broken timestamps
|
||||
* 617368 : [matroska] Implement push-mode seeking and non-cue seeking
|
||||
|
||||
Download
|
||||
|
||||
|
@ -185,30 +144,17 @@ Applications
|
|||
Contributors to this release
|
||||
|
||||
* Alessandro Decina
|
||||
* Alexander Kojevnikov
|
||||
* Andoni Morales Alastruey
|
||||
* Andrzej K. Haczewski
|
||||
* Arun Raghavan
|
||||
* Benjamin Otte
|
||||
* Arnaud Vrac
|
||||
* David Schleef
|
||||
* Edward Hervey
|
||||
* Guido Günther
|
||||
* Havoc Pennington
|
||||
* Julien Moutte
|
||||
* Keith Nicholson
|
||||
* Marc-André Lureau
|
||||
* Jonathan Matthew
|
||||
* Mark Nauwelaerts
|
||||
* Michael Grzeschik
|
||||
* Philip Jägenstedt
|
||||
* Pierre-Louis Bossart
|
||||
* Philippe Normand
|
||||
* Sebastian Dröge
|
||||
* Sjoerd Simons
|
||||
* Stefan Kost
|
||||
* Thiago Santos
|
||||
* Thijs Vermeir
|
||||
* Tim-Philipp Müller
|
||||
* Tristan Matthews
|
||||
* Wim Taymans
|
||||
* Xavier Queralt
|
||||
* Zaheer Abbas Merali
|
||||
|
|
@ -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, 0.10.24.5,
|
||||
AC_INIT(GStreamer Good Plug-ins, 0.10.25,
|
||||
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
|
||||
gst-plugins-good)
|
||||
|
||||
|
|
|
@ -32,6 +32,17 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library).
|
|||
</GitRepository>
|
||||
</repository>
|
||||
|
||||
<release>
|
||||
<Version>
|
||||
<revision>0.10.25</revision>
|
||||
<branch>0.10</branch>
|
||||
<name>Woe to You Oh Earth and Sea</name>
|
||||
<created>2010-09-02</created>
|
||||
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.25.tar.bz2" />
|
||||
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.25.tar.gz" />
|
||||
</Version>
|
||||
</release>
|
||||
|
||||
<release>
|
||||
<Version>
|
||||
<revision>0.10.24</revision>
|
||||
|
|
|
@ -47,23 +47,14 @@ typedef unsigned long orc_uint64;
|
|||
#endif
|
||||
#endif
|
||||
typedef union
|
||||
{
|
||||
orc_int16 i;
|
||||
orc_int8 x2[2];
|
||||
} orc_union16;
|
||||
typedef union
|
||||
{
|
||||
orc_int32 i;
|
||||
float f;
|
||||
orc_int16 x2[2];
|
||||
orc_int8 x4[4];
|
||||
} orc_union32;
|
||||
typedef union
|
||||
{
|
||||
orc_int64 i;
|
||||
double f;
|
||||
orc_int32 x2[2];
|
||||
orc_int16 x4[4];
|
||||
} orc_union64;
|
||||
#endif
|
||||
|
||||
|
@ -101,17 +92,6 @@ void deinterlace_line_linear_blend (guint8 * d1, const guint8 * s1,
|
|||
#define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
|
||||
#define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
|
||||
#define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
|
||||
#define ORC_MIN_NORMAL (1.1754944909521339405e-38)
|
||||
#define ORC_DENORMAL(x) (((x) > -ORC_MIN_NORMAL && (x) < ORC_MIN_NORMAL) ? ((x)<0 ? (-0.0f) : (0.0f)) : (x))
|
||||
#define ORC_MINF(a,b) (isnan(a) ? a : isnan(b) ? b : ((a)<(b)) ? (a) : (b))
|
||||
#define ORC_MAXF(a,b) (isnan(a) ? a : isnan(b) ? b : ((a)>(b)) ? (a) : (b))
|
||||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
#define ORC_RESTRICT restrict
|
||||
#elif defined(__GNUC__) && __GNUC__ >= 4
|
||||
#define ORC_RESTRICT __restrict__
|
||||
#else
|
||||
#define ORC_RESTRICT
|
||||
#endif
|
||||
/* end Orc C target preamble */
|
||||
|
||||
|
||||
|
@ -123,32 +103,35 @@ deinterlace_line_vfir (guint8 * d1, const guint8 * s1, const guint8 * s2,
|
|||
const guint8 * s3, const guint8 * s4, const guint8 * s5, int n)
|
||||
{
|
||||
int i;
|
||||
orc_int8 *ORC_RESTRICT ptr0;
|
||||
const orc_int8 *ORC_RESTRICT ptr4;
|
||||
const orc_int8 *ORC_RESTRICT ptr5;
|
||||
const orc_int8 *ORC_RESTRICT ptr6;
|
||||
const orc_int8 *ORC_RESTRICT ptr7;
|
||||
const orc_int8 *ORC_RESTRICT ptr8;
|
||||
orc_int8 var35;
|
||||
orc_int8 var36;
|
||||
orc_int8 var37;
|
||||
orc_int8 var38;
|
||||
orc_int8 var39;
|
||||
orc_union16 var40;
|
||||
orc_int8 var41;
|
||||
orc_union16 var42;
|
||||
orc_union16 var43;
|
||||
orc_union16 var44;
|
||||
orc_union16 var45;
|
||||
orc_union16 var46;
|
||||
orc_union16 var47;
|
||||
orc_union16 var48;
|
||||
orc_union16 var49;
|
||||
orc_union16 var50;
|
||||
orc_union16 var51;
|
||||
orc_union16 var52;
|
||||
orc_union16 var53;
|
||||
orc_union16 var54;
|
||||
orc_int8 var0;
|
||||
orc_int8 *ptr0;
|
||||
orc_int8 var4;
|
||||
const orc_int8 *ptr4;
|
||||
orc_int8 var5;
|
||||
const orc_int8 *ptr5;
|
||||
orc_int8 var6;
|
||||
const orc_int8 *ptr6;
|
||||
orc_int8 var7;
|
||||
const orc_int8 *ptr7;
|
||||
orc_int8 var8;
|
||||
const orc_int8 *ptr8;
|
||||
const orc_int16 var16 = 2;
|
||||
const orc_int16 var17 = 1;
|
||||
const orc_int16 var18 = 4;
|
||||
const orc_int16 var19 = 3;
|
||||
orc_int16 var32;
|
||||
orc_int16 var33;
|
||||
orc_int16 var34;
|
||||
orc_int16 var35;
|
||||
orc_int16 var36;
|
||||
orc_int16 var37;
|
||||
orc_int16 var38;
|
||||
orc_int16 var39;
|
||||
orc_int16 var40;
|
||||
orc_int16 var41;
|
||||
orc_int16 var42;
|
||||
orc_int16 var43;
|
||||
orc_int16 var44;
|
||||
|
||||
ptr0 = (orc_int8 *) d1;
|
||||
ptr4 = (orc_int8 *) s1;
|
||||
|
@ -158,84 +141,85 @@ deinterlace_line_vfir (guint8 * d1, const guint8 * s1, const guint8 * s2,
|
|||
ptr8 = (orc_int8 *) s5;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadb */
|
||||
var35 = ptr4[i];
|
||||
var4 = *ptr4;
|
||||
ptr4++;
|
||||
var5 = *ptr5;
|
||||
ptr5++;
|
||||
var6 = *ptr6;
|
||||
ptr6++;
|
||||
var7 = *ptr7;
|
||||
ptr7++;
|
||||
var8 = *ptr8;
|
||||
ptr8++;
|
||||
/* 0: convubw */
|
||||
var32 = (orc_uint8) var4;
|
||||
/* 1: convubw */
|
||||
var42.i = (orc_uint8) var35;
|
||||
/* 2: loadb */
|
||||
var36 = ptr8[i];
|
||||
var33 = (orc_uint8) var8;
|
||||
/* 2: addw */
|
||||
var35 = var32 + var33;
|
||||
/* 3: convubw */
|
||||
var43.i = (orc_uint8) var36;
|
||||
/* 4: addw */
|
||||
var44.i = var42.i + var43.i;
|
||||
/* 5: loadb */
|
||||
var37 = ptr5[i];
|
||||
/* 6: convubw */
|
||||
var45.i = (orc_uint8) var37;
|
||||
/* 7: loadb */
|
||||
var38 = ptr7[i];
|
||||
/* 8: convubw */
|
||||
var46.i = (orc_uint8) var38;
|
||||
/* 9: addw */
|
||||
var47.i = var45.i + var46.i;
|
||||
/* 10: shlw */
|
||||
var48.i = var47.i << 2;
|
||||
/* 11: loadb */
|
||||
var39 = ptr6[i];
|
||||
/* 12: convubw */
|
||||
var49.i = (orc_uint8) var39;
|
||||
/* 13: shlw */
|
||||
var50.i = var49.i << 1;
|
||||
/* 14: subw */
|
||||
var51.i = var48.i - var44.i;
|
||||
/* 15: addw */
|
||||
var52.i = var51.i + var50.i;
|
||||
/* 16: loadpw */
|
||||
var40.i = 4;
|
||||
/* 17: addw */
|
||||
var53.i = var52.i + var40.i;
|
||||
/* 18: shrsw */
|
||||
var54.i = var53.i >> 3;
|
||||
/* 19: convsuswb */
|
||||
var41 = ORC_CLAMP_UB (var54.i);
|
||||
/* 20: storeb */
|
||||
ptr0[i] = var41;
|
||||
var36 = (orc_uint8) var5;
|
||||
/* 4: convubw */
|
||||
var34 = (orc_uint8) var7;
|
||||
/* 5: addw */
|
||||
var37 = var36 + var34;
|
||||
/* 6: shlw */
|
||||
var38 = var37 << var16;
|
||||
/* 7: convubw */
|
||||
var39 = (orc_uint8) var6;
|
||||
/* 8: shlw */
|
||||
var40 = var39 << var17;
|
||||
/* 9: subw */
|
||||
var41 = var38 - var35;
|
||||
/* 10: addw */
|
||||
var42 = var41 + var40;
|
||||
/* 11: addw */
|
||||
var43 = var42 + var18;
|
||||
/* 12: shrsw */
|
||||
var44 = var43 >> var19;
|
||||
/* 13: convsuswb */
|
||||
var0 = ORC_CLAMP_UB (var44);
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#else
|
||||
static void
|
||||
_backup_deinterlace_line_vfir (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_deinterlace_line_vfir (OrcExecutor * ex)
|
||||
{
|
||||
int i;
|
||||
int n = ex->n;
|
||||
orc_int8 *ORC_RESTRICT ptr0;
|
||||
const orc_int8 *ORC_RESTRICT ptr4;
|
||||
const orc_int8 *ORC_RESTRICT ptr5;
|
||||
const orc_int8 *ORC_RESTRICT ptr6;
|
||||
const orc_int8 *ORC_RESTRICT ptr7;
|
||||
const orc_int8 *ORC_RESTRICT ptr8;
|
||||
orc_int8 var35;
|
||||
orc_int8 var36;
|
||||
orc_int8 var37;
|
||||
orc_int8 var38;
|
||||
orc_int8 var39;
|
||||
orc_union16 var40;
|
||||
orc_int8 var41;
|
||||
orc_union16 var42;
|
||||
orc_union16 var43;
|
||||
orc_union16 var44;
|
||||
orc_union16 var45;
|
||||
orc_union16 var46;
|
||||
orc_union16 var47;
|
||||
orc_union16 var48;
|
||||
orc_union16 var49;
|
||||
orc_union16 var50;
|
||||
orc_union16 var51;
|
||||
orc_union16 var52;
|
||||
orc_union16 var53;
|
||||
orc_union16 var54;
|
||||
orc_int8 var0;
|
||||
orc_int8 *ptr0;
|
||||
orc_int8 var4;
|
||||
const orc_int8 *ptr4;
|
||||
orc_int8 var5;
|
||||
const orc_int8 *ptr5;
|
||||
orc_int8 var6;
|
||||
const orc_int8 *ptr6;
|
||||
orc_int8 var7;
|
||||
const orc_int8 *ptr7;
|
||||
orc_int8 var8;
|
||||
const orc_int8 *ptr8;
|
||||
const orc_int16 var16 = 2;
|
||||
const orc_int16 var17 = 1;
|
||||
const orc_int16 var18 = 4;
|
||||
const orc_int16 var19 = 3;
|
||||
orc_int16 var32;
|
||||
orc_int16 var33;
|
||||
orc_int16 var34;
|
||||
orc_int16 var35;
|
||||
orc_int16 var36;
|
||||
orc_int16 var37;
|
||||
orc_int16 var38;
|
||||
orc_int16 var39;
|
||||
orc_int16 var40;
|
||||
orc_int16 var41;
|
||||
orc_int16 var42;
|
||||
orc_int16 var43;
|
||||
orc_int16 var44;
|
||||
|
||||
ptr0 = (orc_int8 *) ex->arrays[0];
|
||||
ptr4 = (orc_int8 *) ex->arrays[4];
|
||||
|
@ -245,48 +229,46 @@ _backup_deinterlace_line_vfir (OrcExecutor * ORC_RESTRICT ex)
|
|||
ptr8 = (orc_int8 *) ex->arrays[8];
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadb */
|
||||
var35 = ptr4[i];
|
||||
var4 = *ptr4;
|
||||
ptr4++;
|
||||
var5 = *ptr5;
|
||||
ptr5++;
|
||||
var6 = *ptr6;
|
||||
ptr6++;
|
||||
var7 = *ptr7;
|
||||
ptr7++;
|
||||
var8 = *ptr8;
|
||||
ptr8++;
|
||||
/* 0: convubw */
|
||||
var32 = (orc_uint8) var4;
|
||||
/* 1: convubw */
|
||||
var42.i = (orc_uint8) var35;
|
||||
/* 2: loadb */
|
||||
var36 = ptr8[i];
|
||||
var33 = (orc_uint8) var8;
|
||||
/* 2: addw */
|
||||
var35 = var32 + var33;
|
||||
/* 3: convubw */
|
||||
var43.i = (orc_uint8) var36;
|
||||
/* 4: addw */
|
||||
var44.i = var42.i + var43.i;
|
||||
/* 5: loadb */
|
||||
var37 = ptr5[i];
|
||||
/* 6: convubw */
|
||||
var45.i = (orc_uint8) var37;
|
||||
/* 7: loadb */
|
||||
var38 = ptr7[i];
|
||||
/* 8: convubw */
|
||||
var46.i = (orc_uint8) var38;
|
||||
/* 9: addw */
|
||||
var47.i = var45.i + var46.i;
|
||||
/* 10: shlw */
|
||||
var48.i = var47.i << 2;
|
||||
/* 11: loadb */
|
||||
var39 = ptr6[i];
|
||||
/* 12: convubw */
|
||||
var49.i = (orc_uint8) var39;
|
||||
/* 13: shlw */
|
||||
var50.i = var49.i << 1;
|
||||
/* 14: subw */
|
||||
var51.i = var48.i - var44.i;
|
||||
/* 15: addw */
|
||||
var52.i = var51.i + var50.i;
|
||||
/* 16: loadpw */
|
||||
var40.i = 4;
|
||||
/* 17: addw */
|
||||
var53.i = var52.i + var40.i;
|
||||
/* 18: shrsw */
|
||||
var54.i = var53.i >> 3;
|
||||
/* 19: convsuswb */
|
||||
var41 = ORC_CLAMP_UB (var54.i);
|
||||
/* 20: storeb */
|
||||
ptr0[i] = var41;
|
||||
var36 = (orc_uint8) var5;
|
||||
/* 4: convubw */
|
||||
var34 = (orc_uint8) var7;
|
||||
/* 5: addw */
|
||||
var37 = var36 + var34;
|
||||
/* 6: shlw */
|
||||
var38 = var37 << var16;
|
||||
/* 7: convubw */
|
||||
var39 = (orc_uint8) var6;
|
||||
/* 8: shlw */
|
||||
var40 = var39 << var17;
|
||||
/* 9: subw */
|
||||
var41 = var38 - var35;
|
||||
/* 10: addw */
|
||||
var42 = var41 + var40;
|
||||
/* 11: addw */
|
||||
var43 = var42 + var18;
|
||||
/* 12: shrsw */
|
||||
var44 = var43 >> var19;
|
||||
/* 13: convsuswb */
|
||||
var0 = ORC_CLAMP_UB (var44);
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -314,42 +296,28 @@ deinterlace_line_vfir (guint8 * d1, const guint8 * s1, const guint8 * 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, 2, 0x00000002, "c1");
|
||||
orc_program_add_constant (p, 2, 0x00000001, "c2");
|
||||
orc_program_add_constant (p, 2, 0x00000004, "c3");
|
||||
orc_program_add_constant (p, 2, 0x00000003, "c4");
|
||||
orc_program_add_constant (p, 2, 2, "c1");
|
||||
orc_program_add_constant (p, 2, 1, "c2");
|
||||
orc_program_add_constant (p, 2, 4, "c3");
|
||||
orc_program_add_constant (p, 2, 3, "c4");
|
||||
orc_program_add_temporary (p, 2, "t1");
|
||||
orc_program_add_temporary (p, 2, "t2");
|
||||
orc_program_add_temporary (p, 2, "t3");
|
||||
|
||||
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S5, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S4, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "shlw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "shlw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C3,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C4,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T2,
|
||||
ORC_VAR_D1, ORC_VAR_D1);
|
||||
orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
|
||||
orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S5, ORC_VAR_D1);
|
||||
orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
|
||||
orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
|
||||
orc_program_append (p, "convubw", ORC_VAR_T3, ORC_VAR_S4, ORC_VAR_D1);
|
||||
orc_program_append (p, "addw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3);
|
||||
orc_program_append (p, "shlw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1);
|
||||
orc_program_append (p, "convubw", ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1);
|
||||
orc_program_append (p, "shlw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2);
|
||||
orc_program_append (p, "subw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T1);
|
||||
orc_program_append (p, "addw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3);
|
||||
orc_program_append (p, "addw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C3);
|
||||
orc_program_append (p, "shrsw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C4);
|
||||
orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1);
|
||||
|
||||
result = orc_program_compile (p);
|
||||
}
|
||||
|
@ -379,56 +347,56 @@ deinterlace_line_linear (guint8 * d1, const guint8 * s1, const guint8 * s2,
|
|||
int n)
|
||||
{
|
||||
int i;
|
||||
orc_int8 *ORC_RESTRICT ptr0;
|
||||
const orc_int8 *ORC_RESTRICT ptr4;
|
||||
const orc_int8 *ORC_RESTRICT ptr5;
|
||||
orc_int8 var32;
|
||||
orc_int8 var33;
|
||||
orc_int8 var34;
|
||||
orc_int8 var0;
|
||||
orc_int8 *ptr0;
|
||||
orc_int8 var4;
|
||||
const orc_int8 *ptr4;
|
||||
orc_int8 var5;
|
||||
const orc_int8 *ptr5;
|
||||
|
||||
ptr0 = (orc_int8 *) d1;
|
||||
ptr4 = (orc_int8 *) s1;
|
||||
ptr5 = (orc_int8 *) s2;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadb */
|
||||
var32 = ptr4[i];
|
||||
/* 1: loadb */
|
||||
var33 = ptr5[i];
|
||||
/* 2: avgub */
|
||||
var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
|
||||
/* 3: storeb */
|
||||
ptr0[i] = var34;
|
||||
var4 = *ptr4;
|
||||
ptr4++;
|
||||
var5 = *ptr5;
|
||||
ptr5++;
|
||||
/* 0: avgub */
|
||||
var0 = ((orc_uint8) var4 + (orc_uint8) var5 + 1) >> 1;
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#else
|
||||
static void
|
||||
_backup_deinterlace_line_linear (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_deinterlace_line_linear (OrcExecutor * ex)
|
||||
{
|
||||
int i;
|
||||
int n = ex->n;
|
||||
orc_int8 *ORC_RESTRICT ptr0;
|
||||
const orc_int8 *ORC_RESTRICT ptr4;
|
||||
const orc_int8 *ORC_RESTRICT ptr5;
|
||||
orc_int8 var32;
|
||||
orc_int8 var33;
|
||||
orc_int8 var34;
|
||||
orc_int8 var0;
|
||||
orc_int8 *ptr0;
|
||||
orc_int8 var4;
|
||||
const orc_int8 *ptr4;
|
||||
orc_int8 var5;
|
||||
const orc_int8 *ptr5;
|
||||
|
||||
ptr0 = (orc_int8 *) ex->arrays[0];
|
||||
ptr4 = (orc_int8 *) ex->arrays[4];
|
||||
ptr5 = (orc_int8 *) ex->arrays[5];
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadb */
|
||||
var32 = ptr4[i];
|
||||
/* 1: loadb */
|
||||
var33 = ptr5[i];
|
||||
/* 2: avgub */
|
||||
var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
|
||||
/* 3: storeb */
|
||||
ptr0[i] = var34;
|
||||
var4 = *ptr4;
|
||||
ptr4++;
|
||||
var5 = *ptr5;
|
||||
ptr5++;
|
||||
/* 0: avgub */
|
||||
var0 = ((orc_uint8) var4 + (orc_uint8) var5 + 1) >> 1;
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -454,8 +422,7 @@ deinterlace_line_linear (guint8 * d1, const guint8 * s1, const guint8 * s2,
|
|||
orc_program_add_source (p, 1, "s1");
|
||||
orc_program_add_source (p, 1, "s2");
|
||||
|
||||
orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append (p, "avgub", ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2);
|
||||
|
||||
result = orc_program_compile (p);
|
||||
}
|
||||
|
@ -482,23 +449,24 @@ deinterlace_line_linear_blend (guint8 * d1, const guint8 * s1,
|
|||
const guint8 * s2, const guint8 * s3, int n)
|
||||
{
|
||||
int i;
|
||||
orc_int8 *ORC_RESTRICT ptr0;
|
||||
const orc_int8 *ORC_RESTRICT ptr4;
|
||||
const orc_int8 *ORC_RESTRICT ptr5;
|
||||
const orc_int8 *ORC_RESTRICT ptr6;
|
||||
orc_int8 var35;
|
||||
orc_int8 var36;
|
||||
orc_int8 var37;
|
||||
orc_union16 var38;
|
||||
orc_int8 var39;
|
||||
orc_union16 var40;
|
||||
orc_union16 var41;
|
||||
orc_union16 var42;
|
||||
orc_union16 var43;
|
||||
orc_union16 var44;
|
||||
orc_union16 var45;
|
||||
orc_union16 var46;
|
||||
orc_union16 var47;
|
||||
orc_int8 var0;
|
||||
orc_int8 *ptr0;
|
||||
orc_int8 var4;
|
||||
const orc_int8 *ptr4;
|
||||
orc_int8 var5;
|
||||
const orc_int8 *ptr5;
|
||||
orc_int8 var6;
|
||||
const orc_int8 *ptr6;
|
||||
const orc_int16 var16 = 2;
|
||||
const orc_int16 var17 = 2;
|
||||
orc_int16 var32;
|
||||
orc_int16 var33;
|
||||
orc_int16 var34;
|
||||
orc_int16 var35;
|
||||
orc_int16 var36;
|
||||
orc_int16 var37;
|
||||
orc_int16 var38;
|
||||
orc_int16 var39;
|
||||
|
||||
ptr0 = (orc_int8 *) d1;
|
||||
ptr4 = (orc_int8 *) s1;
|
||||
|
@ -506,61 +474,60 @@ deinterlace_line_linear_blend (guint8 * d1, const guint8 * s1,
|
|||
ptr6 = (orc_int8 *) s3;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadb */
|
||||
var35 = ptr4[i];
|
||||
var4 = *ptr4;
|
||||
ptr4++;
|
||||
var5 = *ptr5;
|
||||
ptr5++;
|
||||
var6 = *ptr6;
|
||||
ptr6++;
|
||||
/* 0: convubw */
|
||||
var32 = (orc_uint8) var4;
|
||||
/* 1: convubw */
|
||||
var40.i = (orc_uint8) var35;
|
||||
/* 2: loadb */
|
||||
var36 = ptr5[i];
|
||||
/* 3: convubw */
|
||||
var41.i = (orc_uint8) var36;
|
||||
/* 4: loadb */
|
||||
var37 = ptr6[i];
|
||||
/* 5: convubw */
|
||||
var42.i = (orc_uint8) var37;
|
||||
var33 = (orc_uint8) var5;
|
||||
/* 2: convubw */
|
||||
var34 = (orc_uint8) var6;
|
||||
/* 3: addw */
|
||||
var35 = var32 + var33;
|
||||
/* 4: addw */
|
||||
var36 = var34 + var34;
|
||||
/* 5: addw */
|
||||
var37 = var35 + var36;
|
||||
/* 6: addw */
|
||||
var43.i = var40.i + var41.i;
|
||||
/* 7: addw */
|
||||
var44.i = var42.i + var42.i;
|
||||
/* 8: addw */
|
||||
var45.i = var43.i + var44.i;
|
||||
/* 9: loadpw */
|
||||
var38.i = 2;
|
||||
/* 10: addw */
|
||||
var46.i = var45.i + var38.i;
|
||||
/* 11: shrsw */
|
||||
var47.i = var46.i >> 2;
|
||||
/* 12: convsuswb */
|
||||
var39 = ORC_CLAMP_UB (var47.i);
|
||||
/* 13: storeb */
|
||||
ptr0[i] = var39;
|
||||
var38 = var37 + var16;
|
||||
/* 7: shrsw */
|
||||
var39 = var38 >> var17;
|
||||
/* 8: convsuswb */
|
||||
var0 = ORC_CLAMP_UB (var39);
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#else
|
||||
static void
|
||||
_backup_deinterlace_line_linear_blend (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_deinterlace_line_linear_blend (OrcExecutor * ex)
|
||||
{
|
||||
int i;
|
||||
int n = ex->n;
|
||||
orc_int8 *ORC_RESTRICT ptr0;
|
||||
const orc_int8 *ORC_RESTRICT ptr4;
|
||||
const orc_int8 *ORC_RESTRICT ptr5;
|
||||
const orc_int8 *ORC_RESTRICT ptr6;
|
||||
orc_int8 var35;
|
||||
orc_int8 var36;
|
||||
orc_int8 var37;
|
||||
orc_union16 var38;
|
||||
orc_int8 var39;
|
||||
orc_union16 var40;
|
||||
orc_union16 var41;
|
||||
orc_union16 var42;
|
||||
orc_union16 var43;
|
||||
orc_union16 var44;
|
||||
orc_union16 var45;
|
||||
orc_union16 var46;
|
||||
orc_union16 var47;
|
||||
orc_int8 var0;
|
||||
orc_int8 *ptr0;
|
||||
orc_int8 var4;
|
||||
const orc_int8 *ptr4;
|
||||
orc_int8 var5;
|
||||
const orc_int8 *ptr5;
|
||||
orc_int8 var6;
|
||||
const orc_int8 *ptr6;
|
||||
const orc_int16 var16 = 2;
|
||||
const orc_int16 var17 = 2;
|
||||
orc_int16 var32;
|
||||
orc_int16 var33;
|
||||
orc_int16 var34;
|
||||
orc_int16 var35;
|
||||
orc_int16 var36;
|
||||
orc_int16 var37;
|
||||
orc_int16 var38;
|
||||
orc_int16 var39;
|
||||
|
||||
ptr0 = (orc_int8 *) ex->arrays[0];
|
||||
ptr4 = (orc_int8 *) ex->arrays[4];
|
||||
|
@ -568,34 +535,32 @@ _backup_deinterlace_line_linear_blend (OrcExecutor * ORC_RESTRICT ex)
|
|||
ptr6 = (orc_int8 *) ex->arrays[6];
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadb */
|
||||
var35 = ptr4[i];
|
||||
var4 = *ptr4;
|
||||
ptr4++;
|
||||
var5 = *ptr5;
|
||||
ptr5++;
|
||||
var6 = *ptr6;
|
||||
ptr6++;
|
||||
/* 0: convubw */
|
||||
var32 = (orc_uint8) var4;
|
||||
/* 1: convubw */
|
||||
var40.i = (orc_uint8) var35;
|
||||
/* 2: loadb */
|
||||
var36 = ptr5[i];
|
||||
/* 3: convubw */
|
||||
var41.i = (orc_uint8) var36;
|
||||
/* 4: loadb */
|
||||
var37 = ptr6[i];
|
||||
/* 5: convubw */
|
||||
var42.i = (orc_uint8) var37;
|
||||
var33 = (orc_uint8) var5;
|
||||
/* 2: convubw */
|
||||
var34 = (orc_uint8) var6;
|
||||
/* 3: addw */
|
||||
var35 = var32 + var33;
|
||||
/* 4: addw */
|
||||
var36 = var34 + var34;
|
||||
/* 5: addw */
|
||||
var37 = var35 + var36;
|
||||
/* 6: addw */
|
||||
var43.i = var40.i + var41.i;
|
||||
/* 7: addw */
|
||||
var44.i = var42.i + var42.i;
|
||||
/* 8: addw */
|
||||
var45.i = var43.i + var44.i;
|
||||
/* 9: loadpw */
|
||||
var38.i = 2;
|
||||
/* 10: addw */
|
||||
var46.i = var45.i + var38.i;
|
||||
/* 11: shrsw */
|
||||
var47.i = var46.i >> 2;
|
||||
/* 12: convsuswb */
|
||||
var39 = ORC_CLAMP_UB (var47.i);
|
||||
/* 13: storeb */
|
||||
ptr0[i] = var39;
|
||||
var38 = var37 + var16;
|
||||
/* 7: shrsw */
|
||||
var39 = var38 >> var17;
|
||||
/* 8: convsuswb */
|
||||
var0 = ORC_CLAMP_UB (var39);
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -622,30 +587,21 @@ deinterlace_line_linear_blend (guint8 * d1, const guint8 * s1,
|
|||
orc_program_add_source (p, 1, "s1");
|
||||
orc_program_add_source (p, 1, "s2");
|
||||
orc_program_add_source (p, 1, "s3");
|
||||
orc_program_add_constant (p, 2, 0x00000002, "c1");
|
||||
orc_program_add_constant (p, 2, 0x00000002, "c2");
|
||||
orc_program_add_constant (p, 2, 2, "c1");
|
||||
orc_program_add_constant (p, 2, 2, "c2");
|
||||
orc_program_add_temporary (p, 2, "t1");
|
||||
orc_program_add_temporary (p, 2, "t2");
|
||||
orc_program_add_temporary (p, 2, "t3");
|
||||
|
||||
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T3,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
|
||||
ORC_VAR_D1, ORC_VAR_D1);
|
||||
orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1);
|
||||
orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1);
|
||||
orc_program_append (p, "convubw", ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1);
|
||||
orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2);
|
||||
orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T3);
|
||||
orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3);
|
||||
orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1);
|
||||
orc_program_append (p, "shrsw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2);
|
||||
orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1);
|
||||
|
||||
result = orc_program_compile (p);
|
||||
}
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifndef _ORC_INTEGER_TYPEDEFS_
|
||||
#define _ORC_INTEGER_TYPEDEFS_
|
||||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
|
@ -49,10 +47,10 @@ typedef long orc_int64;
|
|||
typedef unsigned long orc_uint64;
|
||||
#endif
|
||||
#endif
|
||||
typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
|
||||
typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
|
||||
typedef union { orc_int64 i; double f; orc_int32 x2[2]; orc_int16 x4[4]; } orc_union64;
|
||||
typedef union { orc_int32 i; float f; } orc_union32;
|
||||
typedef union { orc_int64 i; double f; } orc_union64;
|
||||
#endif
|
||||
|
||||
void deinterlace_line_vfir (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, const guint8 * s4, const guint8 * s5, int n);
|
||||
void deinterlace_line_linear (guint8 * d1, const guint8 * s1, const guint8 * s2, int n);
|
||||
void deinterlace_line_linear_blend (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int n);
|
||||
|
|
|
@ -47,23 +47,14 @@ typedef unsigned long orc_uint64;
|
|||
#endif
|
||||
#endif
|
||||
typedef union
|
||||
{
|
||||
orc_int16 i;
|
||||
orc_int8 x2[2];
|
||||
} orc_union16;
|
||||
typedef union
|
||||
{
|
||||
orc_int32 i;
|
||||
float f;
|
||||
orc_int16 x2[2];
|
||||
orc_int8 x4[4];
|
||||
} orc_union32;
|
||||
typedef union
|
||||
{
|
||||
orc_int64 i;
|
||||
double f;
|
||||
orc_int32 x2[2];
|
||||
orc_int16 x4[4];
|
||||
} orc_union64;
|
||||
#endif
|
||||
|
||||
|
@ -96,17 +87,6 @@ void orc_splat_u32 (guint32 * d1, int p1, int n);
|
|||
#define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
|
||||
#define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
|
||||
#define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
|
||||
#define ORC_MIN_NORMAL (1.1754944909521339405e-38)
|
||||
#define ORC_DENORMAL(x) (((x) > -ORC_MIN_NORMAL && (x) < ORC_MIN_NORMAL) ? ((x)<0 ? (-0.0f) : (0.0f)) : (x))
|
||||
#define ORC_MINF(a,b) (isnan(a) ? a : isnan(b) ? b : ((a)<(b)) ? (a) : (b))
|
||||
#define ORC_MAXF(a,b) (isnan(a) ? a : isnan(b) ? b : ((a)>(b)) ? (a) : (b))
|
||||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
#define ORC_RESTRICT restrict
|
||||
#elif defined(__GNUC__) && __GNUC__ >= 4
|
||||
#define ORC_RESTRICT __restrict__
|
||||
#else
|
||||
#define ORC_RESTRICT
|
||||
#endif
|
||||
/* end Orc C target preamble */
|
||||
|
||||
|
||||
|
@ -117,42 +97,38 @@ void
|
|||
orc_splat_u32 (guint32 * d1, int p1, int n)
|
||||
{
|
||||
int i;
|
||||
orc_union32 *ORC_RESTRICT ptr0;
|
||||
orc_union32 var32;
|
||||
orc_union32 var33;
|
||||
orc_union32 var0;
|
||||
orc_union32 *ptr0;
|
||||
const int var24 = p1;
|
||||
|
||||
ptr0 = (orc_union32 *) d1;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadpl */
|
||||
var32.i = p1;
|
||||
/* 1: copyl */
|
||||
var33.i = var32.i;
|
||||
/* 2: storel */
|
||||
ptr0[i] = var33;
|
||||
/* 0: copyl */
|
||||
var0.i = var24;
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#else
|
||||
static void
|
||||
_backup_orc_splat_u32 (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_orc_splat_u32 (OrcExecutor * ex)
|
||||
{
|
||||
int i;
|
||||
int n = ex->n;
|
||||
orc_union32 *ORC_RESTRICT ptr0;
|
||||
orc_union32 var32;
|
||||
orc_union32 var33;
|
||||
orc_union32 var0;
|
||||
orc_union32 *ptr0;
|
||||
const int var24 = ex->params[24];
|
||||
|
||||
ptr0 = (orc_union32 *) ex->arrays[0];
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadpl */
|
||||
var32.i = ex->params[24];
|
||||
/* 1: copyl */
|
||||
var33.i = var32.i;
|
||||
/* 2: storel */
|
||||
ptr0[i] = var33;
|
||||
/* 0: copyl */
|
||||
var0.i = var24;
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -176,8 +152,7 @@ orc_splat_u32 (guint32 * d1, int p1, int n)
|
|||
orc_program_add_destination (p, 4, "d1");
|
||||
orc_program_add_parameter (p, 4, "p1");
|
||||
|
||||
orc_program_append_2 (p, "copyl", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append (p, "copyl", ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1);
|
||||
|
||||
result = orc_program_compile (p);
|
||||
}
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifndef _ORC_INTEGER_TYPEDEFS_
|
||||
#define _ORC_INTEGER_TYPEDEFS_
|
||||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
|
@ -49,10 +47,10 @@ typedef long orc_int64;
|
|||
typedef unsigned long orc_uint64;
|
||||
#endif
|
||||
#endif
|
||||
typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
|
||||
typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
|
||||
typedef union { orc_int64 i; double f; orc_int32 x2[2]; orc_int16 x4[4]; } orc_union64;
|
||||
typedef union { orc_int32 i; float f; } orc_union32;
|
||||
typedef union { orc_int64 i; double f; } orc_union64;
|
||||
#endif
|
||||
|
||||
void orc_splat_u32 (guint32 * d1, int p1, int n);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -47,23 +47,14 @@ typedef unsigned long orc_uint64;
|
|||
#endif
|
||||
#endif
|
||||
typedef union
|
||||
{
|
||||
orc_int16 i;
|
||||
orc_int8 x2[2];
|
||||
} orc_union16;
|
||||
typedef union
|
||||
{
|
||||
orc_int32 i;
|
||||
float f;
|
||||
orc_int16 x2[2];
|
||||
orc_int8 x4[4];
|
||||
} orc_union32;
|
||||
typedef union
|
||||
{
|
||||
orc_int64 i;
|
||||
double f;
|
||||
orc_int32 x2[2];
|
||||
orc_int16 x4[4];
|
||||
} orc_union64;
|
||||
#endif
|
||||
|
||||
|
@ -99,17 +90,6 @@ void orc_blend_u8 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride,
|
|||
#define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
|
||||
#define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
|
||||
#define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
|
||||
#define ORC_MIN_NORMAL (1.1754944909521339405e-38)
|
||||
#define ORC_DENORMAL(x) (((x) > -ORC_MIN_NORMAL && (x) < ORC_MIN_NORMAL) ? ((x)<0 ? (-0.0f) : (0.0f)) : (x))
|
||||
#define ORC_MINF(a,b) (isnan(a) ? a : isnan(b) ? b : ((a)<(b)) ? (a) : (b))
|
||||
#define ORC_MAXF(a,b) (isnan(a) ? a : isnan(b) ? b : ((a)>(b)) ? (a) : (b))
|
||||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
#define ORC_RESTRICT restrict
|
||||
#elif defined(__GNUC__) && __GNUC__ >= 4
|
||||
#define ORC_RESTRICT __restrict__
|
||||
#else
|
||||
#define ORC_RESTRICT
|
||||
#endif
|
||||
/* end Orc C target preamble */
|
||||
|
||||
|
||||
|
@ -120,42 +100,38 @@ void
|
|||
orc_splat_u32 (guint32 * d1, int p1, int n)
|
||||
{
|
||||
int i;
|
||||
orc_union32 *ORC_RESTRICT ptr0;
|
||||
orc_union32 var32;
|
||||
orc_union32 var33;
|
||||
orc_union32 var0;
|
||||
orc_union32 *ptr0;
|
||||
const int var24 = p1;
|
||||
|
||||
ptr0 = (orc_union32 *) d1;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadpl */
|
||||
var32.i = p1;
|
||||
/* 1: copyl */
|
||||
var33.i = var32.i;
|
||||
/* 2: storel */
|
||||
ptr0[i] = var33;
|
||||
/* 0: copyl */
|
||||
var0.i = var24;
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#else
|
||||
static void
|
||||
_backup_orc_splat_u32 (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_orc_splat_u32 (OrcExecutor * ex)
|
||||
{
|
||||
int i;
|
||||
int n = ex->n;
|
||||
orc_union32 *ORC_RESTRICT ptr0;
|
||||
orc_union32 var32;
|
||||
orc_union32 var33;
|
||||
orc_union32 var0;
|
||||
orc_union32 *ptr0;
|
||||
const int var24 = ex->params[24];
|
||||
|
||||
ptr0 = (orc_union32 *) ex->arrays[0];
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadpl */
|
||||
var32.i = ex->params[24];
|
||||
/* 1: copyl */
|
||||
var33.i = var32.i;
|
||||
/* 2: storel */
|
||||
ptr0[i] = var33;
|
||||
/* 0: copyl */
|
||||
var0.i = var24;
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -179,8 +155,7 @@ orc_splat_u32 (guint32 * d1, int p1, int n)
|
|||
orc_program_add_destination (p, 4, "d1");
|
||||
orc_program_add_parameter (p, 4, "p1");
|
||||
|
||||
orc_program_append_2 (p, "copyl", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append (p, "copyl", ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1);
|
||||
|
||||
result = orc_program_compile (p);
|
||||
}
|
||||
|
@ -205,46 +180,46 @@ void
|
|||
orc_memcpy_u32 (guint32 * d1, const guint32 * s1, int n)
|
||||
{
|
||||
int i;
|
||||
orc_union32 *ORC_RESTRICT ptr0;
|
||||
const orc_union32 *ORC_RESTRICT ptr4;
|
||||
orc_union32 var32;
|
||||
orc_union32 var33;
|
||||
orc_union32 var0;
|
||||
orc_union32 *ptr0;
|
||||
orc_union32 var4;
|
||||
const orc_union32 *ptr4;
|
||||
|
||||
ptr0 = (orc_union32 *) d1;
|
||||
ptr4 = (orc_union32 *) s1;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadl */
|
||||
var32 = ptr4[i];
|
||||
/* 1: copyl */
|
||||
var33.i = var32.i;
|
||||
/* 2: storel */
|
||||
ptr0[i] = var33;
|
||||
var4 = *ptr4;
|
||||
ptr4++;
|
||||
/* 0: copyl */
|
||||
var0.i = var4.i;
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#else
|
||||
static void
|
||||
_backup_orc_memcpy_u32 (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_orc_memcpy_u32 (OrcExecutor * ex)
|
||||
{
|
||||
int i;
|
||||
int n = ex->n;
|
||||
orc_union32 *ORC_RESTRICT ptr0;
|
||||
const orc_union32 *ORC_RESTRICT ptr4;
|
||||
orc_union32 var32;
|
||||
orc_union32 var33;
|
||||
orc_union32 var0;
|
||||
orc_union32 *ptr0;
|
||||
orc_union32 var4;
|
||||
const orc_union32 *ptr4;
|
||||
|
||||
ptr0 = (orc_union32 *) ex->arrays[0];
|
||||
ptr4 = (orc_union32 *) ex->arrays[4];
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadl */
|
||||
var32 = ptr4[i];
|
||||
/* 1: copyl */
|
||||
var33.i = var32.i;
|
||||
/* 2: storel */
|
||||
ptr0[i] = var33;
|
||||
var4 = *ptr4;
|
||||
ptr4++;
|
||||
/* 0: copyl */
|
||||
var0.i = var4.i;
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -268,8 +243,7 @@ orc_memcpy_u32 (guint32 * d1, const guint32 * s1, int n)
|
|||
orc_program_add_destination (p, 4, "d1");
|
||||
orc_program_add_source (p, 4, "s1");
|
||||
|
||||
orc_program_append_2 (p, "copyl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append (p, "copyl", ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1);
|
||||
|
||||
result = orc_program_compile (p);
|
||||
}
|
||||
|
@ -296,49 +270,46 @@ orc_blend_u8 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride,
|
|||
{
|
||||
int i;
|
||||
int j;
|
||||
orc_int8 *ORC_RESTRICT ptr0;
|
||||
const orc_int8 *ORC_RESTRICT ptr4;
|
||||
orc_int8 var34;
|
||||
orc_int8 var35;
|
||||
orc_union16 var36;
|
||||
orc_int8 var37;
|
||||
orc_union16 var38;
|
||||
orc_union16 var39;
|
||||
orc_union16 var40;
|
||||
orc_union16 var41;
|
||||
orc_union16 var42;
|
||||
orc_union16 var43;
|
||||
orc_union16 var44;
|
||||
orc_int8 var0;
|
||||
orc_int8 *ptr0;
|
||||
orc_int8 var4;
|
||||
const orc_int8 *ptr4;
|
||||
const orc_int8 var16 = 8;
|
||||
const int var24 = p1;
|
||||
orc_int16 var32;
|
||||
orc_int16 var33;
|
||||
orc_int16 var34;
|
||||
orc_int16 var35;
|
||||
orc_int16 var36;
|
||||
orc_int16 var37;
|
||||
orc_int16 var38;
|
||||
|
||||
for (j = 0; j < m; j++) {
|
||||
ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
|
||||
ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadb */
|
||||
var34 = ptr0[i];
|
||||
var0 = *ptr0;
|
||||
var4 = *ptr4;
|
||||
ptr4++;
|
||||
/* 0: convubw */
|
||||
var32 = (orc_uint8) var0;
|
||||
/* 1: convubw */
|
||||
var38.i = (orc_uint8) var34;
|
||||
/* 2: loadb */
|
||||
var35 = ptr4[i];
|
||||
/* 3: convubw */
|
||||
var39.i = (orc_uint8) var35;
|
||||
/* 4: subw */
|
||||
var40.i = var39.i - var38.i;
|
||||
/* 5: loadpw */
|
||||
var36.i = p1;
|
||||
/* 6: mullw */
|
||||
var41.i = (var40.i * var36.i) & 0xffff;
|
||||
/* 7: shlw */
|
||||
var42.i = var38.i << 8;
|
||||
/* 8: addw */
|
||||
var43.i = var42.i + var41.i;
|
||||
/* 9: shruw */
|
||||
var44.i = ((orc_uint16) var43.i) >> 8;
|
||||
/* 10: convsuswb */
|
||||
var37 = ORC_CLAMP_UB (var44.i);
|
||||
/* 11: storeb */
|
||||
ptr0[i] = var37;
|
||||
var33 = (orc_uint8) var4;
|
||||
/* 2: subw */
|
||||
var34 = var33 - var32;
|
||||
/* 3: mullw */
|
||||
var35 = (var34 * var24) & 0xffff;
|
||||
/* 4: shlw */
|
||||
var36 = var32 << var16;
|
||||
/* 5: addw */
|
||||
var37 = var36 + var35;
|
||||
/* 6: shruw */
|
||||
var38 = ((orc_uint16) var37) >> var16;
|
||||
/* 7: convsuswb */
|
||||
var0 = ORC_CLAMP_UB (var38);
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -346,55 +317,52 @@ orc_blend_u8 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride,
|
|||
|
||||
#else
|
||||
static void
|
||||
_backup_orc_blend_u8 (OrcExecutor * ORC_RESTRICT ex)
|
||||
_backup_orc_blend_u8 (OrcExecutor * ex)
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
int n = ex->n;
|
||||
int m = ex->params[ORC_VAR_A1];
|
||||
orc_int8 *ORC_RESTRICT ptr0;
|
||||
const orc_int8 *ORC_RESTRICT ptr4;
|
||||
orc_int8 var34;
|
||||
orc_int8 var35;
|
||||
orc_union16 var36;
|
||||
orc_int8 var37;
|
||||
orc_union16 var38;
|
||||
orc_union16 var39;
|
||||
orc_union16 var40;
|
||||
orc_union16 var41;
|
||||
orc_union16 var42;
|
||||
orc_union16 var43;
|
||||
orc_union16 var44;
|
||||
orc_int8 var0;
|
||||
orc_int8 *ptr0;
|
||||
orc_int8 var4;
|
||||
const orc_int8 *ptr4;
|
||||
const orc_int8 var16 = 8;
|
||||
const int var24 = ex->params[24];
|
||||
orc_int16 var32;
|
||||
orc_int16 var33;
|
||||
orc_int16 var34;
|
||||
orc_int16 var35;
|
||||
orc_int16 var36;
|
||||
orc_int16 var37;
|
||||
orc_int16 var38;
|
||||
|
||||
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);
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
/* 0: loadb */
|
||||
var34 = ptr0[i];
|
||||
var0 = *ptr0;
|
||||
var4 = *ptr4;
|
||||
ptr4++;
|
||||
/* 0: convubw */
|
||||
var32 = (orc_uint8) var0;
|
||||
/* 1: convubw */
|
||||
var38.i = (orc_uint8) var34;
|
||||
/* 2: loadb */
|
||||
var35 = ptr4[i];
|
||||
/* 3: convubw */
|
||||
var39.i = (orc_uint8) var35;
|
||||
/* 4: subw */
|
||||
var40.i = var39.i - var38.i;
|
||||
/* 5: loadpw */
|
||||
var36.i = ex->params[24];
|
||||
/* 6: mullw */
|
||||
var41.i = (var40.i * var36.i) & 0xffff;
|
||||
/* 7: shlw */
|
||||
var42.i = var38.i << 8;
|
||||
/* 8: addw */
|
||||
var43.i = var42.i + var41.i;
|
||||
/* 9: shruw */
|
||||
var44.i = ((orc_uint16) var43.i) >> 8;
|
||||
/* 10: convsuswb */
|
||||
var37 = ORC_CLAMP_UB (var44.i);
|
||||
/* 11: storeb */
|
||||
ptr0[i] = var37;
|
||||
var33 = (orc_uint8) var4;
|
||||
/* 2: subw */
|
||||
var34 = var33 - var32;
|
||||
/* 3: mullw */
|
||||
var35 = (var34 * var24) & 0xffff;
|
||||
/* 4: shlw */
|
||||
var36 = var32 << var16;
|
||||
/* 5: addw */
|
||||
var37 = var36 + var35;
|
||||
/* 6: shruw */
|
||||
var38 = ((orc_uint16) var37) >> var16;
|
||||
/* 7: convsuswb */
|
||||
var0 = ORC_CLAMP_UB (var38);
|
||||
*ptr0 = var0;
|
||||
ptr0++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -420,27 +388,19 @@ orc_blend_u8 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride,
|
|||
orc_program_set_backup_function (p, _backup_orc_blend_u8);
|
||||
orc_program_add_destination (p, 1, "d1");
|
||||
orc_program_add_source (p, 1, "s1");
|
||||
orc_program_add_constant (p, 1, 0x00000008, "c1");
|
||||
orc_program_add_constant (p, 1, 8, "c1");
|
||||
orc_program_add_parameter (p, 2, "p1");
|
||||
orc_program_add_temporary (p, 2, "t1");
|
||||
orc_program_add_temporary (p, 2, "t2");
|
||||
|
||||
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S1, ORC_VAR_D1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "shlw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T2,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "shruw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
|
||||
ORC_VAR_D1);
|
||||
orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T2,
|
||||
ORC_VAR_D1, ORC_VAR_D1);
|
||||
orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
|
||||
orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S1, ORC_VAR_D1);
|
||||
orc_program_append (p, "subw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T1);
|
||||
orc_program_append (p, "mullw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1);
|
||||
orc_program_append (p, "shlw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1);
|
||||
orc_program_append (p, "addw", ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T2);
|
||||
orc_program_append (p, "shruw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1);
|
||||
orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1);
|
||||
|
||||
result = orc_program_compile (p);
|
||||
}
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifndef _ORC_INTEGER_TYPEDEFS_
|
||||
#define _ORC_INTEGER_TYPEDEFS_
|
||||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
|
@ -49,10 +47,10 @@ typedef long orc_int64;
|
|||
typedef unsigned long orc_uint64;
|
||||
#endif
|
||||
#endif
|
||||
typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
|
||||
typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
|
||||
typedef union { orc_int64 i; double f; orc_int32 x2[2]; orc_int16 x4[4]; } orc_union64;
|
||||
typedef union { orc_int32 i; float f; } orc_union32;
|
||||
typedef union { orc_int64 i; double f; } orc_union64;
|
||||
#endif
|
||||
|
||||
void orc_splat_u32 (guint32 * d1, int p1, int n);
|
||||
void orc_memcpy_u32 (guint32 * d1, const guint32 * s1, int n);
|
||||
void orc_blend_u8 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int p1, int n, int m);
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
#define GST_LICENSE "LGPL"
|
||||
|
||||
/* package name in plugins */
|
||||
#define GST_PACKAGE_NAME "GStreamer Good Plug-ins prerelease"
|
||||
#define GST_PACKAGE_NAME "GStreamer Good Plug-ins source release"
|
||||
|
||||
/* package origin */
|
||||
#define GST_PACKAGE_ORIGIN "Unknown package origin"
|
||||
|
@ -377,7 +377,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 0.10.24.3"
|
||||
#define PACKAGE_STRING "GStreamer Good Plug-ins 0.10.25"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#define PACKAGE_TARNAME "gst-plugins-good"
|
||||
|
@ -386,7 +386,7 @@
|
|||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "0.10.24.3"
|
||||
#define PACKAGE_VERSION "0.10.25"
|
||||
|
||||
/* directory where plugins are located */
|
||||
#ifdef _DEBUG
|
||||
|
@ -417,7 +417,7 @@
|
|||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#define VERSION "0.10.24.3"
|
||||
#define VERSION "0.10.25"
|
||||
|
||||
/* old wavpack API */
|
||||
#undef WAVPACK_OLD_API
|
||||
|
|
Loading…
Reference in a new issue