bare-ffmpeg 1.0.0-3 → 1.0.0-31

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 (51) hide show
  1. package/CMakeLists.txt +10 -3
  2. package/README.md +1811 -0
  3. package/binding.cc +4638 -0
  4. package/cmake/ports/ffmpeg/port.cmake +514 -0
  5. package/cmake/ports/opus/patches/01-windows-clang.patch +52 -0
  6. package/cmake/ports/opus/port.cmake +42 -0
  7. package/cmake/ports/svt-av1/port.cmake +42 -0
  8. package/cmake/ports/x264/patches/01-windows-clang.patch +33 -0
  9. package/cmake/ports/x264/port.cmake +157 -0
  10. package/index.js +22 -4
  11. package/lib/audio-fifo.js +47 -0
  12. package/lib/channel-layout.js +35 -0
  13. package/lib/codec-context.js +210 -16
  14. package/lib/codec-parameters.js +242 -8
  15. package/lib/codec.js +19 -1
  16. package/lib/constants.js +245 -9
  17. package/lib/dictionary.js +28 -15
  18. package/lib/errors.js +38 -0
  19. package/lib/filter-context.js +7 -0
  20. package/lib/filter-graph.js +47 -0
  21. package/lib/filter-inout.js +55 -0
  22. package/lib/filter.js +7 -0
  23. package/lib/format-context.js +72 -31
  24. package/lib/frame.js +88 -22
  25. package/lib/image.js +22 -0
  26. package/lib/input-format.js +36 -4
  27. package/lib/io-context.js +36 -6
  28. package/lib/log.js +16 -0
  29. package/lib/output-format.js +33 -2
  30. package/lib/packet.js +153 -12
  31. package/lib/rational.js +49 -1
  32. package/lib/resampler.js +63 -0
  33. package/lib/samples.js +96 -0
  34. package/lib/scaler.js +8 -7
  35. package/lib/stream.js +58 -14
  36. package/package.json +9 -4
  37. package/prebuilds/android-arm/bare-ffmpeg.bare +0 -0
  38. package/prebuilds/android-arm64/bare-ffmpeg.bare +0 -0
  39. package/prebuilds/android-ia32/bare-ffmpeg.bare +0 -0
  40. package/prebuilds/android-x64/bare-ffmpeg.bare +0 -0
  41. package/prebuilds/darwin-arm64/bare-ffmpeg.bare +0 -0
  42. package/prebuilds/darwin-x64/bare-ffmpeg.bare +0 -0
  43. package/prebuilds/ios-arm64/bare-ffmpeg.bare +0 -0
  44. package/prebuilds/ios-arm64-simulator/bare-ffmpeg.bare +0 -0
  45. package/prebuilds/ios-x64-simulator/bare-ffmpeg.bare +0 -0
  46. package/prebuilds/linux-arm64/bare-ffmpeg.bare +0 -0
  47. package/prebuilds/linux-x64/bare-ffmpeg.bare +0 -0
  48. package/prebuilds/win32-arm64/bare-ffmpeg.bare +0 -0
  49. package/prebuilds/win32-x64/bare-ffmpeg.bare +0 -0
  50. package/binding.c +0 -2203
  51. package/lib/reference-counted.js +0 -39
