Я использовал swscale в своем коде как общую библиотеку, затем сумел скомпилировать FFMpeg (4.1) в статические библиотеки с помощью Visual Studio с помощью этой команды, чтобы получить swscale:
./configure --toolchain=msvc --arch=x86_32 --disable-everything --disable-programs
У меня установлен нос и ясм. это мой конфиг вывод:
install prefix /usr/local
source path .
C compiler cl
C library msvcrt
ARCH x86 (generic)
big-endian no
runtime cpu detection yes
standalone assembly yes
x86 assembler nasm
MMX enabled yes
MMXEXT enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
AESNI enabled yes
AVX enabled yes
AVX2 enabled yes
AVX-512 enabled yes
XOP enabled yes
FMA3 enabled yes
FMA4 enabled yes
i686 features enabled yes
CMOV is fast no
EBX available no
EBP available no
debug symbols yes
strip symbols no
optimize for size no
optimizations yes
static yes
shared no
postprocessing support no
network support yes
threading support w32threads
safe bitstream reader yes
texi2html enabled no
perl enabled no
pod2man enabled no
makeinfo enabled no
makeinfo supports HTML no
External libraries:
schannel
External libraries providing hardware acceleration:
d3d11va dxva2
Libraries:
avcodec avdevice avfilter avformat avutil swresample swscale
Programs:
Enabled decoders:
Enabled encoders:
Enabled hwaccels:
Enabled parsers:
Enabled demuxers:
Enabled muxers:
Enabled protocols:
Enabled filters:
Enabled bsfs:
null
Enabled indevs:
Enabled outdevs:
Это успешно скомпилировано, и я заменил файлы lib на файл .a в QT:
INCLUDEPATH += $$PWD/ffmpeg/inc/
LIBS += $$files($$PWD/ffmpeg/lib/*.a, true)
Я больше ничего не менял. EXE работает правильно без зависимости, но проблема в том, что статическая swscale намного медленнее, чем общая. Для 1080p доля .DLL занимает 2ms , чтобы сжать и преобразовать yuv в rgb, а static .A занимает 6ms в
Я также пытался удалить --disable-everything --disable-programs
, но все так же. Я хочу знать, это из-за компилятора cl или я пропустил библиотеку или настройку?
Кстати, это моя система: Win10 / i7 4820K / 16GB / GTX970
EDIT:
Я получил это в выводе приложения:
Не найдено ускоренного преобразования цветового пространства из yuv420p в bgra.
Хотя папка x86 в swscale компилируется, похоже, она не связана в выводе.