@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.
Files changed (656) hide show
  1. package/README.md +47 -0
  2. package/cplusplus/VConnection.cpp +151 -0
  3. package/cplusplus/VError.cpp +49 -0
  4. package/cplusplus/VImage.cpp +1548 -0
  5. package/cplusplus/VInterpolate.cpp +62 -0
  6. package/cplusplus/VRegion.cpp +27 -0
  7. package/cplusplus/index.js +1 -0
  8. package/cplusplus/vips-operators.cpp +3760 -0
  9. package/include/aom/aom.h +127 -0
  10. package/include/aom/aom_codec.h +573 -0
  11. package/include/aom/aom_decoder.h +257 -0
  12. package/include/aom/aom_encoder.h +1137 -0
  13. package/include/aom/aom_external_partition.h +452 -0
  14. package/include/aom/aom_frame_buffer.h +84 -0
  15. package/include/aom/aom_image.h +448 -0
  16. package/include/aom/aom_integer.h +68 -0
  17. package/include/aom/aomcx.h +2112 -0
  18. package/include/aom/aomdx.h +604 -0
  19. package/include/archive.h +1212 -0
  20. package/include/archive_entry.h +723 -0
  21. package/include/cairo/cairo-deprecated.h +123 -0
  22. package/include/cairo/cairo-features.h +29 -0
  23. package/include/cairo/cairo-ft.h +118 -0
  24. package/include/cairo/cairo-gobject.h +192 -0
  25. package/include/cairo/cairo-svg.h +130 -0
  26. package/include/cairo/cairo-version.h +8 -0
  27. package/include/cairo/cairo.h +3281 -0
  28. package/include/cgif.h +80 -0
  29. package/include/expat.h +1064 -0
  30. package/include/expat_config.h +140 -0
  31. package/include/expat_external.h +165 -0
  32. package/include/ffi.h +531 -0
  33. package/include/ffitarget.h +164 -0
  34. package/include/fontconfig/fcfreetype.h +59 -0
  35. package/include/fontconfig/fcprivate.h +134 -0
  36. package/include/fontconfig/fontconfig.h +1158 -0
  37. package/include/freetype2/freetype/config/ftconfig.h +51 -0
  38. package/include/freetype2/freetype/config/ftheader.h +836 -0
  39. package/include/freetype2/freetype/config/ftmodule.h +21 -0
  40. package/include/freetype2/freetype/config/ftoption.h +1014 -0
  41. package/include/freetype2/freetype/config/ftstdlib.h +185 -0
  42. package/include/freetype2/freetype/config/integer-types.h +250 -0
  43. package/include/freetype2/freetype/config/mac-support.h +49 -0
  44. package/include/freetype2/freetype/config/public-macros.h +138 -0
  45. package/include/freetype2/freetype/freetype.h +5337 -0
  46. package/include/freetype2/freetype/ftadvanc.h +188 -0
  47. package/include/freetype2/freetype/ftbbox.h +101 -0
  48. package/include/freetype2/freetype/ftbdf.h +212 -0
  49. package/include/freetype2/freetype/ftbitmap.h +329 -0
  50. package/include/freetype2/freetype/ftbzip2.h +102 -0
  51. package/include/freetype2/freetype/ftcache.h +1087 -0
  52. package/include/freetype2/freetype/ftchapters.h +168 -0
  53. package/include/freetype2/freetype/ftcid.h +167 -0
  54. package/include/freetype2/freetype/ftcolor.h +1667 -0
  55. package/include/freetype2/freetype/ftdriver.h +1246 -0
  56. package/include/freetype2/freetype/fterrdef.h +283 -0
  57. package/include/freetype2/freetype/fterrors.h +296 -0
  58. package/include/freetype2/freetype/ftfntfmt.h +93 -0
  59. package/include/freetype2/freetype/ftgasp.h +143 -0
  60. package/include/freetype2/freetype/ftglyph.h +750 -0
  61. package/include/freetype2/freetype/ftgxval.h +354 -0
  62. package/include/freetype2/freetype/ftgzip.h +151 -0
  63. package/include/freetype2/freetype/ftimage.h +1284 -0
  64. package/include/freetype2/freetype/ftincrem.h +348 -0
  65. package/include/freetype2/freetype/ftlcdfil.h +323 -0
  66. package/include/freetype2/freetype/ftlist.h +296 -0
  67. package/include/freetype2/freetype/ftlzw.h +100 -0
  68. package/include/freetype2/freetype/ftmac.h +289 -0
  69. package/include/freetype2/freetype/ftmm.h +805 -0
  70. package/include/freetype2/freetype/ftmodapi.h +807 -0
  71. package/include/freetype2/freetype/ftmoderr.h +204 -0
  72. package/include/freetype2/freetype/ftotval.h +206 -0
  73. package/include/freetype2/freetype/ftoutln.h +588 -0
  74. package/include/freetype2/freetype/ftparams.h +218 -0
  75. package/include/freetype2/freetype/ftpfr.h +179 -0
  76. package/include/freetype2/freetype/ftrender.h +244 -0
  77. package/include/freetype2/freetype/ftsizes.h +159 -0
  78. package/include/freetype2/freetype/ftsnames.h +272 -0
  79. package/include/freetype2/freetype/ftstroke.h +773 -0
  80. package/include/freetype2/freetype/ftsynth.h +104 -0
  81. package/include/freetype2/freetype/ftsystem.h +350 -0
  82. package/include/freetype2/freetype/fttrigon.h +350 -0
  83. package/include/freetype2/freetype/fttypes.h +617 -0
  84. package/include/freetype2/freetype/ftwinfnt.h +276 -0
  85. package/include/freetype2/freetype/otsvg.h +336 -0
  86. package/include/freetype2/freetype/t1tables.h +793 -0
  87. package/include/freetype2/freetype/ttnameid.h +1235 -0
  88. package/include/freetype2/freetype/tttables.h +855 -0
  89. package/include/freetype2/freetype/tttags.h +124 -0
  90. package/include/freetype2/ft2build.h +42 -0
  91. package/include/fribidi/fribidi-arabic.h +81 -0
  92. package/include/fribidi/fribidi-begindecls.h +3 -0
  93. package/include/fribidi/fribidi-bidi-types-list.h +96 -0
  94. package/include/fribidi/fribidi-bidi-types.h +405 -0
  95. package/include/fribidi/fribidi-bidi.h +142 -0
  96. package/include/fribidi/fribidi-brackets.h +89 -0
  97. package/include/fribidi/fribidi-char-sets-list.h +54 -0
  98. package/include/fribidi/fribidi-char-sets.h +106 -0
  99. package/include/fribidi/fribidi-common.h +152 -0
  100. package/include/fribidi/fribidi-config.h +23 -0
  101. package/include/fribidi/fribidi-deprecated.h +175 -0
  102. package/include/fribidi/fribidi-enddecls.h +3 -0
  103. package/include/fribidi/fribidi-flags.h +72 -0
  104. package/include/fribidi/fribidi-joining-types-list.h +44 -0
  105. package/include/fribidi/fribidi-joining-types.h +249 -0
  106. package/include/fribidi/fribidi-joining.h +74 -0
  107. package/include/fribidi/fribidi-mirroring.h +86 -0
  108. package/include/fribidi/fribidi-shape.h +71 -0
  109. package/include/fribidi/fribidi-types.h +79 -0
  110. package/include/fribidi/fribidi-unicode-version.h +10 -0
  111. package/include/fribidi/fribidi-unicode.h +105 -0
  112. package/include/fribidi/fribidi.h +129 -0
  113. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +221 -0
  114. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +37 -0
  115. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +525 -0
  116. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +40 -0
  117. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +115 -0
  118. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +481 -0
  119. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +113 -0
  120. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +718 -0
  121. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +33 -0
  122. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +70 -0
  123. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +168 -0
  124. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +46 -0
  125. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +165 -0
  126. package/include/gio-unix-2.0/gio/gdesktopappinfo.h +200 -0
  127. package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +67 -0
  128. package/include/gio-unix-2.0/gio/gunixfdmessage.h +86 -0
  129. package/include/gio-unix-2.0/gio/gunixinputstream.h +85 -0
  130. package/include/gio-unix-2.0/gio/gunixmounts.h +172 -0
  131. package/include/gio-unix-2.0/gio/gunixoutputstream.h +84 -0
  132. package/include/glib-2.0/gio/gaction.h +100 -0
  133. package/include/glib-2.0/gio/gactiongroup.h +163 -0
  134. package/include/glib-2.0/gio/gactiongroupexporter.h +47 -0
  135. package/include/glib-2.0/gio/gactionmap.h +101 -0
  136. package/include/glib-2.0/gio/gappinfo.h +369 -0
  137. package/include/glib-2.0/gio/gapplication.h +257 -0
  138. package/include/glib-2.0/gio/gapplicationcommandline.h +124 -0
  139. package/include/glib-2.0/gio/gasyncinitable.h +132 -0
  140. package/include/glib-2.0/gio/gasyncresult.h +87 -0
  141. package/include/glib-2.0/gio/gbufferedinputstream.h +135 -0
  142. package/include/glib-2.0/gio/gbufferedoutputstream.h +88 -0
  143. package/include/glib-2.0/gio/gbytesicon.h +54 -0
  144. package/include/glib-2.0/gio/gcancellable.h +120 -0
  145. package/include/glib-2.0/gio/gcharsetconverter.h +65 -0
  146. package/include/glib-2.0/gio/gcontenttype.h +84 -0
  147. package/include/glib-2.0/gio/gconverter.h +98 -0
  148. package/include/glib-2.0/gio/gconverterinputstream.h +82 -0
  149. package/include/glib-2.0/gio/gconverteroutputstream.h +82 -0
  150. package/include/glib-2.0/gio/gcredentials.h +87 -0
  151. package/include/glib-2.0/gio/gdatagrambased.h +146 -0
  152. package/include/glib-2.0/gio/gdatainputstream.h +182 -0
  153. package/include/glib-2.0/gio/gdataoutputstream.h +127 -0
  154. package/include/glib-2.0/gio/gdbusactiongroup.h +56 -0
  155. package/include/glib-2.0/gio/gdbusaddress.h +67 -0
  156. package/include/glib-2.0/gio/gdbusauthobserver.h +53 -0
  157. package/include/glib-2.0/gio/gdbusconnection.h +691 -0
  158. package/include/glib-2.0/gio/gdbuserror.h +111 -0
  159. package/include/glib-2.0/gio/gdbusinterface.h +83 -0
  160. package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +129 -0
  161. package/include/glib-2.0/gio/gdbusintrospection.h +327 -0
  162. package/include/glib-2.0/gio/gdbusmenumodel.h +47 -0
  163. package/include/glib-2.0/gio/gdbusmessage.h +204 -0
  164. package/include/glib-2.0/gio/gdbusmethodinvocation.h +136 -0
  165. package/include/glib-2.0/gio/gdbusnameowning.h +117 -0
  166. package/include/glib-2.0/gio/gdbusnamewatching.h +104 -0
  167. package/include/glib-2.0/gio/gdbusobject.h +80 -0
  168. package/include/glib-2.0/gio/gdbusobjectmanager.h +96 -0
  169. package/include/glib-2.0/gio/gdbusobjectmanagerclient.h +148 -0
  170. package/include/glib-2.0/gio/gdbusobjectmanagerserver.h +95 -0
  171. package/include/glib-2.0/gio/gdbusobjectproxy.h +81 -0
  172. package/include/glib-2.0/gio/gdbusobjectskeleton.h +98 -0
  173. package/include/glib-2.0/gio/gdbusproxy.h +220 -0
  174. package/include/glib-2.0/gio/gdbusserver.h +62 -0
  175. package/include/glib-2.0/gio/gdbusutils.h +65 -0
  176. package/include/glib-2.0/gio/gdebugcontroller.h +81 -0
  177. package/include/glib-2.0/gio/gdebugcontrollerdbus.h +71 -0
  178. package/include/glib-2.0/gio/gdrive.h +274 -0
  179. package/include/glib-2.0/gio/gdtlsclientconnection.h +77 -0
  180. package/include/glib-2.0/gio/gdtlsconnection.h +230 -0
  181. package/include/glib-2.0/gio/gdtlsserverconnection.h +71 -0
  182. package/include/glib-2.0/gio/gemblem.h +63 -0
  183. package/include/glib-2.0/gio/gemblemedicon.h +83 -0
  184. package/include/glib-2.0/gio/gfile.h +1359 -0
  185. package/include/glib-2.0/gio/gfileattribute.h +86 -0
  186. package/include/glib-2.0/gio/gfileenumerator.h +154 -0
  187. package/include/glib-2.0/gio/gfileicon.h +59 -0
  188. package/include/glib-2.0/gio/gfileinfo.h +1546 -0
  189. package/include/glib-2.0/gio/gfileinputstream.h +116 -0
  190. package/include/glib-2.0/gio/gfileiostream.h +123 -0
  191. package/include/glib-2.0/gio/gfilemonitor.h +100 -0
  192. package/include/glib-2.0/gio/gfilenamecompleter.h +81 -0
  193. package/include/glib-2.0/gio/gfileoutputstream.h +124 -0
  194. package/include/glib-2.0/gio/gfilterinputstream.h +80 -0
  195. package/include/glib-2.0/gio/gfilteroutputstream.h +80 -0
  196. package/include/glib-2.0/gio/gicon.h +133 -0
  197. package/include/glib-2.0/gio/ginetaddress.h +125 -0
  198. package/include/glib-2.0/gio/ginetaddressmask.h +86 -0
  199. package/include/glib-2.0/gio/ginetsocketaddress.h +80 -0
  200. package/include/glib-2.0/gio/ginitable.h +107 -0
  201. package/include/glib-2.0/gio/ginputstream.h +218 -0
  202. package/include/glib-2.0/gio/gio-autocleanups.h +155 -0
  203. package/include/glib-2.0/gio/gio-visibility.h +952 -0
  204. package/include/glib-2.0/gio/gio.h +186 -0
  205. package/include/glib-2.0/gio/gioenums.h +2149 -0
  206. package/include/glib-2.0/gio/gioenumtypes.h +207 -0
  207. package/include/glib-2.0/gio/gioerror.h +58 -0
  208. package/include/glib-2.0/gio/giomodule.h +199 -0
  209. package/include/glib-2.0/gio/gioscheduler.h +56 -0
  210. package/include/glib-2.0/gio/giostream.h +137 -0
  211. package/include/glib-2.0/gio/giotypes.h +660 -0
  212. package/include/glib-2.0/gio/glistmodel.h +74 -0
  213. package/include/glib-2.0/gio/gliststore.h +97 -0
  214. package/include/glib-2.0/gio/gloadableicon.h +101 -0
  215. package/include/glib-2.0/gio/gmemoryinputstream.h +92 -0
  216. package/include/glib-2.0/gio/gmemorymonitor.h +64 -0
  217. package/include/glib-2.0/gio/gmemoryoutputstream.h +109 -0
  218. package/include/glib-2.0/gio/gmenu.h +184 -0
  219. package/include/glib-2.0/gio/gmenuexporter.h +55 -0
  220. package/include/glib-2.0/gio/gmenumodel.h +307 -0
  221. package/include/glib-2.0/gio/gmount.h +278 -0
  222. package/include/glib-2.0/gio/gmountoperation.h +179 -0
  223. package/include/glib-2.0/gio/gnativesocketaddress.h +67 -0
  224. package/include/glib-2.0/gio/gnativevolumemonitor.h +63 -0
  225. package/include/glib-2.0/gio/gnetworkaddress.h +82 -0
  226. package/include/glib-2.0/gio/gnetworking.h +81 -0
  227. package/include/glib-2.0/gio/gnetworkmonitor.h +101 -0
  228. package/include/glib-2.0/gio/gnetworkservice.h +77 -0
  229. package/include/glib-2.0/gio/gnotification.h +103 -0
  230. package/include/glib-2.0/gio/goutputstream.h +334 -0
  231. package/include/glib-2.0/gio/gpermission.h +129 -0
  232. package/include/glib-2.0/gio/gpollableinputstream.h +106 -0
  233. package/include/glib-2.0/gio/gpollableoutputstream.h +127 -0
  234. package/include/glib-2.0/gio/gpollableutils.h +66 -0
  235. package/include/glib-2.0/gio/gpowerprofilemonitor.h +65 -0
  236. package/include/glib-2.0/gio/gpropertyaction.h +49 -0
  237. package/include/glib-2.0/gio/gproxy.h +130 -0
  238. package/include/glib-2.0/gio/gproxyaddress.h +88 -0
  239. package/include/glib-2.0/gio/gproxyaddressenumerator.h +83 -0
  240. package/include/glib-2.0/gio/gproxyresolver.h +97 -0
  241. package/include/glib-2.0/gio/gremoteactiongroup.h +77 -0
  242. package/include/glib-2.0/gio/gresolver.h +299 -0
  243. package/include/glib-2.0/gio/gresource.h +132 -0
  244. package/include/glib-2.0/gio/gseekable.h +105 -0
  245. package/include/glib-2.0/gio/gsettings.h +347 -0
  246. package/include/glib-2.0/gio/gsettingsbackend.h +176 -0
  247. package/include/glib-2.0/gio/gsettingsschema.h +115 -0
  248. package/include/glib-2.0/gio/gsimpleaction.h +65 -0
  249. package/include/glib-2.0/gio/gsimpleactiongroup.h +99 -0
  250. package/include/glib-2.0/gio/gsimpleasyncresult.h +164 -0
  251. package/include/glib-2.0/gio/gsimpleiostream.h +47 -0
  252. package/include/glib-2.0/gio/gsimplepermission.h +47 -0
  253. package/include/glib-2.0/gio/gsimpleproxyresolver.h +91 -0
  254. package/include/glib-2.0/gio/gsocket.h +330 -0
  255. package/include/glib-2.0/gio/gsocketaddress.h +84 -0
  256. package/include/glib-2.0/gio/gsocketaddressenumerator.h +103 -0
  257. package/include/glib-2.0/gio/gsocketclient.h +199 -0
  258. package/include/glib-2.0/gio/gsocketconnectable.h +83 -0
  259. package/include/glib-2.0/gio/gsocketconnection.h +117 -0
  260. package/include/glib-2.0/gio/gsocketcontrolmessage.h +113 -0
  261. package/include/glib-2.0/gio/gsocketlistener.h +157 -0
  262. package/include/glib-2.0/gio/gsocketservice.h +95 -0
  263. package/include/glib-2.0/gio/gsrvtarget.h +60 -0
  264. package/include/glib-2.0/gio/gsubprocess.h +169 -0
  265. package/include/glib-2.0/gio/gsubprocesslauncher.h +121 -0
  266. package/include/glib-2.0/gio/gtask.h +207 -0
  267. package/include/glib-2.0/gio/gtcpconnection.h +71 -0
  268. package/include/glib-2.0/gio/gtcpwrapperconnection.h +71 -0
  269. package/include/glib-2.0/gio/gtestdbus.h +74 -0
  270. package/include/glib-2.0/gio/gthemedicon.h +70 -0
  271. package/include/glib-2.0/gio/gthreadedsocketservice.h +83 -0
  272. package/include/glib-2.0/gio/gtlsbackend.h +115 -0
  273. package/include/glib-2.0/gio/gtlscertificate.h +125 -0
  274. package/include/glib-2.0/gio/gtlsclientconnection.h +88 -0
  275. package/include/glib-2.0/gio/gtlsconnection.h +214 -0
  276. package/include/glib-2.0/gio/gtlsdatabase.h +249 -0
  277. package/include/glib-2.0/gio/gtlsfiledatabase.h +60 -0
  278. package/include/glib-2.0/gio/gtlsinteraction.h +150 -0
  279. package/include/glib-2.0/gio/gtlspassword.h +121 -0
  280. package/include/glib-2.0/gio/gtlsserverconnection.h +71 -0
  281. package/include/glib-2.0/gio/gunixconnection.h +102 -0
  282. package/include/glib-2.0/gio/gunixcredentialsmessage.h +89 -0
  283. package/include/glib-2.0/gio/gunixfdlist.h +97 -0
  284. package/include/glib-2.0/gio/gunixsocketaddress.h +83 -0
  285. package/include/glib-2.0/gio/gvfs.h +170 -0
  286. package/include/glib-2.0/gio/gvolume.h +255 -0
  287. package/include/glib-2.0/gio/gvolumemonitor.h +156 -0
  288. package/include/glib-2.0/gio/gzlibcompressor.h +64 -0
  289. package/include/glib-2.0/gio/gzlibdecompressor.h +60 -0
  290. package/include/glib-2.0/glib/deprecated/gallocator.h +88 -0
  291. package/include/glib-2.0/glib/deprecated/gcache.h +77 -0
  292. package/include/glib-2.0/glib/deprecated/gcompletion.h +85 -0
  293. package/include/glib-2.0/glib/deprecated/gmain.h +137 -0
  294. package/include/glib-2.0/glib/deprecated/grel.h +107 -0
  295. package/include/glib-2.0/glib/deprecated/gthread.h +295 -0
  296. package/include/glib-2.0/glib/galloca.h +147 -0
  297. package/include/glib-2.0/glib/garray.h +323 -0
  298. package/include/glib-2.0/glib/gasyncqueue.h +126 -0
  299. package/include/glib-2.0/glib/gatomic.h +587 -0
  300. package/include/glib-2.0/glib/gbacktrace.h +74 -0
  301. package/include/glib-2.0/glib/gbase64.h +63 -0
  302. package/include/glib-2.0/glib/gbitlock.h +78 -0
  303. package/include/glib-2.0/glib/gbookmarkfile.h +300 -0
  304. package/include/glib-2.0/glib/gbytes.h +99 -0
  305. package/include/glib-2.0/glib/gcharset.h +49 -0
  306. package/include/glib-2.0/glib/gchecksum.h +106 -0
  307. package/include/glib-2.0/glib/gconvert.h +179 -0
  308. package/include/glib-2.0/glib/gdataset.h +156 -0
  309. package/include/glib-2.0/glib/gdate.h +309 -0
  310. package/include/glib-2.0/glib/gdatetime.h +275 -0
  311. package/include/glib-2.0/glib/gdir.h +54 -0
  312. package/include/glib-2.0/glib/genviron.h +65 -0
  313. package/include/glib-2.0/glib/gerror.h +263 -0
  314. package/include/glib-2.0/glib/gfileutils.h +223 -0
  315. package/include/glib-2.0/glib/ggettext.h +65 -0
  316. package/include/glib-2.0/glib/ghash.h +206 -0
  317. package/include/glib-2.0/glib/ghmac.h +85 -0
  318. package/include/glib-2.0/glib/ghook.h +204 -0
  319. package/include/glib-2.0/glib/ghostutils.h +45 -0
  320. package/include/glib-2.0/glib/gi18n-lib.h +38 -0
  321. package/include/glib-2.0/glib/gi18n.h +34 -0
  322. package/include/glib-2.0/glib/giochannel.h +407 -0
  323. package/include/glib-2.0/glib/gkeyfile.h +332 -0
  324. package/include/glib-2.0/glib/glib-autocleanups.h +105 -0
  325. package/include/glib-2.0/glib/glib-typeof.h +47 -0
  326. package/include/glib-2.0/glib/glib-visibility.h +952 -0
  327. package/include/glib-2.0/glib/glist.h +179 -0
  328. package/include/glib-2.0/glib/gmacros.h +1425 -0
  329. package/include/glib-2.0/glib/gmain.h +862 -0
  330. package/include/glib-2.0/glib/gmappedfile.h +60 -0
  331. package/include/glib-2.0/glib/gmarkup.h +265 -0
  332. package/include/glib-2.0/glib/gmem.h +425 -0
  333. package/include/glib-2.0/glib/gmessages.h +690 -0
  334. package/include/glib-2.0/glib/gnode.h +309 -0
  335. package/include/glib-2.0/glib/goption.h +409 -0
  336. package/include/glib-2.0/glib/gpathbuf.h +90 -0
  337. package/include/glib-2.0/glib/gpattern.h +65 -0
  338. package/include/glib-2.0/glib/gpoll.h +122 -0
  339. package/include/glib-2.0/glib/gprimes.h +52 -0
  340. package/include/glib-2.0/glib/gprintf.h +59 -0
  341. package/include/glib-2.0/glib/gqsort.h +47 -0
  342. package/include/glib-2.0/glib/gquark.h +70 -0
  343. package/include/glib-2.0/glib/gqueue.h +205 -0
  344. package/include/glib-2.0/glib/grand.h +101 -0
  345. package/include/glib-2.0/glib/grcbox.h +91 -0
  346. package/include/glib-2.0/glib/grefcount.h +179 -0
  347. package/include/glib-2.0/glib/grefstring.h +59 -0
  348. package/include/glib-2.0/glib/gscanner.h +301 -0
  349. package/include/glib-2.0/glib/gsequence.h +175 -0
  350. package/include/glib-2.0/glib/gshell.h +59 -0
  351. package/include/glib-2.0/glib/gslice.h +117 -0
  352. package/include/glib-2.0/glib/gslist.h +166 -0
  353. package/include/glib-2.0/glib/gspawn.h +323 -0
  354. package/include/glib-2.0/glib/gstdio.h +231 -0
  355. package/include/glib-2.0/glib/gstrfuncs.h +504 -0
  356. package/include/glib-2.0/glib/gstring.h +296 -0
  357. package/include/glib-2.0/glib/gstringchunk.h +59 -0
  358. package/include/glib-2.0/glib/gstrvbuilder.h +69 -0
  359. package/include/glib-2.0/glib/gtestutils.h +763 -0
  360. package/include/glib-2.0/glib/gthread.h +603 -0
  361. package/include/glib-2.0/glib/gthreadpool.h +105 -0
  362. package/include/glib-2.0/glib/gtimer.h +80 -0
  363. package/include/glib-2.0/glib/gtimezone.h +98 -0
  364. package/include/glib-2.0/glib/gtrashstack.h +60 -0
  365. package/include/glib-2.0/glib/gtree.h +181 -0
  366. package/include/glib-2.0/glib/gtypes.h +591 -0
  367. package/include/glib-2.0/glib/gunicode.h +974 -0
  368. package/include/glib-2.0/glib/guri.h +420 -0
  369. package/include/glib-2.0/glib/gutils.h +479 -0
  370. package/include/glib-2.0/glib/guuid.h +42 -0
  371. package/include/glib-2.0/glib/gvariant.h +541 -0
  372. package/include/glib-2.0/glib/gvarianttype.h +384 -0
  373. package/include/glib-2.0/glib/gversion.h +57 -0
  374. package/include/glib-2.0/glib/gversionmacros.h +490 -0
  375. package/include/glib-2.0/glib/gwin32.h +142 -0
  376. package/include/glib-2.0/glib-object.h +46 -0
  377. package/include/glib-2.0/glib-unix.h +125 -0
  378. package/include/glib-2.0/glib.h +121 -0
  379. package/include/glib-2.0/gmodule/gmodule-visibility.h +952 -0
  380. package/include/glib-2.0/gmodule.h +147 -0
  381. package/include/glib-2.0/gobject/gbinding.h +156 -0
  382. package/include/glib-2.0/gobject/gbindinggroup.h +85 -0
  383. package/include/glib-2.0/gobject/gboxed.h +124 -0
  384. package/include/glib-2.0/gobject/gclosure.h +323 -0
  385. package/include/glib-2.0/gobject/genums.h +381 -0
  386. package/include/glib-2.0/gobject/glib-enumtypes.h +25 -0
  387. package/include/glib-2.0/gobject/glib-types.h +400 -0
  388. package/include/glib-2.0/gobject/gmarshal.h +434 -0
  389. package/include/glib-2.0/gobject/gobject-autocleanups.h +33 -0
  390. package/include/glib-2.0/gobject/gobject-visibility.h +952 -0
  391. package/include/glib-2.0/gobject/gobject.h +953 -0
  392. package/include/glib-2.0/gobject/gobjectnotifyqueue.c +199 -0
  393. package/include/glib-2.0/gobject/gparam.h +476 -0
  394. package/include/glib-2.0/gobject/gparamspecs.h +1151 -0
  395. package/include/glib-2.0/gobject/gsignal.h +647 -0
  396. package/include/glib-2.0/gobject/gsignalgroup.h +98 -0
  397. package/include/glib-2.0/gobject/gsourceclosure.h +40 -0
  398. package/include/glib-2.0/gobject/gtype.h +2703 -0
  399. package/include/glib-2.0/gobject/gtypemodule.h +302 -0
  400. package/include/glib-2.0/gobject/gtypeplugin.h +136 -0
  401. package/include/glib-2.0/gobject/gvalue.h +212 -0
  402. package/include/glib-2.0/gobject/gvaluearray.h +106 -0
  403. package/include/glib-2.0/gobject/gvaluecollector.h +290 -0
  404. package/include/glib-2.0/gobject/gvaluetypes.h +318 -0
  405. package/include/harfbuzz/hb-aat-layout.h +795 -0
  406. package/include/harfbuzz/hb-aat.h +38 -0
  407. package/include/harfbuzz/hb-blob.h +160 -0
  408. package/include/harfbuzz/hb-buffer.h +799 -0
  409. package/include/harfbuzz/hb-common.h +938 -0
  410. package/include/harfbuzz/hb-cplusplus.hh +223 -0
  411. package/include/harfbuzz/hb-deprecated.h +309 -0
  412. package/include/harfbuzz/hb-draw.h +340 -0
  413. package/include/harfbuzz/hb-face.h +187 -0
  414. package/include/harfbuzz/hb-features.h +119 -0
  415. package/include/harfbuzz/hb-font.h +1153 -0
  416. package/include/harfbuzz/hb-ft.h +145 -0
  417. package/include/harfbuzz/hb-glib.h +56 -0
  418. package/include/harfbuzz/hb-map.h +143 -0
  419. package/include/harfbuzz/hb-ot-color.h +155 -0
  420. package/include/harfbuzz/hb-ot-deprecated.h +147 -0
  421. package/include/harfbuzz/hb-ot-font.h +45 -0
  422. package/include/harfbuzz/hb-ot-layout.h +549 -0
  423. package/include/harfbuzz/hb-ot-math.h +333 -0
  424. package/include/harfbuzz/hb-ot-meta.h +72 -0
  425. package/include/harfbuzz/hb-ot-metrics.h +129 -0
  426. package/include/harfbuzz/hb-ot-name.h +164 -0
  427. package/include/harfbuzz/hb-ot-shape.h +53 -0
  428. package/include/harfbuzz/hb-ot-var.h +191 -0
  429. package/include/harfbuzz/hb-ot.h +49 -0
  430. package/include/harfbuzz/hb-paint.h +1029 -0
  431. package/include/harfbuzz/hb-set.h +203 -0
  432. package/include/harfbuzz/hb-shape-plan.h +122 -0
  433. package/include/harfbuzz/hb-shape.h +74 -0
  434. package/include/harfbuzz/hb-style.h +81 -0
  435. package/include/harfbuzz/hb-subset-repacker.h +81 -0
  436. package/include/harfbuzz/hb-subset.h +241 -0
  437. package/include/harfbuzz/hb-unicode.h +643 -0
  438. package/include/harfbuzz/hb-version.h +95 -0
  439. package/include/harfbuzz/hb.h +51 -0
  440. package/include/index.js +1 -0
  441. package/include/jconfig.h +37 -0
  442. package/include/jerror.h +335 -0
  443. package/include/jmorecfg.h +382 -0
  444. package/include/jpeglib.h +1210 -0
  445. package/include/lcms2.h +1958 -0
  446. package/include/lcms2_plugin.h +700 -0
  447. package/include/libexif/_stdint.h +2 -0
  448. package/include/libexif/exif-byte-order.h +48 -0
  449. package/include/libexif/exif-content.h +181 -0
  450. package/include/libexif/exif-data-type.h +46 -0
  451. package/include/libexif/exif-data.h +267 -0
  452. package/include/libexif/exif-entry.h +186 -0
  453. package/include/libexif/exif-format.h +65 -0
  454. package/include/libexif/exif-ifd.h +51 -0
  455. package/include/libexif/exif-loader.h +128 -0
  456. package/include/libexif/exif-log.h +116 -0
  457. package/include/libexif/exif-mem.h +91 -0
  458. package/include/libexif/exif-mnote-data.h +122 -0
  459. package/include/libexif/exif-tag.h +307 -0
  460. package/include/libexif/exif-utils.h +194 -0
  461. package/include/libheif/heif.h +2092 -0
  462. package/include/libheif/heif_cxx.h +1359 -0
  463. package/include/libheif/heif_plugin.h +306 -0
  464. package/include/libheif/heif_version.h +38 -0
  465. package/include/libimagequant.h +111 -0
  466. package/include/libpng16/png.h +3247 -0
  467. package/include/libpng16/pngconf.h +623 -0
  468. package/include/libpng16/pnglibconf.h +219 -0
  469. package/include/librsvg-2.0/librsvg/rsvg-cairo.h +395 -0
  470. package/include/librsvg-2.0/librsvg/rsvg-features.h +184 -0
  471. package/include/librsvg-2.0/librsvg/rsvg-version.h +13 -0
  472. package/include/librsvg-2.0/librsvg/rsvg.h +1456 -0
  473. package/include/libxml2/libxml/HTMLparser.h +320 -0
  474. package/include/libxml2/libxml/HTMLtree.h +147 -0
  475. package/include/libxml2/libxml/SAX.h +204 -0
  476. package/include/libxml2/libxml/SAX2.h +173 -0
  477. package/include/libxml2/libxml/c14n.h +128 -0
  478. package/include/libxml2/libxml/catalog.h +182 -0
  479. package/include/libxml2/libxml/chvalid.h +230 -0
  480. package/include/libxml2/libxml/debugXML.h +217 -0
  481. package/include/libxml2/libxml/dict.h +81 -0
  482. package/include/libxml2/libxml/encoding.h +233 -0
  483. package/include/libxml2/libxml/entities.h +151 -0
  484. package/include/libxml2/libxml/globals.h +529 -0
  485. package/include/libxml2/libxml/hash.h +236 -0
  486. package/include/libxml2/libxml/list.h +137 -0
  487. package/include/libxml2/libxml/nanoftp.h +186 -0
  488. package/include/libxml2/libxml/nanohttp.h +81 -0
  489. package/include/libxml2/libxml/parser.h +1265 -0
  490. package/include/libxml2/libxml/parserInternals.h +662 -0
  491. package/include/libxml2/libxml/pattern.h +100 -0
  492. package/include/libxml2/libxml/relaxng.h +218 -0
  493. package/include/libxml2/libxml/schemasInternals.h +958 -0
  494. package/include/libxml2/libxml/schematron.h +142 -0
  495. package/include/libxml2/libxml/threads.h +94 -0
  496. package/include/libxml2/libxml/tree.h +1314 -0
  497. package/include/libxml2/libxml/uri.h +94 -0
  498. package/include/libxml2/libxml/valid.h +448 -0
  499. package/include/libxml2/libxml/xinclude.h +129 -0
  500. package/include/libxml2/libxml/xlink.h +189 -0
  501. package/include/libxml2/libxml/xmlIO.h +369 -0
  502. package/include/libxml2/libxml/xmlautomata.h +146 -0
  503. package/include/libxml2/libxml/xmlerror.h +919 -0
  504. package/include/libxml2/libxml/xmlexports.h +50 -0
  505. package/include/libxml2/libxml/xmlmemory.h +228 -0
  506. package/include/libxml2/libxml/xmlmodule.h +57 -0
  507. package/include/libxml2/libxml/xmlreader.h +428 -0
  508. package/include/libxml2/libxml/xmlregexp.h +222 -0
  509. package/include/libxml2/libxml/xmlsave.h +88 -0
  510. package/include/libxml2/libxml/xmlschemas.h +246 -0
  511. package/include/libxml2/libxml/xmlschemastypes.h +152 -0
  512. package/include/libxml2/libxml/xmlstring.h +140 -0
  513. package/include/libxml2/libxml/xmlunicode.h +202 -0
  514. package/include/libxml2/libxml/xmlversion.h +526 -0
  515. package/include/libxml2/libxml/xmlwriter.h +488 -0
  516. package/include/libxml2/libxml/xpath.h +575 -0
  517. package/include/libxml2/libxml/xpathInternals.h +632 -0
  518. package/include/libxml2/libxml/xpointer.h +137 -0
  519. package/include/orc-0.4/orc/orc-stdint.h +1 -0
  520. package/include/orc-0.4/orc/orc.h +16 -0
  521. package/include/orc-0.4/orc/orcarm.h +879 -0
  522. package/include/orc-0.4/orc/orcbytecode.h +35 -0
  523. package/include/orc-0.4/orc/orcbytecodes.h +255 -0
  524. package/include/orc-0.4/orc/orccode.h +53 -0
  525. package/include/orc-0.4/orc/orccompiler.h +176 -0
  526. package/include/orc-0.4/orc/orcconstant.h +39 -0
  527. package/include/orc-0.4/orc/orccpu.h +21 -0
  528. package/include/orc-0.4/orc/orccpuinsn.h +40 -0
  529. package/include/orc-0.4/orc/orcdebug.h +158 -0
  530. package/include/orc-0.4/orc/orcemulateopcodes.h +203 -0
  531. package/include/orc-0.4/orc/orcexecutor.h +135 -0
  532. package/include/orc-0.4/orc/orcfunctions.h +93 -0
  533. package/include/orc-0.4/orc/orcinstruction.h +39 -0
  534. package/include/orc-0.4/orc/orcinternal.h +46 -0
  535. package/include/orc-0.4/orc/orclimits.h +94 -0
  536. package/include/orc-0.4/orc/orcmips.h +229 -0
  537. package/include/orc-0.4/orc/orcmmx.h +79 -0
  538. package/include/orc-0.4/orc/orcneon.h +43 -0
  539. package/include/orc-0.4/orc/orconce.h +166 -0
  540. package/include/orc-0.4/orc/orcopcode.h +63 -0
  541. package/include/orc-0.4/orc/orcparse.h +27 -0
  542. package/include/orc-0.4/orc/orcpowerpc.h +209 -0
  543. package/include/orc-0.4/orc/orcprogram.h +192 -0
  544. package/include/orc-0.4/orc/orcrule.h +52 -0
  545. package/include/orc-0.4/orc/orcsse.h +55 -0
  546. package/include/orc-0.4/orc/orctarget.h +115 -0
  547. package/include/orc-0.4/orc/orcutils.h +238 -0
  548. package/include/orc-0.4/orc/orcvariable.h +81 -0
  549. package/include/orc-0.4/orc/orcx86.h +199 -0
  550. package/include/orc-0.4/orc/orcx86insn.h +672 -0
  551. package/include/pango-1.0/pango/pango-attributes.h +748 -0
  552. package/include/pango-1.0/pango/pango-bidi-type.h +117 -0
  553. package/include/pango-1.0/pango/pango-break.h +144 -0
  554. package/include/pango-1.0/pango/pango-color.h +75 -0
  555. package/include/pango-1.0/pango/pango-context.h +116 -0
  556. package/include/pango-1.0/pango/pango-coverage.h +108 -0
  557. package/include/pango-1.0/pango/pango-direction.h +72 -0
  558. package/include/pango-1.0/pango/pango-engine.h +457 -0
  559. package/include/pango-1.0/pango/pango-enum-types.h +120 -0
  560. package/include/pango-1.0/pango/pango-features.h +10 -0
  561. package/include/pango-1.0/pango/pango-font.h +699 -0
  562. package/include/pango-1.0/pango/pango-fontmap.h +132 -0
  563. package/include/pango-1.0/pango/pango-fontset-simple.h +64 -0
  564. package/include/pango-1.0/pango/pango-fontset.h +134 -0
  565. package/include/pango-1.0/pango/pango-glyph-item.h +175 -0
  566. package/include/pango-1.0/pango/pango-glyph.h +270 -0
  567. package/include/pango-1.0/pango/pango-gravity.h +137 -0
  568. package/include/pango-1.0/pango/pango-item.h +165 -0
  569. package/include/pango-1.0/pango/pango-language.h +70 -0
  570. package/include/pango-1.0/pango/pango-layout.h +554 -0
  571. package/include/pango-1.0/pango/pango-markup.h +52 -0
  572. package/include/pango-1.0/pango/pango-matrix.h +130 -0
  573. package/include/pango-1.0/pango/pango-modules.h +84 -0
  574. package/include/pango-1.0/pango/pango-ot.h +427 -0
  575. package/include/pango-1.0/pango/pango-renderer.h +290 -0
  576. package/include/pango-1.0/pango/pango-script.h +335 -0
  577. package/include/pango-1.0/pango/pango-tabs.h +117 -0
  578. package/include/pango-1.0/pango/pango-types.h +244 -0
  579. package/include/pango-1.0/pango/pango-utils.h +187 -0
  580. package/include/pango-1.0/pango/pango-version-macros.h +756 -0
  581. package/include/pango-1.0/pango/pango.h +54 -0
  582. package/include/pango-1.0/pango/pangocairo.h +220 -0
  583. package/include/pango-1.0/pango/pangofc-decoder.h +122 -0
  584. package/include/pango-1.0/pango/pangofc-font.h +120 -0
  585. package/include/pango-1.0/pango/pangofc-fontmap.h +244 -0
  586. package/include/pango-1.0/pango/pangoft2.h +158 -0
  587. package/include/pixman-1/pixman-version.h +54 -0
  588. package/include/pixman-1/pixman.h +1419 -0
  589. package/include/png.h +3247 -0
  590. package/include/pngconf.h +623 -0
  591. package/include/pnglibconf.h +219 -0
  592. package/include/spng.h +537 -0
  593. package/include/tiff.h +899 -0
  594. package/include/tiffconf.h +145 -0
  595. package/include/tiffio.h +653 -0
  596. package/include/tiffvers.h +36 -0
  597. package/include/vips/VConnection8.h +150 -0
  598. package/include/vips/VError8.h +76 -0
  599. package/include/vips/VImage8.h +6065 -0
  600. package/include/vips/VInterpolate8.h +77 -0
  601. package/include/vips/VRegion8.h +155 -0
  602. package/include/vips/arithmetic.h +571 -0
  603. package/include/vips/basic.h +113 -0
  604. package/include/vips/buf.h +118 -0
  605. package/include/vips/colour.h +306 -0
  606. package/include/vips/connection.h +570 -0
  607. package/include/vips/conversion.h +357 -0
  608. package/include/vips/convolution.h +95 -0
  609. package/include/vips/create.h +161 -0
  610. package/include/vips/dbuf.h +103 -0
  611. package/include/vips/debug.h +74 -0
  612. package/include/vips/draw.h +113 -0
  613. package/include/vips/enumtypes.h +181 -0
  614. package/include/vips/error.h +142 -0
  615. package/include/vips/foreign.h +993 -0
  616. package/include/vips/format.h +135 -0
  617. package/include/vips/freqfilt.h +64 -0
  618. package/include/vips/gate.h +82 -0
  619. package/include/vips/generate.h +92 -0
  620. package/include/vips/header.h +312 -0
  621. package/include/vips/histogram.h +85 -0
  622. package/include/vips/image.h +605 -0
  623. package/include/vips/interpolate.h +141 -0
  624. package/include/vips/memory.h +96 -0
  625. package/include/vips/morphology.h +73 -0
  626. package/include/vips/mosaicing.h +80 -0
  627. package/include/vips/object.h +706 -0
  628. package/include/vips/operation.h +182 -0
  629. package/include/vips/private.h +227 -0
  630. package/include/vips/rect.h +80 -0
  631. package/include/vips/region.h +238 -0
  632. package/include/vips/resample.h +123 -0
  633. package/include/vips/sbuf.h +144 -0
  634. package/include/vips/semaphore.h +77 -0
  635. package/include/vips/thread.h +72 -0
  636. package/include/vips/threadpool.h +160 -0
  637. package/include/vips/transform.h +89 -0
  638. package/include/vips/type.h +305 -0
  639. package/include/vips/util.h +406 -0
  640. package/include/vips/vector.h +183 -0
  641. package/include/vips/version.h +26 -0
  642. package/include/vips/vips.h +194 -0
  643. package/include/vips/vips8 +60 -0
  644. package/include/webp/decode.h +504 -0
  645. package/include/webp/demux.h +363 -0
  646. package/include/webp/encode.h +552 -0
  647. package/include/webp/mux.h +530 -0
  648. package/include/webp/mux_types.h +98 -0
  649. package/include/webp/sharpyuv/sharpyuv.h +103 -0
  650. package/include/webp/sharpyuv/sharpyuv_csp.h +60 -0
  651. package/include/webp/types.h +72 -0
  652. package/include/zconf.h +203 -0
  653. package/include/zlib.h +1855 -0
  654. package/include/zlib_name_mangling.h +8 -0
  655. package/package.json +30 -0
  656. 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_