From 09de59477ae0a8a155dfb38509449c5951e4d9d5 Mon Sep 17 00:00:00 2001 From: "L. E. Segovia" Date: Sun, 14 Jan 2024 15:46:17 -0300 Subject: [PATCH] libav: Port AVCodecContext.ticks_per_frame to AV_CODEC_PROP_FIELDS Part-of: --- .clang-format | 24 + list.txt | 1373 +++++++++++++++++ native-file.txt | 3 + subprojects/gst-libav/ext/libav/gstavaudenc.c | 2 + .../gst-libav/ext/libav/gstavcodecmap.c | 5 +- subprojects/gst-libav/ext/libav/gstavviddec.c | 33 +- subprojects/gst-libav/ext/libav/gstavvidenc.c | 9 +- 7 files changed, 1442 insertions(+), 7 deletions(-) create mode 100644 .clang-format create mode 100644 list.txt create mode 100644 native-file.txt diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000000..a95b31335e --- /dev/null +++ b/.clang-format @@ -0,0 +1,24 @@ +BasedOnStyle: GNU +ColumnLimit: 80 +IndentPPDirectives: AfterHash +PointerAlignment: Right +UseTab: Never +# BreakBeforeBraces: Linux +BreakBeforeBraces: Custom +BraceWrapping: + AfterEnum: true + AfterFunction: true + AfterStruct: true + SplitEmptyFunction: false +IndentCaseBlocks: true +IndentCaseLabels: true +TabWidth: 8 +AlignAfterOpenBracket: DontAlign +ContinuationIndentWidth: 4 +AlignEscapedNewlines: DontAlign +AllowAllParametersOfDeclarationOnNextLine: false +AllowAllArgumentsOnNextLine: false +BinPackParameters: true +BinPackArguments: true +PackConstructorInitializers: NextLine +DerivePointerAlignment: true diff --git a/list.txt b/list.txt new file mode 100644 index 0000000000..41ae5239e6 --- /dev/null +++ b/list.txt @@ -0,0 +1,1373 @@ +Activating VS 17.9.0 Preview 1.1 +orc / test_accsadubl +orc / test-schro +orc / exec_opcodes_sys +orc / exec_parse +orc / perf_opcodes_sys +orc / perf_parse +orc / memcpy_speed +orc / abi +orc / test-limits +orc / test_parse +orc / exec_opcodes_sys (sse) +orc / orc_test +orc / test2 +orc / test3 +pcre2 / pcre2posix_test +pcre2 / RunTest +pcre2 / RunGrepTest +zlib / example +glib:glib+core / array-test +glib:glib+core / asyncqueue +glib:glib+core / atomic +glib:glib+core / base64 +glib:glib+core / bitlock +glib:glib+core / bookmarkfile +glib:glib+core / bytes +glib:glib+core / cache +glib:glib+core / charset +glib:glib+core / checksum +glib:glib+core / collate +glib:glib+core / completion +glib:glib+core / cond +glib:glib+core / convert +glib:glib+core / dataset +glib:glib+core / date +glib:glib+core / dir +glib:glib+core / environment +glib:glib+core / error +glib:glib+core / fileutils +glib:glib+core / guuid +glib:glib+core+slow / gvariant +glib:glib+core / gwakeup +glib:glib+core / hash +glib:glib+core / hmac +glib:glib+core / hook +glib:glib+core / hostutils +glib:glib+core / io-channel-basic +glib:glib+core / io-channel +glib:glib+core / keyfile +glib:glib+core / list +glib:glib+core / logging +glib:glib+core / macros +glib:glib+core / mainloop +glib:glib+core / mappedfile +glib:glib+core / mapping +glib:glib+core / markup +glib:glib+core / markup-parse +glib:glib+core / markup-collect +glib:glib+core / markup-escape +glib:glib+core / markup-subparser +glib:glib+core / max-version +glib:glib+core / memchunk +glib:glib+core / mem-overflow +glib:glib+core / mutex +glib:glib+core / node +glib:glib+core / once +glib:glib+core / onceinit +glib:glib+core / option-context +glib:glib+core / option-argv0 +glib:glib+core / overflow +glib:glib+core / overflow-fallback +glib:glib+core / pathbuf +glib:glib+core / pattern +glib:glib+core / private +glib:glib+core / protocol +glib:glib+core / queue +glib:glib+core / rand +glib:glib+core / rcbox +glib:glib+core / rec-mutex +glib:glib+core / refcount +glib:glib+core / refcount-macro +glib:glib+core / refstring +glib:glib+core / regex +glib:glib+core / relation +glib:glib+core / rwlock +glib:glib+core / scannerapi +glib:glib+core / search-utils +glib:glib+core+slow / sequence +glib:glib+core / shell +glib:glib+core / slice +glib:glib+core / slist +glib:glib+core / sort +glib:glib+core / spawn-path-search +glib:glib+core / spawn-singlethread +glib:glib+core / spawn-test +glib:glib+core / strfuncs +glib:glib+core / string +glib:glib+core / string-macro +glib:glib+core / strvbuilder +glib:glib+core / testing +glib:glib+core / testing-macro +glib:glib+core / test-printf +glib:glib+core / thread +glib:glib+core / thread-deprecated +glib:glib+core / thread-pool +glib:glib+core+slow / thread-pool-slow +glib:glib+core / timeout +glib:glib+core / timer +glib:glib+core / tree +glib:glib+core / types +glib:glib+core / utf8-performance +glib:glib+core / utf8-pointer +glib:glib+core / utf8-validate +glib:glib+core / utf8-misc +glib:glib+core / utils +glib:glib+core / utils-isolated +glib:glib+core / unicode +glib:glib+core / unicode-encoding +glib:glib+core / unicode-normalize +glib:glib+core / uri +glib:glib+core / 1bit-mutex +glib:glib+core+slow / 1bit-emufutex +glib:glib+core+slow / 642026 +glib:glib+core+slow / 642026-ec +glib:glib+core+cpp / cxx +glib:glib+core+cpp / cxx-14 +glib:glib+core+cpp / cxx-17 +glib:glib+core+cpp / cxx-20 +glib:glib+core+cpp / cxx-latest +glib:glib+core / gpoll +glib:glib+core / win32 +glib:glib+core+cc / atomic-c-11 +glib:glib+core+cc / atomic-c-17 +glib:glib+core+cc / macros-c-11 +glib:glib+core+cc / macros-c-17 +glib:glib+core+cc / utils-c-11 +glib:glib+core+cc / utils-c-17 +glib:gobject+performance+no-valgrind / performance +glib:gobject+performance+no-valgrind / performance-threaded +glib:gobject / notify-init +glib:gobject / notify-init2 +glib:gobject / custom-dispatch +glib:gobject / qdata +glib:gobject / accumulator +glib:gobject / basics-gobject +glib:gobject / boxed +glib:gobject / defaultiface +glib:gobject / deftype +glib:gobject / deprecated-properties +glib:gobject / dynamictype +glib:gobject / enums +glib:gobject / max-version +glib:gobject / override +glib:gobject / param +glib:gobject / references +glib:gobject / basic-signals +glib:gobject / singleton +glib:gobject / threadtests +glib:gobject / dynamictests +glib:gobject / binding +glib:gobject / bindinggroup +glib:gobject / properties +glib:gobject / reference +glib:gobject / flags +glib:gobject / value +glib:gobject / type +glib:gobject / gobject-private +glib:gobject / closure +glib:gobject+slow / closure-refcount +glib:gobject / object +glib:gobject / signal-handler +glib:gobject / ifaceproperties +glib:gobject / signals +glib:gobject / signalgroup +glib:gobject / testing +glib:gobject / type-flags +glib:gobject / objects-refcount1 +glib:gobject+slow / objects-refcount2 +glib:gobject / properties-refcount1 +glib:gobject+slow / properties-refcount2 +glib:gobject+slow / properties-refcount3 +glib:gobject / properties-refcount4 +glib:gobject / signals-refcount1 +glib:gobject / signals-refcount2 +glib:gobject / signals-refcount3 +glib:gobject / signals-refcount4 +glib:gobject+cpp / cxx +glib:gobject+cpp / cxx-14 +glib:gobject+cpp / cxx-17 +glib:gobject+cpp / cxx-20 +glib:gobject+cpp / cxx-latest +glib:gobject+no-valgrind / genmarshal.py +glib:gobject+no-valgrind / mkenums.py +glib:gthread / init +glib:gmodule / max-version +glib:gmodule+cpp / cxx +glib:gmodule+cpp / cxx-14 +glib:gmodule+cpp / cxx-17 +glib:gmodule+cpp / cxx-20 +glib:gmodule+cpp / cxx-latest +glib:gmodule / module-test-library +glib:gmodule / module-test-plugin +glib:gio / application-command-line +glib:gio / appmonitor +glib:gio / async-close-output-stream +glib:gio / async-splice-output-stream +glib:gio / buffered-input-stream +glib:gio / buffered-output-stream +glib:gio / cancellable +glib:gio / contexts +glib:gio / contenttype +glib:gio / converter-stream +glib:gio / credentials +glib:gio / data-input-stream +glib:gio / data-output-stream +glib:gio / error +glib:gio / file-thumbnail +glib:gio / fileattributematcher +glib:gio / filter-streams +glib:gio / giomodule +glib:gio / g-file +glib:gio / g-icon +glib:gio / gdbus-addresses +glib:gio / gdbus-message +glib:gio / inet-address +glib:gio / io-stream +glib:gio / max-version +glib:gio / memory-input-stream +glib:gio / memory-monitor +glib:gio / memory-output-stream +glib:gio / memory-settings-backend +glib:gio / mount-operation +glib:gio / network-address +glib:gio / network-monitor +glib:gio / network-monitor-race +glib:gio / null-settings-backend +glib:gio / permission +glib:gio / pollable +glib:gio / power-profile-monitor +glib:gio / proxy-test +glib:gio / readwrite +glib:gio / sandbox +glib:gio / simple-async-result +glib:gio / simple-proxy +glib:gio / sleepy-stream +glib:gio / socket +glib:gio / socket-listener +glib:gio / socket-service +glib:gio / srvtarget +glib:gio / task +glib:gio / vfs +glib:gio / volumemonitor +glib:gio / glistmodel +glib:gio / thumbnail-verification +glib:gio / tls-certificate +glib:gio / tls-interaction +glib:gio / tls-database +glib:gio / tls-bindings +glib:gio / unix-fd +glib:gio / gdbus-address-get-session +glib:gio / win32-appinfo +glib:gio+cpp / cxx +glib:gio+cpp / cxx-14 +glib:gio+cpp / cxx-17 +glib:gio+cpp / cxx-20 +glib:gio+cpp / cxx-latest +glib:gio / gdbus-server-auth +glib:gio / win32-streams +glib:gio / resources +glib:gio+no-valgrind+gdbus-codegen+slow / codegen.py +glib:fuzzing / fuzz_bookmark +glib:fuzzing / fuzz_canonicalize_filename +glib:fuzzing / fuzz_date_parse +glib:fuzzing / fuzz_date_time_new_from_iso8601 +glib:fuzzing / fuzz_dbus_message +glib:fuzzing / fuzz_inet_address_mask_new_from_string +glib:fuzzing / fuzz_inet_address_new_from_string +glib:fuzzing / fuzz_inet_socket_address_new_from_string +glib:fuzzing / fuzz_key +glib:fuzzing / fuzz_network_address_parse +glib:fuzzing / fuzz_network_address_parse_uri +glib:fuzzing / fuzz_paths +glib:fuzzing / fuzz_resolver +glib:fuzzing / fuzz_uri_escape +glib:fuzzing / fuzz_uri_parse +glib:fuzzing / fuzz_uri_parse_params +glib:fuzzing / fuzz_utf8_normalize +glib:fuzzing / fuzz_utf8_validate +glib:fuzzing / fuzz_uuid_string_is_valid +glib:fuzzing / fuzz_variant_binary +glib:fuzzing / fuzz_variant_binary_byteswap +glib:fuzzing / fuzz_variant_text +gstreamer / gst-ptp-helper-test +gstreamer / validate.simplest +gstreamer / gst_gst +gstreamer / gst_gstabi +gstreamer / gst_gstatomicqueue +gstreamer / gst_gstbuffer +gstreamer / gst_gstbufferlist +gstreamer / gst_gstbufferpool +gstreamer / gst_gstchildproxy +gstreamer / gst_gstclock +gstreamer / gst_gstcontext +gstreamer / gst_gstcontroller +gstreamer / gst_gstcaps +gstreamer / gst_gstcapsfeatures +gstreamer / gst_gstdatetime +gstreamer / gst_gstdeinit +gstreamer / gst_gstdevice +gstreamer / gst_gstelement +gstreamer / gst_gstelementfactory +gstreamer / gst_gstghostpad +gstreamer / gst_gstinfo +gstreamer / gst_gstiterator +gstreamer / gst_gstmessage +gstreamer / gst_gstmemory +gstreamer / gst_gstmeta +gstreamer / gst_gstminiobject +gstreamer / gst_gstobject +gstreamer / gst_gstpad +gstreamer / gst_gstparamspecs +gstreamer / gst_gstprintf +gstreamer / gst_gstpipeline +gstreamer / gst_gstpoll +gstreamer / gst_gstplugin +gstreamer / gst_gstpreset +gstreamer / gst_gstprotection +gstreamer / gst_gstquery +gstreamer / gst_gstregistry +gstreamer / gst_gstpromise +gstreamer / gst_gstsegment +gstreamer / gst_gststream +gstreamer / gst_gststructure +gstreamer / gst_gstsystemclock +gstreamer / gst_gsttag +gstreamer / gst_gsttagsetter +gstreamer / gst_gsttask +gstreamer / gst_gsttoc +gstreamer / gst_gsttocsetter +gstreamer / gst_gsttracerrecord +gstreamer / gst_gsturi +gstreamer / gst_gstutils +gstreamer / gst_gstvalue +gstreamer / generic_states +gstreamer / libs_adapter +gstreamer / libs_aggregator +gstreamer / libs_baseparse +gstreamer / libs_basesrc +gstreamer / libs_basesink +gstreamer / libs_bitreader +gstreamer / libs_bitwriter +gstreamer / libs_bytereader +gstreamer / libs_bytewriter +gstreamer / libs_bitreader_noinline +gstreamer / libs_bytereader_noinline +gstreamer / libs_bytewriter_noinline +gstreamer / libs_collectpads +gstreamer / libs_controller +gstreamer / libs_flowcombiner +gstreamer / libs_gstharness +gstreamer / libs_gstnetclientclock +gstreamer / libs_gstnettimeprovider +gstreamer / libs_gsttestclock +gstreamer / libs_libsabi +gstreamer / libs_sparsefile +gstreamer / libs_transform1 +gstreamer / libs_transform2 +gstreamer / libs_typefindhelper +gstreamer / libs_queuearray +gstreamer / elements_capsfilter +gstreamer / elements_clocksync +gstreamer / elements_concat +gstreamer / elements_dataurisrc +gstreamer / elements_fakesrc +gstreamer / elements_filesink +gstreamer / elements_filesrc +gstreamer / elements_funnel +gstreamer / elements_identity +gstreamer / elements_leaks +gstreamer / elements_multiqueue +gstreamer / elements_selector +gstreamer / elements_streamiddemux +gstreamer / elements_tee +gstreamer / elements_queue +gstreamer / elements_queue2 +gstreamer / elements_valve +gstreamer / pipelines_seek +gstreamer / pipelines_queue_error +gstreamer / pipelines_simple_launch_lines +gstreamer / pipelines_parse_launch +gstreamer / pipelines_cleanup +gstreamer / tools_gstinspect +gstreamer / elements_fakesink +gstreamer / gst_gstbin +gstreamer / gst_gstbus +gstreamer / gst_gstevent +gstreamer / pipelines_stress +gstreamer / generic_sinks +gstreamer / gst_gstcpp +gstreamer / libs_gstlibscpp +ogg / bitwise +ogg / framing +opus / test_unit_types +opus / test_unit_mathops +opus / test_unit_entropy +opus / test_unit_laplace +opus / test_unit_dft +opus / test_unit_mdct +opus / test_unit_rotation +opus / test_unit_cwrs32 +opus / test_unit_cwrs32 +opus / test_opus_api +opus / test_opus_decode +opus / test_opus_encode +opus / test_opus_padding +opus / test_opus_projection +fribidi / CapRTL_explicit +fribidi / CapRTL_implicit +fribidi / CapRTL_isolate +fribidi / ISO8859-8_hebrew +fribidi / UTF-8_persian +fribidi / UTF-8_reordernsm +fribidi / BidiTest +fribidi / BidiCharacterTest +libpng / pngtest +harfbuzz:api / test-aat-layout +harfbuzz:api / test-baseline +harfbuzz:api / test-base-minmax +harfbuzz:api / test-be-glyph-advance +harfbuzz:api / test-be-num-glyphs +harfbuzz:api / test-blob +harfbuzz:api / test-buffer +harfbuzz:api / test-c +harfbuzz:api / test-collect-unicodes +harfbuzz:api / test-cplusplus +harfbuzz:api / test-common +harfbuzz:api / test-draw +harfbuzz:api / test-extents +harfbuzz:api / test-font +harfbuzz:api / test-font-scale +harfbuzz:api / test-glyph-names +harfbuzz:api+subset / test-instance-cff2 +harfbuzz:api / test-map +harfbuzz:api / test-object +harfbuzz:api / test-ot-alternates +harfbuzz:api / test-ot-collect-glyphs +harfbuzz:api / test-ot-color +harfbuzz:api / test-ot-face +harfbuzz:api / test-ot-glyphname +harfbuzz:api / test-ot-layout +harfbuzz:api / test-ot-ligature-carets +harfbuzz:api / test-ot-name +harfbuzz:api / test-ot-meta +harfbuzz:api / test-ot-metrics +harfbuzz:api / test-ot-tag +harfbuzz:api / test-ot-extents-cff +harfbuzz:api / test-ot-metrics-tt-var +harfbuzz:api / test-paint +harfbuzz:api+subset / test-subset-repacker +harfbuzz:api / test-set +harfbuzz:api / test-shape +harfbuzz:api / test-style +harfbuzz:api+subset / test-subset +harfbuzz:api+subset / test-subset-cmap +harfbuzz:api+subset / test-subset-drop-tables +harfbuzz:api+subset / test-subset-glyf +harfbuzz:api+subset / test-subset-hdmx +harfbuzz:api+subset / test-subset-hmtx +harfbuzz:api+subset / test-subset-nameids +harfbuzz:api+subset / test-subset-os2 +harfbuzz:api+subset / test-subset-post +harfbuzz:api+subset / test-subset-vmtx +harfbuzz:api+subset / test-subset-cff1 +harfbuzz:api+subset / test-subset-cff2 +harfbuzz:api+subset / test-subset-gvar +harfbuzz:api+subset / test-subset-hvar +harfbuzz:api+subset / test-subset-vvar +harfbuzz:api+subset / test-subset-sbix +harfbuzz:api+subset / test-subset-gpos +harfbuzz:api+subset / test-subset-colr +harfbuzz:api+subset / test-subset-cbdt +harfbuzz:api / test-unicode +harfbuzz:api / test-var-coords +harfbuzz:api / test-version +harfbuzz:api / test-ot-math +harfbuzz:api / test-ft +harfbuzz:shape+in-house / aat-morx +harfbuzz:shape+in-house / aat-trak +harfbuzz:shape+in-house / arabic-fallback-shaping +harfbuzz:shape+in-house / arabic-feature-order +harfbuzz:shape+in-house / arabic-like-joining +harfbuzz:shape+in-house / arabic-mark-order +harfbuzz:shape+in-house / arabic-normalization +harfbuzz:shape+in-house / arabic-phags-pa +harfbuzz:shape+in-house / arabic-stch +harfbuzz:shape+in-house / automatic-fractions +harfbuzz:shape+in-house / cluster +harfbuzz:shape+in-house / collections +harfbuzz:shape+in-house / color-fonts +harfbuzz:shape+in-house / context-matching +harfbuzz:shape+in-house / coretext +harfbuzz:shape+in-house / cursive-positioning +harfbuzz:shape+in-house / default-ignorables +harfbuzz:shape+in-house / digits +harfbuzz:shape+in-house / directwrite +harfbuzz:shape+in-house / emoji +harfbuzz:shape+in-house / emoji-clusters +harfbuzz:shape+in-house / fallback-positioning +harfbuzz:shape+in-house / glyph-props-no-gdef +harfbuzz:shape+in-house / hangul-jamo +harfbuzz:shape+in-house / hebrew-diacritics +harfbuzz:shape+in-house / hyphens +harfbuzz:shape+in-house / indic-consonant-with-stacker +harfbuzz:shape+in-house / indic-decompose +harfbuzz:shape+in-house / indic-feature-order +harfbuzz:shape+in-house / indic-init +harfbuzz:shape+in-house / indic-joiner-candrabindu +harfbuzz:shape+in-house / indic-joiners +harfbuzz:shape+in-house / indic-malayalam-dot-reph +harfbuzz:shape+in-house / indic-old-spec +harfbuzz:shape+in-house / indic-pref-blocking +harfbuzz:shape+in-house / indic-script-extensions +harfbuzz:shape+in-house / indic-special-cases +harfbuzz:shape+in-house / indic-syllable +harfbuzz:shape+in-house / indic-vowel-letter-spoofing +harfbuzz:shape+in-house / item-context +harfbuzz:shape+in-house / kern-format2 +harfbuzz:shape+in-house / khmer-mark-order +harfbuzz:shape+in-house / khmer-misc +harfbuzz:shape+in-house / language-tags +harfbuzz:shape+in-house / ligature-id +harfbuzz:shape+in-house / macos +harfbuzz:shape+in-house / mark-attachment +harfbuzz:shape+in-house / mark-filtering-sets +harfbuzz:shape+in-house / mongolian-variation-selector +harfbuzz:shape+in-house / myanmar-misc +harfbuzz:shape+in-house / myanmar-syllable +harfbuzz:shape+in-house / myanmar-zawgyi +harfbuzz:shape+in-house / nested-mark-filtering-sets +harfbuzz:shape+in-house / none-directional +harfbuzz:shape+in-house / positioning-features +harfbuzz:shape+in-house / rand +harfbuzz:shape+in-house / reverse-sub +harfbuzz:shape+in-house / rotation +harfbuzz:shape+in-house / sara-am +harfbuzz:shape+in-house / simple +harfbuzz:shape+in-house / sinhala +harfbuzz:shape+in-house / spaces +harfbuzz:shape+in-house / tibetan-contractions-1 +harfbuzz:shape+in-house / tibetan-contractions-2 +harfbuzz:shape+in-house / tibetan-vowels +harfbuzz:shape+in-house / tt-kern-gpos +harfbuzz:shape+in-house / uniscribe +harfbuzz:shape+in-house / unsafe-to-concat +harfbuzz:shape+in-house / use-indic3 +harfbuzz:shape+in-house / use-javanese +harfbuzz:shape+in-house / use-marchen +harfbuzz:shape+in-house / use-syllable +harfbuzz:shape+in-house / use-vowel-letter-spoofing +harfbuzz:shape+in-house / use +harfbuzz:shape+in-house / variations +harfbuzz:shape+in-house / variations-rvrn +harfbuzz:shape+in-house / vertical +harfbuzz:shape+in-house / zero-width-marks +harfbuzz:shape+aots / classdef1_empty +harfbuzz:shape+aots / classdef1_multiple +harfbuzz:shape+aots / classdef1_single +harfbuzz:shape+aots / classdef1 +harfbuzz:shape+aots / classdef2_empty +harfbuzz:shape+aots / classdef2_multiple +harfbuzz:shape+aots / classdef2_single +harfbuzz:shape+aots / classdef2 +harfbuzz:shape+aots / cmap0 +harfbuzz:shape+aots / cmap10 +harfbuzz:shape+aots / cmap12 +harfbuzz:shape+aots / cmap2 +harfbuzz:shape+aots / cmap4 +harfbuzz:shape+aots / cmap6 +harfbuzz:shape+aots / cmap8 +harfbuzz:shape+aots / gpos_chaining1_boundary +harfbuzz:shape+aots / gpos_chaining1_lookupflag +harfbuzz:shape+aots / gpos_chaining1_multiple_subrules +harfbuzz:shape+aots / gpos_chaining1_next_glyph +harfbuzz:shape+aots / gpos_chaining1_simple +harfbuzz:shape+aots / gpos_chaining1_successive +harfbuzz:shape+aots / gpos_chaining2_boundary +harfbuzz:shape+aots / gpos_chaining2_lookupflag +harfbuzz:shape+aots / gpos_chaining2_multiple_subrules +harfbuzz:shape+aots / gpos_chaining2_next_glyph +harfbuzz:shape+aots / gpos_chaining2_simple +harfbuzz:shape+aots / gpos_chaining2_successive +harfbuzz:shape+aots / gpos_chaining3_boundary +harfbuzz:shape+aots / gpos_chaining3_lookupflag +harfbuzz:shape+aots / gpos_chaining3_next_glyph +harfbuzz:shape+aots / gpos_chaining3_simple +harfbuzz:shape+aots / gpos_chaining3_successive +harfbuzz:shape+aots / gpos_context1_boundary +harfbuzz:shape+aots / gpos_context1_expansion +harfbuzz:shape+aots / gpos_context1_lookupflag +harfbuzz:shape+aots / gpos_context1_multiple_subrules +harfbuzz:shape+aots / gpos_context1_next_glyph +harfbuzz:shape+aots / gpos_context1_simple +harfbuzz:shape+aots / gpos_context1_successive +harfbuzz:shape+aots / gpos_context2_boundary +harfbuzz:shape+aots / gpos_context2_classes +harfbuzz:shape+aots / gpos_context2_expansion +harfbuzz:shape+aots / gpos_context2_lookupflag +harfbuzz:shape+aots / gpos_context2_multiple_subrules +harfbuzz:shape+aots / gpos_context2_next_glyph +harfbuzz:shape+aots / gpos_context2_simple +harfbuzz:shape+aots / gpos_context2_successive +harfbuzz:shape+aots / gpos_context3_boundary +harfbuzz:shape+aots / gpos_context3_lookupflag +harfbuzz:shape+aots / gpos_context3_next_glyph +harfbuzz:shape+aots / gpos_context3_simple +harfbuzz:shape+aots / gpos_context3_successive +harfbuzz:shape+aots / gpos1_1_lookupflag +harfbuzz:shape+aots / gpos1_1_simple +harfbuzz:shape+aots / gpos1_2_lookupflag +harfbuzz:shape+aots / gpos1_2 +harfbuzz:shape+aots / gpos2_1_lookupflag +harfbuzz:shape+aots / gpos2_1_next_glyph +harfbuzz:shape+aots / gpos2_1_simple +harfbuzz:shape+aots / gpos2_1 +harfbuzz:shape+aots / gpos2_2 +harfbuzz:shape+aots / gpos3_lookupflag +harfbuzz:shape+aots / gpos3 +harfbuzz:shape+aots / gpos4_lookupflag +harfbuzz:shape+aots / gpos4_multiple_anchors +harfbuzz:shape+aots / gpos4_simple +harfbuzz:shape+aots / gpos5 +harfbuzz:shape+aots / gpos6 +harfbuzz:shape+aots / gpos7_1 +harfbuzz:shape+aots / gpos9 +harfbuzz:shape+aots / gsub_chaining1_boundary +harfbuzz:shape+aots / gsub_chaining1_lookupflag +harfbuzz:shape+aots / gsub_chaining1_multiple_subrules +harfbuzz:shape+aots / gsub_chaining1_next_glyph +harfbuzz:shape+aots / gsub_chaining1_simple +harfbuzz:shape+aots / gsub_chaining1_successive +harfbuzz:shape+aots / gsub_chaining2_boundary +harfbuzz:shape+aots / gsub_chaining2_lookupflag +harfbuzz:shape+aots / gsub_chaining2_multiple_subrules +harfbuzz:shape+aots / gsub_chaining2_next_glyph +harfbuzz:shape+aots / gsub_chaining2_simple +harfbuzz:shape+aots / gsub_chaining2_successive +harfbuzz:shape+aots / gsub_chaining3_boundary +harfbuzz:shape+aots / gsub_chaining3_lookupflag +harfbuzz:shape+aots / gsub_chaining3_next_glyph +harfbuzz:shape+aots / gsub_chaining3_simple +harfbuzz:shape+aots / gsub_chaining3_successive +harfbuzz:shape+aots / gsub_context1_boundary +harfbuzz:shape+aots / gsub_context1_expansion +harfbuzz:shape+aots / gsub_context1_lookupflag +harfbuzz:shape+aots / gsub_context1_multiple_subrules +harfbuzz:shape+aots / gsub_context1_next_glyph +harfbuzz:shape+aots / gsub_context1_simple +harfbuzz:shape+aots / gsub_context1_successive +harfbuzz:shape+aots / gsub_context2_boundary +harfbuzz:shape+aots / gsub_context2_classes +harfbuzz:shape+aots / gsub_context2_expansion +harfbuzz:shape+aots / gsub_context2_lookupflag +harfbuzz:shape+aots / gsub_context2_multiple_subrules +harfbuzz:shape+aots / gsub_context2_next_glyph +harfbuzz:shape+aots / gsub_context2_simple +harfbuzz:shape+aots / gsub_context2_successive +harfbuzz:shape+aots / gsub_context3_boundary +harfbuzz:shape+aots / gsub_context3_lookupflag +harfbuzz:shape+aots / gsub_context3_next_glyph +harfbuzz:shape+aots / gsub_context3_simple +harfbuzz:shape+aots / gsub_context3_successive +harfbuzz:shape+aots / gsub1_1_lookupflag +harfbuzz:shape+aots / gsub1_1_modulo +harfbuzz:shape+aots / gsub1_1_simple +harfbuzz:shape+aots / gsub1_2_lookupflag +harfbuzz:shape+aots / gsub1_2_simple +harfbuzz:shape+aots / gsub2_1_lookupflag +harfbuzz:shape+aots / gsub2_1_multiple_sequences +harfbuzz:shape+aots / gsub2_1_simple +harfbuzz:shape+aots / gsub3_1_lookupflag +harfbuzz:shape+aots / gsub3_1_multiple +harfbuzz:shape+aots / gsub3_1_simple +harfbuzz:shape+aots / gsub4_1_lookupflag +harfbuzz:shape+aots / gsub4_1_multiple_ligatures +harfbuzz:shape+aots / gsub4_1_multiple_ligsets +harfbuzz:shape+aots / gsub4_1_simple +harfbuzz:shape+aots / gsub7 +harfbuzz:shape+aots / lookupflag_ignore_attach +harfbuzz:shape+aots / lookupflag_ignore_base +harfbuzz:shape+aots / lookupflag_ignore_combination +harfbuzz:shape+aots / lookupflag_ignore_ligatures +harfbuzz:shape+aots / lookupflag_ignore_marks +harfbuzz:shape+text-rendering-tests / AVAR-1 +harfbuzz:shape+text-rendering-tests / CFF-1 +harfbuzz:shape+text-rendering-tests / CFF-2 +harfbuzz:shape+text-rendering-tests / CFF2-1 +harfbuzz:shape+text-rendering-tests / CMAP-1 +harfbuzz:shape+text-rendering-tests / CMAP-2 +harfbuzz:shape+text-rendering-tests / CVAR-1 +harfbuzz:shape+text-rendering-tests / CVAR-2 +harfbuzz:shape+text-rendering-tests / GLYF-1 +harfbuzz:shape+text-rendering-tests / GPOS-1 +harfbuzz:shape+text-rendering-tests / GPOS-2 +harfbuzz:shape+text-rendering-tests / GPOS-3 +harfbuzz:shape+text-rendering-tests / GPOS-4 +harfbuzz:shape+text-rendering-tests / GPOS-5 +harfbuzz:shape+text-rendering-tests / GSUB-1 +harfbuzz:shape+text-rendering-tests / GSUB-2 +harfbuzz:shape+text-rendering-tests / GSUB-3 +harfbuzz:shape+text-rendering-tests / GVAR-1 +harfbuzz:shape+text-rendering-tests / GVAR-2 +harfbuzz:shape+text-rendering-tests / GVAR-3 +harfbuzz:shape+text-rendering-tests / GVAR-4 +harfbuzz:shape+text-rendering-tests / GVAR-5 +harfbuzz:shape+text-rendering-tests / GVAR-6 +harfbuzz:shape+text-rendering-tests / GVAR-7 +harfbuzz:shape+text-rendering-tests / GVAR-8 +harfbuzz:shape+text-rendering-tests / GVAR-9 +harfbuzz:shape+text-rendering-tests / HVAR-1 +harfbuzz:shape+text-rendering-tests / HVAR-2 +harfbuzz:shape+text-rendering-tests / KERN-1 +harfbuzz:shape+text-rendering-tests / KERN-2 +harfbuzz:shape+text-rendering-tests / MORX-1 +harfbuzz:shape+text-rendering-tests / MORX-10 +harfbuzz:shape+text-rendering-tests / MORX-11 +harfbuzz:shape+text-rendering-tests / MORX-12 +harfbuzz:shape+text-rendering-tests / MORX-13 +harfbuzz:shape+text-rendering-tests / MORX-14 +harfbuzz:shape+text-rendering-tests / MORX-16 +harfbuzz:shape+text-rendering-tests / MORX-17 +harfbuzz:shape+text-rendering-tests / MORX-18 +harfbuzz:shape+text-rendering-tests / MORX-19 +harfbuzz:shape+text-rendering-tests / MORX-2 +harfbuzz:shape+text-rendering-tests / MORX-20 +harfbuzz:shape+text-rendering-tests / MORX-21 +harfbuzz:shape+text-rendering-tests / MORX-22 +harfbuzz:shape+text-rendering-tests / MORX-23 +harfbuzz:shape+text-rendering-tests / MORX-24 +harfbuzz:shape+text-rendering-tests / MORX-25 +harfbuzz:shape+text-rendering-tests / MORX-26 +harfbuzz:shape+text-rendering-tests / MORX-27 +harfbuzz:shape+text-rendering-tests / MORX-28 +harfbuzz:shape+text-rendering-tests / MORX-29 +harfbuzz:shape+text-rendering-tests / MORX-3 +harfbuzz:shape+text-rendering-tests / MORX-30 +harfbuzz:shape+text-rendering-tests / MORX-31 +harfbuzz:shape+text-rendering-tests / MORX-32 +harfbuzz:shape+text-rendering-tests / MORX-33 +harfbuzz:shape+text-rendering-tests / MORX-34 +harfbuzz:shape+text-rendering-tests / MORX-35 +harfbuzz:shape+text-rendering-tests / MORX-36 +harfbuzz:shape+text-rendering-tests / MORX-37 +harfbuzz:shape+text-rendering-tests / MORX-38 +harfbuzz:shape+text-rendering-tests / MORX-39 +harfbuzz:shape+text-rendering-tests / MORX-4 +harfbuzz:shape+text-rendering-tests / MORX-40 +harfbuzz:shape+text-rendering-tests / MORX-41 +harfbuzz:shape+text-rendering-tests / MORX-5 +harfbuzz:shape+text-rendering-tests / MORX-6 +harfbuzz:shape+text-rendering-tests / MORX-7 +harfbuzz:shape+text-rendering-tests / MORX-8 +harfbuzz:shape+text-rendering-tests / MORX-9 +harfbuzz:shape+text-rendering-tests / SFNT-1 +harfbuzz:shape+text-rendering-tests / SFNT-2 +harfbuzz:shape+text-rendering-tests / SHBALI-3 +harfbuzz:shape+text-rendering-tests / SHKNDA-1 +harfbuzz:subset / basics +harfbuzz:subset / preprocess +harfbuzz:subset / full-font +harfbuzz:subset / cff-full-font +harfbuzz:subset / japanese +harfbuzz:subset / cff-japanese +harfbuzz:subset / cff.notoserifmyanmar +harfbuzz:subset / glyf_bug_3131 +harfbuzz:subset / layout +harfbuzz:subset / layout.gpos +harfbuzz:subset / layout.gpos2 +harfbuzz:subset / layout.gpos3 +harfbuzz:subset / layout.gpos4 +harfbuzz:subset / layout.gpos5 +harfbuzz:subset / layout.gpos6 +harfbuzz:subset / layout.gpos8 +harfbuzz:subset / layout.gpos8.amiri +harfbuzz:subset / layout.gpos9 +harfbuzz:subset / layout.gsub3 +harfbuzz:subset / layout.gsub5 +harfbuzz:subset / layout.gsub5_format2 +harfbuzz:subset / layout.gsub6 +harfbuzz:subset / layout.gsub8 +harfbuzz:subset / layout.gdef +harfbuzz:subset / layout.gdef.glyphset +harfbuzz:subset / layout.khmer +harfbuzz:subset / layout.context +harfbuzz:subset / layout.context_format2 +harfbuzz:subset / layout.gdef-varstore +harfbuzz:subset / layout.gdef-attachlist +harfbuzz:subset / layout.notonastaliqurdu +harfbuzz:subset / layout.tinos +harfbuzz:subset / layout.duplicate_features +harfbuzz:subset / layout.unsorted_featurelist +harfbuzz:subset / layout.drop_feature +harfbuzz:subset / no_layout_closure +harfbuzz:subset / cmap +harfbuzz:subset / cmap14 +harfbuzz:subset / sbix +harfbuzz:subset / colr +harfbuzz:subset / colr_glyphs +harfbuzz:subset / math +harfbuzz:subset / math_coverage_offset +harfbuzz:subset / colrv1 +harfbuzz:subset / colrv1_copy_varstore +harfbuzz:subset / colr_with_components +harfbuzz:subset / cbdt +harfbuzz:subset / variable +harfbuzz:subset / glyph_names +harfbuzz:subset / post +harfbuzz:subset / 32bit_var_store +harfbuzz:subset / pin_all_at_default +harfbuzz:subset / instantiate_glyf +harfbuzz:subset / instantiate_cff2 +harfbuzz:subset / full_instance +harfbuzz:subset / instance_feature_variations +harfbuzz:subset / instance_no_double_free +harfbuzz:subset / mvar_full_instance +harfbuzz:subset / instance_comp_glyph_empty_child +harfbuzz:subset / post_apply_mvar_delta +harfbuzz:subset / apply_cvar_delta +harfbuzz:subset / collect_name_ids +harfbuzz:subset / instantiate_colrv1 +harfbuzz:subset / instantiate_cff2_update_metrics +harfbuzz:subset+repack / basic +harfbuzz:subset+repack / prioritization +harfbuzz:subset+repack / table_duplication +harfbuzz:subset+repack / isolation +harfbuzz:subset+repack / advanced_prioritization +harfbuzz:subset+repack / space_splitting +harfbuzz:fuzzing+slow / shape_fuzzer +harfbuzz:fuzzing+slow / subset_fuzzer +harfbuzz:fuzzing / draw_fuzzer +harfbuzz:threads+slow / shape_threads +harfbuzz:threads+slow / subset_threads +pixman / oob-test +pixman / infinite-loop +pixman / trap-crasher +pixman / fence-image-self-test +pixman / region-translate-test +pixman / fetch-test +pixman / a1-trap-test +pixman / prng-test +pixman / radial-invalid +pixman / pdf-op-test +pixman / region-test +pixman / combiner-test +pixman / scaling-crash-test +pixman / alpha-loop +pixman / scaling-helpers-test +pixman / rotate-test +pixman / alphamap +pixman / gradient-crash-test +pixman / pixel-test +pixman / matrix-test +pixman / filter-reduction-test +pixman / composite-traps-test +pixman / region-contains-test +pixman / glyph-test +pixman / solid-test +pixman / stress-test +pixman / cover-test +pixman / blitters-test +pixman / affine-test +pixman / scaling-test +pixman / composite +pixman / tolerance-test +pixman / thread-test +cairo:cairo-test-suite+slow / cairo +pango:pango / test-coverage +pango:pango / testboundaries +pango:pango / testboundaries_ucd +pango:pango / testcolor +pango:pango / testscript +pango:pango / testlanguage +pango:pango / testmatrix +pango:pango / testtabs +pango:pango / test-bidi +pango:pango / testcontext +pango:pango / testiter +pango:pango / test-ellipsize +pango:pango / markup-parse +pango:pango / test-itemize +pango:pango / test-shape +pango:pango / test-font +pango:pango / testattributes +pango:pango / cxx-test +pango:pango / test-harfbuzz +pango:pango / test-break +pango:pango / test-pangocairo-threads +vorbis / sharedbook +vorbis / vorbistest +gst-plugins-base / gst_typefindfunctions +gst-plugins-base / libs_audio +gst-plugins-base / libs_audiocdsrc +gst-plugins-base / libs_audiodecoder +gst-plugins-base / libs_audioencoder +gst-plugins-base / libs_audiosink +gst-plugins-base / libs_baseaudiovisualizer +gst-plugins-base / libs_discoverer +gst-plugins-base / libs_dsd +gst-plugins-base / libs_fft +gst-plugins-base / libs_libsabi +gst-plugins-base / libs_mikey +gst-plugins-base / libs_navigation +gst-plugins-base / libs_pbutils +gst-plugins-base / libs_profile +gst-plugins-base / libs_rtp +gst-plugins-base / libs_rtpbasedepayload +gst-plugins-base / libs_rtpbasepayload +gst-plugins-base / libs_rtphdrext +gst-plugins-base / libs_rtpmeta +gst-plugins-base / libs_rtsp +gst-plugins-base / libs_sdp +gst-plugins-base / libs_tag +gst-plugins-base / libs_video +gst-plugins-base / libs_videoanc +gst-plugins-base / libs_videoencoder +gst-plugins-base / libs_videodecoder +gst-plugins-base / libs_videotimecode +gst-plugins-base / libs_xmpwriter +gst-plugins-base / elements_adder +gst-plugins-base / elements_appsink +gst-plugins-base / elements_appsrc +gst-plugins-base / elements_audioconvert +gst-plugins-base / elements_audiointerleave +gst-plugins-base / elements_audiomixer +gst-plugins-base / elements_audiorate +gst-plugins-base / elements_audiotestsrc +gst-plugins-base / elements_audioresample +gst-plugins-base / elements_compositor +gst-plugins-base / elements_decodebin +gst-plugins-base / elements_overlaycomposition +gst-plugins-base / elements_playbin +gst-plugins-base / elements_playsink +gst-plugins-base / elements_streamsynchronizer +gst-plugins-base / elements_subparse +gst-plugins-base / elements_urisourcebin +gst-plugins-base / elements_videoconvert +gst-plugins-base / elements_videorate +gst-plugins-base / elements_videoscale +gst-plugins-base / elements_videotestsrc +gst-plugins-base / elements_volume +gst-plugins-base / generic_clock_selection +gst-plugins-base / generic_states +gst-plugins-base / pipelines_simple_launch_lines +gst-plugins-base / pipelines_basetime +gst-plugins-base / pipelines_capsfilter_renegotiation +gst-plugins-base / pipelines_gio +gst-plugins-base / pipelines_streamsynchronizer +gst-plugins-base / libs_gstlibscpp +gst-plugins-base / elements-videoscale-1 +gst-plugins-base / elements-videoscale-2 +gst-plugins-base / elements-videoscale-3 +gst-plugins-base / elements-videoscale-4 +gst-plugins-base / elements-videoscale-5 +gst-plugins-base / elements-videoscale-6 +gst-plugins-base / orc_audio +gst-plugins-base / orc_video +gst-plugins-base / orc_adder +gst-plugins-base / orc_audiomixer +gst-plugins-base / orc_compositor +gst-plugins-base / orc_volume +gst-plugins-base / orc_videotestsrc +gst-plugins-base / validate.audiotestsrc.reverse +gst-plugins-base / validate.videorate.10_to_1fps +gst-plugins-base / validate.videorate.reverse.10_to_1fps +gst-plugins-base / validate.videorate.reverse.10_to_30fps +gst-plugins-base / validate.videorate.reverse.1_to_10fps +gst-plugins-base / validate.videorate.reverse.30fps +gst-plugins-base / validate.videorate.reverse.variable_to_10fps +gst-plugins-base / validate.videorate.change_rate_while_playing +gst-plugins-base / validate.videorate.change_rate_reverse_playback +gst-plugins-base / validate.videorate.rate_0_5 +gst-plugins-base / validate.videorate.rate_0_5_with_decoder +gst-plugins-base / validate.videorate.rate_2_0 +gst-plugins-base / validate.videorate.rate_2_0_with_decoder +gst-plugins-base / validate.videorate.duplicate_on_eos +gst-plugins-base / validate.videorate.duplicate_on_eos_disbaled +gst-plugins-base / validate.videorate.duplicate_on_eos_half_sec +gst-plugins-base / validate.videorate.fill_segment_after_caps_changed_before_eos +gst-plugins-base / validate.videorate.drop_out_of_segment +gst-plugins-base / validate.compositor.renogotiate_failing_unsupported_src_format +gst-plugins-base / validate.giosrc.read-growing-file +gst-plugins-base / validate.encodebin.set-encoder-properties +gst-plugins-base / validate.uridecodebin.expose_raw_pad_caps +gst-plugins-base / validate.fakevideodec.encoded +gst-plugins-base / validate.fakevideodec.simple +libxml2 / dict +dv / bitstream +dv / vlc +libpsl / test-is-public +libpsl / test-is-public-all +libpsl / test-is-cookie-domain-acceptable +libpsl / test-is-public-builtin +libpsl / test-registrable-domain +libpsl / libpsl_fuzzer +libpsl / libpsl_load_fuzzer +libpsl / libpsl_load_dafsa_fuzzer +libsoup / cache-test +libsoup / chunk-test +libsoup / chunk-io-test +libsoup / coding-test +libsoup / context-test +libsoup / continue-test +libsoup / cookies-test +libsoup / date-test +libsoup / forms-test +libsoup / header-parsing-test +libsoup / hsts-test +libsoup / hsts-db-test +libsoup / misc-test +libsoup / multipart-test +libsoup / no-ssl-test +libsoup / ntlm-test +libsoup / redirect-test +libsoup / requester-test +libsoup / resource-test +libsoup / samesite-test +libsoup / session-test +libsoup / server-auth-test +libsoup / server-test +libsoup / sniffing-test +libsoup / socket-test +libsoup / ssl-test +libsoup / streaming-test +libsoup / timeout-test +libsoup / tld-test +libsoup / uri-parsing-test +libsoup / websocket-test +gst-plugins-good / elements_audioamplify +gst-plugins-good / elements_audiochebband +gst-plugins-good / elements_audiocheblimit +gst-plugins-good / elements_audiodynamic +gst-plugins-good / elements_audioecho +gst-plugins-good / elements_audiofirfilter +gst-plugins-good / elements_audioiirfilter +gst-plugins-good / elements_audioinvert +gst-plugins-good / elements_audiopanorama +gst-plugins-good / elements_audiowsincband +gst-plugins-good / elements_audiowsinclimit +gst-plugins-good / elements_alphacolor +gst-plugins-good / elements_alpha +gst-plugins-good / elements_avimux +gst-plugins-good / elements_avisubtitle +gst-plugins-good / elements_capssetter +gst-plugins-good / elements_aacparse +gst-plugins-good / elements_ac3parse +gst-plugins-good / elements_amrparse +gst-plugins-good / elements_flacparse +gst-plugins-good / elements_mpegaudioparse +gst-plugins-good / elements_autodetect +gst-plugins-good / elements_deinterlace +gst-plugins-good / elements_dtmf +gst-plugins-good / elements_flvdemux +gst-plugins-good / elements_flvmux +gst-plugins-good / elements_hlsdemux_m3u8 +gst-plugins-good / elements_mulawdec +gst-plugins-good / elements_mulawenc +gst-plugins-good / elements_icydemux +gst-plugins-good / elements_id3demux +gst-plugins-good / elements_imagefreeze +gst-plugins-good / elements_deinterleave +gst-plugins-good / elements_interleave +gst-plugins-good / elements_level +gst-plugins-good / elements_matroskademux +gst-plugins-good / elements_matroskamux +gst-plugins-good / elements_matroskaparse +gst-plugins-good / elements_multifile +gst-plugins-good / elements_splitmuxsink +gst-plugins-good / elements_splitmuxsinktimecode +gst-plugins-good / elements_splitmuxsrc +gst-plugins-good / elements_qtmux +gst-plugins-good / elements_qtdemux +gst-plugins-good / elements_rganalysis +gst-plugins-good / elements_rglimiter +gst-plugins-good / elements_rgvolume +gst-plugins-good / elements_spectrum +gst-plugins-good / elements_shapewipe +gst-plugins-good / elements_udpsink +gst-plugins-good / elements_udpsrc +gst-plugins-good / elements_videobox +gst-plugins-good / elements_videocrop +gst-plugins-good / elements_videofilter +gst-plugins-good / elements_videoflip +gst-plugins-good / elements_videomixer +gst-plugins-good / elements_aspectratiocrop +gst-plugins-good / pipelines_wavenc +gst-plugins-good / elements_wavparse +gst-plugins-good / elements_wavpackparse +gst-plugins-good / elements_xingmux +gst-plugins-good / elements_y4menc +gst-plugins-good / pipelines_effectv +gst-plugins-good / elements_equalizer +gst-plugins-good / pipelines_simple_launch_lines +gst-plugins-good / pipelines_tagschecking +gst-plugins-good / generic_states +gst-plugins-good / elements_rtphdrext_colorspace +gst-plugins-good / elements_rtph261 +gst-plugins-good / elements_rtph263 +gst-plugins-good / elements_rtph264 +gst-plugins-good / elements_rtph265 +gst-plugins-good / elements_rtpopus +gst-plugins-good / elements_rtppassthrough +gst-plugins-good / elements_rtpvp8 +gst-plugins-good / elements_rtpvp9 +gst-plugins-good / elements_rtpbin +gst-plugins-good / elements_rtpbin_buffer_list +gst-plugins-good / elements_rtpcollision +gst-plugins-good / elements_rtpfunnel +gst-plugins-good / elements_rtphdrextclientaudiolevel +gst-plugins-good / elements_rtphdrextsdes +gst-plugins-good / elements_rtpjitterbuffer +gst-plugins-good / elements_rtpjpeg +gst-plugins-good / elements_rtptimerqueue +gst-plugins-good / elements_rtpmux +gst-plugins-good / elements_rtpptdemux +gst-plugins-good / elements_rtprtx +gst-plugins-good / elements_rtpsession +gst-plugins-good / elements_rtpstorage +gst-plugins-good / elements_rtpred +gst-plugins-good / elements_rtpulpfec +gst-plugins-good / elements_rtpssrcdemux +gst-plugins-good / elements_rtp_payloading +gst-plugins-good / elements_rtpst2022_1_fecdec +gst-plugins-good / elements_rtpst2022_1_fecenc +gst-plugins-good / orc_audiopanorama +gst-plugins-good / orc_deinterlace +gst-plugins-good / orc_videomixer +gst-plugins-good / orc_videobox +libnice / test-parse +libnice / test-format +libnice / test-bind +libnice / test-conncheck +libnice / test-hmac +libnice / nice-random +libnice / test-pseudotcp +libnice / test-bsd +libnice / test +libnice / test-address +libnice / test-add-remove-stream +libnice / test-build-io-stream +libnice / test-io-stream-thread +libnice / test-io-stream-closing-write +libnice / test-io-stream-closing-read +libnice / test-io-stream-cancelling +libnice / test-io-stream-pollable +libnice / test-send-recv +libnice / test-socket-is-based-on +libnice / test-udp-turn-fragmentation +libnice / test-priority +libnice / test-fullmode +libnice / test-fullmode-with-stun +libnice / test-different-number-streams +libnice / test-restart +libnice / test-fallback +libnice / test-thread +libnice / test-trickle +libnice / test-tcp +libnice / test-icetcp +libnice / test-bytestream-tcp +libnice / test-credentials +libnice / test-turn +libnice / test-drop-invalid +libnice / test-nomination +libnice / test-interfaces +libnice / test-set-port-range +libnice / test-consent +libnice / test-gstreamer +json-glib / array +json-glib / boxed +json-glib / builder +json-glib / generator +json-glib / gvariant +json-glib / invalid +json-glib / node +json-glib / object +json-glib / parser +json-glib / path +json-glib / reader +json-glib / serialize-simple +json-glib / serialize-complex +json-glib / serialize-full +libmicrodns / unittest +openh264 / api +openh264 / common +openh264 / decoder +openh264 / encoder +openh264 / processing +libsrtp2 / cipher_driver +libsrtp2 / datatypes_driver +libsrtp2 / kernel_driver +libsrtp2 / env +libsrtp2 / sha1_driver +libsrtp2 / aes_calc_128 +libsrtp2 / aes_calc_256 +libsrtp2 / srtp_driver +libsrtp2 / replay_driver +libsrtp2 / roc_driver +libsrtp2 / rdbx_driver +libsrtp2 / test_srtp +gst-plugins-bad / elements_aiffparse +gst-plugins-bad / elements_asfmux +gst-plugins-bad / elements_autoconvert +gst-plugins-bad / elements_autovideoconvert +gst-plugins-bad / elements_avwait +gst-plugins-bad / elements_camerabin +gst-plugins-bad / elements_ccconverter +gst-plugins-bad / elements_cccombiner +gst-plugins-bad / elements_ccextractor +gst-plugins-bad / elements_cudaconvert +gst-plugins-bad / elements_cudafilter +gst-plugins-bad / elements_d3d11colorconvert +gst-plugins-bad / elements_d3d11videosink +gst-plugins-bad / elements_fdkaac +gst-plugins-bad / elements_gdpdepay +gst-plugins-bad / elements_gdppay +gst-plugins-bad / elements_h263parse +gst-plugins-bad / elements_h264parse +gst-plugins-bad / elements_h264timestamper +gst-plugins-bad / elements_h265parse +gst-plugins-bad / elements_hlsdemux_m3u8 +gst-plugins-bad / elements_id3mux +gst-plugins-bad / elements_interlace +gst-plugins-bad / elements_jpeg2000parse +gst-plugins-bad / elements_line21 +gst-plugins-bad / elements_mfvideosrc +gst-plugins-bad / elements_mpegtsdemux +gst-plugins-bad / elements_mpegtsmux +gst-plugins-bad / elements_mpeg4videoparse +gst-plugins-bad / elements_mpegvideoparse +gst-plugins-bad / elements_mxfdemux +gst-plugins-bad / elements_mxfmux +gst-plugins-bad / elements_nvenc +gst-plugins-bad / elements_nvdec +gst-plugins-bad / elements_pcapparse +gst-plugins-bad / elements_pnm +gst-plugins-bad / elements_proxysink +gst-plugins-bad / elements_ristrtpext +gst-plugins-bad / elements_rtponvifparse +gst-plugins-bad / elements_rtponviftimestamp +gst-plugins-bad / elements_rtpsrc +gst-plugins-bad / elements_rtpsink +gst-plugins-bad / elements_sdpdemux +gst-plugins-bad / elements_srtp +gst-plugins-bad / elements_switchbin +gst-plugins-bad / elements_videoframe_audiolevel +gst-plugins-bad / elements_viewfinderbin +gst-plugins-bad / elements_vp9parse +gst-plugins-bad / elements_av1parse +gst-plugins-bad / elements_wasapi +gst-plugins-bad / elements_wasapi2 +gst-plugins-bad / libs_h264parser +gst-plugins-bad / libs_h265parser +gst-plugins-bad / libs_insertbin +gst-plugins-bad / libs_isoff +gst-plugins-bad / libs_nalutils +gst-plugins-bad / libs_mpegts +gst-plugins-bad / libs_mpegvideoparser +gst-plugins-bad / libs_mse +gst-plugins-bad / libs_planaraudioadapter +gst-plugins-bad / libs_vc1parser +gst-plugins-bad / libs_vp8parser +gst-plugins-bad / libs_vp9parser +gst-plugins-bad / libs_av1parser +gst-plugins-bad / libs_h264bitwriter +gst-plugins-bad / libs_h265bitwriter +gst-plugins-bad / libs_analyticsmeta +gst-plugins-bad / libs_d3d11device +gst-plugins-bad / libs_d3d11memory +gst-plugins-bad / libs_cudamemory +gst-plugins-bad / orc_bayer +gst-plugins-bad / orc_fieldanalysis +gst-plugins-bad / orc_gaudieffects +gst-plugins-bad / orc_scenechange +gst-plugins-bad / validate.opencv.cvtracker +gst-plugins-bad / validate.testsrcbin.caps_spec +gst-plugins-bad / validate.codectimestamper.h264_propagate_caps +gst-plugins-ugly / generic_states +FFmpeg / avutil_adler32 +FFmpeg / avutil_aes +FFmpeg / avutil_aes_ctr +FFmpeg / avutil_audio_fifo +FFmpeg / avutil_avstring +FFmpeg / avutil_base64 +FFmpeg / avutil_blowfish +FFmpeg / avutil_bprint +FFmpeg / avutil_cast5 +FFmpeg / avutil_camellia +FFmpeg / avutil_channel_layout +FFmpeg / avutil_color_utils +FFmpeg / avutil_cpu +FFmpeg / avutil_crc +FFmpeg / avutil_des +FFmpeg / avutil_dict +FFmpeg / avutil_display +FFmpeg / avutil_encryption_info +FFmpeg / avutil_error +FFmpeg / avutil_eval +FFmpeg / avutil_file +FFmpeg / avutil_fifo +FFmpeg / avutil_hash +FFmpeg / avutil_hmac +FFmpeg / avutil_hwdevice +FFmpeg / avutil_integer +FFmpeg / avutil_imgutils +FFmpeg / avutil_lfg +FFmpeg / avutil_lls +FFmpeg / avutil_log +FFmpeg / avutil_md5 +FFmpeg / avutil_murmur3 +FFmpeg / avutil_opt +FFmpeg / avutil_pca +FFmpeg / avutil_parseutils +FFmpeg / avutil_pixdesc +FFmpeg / avutil_pixfmt_best +FFmpeg / avutil_random_seed +FFmpeg / avutil_rational +FFmpeg / avutil_ripemd +FFmpeg / avutil_sha +FFmpeg / avutil_sha512 +FFmpeg / avutil_softfloat +FFmpeg / avutil_tree +FFmpeg / avutil_twofish +FFmpeg / avutil_uuid +FFmpeg / avutil_xtea +FFmpeg / avutil_tea +FFmpeg / avutil_cpu_init +FFmpeg / avutil_pixelutils +FFmpeg / swresample_swresample +FFmpeg / swscale_colorspace +FFmpeg / swscale_floatimg_cmp +FFmpeg / swscale_pixdesc_query +FFmpeg / avcodec_avcodec +FFmpeg / avcodec_avpacket +FFmpeg / avcodec_bitstream_be +FFmpeg / avcodec_bitstream_le +FFmpeg / avcodec_celp_math +FFmpeg / avcodec_codec_desc +FFmpeg / avcodec_htmlsubtitles +FFmpeg / avcodec_jpeg2000dwt +FFmpeg / avcodec_mathops +FFmpeg / avcodec_cabac +FFmpeg / avcodec_golomb +FFmpeg / avcodec_h264_levels +FFmpeg / avcodec_h265_levels +FFmpeg / avcodec_dct +FFmpeg / avcodec_iirfilter +FFmpeg / avcodec_mjpegenc_huffman +FFmpeg / avcodec_motion +FFmpeg / avcodec_mpeg12framerate +FFmpeg / avcodec_rangecoder +FFmpeg / avcodec_snowenc +FFmpeg / avformat_url +FFmpeg / avformat_seek_utils +FFmpeg / avformat_movenc +FFmpeg / avformat_noproxy +FFmpeg / avformat_srtp +FFmpeg / avfilter_drawutils +FFmpeg / avfilter_formats +gst-libav / elements_avaudenc +gst-libav / elements_avdec_adpcm +gst-libav / elements_avdemux_ape +gst-libav / elements_avvidenc +gst-libav / generic_libavcodec_locking +gst-libav / generic_plugin_test +gst-devtools / validate/launcher_tests diff --git a/native-file.txt b/native-file.txt new file mode 100644 index 0000000000..bb0047de14 --- /dev/null +++ b/native-file.txt @@ -0,0 +1,3 @@ +[binaries] + +pkg-config = 'false' diff --git a/subprojects/gst-libav/ext/libav/gstavaudenc.c b/subprojects/gst-libav/ext/libav/gstavaudenc.c index 45d2d38eb1..5651ce07e9 100644 --- a/subprojects/gst-libav/ext/libav/gstavaudenc.c +++ b/subprojects/gst-libav/ext/libav/gstavaudenc.c @@ -256,7 +256,9 @@ gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info) if (!ffmpegaudenc->context->time_base.den) { ffmpegaudenc->context->time_base.den = GST_AUDIO_INFO_RATE (info); ffmpegaudenc->context->time_base.num = 1; +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 100) ffmpegaudenc->context->ticks_per_frame = 1; +#endif } #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 28, 100) if (ffmpegaudenc->context->ch_layout.order != AV_CHANNEL_ORDER_UNSPEC) { diff --git a/subprojects/gst-libav/ext/libav/gstavcodecmap.c b/subprojects/gst-libav/ext/libav/gstavcodecmap.c index 2510b27490..91c36344c7 100644 --- a/subprojects/gst-libav/ext/libav/gstavcodecmap.c +++ b/subprojects/gst-libav/ext/libav/gstavcodecmap.c @@ -2872,7 +2872,9 @@ gst_ffmpeg_caps_to_pixfmt (const GstCaps * caps, /* they're fine, this is because it does period=1/frequency */ context->time_base.den = gst_value_get_fraction_numerator (fps); context->time_base.num = gst_value_get_fraction_denominator (fps); +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 100) context->ticks_per_frame = 1; +#endif GST_DEBUG ("setting framerate %d/%d = %lf", context->time_base.den, context->time_base.num, @@ -3159,8 +3161,9 @@ gst_ffmpeg_videoinfo_to_context (GstVideoInfo * info, AVCodecContext * context) for (i = 0; i < GST_VIDEO_INFO_N_COMPONENTS (info); i++) bpp += GST_VIDEO_INFO_COMP_DEPTH (info, i); context->bits_per_coded_sample = bpp; - +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 100) context->ticks_per_frame = 1; +#endif if (GST_VIDEO_INFO_FPS_N (info) == 0) { GST_DEBUG ("Using 25/1 framerate"); context->time_base.den = 25; diff --git a/subprojects/gst-libav/ext/libav/gstavviddec.c b/subprojects/gst-libav/ext/libav/gstavviddec.c index 16c7251163..90e9a18820 100644 --- a/subprojects/gst-libav/ext/libav/gstavviddec.c +++ b/subprojects/gst-libav/ext/libav/gstavviddec.c @@ -677,10 +677,21 @@ update_state: /* Use the framerate values stored in the decoder for calculating latency. The * upstream framerate might not be set but we still want to report a latency * if needed. */ +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 100) + if (ffmpegdec->context->time_base.den && ffmpegdec->context->codec_descriptor + && ffmpegdec->context->codec_descriptor->props) { +#else if (ffmpegdec->context->time_base.den && ffmpegdec->context->ticks_per_frame) { - gint fps_n = ffmpegdec->context->time_base.den; - gint fps_d = - ffmpegdec->context->time_base.num * ffmpegdec->context->ticks_per_frame; +#endif + const gint fps_n = ffmpegdec->context->time_base.den; +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 100) + const gint ticks_per_frame = + (ffmpegdec->context-> + codec_descriptor->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; +#else + const gint ticks_per_frame = ffmpegdec->context->ticks_per_frame; +#endif + const gint fps_d = ffmpegdec->context->time_base.num * ticks_per_frame; if (fps_n) { latency = gst_util_uint64_scale_ceil ( (ffmpegdec->context->has_b_frames) * GST_SECOND, fps_d, fps_n); @@ -1138,7 +1149,13 @@ picture_changed (GstFFMpegVidDec * ffmpegdec, AVFrame * picture, static gboolean context_changed (GstFFMpegVidDec * ffmpegdec, AVCodecContext * context) { - return !(ffmpegdec->ctx_ticks == context->ticks_per_frame +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 100) + const gint ticks_per_frame = (context->codec_descriptor + && context->codec_descriptor->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; +#else + const gint ticks_per_frame = context->ticks_per_frame; +#endif + return !(ffmpegdec->ctx_ticks == ticks_per_frame && ffmpegdec->ctx_time_n == context->time_base.num && ffmpegdec->ctx_time_d == context->time_base.den); } @@ -1193,7 +1210,13 @@ update_video_context (GstFFMpegVidDec * ffmpegdec, AVCodecContext * context, if (!ffmpegdec->pic_interlaced) ffmpegdec->pic_field_order_changed = FALSE; - ffmpegdec->ctx_ticks = context->ticks_per_frame; +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 100) + const gint ticks_per_frame = (context->codec_descriptor + && context->codec_descriptor->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; +#else + const gint ticks_per_frame = context->ticks_per_frame; +#endif + ffmpegdec->ctx_ticks = ticks_per_frame; ffmpegdec->ctx_time_n = context->time_base.num; ffmpegdec->ctx_time_d = context->time_base.den; diff --git a/subprojects/gst-libav/ext/libav/gstavvidenc.c b/subprojects/gst-libav/ext/libav/gstavvidenc.c index fef5cae904..940db4a30f 100644 --- a/subprojects/gst-libav/ext/libav/gstavvidenc.c +++ b/subprojects/gst-libav/ext/libav/gstavvidenc.c @@ -631,9 +631,16 @@ gst_ffmpegvidenc_send_frame (GstFFMpegVidEnc * ffmpegenc, GST_ERROR_OBJECT (ffmpegenc, "PTS is going backwards"); picture->pts = AV_NOPTS_VALUE; } else { +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 100) + const gint ticks_per_frame = (ffmpegenc->context->codec_descriptor + && ffmpegenc->context-> + codec_descriptor->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; +#else + const gint ticks_per_frame = ffmpegenc->context->ticks_per_frame; +#endif picture->pts = gst_ffmpeg_time_gst_to_ff ((frame->pts - ffmpegenc->pts_offset) / - ffmpegenc->context->ticks_per_frame, ffmpegenc->context->time_base); + ticks_per_frame, ffmpegenc->context->time_base); } send_frame: