Evgeniy_1990
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Aleksoid1978 Цитата: Всем привет. Выкладываю последний SVN билд, но в нем ffmpeg собран с помощью gcc 6.1.0 x86 x64 Кто заинтересован или просто есть время/желание - погонять, сравнить нагрузку при софтовом декодировании(особенно на не особо шустрых системах), корректность воспроизведения и т.д. | Проверил билды - оба работают совершенно нормально, корректно, нагрузка аналогична GCC 5.3.0, т.е. без изменений, какая была, такая и осталась, ни больше, ни меньше. Aleksoid1978 Цитата: Конечно же интересно. Всегда интересно проверять нечто новое. Попробовал собрать последние SVN-билды, при помощи данного полноценного набора MSYS MinGW GCC 6.1.0 в разных версиях студий - 2013 и 2015 - все полностью успешно строится без каких-либо ошибок, как бинарники, так и автономные фильтры. В целом, по поводу GCC 6.1.0, можно точно с уверенностью сказать, что работает он полностью стабильно и корректно, никакой высокой нагрузки нет и не наблюдается, по сути работает также стабильно и аналогично как и GCC 5.3.0. Ошибок, при построении в зависимости от версий студий 2013 и 2015 не возникает. Собирается и строится абсолютно все. Это полностью стабильная релиз-версия полноценного пакета MSYS. P.S. Можно конечно отметить одно отличие по сравнению с GCC 5.3.0 - это волнистое подчеркивание, при построении ffmpeg-шного кода, при проявлении и возникновении низкоуровневых незначительных warning-ов. Т.е. GCC 6.1.0 также может подчеркивать непонятный, незнакомый, или просто "ошибочный" код, точно также, как это любит делать всеми известный "Microsoft Office Word". В общем, с GCC 6.1.0 - все ясно и понятно, работает нормально, корректно и стабильно, а следовательно имеет полное право на построение, использование и применение. Добавлено: Aleksoid1978 Цитата: Баг на стороне ffmpeg, после перемотки видимо какие-то данные не очищаются. Тоже самое происходит если и в ffplay после открытия перемотать. | Опять же баг только на новых системах и только при DXVA2. На Windows XP, при DXVA1, бага нет вообще. Оно и понятно почему - поскольку опять таки разный механизм работы с ключевыми кадрами, при перемотке в зависимости от версий DXVA. Добавлено: Aleksoid1978 Следует поговорить о "тайном" наборе пакета MSYS: http://mpc-be.org/MSYS/msys_Alex_20160408.7z Во-первых, - это GCC 5.3.1 Во-вторых, он не так прост и требует редактирования. Так вот, в зависимости от версий самих студий 2013 и 2015, его нужно редактировать по разному. Понятно, что под редактирование попадает один единственный файл: "libmingwex.a". 0. C:\MSYS\mingw\bin 1. C:\MSYS\mingw\x86_64-w64-mingw32\lib 2. C:\MSYS\mingw\i686-w64-mingw32\lib Для 2013 студии: Код: Удаление строк: lib32_libmingwex_a-fseeko64.o lib64_libmingwex_a-fseeko64.o C:\MSYS\mingw\bin\x86_64-w64-mingw32-ar.exe -d C:\MSYS\mingw\i686-w64-mingw32\lib\libmingwex.a lib32_libmingwex_a-fseeko64.o C:\MSYS\mingw\bin\x86_64-w64-mingw32-ar.exe -d C:\MSYS\mingw\x86_64-w64-mingw32\lib\libmingwex.a lib64_libmingwex_a-fseeko64.o | Для 2015 студии: Код: Удаление строк: lib32_libmingwex_a-wcsnlen.o lib64_libmingwex_a-wcsnlen.o C:\MSYS\mingw\bin\x86_64-w64-mingw32-ar.exe -d C:\MSYS\mingw\i686-w64-mingw32\lib\libmingwex.a lib32_libmingwex_a-wcsnlen.o C:\MSYS\mingw\bin\x86_64-w64-mingw32-ar.exe -d C:\MSYS\mingw\x86_64-w64-mingw32\lib\libmingwex.a lib64_libmingwex_a-wcsnlen.o lib32_libmingwex_a-strnlen.o lib64_libmingwex_a-strnlen.o C:\MSYS\mingw\bin\x86_64-w64-mingw32-ar.exe -d C:\MSYS\mingw\i686-w64-mingw32\lib\libmingwex.a lib32_libmingwex_a-strnlen.o C:\MSYS\mingw\bin\x86_64-w64-mingw32-ar.exe -d C:\MSYS\mingw\x86_64-w64-mingw32\lib\libmingwex.a lib64_libmingwex_a-strnlen.o | Причем, в данном пакете отличия видны на лицо, в зависимости от версий самих студий 2013 и 2015. Если для 2015 студии не удалить эти строчки, то при построении внешнего автономного фильтра "MPCVideoDec.ax" можно получить ошибки вида: Код: 13:59:22.156 50>libucrt.lib(strnlen.obj) : error LNK2005: _wcsnlen already defined in libmingwex.a(lib32_libmingwex_a-wcsnlen.o) [C:\mpc-be\src\filters\transform\MPCVideoDec\MPCVideoDec.vcxproj] 13:59:22.530 50>C:\mpc-be\bin15\Filters_x86\MPCVideoDec.ax : fatal error LNK1169: one or more multiply defined symbols found [C:\mpc-be\src\filters\transform\MPCVideoDec\MPCVideoDec.vcxproj] | Это очень странно для 2015 студии, особенно если учесть тот факт, что для 2013 студии этого вообще не требуется. 2015 студия не даст нам просто так построить внешний фильтр: "MPCVideoDedc.ax". Вот такой вот вы выложили на основной форум скажем так "тайный" набор пакета MSYS MinGW GCC 5.3.1. Если взять GCC 6.1.0, то в нем, в файле "libmingwex.a" этих строчек вообще нет. Отсюда и успешный результат, при построении, т.е. полностью без ошибок. Ну и вывод соответствующий - GCC 6.1.0, также, как и GCC 5.3.0, является полностью подготовленным набором конкретно под наш проект. |