summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2017-04-27 17:35:41 +0300
committerSebastian Dröge <sebastian@centricular.com>2017-04-27 17:35:41 +0300
commit4b1c9ef6ace06ae82a08e28a1a1ef0e2278f9655 (patch)
tree5101a12e00eebf339df68515687239c2f93feb2f
parent0282b4ea0116046b93db3a67030db285baf34ae2 (diff)
downloadgst-libav-4b1c9ef6ace06ae82a08e28a1a1ef0e2278f9655.tar.gz
Release 1.11.911.11.91
-rw-r--r--ChangeLog56
-rw-r--r--NEWS2
-rw-r--r--RELEASE18
-rw-r--r--configure.ac8
-rw-r--r--docs/plugins/gst-libav-plugins.args420
-rw-r--r--docs/plugins/gst-libav-plugins.hierarchy12
-rw-r--r--docs/plugins/gst-libav-plugins.interfaces2
-rw-r--r--docs/plugins/inspect/plugin-libav.xml250
-rw-r--r--gst-libav.doap10
-rw-r--r--meson.build2
10 files changed, 753 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog
index cda7b97..4848767 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,61 @@
+=== release 1.11.91 ===
+
+2017-04-27 Sebastian Dröge <slomo@coaxion.net>
+
+ * configure.ac:
+ releasing 1.11.91
+
+2017-04-24 20:30:15 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * common:
+ Automatic update of common submodule
+ From 60aeef6 to 48a5d85
+
+2017-04-21 11:50:17 +1000 Jan Schmidt <jan@centricular.com>
+
+ * configure.ac:
+ Revert "configure: Set the assembler used for libav to $CC"
+ This reverts commit 1a265f029aa9be1bf3f72d1dcd9feafbf23a6298.
+ It also makes it impossible to pass something other than $CC
+ as the assembler. People should adjust the passed AS variable
+ if they need something different.
+
+2017-04-14 14:55:52 +0200 Edward Hervey <edward@centricular.com>
+
+ * configure.ac:
+ configure: Remove usage of memalign_hack in ffmpeg
+ It was removed in the last release
+
+2017-04-13 15:23:45 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/libav/gstavauddec.c:
+ * ext/libav/gstavaudenc.c:
+ avaudenc/dec: Blacklist more PCM decoders/encoders
+
+2017-04-13 15:15:55 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/ext/libav:
+ libav: Update to ffmpeg n3.3
+
+2017-04-10 23:50:55 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * autogen.sh:
+ * common:
+ Automatic update of common submodule
+ From 39ac2f5 to 60aeef6
+
=== release 1.11.90 ===
-2017-04-07 Sebastian Dröge <slomo@coaxion.net>
+2017-04-07 16:34:46 +0300 Sebastian Dröge <sebastian@centricular.com>
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
* configure.ac:
- releasing 1.11.90
+ * docs/plugins/inspect/plugin-libav.xml:
+ * gst-libav.doap:
+ * meson.build:
+ Release 1.11.90
2017-03-22 12:55:40 +0530 Arun Raghavan <arun@arunraghavan.net>
diff --git a/NEWS b/NEWS
index 8e8dc3f..bf58e30 100644
--- a/NEWS
+++ b/NEWS
@@ -1 +1 @@
-This is GStreamer 1.11.90.
+This is GStreamer 1.11.91.
diff --git a/RELEASE b/RELEASE
index 6fd9f22..3149c27 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,7 +1,7 @@
-Release notes for GStreamer libav Plugins 1.11.90
+Release notes for GStreamer libav Plugins 1.11.91
-The GStreamer team is pleased to announce the first release candidate of the
+The GStreamer team is pleased to announce the second release candidate of the
stable 1.12 release series. The 1.12 release series is adding new features on
top of the 1.0, 1.2, 1.4, 1.6, 1.8 and 1.10 series and is part of the API and
ABI-stable 1.x release series of the GStreamer multimedia framework.
@@ -15,11 +15,6 @@ changes.
Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.
-
-This module contains plugins based on the ffmpeg project, including codecs.
-
-
-
Other modules containing plugins are:
@@ -39,11 +34,6 @@ contains a set of less supported plugins that haven't passed the
-Bugs fixed in this release
-
- * 767938 : Add support for AVStereo3D API for stereoscopic video
- * 780317 : avvidenc: Classify image encoders with " Image " instead of " Video "
-
==== Download ====
You can find source releases of gst-libav in the download
@@ -79,8 +69,8 @@ subscribe to the gstreamer-devel list.
Contributors to this release
- * Arun Raghavan
- * Emeric Grange
+ * Edward Hervey
* Jan Schmidt
* Sebastian Dröge
+ * Tim-Philipp Müller
  \ No newline at end of file
