@scrypted/libav 1.0.170 → 1.0.172

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 (721) hide show
  1. package/package.json +1 -1
  2. package/src/build-ffmpeg-linux.sh +3 -3
  3. package/opus/.gitattributes +0 -10
  4. package/opus/.gitlab-ci.yml +0 -122
  5. package/opus/AUTHORS +0 -6
  6. package/opus/CMakeLists.txt +0 -755
  7. package/opus/COPYING +0 -44
  8. package/opus/ChangeLog +0 -0
  9. package/opus/LICENSE_PLEASE_READ.txt +0 -22
  10. package/opus/Makefile.am +0 -497
  11. package/opus/Makefile.mips +0 -169
  12. package/opus/Makefile.unix +0 -167
  13. package/opus/NEWS +0 -0
  14. package/opus/README +0 -189
  15. package/opus/README.draft +0 -54
  16. package/opus/autogen.bat +0 -13
  17. package/opus/autogen.sh +0 -16
  18. package/opus/celt/_kiss_fft_guts.h +0 -188
  19. package/opus/celt/arch.h +0 -390
  20. package/opus/celt/arm/arm2gnu.pl +0 -353
  21. package/opus/celt/arm/arm_celt_map.c +0 -171
  22. package/opus/celt/arm/armcpu.c +0 -291
  23. package/opus/celt/arm/armcpu.h +0 -90
  24. package/opus/celt/arm/armopts.s.in +0 -37
  25. package/opus/celt/arm/celt_fft_ne10.c +0 -173
  26. package/opus/celt/arm/celt_mdct_ne10.c +0 -258
  27. package/opus/celt/arm/celt_neon_intr.c +0 -272
  28. package/opus/celt/arm/celt_pitch_xcorr_arm.s +0 -551
  29. package/opus/celt/arm/fft_arm.h +0 -71
  30. package/opus/celt/arm/fixed_arm64.h +0 -35
  31. package/opus/celt/arm/fixed_armv4.h +0 -80
  32. package/opus/celt/arm/fixed_armv5e.h +0 -151
  33. package/opus/celt/arm/kiss_fft_armv4.h +0 -121
  34. package/opus/celt/arm/kiss_fft_armv5e.h +0 -118
  35. package/opus/celt/arm/mdct_arm.h +0 -59
  36. package/opus/celt/arm/meson.build +0 -12
  37. package/opus/celt/arm/pitch_arm.h +0 -160
  38. package/opus/celt/arm/pitch_neon_intr.c +0 -288
  39. package/opus/celt/bands.c +0 -1686
  40. package/opus/celt/bands.h +0 -123
  41. package/opus/celt/celt.c +0 -317
  42. package/opus/celt/celt.h +0 -255
  43. package/opus/celt/celt_decoder.c +0 -1616
  44. package/opus/celt/celt_encoder.c +0 -2854
  45. package/opus/celt/celt_lpc.c +0 -364
  46. package/opus/celt/celt_lpc.h +0 -66
  47. package/opus/celt/cpu_support.h +0 -72
  48. package/opus/celt/cwrs.c +0 -715
  49. package/opus/celt/cwrs.h +0 -48
  50. package/opus/celt/dump_modes/dump_modes.c +0 -400
  51. package/opus/celt/dump_modes/dump_modes_arch.h +0 -45
  52. package/opus/celt/dump_modes/dump_modes_arm_ne10.c +0 -152
  53. package/opus/celt/ecintrin.h +0 -91
  54. package/opus/celt/entcode.c +0 -153
  55. package/opus/celt/entcode.h +0 -152
  56. package/opus/celt/entdec.c +0 -266
  57. package/opus/celt/entdec.h +0 -110
  58. package/opus/celt/entenc.c +0 -305
  59. package/opus/celt/entenc.h +0 -119
  60. package/opus/celt/fixed_c5x.h +0 -79
  61. package/opus/celt/fixed_c6x.h +0 -70
  62. package/opus/celt/fixed_debug.h +0 -839
  63. package/opus/celt/fixed_generic.h +0 -201
  64. package/opus/celt/float_cast.h +0 -152
  65. package/opus/celt/kiss_fft.c +0 -648
  66. package/opus/celt/kiss_fft.h +0 -217
  67. package/opus/celt/laplace.c +0 -235
  68. package/opus/celt/laplace.h +0 -57
  69. package/opus/celt/mathops.c +0 -217
  70. package/opus/celt/mathops.h +0 -479
  71. package/opus/celt/mdct.c +0 -372
  72. package/opus/celt/mdct.h +0 -115
  73. package/opus/celt/meson.build +0 -64
  74. package/opus/celt/mfrngcod.h +0 -48
  75. package/opus/celt/mips/celt_mipsr1.h +0 -152
  76. package/opus/celt/mips/fixed_generic_mipsr1.h +0 -126
  77. package/opus/celt/mips/kiss_fft_mipsr1.h +0 -167
  78. package/opus/celt/mips/mdct_mipsr1.h +0 -288
  79. package/opus/celt/mips/pitch_mipsr1.h +0 -161
  80. package/opus/celt/mips/vq_mipsr1.h +0 -116
  81. package/opus/celt/modes.c +0 -450
  82. package/opus/celt/modes.h +0 -75
  83. package/opus/celt/opus_custom_demo.c +0 -451
  84. package/opus/celt/os_support.h +0 -99
  85. package/opus/celt/pitch.c +0 -555
  86. package/opus/celt/pitch.h +0 -203
  87. package/opus/celt/quant_bands.c +0 -562
  88. package/opus/celt/quant_bands.h +0 -66
  89. package/opus/celt/rate.c +0 -646
  90. package/opus/celt/rate.h +0 -101
  91. package/opus/celt/stack_alloc.h +0 -185
  92. package/opus/celt/static_modes_fixed.h +0 -1541
  93. package/opus/celt/static_modes_fixed_arm_ne10.h +0 -388
  94. package/opus/celt/static_modes_float.h +0 -888
  95. package/opus/celt/static_modes_float_arm_ne10.h +0 -404
  96. package/opus/celt/tests/meson.build +0 -19
  97. package/opus/celt/tests/test_unit_cwrs32.c +0 -162
  98. package/opus/celt/tests/test_unit_dft.c +0 -181
  99. package/opus/celt/tests/test_unit_entropy.c +0 -383
  100. package/opus/celt/tests/test_unit_laplace.c +0 -94
  101. package/opus/celt/tests/test_unit_mathops.c +0 -369
  102. package/opus/celt/tests/test_unit_mdct.c +0 -233
  103. package/opus/celt/tests/test_unit_rotation.c +0 -87
  104. package/opus/celt/tests/test_unit_types.c +0 -50
  105. package/opus/celt/vq.c +0 -442
  106. package/opus/celt/vq.h +0 -79
  107. package/opus/celt/x86/celt_lpc_sse.h +0 -67
  108. package/opus/celt/x86/celt_lpc_sse4_1.c +0 -96
  109. package/opus/celt/x86/pitch_avx.c +0 -101
  110. package/opus/celt/x86/pitch_sse.c +0 -185
  111. package/opus/celt/x86/pitch_sse.h +0 -216
  112. package/opus/celt/x86/pitch_sse2.c +0 -95
  113. package/opus/celt/x86/pitch_sse4_1.c +0 -240
  114. package/opus/celt/x86/vq_sse.h +0 -52
  115. package/opus/celt/x86/vq_sse2.c +0 -217
  116. package/opus/celt/x86/x86_arch_macros.h +0 -47
  117. package/opus/celt/x86/x86_celt_map.c +0 -187
  118. package/opus/celt/x86/x86cpu.c +0 -184
  119. package/opus/celt/x86/x86cpu.h +0 -112
  120. package/opus/celt_headers.mk +0 -54
  121. package/opus/celt_sources.mk +0 -55
  122. package/opus/cmake/CFeatureCheck.cmake +0 -39
  123. package/opus/cmake/OpusBuildtype.cmake +0 -27
  124. package/opus/cmake/OpusConfig.cmake +0 -118
  125. package/opus/cmake/OpusConfig.cmake.in +0 -20
  126. package/opus/cmake/OpusFunctions.cmake +0 -231
  127. package/opus/cmake/OpusPackageVersion.cmake +0 -70
  128. package/opus/cmake/OpusSources.cmake +0 -71
  129. package/opus/cmake/README.md +0 -132
  130. package/opus/cmake/RunTest.cmake +0 -61
  131. package/opus/cmake/config.h.cmake.in +0 -1
  132. package/opus/cmake/cpu_info_by_asm.c +0 -31
  133. package/opus/cmake/cpu_info_by_c.c +0 -9
  134. package/opus/cmake/vla.c +0 -7
  135. package/opus/configure.ac +0 -1091
  136. package/opus/dnn/LPCNet.yml +0 -24
  137. package/opus/dnn/README +0 -1
  138. package/opus/dnn/README.md +0 -126
  139. package/opus/dnn/adaconvtest.c +0 -449
  140. package/opus/dnn/arm/arm_dnn_map.c +0 -88
  141. package/opus/dnn/arm/dnn_arm.h +0 -104
  142. package/opus/dnn/arm/nnet_dotprod.c +0 -38
  143. package/opus/dnn/arm/nnet_neon.c +0 -38
  144. package/opus/dnn/burg.c +0 -246
  145. package/opus/dnn/burg.h +0 -41
  146. package/opus/dnn/common.h +0 -56
  147. package/opus/dnn/datasets.txt +0 -163
  148. package/opus/dnn/download_model.bat +0 -9
  149. package/opus/dnn/download_model.sh +0 -30
  150. package/opus/dnn/dred_coding.c +0 -44
  151. package/opus/dnn/dred_coding.h +0 -36
  152. package/opus/dnn/dred_config.h +0 -54
  153. package/opus/dnn/dred_decoder.c +0 -129
  154. package/opus/dnn/dred_decoder.h +0 -49
  155. package/opus/dnn/dred_encoder.c +0 -363
  156. package/opus/dnn/dred_encoder.h +0 -71
  157. package/opus/dnn/dred_rdovae.h +0 -42
  158. package/opus/dnn/dred_rdovae_dec.c +0 -139
  159. package/opus/dnn/dred_rdovae_dec.h +0 -53
  160. package/opus/dnn/dred_rdovae_enc.c +0 -110
  161. package/opus/dnn/dred_rdovae_enc.h +0 -52
  162. package/opus/dnn/dump_data.c +0 -238
  163. package/opus/dnn/dump_lpcnet_tables.c +0 -104
  164. package/opus/dnn/fargan.c +0 -225
  165. package/opus/dnn/fargan.h +0 -68
  166. package/opus/dnn/fargan_demo.c +0 -217
  167. package/opus/dnn/freq.c +0 -328
  168. package/opus/dnn/freq.h +0 -61
  169. package/opus/dnn/fwgan.c +0 -322
  170. package/opus/dnn/fwgan.h +0 -83
  171. package/opus/dnn/kiss99.c +0 -81
  172. package/opus/dnn/kiss99.h +0 -46
  173. package/opus/dnn/lossgen.c +0 -192
  174. package/opus/dnn/lossgen.h +0 -55
  175. package/opus/dnn/lossgen_demo.c +0 -22
  176. package/opus/dnn/lpcnet.c +0 -283
  177. package/opus/dnn/lpcnet.h +0 -183
  178. package/opus/dnn/lpcnet_enc.c +0 -230
  179. package/opus/dnn/lpcnet_plc.c +0 -211
  180. package/opus/dnn/lpcnet_private.h +0 -90
  181. package/opus/dnn/lpcnet_tables.c +0 -307
  182. package/opus/dnn/meson.build +0 -64
  183. package/opus/dnn/nndsp.c +0 -416
  184. package/opus/dnn/nndsp.h +0 -143
  185. package/opus/dnn/nnet.c +0 -149
  186. package/opus/dnn/nnet.h +0 -163
  187. package/opus/dnn/nnet_arch.h +0 -247
  188. package/opus/dnn/nnet_default.c +0 -35
  189. package/opus/dnn/osce.c +0 -1419
  190. package/opus/dnn/osce.h +0 -84
  191. package/opus/dnn/osce_config.h +0 -60
  192. package/opus/dnn/osce_features.c +0 -454
  193. package/opus/dnn/osce_features.h +0 -50
  194. package/opus/dnn/osce_structs.h +0 -125
  195. package/opus/dnn/parse_lpcnet_weights.c +0 -238
  196. package/opus/dnn/pitchdnn.c +0 -79
  197. package/opus/dnn/pitchdnn.h +0 -34
  198. package/opus/dnn/tansig_table.h +0 -50
  199. package/opus/dnn/test_vec.c +0 -128
  200. package/opus/dnn/torch/dnntools/dnntools/__init__.py +0 -2
  201. package/opus/dnn/torch/dnntools/dnntools/quantization/__init__.py +0 -1
  202. package/opus/dnn/torch/dnntools/dnntools/quantization/softquant.py +0 -113
  203. package/opus/dnn/torch/dnntools/dnntools/relegance/__init__.py +0 -2
  204. package/opus/dnn/torch/dnntools/dnntools/relegance/meta_critic.py +0 -85
  205. package/opus/dnn/torch/dnntools/dnntools/relegance/relegance.py +0 -449
  206. package/opus/dnn/torch/dnntools/dnntools/sparsification/__init__.py +0 -6
  207. package/opus/dnn/torch/dnntools/dnntools/sparsification/base_sparsifier.py +0 -58
  208. package/opus/dnn/torch/dnntools/dnntools/sparsification/common.py +0 -123
  209. package/opus/dnn/torch/dnntools/dnntools/sparsification/conv1d_sparsifier.py +0 -133
  210. package/opus/dnn/torch/dnntools/dnntools/sparsification/conv_transpose1d_sparsifier.py +0 -134
  211. package/opus/dnn/torch/dnntools/dnntools/sparsification/gru_sparsifier.py +0 -178
  212. package/opus/dnn/torch/dnntools/dnntools/sparsification/linear_sparsifier.py +0 -128
  213. package/opus/dnn/torch/dnntools/dnntools/sparsification/utils.py +0 -64
  214. package/opus/dnn/torch/dnntools/requirements.txt +0 -1
  215. package/opus/dnn/torch/dnntools/setup.py +0 -48
  216. package/opus/dnn/torch/fargan/README.md +0 -54
  217. package/opus/dnn/torch/fargan/adv_train_fargan.py +0 -277
  218. package/opus/dnn/torch/fargan/dataset.py +0 -61
  219. package/opus/dnn/torch/fargan/dump_fargan_weights.py +0 -112
  220. package/opus/dnn/torch/fargan/fargan.py +0 -322
  221. package/opus/dnn/torch/fargan/filters.py +0 -46
  222. package/opus/dnn/torch/fargan/rc.py +0 -29
  223. package/opus/dnn/torch/fargan/stft_loss.py +0 -186
  224. package/opus/dnn/torch/fargan/test_fargan.py +0 -128
  225. package/opus/dnn/torch/fargan/train_fargan.py +0 -168
  226. package/opus/dnn/torch/fwgan/dump_model_weights.py +0 -88
  227. package/opus/dnn/torch/fwgan/inference.py +0 -141
  228. package/opus/dnn/torch/fwgan/models/__init__.py +0 -7
  229. package/opus/dnn/torch/fwgan/models/fwgan400.py +0 -308
  230. package/opus/dnn/torch/fwgan/models/fwgan500.py +0 -260
  231. package/opus/dnn/torch/lossgen/README.md +0 -27
  232. package/opus/dnn/torch/lossgen/export_lossgen.py +0 -101
  233. package/opus/dnn/torch/lossgen/lossgen.py +0 -29
  234. package/opus/dnn/torch/lossgen/process_data.sh +0 -17
  235. package/opus/dnn/torch/lossgen/test_lossgen.py +0 -42
  236. package/opus/dnn/torch/lossgen/train_lossgen.py +0 -99
  237. package/opus/dnn/torch/lpcnet/README.md +0 -27
  238. package/opus/dnn/torch/lpcnet/add_dataset_config.py +0 -77
  239. package/opus/dnn/torch/lpcnet/data/__init__.py +0 -1
  240. package/opus/dnn/torch/lpcnet/data/lpcnet_dataset.py +0 -227
  241. package/opus/dnn/torch/lpcnet/engine/lpcnet_engine.py +0 -141
  242. package/opus/dnn/torch/lpcnet/make_default_setup.py +0 -56
  243. package/opus/dnn/torch/lpcnet/make_test_config.py +0 -78
  244. package/opus/dnn/torch/lpcnet/models/__init__.py +0 -8
  245. package/opus/dnn/torch/lpcnet/models/lpcnet.py +0 -303
  246. package/opus/dnn/torch/lpcnet/models/multi_rate_lpcnet.py +0 -437
  247. package/opus/dnn/torch/lpcnet/print_lpcnet_complexity.py +0 -64
  248. package/opus/dnn/torch/lpcnet/scripts/collect_multi_run_results.py +0 -190
  249. package/opus/dnn/torch/lpcnet/scripts/loop_run.sh +0 -52
  250. package/opus/dnn/torch/lpcnet/scripts/make_animation.py +0 -67
  251. package/opus/dnn/torch/lpcnet/scripts/modify_dataset_target.py +0 -17
  252. package/opus/dnn/torch/lpcnet/scripts/multi_run.sh +0 -17
  253. package/opus/dnn/torch/lpcnet/scripts/run_inference_test.sh +0 -22
  254. package/opus/dnn/torch/lpcnet/scripts/update_checkpoints.py +0 -54
  255. package/opus/dnn/torch/lpcnet/scripts/update_output_folder.sh +0 -22
  256. package/opus/dnn/torch/lpcnet/scripts/update_setups.py +0 -57
  257. package/opus/dnn/torch/lpcnet/test_lpcnet.py +0 -89
  258. package/opus/dnn/torch/lpcnet/train_lpcnet.py +0 -272
  259. package/opus/dnn/torch/lpcnet/utils/__init__.py +0 -4
  260. package/opus/dnn/torch/lpcnet/utils/data.py +0 -141
  261. package/opus/dnn/torch/lpcnet/utils/endoscopy.py +0 -234
  262. package/opus/dnn/torch/lpcnet/utils/layers/__init__.py +0 -3
  263. package/opus/dnn/torch/lpcnet/utils/layers/dual_fc.py +0 -44
  264. package/opus/dnn/torch/lpcnet/utils/layers/pcm_embeddings.py +0 -71
  265. package/opus/dnn/torch/lpcnet/utils/layers/subconditioner.py +0 -497
  266. package/opus/dnn/torch/lpcnet/utils/misc.py +0 -65
  267. package/opus/dnn/torch/lpcnet/utils/pcm.py +0 -35
  268. package/opus/dnn/torch/lpcnet/utils/sample.py +0 -44
  269. package/opus/dnn/torch/lpcnet/utils/sparsification/__init__.py +0 -2
  270. package/opus/dnn/torch/lpcnet/utils/sparsification/common.py +0 -121
  271. package/opus/dnn/torch/lpcnet/utils/sparsification/gru_sparsifier.py +0 -187
  272. package/opus/dnn/torch/lpcnet/utils/templates.py +0 -157
  273. package/opus/dnn/torch/lpcnet/utils/ulaw.py +0 -58
  274. package/opus/dnn/torch/lpcnet/utils/wav.py +0 -43
  275. package/opus/dnn/torch/neural-pitch/README.md +0 -18
  276. package/opus/dnn/torch/neural-pitch/data_augmentation.py +0 -149
  277. package/opus/dnn/torch/neural-pitch/download_demand.sh +0 -43
  278. package/opus/dnn/torch/neural-pitch/evaluation.py +0 -349
  279. package/opus/dnn/torch/neural-pitch/experiments.py +0 -38
  280. package/opus/dnn/torch/neural-pitch/export_neuralpitch_weights.py +0 -109
  281. package/opus/dnn/torch/neural-pitch/models.py +0 -178
  282. package/opus/dnn/torch/neural-pitch/neural_pitch_update.py +0 -179
  283. package/opus/dnn/torch/neural-pitch/ptdb_process.sh +0 -34
  284. package/opus/dnn/torch/neural-pitch/run_crepe.py +0 -72
  285. package/opus/dnn/torch/neural-pitch/training.py +0 -162
  286. package/opus/dnn/torch/neural-pitch/utils.py +0 -59
  287. package/opus/dnn/torch/osce/README.md +0 -66
  288. package/opus/dnn/torch/osce/adv_train_model.py +0 -462
  289. package/opus/dnn/torch/osce/adv_train_vocoder.py +0 -451
  290. package/opus/dnn/torch/osce/create_testvectors.py +0 -165
  291. package/opus/dnn/torch/osce/data/__init__.py +0 -2
  292. package/opus/dnn/torch/osce/data/lpcnet_vocoding_dataset.py +0 -225
  293. package/opus/dnn/torch/osce/data/silk_conversion_set.py +0 -132
  294. package/opus/dnn/torch/osce/data/silk_enhancement_set.py +0 -140
  295. package/opus/dnn/torch/osce/engine/engine.py +0 -103
  296. package/opus/dnn/torch/osce/engine/vocoder_engine.py +0 -101
  297. package/opus/dnn/torch/osce/export_model_weights.py +0 -174
  298. package/opus/dnn/torch/osce/losses/stft_loss.py +0 -277
  299. package/opus/dnn/torch/osce/losses/td_lowpass.py +0 -34
  300. package/opus/dnn/torch/osce/make_default_setup.py +0 -93
  301. package/opus/dnn/torch/osce/models/__init__.py +0 -42
  302. package/opus/dnn/torch/osce/models/fd_discriminator.py +0 -974
  303. package/opus/dnn/torch/osce/models/lace.py +0 -190
  304. package/opus/dnn/torch/osce/models/lavoce.py +0 -274
  305. package/opus/dnn/torch/osce/models/lavoce_400.py +0 -254
  306. package/opus/dnn/torch/osce/models/lpcnet_feature_net.py +0 -91
  307. package/opus/dnn/torch/osce/models/nns_base.py +0 -69
  308. package/opus/dnn/torch/osce/models/no_lace.py +0 -218
  309. package/opus/dnn/torch/osce/models/scale_embedding.py +0 -68
  310. package/opus/dnn/torch/osce/models/shape_up_48.py +0 -179
  311. package/opus/dnn/torch/osce/models/silk_feature_net.py +0 -86
  312. package/opus/dnn/torch/osce/models/silk_feature_net_pl.py +0 -127
  313. package/opus/dnn/torch/osce/requirements.txt +0 -9
  314. package/opus/dnn/torch/osce/resources/training_files.txt +0 -107716
  315. package/opus/dnn/torch/osce/resources/validation_files.txt +0 -26929
  316. package/opus/dnn/torch/osce/scripts/concatenator.py +0 -85
  317. package/opus/dnn/torch/osce/silk_16_to_48.py +0 -28
  318. package/opus/dnn/torch/osce/stndrd/evaluation/commonvoice_clip_selection.py +0 -123
  319. package/opus/dnn/torch/osce/stndrd/evaluation/create_input_data.sh +0 -25
  320. package/opus/dnn/torch/osce/stndrd/evaluation/env.rc +0 -7
  321. package/opus/dnn/torch/osce/stndrd/evaluation/evaluate.py +0 -113
  322. package/opus/dnn/torch/osce/stndrd/evaluation/lace_loss_metric.py +0 -330
  323. package/opus/dnn/torch/osce/stndrd/evaluation/make_boxplots.py +0 -116
  324. package/opus/dnn/torch/osce/stndrd/evaluation/make_boxplots_moctest.py +0 -109
  325. package/opus/dnn/torch/osce/stndrd/evaluation/make_tables.py +0 -124
  326. package/opus/dnn/torch/osce/stndrd/evaluation/make_tables_moctest.py +0 -121
  327. package/opus/dnn/torch/osce/stndrd/evaluation/moc.py +0 -182
  328. package/opus/dnn/torch/osce/stndrd/evaluation/moc2.py +0 -190
  329. package/opus/dnn/torch/osce/stndrd/evaluation/process_dataset.sh +0 -98
  330. package/opus/dnn/torch/osce/stndrd/evaluation/run_nomad.py +0 -138
  331. package/opus/dnn/torch/osce/stndrd/evaluation/run_osce_test.py +0 -196
  332. package/opus/dnn/torch/osce/stndrd/presentation/endoscopy.py +0 -205
  333. package/opus/dnn/torch/osce/stndrd/presentation/lace_demo.ipynb +0 -313
  334. package/opus/dnn/torch/osce/stndrd/presentation/linear_prediction.ipynb +0 -320
  335. package/opus/dnn/torch/osce/stndrd/presentation/playback.py +0 -25
  336. package/opus/dnn/torch/osce/stndrd/presentation/postfilter.ipynb +0 -275
  337. package/opus/dnn/torch/osce/stndrd/presentation/spectrogram.ipynb +0 -173
  338. package/opus/dnn/torch/osce/test_model.py +0 -96
  339. package/opus/dnn/torch/osce/test_vocoder.py +0 -103
  340. package/opus/dnn/torch/osce/train_model.py +0 -307
  341. package/opus/dnn/torch/osce/train_vocoder.py +0 -287
  342. package/opus/dnn/torch/osce/utils/ada_conv.py +0 -71
  343. package/opus/dnn/torch/osce/utils/complexity.py +0 -8
  344. package/opus/dnn/torch/osce/utils/endoscopy.py +0 -205
  345. package/opus/dnn/torch/osce/utils/layers/fir.py +0 -27
  346. package/opus/dnn/torch/osce/utils/layers/limited_adaptive_comb1d.py +0 -230
  347. package/opus/dnn/torch/osce/utils/layers/limited_adaptive_conv1d.py +0 -200
  348. package/opus/dnn/torch/osce/utils/layers/noise_shaper.py +0 -100
  349. package/opus/dnn/torch/osce/utils/layers/pitch_auto_correlator.py +0 -84
  350. package/opus/dnn/torch/osce/utils/layers/silk_upsampler.py +0 -167
  351. package/opus/dnn/torch/osce/utils/layers/td_shaper.py +0 -145
  352. package/opus/dnn/torch/osce/utils/lpcnet_features.py +0 -112
  353. package/opus/dnn/torch/osce/utils/misc.py +0 -95
  354. package/opus/dnn/torch/osce/utils/moc.py +0 -153
  355. package/opus/dnn/torch/osce/utils/pitch.py +0 -122
  356. package/opus/dnn/torch/osce/utils/silk_features.py +0 -144
  357. package/opus/dnn/torch/osce/utils/softquant.py +0 -110
  358. package/opus/dnn/torch/osce/utils/spec.py +0 -210
  359. package/opus/dnn/torch/osce/utils/templates.py +0 -347
  360. package/opus/dnn/torch/plc/export_plc.py +0 -100
  361. package/opus/dnn/torch/plc/plc.py +0 -144
  362. package/opus/dnn/torch/plc/plc_dataset.py +0 -60
  363. package/opus/dnn/torch/plc/train_plc.py +0 -145
  364. package/opus/dnn/torch/rdovae/README.md +0 -55
  365. package/opus/dnn/torch/rdovae/download_datasets.sh +0 -6
  366. package/opus/dnn/torch/rdovae/export_rdovae_weights.py +0 -365
  367. package/opus/dnn/torch/rdovae/fec_encoder.py +0 -212
  368. package/opus/dnn/torch/rdovae/import_rdovae_weights.py +0 -143
  369. package/opus/dnn/torch/rdovae/packets/__init__.py +0 -1
  370. package/opus/dnn/torch/rdovae/packets/fec_packets.c +0 -142
  371. package/opus/dnn/torch/rdovae/packets/fec_packets.h +0 -34
  372. package/opus/dnn/torch/rdovae/packets/fec_packets.py +0 -108
  373. package/opus/dnn/torch/rdovae/process_speech.sh +0 -7
  374. package/opus/dnn/torch/rdovae/rdovae/__init__.py +0 -2
  375. package/opus/dnn/torch/rdovae/rdovae/dataset.py +0 -67
  376. package/opus/dnn/torch/rdovae/rdovae/rdovae.py +0 -719
  377. package/opus/dnn/torch/rdovae/requirements.txt +0 -4
  378. package/opus/dnn/torch/rdovae/train_rdovae.py +0 -278
  379. package/opus/dnn/torch/testsuite/README.md +0 -46
  380. package/opus/dnn/torch/testsuite/examples/lpcnet_c_example.yml +0 -6
  381. package/opus/dnn/torch/testsuite/examples/lpcnet_c_plc_example.yml +0 -5
  382. package/opus/dnn/torch/testsuite/examples/lpcnet_torch_example.yml +0 -5
  383. package/opus/dnn/torch/testsuite/requirements.txt +0 -12
  384. package/opus/dnn/torch/testsuite/run_test.py +0 -375
  385. package/opus/dnn/torch/testsuite/utils/__init__.py +0 -0
  386. package/opus/dnn/torch/testsuite/utils/files.py +0 -54
  387. package/opus/dnn/torch/testsuite/utils/pesq.py +0 -43
  388. package/opus/dnn/torch/testsuite/utils/pitch.py +0 -61
  389. package/opus/dnn/torch/weight-exchange/README.md +0 -21
  390. package/opus/dnn/torch/weight-exchange/requirements.txt +0 -1
  391. package/opus/dnn/torch/weight-exchange/setup.py +0 -48
  392. package/opus/dnn/torch/weight-exchange/wexchange/__init__.py +0 -30
  393. package/opus/dnn/torch/weight-exchange/wexchange/c_export/__init__.py +0 -31
  394. package/opus/dnn/torch/weight-exchange/wexchange/c_export/c_writer.py +0 -181
  395. package/opus/dnn/torch/weight-exchange/wexchange/c_export/common.py +0 -386
  396. package/opus/dnn/torch/weight-exchange/wexchange/tf/__init__.py +0 -5
  397. package/opus/dnn/torch/weight-exchange/wexchange/tf/tf.py +0 -188
  398. package/opus/dnn/torch/weight-exchange/wexchange/torch/__init__.py +0 -37
  399. package/opus/dnn/torch/weight-exchange/wexchange/torch/torch.py +0 -433
  400. package/opus/dnn/training_tf2/dataloader.py +0 -49
  401. package/opus/dnn/training_tf2/decode_rdovae.py +0 -111
  402. package/opus/dnn/training_tf2/diffembed.py +0 -49
  403. package/opus/dnn/training_tf2/dump_lpcnet.py +0 -388
  404. package/opus/dnn/training_tf2/dump_plc.py +0 -296
  405. package/opus/dnn/training_tf2/dump_rdovae.py +0 -306
  406. package/opus/dnn/training_tf2/encode_rdovae.py +0 -125
  407. package/opus/dnn/training_tf2/fec_encoder.py +0 -256
  408. package/opus/dnn/training_tf2/fec_packets.c +0 -142
  409. package/opus/dnn/training_tf2/fec_packets.h +0 -34
  410. package/opus/dnn/training_tf2/fec_packets.py +0 -108
  411. package/opus/dnn/training_tf2/keraslayerdump.py +0 -189
  412. package/opus/dnn/training_tf2/lossfuncs.py +0 -99
  413. package/opus/dnn/training_tf2/lpcnet.py +0 -339
  414. package/opus/dnn/training_tf2/lpcnet_plc.py +0 -101
  415. package/opus/dnn/training_tf2/mdense.py +0 -95
  416. package/opus/dnn/training_tf2/pade.py +0 -70
  417. package/opus/dnn/training_tf2/parameters.py +0 -29
  418. package/opus/dnn/training_tf2/plc_loader.py +0 -73
  419. package/opus/dnn/training_tf2/rdovae.py +0 -372
  420. package/opus/dnn/training_tf2/rdovae_exchange.py +0 -138
  421. package/opus/dnn/training_tf2/rdovae_import.py +0 -123
  422. package/opus/dnn/training_tf2/test_lpcnet.py +0 -120
  423. package/opus/dnn/training_tf2/test_plc.py +0 -92
  424. package/opus/dnn/training_tf2/tf_funcs.py +0 -70
  425. package/opus/dnn/training_tf2/train_lpcnet.py +0 -214
  426. package/opus/dnn/training_tf2/train_plc.py +0 -197
  427. package/opus/dnn/training_tf2/train_rdovae.py +0 -151
  428. package/opus/dnn/training_tf2/ulaw.py +0 -19
  429. package/opus/dnn/training_tf2/uniform_noise.py +0 -78
  430. package/opus/dnn/vec.h +0 -389
  431. package/opus/dnn/vec_avx.h +0 -884
  432. package/opus/dnn/vec_neon.h +0 -473
  433. package/opus/dnn/write_lpcnet_weights.c +0 -97
  434. package/opus/dnn/x86/dnn_x86.h +0 -121
  435. package/opus/dnn/x86/nnet_avx2.c +0 -40
  436. package/opus/dnn/x86/nnet_sse2.c +0 -40
  437. package/opus/dnn/x86/nnet_sse4_1.c +0 -40
  438. package/opus/dnn/x86/x86_dnn_map.c +0 -83
  439. package/opus/doc/Doxyfile.in +0 -340
  440. package/opus/doc/Makefile.am +0 -45
  441. package/opus/doc/build_draft.sh +0 -113
  442. package/opus/doc/build_isobmff.sh +0 -50
  443. package/opus/doc/build_oggdraft.sh +0 -52
  444. package/opus/doc/customdoxygen.css +0 -1011
  445. package/opus/doc/draft-ietf-codec-oggopus.xml +0 -1873
  446. package/opus/doc/draft-ietf-codec-opus-update.xml +0 -513
  447. package/opus/doc/draft-ietf-codec-opus.xml +0 -8276
  448. package/opus/doc/draft-ietf-payload-rtp-opus.xml +0 -960
  449. package/opus/doc/footer.html +0 -32
  450. package/opus/doc/header.html +0 -61
  451. package/opus/doc/meson.build +0 -33
  452. package/opus/doc/opus_in_isobmff.css +0 -60
  453. package/opus/doc/opus_in_isobmff.html +0 -692
  454. package/opus/doc/opus_logo.svg +0 -157
  455. package/opus/doc/opus_update.patch +0 -244
  456. package/opus/doc/release.txt +0 -43
  457. package/opus/doc/trivial_example.c +0 -171
  458. package/opus/include/meson.build +0 -13
  459. package/opus/include/opus.h +0 -1172
  460. package/opus/include/opus_custom.h +0 -381
  461. package/opus/include/opus_defines.h +0 -830
  462. package/opus/include/opus_multistream.h +0 -736
  463. package/opus/include/opus_projection.h +0 -643
  464. package/opus/include/opus_types.h +0 -166
  465. package/opus/lpcnet_headers.mk +0 -44
  466. package/opus/lpcnet_sources.mk +0 -44
  467. package/opus/m4/as-gcc-inline-assembly.m4 +0 -98
  468. package/opus/m4/ax_add_fortify_source.m4 +0 -53
  469. package/opus/m4/opus-intrinsics.m4 +0 -29
  470. package/opus/meson/README.md +0 -88
  471. package/opus/meson/get-version.py +0 -86
  472. package/opus/meson/read-sources-list.py +0 -28
  473. package/opus/meson.build +0 -745
  474. package/opus/meson_options.txt +0 -27
  475. package/opus/opus-uninstalled.pc.in +0 -12
  476. package/opus/opus.m4 +0 -117
  477. package/opus/opus.pc.in +0 -16
  478. package/opus/opus_headers.mk +0 -8
  479. package/opus/opus_sources.mk +0 -17
  480. package/opus/releases.sha2 +0 -85
  481. package/opus/scripts/dump_rnn.py +0 -57
  482. package/opus/scripts/local_build.py +0 -220
  483. package/opus/scripts/rnn_train.py +0 -67
  484. package/opus/scripts/shrink_model.sh +0 -7
  485. package/opus/silk/A2NLSF.c +0 -267
  486. package/opus/silk/API.h +0 -156
  487. package/opus/silk/CNG.c +0 -188
  488. package/opus/silk/HP_variable_cutoff.c +0 -77
  489. package/opus/silk/Inlines.h +0 -188
  490. package/opus/silk/LPC_analysis_filter.c +0 -111
  491. package/opus/silk/LPC_fit.c +0 -82
  492. package/opus/silk/LPC_inv_pred_gain.c +0 -141
  493. package/opus/silk/LP_variable_cutoff.c +0 -135
  494. package/opus/silk/MacroCount.h +0 -710
  495. package/opus/silk/MacroDebug.h +0 -945
  496. package/opus/silk/NLSF2A.c +0 -141
  497. package/opus/silk/NLSF_VQ.c +0 -76
  498. package/opus/silk/NLSF_VQ_weights_laroia.c +0 -80
  499. package/opus/silk/NLSF_decode.c +0 -93
  500. package/opus/silk/NLSF_del_dec_quant.c +0 -215
  501. package/opus/silk/NLSF_encode.c +0 -124
  502. package/opus/silk/NLSF_stabilize.c +0 -142
  503. package/opus/silk/NLSF_unpack.c +0 -55
  504. package/opus/silk/NSQ.c +0 -437
  505. package/opus/silk/NSQ.h +0 -101
  506. package/opus/silk/NSQ_del_dec.c +0 -733
  507. package/opus/silk/PLC.c +0 -493
  508. package/opus/silk/PLC.h +0 -65
  509. package/opus/silk/SigProc_FIX.h +0 -643
  510. package/opus/silk/VAD.c +0 -360
  511. package/opus/silk/VQ_WMat_EC.c +0 -131
  512. package/opus/silk/ana_filt_bank_1.c +0 -74
  513. package/opus/silk/arm/LPC_inv_pred_gain_arm.h +0 -57
  514. package/opus/silk/arm/LPC_inv_pred_gain_neon_intr.c +0 -288
  515. package/opus/silk/arm/NSQ_del_dec_arm.h +0 -100
  516. package/opus/silk/arm/NSQ_del_dec_neon_intr.c +0 -1138
  517. package/opus/silk/arm/NSQ_neon.c +0 -112
  518. package/opus/silk/arm/NSQ_neon.h +0 -114
  519. package/opus/silk/arm/SigProc_FIX_armv4.h +0 -47
  520. package/opus/silk/arm/SigProc_FIX_armv5e.h +0 -61
  521. package/opus/silk/arm/arm_silk_map.c +0 -128
  522. package/opus/silk/arm/biquad_alt_arm.h +0 -68
  523. package/opus/silk/arm/biquad_alt_neon_intr.c +0 -156
  524. package/opus/silk/arm/macros_arm64.h +0 -39
  525. package/opus/silk/arm/macros_armv4.h +0 -110
  526. package/opus/silk/arm/macros_armv5e.h +0 -220
  527. package/opus/silk/biquad_alt.c +0 -121
  528. package/opus/silk/bwexpander.c +0 -51
  529. package/opus/silk/bwexpander_32.c +0 -51
  530. package/opus/silk/check_control_input.c +0 -106
  531. package/opus/silk/code_signs.c +0 -115
  532. package/opus/silk/control.h +0 -161
  533. package/opus/silk/control_SNR.c +0 -113
  534. package/opus/silk/control_audio_bandwidth.c +0 -132
  535. package/opus/silk/control_codec.c +0 -423
  536. package/opus/silk/debug.c +0 -174
  537. package/opus/silk/debug.h +0 -267
  538. package/opus/silk/dec_API.c +0 -465
  539. package/opus/silk/decode_core.c +0 -243
  540. package/opus/silk/decode_frame.c +0 -169
  541. package/opus/silk/decode_indices.c +0 -151
  542. package/opus/silk/decode_parameters.c +0 -115
  543. package/opus/silk/decode_pitch.c +0 -77
  544. package/opus/silk/decode_pulses.c +0 -115
  545. package/opus/silk/decoder_set_fs.c +0 -108
  546. package/opus/silk/define.h +0 -235
  547. package/opus/silk/enc_API.c +0 -593
  548. package/opus/silk/encode_indices.c +0 -181
  549. package/opus/silk/encode_pulses.c +0 -206
  550. package/opus/silk/errors.h +0 -98
  551. package/opus/silk/fixed/LTP_analysis_filter_FIX.c +0 -90
  552. package/opus/silk/fixed/LTP_scale_ctrl_FIX.c +0 -58
  553. package/opus/silk/fixed/apply_sine_window_FIX.c +0 -101
  554. package/opus/silk/fixed/arm/warped_autocorrelation_FIX_arm.h +0 -68
  555. package/opus/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c +0 -265
  556. package/opus/silk/fixed/autocorr_FIX.c +0 -48
  557. package/opus/silk/fixed/burg_modified_FIX.c +0 -280
  558. package/opus/silk/fixed/corrMatrix_FIX.c +0 -150
  559. package/opus/silk/fixed/encode_frame_FIX.c +0 -444
  560. package/opus/silk/fixed/find_LPC_FIX.c +0 -151
  561. package/opus/silk/fixed/find_LTP_FIX.c +0 -99
  562. package/opus/silk/fixed/find_pitch_lags_FIX.c +0 -143
  563. package/opus/silk/fixed/find_pred_coefs_FIX.c +0 -146
  564. package/opus/silk/fixed/k2a_FIX.c +0 -54
  565. package/opus/silk/fixed/k2a_Q16_FIX.c +0 -54
  566. package/opus/silk/fixed/main_FIX.h +0 -244
  567. package/opus/silk/fixed/mips/noise_shape_analysis_FIX_mipsr1.h +0 -336
  568. package/opus/silk/fixed/mips/prefilter_FIX_mipsr1.h +0 -184
  569. package/opus/silk/fixed/mips/warped_autocorrelation_FIX_mipsr1.h +0 -165
  570. package/opus/silk/fixed/noise_shape_analysis_FIX.c +0 -407
  571. package/opus/silk/fixed/pitch_analysis_core_FIX.c +0 -721
  572. package/opus/silk/fixed/process_gains_FIX.c +0 -117
  573. package/opus/silk/fixed/regularize_correlations_FIX.c +0 -47
  574. package/opus/silk/fixed/residual_energy16_FIX.c +0 -103
  575. package/opus/silk/fixed/residual_energy_FIX.c +0 -98
  576. package/opus/silk/fixed/schur64_FIX.c +0 -93
  577. package/opus/silk/fixed/schur_FIX.c +0 -107
  578. package/opus/silk/fixed/structs_FIX.h +0 -116
  579. package/opus/silk/fixed/vector_ops_FIX.c +0 -102
  580. package/opus/silk/fixed/warped_autocorrelation_FIX.c +0 -92
  581. package/opus/silk/fixed/x86/burg_modified_FIX_sse4_1.c +0 -400
  582. package/opus/silk/fixed/x86/vector_ops_FIX_sse4_1.c +0 -93
  583. package/opus/silk/float/LPC_analysis_filter_FLP.c +0 -249
  584. package/opus/silk/float/LPC_inv_pred_gain_FLP.c +0 -73
  585. package/opus/silk/float/LTP_analysis_filter_FLP.c +0 -75
  586. package/opus/silk/float/LTP_scale_ctrl_FLP.c +0 -58
  587. package/opus/silk/float/SigProc_FLP.h +0 -205
  588. package/opus/silk/float/apply_sine_window_FLP.c +0 -81
  589. package/opus/silk/float/autocorrelation_FLP.c +0 -53
  590. package/opus/silk/float/burg_modified_FLP.c +0 -187
  591. package/opus/silk/float/bwexpander_FLP.c +0 -49
  592. package/opus/silk/float/corrMatrix_FLP.c +0 -95
  593. package/opus/silk/float/encode_frame_FLP.c +0 -432
  594. package/opus/silk/float/energy_FLP.c +0 -59
  595. package/opus/silk/float/find_LPC_FLP.c +0 -105
  596. package/opus/silk/float/find_LTP_FLP.c +0 -65
  597. package/opus/silk/float/find_pitch_lags_FLP.c +0 -132
  598. package/opus/silk/float/find_pred_coefs_FLP.c +0 -117
  599. package/opus/silk/float/inner_product_FLP.c +0 -59
  600. package/opus/silk/float/k2a_FLP.c +0 -54
  601. package/opus/silk/float/main_FLP.h +0 -290
  602. package/opus/silk/float/noise_shape_analysis_FLP.c +0 -350
  603. package/opus/silk/float/pitch_analysis_core_FLP.c +0 -630
  604. package/opus/silk/float/process_gains_FLP.c +0 -103
  605. package/opus/silk/float/regularize_correlations_FLP.c +0 -48
  606. package/opus/silk/float/residual_energy_FLP.c +0 -117
  607. package/opus/silk/float/scale_copy_vector_FLP.c +0 -57
  608. package/opus/silk/float/scale_vector_FLP.c +0 -56
  609. package/opus/silk/float/schur_FLP.c +0 -70
  610. package/opus/silk/float/sort_FLP.c +0 -83
  611. package/opus/silk/float/structs_FLP.h +0 -112
  612. package/opus/silk/float/warped_autocorrelation_FLP.c +0 -75
  613. package/opus/silk/float/wrappers_FLP.c +0 -209
  614. package/opus/silk/float/x86/inner_product_FLP_avx2.c +0 -85
  615. package/opus/silk/gain_quant.c +0 -142
  616. package/opus/silk/init_decoder.c +0 -84
  617. package/opus/silk/init_encoder.c +0 -68
  618. package/opus/silk/inner_prod_aligned.c +0 -47
  619. package/opus/silk/interpolate.c +0 -51
  620. package/opus/silk/lin2log.c +0 -46
  621. package/opus/silk/log2lin.c +0 -58
  622. package/opus/silk/macros.h +0 -151
  623. package/opus/silk/main.h +0 -486
  624. package/opus/silk/meson.build +0 -69
  625. package/opus/silk/mips/NSQ_del_dec_mipsr1.h +0 -410
  626. package/opus/silk/mips/macros_mipsr1.h +0 -92
  627. package/opus/silk/mips/sigproc_fix_mipsr1.h +0 -60
  628. package/opus/silk/pitch_est_defines.h +0 -88
  629. package/opus/silk/pitch_est_tables.c +0 -99
  630. package/opus/silk/process_NLSFs.c +0 -107
  631. package/opus/silk/quant_LTP_gains.c +0 -132
  632. package/opus/silk/resampler.c +0 -215
  633. package/opus/silk/resampler_down2.c +0 -74
  634. package/opus/silk/resampler_down2_3.c +0 -103
  635. package/opus/silk/resampler_private.h +0 -88
  636. package/opus/silk/resampler_private_AR2.c +0 -55
  637. package/opus/silk/resampler_private_IIR_FIR.c +0 -107
  638. package/opus/silk/resampler_private_down_FIR.c +0 -194
  639. package/opus/silk/resampler_private_up2_HQ.c +0 -113
  640. package/opus/silk/resampler_rom.c +0 -96
  641. package/opus/silk/resampler_rom.h +0 -68
  642. package/opus/silk/resampler_structs.h +0 -60
  643. package/opus/silk/shell_coder.c +0 -151
  644. package/opus/silk/sigm_Q15.c +0 -76
  645. package/opus/silk/sort.c +0 -154
  646. package/opus/silk/stereo_LR_to_MS.c +0 -229
  647. package/opus/silk/stereo_MS_to_LR.c +0 -85
  648. package/opus/silk/stereo_decode_pred.c +0 -73
  649. package/opus/silk/stereo_encode_pred.c +0 -62
  650. package/opus/silk/stereo_find_predictor.c +0 -79
  651. package/opus/silk/stereo_quant_pred.c +0 -73
  652. package/opus/silk/structs.h +0 -357
  653. package/opus/silk/sum_sqr_shift.c +0 -83
  654. package/opus/silk/table_LSF_cos.c +0 -70
  655. package/opus/silk/tables.h +0 -114
  656. package/opus/silk/tables_LTP.c +0 -294
  657. package/opus/silk/tables_NLSF_CB_NB_MB.c +0 -195
  658. package/opus/silk/tables_NLSF_CB_WB.c +0 -234
  659. package/opus/silk/tables_gain.c +0 -63
  660. package/opus/silk/tables_other.c +0 -124
  661. package/opus/silk/tables_pitch_lag.c +0 -69
  662. package/opus/silk/tables_pulses_per_block.c +0 -264
  663. package/opus/silk/tests/meson.build +0 -8
  664. package/opus/silk/tests/test_unit_LPC_inv_pred_gain.c +0 -130
  665. package/opus/silk/tuning_parameters.h +0 -155
  666. package/opus/silk/typedef.h +0 -81
  667. package/opus/silk/x86/NSQ_del_dec_avx2.c +0 -1075
  668. package/opus/silk/x86/NSQ_del_dec_sse4_1.c +0 -915
  669. package/opus/silk/x86/NSQ_sse4_1.c +0 -772
  670. package/opus/silk/x86/SigProc_FIX_sse.h +0 -99
  671. package/opus/silk/x86/VAD_sse4_1.c +0 -289
  672. package/opus/silk/x86/VQ_WMat_EC_sse4_1.c +0 -173
  673. package/opus/silk/x86/main_sse.h +0 -299
  674. package/opus/silk/x86/x86_silk_map.c +0 -179
  675. package/opus/silk_headers.mk +0 -44
  676. package/opus/silk_sources.mk +0 -164
  677. package/opus/src/analysis.c +0 -979
  678. package/opus/src/analysis.h +0 -103
  679. package/opus/src/extensions.c +0 -663
  680. package/opus/src/mapping_matrix.c +0 -993
  681. package/opus/src/mapping_matrix.h +0 -165
  682. package/opus/src/meson.build +0 -45
  683. package/opus/src/mlp.c +0 -132
  684. package/opus/src/mlp.h +0 -60
  685. package/opus/src/mlp_data.c +0 -672
  686. package/opus/src/opus.c +0 -362
  687. package/opus/src/opus_compare.c +0 -382
  688. package/opus/src/opus_decoder.c +0 -1579
  689. package/opus/src/opus_demo.c +0 -1194
  690. package/opus/src/opus_encoder.c +0 -3180
  691. package/opus/src/opus_multistream.c +0 -92
  692. package/opus/src/opus_multistream_decoder.c +0 -563
  693. package/opus/src/opus_multistream_encoder.c +0 -1321
  694. package/opus/src/opus_private.h +0 -263
  695. package/opus/src/opus_projection_decoder.c +0 -283
  696. package/opus/src/opus_projection_encoder.c +0 -522
  697. package/opus/src/repacketizer.c +0 -469
  698. package/opus/src/repacketizer_demo.c +0 -247
  699. package/opus/src/tansig_table.h +0 -45
  700. package/opus/tar_list.txt +0 -28
  701. package/opus/tests/meson.build +0 -39
  702. package/opus/tests/opus_build_test.sh +0 -29
  703. package/opus/tests/opus_decode_fuzzer.c +0 -124
  704. package/opus/tests/opus_decode_fuzzer.options +0 -2
  705. package/opus/tests/opus_encode_regressions.c +0 -1034
  706. package/opus/tests/random_config.sh +0 -126
  707. package/opus/tests/run_vectors.sh +0 -143
  708. package/opus/tests/test_opus_api.c +0 -1904
  709. package/opus/tests/test_opus_common.h +0 -86
  710. package/opus/tests/test_opus_custom.c +0 -694
  711. package/opus/tests/test_opus_decode.c +0 -481
  712. package/opus/tests/test_opus_dred.c +0 -107
  713. package/opus/tests/test_opus_encode.c +0 -738
  714. package/opus/tests/test_opus_extensions.c +0 -750
  715. package/opus/tests/test_opus_padding.c +0 -94
  716. package/opus/tests/test_opus_projection.c +0 -384
  717. package/opus/training/rnn_dump.py +0 -66
  718. package/opus/training/rnn_train.py +0 -177
  719. package/opus/training/txt2hdf5.py +0 -12
  720. package/opus/update_version +0 -65
  721. package/test.mp4 +0 -0
