@img/sharp-libvips-dev 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -0
- package/cplusplus/VConnection.cpp +151 -0
- package/cplusplus/VError.cpp +49 -0
- package/cplusplus/VImage.cpp +1548 -0
- package/cplusplus/VInterpolate.cpp +62 -0
- package/cplusplus/VRegion.cpp +27 -0
- package/cplusplus/index.js +1 -0
- package/cplusplus/vips-operators.cpp +3760 -0
- package/include/aom/aom.h +127 -0
- package/include/aom/aom_codec.h +573 -0
- package/include/aom/aom_decoder.h +257 -0
- package/include/aom/aom_encoder.h +1137 -0
- package/include/aom/aom_external_partition.h +452 -0
- package/include/aom/aom_frame_buffer.h +84 -0
- package/include/aom/aom_image.h +448 -0
- package/include/aom/aom_integer.h +68 -0
- package/include/aom/aomcx.h +2112 -0
- package/include/aom/aomdx.h +604 -0
- package/include/archive.h +1212 -0
- package/include/archive_entry.h +723 -0
- package/include/cairo/cairo-deprecated.h +123 -0
- package/include/cairo/cairo-features.h +29 -0
- package/include/cairo/cairo-ft.h +118 -0
- package/include/cairo/cairo-gobject.h +192 -0
- package/include/cairo/cairo-svg.h +130 -0
- package/include/cairo/cairo-version.h +8 -0
- package/include/cairo/cairo.h +3281 -0
- package/include/cgif.h +80 -0
- package/include/expat.h +1064 -0
- package/include/expat_config.h +140 -0
- package/include/expat_external.h +165 -0
- package/include/ffi.h +531 -0
- package/include/ffitarget.h +164 -0
- package/include/fontconfig/fcfreetype.h +59 -0
- package/include/fontconfig/fcprivate.h +134 -0
- package/include/fontconfig/fontconfig.h +1158 -0
- package/include/freetype2/freetype/config/ftconfig.h +51 -0
- package/include/freetype2/freetype/config/ftheader.h +836 -0
- package/include/freetype2/freetype/config/ftmodule.h +21 -0
- package/include/freetype2/freetype/config/ftoption.h +1014 -0
- package/include/freetype2/freetype/config/ftstdlib.h +185 -0
- package/include/freetype2/freetype/config/integer-types.h +250 -0
- package/include/freetype2/freetype/config/mac-support.h +49 -0
- package/include/freetype2/freetype/config/public-macros.h +138 -0
- package/include/freetype2/freetype/freetype.h +5337 -0
- package/include/freetype2/freetype/ftadvanc.h +188 -0
- package/include/freetype2/freetype/ftbbox.h +101 -0
- package/include/freetype2/freetype/ftbdf.h +212 -0
- package/include/freetype2/freetype/ftbitmap.h +329 -0
- package/include/freetype2/freetype/ftbzip2.h +102 -0
- package/include/freetype2/freetype/ftcache.h +1087 -0
- package/include/freetype2/freetype/ftchapters.h +168 -0
- package/include/freetype2/freetype/ftcid.h +167 -0
- package/include/freetype2/freetype/ftcolor.h +1667 -0
- package/include/freetype2/freetype/ftdriver.h +1246 -0
- package/include/freetype2/freetype/fterrdef.h +283 -0
- package/include/freetype2/freetype/fterrors.h +296 -0
- package/include/freetype2/freetype/ftfntfmt.h +93 -0
- package/include/freetype2/freetype/ftgasp.h +143 -0
- package/include/freetype2/freetype/ftglyph.h +750 -0
- package/include/freetype2/freetype/ftgxval.h +354 -0
- package/include/freetype2/freetype/ftgzip.h +151 -0
- package/include/freetype2/freetype/ftimage.h +1284 -0
- package/include/freetype2/freetype/ftincrem.h +348 -0
- package/include/freetype2/freetype/ftlcdfil.h +323 -0
- package/include/freetype2/freetype/ftlist.h +296 -0
- package/include/freetype2/freetype/ftlzw.h +100 -0
- package/include/freetype2/freetype/ftmac.h +289 -0
- package/include/freetype2/freetype/ftmm.h +805 -0
- package/include/freetype2/freetype/ftmodapi.h +807 -0
- package/include/freetype2/freetype/ftmoderr.h +204 -0
- package/include/freetype2/freetype/ftotval.h +206 -0
- package/include/freetype2/freetype/ftoutln.h +588 -0
- package/include/freetype2/freetype/ftparams.h +218 -0
- package/include/freetype2/freetype/ftpfr.h +179 -0
- package/include/freetype2/freetype/ftrender.h +244 -0
- package/include/freetype2/freetype/ftsizes.h +159 -0
- package/include/freetype2/freetype/ftsnames.h +272 -0
- package/include/freetype2/freetype/ftstroke.h +773 -0
- package/include/freetype2/freetype/ftsynth.h +104 -0
- package/include/freetype2/freetype/ftsystem.h +350 -0
- package/include/freetype2/freetype/fttrigon.h +350 -0
- package/include/freetype2/freetype/fttypes.h +617 -0
- package/include/freetype2/freetype/ftwinfnt.h +276 -0
- package/include/freetype2/freetype/otsvg.h +336 -0
- package/include/freetype2/freetype/t1tables.h +793 -0
- package/include/freetype2/freetype/ttnameid.h +1235 -0
- package/include/freetype2/freetype/tttables.h +855 -0
- package/include/freetype2/freetype/tttags.h +124 -0
- package/include/freetype2/ft2build.h +42 -0
- package/include/fribidi/fribidi-arabic.h +81 -0
- package/include/fribidi/fribidi-begindecls.h +3 -0
- package/include/fribidi/fribidi-bidi-types-list.h +96 -0
- package/include/fribidi/fribidi-bidi-types.h +405 -0
- package/include/fribidi/fribidi-bidi.h +142 -0
- package/include/fribidi/fribidi-brackets.h +89 -0
- package/include/fribidi/fribidi-char-sets-list.h +54 -0
- package/include/fribidi/fribidi-char-sets.h +106 -0
- package/include/fribidi/fribidi-common.h +152 -0
- package/include/fribidi/fribidi-config.h +23 -0
- package/include/fribidi/fribidi-deprecated.h +175 -0
- package/include/fribidi/fribidi-enddecls.h +3 -0
- package/include/fribidi/fribidi-flags.h +72 -0
- package/include/fribidi/fribidi-joining-types-list.h +44 -0
- package/include/fribidi/fribidi-joining-types.h +249 -0
- package/include/fribidi/fribidi-joining.h +74 -0
- package/include/fribidi/fribidi-mirroring.h +86 -0
- package/include/fribidi/fribidi-shape.h +71 -0
- package/include/fribidi/fribidi-types.h +79 -0
- package/include/fribidi/fribidi-unicode-version.h +10 -0
- package/include/fribidi/fribidi-unicode.h +105 -0
- package/include/fribidi/fribidi.h +129 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +221 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +37 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +525 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +40 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +115 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +481 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +113 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +718 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +33 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +70 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +168 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +46 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +165 -0
- package/include/gio-unix-2.0/gio/gdesktopappinfo.h +200 -0
- package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +67 -0
- package/include/gio-unix-2.0/gio/gunixfdmessage.h +86 -0
- package/include/gio-unix-2.0/gio/gunixinputstream.h +85 -0
- package/include/gio-unix-2.0/gio/gunixmounts.h +172 -0
- package/include/gio-unix-2.0/gio/gunixoutputstream.h +84 -0
- package/include/glib-2.0/gio/gaction.h +100 -0
- package/include/glib-2.0/gio/gactiongroup.h +163 -0
- package/include/glib-2.0/gio/gactiongroupexporter.h +47 -0
- package/include/glib-2.0/gio/gactionmap.h +101 -0
- package/include/glib-2.0/gio/gappinfo.h +369 -0
- package/include/glib-2.0/gio/gapplication.h +257 -0
- package/include/glib-2.0/gio/gapplicationcommandline.h +124 -0
- package/include/glib-2.0/gio/gasyncinitable.h +132 -0
- package/include/glib-2.0/gio/gasyncresult.h +87 -0
- package/include/glib-2.0/gio/gbufferedinputstream.h +135 -0
- package/include/glib-2.0/gio/gbufferedoutputstream.h +88 -0
- package/include/glib-2.0/gio/gbytesicon.h +54 -0
- package/include/glib-2.0/gio/gcancellable.h +120 -0
- package/include/glib-2.0/gio/gcharsetconverter.h +65 -0
- package/include/glib-2.0/gio/gcontenttype.h +84 -0
- package/include/glib-2.0/gio/gconverter.h +98 -0
- package/include/glib-2.0/gio/gconverterinputstream.h +82 -0
- package/include/glib-2.0/gio/gconverteroutputstream.h +82 -0
- package/include/glib-2.0/gio/gcredentials.h +87 -0
- package/include/glib-2.0/gio/gdatagrambased.h +146 -0
- package/include/glib-2.0/gio/gdatainputstream.h +182 -0
- package/include/glib-2.0/gio/gdataoutputstream.h +127 -0
- package/include/glib-2.0/gio/gdbusactiongroup.h +56 -0
- package/include/glib-2.0/gio/gdbusaddress.h +67 -0
- package/include/glib-2.0/gio/gdbusauthobserver.h +53 -0
- package/include/glib-2.0/gio/gdbusconnection.h +691 -0
- package/include/glib-2.0/gio/gdbuserror.h +111 -0
- package/include/glib-2.0/gio/gdbusinterface.h +83 -0
- package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +129 -0
- package/include/glib-2.0/gio/gdbusintrospection.h +327 -0
- package/include/glib-2.0/gio/gdbusmenumodel.h +47 -0
- package/include/glib-2.0/gio/gdbusmessage.h +204 -0
- package/include/glib-2.0/gio/gdbusmethodinvocation.h +136 -0
- package/include/glib-2.0/gio/gdbusnameowning.h +117 -0
- package/include/glib-2.0/gio/gdbusnamewatching.h +104 -0
- package/include/glib-2.0/gio/gdbusobject.h +80 -0
- package/include/glib-2.0/gio/gdbusobjectmanager.h +96 -0
- package/include/glib-2.0/gio/gdbusobjectmanagerclient.h +148 -0
- package/include/glib-2.0/gio/gdbusobjectmanagerserver.h +95 -0
- package/include/glib-2.0/gio/gdbusobjectproxy.h +81 -0
- package/include/glib-2.0/gio/gdbusobjectskeleton.h +98 -0
- package/include/glib-2.0/gio/gdbusproxy.h +220 -0
- package/include/glib-2.0/gio/gdbusserver.h +62 -0
- package/include/glib-2.0/gio/gdbusutils.h +65 -0
- package/include/glib-2.0/gio/gdebugcontroller.h +81 -0
- package/include/glib-2.0/gio/gdebugcontrollerdbus.h +71 -0
- package/include/glib-2.0/gio/gdrive.h +274 -0
- package/include/glib-2.0/gio/gdtlsclientconnection.h +77 -0
- package/include/glib-2.0/gio/gdtlsconnection.h +230 -0
- package/include/glib-2.0/gio/gdtlsserverconnection.h +71 -0
- package/include/glib-2.0/gio/gemblem.h +63 -0
- package/include/glib-2.0/gio/gemblemedicon.h +83 -0
- package/include/glib-2.0/gio/gfile.h +1359 -0
- package/include/glib-2.0/gio/gfileattribute.h +86 -0
- package/include/glib-2.0/gio/gfileenumerator.h +154 -0
- package/include/glib-2.0/gio/gfileicon.h +59 -0
- package/include/glib-2.0/gio/gfileinfo.h +1546 -0
- package/include/glib-2.0/gio/gfileinputstream.h +116 -0
- package/include/glib-2.0/gio/gfileiostream.h +123 -0
- package/include/glib-2.0/gio/gfilemonitor.h +100 -0
- package/include/glib-2.0/gio/gfilenamecompleter.h +81 -0
- package/include/glib-2.0/gio/gfileoutputstream.h +124 -0
- package/include/glib-2.0/gio/gfilterinputstream.h +80 -0
- package/include/glib-2.0/gio/gfilteroutputstream.h +80 -0
- package/include/glib-2.0/gio/gicon.h +133 -0
- package/include/glib-2.0/gio/ginetaddress.h +125 -0
- package/include/glib-2.0/gio/ginetaddressmask.h +86 -0
- package/include/glib-2.0/gio/ginetsocketaddress.h +80 -0
- package/include/glib-2.0/gio/ginitable.h +107 -0
- package/include/glib-2.0/gio/ginputstream.h +218 -0
- package/include/glib-2.0/gio/gio-autocleanups.h +155 -0
- package/include/glib-2.0/gio/gio-visibility.h +952 -0
- package/include/glib-2.0/gio/gio.h +186 -0
- package/include/glib-2.0/gio/gioenums.h +2149 -0
- package/include/glib-2.0/gio/gioenumtypes.h +207 -0
- package/include/glib-2.0/gio/gioerror.h +58 -0
- package/include/glib-2.0/gio/giomodule.h +199 -0
- package/include/glib-2.0/gio/gioscheduler.h +56 -0
- package/include/glib-2.0/gio/giostream.h +137 -0
- package/include/glib-2.0/gio/giotypes.h +660 -0
- package/include/glib-2.0/gio/glistmodel.h +74 -0
- package/include/glib-2.0/gio/gliststore.h +97 -0
- package/include/glib-2.0/gio/gloadableicon.h +101 -0
- package/include/glib-2.0/gio/gmemoryinputstream.h +92 -0
- package/include/glib-2.0/gio/gmemorymonitor.h +64 -0
- package/include/glib-2.0/gio/gmemoryoutputstream.h +109 -0
- package/include/glib-2.0/gio/gmenu.h +184 -0
- package/include/glib-2.0/gio/gmenuexporter.h +55 -0
- package/include/glib-2.0/gio/gmenumodel.h +307 -0
- package/include/glib-2.0/gio/gmount.h +278 -0
- package/include/glib-2.0/gio/gmountoperation.h +179 -0
- package/include/glib-2.0/gio/gnativesocketaddress.h +67 -0
- package/include/glib-2.0/gio/gnativevolumemonitor.h +63 -0
- package/include/glib-2.0/gio/gnetworkaddress.h +82 -0
- package/include/glib-2.0/gio/gnetworking.h +81 -0
- package/include/glib-2.0/gio/gnetworkmonitor.h +101 -0
- package/include/glib-2.0/gio/gnetworkservice.h +77 -0
- package/include/glib-2.0/gio/gnotification.h +103 -0
- package/include/glib-2.0/gio/goutputstream.h +334 -0
- package/include/glib-2.0/gio/gpermission.h +129 -0
- package/include/glib-2.0/gio/gpollableinputstream.h +106 -0
- package/include/glib-2.0/gio/gpollableoutputstream.h +127 -0
- package/include/glib-2.0/gio/gpollableutils.h +66 -0
- package/include/glib-2.0/gio/gpowerprofilemonitor.h +65 -0
- package/include/glib-2.0/gio/gpropertyaction.h +49 -0
- package/include/glib-2.0/gio/gproxy.h +130 -0
- package/include/glib-2.0/gio/gproxyaddress.h +88 -0
- package/include/glib-2.0/gio/gproxyaddressenumerator.h +83 -0
- package/include/glib-2.0/gio/gproxyresolver.h +97 -0
- package/include/glib-2.0/gio/gremoteactiongroup.h +77 -0
- package/include/glib-2.0/gio/gresolver.h +299 -0
- package/include/glib-2.0/gio/gresource.h +132 -0
- package/include/glib-2.0/gio/gseekable.h +105 -0
- package/include/glib-2.0/gio/gsettings.h +347 -0
- package/include/glib-2.0/gio/gsettingsbackend.h +176 -0
- package/include/glib-2.0/gio/gsettingsschema.h +115 -0
- package/include/glib-2.0/gio/gsimpleaction.h +65 -0
- package/include/glib-2.0/gio/gsimpleactiongroup.h +99 -0
- package/include/glib-2.0/gio/gsimpleasyncresult.h +164 -0
- package/include/glib-2.0/gio/gsimpleiostream.h +47 -0
- package/include/glib-2.0/gio/gsimplepermission.h +47 -0
- package/include/glib-2.0/gio/gsimpleproxyresolver.h +91 -0
- package/include/glib-2.0/gio/gsocket.h +330 -0
- package/include/glib-2.0/gio/gsocketaddress.h +84 -0
- package/include/glib-2.0/gio/gsocketaddressenumerator.h +103 -0
- package/include/glib-2.0/gio/gsocketclient.h +199 -0
- package/include/glib-2.0/gio/gsocketconnectable.h +83 -0
- package/include/glib-2.0/gio/gsocketconnection.h +117 -0
- package/include/glib-2.0/gio/gsocketcontrolmessage.h +113 -0
- package/include/glib-2.0/gio/gsocketlistener.h +157 -0
- package/include/glib-2.0/gio/gsocketservice.h +95 -0
- package/include/glib-2.0/gio/gsrvtarget.h +60 -0
- package/include/glib-2.0/gio/gsubprocess.h +169 -0
- package/include/glib-2.0/gio/gsubprocesslauncher.h +121 -0
- package/include/glib-2.0/gio/gtask.h +207 -0
- package/include/glib-2.0/gio/gtcpconnection.h +71 -0
- package/include/glib-2.0/gio/gtcpwrapperconnection.h +71 -0
- package/include/glib-2.0/gio/gtestdbus.h +74 -0
- package/include/glib-2.0/gio/gthemedicon.h +70 -0
- package/include/glib-2.0/gio/gthreadedsocketservice.h +83 -0
- package/include/glib-2.0/gio/gtlsbackend.h +115 -0
- package/include/glib-2.0/gio/gtlscertificate.h +125 -0
- package/include/glib-2.0/gio/gtlsclientconnection.h +88 -0
- package/include/glib-2.0/gio/gtlsconnection.h +214 -0
- package/include/glib-2.0/gio/gtlsdatabase.h +249 -0
- package/include/glib-2.0/gio/gtlsfiledatabase.h +60 -0
- package/include/glib-2.0/gio/gtlsinteraction.h +150 -0
- package/include/glib-2.0/gio/gtlspassword.h +121 -0
- package/include/glib-2.0/gio/gtlsserverconnection.h +71 -0
- package/include/glib-2.0/gio/gunixconnection.h +102 -0
- package/include/glib-2.0/gio/gunixcredentialsmessage.h +89 -0
- package/include/glib-2.0/gio/gunixfdlist.h +97 -0
- package/include/glib-2.0/gio/gunixsocketaddress.h +83 -0
- package/include/glib-2.0/gio/gvfs.h +170 -0
- package/include/glib-2.0/gio/gvolume.h +255 -0
- package/include/glib-2.0/gio/gvolumemonitor.h +156 -0
- package/include/glib-2.0/gio/gzlibcompressor.h +64 -0
- package/include/glib-2.0/gio/gzlibdecompressor.h +60 -0
- package/include/glib-2.0/glib/deprecated/gallocator.h +88 -0
- package/include/glib-2.0/glib/deprecated/gcache.h +77 -0
- package/include/glib-2.0/glib/deprecated/gcompletion.h +85 -0
- package/include/glib-2.0/glib/deprecated/gmain.h +137 -0
- package/include/glib-2.0/glib/deprecated/grel.h +107 -0
- package/include/glib-2.0/glib/deprecated/gthread.h +295 -0
- package/include/glib-2.0/glib/galloca.h +147 -0
- package/include/glib-2.0/glib/garray.h +323 -0
- package/include/glib-2.0/glib/gasyncqueue.h +126 -0
- package/include/glib-2.0/glib/gatomic.h +587 -0
- package/include/glib-2.0/glib/gbacktrace.h +74 -0
- package/include/glib-2.0/glib/gbase64.h +63 -0
- package/include/glib-2.0/glib/gbitlock.h +78 -0
- package/include/glib-2.0/glib/gbookmarkfile.h +300 -0
- package/include/glib-2.0/glib/gbytes.h +99 -0
- package/include/glib-2.0/glib/gcharset.h +49 -0
- package/include/glib-2.0/glib/gchecksum.h +106 -0
- package/include/glib-2.0/glib/gconvert.h +179 -0
- package/include/glib-2.0/glib/gdataset.h +156 -0
- package/include/glib-2.0/glib/gdate.h +309 -0
- package/include/glib-2.0/glib/gdatetime.h +275 -0
- package/include/glib-2.0/glib/gdir.h +54 -0
- package/include/glib-2.0/glib/genviron.h +65 -0
- package/include/glib-2.0/glib/gerror.h +263 -0
- package/include/glib-2.0/glib/gfileutils.h +223 -0
- package/include/glib-2.0/glib/ggettext.h +65 -0
- package/include/glib-2.0/glib/ghash.h +206 -0
- package/include/glib-2.0/glib/ghmac.h +85 -0
- package/include/glib-2.0/glib/ghook.h +204 -0
- package/include/glib-2.0/glib/ghostutils.h +45 -0
- package/include/glib-2.0/glib/gi18n-lib.h +38 -0
- package/include/glib-2.0/glib/gi18n.h +34 -0
- package/include/glib-2.0/glib/giochannel.h +407 -0
- package/include/glib-2.0/glib/gkeyfile.h +332 -0
- package/include/glib-2.0/glib/glib-autocleanups.h +105 -0
- package/include/glib-2.0/glib/glib-typeof.h +47 -0
- package/include/glib-2.0/glib/glib-visibility.h +952 -0
- package/include/glib-2.0/glib/glist.h +179 -0
- package/include/glib-2.0/glib/gmacros.h +1425 -0
- package/include/glib-2.0/glib/gmain.h +862 -0
- package/include/glib-2.0/glib/gmappedfile.h +60 -0
- package/include/glib-2.0/glib/gmarkup.h +265 -0
- package/include/glib-2.0/glib/gmem.h +425 -0
- package/include/glib-2.0/glib/gmessages.h +690 -0
- package/include/glib-2.0/glib/gnode.h +309 -0
- package/include/glib-2.0/glib/goption.h +409 -0
- package/include/glib-2.0/glib/gpathbuf.h +90 -0
- package/include/glib-2.0/glib/gpattern.h +65 -0
- package/include/glib-2.0/glib/gpoll.h +122 -0
- package/include/glib-2.0/glib/gprimes.h +52 -0
- package/include/glib-2.0/glib/gprintf.h +59 -0
- package/include/glib-2.0/glib/gqsort.h +47 -0
- package/include/glib-2.0/glib/gquark.h +70 -0
- package/include/glib-2.0/glib/gqueue.h +205 -0
- package/include/glib-2.0/glib/grand.h +101 -0
- package/include/glib-2.0/glib/grcbox.h +91 -0
- package/include/glib-2.0/glib/grefcount.h +179 -0
- package/include/glib-2.0/glib/grefstring.h +59 -0
- package/include/glib-2.0/glib/gscanner.h +301 -0
- package/include/glib-2.0/glib/gsequence.h +175 -0
- package/include/glib-2.0/glib/gshell.h +59 -0
- package/include/glib-2.0/glib/gslice.h +117 -0
- package/include/glib-2.0/glib/gslist.h +166 -0
- package/include/glib-2.0/glib/gspawn.h +323 -0
- package/include/glib-2.0/glib/gstdio.h +231 -0
- package/include/glib-2.0/glib/gstrfuncs.h +504 -0
- package/include/glib-2.0/glib/gstring.h +296 -0
- package/include/glib-2.0/glib/gstringchunk.h +59 -0
- package/include/glib-2.0/glib/gstrvbuilder.h +69 -0
- package/include/glib-2.0/glib/gtestutils.h +763 -0
- package/include/glib-2.0/glib/gthread.h +603 -0
- package/include/glib-2.0/glib/gthreadpool.h +105 -0
- package/include/glib-2.0/glib/gtimer.h +80 -0
- package/include/glib-2.0/glib/gtimezone.h +98 -0
- package/include/glib-2.0/glib/gtrashstack.h +60 -0
- package/include/glib-2.0/glib/gtree.h +181 -0
- package/include/glib-2.0/glib/gtypes.h +591 -0
- package/include/glib-2.0/glib/gunicode.h +974 -0
- package/include/glib-2.0/glib/guri.h +420 -0
- package/include/glib-2.0/glib/gutils.h +479 -0
- package/include/glib-2.0/glib/guuid.h +42 -0
- package/include/glib-2.0/glib/gvariant.h +541 -0
- package/include/glib-2.0/glib/gvarianttype.h +384 -0
- package/include/glib-2.0/glib/gversion.h +57 -0
- package/include/glib-2.0/glib/gversionmacros.h +490 -0
- package/include/glib-2.0/glib/gwin32.h +142 -0
- package/include/glib-2.0/glib-object.h +46 -0
- package/include/glib-2.0/glib-unix.h +125 -0
- package/include/glib-2.0/glib.h +121 -0
- package/include/glib-2.0/gmodule/gmodule-visibility.h +952 -0
- package/include/glib-2.0/gmodule.h +147 -0
- package/include/glib-2.0/gobject/gbinding.h +156 -0
- package/include/glib-2.0/gobject/gbindinggroup.h +85 -0
- package/include/glib-2.0/gobject/gboxed.h +124 -0
- package/include/glib-2.0/gobject/gclosure.h +323 -0
- package/include/glib-2.0/gobject/genums.h +381 -0
- package/include/glib-2.0/gobject/glib-enumtypes.h +25 -0
- package/include/glib-2.0/gobject/glib-types.h +400 -0
- package/include/glib-2.0/gobject/gmarshal.h +434 -0
- package/include/glib-2.0/gobject/gobject-autocleanups.h +33 -0
- package/include/glib-2.0/gobject/gobject-visibility.h +952 -0
- package/include/glib-2.0/gobject/gobject.h +953 -0
- package/include/glib-2.0/gobject/gobjectnotifyqueue.c +199 -0
- package/include/glib-2.0/gobject/gparam.h +476 -0
- package/include/glib-2.0/gobject/gparamspecs.h +1151 -0
- package/include/glib-2.0/gobject/gsignal.h +647 -0
- package/include/glib-2.0/gobject/gsignalgroup.h +98 -0
- package/include/glib-2.0/gobject/gsourceclosure.h +40 -0
- package/include/glib-2.0/gobject/gtype.h +2703 -0
- package/include/glib-2.0/gobject/gtypemodule.h +302 -0
- package/include/glib-2.0/gobject/gtypeplugin.h +136 -0
- package/include/glib-2.0/gobject/gvalue.h +212 -0
- package/include/glib-2.0/gobject/gvaluearray.h +106 -0
- package/include/glib-2.0/gobject/gvaluecollector.h +290 -0
- package/include/glib-2.0/gobject/gvaluetypes.h +318 -0
- package/include/harfbuzz/hb-aat-layout.h +795 -0
- package/include/harfbuzz/hb-aat.h +38 -0
- package/include/harfbuzz/hb-blob.h +160 -0
- package/include/harfbuzz/hb-buffer.h +799 -0
- package/include/harfbuzz/hb-common.h +938 -0
- package/include/harfbuzz/hb-cplusplus.hh +223 -0
- package/include/harfbuzz/hb-deprecated.h +309 -0
- package/include/harfbuzz/hb-draw.h +340 -0
- package/include/harfbuzz/hb-face.h +187 -0
- package/include/harfbuzz/hb-features.h +119 -0
- package/include/harfbuzz/hb-font.h +1153 -0
- package/include/harfbuzz/hb-ft.h +145 -0
- package/include/harfbuzz/hb-glib.h +56 -0
- package/include/harfbuzz/hb-map.h +143 -0
- package/include/harfbuzz/hb-ot-color.h +155 -0
- package/include/harfbuzz/hb-ot-deprecated.h +147 -0
- package/include/harfbuzz/hb-ot-font.h +45 -0
- package/include/harfbuzz/hb-ot-layout.h +549 -0
- package/include/harfbuzz/hb-ot-math.h +333 -0
- package/include/harfbuzz/hb-ot-meta.h +72 -0
- package/include/harfbuzz/hb-ot-metrics.h +129 -0
- package/include/harfbuzz/hb-ot-name.h +164 -0
- package/include/harfbuzz/hb-ot-shape.h +53 -0
- package/include/harfbuzz/hb-ot-var.h +191 -0
- package/include/harfbuzz/hb-ot.h +49 -0
- package/include/harfbuzz/hb-paint.h +1029 -0
- package/include/harfbuzz/hb-set.h +203 -0
- package/include/harfbuzz/hb-shape-plan.h +122 -0
- package/include/harfbuzz/hb-shape.h +74 -0
- package/include/harfbuzz/hb-style.h +81 -0
- package/include/harfbuzz/hb-subset-repacker.h +81 -0
- package/include/harfbuzz/hb-subset.h +241 -0
- package/include/harfbuzz/hb-unicode.h +643 -0
- package/include/harfbuzz/hb-version.h +95 -0
- package/include/harfbuzz/hb.h +51 -0
- package/include/index.js +1 -0
- package/include/jconfig.h +37 -0
- package/include/jerror.h +335 -0
- package/include/jmorecfg.h +382 -0
- package/include/jpeglib.h +1210 -0
- package/include/lcms2.h +1958 -0
- package/include/lcms2_plugin.h +700 -0
- package/include/libexif/_stdint.h +2 -0
- package/include/libexif/exif-byte-order.h +48 -0
- package/include/libexif/exif-content.h +181 -0
- package/include/libexif/exif-data-type.h +46 -0
- package/include/libexif/exif-data.h +267 -0
- package/include/libexif/exif-entry.h +186 -0
- package/include/libexif/exif-format.h +65 -0
- package/include/libexif/exif-ifd.h +51 -0
- package/include/libexif/exif-loader.h +128 -0
- package/include/libexif/exif-log.h +116 -0
- package/include/libexif/exif-mem.h +91 -0
- package/include/libexif/exif-mnote-data.h +122 -0
- package/include/libexif/exif-tag.h +307 -0
- package/include/libexif/exif-utils.h +194 -0
- package/include/libheif/heif.h +2092 -0
- package/include/libheif/heif_cxx.h +1359 -0
- package/include/libheif/heif_plugin.h +306 -0
- package/include/libheif/heif_version.h +38 -0
- package/include/libimagequant.h +111 -0
- package/include/libpng16/png.h +3247 -0
- package/include/libpng16/pngconf.h +623 -0
- package/include/libpng16/pnglibconf.h +219 -0
- package/include/librsvg-2.0/librsvg/rsvg-cairo.h +395 -0
- package/include/librsvg-2.0/librsvg/rsvg-features.h +184 -0
- package/include/librsvg-2.0/librsvg/rsvg-version.h +13 -0
- package/include/librsvg-2.0/librsvg/rsvg.h +1456 -0
- package/include/libxml2/libxml/HTMLparser.h +320 -0
- package/include/libxml2/libxml/HTMLtree.h +147 -0
- package/include/libxml2/libxml/SAX.h +204 -0
- package/include/libxml2/libxml/SAX2.h +173 -0
- package/include/libxml2/libxml/c14n.h +128 -0
- package/include/libxml2/libxml/catalog.h +182 -0
- package/include/libxml2/libxml/chvalid.h +230 -0
- package/include/libxml2/libxml/debugXML.h +217 -0
- package/include/libxml2/libxml/dict.h +81 -0
- package/include/libxml2/libxml/encoding.h +233 -0
- package/include/libxml2/libxml/entities.h +151 -0
- package/include/libxml2/libxml/globals.h +529 -0
- package/include/libxml2/libxml/hash.h +236 -0
- package/include/libxml2/libxml/list.h +137 -0
- package/include/libxml2/libxml/nanoftp.h +186 -0
- package/include/libxml2/libxml/nanohttp.h +81 -0
- package/include/libxml2/libxml/parser.h +1265 -0
- package/include/libxml2/libxml/parserInternals.h +662 -0
- package/include/libxml2/libxml/pattern.h +100 -0
- package/include/libxml2/libxml/relaxng.h +218 -0
- package/include/libxml2/libxml/schemasInternals.h +958 -0
- package/include/libxml2/libxml/schematron.h +142 -0
- package/include/libxml2/libxml/threads.h +94 -0
- package/include/libxml2/libxml/tree.h +1314 -0
- package/include/libxml2/libxml/uri.h +94 -0
- package/include/libxml2/libxml/valid.h +448 -0
- package/include/libxml2/libxml/xinclude.h +129 -0
- package/include/libxml2/libxml/xlink.h +189 -0
- package/include/libxml2/libxml/xmlIO.h +369 -0
- package/include/libxml2/libxml/xmlautomata.h +146 -0
- package/include/libxml2/libxml/xmlerror.h +919 -0
- package/include/libxml2/libxml/xmlexports.h +50 -0
- package/include/libxml2/libxml/xmlmemory.h +228 -0
- package/include/libxml2/libxml/xmlmodule.h +57 -0
- package/include/libxml2/libxml/xmlreader.h +428 -0
- package/include/libxml2/libxml/xmlregexp.h +222 -0
- package/include/libxml2/libxml/xmlsave.h +88 -0
- package/include/libxml2/libxml/xmlschemas.h +246 -0
- package/include/libxml2/libxml/xmlschemastypes.h +152 -0
- package/include/libxml2/libxml/xmlstring.h +140 -0
- package/include/libxml2/libxml/xmlunicode.h +202 -0
- package/include/libxml2/libxml/xmlversion.h +526 -0
- package/include/libxml2/libxml/xmlwriter.h +488 -0
- package/include/libxml2/libxml/xpath.h +575 -0
- package/include/libxml2/libxml/xpathInternals.h +632 -0
- package/include/libxml2/libxml/xpointer.h +137 -0
- package/include/orc-0.4/orc/orc-stdint.h +1 -0
- package/include/orc-0.4/orc/orc.h +16 -0
- package/include/orc-0.4/orc/orcarm.h +879 -0
- package/include/orc-0.4/orc/orcbytecode.h +35 -0
- package/include/orc-0.4/orc/orcbytecodes.h +255 -0
- package/include/orc-0.4/orc/orccode.h +53 -0
- package/include/orc-0.4/orc/orccompiler.h +176 -0
- package/include/orc-0.4/orc/orcconstant.h +39 -0
- package/include/orc-0.4/orc/orccpu.h +21 -0
- package/include/orc-0.4/orc/orccpuinsn.h +40 -0
- package/include/orc-0.4/orc/orcdebug.h +158 -0
- package/include/orc-0.4/orc/orcemulateopcodes.h +203 -0
- package/include/orc-0.4/orc/orcexecutor.h +135 -0
- package/include/orc-0.4/orc/orcfunctions.h +93 -0
- package/include/orc-0.4/orc/orcinstruction.h +39 -0
- package/include/orc-0.4/orc/orcinternal.h +46 -0
- package/include/orc-0.4/orc/orclimits.h +94 -0
- package/include/orc-0.4/orc/orcmips.h +229 -0
- package/include/orc-0.4/orc/orcmmx.h +79 -0
- package/include/orc-0.4/orc/orcneon.h +43 -0
- package/include/orc-0.4/orc/orconce.h +166 -0
- package/include/orc-0.4/orc/orcopcode.h +63 -0
- package/include/orc-0.4/orc/orcparse.h +27 -0
- package/include/orc-0.4/orc/orcpowerpc.h +209 -0
- package/include/orc-0.4/orc/orcprogram.h +192 -0
- package/include/orc-0.4/orc/orcrule.h +52 -0
- package/include/orc-0.4/orc/orcsse.h +55 -0
- package/include/orc-0.4/orc/orctarget.h +115 -0
- package/include/orc-0.4/orc/orcutils.h +238 -0
- package/include/orc-0.4/orc/orcvariable.h +81 -0
- package/include/orc-0.4/orc/orcx86.h +199 -0
- package/include/orc-0.4/orc/orcx86insn.h +672 -0
- package/include/pango-1.0/pango/pango-attributes.h +748 -0
- package/include/pango-1.0/pango/pango-bidi-type.h +117 -0
- package/include/pango-1.0/pango/pango-break.h +144 -0
- package/include/pango-1.0/pango/pango-color.h +75 -0
- package/include/pango-1.0/pango/pango-context.h +116 -0
- package/include/pango-1.0/pango/pango-coverage.h +108 -0
- package/include/pango-1.0/pango/pango-direction.h +72 -0
- package/include/pango-1.0/pango/pango-engine.h +457 -0
- package/include/pango-1.0/pango/pango-enum-types.h +120 -0
- package/include/pango-1.0/pango/pango-features.h +10 -0
- package/include/pango-1.0/pango/pango-font.h +699 -0
- package/include/pango-1.0/pango/pango-fontmap.h +132 -0
- package/include/pango-1.0/pango/pango-fontset-simple.h +64 -0
- package/include/pango-1.0/pango/pango-fontset.h +134 -0
- package/include/pango-1.0/pango/pango-glyph-item.h +175 -0
- package/include/pango-1.0/pango/pango-glyph.h +270 -0
- package/include/pango-1.0/pango/pango-gravity.h +137 -0
- package/include/pango-1.0/pango/pango-item.h +165 -0
- package/include/pango-1.0/pango/pango-language.h +70 -0
- package/include/pango-1.0/pango/pango-layout.h +554 -0
- package/include/pango-1.0/pango/pango-markup.h +52 -0
- package/include/pango-1.0/pango/pango-matrix.h +130 -0
- package/include/pango-1.0/pango/pango-modules.h +84 -0
- package/include/pango-1.0/pango/pango-ot.h +427 -0
- package/include/pango-1.0/pango/pango-renderer.h +290 -0
- package/include/pango-1.0/pango/pango-script.h +335 -0
- package/include/pango-1.0/pango/pango-tabs.h +117 -0
- package/include/pango-1.0/pango/pango-types.h +244 -0
- package/include/pango-1.0/pango/pango-utils.h +187 -0
- package/include/pango-1.0/pango/pango-version-macros.h +756 -0
- package/include/pango-1.0/pango/pango.h +54 -0
- package/include/pango-1.0/pango/pangocairo.h +220 -0
- package/include/pango-1.0/pango/pangofc-decoder.h +122 -0
- package/include/pango-1.0/pango/pangofc-font.h +120 -0
- package/include/pango-1.0/pango/pangofc-fontmap.h +244 -0
- package/include/pango-1.0/pango/pangoft2.h +158 -0
- package/include/pixman-1/pixman-version.h +54 -0
- package/include/pixman-1/pixman.h +1419 -0
- package/include/png.h +3247 -0
- package/include/pngconf.h +623 -0
- package/include/pnglibconf.h +219 -0
- package/include/spng.h +537 -0
- package/include/tiff.h +899 -0
- package/include/tiffconf.h +145 -0
- package/include/tiffio.h +653 -0
- package/include/tiffvers.h +36 -0
- package/include/vips/VConnection8.h +150 -0
- package/include/vips/VError8.h +76 -0
- package/include/vips/VImage8.h +6065 -0
- package/include/vips/VInterpolate8.h +77 -0
- package/include/vips/VRegion8.h +155 -0
- package/include/vips/arithmetic.h +571 -0
- package/include/vips/basic.h +113 -0
- package/include/vips/buf.h +118 -0
- package/include/vips/colour.h +306 -0
- package/include/vips/connection.h +570 -0
- package/include/vips/conversion.h +357 -0
- package/include/vips/convolution.h +95 -0
- package/include/vips/create.h +161 -0
- package/include/vips/dbuf.h +103 -0
- package/include/vips/debug.h +74 -0
- package/include/vips/draw.h +113 -0
- package/include/vips/enumtypes.h +181 -0
- package/include/vips/error.h +142 -0
- package/include/vips/foreign.h +993 -0
- package/include/vips/format.h +135 -0
- package/include/vips/freqfilt.h +64 -0
- package/include/vips/gate.h +82 -0
- package/include/vips/generate.h +92 -0
- package/include/vips/header.h +312 -0
- package/include/vips/histogram.h +85 -0
- package/include/vips/image.h +605 -0
- package/include/vips/interpolate.h +141 -0
- package/include/vips/memory.h +96 -0
- package/include/vips/morphology.h +73 -0
- package/include/vips/mosaicing.h +80 -0
- package/include/vips/object.h +706 -0
- package/include/vips/operation.h +182 -0
- package/include/vips/private.h +227 -0
- package/include/vips/rect.h +80 -0
- package/include/vips/region.h +238 -0
- package/include/vips/resample.h +123 -0
- package/include/vips/sbuf.h +144 -0
- package/include/vips/semaphore.h +77 -0
- package/include/vips/thread.h +72 -0
- package/include/vips/threadpool.h +160 -0
- package/include/vips/transform.h +89 -0
- package/include/vips/type.h +305 -0
- package/include/vips/util.h +406 -0
- package/include/vips/vector.h +183 -0
- package/include/vips/version.h +26 -0
- package/include/vips/vips.h +194 -0
- package/include/vips/vips8 +60 -0
- package/include/webp/decode.h +504 -0
- package/include/webp/demux.h +363 -0
- package/include/webp/encode.h +552 -0
- package/include/webp/mux.h +530 -0
- package/include/webp/mux_types.h +98 -0
- package/include/webp/sharpyuv/sharpyuv.h +103 -0
- package/include/webp/sharpyuv/sharpyuv_csp.h +60 -0
- package/include/webp/types.h +72 -0
- package/include/zconf.h +203 -0
- package/include/zlib.h +1855 -0
- package/include/zlib_name_mangling.h +8 -0
- package/package.json +30 -0
- package/versions.json +31 -0
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021, Alliance for Open Media. All rights reserved
|
|
3
|
+
*
|
|
4
|
+
* This source code is subject to the terms of the BSD 2 Clause License and
|
|
5
|
+
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
|
6
|
+
* was not distributed with this source code in the LICENSE file, you can
|
|
7
|
+
* obtain it at www.aomedia.org/license/software. If the Alliance for Open
|
|
8
|
+
* Media Patent License 1.0 was not distributed with this source code in the
|
|
9
|
+
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
|
|
10
|
+
*/
|
|
11
|
+
#ifndef AOM_AOM_AOM_EXTERNAL_PARTITION_H_
|
|
12
|
+
#define AOM_AOM_AOM_EXTERNAL_PARTITION_H_
|
|
13
|
+
|
|
14
|
+
/*!\defgroup aom_encoder AOMedia AOM/AV1 Encoder
|
|
15
|
+
* \ingroup aom
|
|
16
|
+
*
|
|
17
|
+
* @{
|
|
18
|
+
*/
|
|
19
|
+
#include <stdint.h>
|
|
20
|
+
|
|
21
|
+
/*!\file
|
|
22
|
+
* \brief Provides function pointer definitions for the external partition.
|
|
23
|
+
*
|
|
24
|
+
* \note The external partition API should be considered experimental. Until the
|
|
25
|
+
* external partition API is declared stable, breaking changes may be made to
|
|
26
|
+
* this API in a future libaom release.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/*!\brief Current ABI version number
|
|
30
|
+
*
|
|
31
|
+
* \internal
|
|
32
|
+
* If this file is altered in any way that changes the ABI, this value
|
|
33
|
+
* must be bumped. Examples include, but are not limited to, changing
|
|
34
|
+
* types, removing or reassigning enums, adding/removing/rearranging
|
|
35
|
+
* fields to structures.
|
|
36
|
+
*/
|
|
37
|
+
#define AOM_EXT_PART_ABI_VERSION 8
|
|
38
|
+
|
|
39
|
+
#ifdef __cplusplus
|
|
40
|
+
extern "C" {
|
|
41
|
+
#endif
|
|
42
|
+
|
|
43
|
+
/*!\brief Abstract external partition model handler
|
|
44
|
+
*/
|
|
45
|
+
typedef void *aom_ext_part_model_t;
|
|
46
|
+
|
|
47
|
+
/*!\brief Number of features to determine whether to skip partition none and
|
|
48
|
+
* do partition split directly. The same as "FEATURE_SIZE_SMS_SPLIT".
|
|
49
|
+
*/
|
|
50
|
+
#define AOM_EXT_PART_SIZE_DIRECT_SPLIT 17
|
|
51
|
+
|
|
52
|
+
/*!\brief Number of features to use simple motion search to prune out
|
|
53
|
+
* rectangular partition in some direction. The same as
|
|
54
|
+
* "FEATURE_SIZE_SMS_PRUNE_PART".
|
|
55
|
+
*/
|
|
56
|
+
#define AOM_EXT_PART_SIZE_PRUNE_PART 25
|
|
57
|
+
|
|
58
|
+
/*!\brief Number of features to prune split and rectangular partition
|
|
59
|
+
* after PARTITION_NONE.
|
|
60
|
+
*/
|
|
61
|
+
#define AOM_EXT_PART_SIZE_PRUNE_NONE 4
|
|
62
|
+
|
|
63
|
+
/*!\brief Number of features to terminates partition after partition none using
|
|
64
|
+
* simple_motion_search features and the rate, distortion, and rdcost of
|
|
65
|
+
* PARTITION_NONE. The same as "FEATURE_SIZE_SMS_TERM_NONE".
|
|
66
|
+
*/
|
|
67
|
+
#define AOM_EXT_PART_SIZE_TERM_NONE 28
|
|
68
|
+
|
|
69
|
+
/*!\brief Number of features to terminates partition after partition split.
|
|
70
|
+
*/
|
|
71
|
+
#define AOM_EXT_PART_SIZE_TERM_SPLIT 31
|
|
72
|
+
|
|
73
|
+
/*!\brief Number of features to prune rectangular partition using stats
|
|
74
|
+
* collected after partition split.
|
|
75
|
+
*/
|
|
76
|
+
#define AOM_EXT_PART_SIZE_PRUNE_RECT 9
|
|
77
|
+
|
|
78
|
+
/*!\brief Number of features to prune AB partition using stats
|
|
79
|
+
* collected after rectangular partition..
|
|
80
|
+
*/
|
|
81
|
+
#define AOM_EXT_PART_SIZE_PRUNE_AB 10
|
|
82
|
+
|
|
83
|
+
/*!\brief Number of features to prune 4-way partition using stats
|
|
84
|
+
* collected after AB partition.
|
|
85
|
+
*/
|
|
86
|
+
#define AOM_EXT_PART_SIZE_PRUNE_4_WAY 18
|
|
87
|
+
|
|
88
|
+
/*!\brief Decision mode of the external partition model.
|
|
89
|
+
* AOM_EXT_PART_WHOLE_TREE: the external partition model should provide the
|
|
90
|
+
* whole partition tree for the superblock.
|
|
91
|
+
*
|
|
92
|
+
* AOM_EXT_PART_RECURSIVE: the external partition model provides the partition
|
|
93
|
+
* decision of the current block only. The decision process starts from
|
|
94
|
+
* the superblock size, down to the smallest block size (4x4) recursively.
|
|
95
|
+
*/
|
|
96
|
+
typedef enum aom_ext_part_decision_mode {
|
|
97
|
+
AOM_EXT_PART_WHOLE_TREE = 0,
|
|
98
|
+
AOM_EXT_PART_RECURSIVE = 1,
|
|
99
|
+
} aom_ext_part_decision_mode_t;
|
|
100
|
+
|
|
101
|
+
/*!\brief Config information sent to the external partition model.
|
|
102
|
+
*
|
|
103
|
+
* For example, the maximum superblock size determined by the sequence header.
|
|
104
|
+
*/
|
|
105
|
+
typedef struct aom_ext_part_config {
|
|
106
|
+
int superblock_size; ///< super block size (either 64x64 or 128x128)
|
|
107
|
+
} aom_ext_part_config_t;
|
|
108
|
+
|
|
109
|
+
/*!\brief Features pass to the external model to make partition decisions.
|
|
110
|
+
* Specifically, features collected before NONE partition.
|
|
111
|
+
* Features "f" are used to determine:
|
|
112
|
+
* partition_none_allowed, partition_horz_allowed, partition_vert_allowed,
|
|
113
|
+
* do_rectangular_split, do_square_split
|
|
114
|
+
* Features "f_part2" are used to determine:
|
|
115
|
+
* prune_horz, prune_vert.
|
|
116
|
+
*/
|
|
117
|
+
typedef struct aom_partition_features_before_none {
|
|
118
|
+
/*! features to determine whether skip partition none and do split directly */
|
|
119
|
+
float f[AOM_EXT_PART_SIZE_DIRECT_SPLIT];
|
|
120
|
+
/*! features to determine whether to prune rectangular partition */
|
|
121
|
+
float f_part2[AOM_EXT_PART_SIZE_PRUNE_PART];
|
|
122
|
+
} aom_partition_features_before_none_t;
|
|
123
|
+
|
|
124
|
+
/*!\brief Features pass to the external model to make partition decisions.
|
|
125
|
+
* Specifically, features collected after NONE partition.
|
|
126
|
+
*/
|
|
127
|
+
typedef struct aom_partition_features_none {
|
|
128
|
+
/*! features to prune split and rectangular partition */
|
|
129
|
+
float f[AOM_EXT_PART_SIZE_PRUNE_NONE];
|
|
130
|
+
/*! features to determine termination of partition */
|
|
131
|
+
float f_terminate[AOM_EXT_PART_SIZE_TERM_NONE];
|
|
132
|
+
} aom_partition_features_none_t;
|
|
133
|
+
|
|
134
|
+
/*!\brief Features pass to the external model to make partition decisions.
|
|
135
|
+
* Specifically, features collected after SPLIT partition.
|
|
136
|
+
*/
|
|
137
|
+
typedef struct aom_partition_features_split {
|
|
138
|
+
/*! features to determine termination of partition */
|
|
139
|
+
float f_terminate[AOM_EXT_PART_SIZE_TERM_SPLIT];
|
|
140
|
+
/*! features to determine pruning rect partition */
|
|
141
|
+
float f_prune_rect[AOM_EXT_PART_SIZE_PRUNE_RECT];
|
|
142
|
+
} aom_partition_features_split_t;
|
|
143
|
+
|
|
144
|
+
/*!\brief Features pass to the external model to make partition decisions.
|
|
145
|
+
* Specifically, features collected after RECTANGULAR partition.
|
|
146
|
+
*/
|
|
147
|
+
typedef struct aom_partition_features_rect {
|
|
148
|
+
/*! features to determine pruning AB partition */
|
|
149
|
+
float f[AOM_EXT_PART_SIZE_PRUNE_AB];
|
|
150
|
+
} aom_partition_features_rect_t;
|
|
151
|
+
|
|
152
|
+
/*!\brief Features pass to the external model to make partition decisions.
|
|
153
|
+
* Specifically, features collected after AB partition: HORZ_A, HORZ_B, VERT_A,
|
|
154
|
+
* VERT_B.
|
|
155
|
+
*/
|
|
156
|
+
typedef struct aom_partition_features_ab {
|
|
157
|
+
/*! features to determine pruning 4-way partition */
|
|
158
|
+
float f[AOM_EXT_PART_SIZE_PRUNE_4_WAY];
|
|
159
|
+
} aom_partition_features_ab_t;
|
|
160
|
+
|
|
161
|
+
/*!\brief Feature id to tell the external model the current stage in partition
|
|
162
|
+
* pruning and what features to use to make decisions accordingly.
|
|
163
|
+
*/
|
|
164
|
+
typedef enum {
|
|
165
|
+
AOM_EXT_PART_FEATURE_BEFORE_NONE,
|
|
166
|
+
AOM_EXT_PART_FEATURE_BEFORE_NONE_PART2,
|
|
167
|
+
AOM_EXT_PART_FEATURE_AFTER_NONE,
|
|
168
|
+
AOM_EXT_PART_FEATURE_AFTER_NONE_PART2,
|
|
169
|
+
AOM_EXT_PART_FEATURE_AFTER_SPLIT,
|
|
170
|
+
AOM_EXT_PART_FEATURE_AFTER_SPLIT_PART2,
|
|
171
|
+
AOM_EXT_PART_FEATURE_AFTER_RECT,
|
|
172
|
+
AOM_EXT_PART_FEATURE_AFTER_AB
|
|
173
|
+
} AOM_EXT_PART_FEATURE_ID;
|
|
174
|
+
|
|
175
|
+
/*!\brief Features collected from the tpl process.
|
|
176
|
+
*
|
|
177
|
+
* The tpl process collects information that help measure the inter-frame
|
|
178
|
+
* dependency.
|
|
179
|
+
* The tpl process is computed in the unit of tpl_bsize_1d (16x16).
|
|
180
|
+
* Therefore, the max number of units inside a superblock is
|
|
181
|
+
* 128x128 / (16x16) = 64. Change it if the tpl process changes.
|
|
182
|
+
*/
|
|
183
|
+
typedef struct aom_sb_tpl_features {
|
|
184
|
+
int available; ///< If tpl stats are available
|
|
185
|
+
int tpl_unit_length; ///< The block length of tpl process
|
|
186
|
+
int num_units; ///< The number of units inside the current superblock
|
|
187
|
+
int64_t intra_cost[64]; ///< The intra cost of each unit
|
|
188
|
+
int64_t inter_cost[64]; ///< The inter cost of each unit
|
|
189
|
+
int64_t mc_dep_cost[64]; ///< The motion compensated dependency cost
|
|
190
|
+
} aom_sb_tpl_features_t;
|
|
191
|
+
|
|
192
|
+
/*!\brief Features collected from the simple motion process.
|
|
193
|
+
*
|
|
194
|
+
* The simple motion process collects information by applying motion compensated
|
|
195
|
+
* prediction on each block.
|
|
196
|
+
* The block size is 16x16, which could be changed. If it is changed, update
|
|
197
|
+
* comments and the array size here.
|
|
198
|
+
*/
|
|
199
|
+
typedef struct aom_sb_simple_motion_features {
|
|
200
|
+
int unit_length; ///< The block length of the simple motion process
|
|
201
|
+
int num_units; ///< The number of units inside the current superblock
|
|
202
|
+
int block_sse[64]; ///< Sum of squared error of each unit
|
|
203
|
+
int block_var[64]; ///< Variance of each unit
|
|
204
|
+
} aom_sb_simple_motion_features_t;
|
|
205
|
+
|
|
206
|
+
/*!\brief Features of each super block.
|
|
207
|
+
*
|
|
208
|
+
* Features collected for each super block before partition search.
|
|
209
|
+
*/
|
|
210
|
+
typedef struct aom_sb_features {
|
|
211
|
+
/*! Features from motion search */
|
|
212
|
+
aom_sb_simple_motion_features_t motion_features;
|
|
213
|
+
/*! Features from tpl process */
|
|
214
|
+
aom_sb_tpl_features_t tpl_features;
|
|
215
|
+
} aom_sb_features_t;
|
|
216
|
+
|
|
217
|
+
/*!\brief Features pass to the external model to make partition decisions.
|
|
218
|
+
*
|
|
219
|
+
* The encoder sends these features to the external model through
|
|
220
|
+
* "func()" defined in .....
|
|
221
|
+
*
|
|
222
|
+
* NOTE: new member variables may be added to this structure in the future.
|
|
223
|
+
* Once new features are finalized, bump the major version of libaom.
|
|
224
|
+
*/
|
|
225
|
+
typedef struct aom_partition_features {
|
|
226
|
+
// Features for the current supervised multi-stage ML model.
|
|
227
|
+
/*! Feature ID to indicate active features */
|
|
228
|
+
AOM_EXT_PART_FEATURE_ID id;
|
|
229
|
+
/*! Features collected before NONE partition */
|
|
230
|
+
aom_partition_features_before_none_t before_part_none;
|
|
231
|
+
/*! Features collected after NONE partition */
|
|
232
|
+
aom_partition_features_none_t after_part_none;
|
|
233
|
+
/*! Features collected after SPLIT partition */
|
|
234
|
+
aom_partition_features_split_t after_part_split;
|
|
235
|
+
/*! Features collected after RECTANGULAR partition */
|
|
236
|
+
aom_partition_features_rect_t after_part_rect;
|
|
237
|
+
/*! Features collected after AB partition */
|
|
238
|
+
aom_partition_features_ab_t after_part_ab;
|
|
239
|
+
|
|
240
|
+
// Features for a new ML model.
|
|
241
|
+
aom_sb_features_t sb_features; ///< Features collected for the super block
|
|
242
|
+
int mi_row; ///< Mi_row position of the block
|
|
243
|
+
int mi_col; ///< Mi_col position of the block
|
|
244
|
+
int frame_width; ///< Frame width
|
|
245
|
+
int frame_height; ///< Frame height
|
|
246
|
+
int block_size; ///< As "BLOCK_SIZE" in av1/common/enums.h
|
|
247
|
+
/*!
|
|
248
|
+
* Valid partition types. A bitmask is used. "1" represents the
|
|
249
|
+
* corresponding type is valid. The bitmask follows the enum order for
|
|
250
|
+
* PARTITION_TYPE in "enums.h" to represent one partition type at a bit.
|
|
251
|
+
* For example, 0x01 stands for only PARTITION_NONE is valid,
|
|
252
|
+
* 0x09 (00...001001) stands for PARTITION_NONE and PARTITION_SPLIT are valid.
|
|
253
|
+
*/
|
|
254
|
+
int valid_partition_types;
|
|
255
|
+
int update_type; ///< Frame update type, defined in ratectrl.h
|
|
256
|
+
int qindex; ///< Quantization index, range: [0, 255]
|
|
257
|
+
int rdmult; ///< Rate-distortion multiplier
|
|
258
|
+
int pyramid_level; ///< The level of this frame in the hierarchical structure
|
|
259
|
+
int has_above_block; ///< Has above neighbor block
|
|
260
|
+
int above_block_width; ///< Width of the above block, -1 if not exist
|
|
261
|
+
int above_block_height; ///< Height of the above block, -1 if not exist
|
|
262
|
+
int has_left_block; ///< Has left neighbor block
|
|
263
|
+
int left_block_width; ///< Width of the left block, -1 if not exist
|
|
264
|
+
int left_block_height; ///< Height of the left block, -1 if not exist
|
|
265
|
+
/*!
|
|
266
|
+
* The following parameters are collected from applying simple motion search.
|
|
267
|
+
* Sum of squared error (SSE) and variance of motion compensated residual
|
|
268
|
+
* are good indicators of block partitioning.
|
|
269
|
+
* If a block is a square, we also apply motion search for its 4 sub blocks.
|
|
270
|
+
* If not a square, their values are -1.
|
|
271
|
+
* If a block is able to split horizontally, we apply motion search and get
|
|
272
|
+
* stats for horizontal blocks. If not, their values are -1.
|
|
273
|
+
* If a block is able to split vertically, we apply motion search and get
|
|
274
|
+
* stats for vertical blocks. If not, their values are -1.
|
|
275
|
+
*/
|
|
276
|
+
unsigned int block_sse; ///< SSE of motion compensated residual
|
|
277
|
+
unsigned int block_var; ///< Variance of motion compensated residual
|
|
278
|
+
unsigned int sub_block_sse[4]; ///< SSE of sub blocks.
|
|
279
|
+
unsigned int sub_block_var[4]; ///< Variance of sub blocks.
|
|
280
|
+
unsigned int horz_block_sse[2]; ///< SSE of horz sub blocks
|
|
281
|
+
unsigned int horz_block_var[2]; ///< Variance of horz sub blocks
|
|
282
|
+
unsigned int vert_block_sse[2]; ///< SSE of vert sub blocks
|
|
283
|
+
unsigned int vert_block_var[2]; ///< Variance of vert sub blocks
|
|
284
|
+
/*!
|
|
285
|
+
* The following parameters are calculated from tpl model.
|
|
286
|
+
* If tpl model is not available, their values are -1.
|
|
287
|
+
*/
|
|
288
|
+
int64_t tpl_intra_cost; ///< Intra cost, ref to "TplDepStats" in tpl_model.h
|
|
289
|
+
int64_t tpl_inter_cost; ///< Inter cost in tpl model
|
|
290
|
+
int64_t tpl_mc_dep_cost; ///< Motion compensated dependency cost in tpl model
|
|
291
|
+
} aom_partition_features_t;
|
|
292
|
+
|
|
293
|
+
/*!\brief Partition decisions received from the external model.
|
|
294
|
+
*
|
|
295
|
+
* The encoder receives partition decisions and encodes the superblock
|
|
296
|
+
* with the given partition type.
|
|
297
|
+
* The encoder receives it from "func()" define in ....
|
|
298
|
+
*
|
|
299
|
+
* NOTE: new member variables may be added to this structure in the future.
|
|
300
|
+
* Once new features are finalized, bump the major version of libaom.
|
|
301
|
+
*/
|
|
302
|
+
typedef struct aom_partition_decision {
|
|
303
|
+
// Decisions for directly set partition types
|
|
304
|
+
int is_final_decision; ///< The flag whether it's the final decision
|
|
305
|
+
int num_nodes; ///< The number of leaf nodes
|
|
306
|
+
int partition_decision[2048]; ///< Partition decisions
|
|
307
|
+
int current_decision; ///< Partition decision for the current block
|
|
308
|
+
|
|
309
|
+
// Decisions for partition type pruning
|
|
310
|
+
int terminate_partition_search; ///< Terminate further partition search
|
|
311
|
+
int partition_none_allowed; ///< Allow partition none type
|
|
312
|
+
int partition_rect_allowed[2]; ///< Allow rectangular partitions
|
|
313
|
+
int do_rectangular_split; ///< Try rectangular split partition
|
|
314
|
+
int do_square_split; ///< Try square split partition
|
|
315
|
+
int prune_rect_part[2]; ///< Prune rectangular partition
|
|
316
|
+
int horza_partition_allowed; ///< Allow HORZ_A partition
|
|
317
|
+
int horzb_partition_allowed; ///< Allow HORZ_B partition
|
|
318
|
+
int verta_partition_allowed; ///< Allow VERT_A partition
|
|
319
|
+
int vertb_partition_allowed; ///< Allow VERT_B partition
|
|
320
|
+
int partition_horz4_allowed; ///< Allow HORZ4 partition
|
|
321
|
+
int partition_vert4_allowed; ///< Allow VERT4 partition
|
|
322
|
+
} aom_partition_decision_t;
|
|
323
|
+
|
|
324
|
+
/*!\brief Encoding stats for the given partition decision.
|
|
325
|
+
*
|
|
326
|
+
* The encoding stats collected by encoding the superblock with the
|
|
327
|
+
* given partition types.
|
|
328
|
+
* The encoder sends the stats to the external model for training
|
|
329
|
+
* or inference through "func()" defined in ....
|
|
330
|
+
*/
|
|
331
|
+
typedef struct aom_partition_stats {
|
|
332
|
+
int rate; ///< Rate cost of the block
|
|
333
|
+
int64_t dist; ///< Distortion of the block
|
|
334
|
+
int64_t rdcost; ///< Rate-distortion cost of the block
|
|
335
|
+
} aom_partition_stats_t;
|
|
336
|
+
|
|
337
|
+
/*!\brief Enum for return status.
|
|
338
|
+
*/
|
|
339
|
+
typedef enum aom_ext_part_status {
|
|
340
|
+
AOM_EXT_PART_OK = 0, ///< Status of success
|
|
341
|
+
AOM_EXT_PART_ERROR = 1, ///< Status of failure
|
|
342
|
+
AOM_EXT_PART_TEST = 2, ///< Status used for tests
|
|
343
|
+
} aom_ext_part_status_t;
|
|
344
|
+
|
|
345
|
+
/*!\brief Callback of creating an external partition model.
|
|
346
|
+
*
|
|
347
|
+
* The callback is invoked by the encoder to create an external partition
|
|
348
|
+
* model.
|
|
349
|
+
*
|
|
350
|
+
* \param[in] priv Callback's private data
|
|
351
|
+
* \param[in] part_config Config information pointer for model creation
|
|
352
|
+
* \param[out] ext_part_model Pointer to the model
|
|
353
|
+
*/
|
|
354
|
+
typedef aom_ext_part_status_t (*aom_ext_part_create_model_fn_t)(
|
|
355
|
+
void *priv, const aom_ext_part_config_t *part_config,
|
|
356
|
+
aom_ext_part_model_t *ext_part_model);
|
|
357
|
+
|
|
358
|
+
/*!\brief Callback of sending features to the external partition model.
|
|
359
|
+
*
|
|
360
|
+
* The callback is invoked by the encoder to send features to the external
|
|
361
|
+
* partition model.
|
|
362
|
+
*
|
|
363
|
+
* \param[in] ext_part_model The external model
|
|
364
|
+
* \param[in] part_features Pointer to the features
|
|
365
|
+
*/
|
|
366
|
+
typedef aom_ext_part_status_t (*aom_ext_part_send_features_fn_t)(
|
|
367
|
+
aom_ext_part_model_t ext_part_model,
|
|
368
|
+
const aom_partition_features_t *part_features);
|
|
369
|
+
|
|
370
|
+
/*!\brief Callback of receiving partition decisions from the external
|
|
371
|
+
* partition model.
|
|
372
|
+
*
|
|
373
|
+
* The callback is invoked by the encoder to receive partition decisions from
|
|
374
|
+
* the external partition model.
|
|
375
|
+
*
|
|
376
|
+
* \param[in] ext_part_model The external model
|
|
377
|
+
* \param[in] ext_part_decision Pointer to the partition decisions
|
|
378
|
+
*/
|
|
379
|
+
typedef aom_ext_part_status_t (*aom_ext_part_get_decision_fn_t)(
|
|
380
|
+
aom_ext_part_model_t ext_part_model,
|
|
381
|
+
aom_partition_decision_t *ext_part_decision);
|
|
382
|
+
|
|
383
|
+
/*!\brief Callback of sending stats to the external partition model.
|
|
384
|
+
*
|
|
385
|
+
* The callback is invoked by the encoder to send encoding stats to
|
|
386
|
+
* the external partition model.
|
|
387
|
+
*
|
|
388
|
+
* \param[in] ext_part_model The external model
|
|
389
|
+
* \param[in] ext_part_stats Pointer to the encoding stats
|
|
390
|
+
*/
|
|
391
|
+
typedef aom_ext_part_status_t (*aom_ext_part_send_partition_stats_fn_t)(
|
|
392
|
+
aom_ext_part_model_t ext_part_model,
|
|
393
|
+
const aom_partition_stats_t *ext_part_stats);
|
|
394
|
+
|
|
395
|
+
/*!\brief Callback of deleting the external partition model.
|
|
396
|
+
*
|
|
397
|
+
* The callback is invoked by the encoder to delete the external partition
|
|
398
|
+
* model.
|
|
399
|
+
*
|
|
400
|
+
* \param[in] ext_part_model The external model
|
|
401
|
+
*/
|
|
402
|
+
typedef aom_ext_part_status_t (*aom_ext_part_delete_model_fn_t)(
|
|
403
|
+
aom_ext_part_model_t ext_part_model);
|
|
404
|
+
|
|
405
|
+
/*!\brief Callback function set for external partition model.
|
|
406
|
+
*
|
|
407
|
+
* Uses can enable external partition model by registering a set of
|
|
408
|
+
* callback functions with the flag: AV1E_SET_EXTERNAL_PARTITION_MODEL
|
|
409
|
+
*/
|
|
410
|
+
typedef struct aom_ext_part_funcs {
|
|
411
|
+
/*!
|
|
412
|
+
* Create an external partition model.
|
|
413
|
+
*/
|
|
414
|
+
aom_ext_part_create_model_fn_t create_model;
|
|
415
|
+
|
|
416
|
+
/*!
|
|
417
|
+
* Send features to the external partition model to make partition decisions.
|
|
418
|
+
*/
|
|
419
|
+
aom_ext_part_send_features_fn_t send_features;
|
|
420
|
+
|
|
421
|
+
/*!
|
|
422
|
+
* Get partition decisions from the external partition model.
|
|
423
|
+
*/
|
|
424
|
+
aom_ext_part_get_decision_fn_t get_partition_decision;
|
|
425
|
+
|
|
426
|
+
/*!
|
|
427
|
+
* Send stats of the current partition to the external model.
|
|
428
|
+
*/
|
|
429
|
+
aom_ext_part_send_partition_stats_fn_t send_partition_stats;
|
|
430
|
+
|
|
431
|
+
/*!
|
|
432
|
+
* Delete the external partition model.
|
|
433
|
+
*/
|
|
434
|
+
aom_ext_part_delete_model_fn_t delete_model;
|
|
435
|
+
|
|
436
|
+
/*!
|
|
437
|
+
* The decision mode of the model.
|
|
438
|
+
*/
|
|
439
|
+
aom_ext_part_decision_mode_t decision_mode;
|
|
440
|
+
|
|
441
|
+
/*!
|
|
442
|
+
* Private data for the external partition model.
|
|
443
|
+
*/
|
|
444
|
+
void *priv;
|
|
445
|
+
} aom_ext_part_funcs_t;
|
|
446
|
+
|
|
447
|
+
/*!@} - end defgroup aom_encoder*/
|
|
448
|
+
#ifdef __cplusplus
|
|
449
|
+
} // extern "C"
|
|
450
|
+
#endif
|
|
451
|
+
|
|
452
|
+
#endif // AOM_AOM_AOM_EXTERNAL_PARTITION_H_
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016, Alliance for Open Media. All rights reserved
|
|
3
|
+
*
|
|
4
|
+
* This source code is subject to the terms of the BSD 2 Clause License and
|
|
5
|
+
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
|
6
|
+
* was not distributed with this source code in the LICENSE file, you can
|
|
7
|
+
* obtain it at www.aomedia.org/license/software. If the Alliance for Open
|
|
8
|
+
* Media Patent License 1.0 was not distributed with this source code in the
|
|
9
|
+
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
#ifndef AOM_AOM_AOM_FRAME_BUFFER_H_
|
|
13
|
+
#define AOM_AOM_AOM_FRAME_BUFFER_H_
|
|
14
|
+
|
|
15
|
+
/*!\file
|
|
16
|
+
* \brief Describes the decoder external frame buffer interface.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
#ifdef __cplusplus
|
|
20
|
+
extern "C" {
|
|
21
|
+
#endif
|
|
22
|
+
|
|
23
|
+
#include "aom/aom_integer.h"
|
|
24
|
+
|
|
25
|
+
/*!\brief The maximum number of work buffers used by libaom.
|
|
26
|
+
* Support maximum 4 threads to decode video in parallel.
|
|
27
|
+
* Each thread will use one work buffer.
|
|
28
|
+
* TODO(hkuang): Add support to set number of worker threads dynamically.
|
|
29
|
+
*/
|
|
30
|
+
#define AOM_MAXIMUM_WORK_BUFFERS 8
|
|
31
|
+
|
|
32
|
+
/*!\brief The maximum number of reference buffers that a AV1 encoder may use.
|
|
33
|
+
*/
|
|
34
|
+
#define AOM_MAXIMUM_REF_BUFFERS 8
|
|
35
|
+
|
|
36
|
+
/*!\brief External frame buffer
|
|
37
|
+
*
|
|
38
|
+
* This structure holds allocated frame buffers used by the decoder.
|
|
39
|
+
*/
|
|
40
|
+
typedef struct aom_codec_frame_buffer {
|
|
41
|
+
uint8_t *data; /**< Pointer to the data buffer */
|
|
42
|
+
size_t size; /**< Size of data in bytes */
|
|
43
|
+
void *priv; /**< Frame's private data */
|
|
44
|
+
} aom_codec_frame_buffer_t;
|
|
45
|
+
|
|
46
|
+
/*!\brief get frame buffer callback prototype
|
|
47
|
+
*
|
|
48
|
+
* This callback is invoked by the decoder to retrieve data for the frame
|
|
49
|
+
* buffer in order for the decode call to complete. The callback must
|
|
50
|
+
* allocate at least min_size in bytes and assign it to fb->data. The callback
|
|
51
|
+
* must zero out all the data allocated. Then the callback must set fb->size
|
|
52
|
+
* to the allocated size. The application does not need to align the allocated
|
|
53
|
+
* data. The callback is triggered when the decoder needs a frame buffer to
|
|
54
|
+
* decode a compressed image into. This function may be called more than once
|
|
55
|
+
* for every call to aom_codec_decode. The application may set fb->priv to
|
|
56
|
+
* some data which will be passed back in the aom_image_t and the release
|
|
57
|
+
* function call. |fb| is guaranteed to not be NULL. On success the callback
|
|
58
|
+
* must return 0. Any failure the callback must return a value less than 0.
|
|
59
|
+
*
|
|
60
|
+
* \param[in] priv Callback's private data
|
|
61
|
+
* \param[in] min_size Size in bytes needed by the buffer
|
|
62
|
+
* \param[in,out] fb Pointer to aom_codec_frame_buffer_t
|
|
63
|
+
*/
|
|
64
|
+
typedef int (*aom_get_frame_buffer_cb_fn_t)(void *priv, size_t min_size,
|
|
65
|
+
aom_codec_frame_buffer_t *fb);
|
|
66
|
+
|
|
67
|
+
/*!\brief release frame buffer callback prototype
|
|
68
|
+
*
|
|
69
|
+
* This callback is invoked by the decoder when the frame buffer is not
|
|
70
|
+
* referenced by any other buffers. |fb| is guaranteed to not be NULL. On
|
|
71
|
+
* success the callback must return 0. Any failure the callback must return
|
|
72
|
+
* a value less than 0.
|
|
73
|
+
*
|
|
74
|
+
* \param[in] priv Callback's private data
|
|
75
|
+
* \param[in] fb Pointer to aom_codec_frame_buffer_t
|
|
76
|
+
*/
|
|
77
|
+
typedef int (*aom_release_frame_buffer_cb_fn_t)(void *priv,
|
|
78
|
+
aom_codec_frame_buffer_t *fb);
|
|
79
|
+
|
|
80
|
+
#ifdef __cplusplus
|
|
81
|
+
} // extern "C"
|
|
82
|
+
#endif
|
|
83
|
+
|
|
84
|
+
#endif // AOM_AOM_AOM_FRAME_BUFFER_H_
|