You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# FFmpeg 8 introduced the prores_raw decoder, which (like the prores decoder) pulls in libavcodec/x86/proresdsp_init.o. That C init references the SSE2 asm
238
+
# symbol ff_prores_idct_put_10_sse2, but the asm that defines it (x86/proresdsp.o) is only built when CONFIG_PRORES_DECODER is enabled. Because we disable the
239
+
# non-free prores decoder above, leaving prores_raw enabled produces an undefined symbol in libavcodec on x86 (mio_ffmpeg fails to dlopen). Disable prores_raw
240
+
# too for consistency with our non-free ProRes policy. Guarded on RV_FFMPEG_8 since the decoder does not exist in FFmpeg 6/7 and --disable-decoder on an
# We disable the non-free ac3 decoder above, which (via eac3_decoder_select="ac3_decoder") also disables the eac3 decoder, so CONFIG_EAC3_DECODER=0. But the
246
+
# ac3_fixed decoder is left enabled, so libavcodec/ac3dec_fixed.c (which #includes ac3dec.c) is still compiled. With eac3 disabled, eac3dec.c -- which
247
+
# defines the static ff_eac3_parse_header -- is never included into that TU, yet ac3dec.c still names the symbol in its `if (CONFIG_EAC3_DECODER)` branch.
248
+
# GCC/Clang dead-code-eliminate the dead branch and only warn, but MSVC treats the referenced-but-undefined static as a fatal error C2129, breaking the
249
+
# FFmpeg 8 build on Windows. ac3_fixed is the same non-free AC3 codec, so disable it (and eac3 explicitly) to drop the offending TU. Guarded on RV_FFMPEG_8
250
+
# to keep the existing FFmpeg 6/7 builds unchanged.
Copy file name to clipboardExpand all lines: cmake/dependencies/openssl.cmake
+3-7Lines changed: 3 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -244,11 +244,7 @@ ENDIF()
244
244
# For found packages, expose the pkgconfig directory so FFmpeg's configure can detect OpenSSL via pkg-config. This is critical on Windows where FFmpeg's
245
245
# fallback `-lssl -lcrypto` translates to `ssl.lib`/`crypto.lib` (MSVC literal name), but vcpkg/OpenSSL 3.x ships `libssl.lib`/`libcrypto.lib`. The .pc files
246
246
# contain the correct `-llibssl -llibcrypto` flags. On Unix this is also useful when the found package is in a non-standard prefix.
0 commit comments