@@ -1,692 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
- <html>
3
- <head>
4
- <link rel="stylesheet" type="text/css" href="opus_in_isobmff.css"/>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>Encapsulation of Opus in ISO Base Media File Format</title>
7
- </head>
8
- <body bgcolor="0x333333" text="#60B0C0">
9
- <b><u>Encapsulation of Opus in ISO Base Media File Format</u></b><br>
10
- <font size="2">last updated: August 28, 2018</font><br>
11
- <br>
12
- <div class="normal_link pre frame_box">
13
-
14
- Encapsulation of Opus in ISO Base Media File Format
15
- Version 1.0.0
16
-
17
-
18
- Table of Contents
19
- <a href="#1">1</a> Scope
20
- <a href="#2">2</a> Normative References
21
- <a href="#3">3</a> Terms and Definitions
22
- <a href="#4">4</a> Design Rules of Encapsulation
23
- <a href="#4.1">4.1</a> File Type Identification
24
- <a href="#4.2">4.2</a> Overview of Track Structure
25
- <a href="#4.3">4.3</a> Definitions of Opus sample
26
- <a href="#4.3.1">4.3.1</a> Sample entry format
27
- <a href="#4.3.2">4.3.2</a> Opus Specific Box
28
- <a href="#4.3.3">4.3.3</a> Sample format
29
- <a href="#4.3.4">4.3.4</a> Duration of Opus sample
30
- <a href="#4.3.5">4.3.5</a> Sub-sample
31
- <a href="#4.3.6">4.3.6</a> Random Access
32
- <a href="#4.3.6.1">4.3.6.1</a> Random Access Point
33
- <a href="#4.3.6.2">4.3.6.2</a> Pre-roll
34
- <a href="#4.4">4.4</a> Trimming of Actual Duration
35
- <a href="#4.5">4.5</a> Channel Mapping
36
- <a href="#4.5.1">4.5.1</a> ISO Base Media native Channel Mapping
37
- <a href="#4.5.2">4.5.2</a> Composition on all active tracks (informative)
38
- <a href="#4.6">4.6</a> Basic Structure (informative)
39
- <a href="#4.6.1">4.6.2</a> Initial Movie
40
- <a href="#4.6.2">4.6.3</a> Movie Fragments
41
- <a href="#4.7">4.7</a> Example of Encapsulation (informative)
42
- <a href="#5">5</a> Author's Address
43
-
44
- <a name="1"></a>
45
- 1 Scope
46
- This specification specifies the fundamental way of the encapsulation of Opus coded bitstreams in ISO Base Media
47
- file format and its derivatives. The encapsulation of Opus coded bitstreams in QuickTime file format is outside
48
- the scope of this specification.
49
-
50
- <a name="2"></a>
51
- 2 Normative References
52
- [1] ISO/IEC 14496-12:2015 Corrected version
53
- Information technology — Coding of audio-visual objects — Part 12: ISO base media file format
54
-
55
- [2] RFC 6716
56
- Definition of the Opus Audio Codec
57
-
58
- [3] RFC 7845
59
- Ogg Encapsulation for the Opus Audio Codec
60
-
61
- <a name="3"></a>
62
- 3 Terms and Definitions
63
- 3.1 active track
64
- enabled track from the non-alternate group or selected track from alternate group
65
-
66
- 3.2 actual duration
67
- duration constructed from valid samples
68
-
69
- 3.3 edit
70
- entry in the Edit List Box
71
-
72
- 3.4 padded samples
73
- PCM samples after decoding Opus sample(s) which are not valid samples
74
- An Opus bitstream always contains them partially at the beginning and may contain them in part at the end, as
75
- long as not physically removed yet at the beginning and/or the end.
76
-
77
- 3.5 priming samples
78
- padded samples at the beginning of the Opus bitstream
79
-
80
- 3.6 sample-accurate
81
- for any PCM sample, a timestamp exactly matching its sampling timestamp is present in the media timeline.
82
-
83
- 3.7 valid samples
84
- PCM samples after decoding Opus sample(s) corresponding to input PCM samples
85
-
86
- <a name="4"></a>
87
- 4 Design Rules of Encapsulation
88
- 4.1 File Type Identification<a name="4.1"></a>
89
- This specification defines the brand 'Opus' to declare files are conformant to this specification. Additionally,
90
- files conformant to this specification shall contain at least one brand, which supports the requirements and the
91
- requirements described in this clause without contradiction, in the compatible brands list of the File Type Box.
92
- As an example, the minimal support of the encapsulation of Opus bitstreams in ISO Base Media file format requires
93
- the 'iso2' brand in the compatible brands list since support of roll groups is required.
94
- <a name="4.2"></a>
95
- 4.2 Overview of Track Structure
96
- This clause summarizes requirements of the encapsulation of Opus coded bitstream as media data in audio tracks
97
- in file formats compliant with the ISO Base Media File Format. The details are described in clauses after this
98
- clause.
99
- + The handler_type field in the Handler Reference Box shall be set to 'soun'.
100
- + The Media Information Box shall contain the Sound Media Header Box.
101
- + The codingname of the sample entry is 'Opus'.
102
- This specification does not define any encapsulation using MP4AudioSampleEntry with objectTypeIndication
103
- specified by the MPEG-4 Registration Authority (http://www.mp4ra.org/).
104
- See 4.3.1 Sample entry format to get the details about the sample entry.
105
- + The 'dOps' box is added to the sample entry to convey initializing information for the decoder.
106
- See 4.3.2 Opus Specific Box to get the details.
107
- + An Opus sample is exactly one Opus packet for each of different Opus bitstreams.
108
- See 4.3.3 Sample format to get the details.
109
- + Every Opus sample is a sync sample but requires pre-roll for every random access to get correct output.
110
- See 4.3.6 Random Access to get the details.
111
- <a name="4.3"></a>
112
- 4.3 Definitions of Opus sample
113
- 4.3.1 Sample entry format<a name="4.3.1"></a>
114
- For any track containing Opus bitstreams, at least one sample entry describing corresponding Opus bitstream
115
- shall be present inside the Sample Table Box. This version of the specification defines only one sample
116
- entry format named OpusSampleEntry whose codingname is 'Opus'. This sample entry includes exactly one Opus
117
- Specific Box defined in 4.3.2 as a mandatory box and indicates that Opus samples described by this sample
118
- entry are stored by the sample format described in 4.3.3.
119
-
120
- The syntax and semantics of the OpusSampleEntry is shown as follows.
121
-
122
- class OpusSampleEntry() extends AudioSampleEntry ('Opus') {
123
- OpusSpecificBox();
124
- }
125
-
126
- + channelcount:
127
- The channelcount field indicates the number of output channels and shall be set to the same value of
128
- the OutputChannelCount in the OpusDecoderConfigurationRecord. The value of this field may be used in
129
- the ChannelLayout if any as described in 4.5.1.
130
- + samplesize:
131
- The samplesize field shall be set to 16.
132
- + samplerate:
133
- The samplerate field shall be set to 48000&lt&lt16.
134
- + OpusSpecificBox
135
- This box contains initializing information for the decoder as defined in 4.3.2.
136
-
137
- 4.3.2 Opus Specific Box<a name="4.3.2"></a>
138
- Exactly one Opus Specific Box shall be present in each OpusSampleEntry.
139
- The Opus Specific Box contains an OpusDecoderConfigurationRecord which contains the Version field and
140
- this specification defines version 0 of this record. If incompatible changes occured in the fields after
141
- the Version field within the OpusDecoderConfigurationRecord in the future versions of this specification,
142
- another version will be defined.
143
- This box refers to Ogg Opus [3] at many parts but all the data are stored as big-endian format.
144
-
145
- The syntax and semantics of the Opus Specific Box is shown as follows.
146
-
147
- class ChannelMappingTable (unsigned int(8) OutputChannelCount) {
148
- unsigned int(8) StreamCount;
149
- unsigned int(8) CoupledCount;
150
- unsigned int(8 * OutputChannelCount) ChannelMapping;
151
- }
152
-
153
- aligned(8) class OpusDecoderConfigurationRecord {
154
- unsigned int(8) Version;
155
- unsigned int(8) OutputChannelCount;
156
- unsigned int(16) PreSkip;
157
- unsigned int(32) InputSampleRate;
158
- signed int(16) OutputGain;
159
- unsigned int(8) ChannelMappingFamily;
160
- if (ChannelMappingFamily != 0) {
161
- ChannelMappingTable(OutputChannelCount);
162
- }
163
- }
164
-
165
- class OpusSpecificBox extends Box('dOps') {
166
- OpusDecoderConfigurationRecord() OpusConfig;
167
- }
168
-
169
- + Version:
170
- The Version field shall be set to 0.
171
- In the future versions of this specification, this field may be set to other values. And without support
172
- of those values, the reader shall not read the fields after this within the OpusSpecificBox.
173
- + OutputChannelCount:
174
- The OutputChannelCount field shall be set to the same value as the *Output Channel Count* field in the
175
- identification header defined in Ogg Opus [3].
176
- + PreSkip:
177
- The PreSkip field indicates the number of the priming samples, that is, the number of samples at 48000 Hz
178
- to discard from the decoder output when starting playback. The value of the PreSkip field shall be at least
179
- 80 milliseconds' worth of PCM samples even when removing any number of Opus samples which may or may not
180
- contain the priming samples. The PreSkip field is not used for discarding the priming samples at the whole
181
- playback at all since it is informative only, and that task falls on the Edit List Box.
182
- + InputSampleRate:
183
- The InputSampleRate field shall be set to the same value as the *Input Sample Rate* field in the
184
- identification header defined in Ogg Opus [3].
185
- + OutputGain:
186
- The OutputGain field shall be set to the same value as the *Output Gain* field in the identification
187
- header define in Ogg Opus [3]. Note that the value is stored as 8.8 fixed-point.
188
- + ChannelMappingFamily:
189
- The ChannelMappingFamily field shall be set to the same value as the *Channel Mapping Family* field in
190
- the identification header defined in Ogg Opus [3]. Note that the value 255 may be used for an alternative
191
- to map channels by ISO Base Media native mapping. The details are described in 4.5.1.
192
- + StreamCount:
193
- The StreamCount field shall be set to the same value as the *Stream Count* field in the identification
194
- header defined in Ogg Opus [3].
195
- + CoupledCount:
196
- The CoupledCount field shall be set to the same value as the *Coupled Count* field in the identification
197
- header defined in Ogg Opus [3].
198
- + ChannelMapping:
199
- The ChannelMapping field shall be set to the same octet string as *Channel Mapping* field in the identi-
200
- fication header defined in Ogg Opus [3].
201
-
202
- 4.3.3 Sample format<a name="4.3.3"></a>
203
- An Opus sample is exactly one Opus packet for each of different Opus bitstreams. Due to support more than
204
- two channels, an Opus sample can contain frames from multiple Opus bitstreams but all Opus packets shall
205
- share with the total of frame sizes in a single Opus sample. The way of how to pack an Opus packet from
206
- each of Opus bitstreams into a single Opus sample follows Appendix B. in RFC 6716 [2].
207
- The endianness has nothing to do with any Opus sample since every Opus packet is processed byte-by-byte.
208
- In this specification, 'sample' means 'Opus sample' except for 'padded samples', 'priming samples', 'valid
209
- sample' and 'sample-accurate', i.e. 'sample' is 'sample' in the term defined in ISO/IEC 14496-12 [1].
210
-
211
- +-----------------------------------------+-------------------------------------+
212
- | Opus packet 0 (self-delimiting framing) | Opus packet 1 (undelimited framing) |
213
- +-----------------------------------------+-------------------------------------+
214
- |<---------------------------- the size of Opus sample ------------------------>|
215
-
216
- Figure 1 - Example structure of an Opus sample containing two Opus bitstreams
217
-
218
- 4.3.4 Duration of Opus sample<a name="4.3.4"></a>
219
- The duration of Opus sample is given by multiplying the total of frame sizes for a single Opus bitstream
220
- expressed in seconds by the value of the timescale field in the Media Header Box.
221
- Let's say an Opus sample consists of two Opus bitstreams, where the frame size of one bitstream is 40 milli-
222
- seconds and the frame size of another is 60 milliseconds, and the timescale field in the Media Header Box
223
- is set to 48000, then the duration of that Opus sample shall be 120 milliseconds since three 40 millisecond
224
- frame and two 60 millisecond frames shall be contained because of the maximum duration of Opus packet, 120
225
- milliseconds, and 5760 in the timescale indicated in the Media Header Box.
226
-
227
- To indicate the valid samples excluding the padded samples at the end of Opus bitstream, the duration of
228
- the last Opus sample of an Opus bitstream is given by multiplying the number of the valid samples by the
229
- value produced by dividing the value of the timescale field in the Media Header Box by 48000.
230
-
231
- 4.3.5 Sub-sample<a name="4.3.5"></a>
232
- The structure of the last Opus packet in an Opus sample is different from the others in the same Opus sample,
233
- and the others are invalid Opus packets as an Opus sample because of self-delimiting framing. To avoid
234
- complexities, sub-sample is not defined for Opus sample in this specification.
235
-
236
- 4.3.6 Random Access<a name="4.3.6"></a>
237
- This subclause describes the nature of the random access of Opus sample.
238
-
239
- 4.3.6.1 Random Access Point<a name="4.3.6.1"></a>
240
- All Opus samples can be independently decoded i.e. every Opus sample is a sync sample. Therefore, the
241
- Sync Sample Box shall not be present as long as there are no samples other than Opus samples in the same
242
- track. And the sample_is_non_sync_sample field for Opus samples shall be set to 0.
243
-
244
- 4.3.6.2 Pre-roll<a name="4.3.6.2"></a>
245
- Opus bitstream requires at least 80 millisecond pre-roll after each random access to get correct output.
246
- Pre-roll is indicated by the roll_distance field in AudioRollRecoveryEntry. AudioPreRollEntry shall not
247
- be used since every Opus sample is a sync sample in Opus bitstream. Note that roll_distance is expressed
248
- in sample units in a term of ISO Base Media File Format, and always takes negative values.
249
-
250
- For any track containing Opus bitstreams, at least one Sample Group Description Box and at least one
251
- Sample to Group Box within the Sample Table Box shall be present and these have the grouping_type field
252
- set to 'roll'. If any Opus sample is contained in a track fragment, the Sample to Group Box with the
253
- grouping_type field set to 'roll' shall be present for that track fragment.
254
-
255
- For the requirement of AudioRollRecoveryEntry, the compatible_brands field in the File Type Box shall
256
- contain at least one brand which requires support for roll groups.
257
- <a name="4.4"></a>
258
- 4.4 Trimming of Actual Duration
259
- Due to the priming samples (or the padding at the beginning) derived from the pre-roll for the startup and the
260
- padded samples at the end, we need trim from media to get the actual duration. An edit in the Edit List Box can
261
- achieve this demand, and the Edit Box and the Edit List Box shall be present.
262
-
263
- For sample-accurate trimming, proper timescale should be set to the timescale field in the Movie Header Box
264
- and the Media Header Box inside Track Box(es) for Opus bitstream. The timescale field in the Media Header Box is
265
- typically set to 48000. It is recommended that the timescale field in the Movie Header Box be set to the same
266
- value of the timescale field in the Media Header Box in order to avoid the rounding problem when specifying
267
- duration of edit if the timescales in all of the Media Header Boxes are set to the same value.
268
-
269
- For example, to indicate the actual duration of an Opus bitstream in a track with the timescale fields of both
270
- the Movie Header Box and the Media Header Box set to 48000, we would use the following edit:
271
- segment_duration = the number of the valid samples
272
- media_time = the number of the priming samples
273
- media_rate = 1 &lt&lt 16
274
-
275
- The Edit List Box is applied to whole movie including all movie fragments. Therefore, it is impossible to tell
276
- the actual duration in the case producing movie fragments on the fly such as live-streaming. In such cases,
277
- the duration of the last Opus sample may be helpful by setting zero to the segment_duration field since the
278
- value 0 represents implicit duration equal to the sum of the duration of all samples.
279
- <a name="4.5"></a>
280
- 4.5 Channel Mapping
281
- 4.5.1 ISO Base Media native Channel Mapping<a name="4.5.1"></a>
282
- ISO Base Media File Format, that is ISO/IEC 14496-12 [1], defines an extension ChannelLayout to the
283
- AudioSampleEntry, which conveys information of mapping channels to loudspeaker positions. The ChannelLayout
284
- enables to specify the channel layout more flexibly than the predefined layouts of the ChannelMappingFamily.
285
-
286
- To utilize the ChannelLayout for OpusSampleEntry, the ChannelMappingFamily field should be set to 255.
287
- Even when the ChannelMappingFamily field is set to another value, the assignment of each output channel to
288
- loudspeaker position specified by the ChannelMappingFamily would be changed as specified by the ChannelLayout.
289
- The procedure of the assignment is the following.
290
-
291
- 1. Decoded channels are mapped to output channels according to the ChannelMappingTable.
292
- 2. Output channels are mapped to loudspeaker positions according to the ChannelLayout.
293
-
294
- In this way, the parameters of the Opus Specific Box are processed before the ChannelLayout, and the
295
- ChannelLayout shall follow the Opus Specific Box.
296
-
297
- 4.5.2 Composition on all active tracks (informative)<a name="4.5.2"></a>
298
- By the application of alternate_group in the Track Header Box, whole audio channels in all active tracks from
299
- non-alternate group and/or different alternate group from each other are composited into the presentation. If
300
- an Opus sample consists of multiple Opus bitstreams, it can be splitted into individual Opus bitstreams and
301
- reconstructed into new Opus samples as long as every Opus bitstream has the same total duration in each Opus
302
- sample. This nature can be utilized to encapsulate a single Opus bitstream in each track without breaking the
303
- original channel layout.
304
-
305
- As an example, let's say there is a following track:
306
- OutputChannelCount = 6;
307
- StreamCount = 4;
308
- CoupledCount = 2;
309
- ChannelMapping = {0, 4, 1, 2, 3, 5}; // front left, front center, front right,
310
- // rear left, rear right, LFE
311
- Here, to couple front left to front right channels into the first stream, and couple rear left to rear right
312
- channels into the second stream, reordering is needed since coupled streams must precede any non-coupled
313
- stream. You extract the four Opus bitstreams from this track and you encapsulate two of the four into a track
314
- and the others into another track. The former track is as follows.
315
- OutputChannelCount = 6;
316
- StreamCount = 2;
317
- CoupledCount = 2;
318
- ChannelMapping = {0, 255, 1, 2, 3, 255}; // front left, front center, front right,
319
- // rear left, rear right, LFE
320
- And the latter track is as follows.
321
- OutputChannelCount = 6;
322
- StreamCount = 2;
323
- CoupledCount = 0;
324
- ChannelMapping = {255, 0, 255, 255, 255, 1}; // front left, front center, front right,
325
- // rear left, rear right, LFE
326
- In addition, the value of the alternate_group field in the both tracks is set to 0. As the result, the player
327
- may play as if channels with 255 are not present, and play the presentation constructed from the both tracks
328
- in the same channel layout as the one of the original track. Keep in mind that the way of the composition, i.e.
329
- the mixing for playback, is not defined here, and maybe different results could occur except for the channel
330
- layout of the original, depending on an implementation or the definition of a derived file format.
331
-
332
- Note that some derived file formats may specify the restriction to ignore alternate grouping. In the context
333
- of such file formats, this application is not available. This unavailability does not mean incompatibilities
334
- among file formats unless the restriction to the value of the alternate_group field is specified and brings
335
- about any conflict among their definitions.
336
- <a name="4.6"></a>
337
- 4.6 Basic Structure (informative)
338
- 4.6.1 Initial Movie<a name="4.6.1"></a>
339
- This subclause shows a basic structure of the Movie Box as follows:
340
-
341
- +----+----+----+----+----+----+----+----+------------------------------+
342
- |moov| | | | | | | | Movie Box |
343
- +----+----+----+----+----+----+----+----+------------------------------+
344
- | |mvhd| | | | | | | Movie Header Box |
345
- +----+----+----+----+----+----+----+----+------------------------------+
346
- | |trak| | | | | | | Track Box |
347
- +----+----+----+----+----+----+----+----+------------------------------+
348
- | | |tkhd| | | | | | Track Header Box |
349
- +----+----+----+----+----+----+----+----+------------------------------+
350
- | | |edts| | | | | | Edit Box |
351
- +----+----+----+----+----+----+----+----+------------------------------+
352
- | | | |elst| | | | | Edit List Box |
353
- +----+----+----+----+----+----+----+----+------------------------------+
354
- | | |mdia| | | | | | Media Box |
355
- +----+----+----+----+----+----+----+----+------------------------------+
356
- | | | |mdhd| | | | | Media Header Box |
357
- +----+----+----+----+----+----+----+----+------------------------------+
358
- | | | |hdlr| | | | | Handler Reference Box |
359
- +----+----+----+----+----+----+----+----+------------------------------+
360
- | | | |minf| | | | | Media Information Box |
361
- +----+----+----+----+----+----+----+----+------------------------------+
362
- | | | | |smhd| | | | Sound Media Header Box |
363
- +----+----+----+----+----+----+----+----+------------------------------+
364
- | | | | |dinf| | | | Data Information Box |
365
- +----+----+----+----+----+----+----+----+------------------------------+
366
- | | | | | |dref| | | Data Reference Box |
367
- +----+----+----+----+----+----+----+----+------------------------------+
368
- | | | | | | |url | | DataEntryUrlBox |
369
- +----+----+----+----+----+----+ or +----+------------------------------+
370
- | | | | | | |urn | | DataEntryUrnBox |
371
- +----+----+----+----+----+----+----+----+------------------------------+
372
- | | | | |stbl| | | | Sample Table |
373
- +----+----+----+----+----+----+----+----+------------------------------+
374
- | | | | | |stsd| | | Sample Description Box |
375
- +----+----+----+----+----+----+----+----+------------------------------+
376
- | | | | | | |Opus| | OpusSampleEntry |
377
- +----+----+----+----+----+----+----+----+------------------------------+
378
- | | | | | | | |dOps| Opus Specific Box |
379
- +----+----+----+----+----+----+----+----+------------------------------+
380
- | | | | | |stts| | | Decoding Time to Sample Box |
381
- +----+----+----+----+----+----+----+----+------------------------------+
382
- | | | | | |stsc| | | Sample To Chunk Box |
383
- +----+----+----+----+----+----+----+----+------------------------------+
384
- | | | | | |stsz| | | Sample Size Box |
385
- +----+----+----+----+----+ or +----+----+------------------------------+
386
- | | | | | |stz2| | | Compact Sample Size Box |
387
- +----+----+----+----+----+----+----+----+------------------------------+
388
- | | | | | |stco| | | Chunk Offset Box |
389
- +----+----+----+----+----+ or +----+----+------------------------------+
390
- | | | | | |co64| | | Chunk Large Offset Box |
391
- +----+----+----+----+----+----+----+----+------------------------------+
392
- | | | | | |sgpd| | | Sample Group Description Box |
393
- +----+----+----+----+----+----+----+----+------------------------------+
394
- | | | | | |sbgp| | | Sample to Group Box |
395
- +----+----+----+----+----+----+----+----+------------------------------+
396
- | |mvex|* | | | | | | Movie Extends Box |
397
- +----+----+----+----+----+----+----+----+------------------------------+
398
- | | |trex|* | | | | | Track Extends Box |
399
- +----+----+----+----+----+----+----+----+------------------------------+
400
-
401
- Figure 2 - Basic structure of Movie Box
402
-
403
- It is strongly recommended that the order of boxes should follow the above structure.
404
- Boxes marked with an asterisk (*) may be present.
405
- For most boxes listed above, the definition is as is defined in ISO/IEC 14496-12 [1]. The additional boxes
406
- and the additional requirements, restrictions and recommendations to the other boxes are described in this
407
- specification.
408
-
409
- 4.6.2 Movie Fragments<a name="4.6.2"></a>
410
- This subclause shows a basic structure of the Movie Fragment Box as follows:
411
-
412
- +----+----+----+----+----+----+----+----+------------------------------+
413
- |moof| | | | | | | | Movie Fragment Box |
414
- +----+----+----+----+----+----+----+----+------------------------------+
415
- | |mfhd| | | | | | | Movie Fragment Header Box |
416
- +----+----+----+----+----+----+----+----+------------------------------+
417
- | |traf| | | | | | | Track Fragment Box |
418
- +----+----+----+----+----+----+----+----+------------------------------+
419
- | | |tfhd| | | | | | Track Fragment Header Box |
420
- +----+----+----+----+----+----+----+----+------------------------------+
421
- | | |trun| | | | | | Track Fragment Run Box |
422
- +----+----+----+----+----+----+----+----+------------------------------+
423
- | | |sgpd|* | | | | | Sample Group Description Box |
424
- +----+----+----+----+----+----+----+----+------------------------------+
425
- | | |sbgp| | | | | | Sample to Group Box |
426
- +----+----+----+----+----+----+----+----+------------------------------+
427
-
428
- Figure 3 - Basic structure of Movie Fragment Box
429
-
430
- It is strongly recommended that the Movie Fragment Header Box and the Track Fragment Header Box be
431
- placed first in their container.
432
- Boxes marked with an asterisk (*) may be present.
433
- For the boxes listed above, the definition is as is defined in ISO/IEC 14496-12 [1].
434
- <a name="4.7"></a>
435
- 4.7 Example of Encapsulation (informative)
436
- [File]
437
- size = 17757
438
- [ftyp: File Type Box]
439
- position = 0
440
- size = 24
441
- major_brand = Opus : Opus audio coding
442
- minor_version = 0
443
- compatible_brands
444
- brand[0] = Opus : Opus audio coding
445
- brand[1] = iso2 : ISO Base Media file format version 2
446
- [moov: Movie Box]
447
- position = 24
448
- size = 757
449
- [mvhd: Movie Header Box]
450
- position = 32
451
- size = 108
452
- version = 0
453
- flags = 0x000000
454
- creation_time = UTC 2014/12/12, 18:41:19
455
- modification_time = UTC 2014/12/12, 18:41:19
456
- timescale = 48000
457
- duration = 33600 (00:00:00.700)
458
- rate = 1.000000
459
- volume = 1.000000
460
- reserved = 0x0000
461
- reserved = 0x00000000
462
- reserved = 0x00000000
463
- transformation matrix
464
- | a, b, u | | 1.000000, 0.000000, 0.000000 |
465
- | c, d, v | = | 0.000000, 1.000000, 0.000000 |
466
- | x, y, w | | 0.000000, 0.000000, 1.000000 |
467
- pre_defined = 0x00000000
468
- pre_defined = 0x00000000
469
- pre_defined = 0x00000000
470
- pre_defined = 0x00000000
471
- pre_defined = 0x00000000
472
- pre_defined = 0x00000000
473
- next_track_ID = 2
474
- [trak: Track Box]
475
- position = 140
476
- size = 608
477
- [tkhd: Track Header Box]
478
- position = 148
479
- size = 92
480
- version = 0
481
- flags = 0x000007
482
- Track enabled
483
- Track in movie
484
- Track in preview
485
- creation_time = UTC 2014/12/12, 18:41:19
486
- modification_time = UTC 2014/12/12, 18:41:19
487
- track_ID = 1
488
- reserved = 0x00000000
489
- duration = 33600 (00:00:00.700)
490
- reserved = 0x00000000
491
- reserved = 0x00000000
492
- layer = 0
493
- alternate_group = 0
494
- volume = 1.000000
495
- reserved = 0x0000
496
- transformation matrix
497
- | a, b, u | | 1.000000, 0.000000, 0.000000 |
498
- | c, d, v | = | 0.000000, 1.000000, 0.000000 |
499
- | x, y, w | | 0.000000, 0.000000, 1.000000 |
500
- width = 0.000000
501
- height = 0.000000
502
- [edts: Edit Box]
503
- position = 240
504
- size = 36
505
- [elst: Edit List Box]
506
- position = 281
507
- size = 28
508
- version = 0
509
- flags = 0x000000
510
- entry_count = 1
511
- entry[0]
512
- segment_duration = 33600
513
- media_time = 312
514
- media_rate = 1.000000
515
- [mdia: Media Box]
516
- position = 276
517
- size = 472
518
- [mdhd: Media Header Box]
519
- position = 284
520
- size = 32
521
- version = 0
522
- flags = 0x000000
523
- creation_time = UTC 2014/12/12, 18:41:19
524
- modification_time = UTC 2014/12/12, 18:41:19
525
- timescale = 48000
526
- duration = 34560 (00:00:00.720)
527
- language = und
528
- pre_defined = 0x0000
529
- [hdlr: Handler Reference Box]
530
- position = 316
531
- size = 51
532
- version = 0
533
- flags = 0x000000
534
- pre_defined = 0x00000000
535
- handler_type = soun
536
- reserved = 0x00000000
537
- reserved = 0x00000000
538
- reserved = 0x00000000
539
- name = Xiph Audio Handler
540
- [minf: Media Information Box]
541
- position = 367
542
- size = 381
543
- [smhd: Sound Media Header Box]
544
- position = 375
545
- size = 16
546
- version = 0
547
- flags = 0x000000
548
- balance = 0.000000
549
- reserved = 0x0000
550
- [dinf: Data Information Box]
551
- position = 391
552
- size = 36
553
- [dref: Data Reference Box]
554
- position = 399
555
- size = 28
556
- version = 0
557
- flags = 0x000000
558
- entry_count = 1
559
- [url : Data Entry Url Box]
560
- position = 415
561
- size = 12
562
- version = 0
563
- flags = 0x000001
564
- location = in the same file
565
- [stbl: Sample Table Box]
566
- position = 427
567
- size = 321
568
- [stsd: Sample Description Box]
569
- position = 435
570
- size = 79
571
- version = 0
572
- flags = 0x000000
573
- entry_count = 1
574
- [Opus: Audio Description]
575
- position = 451
576
- size = 63
577
- reserved = 0x000000000000
578
- data_reference_index = 1
579
- reserved = 0x0000
580
- reserved = 0x0000
581
- reserved = 0x00000000
582
- channelcount = 6
583
- samplesize = 16
584
- pre_defined = 0
585
- reserved = 0
586
- samplerate = 48000.000000
587
- [dOps: Opus Specific Box]
588
- position = 487
589
- size = 27
590
- Version = 0
591
- OutputChannelCount = 6
592
- PreSkip = 312
593
- InputSampleRate = 48000
594
- OutputGain = 0
595
- ChannelMappingFamily = 1
596
- StreamCount = 4
597
- CoupledCount = 2
598
- ChannelMapping
599
- 0 -> 0: front left
600
- 1 -> 4: fron center
601
- 2 -> 1: front right
602
- 3 -> 2: side left
603
- 4 -> 3: side right
604
- 5 -> 5: rear center
605
- [stts: Decoding Time to Sample Box]
606
- position = 514
607
- size = 24
608
- version = 0
609
- flags = 0x000000
610
- entry_count = 1
611
- entry[0]
612
- sample_count = 18
613
- sample_delta = 1920
614
- [stsc: Sample To Chunk Box]
615
- position = 538
616
- size = 40
617
- version = 0
618
- flags = 0x000000
619
- entry_count = 2
620
- entry[0]
621
- first_chunk = 1
622
- samples_per_chunk = 13
623
- sample_description_index = 1
624
- entry[1]
625
- first_chunk = 2
626
- samples_per_chunk = 5
627
- sample_description_index = 1
628
- [stsz: Sample Size Box]
629
- position = 578
630
- size = 92
631
- version = 0
632
- flags = 0x000000
633
- sample_size = 0 (variable)
634
- sample_count = 18
635
- entry_size[0] = 977
636
- entry_size[1] = 938
637
- entry_size[2] = 939
638
- entry_size[3] = 938
639
- entry_size[4] = 934
640
- entry_size[5] = 945
641
- entry_size[6] = 948
642
- entry_size[7] = 956
643
- entry_size[8] = 955
644
- entry_size[9] = 930
645
- entry_size[10] = 933
646
- entry_size[11] = 934
647
- entry_size[12] = 972
648
- entry_size[13] = 977
649
- entry_size[14] = 958
650
- entry_size[15] = 949
651
- entry_size[16] = 962
652
- entry_size[17] = 848
653
- [stco: Chunk Offset Box]
654
- position = 670
655
- size = 24
656
- version = 0
657
- flags = 0x000000
658
- entry_count = 2
659
- chunk_offset[0] = 797
660
- chunk_offset[1] = 13096
661
- [sgpd: Sample Group Description Box]
662
- position = 694
663
- size = 26
664
- version = 1
665
- flags = 0x000000
666
- grouping_type = roll
667
- default_length = 2 (constant)
668
- entry_count = 1
669
- roll_distance[0] = -2
670
- [sbgp: Sample to Group Box]
671
- position = 720
672
- size = 28
673
- version = 0
674
- flags = 0x000000
675
- grouping_type = roll
676
- entry_count = 1
677
- entry[0]
678
- sample_count = 18
679
- group_description_index = 1
680
- [free: Free Space Box]
681
- position = 748
682
- size = 8
683
- [mdat: Media Data Box]
684
- position = 756
685
- size = 17001
686
- <a name="5"></a>
687
- 5 Authors' Address
688
- Yusuke Nakamura
689
- Email: muken.the.vfrmaniac |at| gmail.com
690
- </div>
691
- </body>
692
- </html>