cricodecs 1.0.0__tar.gz

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 (190) hide show
  1. cricodecs-1.0.0/CMakeLists.txt +161 -0
  2. cricodecs-1.0.0/CriCodecs/cmake/CriCodecsConfig.cmake.in +11 -0
  3. cricodecs-1.0.0/CriCodecs/include/cricodecs/cricodecs.hpp +42 -0
  4. cricodecs-1.0.0/CriCodecs/include/cricodecs/version.hpp.in +16 -0
  5. cricodecs-1.0.0/CriCodecs/src/aax/aax_container.cpp +640 -0
  6. cricodecs-1.0.0/CriCodecs/src/aax/aax_container.hpp +107 -0
  7. cricodecs-1.0.0/CriCodecs/src/acb/acb_builder.cpp +328 -0
  8. cricodecs-1.0.0/CriCodecs/src/acb/acb_commands.cpp +118 -0
  9. cricodecs-1.0.0/CriCodecs/src/acb/acb_commands.hpp +429 -0
  10. cricodecs-1.0.0/CriCodecs/src/acb/acb_container.cpp +109 -0
  11. cricodecs-1.0.0/CriCodecs/src/acb/acb_container.hpp +288 -0
  12. cricodecs-1.0.0/CriCodecs/src/acb/acb_reader.cpp +727 -0
  13. cricodecs-1.0.0/CriCodecs/src/acx/acx_builder.cpp +305 -0
  14. cricodecs-1.0.0/CriCodecs/src/acx/acx_builder.hpp +53 -0
  15. cricodecs-1.0.0/CriCodecs/src/acx/acx_container.cpp +150 -0
  16. cricodecs-1.0.0/CriCodecs/src/acx/acx_container.hpp +129 -0
  17. cricodecs-1.0.0/CriCodecs/src/acx/acx_reader.cpp +153 -0
  18. cricodecs-1.0.0/CriCodecs/src/adx/adx_codec.hpp +214 -0
  19. cricodecs-1.0.0/CriCodecs/src/adx/adx_crypto.hpp +86 -0
  20. cricodecs-1.0.0/CriCodecs/src/adx/adx_decoder.cpp +719 -0
  21. cricodecs-1.0.0/CriCodecs/src/adx/adx_encoder.cpp +605 -0
  22. cricodecs-1.0.0/CriCodecs/src/adx/adx_key_recovery.cpp +624 -0
  23. cricodecs-1.0.0/CriCodecs/src/adx/adx_key_recovery.hpp +80 -0
  24. cricodecs-1.0.0/CriCodecs/src/afs/afs_builder.cpp +677 -0
  25. cricodecs-1.0.0/CriCodecs/src/afs/afs_container.cpp +365 -0
  26. cricodecs-1.0.0/CriCodecs/src/afs/afs_container.hpp +185 -0
  27. cricodecs-1.0.0/CriCodecs/src/afs/afs_format.hpp +98 -0
  28. cricodecs-1.0.0/CriCodecs/src/afs/afs_reader.cpp +213 -0
  29. cricodecs-1.0.0/CriCodecs/src/ahx/ahx_allocation_tables.hpp +262 -0
  30. cricodecs-1.0.0/CriCodecs/src/ahx/ahx_bit_allocation.hpp +88 -0
  31. cricodecs-1.0.0/CriCodecs/src/ahx/ahx_codec.hpp +82 -0
  32. cricodecs-1.0.0/CriCodecs/src/ahx/ahx_decoder.cpp +503 -0
  33. cricodecs-1.0.0/CriCodecs/src/ahx/ahx_encoder.cpp +469 -0
  34. cricodecs-1.0.0/CriCodecs/src/ahx/ahx_format.hpp +61 -0
  35. cricodecs-1.0.0/CriCodecs/src/ahx/ahx_key_recovery.cpp +462 -0
  36. cricodecs-1.0.0/CriCodecs/src/ahx/ahx_key_recovery.hpp +68 -0
  37. cricodecs-1.0.0/CriCodecs/src/ahx/ahx_signal_tables.hpp +158 -0
  38. cricodecs-1.0.0/CriCodecs/src/ahx/ahx_table_checks.hpp +173 -0
  39. cricodecs-1.0.0/CriCodecs/src/aix/aix_builder.cpp +615 -0
  40. cricodecs-1.0.0/CriCodecs/src/aix/aix_container.hpp +145 -0
  41. cricodecs-1.0.0/CriCodecs/src/aix/aix_reader.cpp +479 -0
  42. cricodecs-1.0.0/CriCodecs/src/awb/awb_aac_encryption.hpp +170 -0
  43. cricodecs-1.0.0/CriCodecs/src/awb/awb_aac_key_recovery.cpp +550 -0
  44. cricodecs-1.0.0/CriCodecs/src/awb/awb_aac_key_recovery.hpp +47 -0
  45. cricodecs-1.0.0/CriCodecs/src/awb/awb_container.hpp +730 -0
  46. cricodecs-1.0.0/CriCodecs/src/awb/awb_entry_codec.hpp +133 -0
  47. cricodecs-1.0.0/CriCodecs/src/cli/cli.cpp +342 -0
  48. cricodecs-1.0.0/CriCodecs/src/cli/cli.hpp +52 -0
  49. cricodecs-1.0.0/CriCodecs/src/cli/cli_common.cpp +387 -0
  50. cricodecs-1.0.0/CriCodecs/src/cli/cli_export.cpp +671 -0
  51. cricodecs-1.0.0/CriCodecs/src/cli/cli_internal.hpp +275 -0
  52. cricodecs-1.0.0/CriCodecs/src/cli/cli_key_recovery.cpp +821 -0
  53. cricodecs-1.0.0/CriCodecs/src/cli/cli_maker.cpp +841 -0
  54. cricodecs-1.0.0/CriCodecs/src/cli/cli_metadata.cpp +370 -0
  55. cricodecs-1.0.0/CriCodecs/src/cli/cli_parse.cpp +415 -0
  56. cricodecs-1.0.0/CriCodecs/src/cli/cli_probe.cpp +382 -0
  57. cricodecs-1.0.0/CriCodecs/src/cli/cricodecs_cli_main.cpp +14 -0
  58. cricodecs-1.0.0/CriCodecs/src/cpk/cpk_builder.cpp +978 -0
  59. cricodecs-1.0.0/CriCodecs/src/cpk/cpk_container.hpp +418 -0
  60. cricodecs-1.0.0/CriCodecs/src/cpk/cpk_reader.cpp +1260 -0
  61. cricodecs-1.0.0/CriCodecs/src/cpk/crilayla.cpp +625 -0
  62. cricodecs-1.0.0/CriCodecs/src/cpk/crilayla.hpp +46 -0
  63. cricodecs-1.0.0/CriCodecs/src/csb/csb_builder.cpp +560 -0
  64. cricodecs-1.0.0/CriCodecs/src/csb/csb_container.cpp +58 -0
  65. cricodecs-1.0.0/CriCodecs/src/csb/csb_container.hpp +173 -0
  66. cricodecs-1.0.0/CriCodecs/src/csb/csb_format.hpp +151 -0
  67. cricodecs-1.0.0/CriCodecs/src/csb/csb_reader.cpp +482 -0
  68. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_build_script.cpp +676 -0
  69. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_build_script.hpp +85 -0
  70. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_builder.cpp +893 -0
  71. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_builder.hpp +88 -0
  72. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_container.cpp +766 -0
  73. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_container.hpp +266 -0
  74. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_crypto.hpp +207 -0
  75. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_key_recovery.cpp +126 -0
  76. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_key_recovery.hpp +25 -0
  77. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_path.hpp +76 -0
  78. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_reader.cpp +619 -0
  79. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_volume_set.cpp +1177 -0
  80. cricodecs-1.0.0/CriCodecs/src/cvm/cvm_volume_set.hpp +216 -0
  81. cricodecs-1.0.0/CriCodecs/src/hca/hca_codec.hpp +184 -0
  82. cricodecs-1.0.0/CriCodecs/src/hca/hca_crypto.cpp +185 -0
  83. cricodecs-1.0.0/CriCodecs/src/hca/hca_crypto.hpp +164 -0
  84. cricodecs-1.0.0/CriCodecs/src/hca/hca_decoder.cpp +558 -0
  85. cricodecs-1.0.0/CriCodecs/src/hca/hca_encoder.cpp +1058 -0
  86. cricodecs-1.0.0/CriCodecs/src/hca/hca_format.hpp +80 -0
  87. cricodecs-1.0.0/CriCodecs/src/hca/hca_frame.hpp +108 -0
  88. cricodecs-1.0.0/CriCodecs/src/hca/hca_header.hpp +166 -0
  89. cricodecs-1.0.0/CriCodecs/src/hca/hca_key_recovery.cpp +1574 -0
  90. cricodecs-1.0.0/CriCodecs/src/hca/hca_key_recovery.hpp +41 -0
  91. cricodecs-1.0.0/CriCodecs/src/hca/hca_key_recovery_models.inc +1777 -0
  92. cricodecs-1.0.0/CriCodecs/src/hca/hca_packing.cpp +135 -0
  93. cricodecs-1.0.0/CriCodecs/src/hca/hca_packing.hpp +17 -0
  94. cricodecs-1.0.0/CriCodecs/src/hca/hca_reader.cpp +216 -0
  95. cricodecs-1.0.0/CriCodecs/src/hca/hca_reader.hpp +13 -0
  96. cricodecs-1.0.0/CriCodecs/src/hca/hca_table_checks.hpp +152 -0
  97. cricodecs-1.0.0/CriCodecs/src/hca/hca_tables.hpp +369 -0
  98. cricodecs-1.0.0/CriCodecs/src/hca/hca_transform.cpp +205 -0
  99. cricodecs-1.0.0/CriCodecs/src/hca/hca_transform.hpp +16 -0
  100. cricodecs-1.0.0/CriCodecs/src/key_recovery/key_recovery.hpp +46 -0
  101. cricodecs-1.0.0/CriCodecs/src/sfd/sfd_builder.cpp +1050 -0
  102. cricodecs-1.0.0/CriCodecs/src/sfd/sfd_container.cpp +238 -0
  103. cricodecs-1.0.0/CriCodecs/src/sfd/sfd_container.hpp +207 -0
  104. cricodecs-1.0.0/CriCodecs/src/sfd/sfd_reader.cpp +531 -0
  105. cricodecs-1.0.0/CriCodecs/src/usm/usm_adx_key_recovery.cpp +326 -0
  106. cricodecs-1.0.0/CriCodecs/src/usm/usm_builder.cpp +1460 -0
  107. cricodecs-1.0.0/CriCodecs/src/usm/usm_container.hpp +709 -0
  108. cricodecs-1.0.0/CriCodecs/src/usm/usm_crypto.cpp +219 -0
  109. cricodecs-1.0.0/CriCodecs/src/usm/usm_crypto.hpp +48 -0
  110. cricodecs-1.0.0/CriCodecs/src/usm/usm_key_recovery.cpp +870 -0
  111. cricodecs-1.0.0/CriCodecs/src/usm/usm_key_recovery.hpp +51 -0
  112. cricodecs-1.0.0/CriCodecs/src/usm/usm_key_recovery_internal.hpp +20 -0
  113. cricodecs-1.0.0/CriCodecs/src/usm/usm_reader.cpp +808 -0
  114. cricodecs-1.0.0/CriCodecs/src/usm/usm_subtitle.cpp +627 -0
  115. cricodecs-1.0.0/CriCodecs/src/utf/utf_builder.cpp +490 -0
  116. cricodecs-1.0.0/CriCodecs/src/utf/utf_reader.cpp +179 -0
  117. cricodecs-1.0.0/CriCodecs/src/utf/utf_table.cpp +395 -0
  118. cricodecs-1.0.0/CriCodecs/src/utf/utf_table.hpp +277 -0
  119. cricodecs-1.0.0/CriCodecs/src/utilities/crc.hpp +87 -0
  120. cricodecs-1.0.0/CriCodecs/src/utilities/flat_unordered_map.hpp +539 -0
  121. cricodecs-1.0.0/CriCodecs/src/utilities/io.hpp +4 -0
  122. cricodecs-1.0.0/CriCodecs/src/utilities/io_endian.hpp +166 -0
  123. cricodecs-1.0.0/CriCodecs/src/utilities/io_reader.hpp +313 -0
  124. cricodecs-1.0.0/CriCodecs/src/utilities/io_reader_fallback.cpp +183 -0
  125. cricodecs-1.0.0/CriCodecs/src/utilities/io_reader_platform.cpp +9 -0
  126. cricodecs-1.0.0/CriCodecs/src/utilities/io_reader_posix.cpp +171 -0
  127. cricodecs-1.0.0/CriCodecs/src/utilities/io_reader_windows.cpp +192 -0
  128. cricodecs-1.0.0/CriCodecs/src/utilities/io_writer.hpp +113 -0
  129. cricodecs-1.0.0/CriCodecs/src/utilities/io_writer_fallback.cpp +220 -0
  130. cricodecs-1.0.0/CriCodecs/src/utilities/io_writer_platform.cpp +9 -0
  131. cricodecs-1.0.0/CriCodecs/src/utilities/io_writer_posix.cpp +276 -0
  132. cricodecs-1.0.0/CriCodecs/src/utilities/io_writer_windows.cpp +252 -0
  133. cricodecs-1.0.0/CriCodecs/src/utilities/numeric.hpp +387 -0
  134. cricodecs-1.0.0/CriCodecs/src/utilities/primes.hpp +96 -0
  135. cricodecs-1.0.0/CriCodecs/src/utilities/scan.hpp +23 -0
  136. cricodecs-1.0.0/CriCodecs/src/utilities/string.hpp +90 -0
  137. cricodecs-1.0.0/CriCodecs/src/utilities/text_encoding.cpp +307 -0
  138. cricodecs-1.0.0/CriCodecs/src/utilities/text_encoding.hpp +45 -0
  139. cricodecs-1.0.0/CriCodecs/src/video/h264.cpp +632 -0
  140. cricodecs-1.0.0/CriCodecs/src/video/h264.hpp +90 -0
  141. cricodecs-1.0.0/CriCodecs/src/video/ivf.cpp +179 -0
  142. cricodecs-1.0.0/CriCodecs/src/video/ivf.hpp +69 -0
  143. cricodecs-1.0.0/CriCodecs/src/video/mpeg.cpp +327 -0
  144. cricodecs-1.0.0/CriCodecs/src/video/mpeg.hpp +113 -0
  145. cricodecs-1.0.0/CriCodecs/src/wav/wav_container.cpp +784 -0
  146. cricodecs-1.0.0/CriCodecs/src/wav/wav_container.hpp +152 -0
  147. cricodecs-1.0.0/PKG-INFO +451 -0
  148. cricodecs-1.0.0/PyCriCodecs/CMakeLists.txt +110 -0
  149. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/__init__.pyi +7 -0
  150. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/aax.pyi +58 -0
  151. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/acb.pyi +55 -0
  152. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/acx.pyi +72 -0
  153. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/adx.pyi +98 -0
  154. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/afs.pyi +110 -0
  155. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/ahx.pyi +58 -0
  156. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/aix.pyi +63 -0
  157. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/awb.pyi +77 -0
  158. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/cpk.pyi +109 -0
  159. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/csb.pyi +75 -0
  160. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/cvm.pyi +284 -0
  161. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/hca.pyi +140 -0
  162. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/py.typed +1 -0
  163. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/sfd.pyi +150 -0
  164. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/usm.pyi +164 -0
  165. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/utf.pyi +109 -0
  166. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/video.pyi +83 -0
  167. cricodecs-1.0.0/PyCriCodecs/package/cricodecs/wav.pyi +78 -0
  168. cricodecs-1.0.0/PyCriCodecs/src/aax_bindings.cpp +203 -0
  169. cricodecs-1.0.0/PyCriCodecs/src/acb_bindings.cpp +239 -0
  170. cricodecs-1.0.0/PyCriCodecs/src/acx_bindings.cpp +406 -0
  171. cricodecs-1.0.0/PyCriCodecs/src/adx_bindings.cpp +348 -0
  172. cricodecs-1.0.0/PyCriCodecs/src/afs_bindings.cpp +489 -0
  173. cricodecs-1.0.0/PyCriCodecs/src/ahx_bindings.cpp +352 -0
  174. cricodecs-1.0.0/PyCriCodecs/src/aix_bindings.cpp +280 -0
  175. cricodecs-1.0.0/PyCriCodecs/src/awb_bindings.cpp +362 -0
  176. cricodecs-1.0.0/PyCriCodecs/src/binding_helpers.hpp +466 -0
  177. cricodecs-1.0.0/PyCriCodecs/src/cpk_bindings.cpp +414 -0
  178. cricodecs-1.0.0/PyCriCodecs/src/csb_bindings.cpp +299 -0
  179. cricodecs-1.0.0/PyCriCodecs/src/cvm_bindings.cpp +854 -0
  180. cricodecs-1.0.0/PyCriCodecs/src/hca_bindings.cpp +414 -0
  181. cricodecs-1.0.0/PyCriCodecs/src/module.cpp +423 -0
  182. cricodecs-1.0.0/PyCriCodecs/src/sfd_bindings.cpp +347 -0
  183. cricodecs-1.0.0/PyCriCodecs/src/usm_bindings.cpp +665 -0
  184. cricodecs-1.0.0/PyCriCodecs/src/utf_bindings.cpp +935 -0
  185. cricodecs-1.0.0/PyCriCodecs/src/video_bindings.cpp +178 -0
  186. cricodecs-1.0.0/PyCriCodecs/src/wav_bindings.cpp +218 -0
  187. cricodecs-1.0.0/README.md +444 -0
  188. cricodecs-1.0.0/USAGE.md +310 -0
  189. cricodecs-1.0.0/cricodecs_library.cmake +203 -0
  190. cricodecs-1.0.0/pyproject.toml +53 -0
