gstreamer/gst
Edward Hervey cd751c2de3 gstvalue: Avoid expensive fallback on intersection
The type checks at the end of `gst_value_intersect` to call the flagset
intersection are relatively expensive.

If we already know that:
* There was a compare function but it didn't return GST_VALUE_EQUAL
* AND none of the registered intersect functions failed

Then we know they can't intersect and can return early.

Trims ~20% of the instruction calls
2020-03-19 13:32:34 +01:00
..
parse parse: add support for presets 2019-12-28 04:02:16 +00:00
printf Remove autotools build system 2019-10-13 16:10:42 +01:00
gettext.h Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat-private.h Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat.c Whenever we include windows.h, also define WIN32_LEAN_AND_MEAN 2016-02-20 10:07:42 +00:00
glib-compat.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gst-i18n-app.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst-i18n-lib.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst.c pluginfeature: Allow updating initial rank of plugin feature 2019-12-26 19:49:00 +00:00
gst.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gst_private.h pluginfeature: Allow updating initial rank of plugin feature 2019-12-26 19:49:00 +00:00
gstallocator.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstallocator.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstatomicqueue.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstatomicqueue.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstbin.c bin: Don't consider having a group-id or being STREAM_START if we have not a single STREAM_START message 2020-01-25 00:02:20 +02:00
gstbin.h bin: Add method to find elements by factory name 2019-12-20 14:29:19 +01:00
gstbuffer.c GstBuffer: size-related optimization 2019-11-27 14:25:19 +00:00
gstbuffer.h gstbuffer: update documentation 2019-11-18 00:15:31 +00:00
gstbufferlist.c bufferlist: foreach: always remove as parent if buffer is changed 2020-03-18 14:43:08 +01:00
gstbufferlist.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstbufferpool.c bufferpool: Fix the buffer size reset code 2019-07-01 16:49:04 -04:00
gstbufferpool.h gst: Fix various Since markers 2019-04-23 15:08:18 +03:00
gstbus.c bus: Make setting/replacing/clearing the sync handler thread-safe 2020-02-14 14:41:46 +00:00
gstbus.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstcaps.c caps: Don't assert in fixate() on EMPTY/ANY caps and document EMPTY/ANY behaviour on more functions 2020-03-09 10:10:09 +00:00
gstcaps.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstcapsfeatures.c doc: Add some missing docstrings 2019-05-13 11:33:49 -04:00
gstcapsfeatures.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstchildproxy.c Don't pass default GLib marshallers for signals 2019-09-09 12:16:24 +00:00
gstchildproxy.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstclock.c Don't pass default GLib marshallers for signals 2019-09-09 12:16:24 +00:00
gstclock.h clock: remove documentation link on GTimeVal 2020-03-12 05:02:33 +00:00
gstcompat.h Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstconfig.h.in gstconfig.h.in: Windows ARM64 does not allow unaligned access 2019-06-28 13:01:14 +05:30
gstcontext.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstcontext.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstcontrolbinding.c documentation: fix a number of typos 2019-10-06 11:12:11 -04:00
gstcontrolbinding.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstcontrolsource.c gst: Don't ref_sink() GstObject subclasses in instance_init/constructor 2017-05-17 10:40:37 +03:00
gstcontrolsource.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstdatetime.c datetime: Add constructor for timestamps in microseconds 2019-11-25 13:31:11 +01:00
gstdatetime.h datetime: Add constructor for timestamps in microseconds 2019-11-25 13:31:11 +01:00
gstdebugutils.c debugutils: skip "parent" property for elements when dumping pipeline graph 2020-02-19 19:01:25 +00:00
gstdebugutils.h debugutils: Make sure that GST_DEBUG_GRAPH_SHOW_VERBOSE gets the correct value in introspection 2018-11-10 19:08:52 +00:00
gstdevice.c device, elementfactory: relax floating requirement 2019-12-10 13:31:50 +01:00
gstdevice.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstdevicemonitor.c documentation: fix a number of typos 2019-10-06 11:12:11 -04:00
gstdevicemonitor.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstdeviceprovider.c documentation: fix a number of typos 2019-10-06 11:12:11 -04:00
gstdeviceprovider.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstdeviceproviderfactory.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstdeviceproviderfactory.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstdynamictypefactory.c doc: Fix and add some missing docstrings 2019-05-13 11:33:49 -04:00
gstdynamictypefactory.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstelement.c Don't pass default GLib marshallers for signals 2019-09-09 12:16:24 +00:00
gstelement.h element: Added gst_element_get_current_clock_time and gst_element_get_current_running_time 2019-08-12 12:59:27 +03:00
gstelementfactory.c device, elementfactory: relax floating requirement 2019-12-10 13:31:50 +01:00
gstelementfactory.h elementfactory: add GST_ELEMENT_FACTORY_TYPE_HARDWARE 2019-11-02 15:11:12 +01:00
gstelementmetadata.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gsterror.c doc: remove xml from comments 2019-05-29 21:33:42 +02:00
gsterror.h doc: Fix hotdoc warnings 2019-05-13 16:34:09 -04:00
gstevent.c event/message: Don't allow setting invalid group ids 2020-01-24 17:53:30 +02:00
gstevent.h event: Fix gir warning 2019-11-12 15:19:28 +09:00
gstformat.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstformat.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstghostpad.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstghostpad.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstinfo.c gstinfo: Add new API for getting debug log lines 2019-12-25 08:50:17 +05:30
gstinfo.h gstinfo: Add new API for getting debug log lines 2019-12-25 08:50:17 +05:30
gstiterator.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstiterator.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstmacros.h gstmacros.h: Fix restrict definition on MSVC 2019-02-20 17:51:40 +05:30
gstmemory.c Fixing various typos 2019-06-20 15:20:27 +00:00
gstmemory.h Fixing various typos 2019-06-20 15:20:27 +00:00
gstmessage.c event/message: Don't allow setting invalid group ids 2020-01-24 17:53:30 +02:00
gstmessage.h docs: Document the new 'redirect-location' error message detail field 2020-01-06 17:47:40 -03:00
gstmeta.c gstmeta: Optimize get_tags() by using private quark table 2019-06-17 09:50:32 +02:00
gstmeta.h buffer: store sequence number for metas 2019-02-12 17:53:08 +00:00
gstminiobject.c miniobject: free qdata array when the last qdata is removed 2019-09-04 16:31:53 +02:00
gstminiobject.h gst: Fix various Since markers 2019-04-23 15:08:18 +03:00
gstobject.c Don't pass default GLib marshallers for signals 2019-09-09 12:16:24 +00:00
gstobject.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstpad.c pad: clear sticky event tag upon stream-start 2019-11-04 12:01:47 +00:00
gstpad.h pad: Added gst_pad_get_single_internal_link 2019-09-05 11:49:18 +03:00
gstpadtemplate.c Don't pass default GLib marshallers for signals 2019-09-09 12:16:24 +00:00
gstpadtemplate.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstparamspecs.c gst: Fix up a bunch of GIR annotations 2018-01-27 10:41:24 +00:00
gstparamspecs.h gst: Add a GParamSpecFlag to force gst-inspect to use pspec default value 2019-05-13 11:33:49 -04:00
gstparse.c docs: mention gst_parse_bin_from_description() in gst_parse_launch() docs 2019-11-27 09:41:36 +00:00
gstparse.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstpipeline.c pipeline: Instant rate change handling 2019-11-03 19:47:40 +11:00
gstpipeline.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstplugin.c gstplugin: Don't stat plugins when building for UWP 2019-06-28 13:44:49 +05:30
gstplugin.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstpluginfeature.c pluginfeature: Allow updating initial rank of plugin feature 2019-12-26 19:49:00 +00:00
gstpluginfeature.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstpluginloader.c pluginloader: handle fsync interrupted by signal (EINTR) 2019-12-12 20:49:36 +01:00
gstpluginloader.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstpoll.c Port to hotdoc 2019-05-13 16:34:09 -04:00
gstpoll.h poll: add API to watch for POLLPRI 2018-06-08 11:53:55 -04:00
gstpreset.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstpreset.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstpromise.c docstrings: port ulinks to markdown links 2019-08-23 18:17:41 +02:00
gstpromise.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstprotection.c protection: Release decryptors list, even if it's empty 2018-06-25 16:38:13 +01:00
gstprotection.h doc: Fix hotdoc warnings 2019-05-13 16:34:09 -04:00
gstquark.c event/message: Add new instant-rate-sync-time event and instant-rate-request message 2019-11-03 19:47:40 +11:00
gstquark.h event/message: Add new instant-rate-sync-time event and instant-rate-request message 2019-11-03 19:47:40 +11:00
gstquery.c query: add a new bitrate query 2018-11-07 15:04:14 +00:00
gstquery.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstregistry.c Don't pass default GLib marshallers for signals 2019-09-09 12:16:24 +00:00
gstregistry.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstregistrybinary.c registry: handle fsync interrupted by signal (EINTR) 2019-12-12 20:49:36 +01:00
gstregistrybinary.h tracer: initial prototype for the tracing subsystem 2015-10-05 20:59:39 +02:00
gstregistrychunks.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstregistrychunks.h dynamic types: Implement dynamic types in the registry 2016-11-02 11:21:37 +11:00
gstsample.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstsample.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstsegment.c gstsegment: Add GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED 2019-04-24 15:30:22 +00:00
gstsegment.h event: Add new GST_EVENT_INSTANT_RATE_CHANGE and GST_SEEK_FLAGS_INSTANT_RATE_CHANGE 2019-11-03 19:47:40 +11:00
gststreamcollection.c Don't pass default GLib marshallers for signals 2019-09-09 12:16:24 +00:00
gststreamcollection.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gststreams.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gststreams.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gststructure.c gstvalue: Inline GstValueList/GstValueArray 2020-03-18 17:53:34 +01:00
gststructure.h structure: add gst_structure_take 2019-11-14 10:08:38 +00:00
gstsystemclock.c systemclock: Don't start the system clock at 0 on Windows 2020-03-09 15:17:08 +02:00
gstsystemclock.h GstSystemClock: Add GST_CLOCK_TYPE_TAI 2020-01-27 17:16:14 +00:00
gsttaglist.c taglist: Remove (scope call) annotation from gst_tag_register() 2019-01-24 07:52:34 +00:00
gsttaglist.h taglist: Fix broken empty set character in code 2019-11-03 19:06:58 +00:00
gsttagsetter.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttagsetter.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttask.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gsttask.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gsttaskpool.c gsttaskpool: Do not block tasks while cleaning up the taskpool 2019-03-08 17:27:30 +01:00
gsttaskpool.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gsttoc.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gsttoc.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gsttocsetter.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttocsetter.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttracer.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gsttracer.h gsttracer: Add new API to fetch the list of active tracers 2019-07-02 15:13:26 +05:30
gsttracerfactory.c docs: include tracers in the documentation 2017-12-14 14:46:46 +11:00
gsttracerfactory.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gsttracerrecord.c tracerrecord: Be stricter while parsing record templates 2019-07-01 13:33:13 +00:00
gsttracerrecord.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gsttracerutils.c gsttracerutils: Fix build with disabled tracer hooks. 2019-07-07 20:42:56 +10:00
gsttracerutils.h gst: Documentation fixes 2018-04-02 12:42:30 +02:00
gsttypefind.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gsttypefind.h doc: Fix hotdoc warnings 2019-05-13 16:34:09 -04:00
gsttypefindfactory.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gsttypefindfactory.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gsturi.c doc: Fix hotdoc warnings 2019-05-13 16:34:09 -04:00
gsturi.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 08:50:59 +02:00
gstutils.c utils: Avoid memory merge in gst_util_dump_buffer() 2019-08-21 08:37:50 +02:00
gstutils.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstvalue.c gstvalue: Avoid expensive fallback on intersection 2020-03-19 13:32:34 +01:00
gstvalue.h gstvalue: Inline GstValueList/GstValueArray 2020-03-18 17:53:34 +01:00
gstversion.h.in gstversion: Add missing include in .in file. 2015-08-15 13:26:12 +02:00
math-compat.h Fix FSF address 2012-11-03 20:44:48 +00:00
meson.build doc: Fix hotdoc warnings 2019-05-13 16:34:09 -04:00