diff --git a/configure.ac b/configure.ac
index 691e16d..1edfeff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ(2.69)
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
-AC_INIT(GStreamer libav, 1.11.90,
+AC_INIT(GStreamer libav, 1.11.91,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-libav)
@@ -40,11 +40,11 @@ GST_API_VERSION=1.0
AC_SUBST(GST_API_VERSION)
AG_GST_LIBTOOL_PREPARE
-AS_LIBTOOL(GST, 1190, 0, 1190)
+AS_LIBTOOL(GST, 1191, 0, 1191)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.11.90
-GST_PBREQ=1.11.90
+GST_REQ=1.11.91
+GST_PBREQ=1.11.91
ORC_REQ=0.4.16
ORC_CHECK([$ORC_REQ])
diff --git a/docs/plugins/gst-libav-plugins.args b/docs/plugins/gst-libav-plugins.args
index 6023fbc..a4328d3 100644
--- a/docs/plugins/gst-libav-plugins.args
+++ b/docs/plugins/gst-libav-plugins.args
@@ -33629,6 +33629,16 @@
</ARG>
<ARG>
+<NAME>avdec_ylc::max-threads</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Maximum decode threads</NICK>
+<BLURB>Maximum number of worker threads to spawn. (0 = auto).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
<NAME>avdec_truemotion2rt::debug-mv</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
@@ -33948,3 +33958,413 @@
<DEFAULT>Normal behavior</DEFAULT>
</ARG>
+<ARG>
+<NAME>avmux_scc::maxdelay</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>maxdelay</NICK>
+<BLURB>Set the maximum demux-decode delay (in microseconds).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avmux_scc::preload</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>preload</NICK>
+<BLURB>Set the initial demux-decode delay (in microseconds).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avenc_opus::bitrate</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Bit Rate</NICK>
+<BLURB>Target Audio Bitrate.</BLURB>
+<DEFAULT>128000</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avenc_opus::compliance</NAME>
+<TYPE>GstFFMpegCompliance</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Compliance</NICK>
+<BLURB>Adherence of the encoder to the specifications.</BLURB>
+<DEFAULT>Normal behavior</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_xpm::debug-mv</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Debug motion vectors</NICK>
+<BLURB>Whether libav should print motion vectors on top of the image.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_xpm::direct-rendering</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Direct Rendering</NICK>
+<BLURB>Enable direct rendering.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_xpm::lowres</NAME>
+<TYPE>GstLibAVVidDecLowres</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Low resolution</NICK>
+<BLURB>At which resolution to decode images.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_xpm::output-corrupt</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Output corrupt buffers</NICK>
+<BLURB>Whether libav should output frames even if corrupted.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_xpm::skip-frame</NAME>
+<TYPE>GstLibAVVidDecSkipFrame</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Skip frames</NICK>
+<BLURB>Which types of frames to skip during decoding.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_speedhq::debug-mv</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Debug motion vectors</NICK>
+<BLURB>Whether libav should print motion vectors on top of the image.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_speedhq::direct-rendering</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Direct Rendering</NICK>
+<BLURB>Enable direct rendering.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_speedhq::lowres</NAME>
+<TYPE>GstLibAVVidDecLowres</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Low resolution</NICK>
+<BLURB>At which resolution to decode images.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_speedhq::output-corrupt</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Output corrupt buffers</NICK>
+<BLURB>Whether libav should output frames even if corrupted.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_speedhq::skip-frame</NAME>
+<TYPE>GstLibAVVidDecSkipFrame</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Skip frames</NICK>
+<BLURB>Which types of frames to skip during decoding.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_scpr::debug-mv</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Debug motion vectors</NICK>
+<BLURB>Whether libav should print motion vectors on top of the image.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_scpr::direct-rendering</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Direct Rendering</NICK>
+<BLURB>Enable direct rendering.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_scpr::lowres</NAME>
+<TYPE>GstLibAVVidDecLowres</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Low resolution</NICK>
+<BLURB>At which resolution to decode images.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_scpr::output-corrupt</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Output corrupt buffers</NICK>
+<BLURB>Whether libav should output frames even if corrupted.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_scpr::skip-frame</NAME>
+<TYPE>GstLibAVVidDecSkipFrame</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Skip frames</NICK>
+<BLURB>Which types of frames to skip during decoding.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_psd::debug-mv</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Debug motion vectors</NICK>
+<BLURB>Whether libav should print motion vectors on top of the image.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_psd::direct-rendering</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Direct Rendering</NICK>
+<BLURB>Enable direct rendering.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_psd::lowres</NAME>
+<TYPE>GstLibAVVidDecLowres</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Low resolution</NICK>
+<BLURB>At which resolution to decode images.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_psd::max-threads</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Maximum decode threads</NICK>
+<BLURB>Maximum number of worker threads to spawn. (0 = auto).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_psd::output-corrupt</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Output corrupt buffers</NICK>
+<BLURB>Whether libav should output frames even if corrupted.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_psd::skip-frame</NAME>
+<TYPE>GstLibAVVidDecSkipFrame</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Skip frames</NICK>
+<BLURB>Which types of frames to skip during decoding.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_pixlet::debug-mv</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Debug motion vectors</NICK>
+<BLURB>Whether libav should print motion vectors on top of the image.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_pixlet::direct-rendering</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Direct Rendering</NICK>
+<BLURB>Enable direct rendering.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_pixlet::lowres</NAME>
+<TYPE>GstLibAVVidDecLowres</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Low resolution</NICK>
+<BLURB>At which resolution to decode images.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_pixlet::max-threads</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Maximum decode threads</NICK>
+<BLURB>Maximum number of worker threads to spawn. (0 = auto).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_pixlet::output-corrupt</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Output corrupt buffers</NICK>
+<BLURB>Whether libav should output frames even if corrupted.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_pixlet::skip-frame</NAME>
+<TYPE>GstLibAVVidDecSkipFrame</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Skip frames</NICK>
+<BLURB>Which types of frames to skip during decoding.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_fmvc::debug-mv</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Debug motion vectors</NICK>
+<BLURB>Whether libav should print motion vectors on top of the image.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_fmvc::direct-rendering</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Direct Rendering</NICK>
+<BLURB>Enable direct rendering.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_fmvc::lowres</NAME>
+<TYPE>GstLibAVVidDecLowres</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Low resolution</NICK>
+<BLURB>At which resolution to decode images.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_fmvc::output-corrupt</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Output corrupt buffers</NICK>
+<BLURB>Whether libav should output frames even if corrupted.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_fmvc::skip-frame</NAME>
+<TYPE>GstLibAVVidDecSkipFrame</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Skip frames</NICK>
+<BLURB>Which types of frames to skip during decoding.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_clearvideo::debug-mv</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Debug motion vectors</NICK>
+<BLURB>Whether libav should print motion vectors on top of the image.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_clearvideo::direct-rendering</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Direct Rendering</NICK>
+<BLURB>Enable direct rendering.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_clearvideo::lowres</NAME>
+<TYPE>GstLibAVVidDecLowres</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Low resolution</NICK>
+<BLURB>At which resolution to decode images.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_clearvideo::output-corrupt</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Output corrupt buffers</NICK>
+<BLURB>Whether libav should output frames even if corrupted.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>avdec_clearvideo::skip-frame</NAME>
+<TYPE>GstLibAVVidDecSkipFrame</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Skip frames</NICK>
+<BLURB>Which types of frames to skip during decoding.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
diff --git a/docs/plugins/gst-libav-plugins.hierarchy b/docs/plugins/gst-libav-plugins.hierarchy
index 150d00c..e1a02d8 100644
--- a/docs/plugins/gst-libav-plugins.hierarchy
+++ b/docs/plugins/gst-libav-plugins.hierarchy
@@ -61,7 +61,9 @@ GObject
avdec_ape
avdec_atrac1
avdec_atrac3
+ avdec_atrac3al
avdec_atrac3plus
+ avdec_atrac3plusal
avdec_binkaudio_dct
avdec_binkaudio_rdft
avdec_bmv_audio
@@ -111,6 +113,7 @@ GObject
avdec_pcm_lxf
avdec_qcelp
avdec_qdm2
+ avdec_qdmc
avdec_ralf
avdec_real_144
avdec_real_288
@@ -159,6 +162,7 @@ GObject
avenc_mp2
avenc_mp2fixed
avenc_nellymoser
+ avenc_opus
avenc_real_144
avenc_roq_dpcm
avenc_s302m
@@ -205,6 +209,7 @@ GObject
avdec_cdxl
avdec_cfhd
avdec_cinepak
+ avdec_clearvideo
avdec_cljr
avdec_cllc
avdec_cpia
@@ -234,6 +239,7 @@ GObject
avdec_flashsv2
avdec_flic
avdec_flv
+ avdec_fmvc
avdec_fraps
avdec_frwu
avdec_g2m
@@ -295,10 +301,12 @@ GObject
avdec_pgm
avdec_pgmyuv
avdec_pictor
+ avdec_pixlet
avdec_png
avdec_ppm
avdec_prores
avdec_prores_lgpl
+ avdec_psd
avdec_ptx
avdec_qdraw
avdec_qpeg
@@ -313,6 +321,7 @@ GObject
avdec_rv30
avdec_rv40
avdec_sanm
+ avdec_scpr
avdec_screenpresso
avdec_sgi
avdec_sgirle
@@ -322,6 +331,7 @@ GObject
avdec_smvjpeg
avdec_snow
avdec_sp5x
+ avdec_speedhq
avdec_sunrast
avdec_svq1
avdec_svq3
@@ -367,6 +377,7 @@ GObject
avdec_xbm
avdec_xface
avdec_xl
+ avdec_xpm
avdec_xwd
avdec_ylc
avdec_yop
@@ -525,6 +536,7 @@ GObject
avmux_psp
avmux_rm
avmux_rso
+ avmux_scc
avmux_singlejpeg
avmux_smjpeg
avmux_smoothstreaming
diff --git a/docs/plugins/gst-libav-plugins.interfaces b/docs/plugins/gst-libav-plugins.interfaces
index 12a161b..0e6a148 100644
--- a/docs/plugins/gst-libav-plugins.interfaces
+++ b/docs/plugins/gst-libav-plugins.interfaces
@@ -57,6 +57,7 @@ avenc_msmpeg4 GstPreset
avenc_msmpeg4v2 GstPreset
avenc_msvideo1 GstPreset
avenc_nellymoser GstPreset
+avenc_opus GstPreset
avenc_pam GstPreset
avenc_pbm GstPreset
avenc_pcm_s16be_planar GstPreset
@@ -166,6 +167,7 @@ avmux_psp GstTagSetter
avmux_rcv GstTagSetter
avmux_rm GstTagSetter
avmux_rso GstTagSetter
+avmux_scc GstTagSetter
avmux_singlejpeg GstTagSetter
avmux_smjpeg GstTagSetter
avmux_smoothstreaming GstTagSetter
diff --git a/docs/plugins/inspect/plugin-libav.xml b/docs/plugins/inspect/plugin-libav.xml
index c229936..781564e 100644
--- a/docs/plugins/inspect/plugin-libav.xml
+++ b/docs/plugins/inspect/plugin-libav.xml
@@ -3,7 +3,7 @@
<description>All libav codecs and formats (local snapshot)</description>
<filename>../../ext/libav/.libs/libgstlibav.so</filename>
<basename>libgstlibav.so</basename>
- <version>1.11.90</version>
+ <version>1.11.91</version>
<license>LGPL</license>
<source>gst-libav</source>
<package>libav</package>
@@ -1333,6 +1333,27 @@
</pads>
</element>
<element>
+ <name>avdec_atrac3al</name>
+ <longname>libav ATRAC3 AL (Adaptive TRansform Acoustic Coding 3 Advanced Lossless) decoder</longname>
+ <class>Codec/Decoder/Audio</class>
+ <description>libav atrac3al decoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>audio/x-raw, layout=(string)interleaved, format=(string)F32LE</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avdec_atrac3plus</name>
<longname>libav ATRAC3+ (Adaptive TRansform Acoustic Coding 3+) decoder</longname>
<class>Codec/Decoder/Audio</class>
@@ -1354,6 +1375,27 @@
</pads>
</element>
<element>
+ <name>avdec_atrac3plusal</name>
+ <longname>libav ATRAC3+ AL (Adaptive TRansform Acoustic Coding 3+ Advanced Lossless) decoder</longname>
+ <class>Codec/Decoder/Audio</class>
+ <description>libav atrac3plusal decoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avdec_aura</name>
<longname>libav Auravision AURA decoder</longname>
<class>Codec/Decoder/Video</class>
@@ -1858,6 +1900,27 @@
</pads>
</element>
<element>
+ <name>avdec_clearvideo</name>
+ <longname>libav Iterated Systems ClearVideo decoder</longname>
+ <class>Codec/Decoder/Video</class>
+ <description>libav clearvideo decoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avdec_cljr</name>
<longname>libav Cirrus Logic AccuPak decoder</longname>
<class>Codec/Decoder/Video</class>
@@ -2761,6 +2824,27 @@
</pads>
</element>
<element>
+ <name>avdec_fmvc</name>
+ <longname>libav FM Screen Capture Codec decoder</longname>
+ <class>Codec/Decoder/Video</class>
+ <description>libav fmvc decoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avdec_fraps</name>
<longname>libav Fraps decoder</longname>
<class>Codec/Decoder/Video</class>
@@ -3098,7 +3182,7 @@
</element>
<element>
<name>avdec_hap</name>
- <longname>libav Vidvox Hap decoder decoder</longname>
+ <longname>libav Vidvox Hap decoder</longname>
<class>Codec/Decoder/Video</class>
<description>libav hap decoder</description>
<author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
@@ -4672,6 +4756,27 @@
</pads>
</element>
<element>
+ <name>avdec_pixlet</name>
+ <longname>libav Apple Pixlet decoder</longname>
+ <class>Codec/Decoder/Video</class>
+ <description>libav pixlet decoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avdec_png</name>
<longname>libav PNG (Portable Network Graphics) image decoder</longname>
<class>Codec/Decoder/Video</class>
@@ -4756,6 +4861,27 @@
</pads>
</element>
<element>
+ <name>avdec_psd</name>
+ <longname>libav Photoshop PSD file decoder</longname>
+ <class>Codec/Decoder/Video</class>
+ <description>libav psd decoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avdec_ptx</name>
<longname>libav V.Flash PTX image decoder</longname>
<class>Codec/Decoder/Video</class>
@@ -4819,6 +4945,27 @@
</pads>
</element>
<element>
+ <name>avdec_qdmc</name>
+ <longname>libav QDesign Music Codec 1 decoder</longname>
+ <class>Codec/Decoder/Audio</class>
+ <description>libav qdmc decoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avdec_qdraw</name>
<longname>libav Apple QuickDraw decoder</longname>
<class>Codec/Decoder/Video</class>
@@ -5197,6 +5344,27 @@
</pads>
</element>
<element>
+ <name>avdec_scpr</name>
+ <longname>libav ScreenPressor decoder</longname>
+ <class>Codec/Decoder/Video</class>
+ <description>libav scpr decoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avdec_screenpresso</name>
<longname>libav Screenpresso decoder</longname>
<class>Codec/Decoder/Video</class>
@@ -5512,6 +5680,27 @@
</pads>
</element>
<element>
+ <name>avdec_speedhq</name>
+ <longname>libav NewTek SpeedHQ decoder</longname>
+ <class>Codec/Decoder/Video</class>
+ <description>libav speedhq decoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avdec_sunrast</name>
<longname>libav Sun Rasterfile image decoder</longname>
<class>Codec/Decoder/Video</class>
@@ -6793,6 +6982,27 @@
</pads>
</element>
<element>
+ <name>avdec_xpm</name>
+ <longname>libav XPM (X PixMap) image decoder</longname>
+ <class>Codec/Decoder/Video</class>
+ <description>libav xpm decoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;, Edward Hervey &lt;bilboed@bilboed.com&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw, format=(string){ I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE }</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avdec_xwd</name>
<longname>libav XWD (X Window Dump) image decoder</longname>
<class>Codec/Decoder/Video</class>
@@ -8177,7 +8387,7 @@
</element>
<element>
<name>avenc_cinepak</name>
- <longname>libav Cinepak / CVID encoder</longname>
+ <longname>libav Cinepak encoder</longname>
<class>Codec/Encoder/Video</class>
<description>libav cinepak encoder</description>
<author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
@@ -8270,7 +8480,7 @@
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
- <details>video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ Y42B, I422_10LE }; video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ Y42B, I422_10LE }</details>
+ <details>video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ Y42B, I422_10LE, Y444_10LE, GBR_10LE }; video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ Y42B, I422_10LE, Y444_10LE, GBR_10LE }</details>
</caps>
<caps>
<name>src</name>
@@ -8354,7 +8564,7 @@
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
- <details>video/x-raw, format=(string){ I420, A420, Y444, Y42B, Y41B, YUV9, BGRx, BGRA, I420_10LE, I422_10LE, Y444_10LE, A444_10LE, A422_10LE, A420_10LE, GRAY16_LE, GRAY8, GBR_10LE, GBR_12LE }</details>
+ <details>video/x-raw, format=(string){ I420, A420, Y444, Y42B, Y41B, YUV9, BGRx, BGRA, I420_10LE, I422_10LE, Y444_10LE, I420_12LE, I422_12LE, Y444_12LE, A444_10LE, A422_10LE, A420_10LE, GRAY16_LE, GRAY8, GBR_10LE, GBR_12LE }</details>
</caps>
<caps>
<name>src</name>
@@ -8890,6 +9100,27 @@
</pads>
</element>
<element>
+ <name>avenc_opus</name>
+ <longname>libav Opus encoder</longname>
+ <class>Codec/Encoder/Audio</class>
+ <description>libav opus encoder</description>
+ <author>Wim Taymans &lt;wim.taymans@gmail.com&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>audio/x-raw, channel-mask=(bitmask)0x0000000000000000, channels=(int)1, rate=(int)48000, layout=(string)interleaved, format=(string)F32LE; audio/x-raw, channel-mask=(bitmask)0x0000000000000003, channels=(int)2, rate=(int)48000, layout=(string)interleaved, format=(string)F32LE</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>unknown/unknown</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>avenc_pam</name>
<longname>libav PAM (Portable AnyMap) image encoder</longname>
<class>Codec/Encoder/Video</class>
@@ -11077,6 +11308,15 @@
</pads>
</element>
<element>
+ <name>avmux_scc</name>
+ <longname>libav Scenarist Closed Captions muxer</longname>
+ <class>Codec/Muxer</class>
+ <description>libav Scenarist Closed Captions muxer</description>
+ <author>Wim Taymans &lt;wim.taymans@chello.be&gt;, Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</author>
+ <pads>
+ </pads>
+ </element>
+ <element>
<name>avmux_singlejpeg</name>
<longname>libav JPEG single image muxer</longname>
<class>Codec/Muxer</class>
diff --git a/gst-libav.doap b/gst-libav.doap
index 32a286d..b3379f0 100644
--- a/gst-libav.doap
+++ b/gst-libav.doap
@@ -34,6 +34,16 @@ colorspace conversion elements.
<release>
<Version>
+ <revision>1.11.91</revision>
+ <branch>master</branch>
+ <name></name>
+ <created>2017-04-27</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.11.91.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.11.90</revision>
<branch>master</branch>
<name></name>
diff --git a/meson.build b/meson.build
index e23b983..e56d4ba 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('gst-libav', 'c', 'cpp',
- version : '1.11.90',
+ version : '1.11.91',
meson_version : '>= 0.36.0',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])