@@ -0,0 +1,161 @@
1
+ cmake_minimum_required(VERSION 3.20...4.2)
2
+ set(CRICODECS_VERSION "1.0.0" CACHE STRING "CriCodecs release version")
3
+ string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" cricodecs_numeric_version "${CRICODECS_VERSION}")
4
+ if(NOT cricodecs_numeric_version)
5
+ message(FATAL_ERROR "CRICODECS_VERSION must begin with major.minor.patch")
6
+ endif()
7
+ set(CRICODECS_VERSION_MAJOR "${CMAKE_MATCH_1}")
8
+ set(CRICODECS_VERSION_MINOR "${CMAKE_MATCH_2}")
9
+ set(CRICODECS_VERSION_PATCH "${CMAKE_MATCH_3}")
10
+ project(CriCodecs VERSION "${cricodecs_numeric_version}" LANGUAGES CXX)
11
+
12
+ option(CRICODECS_BUILD_PYTHON "Build the experimental Python binding prototype" OFF)
13
+ option(CRICODECS_BUILD_CLI "Build the shared CriCodecs CLI executable" ON)
14
+ option(CRICODECS_BUILD_CRISTUDIO "Build the CriStudio desktop GUI" OFF)
15
+ option(BUILD_SHARED_LIBS "Build CriCodecs as a shared library" OFF)
16
+ if(PROJECT_IS_TOP_LEVEL)
17
+ set(cricodecs_install_cpp_default ON)
18
+ else()
19
+ set(cricodecs_install_cpp_default OFF)
20
+ endif()
21
+ option(CRICODECS_INSTALL_CPP "Install the standalone C++ library and CMake package" ${cricodecs_install_cpp_default})
22
+
23
+ set(CRICODECS_REPO_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
24
+ include(${CMAKE_CURRENT_SOURCE_DIR}/cricodecs_library.cmake)
25
+
26
+ cricodecs_add_library(CriCodecs)
27
+
28
+ if(CRICODECS_INSTALL_CPP)
29
+ include(GNUInstallDirs)
30
+ include(CMakePackageConfigHelpers)
31
+
32
+ install(
33
+ TARGETS CriCodecs
34
+ EXPORT CriCodecsTargets
35
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
36
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
37
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
38
+ )
39
+ install(
40
+ FILES "${CMAKE_CURRENT_SOURCE_DIR}/CriCodecs/include/cricodecs/cricodecs.hpp"
41
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/cricodecs"
42
+ )
43
+ get_target_property(cricodecs_generated_version_header CriCodecs CRICODECS_GENERATED_VERSION_HEADER)
44
+ install(
45
+ FILES "${cricodecs_generated_version_header}"
46
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/cricodecs"
47
+ )
48
+ set(cricodecs_public_headers
49
+ aax/aax_container.hpp
50
+ acb/acb_commands.hpp
51
+ acb/acb_container.hpp
52
+ acx/acx_builder.hpp
53
+ acx/acx_container.hpp
54
+ adx/adx_codec.hpp
55
+ adx/adx_crypto.hpp
56
+ adx/adx_key_recovery.hpp
57
+ afs/afs_container.hpp
58
+ ahx/ahx_allocation_tables.hpp
59
+ ahx/ahx_bit_allocation.hpp
60
+ ahx/ahx_codec.hpp
61
+ ahx/ahx_format.hpp
62
+ ahx/ahx_key_recovery.hpp
63
+ ahx/ahx_signal_tables.hpp
64
+ ahx/ahx_table_checks.hpp
65
+ aix/aix_container.hpp
66
+ awb/awb_aac_encryption.hpp
67
+ awb/awb_aac_key_recovery.hpp
68
+ awb/awb_container.hpp
69
+ awb/awb_entry_codec.hpp
70
+ cpk/cpk_container.hpp
71
+ csb/csb_container.hpp
72
+ cvm/cvm_build_script.hpp
73
+ cvm/cvm_builder.hpp
74
+ cvm/cvm_container.hpp
75
+ cvm/cvm_key_recovery.hpp
76
+ cvm/cvm_volume_set.hpp
77
+ hca/hca_codec.hpp
78
+ hca/hca_format.hpp
79
+ hca/hca_header.hpp
80
+ hca/hca_key_recovery.hpp
81
+ key_recovery/key_recovery.hpp
82
+ sfd/sfd_container.hpp
83
+ usm/usm_container.hpp
84
+ usm/usm_crypto.hpp
85
+ usm/usm_key_recovery.hpp
86
+ utf/utf_table.hpp
87
+ utilities/flat_unordered_map.hpp
88
+ utilities/io.hpp
89
+ utilities/io_endian.hpp
90
+ utilities/io_reader.hpp
91
+ utilities/io_writer.hpp
92
+ utilities/numeric.hpp
93
+ utilities/primes.hpp
94
+ utilities/text_encoding.hpp
95
+ video/h264.hpp
96
+ video/ivf.hpp
97
+ video/mpeg.hpp
98
+ wav/wav_container.hpp
99
+ )
100
+ foreach(cricodecs_public_header IN LISTS cricodecs_public_headers)
101
+ get_filename_component(cricodecs_public_header_dir "${cricodecs_public_header}" DIRECTORY)
102
+ install(
103
+ FILES "${CMAKE_CURRENT_SOURCE_DIR}/CriCodecs/src/${cricodecs_public_header}"
104
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/cricodecs/${cricodecs_public_header_dir}"
105
+ )
106
+ endforeach()
107
+
108
+ get_target_property(CRICODECS_PACKAGE_NEEDS_ICONV CriCodecs CRICODECS_PACKAGE_NEEDS_ICONV)
109
+ set(cricodecs_package_dir "${CMAKE_INSTALL_LIBDIR}/cmake/CriCodecs")
110
+ configure_package_config_file(
111
+ "${CMAKE_CURRENT_SOURCE_DIR}/CriCodecs/cmake/CriCodecsConfig.cmake.in"
112
+ "${CMAKE_CURRENT_BINARY_DIR}/CriCodecsConfig.cmake"
113
+ INSTALL_DESTINATION "${cricodecs_package_dir}"
114
+ )
115
+ write_basic_package_version_file(
116
+ "${CMAKE_CURRENT_BINARY_DIR}/CriCodecsConfigVersion.cmake"
117
+ VERSION "${PROJECT_VERSION}"
118
+ COMPATIBILITY SameMajorVersion
119
+ )
120
+ install(
121
+ EXPORT CriCodecsTargets
122
+ FILE CriCodecsTargets.cmake
123
+ NAMESPACE CriCodecs::
124
+ DESTINATION "${cricodecs_package_dir}"
125
+ )
126
+ install(
127
+ FILES
128
+ "${CMAKE_CURRENT_BINARY_DIR}/CriCodecsConfig.cmake"
129
+ "${CMAKE_CURRENT_BINARY_DIR}/CriCodecsConfigVersion.cmake"
130
+ DESTINATION "${cricodecs_package_dir}"
131
+ )
132
+ endif()
133
+
134
+ if(CRICODECS_BUILD_CLI)
135
+ add_executable(cricodecs_cli
136
+ CriCodecs/src/cli/cricodecs_cli_main.cpp
137
+ )
138
+ target_link_libraries(cricodecs_cli PRIVATE CriCodecs)
139
+ target_compile_features(cricodecs_cli PRIVATE cxx_std_23)
140
+ set_target_properties(cricodecs_cli PROPERTIES
141
+ OUTPUT_NAME cricodecs
142
+ )
143
+ if(NOT CRICODECS_BUILD_PYTHON)
144
+ install(TARGETS cricodecs_cli RUNTIME DESTINATION .)
145
+ if(WIN32 AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.21")
146
+ install(
147
+ FILES $<TARGET_RUNTIME_DLLS:cricodecs_cli>
148
+ DESTINATION .
149
+ OPTIONAL
150
+ )
151
+ endif()
152
+ endif()
153
+ endif()
154
+
155
+ if(CRICODECS_BUILD_PYTHON)
156
+ add_subdirectory(PyCriCodecs)
157
+ endif()
158
+
159
+ if(CRICODECS_BUILD_CRISTUDIO)
160
+ add_subdirectory(CriStudio)
161
+ endif()
@@ -0,0 +1,11 @@
1
+ @PACKAGE_INIT@
2
+
3
+ include(CMakeFindDependencyMacro)
4
+ find_dependency(Threads)
5
+
6
+ if(@CRICODECS_PACKAGE_NEEDS_ICONV@)
7
+ find_dependency(Iconv)
8
+ endif()
9
+
10
+ include("${CMAKE_CURRENT_LIST_DIR}/CriCodecsTargets.cmake")
11
+ check_required_components(CriCodecs)
@@ -0,0 +1,42 @@
1
+ #pragma once
2
+ /**
3
+ * @file cricodecs.hpp
4
+ * @brief Umbrella header for the supported CriCodecs C++ API.
5
+ *
6
+ * Applications may include this file for the complete public surface or include
7
+ * individual format headers from <cricodecs/...> to reduce compile time.
8
+ */
9
+
10
+ #include <cricodecs/version.hpp>
11
+
12
+ #include "aax/aax_container.hpp"
13
+ #include "acb/acb_commands.hpp"
14
+ #include "acb/acb_container.hpp"
15
+ #include "acx/acx_builder.hpp"
16
+ #include "acx/acx_container.hpp"
17
+ #include "adx/adx_codec.hpp"
18
+ #include "adx/adx_key_recovery.hpp"
19
+ #include "afs/afs_container.hpp"
20
+ #include "ahx/ahx_codec.hpp"
21
+ #include "ahx/ahx_key_recovery.hpp"
22
+ #include "aix/aix_container.hpp"
23
+ #include "awb/awb_aac_encryption.hpp"
24
+ #include "awb/awb_aac_key_recovery.hpp"
25
+ #include "awb/awb_container.hpp"
26
+ #include "cpk/cpk_container.hpp"
27
+ #include "csb/csb_container.hpp"
28
+ #include "cvm/cvm_build_script.hpp"
29
+ #include "cvm/cvm_builder.hpp"
30
+ #include "cvm/cvm_container.hpp"
31
+ #include "cvm/cvm_volume_set.hpp"
32
+ #include "hca/hca_codec.hpp"
33
+ #include "hca/hca_key_recovery.hpp"
34
+ #include "key_recovery/key_recovery.hpp"
35
+ #include "sfd/sfd_container.hpp"
36
+ #include "usm/usm_container.hpp"
37
+ #include "usm/usm_key_recovery.hpp"
38
+ #include "utf/utf_table.hpp"
39
+ #include "video/h264.hpp"
40
+ #include "video/ivf.hpp"
41
+ #include "video/mpeg.hpp"
42
+ #include "wav/wav_container.hpp"
@@ -0,0 +1,16 @@
1
+ #pragma once
2
+ /**
3
+ * @file version.hpp
4
+ * @brief Compile-time CriCodecs version information.
5
+ */
6
+
7
+ #include <string_view>
8
+
9
+ namespace cricodecs {
10
+
11
+ inline constexpr int version_major = @CRICODECS_VERSION_MAJOR@;
12
+ inline constexpr int version_minor = @CRICODECS_VERSION_MINOR@;
13
+ inline constexpr int version_patch = @CRICODECS_VERSION_PATCH@;
14
+ inline constexpr std::string_view version = "@CRICODECS_VERSION@";
15
+
16
+ } // namespace cricodecs