@@ -0,0 +1,514 @@
1
+ include_guard(GLOBAL)
2
+
3
+ set(libraries
4
+ avcodec
5
+ avdevice
6
+ avfilter
7
+ avformat
8
+ avutil
9
+ swresample
10
+ swscale
11
+ )
12
+
13
+ set(byproducts)
14
+
15
+ foreach(name IN LISTS libraries)
16
+ add_library(${name} STATIC IMPORTED GLOBAL)
17
+
18
+ list(APPEND byproducts lib/lib${name}.a)
19
+ endforeach()
20
+
21
+ set(path)
22
+ set(args
23
+ --disable-autodetect
24
+ --disable-doc
25
+ --disable-programs
26
+ --disable-network
27
+
28
+ --enable-pic
29
+ --enable-cross-compile
30
+ )
31
+
32
+ if(CMAKE_BUILD_TYPE MATCHES "Release")
33
+ list(APPEND args --disable-debug)
34
+ elseif(CMAKE_BUILD_TYPE MATCHES "Debug")
35
+ list(APPEND args --disable-optimizations)
36
+ elseif(CMAKE_BUILD_TYPE MATCHES "MinSizeRel")
37
+ list(APPEND args --disable-debug --enable-small)
38
+ endif()
39
+
40
+ if(APPLE AND CMAKE_OSX_ARCHITECTURES)
41
+ set(arch ${CMAKE_OSX_ARCHITECTURES})
42
+ elseif(MSVC AND CMAKE_GENERATOR_PLATFORM)
43
+ set(arch ${CMAKE_GENERATOR_PLATFORM})
44
+ elseif(ANDROID AND CMAKE_ANDROID_ARCH_ABI)
45
+ set(arch ${CMAKE_ANDROID_ARCH_ABI})
46
+ elseif(CMAKE_SYSTEM_PROCESSOR)
47
+ set(arch ${CMAKE_SYSTEM_PROCESSOR})
48
+ else()
49
+ set(arch ${CMAKE_HOST_SYSTEM_PROCESSOR})
50
+ endif()
51
+
52
+ string(TOLOWER "${arch}" arch)
53
+
54
+ if(arch MATCHES "arm64|aarch64")
55
+ set(arch "aarch64")
56
+ elseif(arch MATCHES "armv7-a|armeabi-v7a")
57
+ set(arch "arm")
58
+ elseif(arch MATCHES "x64|x86_64|amd64")
59
+ set(arch "x64")
60
+ elseif(arch MATCHES "x86|i386|i486|i586|i686")
61
+ set(arch "x86_32")
62
+ else()
63
+ message(FATAL_ERROR "Unsupported architecture '${arch}'")
64
+ endif()
65
+
66
+ list(APPEND args --arch=${arch})
67
+
68
+ if(APPLE)
69
+ list(APPEND args
70
+ --target-os=darwin
71
+
72
+ "--sysroot=${CMAKE_OSX_SYSROOT}"
73
+
74
+ --enable-avfoundation
75
+ --enable-videotoolbox
76
+ )
77
+
78
+ if(NOT IOS)
79
+ list(APPEND args
80
+ --enable-appkit
81
+ --enable-audiotoolbox
82
+ )
83
+ endif()
84
+ elseif(LINUX)
85
+ list(APPEND args
86
+ --target-os=linux
87
+
88
+ "--sysroot=${CMAKE_SYSROOT}"
89
+
90
+ --enable-pthreads
91
+ )
92
+ elseif(ANDROID)
93
+ list(APPEND args
94
+ --target-os=android
95
+
96
+ "--sysroot=${CMAKE_SYSROOT}"
97
+
98
+ --enable-jni
99
+ --enable-mediacodec
100
+ )
101
+
102
+ if(arch MATCHES "x86_32")
103
+ list(APPEND args --disable-asm)
104
+ endif()
105
+ elseif(WIN32)
106
+ list(APPEND args
107
+ --target-os=win32
108
+
109
+ --enable-w32threads
110
+ --enable-d3d11va
111
+ --enable-d3d12va
112
+ --enable-dxva2
113
+ --enable-mediafoundation
114
+ )
115
+ endif()
116
+
117
+ set(env)
118
+
119
+ if(CMAKE_C_COMPILER)
120
+ cmake_path(GET CMAKE_C_COMPILER PARENT_PATH CC_path)
121
+ cmake_path(GET CMAKE_C_COMPILER FILENAME CC_filename)
122
+
123
+ if(WIN32 AND CC_filename MATCHES "clang-cl.exe")
124
+ set(CC_filename "clang.exe")
125
+ endif()
126
+
127
+ list(APPEND path "${CC_path}")
128
+ list(APPEND args
129
+ "--cc=${CC_filename}"
130
+ "--host-cc=${CC_filename}"
131
+ "--extra-cflags=--target=${CMAKE_C_COMPILER_TARGET}"
132
+ "--ld=${CC_filename}"
133
+ "--host-ld=${CC_filename}"
134
+ "--extra-ldflags=--target=${CMAKE_C_COMPILER_TARGET}"
135
+ )
136
+
137
+ if(CMAKE_LINKER_TYPE MATCHES "LLD")
138
+ list(APPEND args --extra-ldflags=-fuse-ld=lld)
139
+ endif()
140
+ endif()
141
+
142
+ if(CMAKE_CXX_COMPILER)
143
+ cmake_path(GET CMAKE_CXX_COMPILER PARENT_PATH CXX_path)
144
+ cmake_path(GET CMAKE_CXX_COMPILER FILENAME CXX_filename)
145
+
146
+ if(WIN32 AND CXX_filename MATCHES "clang-cl.exe")
147
+ set(CXX_filename "clang.exe")
148
+ endif()
149
+
150
+ list(APPEND path "${CXX_path}")
151
+ list(APPEND args
152
+ "--cxx=${CXX_filename}"
153
+ "--extra-cxxflags=--target=${CMAKE_CXX_COMPILER_TARGET}"
154
+ )
155
+ endif()
156
+
157
+ if(CMAKE_OBJC_COMPILER)
158
+ cmake_path(GET CMAKE_OBJC_COMPILER PARENT_PATH OBJC_path)
159
+ cmake_path(GET CMAKE_OBJC_COMPILER FILENAME OBJC_filename)
160
+
161
+ list(APPEND path "${OBJC_path}")
162
+ list(APPEND args
163
+ "--objcc=${OBJC_filename}"
164
+ "--extra-objcflags=--target=${CMAKE_OBJC_COMPILER_TARGET}"
165
+ )
166
+ endif()
167
+
168
+ if(CMAKE_ASM_COMPILER)
169
+ cmake_path(GET CMAKE_ASM_COMPILER PARENT_PATH AS_path)
170
+ cmake_path(GET CMAKE_ASM_COMPILER FILENAME AS_filename)
171
+
172
+ if(WIN32 AND AS_filename MATCHES "clang-cl.exe")
173
+ set(AS_filename "clang.exe")
174
+ endif()
175
+
176
+ list(APPEND path "${AS_path}")
177
+ list(APPEND args "--as=${AS_filename}")
178
+ endif()
179
+
180
+ if(CMAKE_RC_COMPILER)
181
+ cmake_path(GET CMAKE_RC_COMPILER PARENT_PATH RC_path)
182
+ cmake_path(GET CMAKE_RC_COMPILER FILENAME RC_filename)
183
+
184
+ list(APPEND path "${RC_path}")
185
+ list(APPEND args "--windres=${RC_filename}")
186
+ endif()
187
+
188
+ if(CMAKE_AR)
189
+ cmake_path(GET CMAKE_AR PARENT_PATH AR_path)
190
+ cmake_path(GET CMAKE_AR FILENAME AR_filename)
191
+
192
+ if(WIN32 AND AR_filename MATCHES "llvm-lib.exe")
193
+ set(AR_filename "llvm-ar.exe")
194
+ endif()
195
+
196
+ list(APPEND path "${AR_path}")
197
+ list(APPEND args "--ar=${AR_filename}")
198
+ endif()
199
+
200
+ if(CMAKE_NM)
201
+ cmake_path(GET CMAKE_NM PARENT_PATH NM_path)
202
+ cmake_path(GET CMAKE_NM FILENAME NM_filename)
203
+
204
+ list(APPEND path "${NM_path}")
205
+ list(APPEND args "--nm=${NM_filename}")
206
+ endif()
207
+
208
+ if(CMAKE_RANLIB)
209
+ cmake_path(GET CMAKE_RANLIB PARENT_PATH RANLIB_path)
210
+ cmake_path(GET CMAKE_RANLIB FILENAME RANLIB_filename)
211
+
212
+ list(APPEND path "${RANLIB_path}")
213
+ list(APPEND args "--ranlib=${RANLIB_filename}")
214
+ endif()
215
+
216
+ if(CMAKE_STRIP)
217
+ cmake_path(GET CMAKE_STRIP PARENT_PATH STRIP_path)
218
+ cmake_path(GET CMAKE_STRIP FILENAME STRIP_filename)
219
+
220
+ list(APPEND path "${STRIP_path}")
221
+ list(APPEND args "--strip=${STRIP_filename}")
222
+ endif()
223
+
224
+ set(depends)
225
+ set(pkg_config_path)
226
+
227
+ if("gpl" IN_LIST features)
228
+ list(APPEND args --enable-gpl)
229
+
230
+ add_library(postproc STATIC IMPORTED GLOBAL)
231
+
232
+ list(APPEND libraries postproc)
233
+ list(APPEND byproducts lib/libpostproc.a)
234
+
235
+ target_link_libraries(postproc INTERFACE avutil)
236
+ target_link_libraries(avdevice INTERFACE postproc)
237
+ target_link_libraries(avfilter INTERFACE postproc)
238
+ endif()
239
+
240
+ if("zlib" IN_LIST features)
241
+ list(APPEND args --enable-zlib)
242
+ endif()
243
+
244
+ if("dav1d" IN_LIST features)
245
+ find_port(dav1d)
246
+
247
+ list(APPEND depends dav1d)
248
+ list(APPEND args --enable-libdav1d)
249
+ list(APPEND pkg_config_path "${dav1d_PREFIX}/lib/pkgconfig")
250
+
251
+ target_link_libraries(avcodec INTERFACE dav1d)
252
+ endif()
253
+
254
+ if("svt-av1" IN_LIST features)
255
+ find_port(svt-av1)
256
+
257
+ list(APPEND depends svt-av1)
258
+ list(APPEND args --enable-libsvtav1)
259
+ list(APPEND pkg_config_path "${svt-av1_PREFIX}/lib/pkgconfig")
260
+
261
+ target_link_libraries(avcodec INTERFACE svt-av1)
262
+ endif()
263
+
264
+ if("x264" IN_LIST features)
265
+ find_port(x264)
266
+
267
+ list(APPEND depends x264)
268
+ list(APPEND args --enable-libx264)
269
+ list(APPEND pkg_config_path "${x264_PREFIX}/lib/pkgconfig")
270
+
271
+ target_link_libraries(avcodec INTERFACE x264)
272
+ endif()
273
+
274
+ if("opus" IN_LIST features)
275
+ find_port(opus)
276
+
277
+ list(APPEND depends opus)
278
+ list(APPEND args --enable-libopus)
279
+ list(APPEND pkg_config_path "${opus_PREFIX}/lib/pkgconfig")
280
+
281
+ target_link_libraries(avcodec INTERFACE opus)
282
+ endif()
283
+
284
+ if(CMAKE_HOST_WIN32)
285
+ find_path(
286
+ msys2
287
+ NAMES msys2.exe
288
+ PATHS "C:/tools/msys64"
289
+ REQUIRED
290
+ )
291
+
292
+ find_program(
293
+ pkg-config
294
+ NAMES pkg-config
295
+ PATHS "${msys2}/usr/bin"
296
+ REQUIRED
297
+ NO_DEFAULT_PATH
298
+ )
299
+ else()
300
+ find_program(
301
+ pkg-config
302
+ NAMES pkg-config
303
+ REQUIRED
304
+ )
305
+ endif()
306
+
307
+ foreach(part "$ENV{PATH}")
308
+ cmake_path(NORMAL_PATH part)
309
+
310
+ list(APPEND path "${part}")
311
+ endforeach()
312
+
313
+ list(APPEND args
314
+ "--pkg-config=${pkg-config}"
315
+ "--pkg-config-flags=--static"
316
+ )
317
+
318
+ list(REMOVE_DUPLICATES path)
319
+ list(REMOVE_DUPLICATES pkg_config_path)
320
+
321
+ if(CMAKE_HOST_WIN32)
322
+ list(TRANSFORM path REPLACE "([A-Z]):" "/\\1")
323
+ list(TRANSFORM pkg_config_path REPLACE "([A-Z]):" "/\\1")
324
+ endif()
325
+
326
+ list(JOIN path ":" path)
327
+ list(JOIN pkg_config_path ":" pkg_config_path)
328
+
329
+ list(APPEND env
330
+ "PATH=${path}"
331
+ "PKG_CONFIG_PATH=${pkg_config_path}"
332
+ )
333
+
334
+ declare_port(
335
+ "github:FFmpeg/FFmpeg#n8.0"
336
+ ffmpeg
337
+ AUTOTOOLS
338
+ DEPENDS ${depends}
339
+ BYPRODUCTS ${byproducts}
340
+ ARGS ${args}
341
+ ENV ${env}
342
+ )
343
+
344
+ file(MAKE_DIRECTORY "${ffmpeg_PREFIX}/include")
345
+
346
+ foreach(name IN LISTS libraries)
347
+ add_dependencies(${name} ${ffmpeg})
348
+
349
+ set_target_properties(
350
+ ${name}
351
+ PROPERTIES
352
+ IMPORTED_LOCATION "${ffmpeg_PREFIX}/lib/lib${name}.a"
353
+ )
354
+
355
+ target_include_directories(
356
+ ${name}
357
+ INTERFACE "${ffmpeg_PREFIX}/include"
358
+ )
359
+
360
+ if(LINUX OR ANDROID)
361
+ target_link_options(
362
+ ${name}
363
+ INTERFACE
364
+ "-Wl,-Bsymbolic"
365
+ )
366
+ endif()
367
+ endforeach()
368
+
369
+ target_link_libraries(
370
+ avcodec
371
+ INTERFACE
372
+ avutil
373
+ swresample
374
+ )
375
+
376
+ target_link_libraries(
377
+ avdevice
378
+ INTERFACE
379
+ avcodec
380
+ avfilter
381
+ avformat
382
+ avutil
383
+ swresample
384
+ swscale
385
+ )
386
+
387
+ target_link_libraries(
388
+ avfilter
389
+ INTERFACE
390
+ avcodec
391
+ avformat
392
+ avutil
393
+ swresample
394
+ swscale
395
+ )
396
+
397
+ target_link_libraries(
398
+ avformat
399
+ INTERFACE
400
+ avcodec
401
+ avutil
402
+ swresample
403
+ )
404
+
405
+ target_link_libraries(
406
+ swresample
407
+ INTERFACE
408
+ avutil
409
+ )
410
+
411
+ target_link_libraries(
412
+ swscale
413
+ INTERFACE
414
+ avutil
415
+ )
416
+
417
+ if(APPLE)
418
+ target_link_libraries(
419
+ avcodec
420
+ INTERFACE
421
+ "-framework VideoToolbox"
422
+ "-framework CoreFoundation"
423
+ "-framework CoreMedia"
424
+ "-framework CoreVideo"
425
+ "-framework CoreServices"
426
+ )
427
+
428
+ target_link_libraries(
429
+ avdevice
430
+ INTERFACE
431
+ "-framework AVFoundation"
432
+ "-framework CoreAudio"
433
+ "-framework CoreGraphics"
434
+ "-framework CoreMedia"
435
+ "-framework CoreVideo"
436
+ "-framework Foundation"
437
+ )
438
+
439
+ target_link_libraries(
440
+ avutil
441
+ INTERFACE
442
+ "-framework VideoToolbox"
443
+ "-framework CoreFoundation"
444
+ "-framework CoreMedia"
445
+ "-framework CoreVideo"
446
+ "-framework CoreServices"
447
+ )
448
+
449
+ if(NOT IOS)
450
+ target_link_libraries(
451
+ avcodec
452
+ INTERFACE
453
+ "-framework AudioToolbox"
454
+ )
455
+
456
+ target_link_libraries(
457
+ avdevice
458
+ INTERFACE
459
+ "-framework AudioToolbox"
460
+ )
461
+ endif()
462
+ elseif(ANDROID)
463
+ target_link_libraries(
464
+ avcodec
465
+ INTERFACE
466
+ android
467
+ mediandk
468
+ )
469
+
470
+ target_link_libraries(
471
+ avdevice
472
+ INTERFACE
473
+ android
474
+ camera2ndk
475
+ mediandk
476
+ )
477
+
478
+ target_link_libraries(
479
+ avutil
480
+ INTERFACE
481
+ android
482
+ mediandk
483
+ )
484
+ elseif(WIN32)
485
+ target_link_libraries(
486
+ avcodec
487
+ INTERFACE
488
+ mfuuid
489
+ ole32
490
+ ole32
491
+ strmiids
492
+ user32
493
+ )
494
+
495
+ target_link_libraries(
496
+ avdevice
497
+ INTERFACE
498
+ gdi32
499
+ ole32
500
+ oleaut32
501
+ psapi
502
+ shlwapi
503
+ strmiids
504
+ uuid
505
+ vfw32
506
+ )
507
+
508
+ target_link_libraries(
509
+ avutil
510
+ INTERFACE
511
+ user32
512
+ bcrypt
513
+ )
514
+ endif()
@@ -0,0 +1,52 @@
1
+ From 7dba6a92ee0eb2d114495106367ddb327eca6428 Mon Sep 17 00:00:00 2001
2
+ From: DoumanAsh <douman@gmx.se>
3
+ Date: Sat, 11 May 2024 16:54:02 +0900
4
+ Subject: [PATCH] Add sse4.1 flag when using clang-cl on MSVC targets
5
+
6
+ ---
7
+ CMakeLists.txt | 14 +++++++++++---
8
+ 1 file changed, 11 insertions(+), 3 deletions(-)
9
+
10
+ diff --git a/CMakeLists.txt b/CMakeLists.txt
11
+ index 8535ad5f3..702a7ec82 100644
12
+ --- a/CMakeLists.txt
13
+ +++ b/CMakeLists.txt
14
+ @@ -14,6 +14,14 @@ include(GNUInstallDirs)
15
+ include(CMakeDependentOption)
16
+ include(FeatureSummary)
17
+
18
+ +# Detect clang-cl
19
+ +set(MSVC_CLANG_CL false BOOL)
20
+ +if (MSVC)
21
+ + if("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
22
+ + set(MSVC_CLANG_CL true BOOL)
23
+ + endif()
24
+ +endif()
25
+ +
26
+ set(OPUS_BUILD_SHARED_LIBRARY_HELP_STR "build shared library.")
27
+ option(OPUS_BUILD_SHARED_LIBRARY ${OPUS_BUILD_SHARED_LIBRARY_HELP_STR} OFF)
28
+ if(OPUS_BUILD_SHARED_LIBRARY OR BUILD_SHARED_LIBS OR OPUS_BUILD_FRAMEWORK)
29
+ @@ -484,20 +492,20 @@ if(NOT OPUS_DISABLE_INTRINSICS)
30
+ add_sources_group(opus lpcnet ${dnn_sources_sse4_1})
31
+ endif()
32
+ target_compile_definitions(opus PRIVATE OPUS_X86_MAY_HAVE_SSE4_1)
33
+ - if(NOT MSVC)
34
+ + if(NOT MSVC OR MSVC_CLANG_CL)
35
+ set_source_files_properties(${celt_sources_sse4_1} ${silk_sources_sse4_1} ${dnn_sources_sse4_1} PROPERTIES COMPILE_FLAGS -msse4.1)
36
+ endif()
37
+
38
+ if(OPUS_FIXED_POINT)
39
+ add_sources_group(opus silk ${silk_sources_fixed_sse4_1})
40
+ - if(NOT MSVC)
41
+ + if(NOT MSVC OR MSVC_CLANG_CL)
42
+ set_source_files_properties(${silk_sources_fixed_sse4_1} PROPERTIES COMPILE_FLAGS -msse4.1)
43
+ endif()
44
+ endif()
45
+ endif()
46
+ if(OPUS_X86_PRESUME_SSE4_1)
47
+ target_compile_definitions(opus PRIVATE OPUS_X86_PRESUME_SSE4_1)
48
+ - if(NOT MSVC)
49
+ + if(NOT MSVC OR MSVC_CLANG_CL)
50
+ target_compile_options(opus PRIVATE -msse4.1)
51
+ endif()
52
+ endif()
@@ -0,0 +1,42 @@
1
+ include_guard(GLOBAL)
2
+
3
+ if(WIN32)
4
+ set(lib opus.lib)
5
+ else()
6
+ set(lib libopus.a)
7
+ endif()
8
+
9
+ set(args
10
+ -DBUILD_SHARED_LIBS=OFF
11
+ -DBUILD_TESTING=OFF
12
+ )
13
+
14
+ if(WIN32)
15
+ list(APPEND args -DOPUS_DISABLE_INTRINSICS=ON)
16
+ endif()
17
+
18
+ declare_port(
19
+ "github:xiph/opus@v1.5.2"
20
+ opus
21
+ BYPRODUCTS lib/${lib}
22
+ ARGS ${args}
23
+ PATCHES
24
+ patches/01-windows-clang.patch
25
+ )
26
+
27
+ add_library(opus STATIC IMPORTED GLOBAL)
28
+
29
+ add_dependencies(opus ${opus})
30
+
31
+ set_target_properties(
32
+ opus
33
+ PROPERTIES
34
+ IMPORTED_LOCATION "${opus_PREFIX}/lib/${lib}"
35
+ )
36
+
37
+ file(MAKE_DIRECTORY "${opus_PREFIX}/include")
38
+
39
+ target_include_directories(
40
+ opus
41
+ INTERFACE "${opus_PREFIX}/include"
42
+ )
@@ -0,0 +1,42 @@
1
+ include_guard(GLOBAL)
2
+
3
+ if(WIN32)
4
+ set(lib SvtAv1Enc.lib)
5
+ else()
6
+ set(lib libSvtAv1Enc.a)
7
+ endif()
8
+
9
+ set(args
10
+ -DCMAKE_POLICY_VERSION_MINIMUM=3.5
11
+ -DBUILD_SHARED_LIBS=OFF
12
+ -DBUILD_TESTING=OFF
13
+ -DBUILD_APPS=OFF
14
+ )
15
+
16
+ if(WIN32)
17
+ list(APPEND args -DCOMPILE_C_ONLY=ON)
18
+ endif()
19
+
20
+ declare_port(
21
+ "gitlab:AOMediaCodec/SVT-AV1@2.3.0"
22
+ svt-av1
23
+ BYPRODUCTS lib/${lib}
24
+ ARGS ${args}
25
+ )
26
+
27
+ add_library(svt-av1 STATIC IMPORTED GLOBAL)
28
+
29
+ add_dependencies(svt-av1 ${svt-av1})
30
+
31
+ set_target_properties(
32
+ svt-av1
33
+ PROPERTIES
34
+ IMPORTED_LOCATION "${svt-av1_PREFIX}/lib/${lib}"
35
+ )
36
+
37
+ file(MAKE_DIRECTORY "${svt-av1_PREFIX}/include")
38
+
39
+ target_include_directories(
40
+ svt-av1
41
+ INTERFACE "${svt-av1_PREFIX}/include"
42
+ )
@@ -0,0 +1,33 @@
1
+ diff --git a/configure b/configure
2
+ index e242e73..28b4bfe 100755
3
+ --- a/configure
4
+ +++ b/configure
5
+ @@ -606,7 +606,7 @@ if [[ $host_os = mingw* || $host_os = msys* || $host_os = cygwin* ]]; then
6
+ if cc_check '' -Qdiag-error:10006,10157 ; then
7
+ CHECK_CFLAGS="$CHECK_CFLAGS -Qdiag-error:10006,10157"
8
+ fi
9
+ - elif [[ "$cc_base" = cl || "$cc_base" = cl[\ .]* ]]; then
10
+ + elif [[ "$cc_base" = cl || "$cc_base" = cl[\ .]* || "$cc_base" = clang-cl || "$cc_base" = clang-cl[\ .]* ]]; then
11
+ # Standard Microsoft Visual Studio
12
+ compiler=CL
13
+ compiler_style=MS
14
+ @@ -1458,8 +1458,8 @@ fi
15
+ DEPMM="${QPRE}MM"
16
+ DEPMT="${QPRE}MT"
17
+ if [ $compiler_style = MS ]; then
18
+ - AR="lib.exe -nologo -out:"
19
+ - LD="link.exe -out:"
20
+ + AR="${AR-lib.exe} -nologo -out:"
21
+ + LD="${LD-link.exe} -out:"
22
+ if [ $compiler = ICL ]; then
23
+ AR="xi$AR"
24
+ LD="xi$LD"
25
+ @@ -1470,7 +1470,7 @@ if [ $compiler_style = MS ]; then
26
+ HAVE_GETOPT_LONG=0
27
+ LDFLAGS="-nologo -incremental:no $(cl_ldflags $LDFLAGS)"
28
+ LDFLAGSCLI="$(cl_ldflags $LDFLAGSCLI)"
29
+ - LIBX264=libx264.lib
30
+ + LIBX264=x264.lib
31
+ RANLIB=
32
+ [ -n "$RC" ] && RCFLAGS="$RCFLAGS -nologo -I. -I\$(SRCPATH)/extras -fo"
33
+ STRIP=