Ошибки при компиляции FFmpeg для windows10 / aarch64 с использованием Microsoft Visual Studio 2017 Preview edition - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь скомпилировать FFmpeg (версия Chromium) для конфигурации Windows10 / Aarch64, используя выпуск сообщества Microsoft Visual Studio 2017 Preview.Я сталкиваюсь с ошибками в файлах сборки, скопированных ниже (выделено несколько ошибок).Я полагаю, что FFmpeg уже работает для конфигурации Linux / Aarch64 (возможно, с использованием ассемблера GNU), и в этом случае тот же код ассемблера также должен работать и для Microsoft ARM Macro Assembler.Пожалуйста, дайте мне знать, если я что-то здесь упускаю и какие-либо указатели, чтобы помочь устранить ошибки.

D: \ Work \ Chromium_FFmpeg \ chromium \ src> ninja -C out \ ARM64V8 third_party \ ffmpeg ninja: Вход в каталог `out \ ARM64V8 '[2/9] ASM obj / third_party / ffmpeg / ffmpeg_internal / autorename_libavcodec_aarch64_fft_neon.obj FAILED: obj / Third_party / ffmpeg / ffmpeg_internal //python.exe ../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 armasm64.exe /Foobj/third_party/ffmpeg/ffmpeg_internal/autorename_libavcodec_aarch64_fft_neon.obj ../../mirdpepartylibavcodec / aarch64 / autorename_libavcodec_aarch64_fft_neon.S Макроассемблер Microsoft (R) ARM версии 14.16.26926.0 для 64 бит D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ lib_c_c_c_6464_c64_c_6464_c_6464_c_64_64_64_64641): ошибка A2003: неправильный синтаксис строки: / // Файл автогенерируется математически.См. Crbug.com/495833.D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ autorename_libavcodec_aarch64_fft_neon.S (2): ошибка A2230: недопустимая директива препроцессора;распознается только «#line [имя файла]» включая «fft_neon.S» D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ autorename_libavcodec_aarch64_fft_neon.S (3): отсутствует предупреждение A4045:директива включает "fft_neon.S".,,[6/9] ASM obj / third_party / ffmpeg / ffmpeg_internal / mpegaudiodsp_neon.obj НЕ УДАЛЕНО: obj / third_party / ffmpeg / ffmpeg_internal / mpegaudiodsp_neon.obj D: /Work/Chromium_ot_to_p__in_py_to_py_pyin../../build/toolchain/win/tool_wrapper.py asm-wrapper environment.arm64 armasm64.exe /Foobj/third_party/ffmpeg/ffmpeg_internal/mpegaudiodsp_neon.obj ../../third_party/ffmpeg/libavcodecampegaudiodsp_neon.S Microsoft (R) ARM Macro Assembler Версия 14.16.26926.0 для 64 бит D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (1): ошибка 100% * A: 200: *Синтаксис строки: / / * D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (2): ошибка A2079: неправильный синтаксис строки;ожидается символ * Copyright (c) 2014 г. Янне Грунау D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (3): ошибка A2079: неправильный синтаксис строки;ожидается символ * D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (4): ошибка A2079: неправильный синтаксис строки;ожидается символ * Этот файл является частью FFmpeg.D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (5): ошибка A2079: неправильный синтаксис строки;ожидается символ * D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (6): ошибка A2079: неправильный синтаксис строки;ожидается символ * FFmpeg - свободное программное обеспечение;вы можете распространять его и / или D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (7): ошибка A2079: неправильный синтаксис строки;символ ожидается * изменить его в соответствии с условиями GNU Lesser General Public D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (8): ошибка A2079: неправильный синтаксис строки;ожидается символ * Лицензия, опубликованная Фондом свободного программного обеспечения;илиD: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (9): ошибка A2079: неправильный синтаксис строки;ожидается символ * версии 2.1 Лицензии или (по вашему выбору) любой более поздней версии.D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (10): ошибка A2079: неправильный синтаксис строки;ожидается символ * D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (11): ошибка A2079: неправильный синтаксис строки;ожидаемый символ * FFmpeg распространяется в надежде, что он будет полезен, D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (12): ошибка A2079: неправильный синтаксис строки;символ ожидается * но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ;даже без подразумеваемой гарантии D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (13): ошибка A2079: неправильный синтаксис строки;ожидаемый символ * ТОВАРНАЯ ДОСТУПНОСТЬ или ПРИГОДНОСТЬ ДЛЯ ОСОБЕННОЙ ЦЕЛИ.См. GNU D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (14): ошибка A2079: неправильный синтаксис строки;ожидается символ * Малая общественная общественная лицензия для более подробной информации.D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (15): ошибка A2079: неправильный синтаксис строки;ожидается символ * D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (16): ошибка A2079: неправильный синтаксис строки;ожидается символ * Вы должны были получить копию GNU Lesser General Public D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (17): ошибка A2079: неправильный синтаксис строки;ожидается символ * Лицензия вместе с FFmpeg;если нет, напишите в свободное программное обеспечение D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (18): ошибка A2079: неправильный синтаксис строки;ожидается символ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (19): ошибка A2079: неправильный синтаксис строки;ожидается символ * / D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (21): ошибка A2230: недопустимая директива препроцессора;распознается только «#line [имя файла]», включая «libavutil / aarch64 / asm.S» D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (23): ошибка A2230: незаконнодиректива препроцессора;распознается только "#line [имя_файла]". Определите FRAC_BITS 23 // дробные биты для sb_samples и dct D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (24): ошибка A2230:Недопустимая директива препроцессора;распознается только "#line [имя_файла]". Определить WFRAC_BITS 16 // дробные биты для окна D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (25): ошибка A2230: незаконный процессдиректива;только "#line [имя файла]" признан определить OUT_SHIFT (WFRAC_BITS + FRAC_BITS - 15) D: \ Work \ Chromium_FFmpeg \ хром \ SRC \ THIRD_PARTY \ FFmpeg \ кодеком \ aarch64 \ mpegaudiodsp_neon.S (27): ошибка A2034: неизвестно опкод: tbl_rev128_s const tbl_rev128_s, выровнять = 4 D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (28): ошибка A2034: неизвестный код операции: неизвестный код операции: неизвестный код операции., 13, 14, 15 D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (29): ошибка A2034: неизвестный код операции:..byte 8, 9, 10, 11 D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (30): ошибка A2034: неизвестный код операции:..byte 4, 5, 6, 7 D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (31): ошибка A2034: неизвестный код операции:..byte 0, 1, 2, 3 D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (34): ошибка A2003: неправильный синтаксис строки:..macro тип apply_window, st D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (35): ошибка A2034: неизвестный код операции: ff_mpadsp_apply_wamp_findow) _neon, export = 1 D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodspsp_neon.S (42): ошибка A2034: неизвестный код операции: movrel movrel x15, tbl_rev128_s D: \ Work \ mchromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (44): ошибка A2003: неправильный синтаксис строки:..ifc \ type, исправлено D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (46): ошибка A2003: неправильный синтаксис строки:..else D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (48): ошибка A2003: неправильный синтаксис строки:..endif D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (53): ошибка A2173: синтаксическая ошибка в выражении sub x5, x5, x4 // samples2D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (53): ошибка A2003: неправильный синтаксис строки: ошибка при анализе операндов sub x5, x5, x4 // samples2 D: \ Work \Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (54): ошибка A2173: синтаксическая ошибка в выражении neg x13, x4 // -incr D: \ Work \ Chromium_FFmpeg \ chromium \ src 3rd\ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (54): ошибка A2003: неправильный синтаксис строки: операнды для анализа неполадок: neg x13, x4 // -incr D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 ms64.S (56): ошибка A2003: неправильный синтаксис строки:..ifc \ type, исправлено D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (57): ошибка A2173: синтаксическая ошибка в выражении ld1r {v16.2s}, [x2] // dither_state D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (57): ошибка A2003: неправильный синтаксис строки: проблемный синтаксический анализ операндов ld1r {v16.2s}, [x2]dither_state D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (60): ошибка A2061: недопустимый тип выражения;ожидаемый абсолютный числовой мови v30.2d, # (1D: \ Work \ Chromium_FFmpeg \ chromium \ src \ third_party \ ffmpeg \ libavcodec \ aarch64 \ mpegaudiodsp_neon.S (103): ошибка A2003: неправильный синтаксис строки:.Тип .ifc \, исправлено16б, № 8.,.

1 Ответ

0 голосов
/ 29 октября 2018

Я считаю, что FFmpeg уже работает для конфигурации Linux / Aarch64 (возможно, с использованием ассемблера GNU), и в этом случае тот же код сборки также должен работать и для Microsoft ARM Macro Assembler.

Microsoft Arm Assembler использует синтаксис, отличный от GNU Assembler, похожий, но не совсем такой, как синтаксис, используемый armasm .Они не совместимы.

...