@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,127 @@
|
|
|
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
|
+
/*!\defgroup aom AOM
|
|
13
|
+
* \ingroup codecs
|
|
14
|
+
* AOM is aom's newest video compression algorithm that uses motion
|
|
15
|
+
* compensated prediction, Discrete Cosine Transform (DCT) coding of the
|
|
16
|
+
* prediction error signal and context dependent entropy coding techniques
|
|
17
|
+
* based on arithmetic principles. It features:
|
|
18
|
+
* - YUV 4:2:0 image format
|
|
19
|
+
* - Macro-block based coding (16x16 luma plus two 8x8 chroma)
|
|
20
|
+
* - 1/4 (1/8) pixel accuracy motion compensated prediction
|
|
21
|
+
* - 4x4 DCT transform
|
|
22
|
+
* - 128 level linear quantizer
|
|
23
|
+
* - In loop deblocking filter
|
|
24
|
+
* - Context-based entropy coding
|
|
25
|
+
*
|
|
26
|
+
* @{
|
|
27
|
+
*/
|
|
28
|
+
/*!\file
|
|
29
|
+
* \brief Provides controls common to both the AOM encoder and decoder.
|
|
30
|
+
*/
|
|
31
|
+
#ifndef AOM_AOM_AOM_H_
|
|
32
|
+
#define AOM_AOM_AOM_H_
|
|
33
|
+
|
|
34
|
+
#include "aom/aom_codec.h"
|
|
35
|
+
#include "aom/aom_image.h"
|
|
36
|
+
|
|
37
|
+
#ifdef __cplusplus
|
|
38
|
+
extern "C" {
|
|
39
|
+
#endif
|
|
40
|
+
|
|
41
|
+
/*!\brief Control functions
|
|
42
|
+
*
|
|
43
|
+
* The set of macros define the control functions of AOM interface
|
|
44
|
+
* The range for common control IDs is 230-255(max).
|
|
45
|
+
*/
|
|
46
|
+
enum aom_com_control_id {
|
|
47
|
+
/*!\brief Codec control function to get a pointer to a reference frame
|
|
48
|
+
*
|
|
49
|
+
* av1_ref_frame_t* parameter
|
|
50
|
+
*/
|
|
51
|
+
AV1_GET_REFERENCE = 230,
|
|
52
|
+
|
|
53
|
+
/*!\brief Codec control function to write a frame into a reference buffer
|
|
54
|
+
*
|
|
55
|
+
* av1_ref_frame_t* parameter
|
|
56
|
+
*/
|
|
57
|
+
AV1_SET_REFERENCE = 231,
|
|
58
|
+
|
|
59
|
+
/*!\brief Codec control function to get a copy of reference frame from the
|
|
60
|
+
* decoder
|
|
61
|
+
*
|
|
62
|
+
* av1_ref_frame_t* parameter
|
|
63
|
+
*/
|
|
64
|
+
AV1_COPY_REFERENCE = 232,
|
|
65
|
+
|
|
66
|
+
/*!\brief Codec control function to get a pointer to the new frame
|
|
67
|
+
*
|
|
68
|
+
* aom_image_t* parameter
|
|
69
|
+
*/
|
|
70
|
+
AV1_GET_NEW_FRAME_IMAGE = 233,
|
|
71
|
+
|
|
72
|
+
/*!\brief Codec control function to copy the new frame to an external buffer
|
|
73
|
+
*
|
|
74
|
+
* aom_image_t* parameter
|
|
75
|
+
*/
|
|
76
|
+
AV1_COPY_NEW_FRAME_IMAGE = 234,
|
|
77
|
+
|
|
78
|
+
/*!\brief Start point of control IDs for aom_dec_control_id.
|
|
79
|
+
* Any new common control IDs should be added above.
|
|
80
|
+
*/
|
|
81
|
+
AOM_DECODER_CTRL_ID_START = 256
|
|
82
|
+
// No common control IDs should be added after AOM_DECODER_CTRL_ID_START.
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/*!\brief AV1 specific reference frame data struct
|
|
86
|
+
*
|
|
87
|
+
* Define the data struct to access av1 reference frames.
|
|
88
|
+
*/
|
|
89
|
+
typedef struct av1_ref_frame {
|
|
90
|
+
int idx; /**< frame index to get (input) */
|
|
91
|
+
int use_external_ref; /**< Directly use external ref buffer(decoder only) */
|
|
92
|
+
aom_image_t img; /**< img structure to populate (output) */
|
|
93
|
+
} av1_ref_frame_t;
|
|
94
|
+
|
|
95
|
+
/*!\cond */
|
|
96
|
+
/*!\brief aom decoder control function parameter type
|
|
97
|
+
*
|
|
98
|
+
* Defines the data type for each of AOM decoder control function requires.
|
|
99
|
+
*
|
|
100
|
+
* \note For each control ID "X", a macro-define of
|
|
101
|
+
* AOM_CTRL_X is provided. It is used at compile time to determine
|
|
102
|
+
* if the control ID is supported by the libaom library available,
|
|
103
|
+
* when the libaom version cannot be controlled.
|
|
104
|
+
*/
|
|
105
|
+
AOM_CTRL_USE_TYPE(AV1_GET_REFERENCE, av1_ref_frame_t *)
|
|
106
|
+
#define AOM_CTRL_AV1_GET_REFERENCE
|
|
107
|
+
|
|
108
|
+
AOM_CTRL_USE_TYPE(AV1_SET_REFERENCE, av1_ref_frame_t *)
|
|
109
|
+
#define AOM_CTRL_AV1_SET_REFERENCE
|
|
110
|
+
|
|
111
|
+
AOM_CTRL_USE_TYPE(AV1_COPY_REFERENCE, av1_ref_frame_t *)
|
|
112
|
+
#define AOM_CTRL_AV1_COPY_REFERENCE
|
|
113
|
+
|
|
114
|
+
AOM_CTRL_USE_TYPE(AV1_GET_NEW_FRAME_IMAGE, aom_image_t *)
|
|
115
|
+
#define AOM_CTRL_AV1_GET_NEW_FRAME_IMAGE
|
|
116
|
+
|
|
117
|
+
AOM_CTRL_USE_TYPE(AV1_COPY_NEW_FRAME_IMAGE, aom_image_t *)
|
|
118
|
+
#define AOM_CTRL_AV1_COPY_NEW_FRAME_IMAGE
|
|
119
|
+
|
|
120
|
+
/*!\endcond */
|
|
121
|
+
/*! @} - end defgroup aom */
|
|
122
|
+
|
|
123
|
+
#ifdef __cplusplus
|
|
124
|
+
} // extern "C"
|
|
125
|
+
#endif
|
|
126
|
+
|
|
127
|
+
#endif // AOM_AOM_AOM_H_
|
|
@@ -0,0 +1,573 @@
|
|
|
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
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
13
|
+
// Internal implementation details
|
|
14
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
15
|
+
//
|
|
16
|
+
// There are two levels of interfaces used to access the AOM codec: the
|
|
17
|
+
// aom_codec_iface and the aom_codec_ctx.
|
|
18
|
+
//
|
|
19
|
+
// 1. aom_codec_iface_t
|
|
20
|
+
// (Related files: aom/aom_codec.h, aom/src/aom_codec.c,
|
|
21
|
+
// aom/internal/aom_codec_internal.h, av1/av1_cx_iface.c,
|
|
22
|
+
// av1/av1_dx_iface.c)
|
|
23
|
+
//
|
|
24
|
+
// Used to initialize the codec context, which contains the configuration for
|
|
25
|
+
// for modifying the encoder/decoder during run-time. See the other
|
|
26
|
+
// documentation in this header file for more details. For the most part,
|
|
27
|
+
// users will call helper functions, such as aom_codec_iface_name,
|
|
28
|
+
// aom_codec_get_caps, etc., to interact with it.
|
|
29
|
+
//
|
|
30
|
+
// The main purpose of the aom_codec_iface_t is to provide a way to generate
|
|
31
|
+
// a default codec config, find out what capabilities the implementation has,
|
|
32
|
+
// and create an aom_codec_ctx_t (which is actually used to interact with the
|
|
33
|
+
// codec).
|
|
34
|
+
//
|
|
35
|
+
// Note that the implementations for the AV1 algorithm are located in
|
|
36
|
+
// av1/av1_cx_iface.c and av1/av1_dx_iface.c
|
|
37
|
+
//
|
|
38
|
+
//
|
|
39
|
+
// 2. aom_codec_ctx_t
|
|
40
|
+
// (Related files: aom/aom_codec.h, av1/av1_cx_iface.c, av1/av1_dx_iface.c,
|
|
41
|
+
// aom/aomcx.h, aom/aomdx.h, aom/src/aom_encoder.c, aom/src/aom_decoder.c)
|
|
42
|
+
//
|
|
43
|
+
// The actual interface between user code and the codec. It stores the name
|
|
44
|
+
// of the codec, a pointer back to the aom_codec_iface_t that initialized it,
|
|
45
|
+
// initialization flags, a config for either encoder or the decoder, and a
|
|
46
|
+
// pointer to internal data.
|
|
47
|
+
//
|
|
48
|
+
// The codec is configured / queried through calls to aom_codec_control,
|
|
49
|
+
// which takes a control ID (listed in aomcx.h and aomdx.h) and a parameter.
|
|
50
|
+
// In the case of "getter" control IDs, the parameter is modified to have
|
|
51
|
+
// the requested value; in the case of "setter" control IDs, the codec's
|
|
52
|
+
// configuration is changed based on the parameter. Note that a aom_codec_err_t
|
|
53
|
+
// is returned, which indicates if the operation was successful or not.
|
|
54
|
+
//
|
|
55
|
+
// Note that for the encoder, the aom_codec_alg_priv_t points to the
|
|
56
|
+
// the aom_codec_alg_priv structure in av1/av1_cx_iface.c, and for the decoder,
|
|
57
|
+
// the struct in av1/av1_dx_iface.c. Variables such as AV1_COMP cpi are stored
|
|
58
|
+
// here and also used in the core algorithm.
|
|
59
|
+
//
|
|
60
|
+
// At the end, aom_codec_destroy should be called for each initialized
|
|
61
|
+
// aom_codec_ctx_t.
|
|
62
|
+
|
|
63
|
+
/*!\defgroup codec Common Algorithm Interface
|
|
64
|
+
* This abstraction allows applications to easily support multiple video
|
|
65
|
+
* formats with minimal code duplication. This section describes the interface
|
|
66
|
+
* common to all codecs (both encoders and decoders).
|
|
67
|
+
* @{
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
/*!\file
|
|
71
|
+
* \brief Describes the codec algorithm interface to applications.
|
|
72
|
+
*
|
|
73
|
+
* This file describes the interface between an application and a
|
|
74
|
+
* video codec algorithm.
|
|
75
|
+
*
|
|
76
|
+
* An application instantiates a specific codec instance by using
|
|
77
|
+
* aom_codec_dec_init() or aom_codec_enc_init() and a pointer to the
|
|
78
|
+
* algorithm's interface structure:
|
|
79
|
+
* <pre>
|
|
80
|
+
* my_app.c:
|
|
81
|
+
* extern aom_codec_iface_t my_codec;
|
|
82
|
+
* {
|
|
83
|
+
* aom_codec_ctx_t algo;
|
|
84
|
+
* int threads = 4;
|
|
85
|
+
* aom_codec_dec_cfg_t cfg = { threads, 0, 0, 1 };
|
|
86
|
+
* res = aom_codec_dec_init(&algo, &my_codec, &cfg, 0);
|
|
87
|
+
* }
|
|
88
|
+
* </pre>
|
|
89
|
+
*
|
|
90
|
+
* Once initialized, the instance is managed using other functions from
|
|
91
|
+
* the aom_codec_* family.
|
|
92
|
+
*/
|
|
93
|
+
#ifndef AOM_AOM_AOM_CODEC_H_
|
|
94
|
+
#define AOM_AOM_AOM_CODEC_H_
|
|
95
|
+
|
|
96
|
+
#ifdef __cplusplus
|
|
97
|
+
extern "C" {
|
|
98
|
+
#endif
|
|
99
|
+
|
|
100
|
+
#include "aom/aom_image.h"
|
|
101
|
+
#include "aom/aom_integer.h"
|
|
102
|
+
|
|
103
|
+
/*!\brief Decorator indicating a function is deprecated */
|
|
104
|
+
#ifndef AOM_DEPRECATED
|
|
105
|
+
#if defined(__GNUC__) && __GNUC__
|
|
106
|
+
#define AOM_DEPRECATED __attribute__((deprecated))
|
|
107
|
+
#elif defined(_MSC_VER)
|
|
108
|
+
#define AOM_DEPRECATED
|
|
109
|
+
#else
|
|
110
|
+
#define AOM_DEPRECATED
|
|
111
|
+
#endif
|
|
112
|
+
#endif /* AOM_DEPRECATED */
|
|
113
|
+
|
|
114
|
+
#ifndef AOM_DECLSPEC_DEPRECATED
|
|
115
|
+
#if defined(__GNUC__) && __GNUC__
|
|
116
|
+
#define AOM_DECLSPEC_DEPRECATED /**< \copydoc #AOM_DEPRECATED */
|
|
117
|
+
#elif defined(_MSC_VER)
|
|
118
|
+
/*!\brief \copydoc #AOM_DEPRECATED */
|
|
119
|
+
#define AOM_DECLSPEC_DEPRECATED __declspec(deprecated)
|
|
120
|
+
#else
|
|
121
|
+
#define AOM_DECLSPEC_DEPRECATED /**< \copydoc #AOM_DEPRECATED */
|
|
122
|
+
#endif
|
|
123
|
+
#endif /* AOM_DECLSPEC_DEPRECATED */
|
|
124
|
+
|
|
125
|
+
/*!\brief Decorator indicating a function is potentially unused */
|
|
126
|
+
#ifdef AOM_UNUSED
|
|
127
|
+
#elif defined(__GNUC__) || defined(__clang__)
|
|
128
|
+
#define AOM_UNUSED __attribute__((unused))
|
|
129
|
+
#else
|
|
130
|
+
#define AOM_UNUSED
|
|
131
|
+
#endif
|
|
132
|
+
|
|
133
|
+
/*!\brief Decorator indicating that given struct/union/enum is packed */
|
|
134
|
+
#ifndef ATTRIBUTE_PACKED
|
|
135
|
+
#if defined(__GNUC__) && __GNUC__
|
|
136
|
+
#define ATTRIBUTE_PACKED __attribute__((packed))
|
|
137
|
+
#elif defined(_MSC_VER)
|
|
138
|
+
#define ATTRIBUTE_PACKED
|
|
139
|
+
#else
|
|
140
|
+
#define ATTRIBUTE_PACKED
|
|
141
|
+
#endif
|
|
142
|
+
#endif /* ATTRIBUTE_PACKED */
|
|
143
|
+
|
|
144
|
+
/*!\brief Current ABI version number
|
|
145
|
+
*
|
|
146
|
+
* \internal
|
|
147
|
+
* If this file is altered in any way that changes the ABI, this value
|
|
148
|
+
* must be bumped. Examples include, but are not limited to, changing
|
|
149
|
+
* types, removing or reassigning enums, adding/removing/rearranging
|
|
150
|
+
* fields to structures
|
|
151
|
+
*/
|
|
152
|
+
#define AOM_CODEC_ABI_VERSION (7 + AOM_IMAGE_ABI_VERSION) /**<\hideinitializer*/
|
|
153
|
+
|
|
154
|
+
/*!\brief Algorithm return codes */
|
|
155
|
+
typedef enum {
|
|
156
|
+
/*!\brief Operation completed without error */
|
|
157
|
+
AOM_CODEC_OK,
|
|
158
|
+
|
|
159
|
+
/*!\brief Unspecified error */
|
|
160
|
+
AOM_CODEC_ERROR,
|
|
161
|
+
|
|
162
|
+
/*!\brief Memory operation failed */
|
|
163
|
+
AOM_CODEC_MEM_ERROR,
|
|
164
|
+
|
|
165
|
+
/*!\brief ABI version mismatch */
|
|
166
|
+
AOM_CODEC_ABI_MISMATCH,
|
|
167
|
+
|
|
168
|
+
/*!\brief Algorithm does not have required capability */
|
|
169
|
+
AOM_CODEC_INCAPABLE,
|
|
170
|
+
|
|
171
|
+
/*!\brief The given bitstream is not supported.
|
|
172
|
+
*
|
|
173
|
+
* The bitstream was unable to be parsed at the highest level. The decoder
|
|
174
|
+
* is unable to proceed. This error \ref SHOULD be treated as fatal to the
|
|
175
|
+
* stream. */
|
|
176
|
+
AOM_CODEC_UNSUP_BITSTREAM,
|
|
177
|
+
|
|
178
|
+
/*!\brief Encoded bitstream uses an unsupported feature
|
|
179
|
+
*
|
|
180
|
+
* The decoder does not implement a feature required by the encoder. This
|
|
181
|
+
* return code should only be used for features that prevent future
|
|
182
|
+
* pictures from being properly decoded. This error \ref MAY be treated as
|
|
183
|
+
* fatal to the stream or \ref MAY be treated as fatal to the current GOP.
|
|
184
|
+
*/
|
|
185
|
+
AOM_CODEC_UNSUP_FEATURE,
|
|
186
|
+
|
|
187
|
+
/*!\brief The coded data for this stream is corrupt or incomplete
|
|
188
|
+
*
|
|
189
|
+
* There was a problem decoding the current frame. This return code
|
|
190
|
+
* should only be used for failures that prevent future pictures from
|
|
191
|
+
* being properly decoded. This error \ref MAY be treated as fatal to the
|
|
192
|
+
* stream or \ref MAY be treated as fatal to the current GOP. If decoding
|
|
193
|
+
* is continued for the current GOP, artifacts may be present.
|
|
194
|
+
*/
|
|
195
|
+
AOM_CODEC_CORRUPT_FRAME,
|
|
196
|
+
|
|
197
|
+
/*!\brief An application-supplied parameter is not valid.
|
|
198
|
+
*
|
|
199
|
+
*/
|
|
200
|
+
AOM_CODEC_INVALID_PARAM,
|
|
201
|
+
|
|
202
|
+
/*!\brief An iterator reached the end of list.
|
|
203
|
+
*
|
|
204
|
+
*/
|
|
205
|
+
AOM_CODEC_LIST_END
|
|
206
|
+
|
|
207
|
+
} aom_codec_err_t;
|
|
208
|
+
|
|
209
|
+
/*! \brief Codec capabilities bitfield
|
|
210
|
+
*
|
|
211
|
+
* Each codec advertises the capabilities it supports as part of its
|
|
212
|
+
* ::aom_codec_iface_t interface structure. Capabilities are extra interfaces
|
|
213
|
+
* or functionality, and are not required to be supported.
|
|
214
|
+
*
|
|
215
|
+
* The available flags are specified by AOM_CODEC_CAP_* defines.
|
|
216
|
+
*/
|
|
217
|
+
typedef long aom_codec_caps_t;
|
|
218
|
+
#define AOM_CODEC_CAP_DECODER 0x1 /**< Is a decoder */
|
|
219
|
+
#define AOM_CODEC_CAP_ENCODER 0x2 /**< Is an encoder */
|
|
220
|
+
|
|
221
|
+
/*! \brief Initialization-time Feature Enabling
|
|
222
|
+
*
|
|
223
|
+
* Certain codec features must be known at initialization time, to allow for
|
|
224
|
+
* proper memory allocation.
|
|
225
|
+
*
|
|
226
|
+
* The available flags are specified by AOM_CODEC_USE_* defines.
|
|
227
|
+
*/
|
|
228
|
+
typedef long aom_codec_flags_t;
|
|
229
|
+
|
|
230
|
+
/*!\brief Time Stamp Type
|
|
231
|
+
*
|
|
232
|
+
* An integer, which when multiplied by the stream's time base, provides
|
|
233
|
+
* the absolute time of a sample.
|
|
234
|
+
*/
|
|
235
|
+
typedef int64_t aom_codec_pts_t;
|
|
236
|
+
|
|
237
|
+
/*!\brief Codec interface structure.
|
|
238
|
+
*
|
|
239
|
+
* Contains function pointers and other data private to the codec
|
|
240
|
+
* implementation. This structure is opaque to the application. Common
|
|
241
|
+
* functions used with this structure:
|
|
242
|
+
* - aom_codec_iface_name(aom_codec_iface_t *iface): get the
|
|
243
|
+
* name of the codec
|
|
244
|
+
* - aom_codec_get_caps(aom_codec_iface_t *iface): returns
|
|
245
|
+
* the capabilities of the codec
|
|
246
|
+
* - aom_codec_enc_config_default: generate the default config for
|
|
247
|
+
* initializing the encoder (see documentation in aom_encoder.h)
|
|
248
|
+
* - aom_codec_dec_init, aom_codec_enc_init: initialize the codec context
|
|
249
|
+
* structure (see documentation on aom_codec_ctx).
|
|
250
|
+
*
|
|
251
|
+
* To get access to the AV1 encoder and decoder, use aom_codec_av1_cx() and
|
|
252
|
+
* aom_codec_av1_dx().
|
|
253
|
+
*/
|
|
254
|
+
typedef const struct aom_codec_iface aom_codec_iface_t;
|
|
255
|
+
|
|
256
|
+
/*!\brief Codec private data structure.
|
|
257
|
+
*
|
|
258
|
+
* Contains data private to the codec implementation. This structure is opaque
|
|
259
|
+
* to the application.
|
|
260
|
+
*/
|
|
261
|
+
typedef struct aom_codec_priv aom_codec_priv_t;
|
|
262
|
+
|
|
263
|
+
/*!\brief Compressed Frame Flags
|
|
264
|
+
*
|
|
265
|
+
* This type represents a bitfield containing information about a compressed
|
|
266
|
+
* frame that may be useful to an application. The most significant 16 bits
|
|
267
|
+
* can be used by an algorithm to provide additional detail, for example to
|
|
268
|
+
* support frame types that are codec specific (MPEG-1 D-frames for example)
|
|
269
|
+
*/
|
|
270
|
+
typedef uint32_t aom_codec_frame_flags_t;
|
|
271
|
+
#define AOM_FRAME_IS_KEY 0x1u /**< frame is the start of a GOP */
|
|
272
|
+
/*!\brief frame can be dropped without affecting the stream (no future frame
|
|
273
|
+
* depends on this one) */
|
|
274
|
+
#define AOM_FRAME_IS_DROPPABLE 0x2u
|
|
275
|
+
/*!\brief this is an INTRA_ONLY frame */
|
|
276
|
+
#define AOM_FRAME_IS_INTRAONLY 0x10u
|
|
277
|
+
/*!\brief this is an S-frame */
|
|
278
|
+
#define AOM_FRAME_IS_SWITCH 0x20u
|
|
279
|
+
/*!\brief this is an error-resilient frame */
|
|
280
|
+
#define AOM_FRAME_IS_ERROR_RESILIENT 0x40u
|
|
281
|
+
/*!\brief this is a key-frame dependent recovery-point frame */
|
|
282
|
+
#define AOM_FRAME_IS_DELAYED_RANDOM_ACCESS_POINT 0x80u
|
|
283
|
+
|
|
284
|
+
/*!\brief Iterator
|
|
285
|
+
*
|
|
286
|
+
* Opaque storage used for iterating over lists.
|
|
287
|
+
*/
|
|
288
|
+
typedef const void *aom_codec_iter_t;
|
|
289
|
+
|
|
290
|
+
/*!\brief Codec context structure
|
|
291
|
+
*
|
|
292
|
+
* All codecs \ref MUST support this context structure fully. In general,
|
|
293
|
+
* this data should be considered private to the codec algorithm, and
|
|
294
|
+
* not be manipulated or examined by the calling application. Applications
|
|
295
|
+
* may reference the 'name' member to get a printable description of the
|
|
296
|
+
* algorithm.
|
|
297
|
+
*/
|
|
298
|
+
typedef struct aom_codec_ctx {
|
|
299
|
+
const char *name; /**< Printable interface name */
|
|
300
|
+
aom_codec_iface_t *iface; /**< Interface pointers */
|
|
301
|
+
aom_codec_err_t err; /**< Last returned error */
|
|
302
|
+
const char *err_detail; /**< Detailed info, if available */
|
|
303
|
+
aom_codec_flags_t init_flags; /**< Flags passed at init time */
|
|
304
|
+
union {
|
|
305
|
+
/**< Decoder Configuration Pointer */
|
|
306
|
+
const struct aom_codec_dec_cfg *dec;
|
|
307
|
+
/**< Encoder Configuration Pointer */
|
|
308
|
+
const struct aom_codec_enc_cfg *enc;
|
|
309
|
+
const void *raw;
|
|
310
|
+
} config; /**< Configuration pointer aliasing union */
|
|
311
|
+
aom_codec_priv_t *priv; /**< Algorithm private storage */
|
|
312
|
+
} aom_codec_ctx_t;
|
|
313
|
+
|
|
314
|
+
/*!\brief Bit depth for codec
|
|
315
|
+
* *
|
|
316
|
+
* This enumeration determines the bit depth of the codec.
|
|
317
|
+
*/
|
|
318
|
+
typedef enum aom_bit_depth {
|
|
319
|
+
AOM_BITS_8 = 8, /**< 8 bits */
|
|
320
|
+
AOM_BITS_10 = 10, /**< 10 bits */
|
|
321
|
+
AOM_BITS_12 = 12, /**< 12 bits */
|
|
322
|
+
} aom_bit_depth_t;
|
|
323
|
+
|
|
324
|
+
/*!\brief Superblock size selection.
|
|
325
|
+
*
|
|
326
|
+
* Defines the superblock size used for encoding. The superblock size can
|
|
327
|
+
* either be fixed at 64x64 or 128x128 pixels, or it can be dynamically
|
|
328
|
+
* selected by the encoder for each frame.
|
|
329
|
+
*/
|
|
330
|
+
typedef enum aom_superblock_size {
|
|
331
|
+
AOM_SUPERBLOCK_SIZE_64X64, /**< Always use 64x64 superblocks. */
|
|
332
|
+
AOM_SUPERBLOCK_SIZE_128X128, /**< Always use 128x128 superblocks. */
|
|
333
|
+
AOM_SUPERBLOCK_SIZE_DYNAMIC /**< Select superblock size dynamically. */
|
|
334
|
+
} aom_superblock_size_t;
|
|
335
|
+
|
|
336
|
+
/*
|
|
337
|
+
* Library Version Number Interface
|
|
338
|
+
*
|
|
339
|
+
* For example, see the following sample return values:
|
|
340
|
+
* aom_codec_version() (1<<16 | 2<<8 | 3)
|
|
341
|
+
* aom_codec_version_str() "v1.2.3-rc1-16-gec6a1ba"
|
|
342
|
+
* aom_codec_version_extra_str() "rc1-16-gec6a1ba"
|
|
343
|
+
*/
|
|
344
|
+
|
|
345
|
+
/*!\brief Return the version information (as an integer)
|
|
346
|
+
*
|
|
347
|
+
* Returns a packed encoding of the library version number. This will only
|
|
348
|
+
* include the major.minor.patch component of the version number. Note that this
|
|
349
|
+
* encoded value should be accessed through the macros provided, as the encoding
|
|
350
|
+
* may change in the future.
|
|
351
|
+
*
|
|
352
|
+
*/
|
|
353
|
+
int aom_codec_version(void);
|
|
354
|
+
|
|
355
|
+
/*!\brief Return the major version number */
|
|
356
|
+
#define aom_codec_version_major() ((aom_codec_version() >> 16) & 0xff)
|
|
357
|
+
|
|
358
|
+
/*!\brief Return the minor version number */
|
|
359
|
+
#define aom_codec_version_minor() ((aom_codec_version() >> 8) & 0xff)
|
|
360
|
+
|
|
361
|
+
/*!\brief Return the patch version number */
|
|
362
|
+
#define aom_codec_version_patch() ((aom_codec_version() >> 0) & 0xff)
|
|
363
|
+
|
|
364
|
+
/*!\brief Return the version information (as a string)
|
|
365
|
+
*
|
|
366
|
+
* Returns a printable string containing the full library version number. This
|
|
367
|
+
* may contain additional text following the three digit version number, as to
|
|
368
|
+
* indicate release candidates, pre-release versions, etc.
|
|
369
|
+
*
|
|
370
|
+
*/
|
|
371
|
+
const char *aom_codec_version_str(void);
|
|
372
|
+
|
|
373
|
+
/*!\brief Return the version information (as a string)
|
|
374
|
+
*
|
|
375
|
+
* Returns a printable "extra string". This is the component of the string
|
|
376
|
+
* returned by aom_codec_version_str() following the three digit version number.
|
|
377
|
+
*
|
|
378
|
+
*/
|
|
379
|
+
const char *aom_codec_version_extra_str(void);
|
|
380
|
+
|
|
381
|
+
/*!\brief Return the build configuration
|
|
382
|
+
*
|
|
383
|
+
* Returns a printable string containing an encoded version of the build
|
|
384
|
+
* configuration. This may be useful to aom support.
|
|
385
|
+
*
|
|
386
|
+
*/
|
|
387
|
+
const char *aom_codec_build_config(void);
|
|
388
|
+
|
|
389
|
+
/*!\brief Return the name for a given interface
|
|
390
|
+
*
|
|
391
|
+
* Returns a human readable string for name of the given codec interface.
|
|
392
|
+
*
|
|
393
|
+
* \param[in] iface Interface pointer
|
|
394
|
+
*
|
|
395
|
+
*/
|
|
396
|
+
const char *aom_codec_iface_name(aom_codec_iface_t *iface);
|
|
397
|
+
|
|
398
|
+
/*!\brief Convert error number to printable string
|
|
399
|
+
*
|
|
400
|
+
* Returns a human readable string for the last error returned by the
|
|
401
|
+
* algorithm. The returned error will be one line and will not contain
|
|
402
|
+
* any newline characters.
|
|
403
|
+
*
|
|
404
|
+
*
|
|
405
|
+
* \param[in] err Error number.
|
|
406
|
+
*
|
|
407
|
+
*/
|
|
408
|
+
const char *aom_codec_err_to_string(aom_codec_err_t err);
|
|
409
|
+
|
|
410
|
+
/*!\brief Retrieve error synopsis for codec context
|
|
411
|
+
*
|
|
412
|
+
* Returns a human readable string for the last error returned by the
|
|
413
|
+
* algorithm. The returned error will be one line and will not contain
|
|
414
|
+
* any newline characters.
|
|
415
|
+
*
|
|
416
|
+
*
|
|
417
|
+
* \param[in] ctx Pointer to this instance's context.
|
|
418
|
+
*
|
|
419
|
+
*/
|
|
420
|
+
const char *aom_codec_error(aom_codec_ctx_t *ctx);
|
|
421
|
+
|
|
422
|
+
/*!\brief Retrieve detailed error information for codec context
|
|
423
|
+
*
|
|
424
|
+
* Returns a human readable string providing detailed information about
|
|
425
|
+
* the last error.
|
|
426
|
+
*
|
|
427
|
+
* \param[in] ctx Pointer to this instance's context.
|
|
428
|
+
*
|
|
429
|
+
* \retval NULL
|
|
430
|
+
* No detailed information is available.
|
|
431
|
+
*/
|
|
432
|
+
const char *aom_codec_error_detail(aom_codec_ctx_t *ctx);
|
|
433
|
+
|
|
434
|
+
/* REQUIRED FUNCTIONS
|
|
435
|
+
*
|
|
436
|
+
* The following functions are required to be implemented for all codecs.
|
|
437
|
+
* They represent the base case functionality expected of all codecs.
|
|
438
|
+
*/
|
|
439
|
+
|
|
440
|
+
/*!\brief Destroy a codec instance
|
|
441
|
+
*
|
|
442
|
+
* Destroys a codec context, freeing any associated memory buffers.
|
|
443
|
+
*
|
|
444
|
+
* \param[in] ctx Pointer to this instance's context
|
|
445
|
+
*
|
|
446
|
+
* \retval #AOM_CODEC_OK
|
|
447
|
+
* The codec algorithm initialized.
|
|
448
|
+
* \retval #AOM_CODEC_MEM_ERROR
|
|
449
|
+
* Memory allocation failed.
|
|
450
|
+
*/
|
|
451
|
+
aom_codec_err_t aom_codec_destroy(aom_codec_ctx_t *ctx);
|
|
452
|
+
|
|
453
|
+
/*!\brief Get the capabilities of an algorithm.
|
|
454
|
+
*
|
|
455
|
+
* Retrieves the capabilities bitfield from the algorithm's interface.
|
|
456
|
+
*
|
|
457
|
+
* \param[in] iface Pointer to the algorithm interface
|
|
458
|
+
*
|
|
459
|
+
*/
|
|
460
|
+
aom_codec_caps_t aom_codec_get_caps(aom_codec_iface_t *iface);
|
|
461
|
+
|
|
462
|
+
/*!\name Codec Control
|
|
463
|
+
*
|
|
464
|
+
* The aom_codec_control function exchanges algorithm specific data with the
|
|
465
|
+
* codec instance. Additionally, the macro AOM_CODEC_CONTROL_TYPECHECKED is
|
|
466
|
+
* provided, which will type-check the parameter against the control ID before
|
|
467
|
+
* calling aom_codec_control - note that this macro requires the control ID
|
|
468
|
+
* to be directly encoded in it, e.g.,
|
|
469
|
+
* AOM_CODEC_CONTROL_TYPECHECKED(&ctx, AOME_SET_CPUUSED, 8).
|
|
470
|
+
*
|
|
471
|
+
* The codec control IDs can be found in aom.h, aomcx.h, and aomdx.h
|
|
472
|
+
* (defined as aom_com_control_id, aome_enc_control_id, and aom_dec_control_id).
|
|
473
|
+
* @{
|
|
474
|
+
*/
|
|
475
|
+
/*!\brief Algorithm Control
|
|
476
|
+
*
|
|
477
|
+
* aom_codec_control takes a context, a control ID, and a third parameter
|
|
478
|
+
* (with varying type). If the context is non-null and an error occurs,
|
|
479
|
+
* ctx->err will be set to the same value as the return value.
|
|
480
|
+
*
|
|
481
|
+
* \param[in] ctx Pointer to this instance's context
|
|
482
|
+
* \param[in] ctrl_id Algorithm specific control identifier.
|
|
483
|
+
* Must be nonzero.
|
|
484
|
+
*
|
|
485
|
+
* \retval #AOM_CODEC_OK
|
|
486
|
+
* The control request was processed.
|
|
487
|
+
* \retval #AOM_CODEC_ERROR
|
|
488
|
+
* The control request was not processed.
|
|
489
|
+
* \retval #AOM_CODEC_INVALID_PARAM
|
|
490
|
+
* The control ID was zero, or the data was not valid.
|
|
491
|
+
*/
|
|
492
|
+
aom_codec_err_t aom_codec_control(aom_codec_ctx_t *ctx, int ctrl_id, ...);
|
|
493
|
+
|
|
494
|
+
/*!\brief Key & Value API
|
|
495
|
+
*
|
|
496
|
+
* aom_codec_set_option() takes a context, a key (option name) and a value. If
|
|
497
|
+
* the context is non-null and an error occurs, ctx->err will be set to the same
|
|
498
|
+
* value as the return value.
|
|
499
|
+
*
|
|
500
|
+
* \param[in] ctx Pointer to this instance's context
|
|
501
|
+
* \param[in] name The name of the option (key)
|
|
502
|
+
* \param[in] value The value of the option
|
|
503
|
+
*
|
|
504
|
+
* \retval #AOM_CODEC_OK
|
|
505
|
+
* The value of the option was set.
|
|
506
|
+
* \retval #AOM_CODEC_INVALID_PARAM
|
|
507
|
+
* The data was not valid.
|
|
508
|
+
* \retval #AOM_CODEC_ERROR
|
|
509
|
+
* The option was not successfully set.
|
|
510
|
+
*/
|
|
511
|
+
aom_codec_err_t aom_codec_set_option(aom_codec_ctx_t *ctx, const char *name,
|
|
512
|
+
const char *value);
|
|
513
|
+
|
|
514
|
+
/*!\brief aom_codec_control wrapper macro (adds type-checking, less flexible)
|
|
515
|
+
*
|
|
516
|
+
* This macro allows for type safe conversions across the variadic parameter
|
|
517
|
+
* to aom_codec_control(). However, it requires the explicit control ID
|
|
518
|
+
* be passed in (it cannot be passed in via a variable) -- otherwise a compiler
|
|
519
|
+
* error will occur. After the type checking, it calls aom_codec_control.
|
|
520
|
+
*/
|
|
521
|
+
#define AOM_CODEC_CONTROL_TYPECHECKED(ctx, id, data) \
|
|
522
|
+
aom_codec_control_typechecked_##id(ctx, id, data) /**<\hideinitializer*/
|
|
523
|
+
|
|
524
|
+
/*!\brief Creates type checking mechanisms for aom_codec_control
|
|
525
|
+
*
|
|
526
|
+
* It defines a static function with the correctly typed arguments as a wrapper
|
|
527
|
+
* to the type-unsafe aom_codec_control function. It also creates a typedef
|
|
528
|
+
* for each type.
|
|
529
|
+
*/
|
|
530
|
+
#define AOM_CTRL_USE_TYPE(id, typ) \
|
|
531
|
+
static aom_codec_err_t aom_codec_control_typechecked_##id( \
|
|
532
|
+
aom_codec_ctx_t *, int, typ) AOM_UNUSED; \
|
|
533
|
+
static aom_codec_err_t aom_codec_control_typechecked_##id( \
|
|
534
|
+
aom_codec_ctx_t *ctx, int ctrl, typ data) { \
|
|
535
|
+
return aom_codec_control(ctx, ctrl, data); \
|
|
536
|
+
} /**<\hideinitializer*/ \
|
|
537
|
+
typedef typ aom_codec_control_type_##id;
|
|
538
|
+
/*!@} end Codec Control group */
|
|
539
|
+
|
|
540
|
+
/*!\brief OBU types. */
|
|
541
|
+
typedef enum ATTRIBUTE_PACKED {
|
|
542
|
+
OBU_SEQUENCE_HEADER = 1,
|
|
543
|
+
OBU_TEMPORAL_DELIMITER = 2,
|
|
544
|
+
OBU_FRAME_HEADER = 3,
|
|
545
|
+
OBU_TILE_GROUP = 4,
|
|
546
|
+
OBU_METADATA = 5,
|
|
547
|
+
OBU_FRAME = 6,
|
|
548
|
+
OBU_REDUNDANT_FRAME_HEADER = 7,
|
|
549
|
+
OBU_TILE_LIST = 8,
|
|
550
|
+
OBU_PADDING = 15,
|
|
551
|
+
} OBU_TYPE;
|
|
552
|
+
|
|
553
|
+
/*!\brief OBU metadata types. */
|
|
554
|
+
typedef enum {
|
|
555
|
+
OBU_METADATA_TYPE_AOM_RESERVED_0 = 0,
|
|
556
|
+
OBU_METADATA_TYPE_HDR_CLL = 1,
|
|
557
|
+
OBU_METADATA_TYPE_HDR_MDCV = 2,
|
|
558
|
+
OBU_METADATA_TYPE_SCALABILITY = 3,
|
|
559
|
+
OBU_METADATA_TYPE_ITUT_T35 = 4,
|
|
560
|
+
OBU_METADATA_TYPE_TIMECODE = 5,
|
|
561
|
+
} OBU_METADATA_TYPE;
|
|
562
|
+
|
|
563
|
+
/*!\brief Returns string representation of OBU_TYPE.
|
|
564
|
+
*
|
|
565
|
+
* \param[in] type The OBU_TYPE to convert to string.
|
|
566
|
+
*/
|
|
567
|
+
const char *aom_obu_type_to_string(OBU_TYPE type);
|
|
568
|
+
|
|
569
|
+
/*!@} - end defgroup codec*/
|
|
570
|
+
#ifdef __cplusplus
|
|
571
|
+
}
|
|
572
|
+
#endif
|
|
573
|
+
#endif // AOM_AOM_AOM_CODEC_H_
|