FFmpeg: Build it from source with CMake by default, without a configure step

ext/ffmpeg-build now has a committed config.h in place of the configure checks.
Assembly and arch-specific code are off, as in the --disable-asm builds of the
old prebuilt libraries, so only the platform has to be told apart, with a few
preprocessor checks. The sources are listed once in sources.mk, for every build
system to use, and build one static library. ATRAC3 and ATRAC3+ are enabled to
match the prebuilt libraries, and HAVE_AV_CONFIG_H is now defined, as FFmpeg's
own build does.

CMake builds this unless USE_SYSTEM_FFMPEG or FFMPEG_DIR is set, and no longer
looks for the prebuilt libraries in ffmpeg/. MinGW now builds it too, instead
of falling back to the system's.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Henrik RydgårdandClaude Opus 5.5 committed 2026-10-25 22:27:53 +01:00
1 parent 3a41fca43d
commit 99727d8fbc
14 files changed
+777 -1603

No files matched your search

+29 -88
View File
@@ -79,11 +79,6 @@ if(CMAKE_SYSTEM_PROCESSOR)
endif()
endif()
# the libraries in the ffmpeg/ directory are not compatible with mingw
if(MINGW AND NOT USE_SYSTEM_FFMPEG AND NOT BUILD_BUNDLED_FFMPEG)
set(USE_SYSTEM_FFMPEG ON)
endif()
if(NOT ANDROID AND NOT IOS)
if(ARM_DEVICE OR SIMULATOR)
set(USING_EGL ON)
@@ -198,7 +193,6 @@ option(USE_DISCORD "Build with Discord support" ON)
option(USE_MINIUPNPC "Build with miniUPnPc support" ON)
option(USE_SYSTEM_SNAPPY "Dynamically link against system snappy" ${USE_SYSTEM_SNAPPY})
option(USE_SYSTEM_FFMPEG "Dynamically link against system FFMPEG" ${USE_SYSTEM_FFMPEG})
option(BUILD_BUNDLED_FFMPEG "Build bundled ffmpeg module" ${BUILD_BUNDLED_FFMPEG})
option(USE_SYSTEM_FREETYPE "Dynamically link against system freetype" ${USE_SYSTEM_FREETYPE})
option(USE_SYSTEM_LIBCHDR "Dynamically link against system libchdr" ${USE_SYSTEM_LIBCHDR})
option(USE_SYSTEM_LIBZIP "Dynamically link against system libzip" ${USE_SYSTEM_LIBZIP})
@@ -226,6 +220,14 @@ if(USE_SYSTEM_MINIUPNPC)
add_compile_definitions(USE_SYSTEM_MINIUPNPC)
endif()
# FFmpeg is built from the sources in ffmpeg/ (see ext/ffmpeg-build), unless the system's or one in
# FFMPEG_DIR is asked for.
if(USE_FFMPEG AND NOT USE_SYSTEM_FFMPEG AND NOT FFMPEG_DIR)
set(BUILD_BUNDLED_FFMPEG ON)
else()
set(BUILD_BUNDLED_FFMPEG OFF)
endif()
if(WEBOS)
set(USING_X11_VULKAN OFF)
set(USING_GLES2 ON)
@@ -607,88 +609,27 @@ if(USING_GLES2 OR (USING_EGL AND NOT USING_FBDEV))
find_package(X11)
endif()
if(USE_FFMPEG)
if(NOT BUILD_BUNDLED_FFMPEG)
if(NOT FFMPEG_DIR)
if(NOT USE_SYSTEM_FFMPEG)
if(ANDROID)
if(ARMV7)
set(PLATFORM_ARCH "android/armv7")
elseif(ARM64)
set(PLATFORM_ARCH "android/arm64")
elseif(X86_64)
set(PLATFORM_ARCH "android/x86_64")
elseif(X86)
set(PLATFORM_ARCH "android/x86")
endif()
elseif(IOS)
if(IOS_PLATFORM STREQUAL "TVOS")
set(PLATFORM_ARCH "tvos/arm64")
else()
set(PLATFORM_ARCH "ios/universal")
endif()
elseif(MACOSX)
set(PLATFORM_ARCH "macosx/universal")
elseif(LINUX)
if(ARMV7)
set(PLATFORM_ARCH "linux/armv7")
elseif(ARM64)
set(PLATFORM_ARCH "linux/aarch64")
elseif(ARM)
set(PLATFORM_ARCH "linux/arm")
elseif(MIPS)
set(PLATFORM_ARCH "linux/mips32")
elseif(RISCV64)
set(PLATFORM_ARCH "linux/riscv64")
elseif(LOONGARCH64)
set(PLATFORM_ARCH "linux/loongarch64")
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(PLATFORM_ARCH "linux/x86_64")
elseif(X86)
set(PLATFORM_ARCH "linux/x86")
endif()
elseif(WIN32)
if(X86_64)
set(PLATFORM_ARCH "Windows/x86_64")
elseif(X86)
set(PLATFORM_ARCH "Windows/x86")
endif()
endif()
if(WEBOS AND ARMV7)
set(PLATFORM_ARCH "linux/webos")
endif()
if(PLATFORM_ARCH)
set(FFMPEG_DIR "ffmpeg/${PLATFORM_ARCH}")
else()
message("Couldn't find an internal FFmpeg build, using system FFmpeg instead")
endif()
endif()
endif()
find_package(FFmpeg REQUIRED avcodec avformat avutil swresample swscale)
# Check if we need to use avcodec_(alloc|free)_frame instead of av_frame_(alloc|free)
# Check if we need to use const AVCodec
set(CMAKE_REQUIRED_INCLUDES ${FFmpeg_INCLUDE_avcodec};${FFmpeg_INCLUDE_avformat})
set(CMAKE_REQUIRED_LIBRARIES FFmpeg::avcodec;FFmpeg::avformat)
set(CMAKE_REQUIRED_FLAGS "-pedantic -Wall -Werror -Wno-unused-variable")
check_cxx_source_compiles("extern \"C\" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
}
static AVCodecContext *s_codec_context = NULL;
int main() {
const AVCodec *codec = avcodec_find_encoder(s_codec_context->codec_id);
return 0;
}
" HAVE_LIBAVCODEC_CONST_AVCODEC FAIL_REGEX "invalid conversion")
# Check if we need to use avcodec_alloc_context3 instead of stream->codec
# Check if we need to use av_frame_get_buffer instead of avcodec_default_get_buffer
endif()
if(BUILD_BUNDLED_FFMPEG)
set(CMAKE_REQUIRED_FLAGS "-pedantic -Wall -Werror -Wno-unused-variable")
endif()
endif(USE_FFMPEG)
if(USE_FFMPEG AND NOT BUILD_BUNDLED_FFMPEG)
find_package(FFmpeg REQUIRED avcodec avformat avutil swresample swscale)
# Check if we need to use avcodec_(alloc|free)_frame instead of av_frame_(alloc|free)
# Check if we need to use const AVCodec
set(CMAKE_REQUIRED_INCLUDES ${FFmpeg_INCLUDE_avcodec};${FFmpeg_INCLUDE_avformat})
set(CMAKE_REQUIRED_LIBRARIES FFmpeg::avcodec;FFmpeg::avformat)
set(CMAKE_REQUIRED_FLAGS "-pedantic -Wall -Werror -Wno-unused-variable")
check_cxx_source_compiles("extern \"C\" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
}
static AVCodecContext *s_codec_context = NULL;
int main() {
const AVCodec *codec = avcodec_find_encoder(s_codec_context->codec_id);
return 0;
}
" HAVE_LIBAVCODEC_CONST_AVCODEC FAIL_REGEX "invalid conversion")
# Check if we need to use avcodec_alloc_context3 instead of stream->codec
# Check if we need to use av_frame_get_buffer instead of avcodec_default_get_buffer
endif()
find_package(ZLIB)
if(ZLIB_FOUND AND NOT ANDROID)
+1 -8
View File
@@ -763,14 +763,7 @@ if(FFmpeg_FOUND)
elseif(BUILD_BUNDLED_FFMPEG)
target_compile_definitions(Core PRIVATE USE_FFMPEG=1)
set_target_properties(Core PROPERTIES NO_SYSTEM_FROM_IMPORTED true)
target_link_libraries(Core
avcodec
avformat
avutil
swresample
swscale
${ZLIB_LIBRARY}
)
target_link_libraries(Core ffmpeg)
endif()
# Discord integration
+43 -100
View File
@@ -1,109 +1,52 @@
cmake_minimum_required (VERSION 3.13.0)
project (ffmpeg)
project (ffmpeg C)
include(FindPkgConfig)
# Builds the parts of FFmpeg PPSSPP uses as one static library, from the source tree in ffmpeg/.
# There's no configure step: config.h is the one it would write, and sources.mk lists the files.
set(FFMPEG_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../ffmpeg)
# FFmpeg leaves calls to disabled components in if (CONFIG_...) blocks for the compiler to drop,
# which MSVC only does when optimizing, so it's optimized in every configuration. These are
# directory variables, so only the targets here get them.
if(MSVC)
foreach(config DEBUG RELWITHDEBINFO)
string(REGEX REPLACE "/RTC[1csu]+" "" CMAKE_C_FLAGS_${config} "${CMAKE_C_FLAGS_${config}}")
string(REPLACE "/Od" "/O2" CMAKE_C_FLAGS_${config} "${CMAKE_C_FLAGS_${config}}")
string(REPLACE "/Ob0" "" CMAKE_C_FLAGS_${config} "${CMAKE_C_FLAGS_${config}}")
string(REPLACE "/Ob1" "" CMAKE_C_FLAGS_${config} "${CMAKE_C_FLAGS_${config}}")
endforeach()
endif()
file(READ sources.mk FFMPEG_SOURCES_MK)
string(REGEX MATCHALL "lib[a-z]+/[A-Za-z0-9_/]+\\.c" FFMPEG_SOURCES "${FFMPEG_SOURCES_MK}")
list(TRANSFORM FFMPEG_SOURCES PREPEND ${FFMPEG_SRC_DIR}/)
# Reconfigure when the list changes.
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS sources.mk)
add_library(ffmpeg STATIC ${FFMPEG_SOURCES})
set_target_properties(ffmpeg PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
# config.h and ffversion.h are only for FFmpeg itself, avconfig.h (in include/) also for its users.
# Both come before the source tree, which may have the ones an old configure run wrote.
target_include_directories(ffmpeg PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include ${FFMPEG_SRC_DIR})
target_include_directories(ffmpeg BEFORE PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_definitions(ffmpeg PRIVATE HAVE_AV_CONFIG_H _ISOC99_SOURCE _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE)
# Threads are required
find_package(Threads REQUIRED)
set(SRC_DIR ../../ffmpeg)
set(LIBAVCODEC_SRC_DIR ${SRC_DIR}/libavcodec)
set(LIBAVFORMAT_SRC_DIR ${SRC_DIR}/libavformat)
set(LIBAVUTIL_SRC_DIR ${SRC_DIR}/libavutil)
set(LIBSWRESAMPLE_SRC_DIR ${SRC_DIR}/libswresample)
set(LIBSWSCALE_SRC_DIR ${SRC_DIR}/libswscale)
# Check for exotic cross-compiling configurations such as MinGW sysroot with clang compiler
if(WIN32 AND NOT MSVC)
set(MINGW_SYSROOT TRUE)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_C_COMPILER_TARGET MATCHES "mingw")
set(MINGW_SYSROOT TRUE)
target_link_libraries(ffmpeg PRIVATE Threads::Threads)
if(NOT MSVC)
target_link_libraries(ffmpeg PRIVATE m)
endif()
# Additional lib and include dirs for configure checks
set(ADDL_INCLUDES "")
set(ADDL_LIB_DIRS "")
if(MSVC)
target_compile_definitions(ffmpeg PRIVATE _USE_MATH_DEFINES _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS)
endif()
# For cross-compiling, let CMake handle the sysroot via search paths (although toolchains probably already do this)
if(CMAKE_CROSSCOMPILING)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
# FFmpeg's code predates a lot of what modern compilers warn about.
if(MSVC AND NOT CMAKE_C_COMPILER_ID STREQUAL "Clang")
target_compile_options(ffmpeg PRIVATE /W0)
else()
if(NOT CMAKE_OSX_SYSROOT AND UNIX AND NOT APPLE)
list(APPEND ADDL_INCLUDES "/usr/local/include")
list(APPEND ADDL_LIB_DIRS "/usr/local/lib")
endif()
# Except calls to undeclared functions, which mean a wrong HAVE_ in config.h.
target_compile_options(ffmpeg PRIVATE -w -Werror=implicit-function-declaration)
endif()
# Silence warnings due to design philosophy differences between ffmpeg and modern compilers
# Taken primarily from meson-ports/ffmpeg's meson.build script at
# https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/blob/meson-4.4/meson.build?ref_type=heads
if (MSVC AND NOT (CMAKE_C_COMPILER_ID STREQUAL "Clang"))
add_compile_options(/wd4005 /wd4018 /wd4146 /wd4244 /wd4305 /wd4554 /wd4114 /wd4028 /wd4090 /wd4133)
else() # Compiler options for both clang and gcc (includes clang-cl in MSVC mode)
add_compile_options(-D_LARGEFILE_SOURCE -DPIC -Wno-parentheses -Wno-pointer-sign -Wno-switch -Wno-format-truncation -Wno-deprecated-declarations -Wno-unused-function -Wno-uninitialized -Wno-ignored-qualifiers -Wno-unused-variable -Wno-bool-operation -Wno-incompatible-pointer-types -Wno-address -Wno-empty-body)
endif()
if (CMAKE_C_COMPILER_ID STREQUAL "Clang") # additional options not recognized by gcc
add_compile_options(-Wno-string-plus-int -Wno-implicit-const-int-float-conversion)
endif()
# Run an abbreviated version of ffmpeg's configure script's checks required to generate usable config.h,
# libavutil/avconfig.h, and libavutil/ffversion.h headers with hardcoded minimal features required by PPSSPP
include(configure_checks.cmake)
# libavcodec
include(libs/libavcodec.cmake)
add_library(avcodec STATIC ${LIBAVCODEC_SOURCE_FILES})
set_target_properties(avcodec PROPERTIES POSITION_INDEPENDENT_CODE TRUE) # Enable PIC
target_precompile_headers(avcodec PRIVATE ${LIBAVUTIL_SRC_DIR}/internal.h ${LIBAVUTIL_SRC_DIR}/intmath.h)
target_link_libraries(avcodec)
target_include_directories(avcodec PRIVATE ${SRC_DIR} ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(avcodec INTERFACE ${LIBAVCODEC_HEADERS}) # expose libavcodec headers to PPSSPP build
set(LIBAVCODEC_LIBRARY avcodec)
# libavformat
include(libs/libavformat.cmake)
add_library(avformat STATIC ${LIBAVFORMAT_SOURCE_FILES})
set_target_properties(avformat PROPERTIES POSITION_INDEPENDENT_CODE TRUE) # Enable PIC
target_precompile_headers(avformat PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/config.h ${LIBAVUTIL_SRC_DIR}/internal.h)
target_link_libraries(avformat PUBLIC avcodec)
target_include_directories(avformat PRIVATE ${SRC_DIR} ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(avformat INTERFACE ${LIBAVFORMAT_HEADERS})
set(LIBAVFORMAT_LIBRARY avformat)
# libavutil
include(libs/libavutil.cmake)
add_library(avutil STATIC ${LIBAVUTIL_SOURCE_FILES})
target_precompile_headers(avutil PRIVATE
${CMAKE_CURRENT_BINARY_DIR}/libavutil/ffversion.h
${CMAKE_CURRENT_BINARY_DIR}/libavutil/avconfig.h
${LIBAVUTIL_SRC_DIR}/internal.h
)
set_target_properties(avutil PROPERTIES POSITION_INDEPENDENT_CODE TRUE) # Enable PIC
target_link_libraries(avutil)
target_include_directories(avutil PRIVATE ${SRC_DIR} ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(avutil INTERFACE ${LIBAVUTIL_HEADERS})
set(LIBAVUTIL_LIBRARY avutil)
# libswresample
include(libs/libswresample.cmake)
add_library(swresample STATIC ${LIBSWRESAMPLE_SOURCE_FILES})
set_target_properties(swresample PROPERTIES POSITION_INDEPENDENT_CODE TRUE) # Enable PIC
target_precompile_headers(swresample PRIVATE ${LIBAVUTIL_SRC_DIR}/cpu.h ${LIBAVUTIL_SRC_DIR}/internal.h)
target_link_libraries(swresample)
target_include_directories(swresample PUBLIC ${SRC_DIR} ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(swresample INTERFACE ${LIBSWRESAMPLE_HEADERS})
set(LIBSWRESAMPLE_LIBRARY swresample)
# libswscale
include(libs/libswscale.cmake)
add_library(swscale STATIC ${LIBSWSCALE_SOURCE_FILES})
set_target_properties(swscale PROPERTIES POSITION_INDEPENDENT_CODE TRUE) # Enable PIC
target_precompile_headers(swscale PRIVATE ${LIBAVUTIL_SRC_DIR}/internal.h)
target_link_libraries(swscale)
target_include_directories(swscale PRIVATE ${SRC_DIR} ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(swscale INTERFACE ${LIBSWSCALE_HEADERS})
set(LIBSWSCALE_LIBRARY swscale)
@@ -1,30 +1,91 @@
/* Generated by cmake with numerous options deliberately disabled and designed only to build ppsspp-ffmpeg module */
/* Hand-maintained config.h for building FFmpeg as part of PPSSPP (ext/ffmpeg-build), in place
* of the one FFmpeg's configure would write. All assembly and arch-specific code is off, as in the
* --disable-asm builds of the old prebuilt libraries, and only the platform has to be told apart,
* which the FF_PPSSPP_ switches below do. Components are enabled with the CONFIG_*_DECODER etc.
* lines, and each needs its sources in sources.mk. include/libavutil/avconfig.h and
* libavutil/ffversion.h stand in for the other two files configure writes. */
#ifndef FFMPEG_CONFIG_H
#define FFMPEG_CONFIG_H
#define FFMPEG_CONFIGURATION "this is where configure options are normally listed, although technically we don't need them and ffmpeg builds just fine in a pure cmake environment without them"
#define FFMPEG_LICENSE "GPL version 2 or later"
#if defined(_WIN32)
#include <winapifamily.h>
#define FF_PPSSPP_WIN32 1
#define FF_PPSSPP_POSIX 0
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#define FF_PPSSPP_WINRT 0
#else
#define FF_PPSSPP_WINRT 1
#endif
#define FF_PPSSPP_WIN32_DESKTOP (!FF_PPSSPP_WINRT)
#else
#define FF_PPSSPP_WIN32 0
#define FF_PPSSPP_POSIX 1
#define FF_PPSSPP_WINRT 0
#define FF_PPSSPP_WIN32_DESKTOP 0
#endif
#if defined(__GNUC__) || defined(__clang__) && !defined(_MSC_VER)
#define FF_PPSSPP_GNUC 1
#else
#define FF_PPSSPP_GNUC 0
#endif
#if defined(_MSC_VER)
#define FF_PPSSPP_MSVC 1
#else
#define FF_PPSSPP_MSVC 0
#endif
#define FF_PPSSPP_WIN32_NOT_GNUC (FF_PPSSPP_WIN32 && !FF_PPSSPP_GNUC)
#if defined(__linux__)
#define FF_PPSSPP_LINUX 1
#else
#define FF_PPSSPP_LINUX 0
#endif
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
#define FF_PPSSPP_BSD 1
#else
#define FF_PPSSPP_BSD 0
#endif
/* The BSDs' malloc.h is missing or an #error. */
#if defined(_WIN32) || defined(__linux__)
#define FF_PPSSPP_MALLOC_H 1
#else
#define FF_PPSSPP_MALLOC_H 0
#endif
#if defined(__APPLE__) || defined(_WIN32) && defined(_M_IX86)
#define FF_PPSSPP_EXTERN_PREFIX "_"
#else
#define FF_PPSSPP_EXTERN_PREFIX ""
#endif
#define FFMPEG_CONFIGURATION "ppsspp ext/ffmpeg-build"
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
#define CONFIG_THIS_YEAR 2016
#define FFMPEG_DATADIR @CMAKE_CURRENT_BINARY_DIR@
#define AVCONV_DATADIR @CMAKE_CURRENT_BINARY_DIR@
#define CC_IDENT @CC_IDENT@
#define av_restrict @_RESTRICT@
#define EXTERN_PREFIX @extern_prefix@
#define EXTERN_ASM @extern_asm@
#define BUILDSUF @build_suffix@
#define SLIBSUF @SLIBSUF@
#define FFMPEG_DATADIR "."
#define AVCONV_DATADIR "."
#define CC_IDENT "unknown"
#define av_restrict __restrict
#define EXTERN_PREFIX FF_PPSSPP_EXTERN_PREFIX
#define EXTERN_ASM
#define BUILDSUF ""
#define SLIBSUF ""
#define HAVE_MMX2 HAVE_MMXEXT
#define SWS_MAX_FILTER_SIZE @sws_max_filter_size@
#define ARCH_AARCH64 @ARCH_AARCH64@
#define SWS_MAX_FILTER_SIZE 256
#define ARCH_AARCH64 0
#define ARCH_ALPHA 0
#define ARCH_ARM @ARCH_ARM@
#define ARCH_ARM 0
#define ARCH_AVR32 0
#define ARCH_AVR32_AP 0
#define ARCH_AVR32_UC 0
#define ARCH_BFIN 0
#define ARCH_IA64 0
#define ARCH_M68K 0
#define ARCH_MIPS @ARCH_MIPS@
#define ARCH_MIPS64 @ARCH_MIPS64@
#define ARCH_MIPS 0
#define ARCH_MIPS64 0
#define ARCH_PARISC 0
#define ARCH_PPC 0
#define ARCH_PPC64 0
@@ -35,340 +96,340 @@
#define ARCH_TILEGX 0
#define ARCH_TILEPRO 0
#define ARCH_TOMI 0
#define ARCH_X86 @ARCH_X86@
#define ARCH_X86_32 @ARCH_X86_32@
#define ARCH_X86_64 @ARCH_X86_64@
#define HAVE_ARMV5TE @HAVE_ARMV5TE@
#define HAVE_ARMV6 @HAVE_ARMV6@
#define HAVE_ARMV6T2 @HAVE_ARMV6T2@
#define HAVE_ARMV8 @HAVE_ARMV8@
#define HAVE_NEON @HAVE_NEON@
#define HAVE_VFP @HAVE_VFP@
#define HAVE_VFPV3 @HAVE_VFPV3@
#define HAVE_SETEND @HAVE_SETEND@
#define ARCH_X86 0
#define ARCH_X86_32 0
#define ARCH_X86_64 0
#define HAVE_ARMV5TE 0
#define HAVE_ARMV6 0
#define HAVE_ARMV6T2 0
#define HAVE_ARMV8 0
#define HAVE_NEON 0
#define HAVE_VFP 0
#define HAVE_VFPV3 0
#define HAVE_SETEND 0
#define HAVE_ALTIVEC 0
#define HAVE_DCBZL 0
#define HAVE_LDBRX 0
#define HAVE_POWER8 0
#define HAVE_PPC4XX 0
#define HAVE_VSX 0
#define HAVE_AESNI @HAVE_AESNI@
#define HAVE_AMD3DNOW @HAVE_AMD3DNOW@
#define HAVE_AMD3DNOWEXT @HAVE_AMD3DNOWEXT@
#define HAVE_AVX @HAVE_AVX@
#define HAVE_AVX2 @HAVE_AVX2@
#define HAVE_FMA3 @HAVE_FMA3@
#define HAVE_FMA4 @HAVE_FMA4@
#define HAVE_MMX @HAVE_MMX@
#define HAVE_MMXEXT @HAVE_MMXEXT@
#define HAVE_SSE @HAVE_SSE@
#define HAVE_SSE2 @HAVE_SSE2@
#define HAVE_SSE3 @HAVE_SSE3@
#define HAVE_SSE4 @HAVE_SSE4@
#define HAVE_SSE42 @HAVE_SSE42@
#define HAVE_SSSE3 @HAVE_SSSE3@
#define HAVE_XOP @HAVE_XOP@
#define HAVE_CPUNOP @HAVE_CPUNOP@
#define HAVE_I686 @HAVE_I686@
#define HAVE_MIPSFPU @HAVE_MIPSFPU@
#define HAVE_MIPS32R2 @HAVE_MIPS32R2@
#define HAVE_MIPS32R5 @HAVE_MIPS32R5@
#define HAVE_MIPS64R2 @HAVE_MIPS64R2@
#define HAVE_MIPS32R6 @HAVE_MIPS32R6@
#define HAVE_MIPS64R6 @HAVE_MIPS64R6@
#define HAVE_MIPSDSP @HAVE_MIPSDSP@
#define HAVE_MIPSDSPR2 @HAVE_MIPSDSPR2@
#define HAVE_MSA @HAVE_MSA@
#define HAVE_LOONGSON2 @HAVE_LOONGSON2@
#define HAVE_LOONGSON3 @HAVE_LOONGSON3@
#define HAVE_MMI @HAVE_MMI@
#define HAVE_ARMV5TE_EXTERNAL @HAVE_ARMV5TE_EXTERNAL@
#define HAVE_ARMV6_EXTERNAL @HAVE_ARMV6_EXTERNAL@
#define HAVE_ARMV6T2_EXTERNAL @HAVE_ARMV6T2_EXTERNAL@
#define HAVE_ARMV8_EXTERNAL @HAVE_ARMV8_EXTERNAL@
#define HAVE_NEON_EXTERNAL @HAVE_NEON_EXTERNAL@
#define HAVE_VFP_EXTERNAL @HAVE_VFP_EXTERNAL@
#define HAVE_VFPV3_EXTERNAL @HAVE_VFPV3_EXTERNAL@
#define HAVE_SETEND_EXTERNAL @HAVE_SETEND_EXTERNAL@
#define HAVE_AESNI 0
#define HAVE_AMD3DNOW 0
#define HAVE_AMD3DNOWEXT 0
#define HAVE_AVX 0
#define HAVE_AVX2 0
#define HAVE_FMA3 0
#define HAVE_FMA4 0
#define HAVE_MMX 0
#define HAVE_MMXEXT 0
#define HAVE_SSE 0
#define HAVE_SSE2 0
#define HAVE_SSE3 0
#define HAVE_SSE4 0
#define HAVE_SSE42 0
#define HAVE_SSSE3 0
#define HAVE_XOP 0
#define HAVE_CPUNOP 0
#define HAVE_I686 0
#define HAVE_MIPSFPU 0
#define HAVE_MIPS32R2 0
#define HAVE_MIPS32R5 0
#define HAVE_MIPS64R2 0
#define HAVE_MIPS32R6 0
#define HAVE_MIPS64R6 0
#define HAVE_MIPSDSP 0
#define HAVE_MIPSDSPR2 0
#define HAVE_MSA 0
#define HAVE_LOONGSON2 0
#define HAVE_LOONGSON3 0
#define HAVE_MMI 0
#define HAVE_ARMV5TE_EXTERNAL 0
#define HAVE_ARMV6_EXTERNAL 0
#define HAVE_ARMV6T2_EXTERNAL 0
#define HAVE_ARMV8_EXTERNAL 0
#define HAVE_NEON_EXTERNAL 0
#define HAVE_VFP_EXTERNAL 0
#define HAVE_VFPV3_EXTERNAL 0
#define HAVE_SETEND_EXTERNAL 0
#define HAVE_ALTIVEC_EXTERNAL 0
#define HAVE_DCBZL_EXTERNAL 0
#define HAVE_LDBRX_EXTERNAL 0
#define HAVE_POWER8_EXTERNAL 0
#define HAVE_PPC4XX_EXTERNAL 0
#define HAVE_VSX_EXTERNAL 0
#define HAVE_AESNI_EXTERNAL @HAVE_AESNI_EXTERNAL@
#define HAVE_AMD3DNOW_EXTERNAL @HAVE_AMD3DNOW_EXTERNAL@
#define HAVE_AMD3DNOWEXT_EXTERNAL @HAVE_AMD3DNOWEXT_EXTERNAL@
#define HAVE_AVX_EXTERNAL @HAVE_AVX_EXTERNAL@
#define HAVE_AVX2_EXTERNAL @HAVE_AVX2_EXTERNAL@
#define HAVE_FMA3_EXTERNAL @HAVE_FMA3_EXTERNAL@
#define HAVE_FMA4_EXTERNAL @HAVE_FMA4_EXTERNAL@
#define HAVE_MMX_EXTERNAL @HAVE_MMX_EXTERNAL@
#define HAVE_MMXEXT_EXTERNAL @HAVE_MMXEXT_EXTERNAL@
#define HAVE_SSE_EXTERNAL @HAVE_SSE_EXTERNAL@
#define HAVE_SSE2_EXTERNAL @HAVE_SSE2_EXTERNAL@
#define HAVE_SSE3_EXTERNAL @HAVE_SSE3_EXTERNAL@
#define HAVE_SSE4_EXTERNAL @HAVE_SSE4_EXTERNAL@
#define HAVE_SSE42_EXTERNAL @HAVE_SSE42_EXTERNAL@
#define HAVE_SSSE3_EXTERNAL @HAVE_SSSE3_EXTERNAL@
#define HAVE_XOP_EXTERNAL @HAVE_XOP_EXTERNAL@
#define HAVE_CPUNOP_EXTERNAL @HAVE_CPUNOP_EXTERNAL@
#define HAVE_I686_EXTERNAL @HAVE_I686_EXTERNAL@
#define HAVE_MIPSFPU_EXTERNAL @HAVE_MIPSFPU_EXTERNAL@
#define HAVE_MIPS32R2_EXTERNAL @HAVE_MIPS32R2_EXTERNAL@
#define HAVE_MIPS32R5_EXTERNAL @HAVE_MIPS32R5_EXTERNAL@
#define HAVE_MIPS64R2_EXTERNAL @HAVE_MIPS64R2_EXTERNAL@
#define HAVE_MIPS32R6_EXTERNAL @HAVE_MIPS32R6_EXTERNAL@
#define HAVE_MIPS64R6_EXTERNAL @HAVE_MIPS64R6_EXTERNAL@
#define HAVE_MIPSDSP_EXTERNAL @HAVE_MIPSDSP_EXTERNAL@
#define HAVE_MIPSDSPR2_EXTERNAL @HAVE_MIPSDSPR2_EXTERNAL@
#define HAVE_MSA_EXTERNAL @HAVE_MSA_EXTERNAL@
#define HAVE_LOONGSON2_EXTERNAL @HAVE_LOONGSON2_EXTERNAL@
#define HAVE_LOONGSON3_EXTERNAL @HAVE_LOONGSON3_EXTERNAL@
#define HAVE_MMI_EXTERNAL @HAVE_MMI_EXTERNAL@
#define HAVE_AESNI_EXTERNAL 0
#define HAVE_AMD3DNOW_EXTERNAL 0
#define HAVE_AMD3DNOWEXT_EXTERNAL 0
#define HAVE_AVX_EXTERNAL 0
#define HAVE_AVX2_EXTERNAL 0
#define HAVE_FMA3_EXTERNAL 0
#define HAVE_FMA4_EXTERNAL 0
#define HAVE_MMX_EXTERNAL 0
#define HAVE_MMXEXT_EXTERNAL 0
#define HAVE_SSE_EXTERNAL 0
#define HAVE_SSE2_EXTERNAL 0
#define HAVE_SSE3_EXTERNAL 0
#define HAVE_SSE4_EXTERNAL 0
#define HAVE_SSE42_EXTERNAL 0
#define HAVE_SSSE3_EXTERNAL 0
#define HAVE_XOP_EXTERNAL 0
#define HAVE_CPUNOP_EXTERNAL 0
#define HAVE_I686_EXTERNAL 0
#define HAVE_MIPSFPU_EXTERNAL 0
#define HAVE_MIPS32R2_EXTERNAL 0
#define HAVE_MIPS32R5_EXTERNAL 0
#define HAVE_MIPS64R2_EXTERNAL 0
#define HAVE_MIPS32R6_EXTERNAL 0
#define HAVE_MIPS64R6_EXTERNAL 0
#define HAVE_MIPSDSP_EXTERNAL 0
#define HAVE_MIPSDSPR2_EXTERNAL 0
#define HAVE_MSA_EXTERNAL 0
#define HAVE_LOONGSON2_EXTERNAL 0
#define HAVE_LOONGSON3_EXTERNAL 0
#define HAVE_MMI_EXTERNAL 0
#define HAVE_ARMV5TE_INLINE 0
#define HAVE_ARMV6_INLINE @HAVE_ARMV6_INLINE@
#define HAVE_ARMV6T2_INLINE @HAVE_ARMV6T2_INLINE@
#define HAVE_ARMV8_INLINE @HAVE_ARMV8_INLINE@
#define HAVE_NEON_INLINE @HAVE_NEON_INLINE@
#define HAVE_VFP_INLINE @HAVE_VFP_INLINE@
#define HAVE_VFPV3_INLINE @HAVE_VFPV3_INLINE@
#define HAVE_SETEND_INLINE @HAVE_SETEND_INLINE@
#define HAVE_ARMV6_INLINE 0
#define HAVE_ARMV6T2_INLINE 0
#define HAVE_ARMV8_INLINE 0
#define HAVE_NEON_INLINE 0
#define HAVE_VFP_INLINE 0
#define HAVE_VFPV3_INLINE 0
#define HAVE_SETEND_INLINE 0
#define HAVE_ALTIVEC_INLINE 0
#define HAVE_DCBZL_INLINE 0
#define HAVE_LDBRX_INLINE 0
#define HAVE_POWER8_INLINE 0
#define HAVE_PPC4XX_INLINE 0
#define HAVE_VSX_INLINE 0
#define HAVE_AESNI_INLINE @HAVE_AESNI_INLINE@
#define HAVE_AMD3DNOW_INLINE @HAVE_AMD3DNOW_INLINE@
#define HAVE_AMD3DNOWEXT_INLINE @HAVE_AMD3DNOWEXT_INLINE@
#define HAVE_AVX_INLINE @HAVE_AVX_INLINE@
#define HAVE_AVX2_INLINE @HAVE_AVX2_INLINE@
#define HAVE_FMA3_INLINE @HAVE_FMA3_INLINE@
#define HAVE_FMA4_INLINE @HAVE_FMA4_INLINE@
#define HAVE_MMX_INLINE @HAVE_MMX_INLINE@
#define HAVE_MMXEXT_INLINE @HAVE_MMXEXT_INLINE@
#define HAVE_SSE_INLINE @HAVE_SSE_INLINE@
#define HAVE_SSE2_INLINE @HAVE_SSE2_INLINE@
#define HAVE_SSE3_INLINE @HAVE_SSE3_INLINE@
#define HAVE_SSE4_INLINE @HAVE_SSE4_INLINE@
#define HAVE_SSE42_INLINE @HAVE_SSE42_INLINE@
#define HAVE_SSSE3_INLINE @HAVE_SSSE3_INLINE@
#define HAVE_XOP_INLINE @HAVE_XOP_INLINE@
#define HAVE_CPUNOP_INLINE @HAVE_CPUNOP_INLINE@
#define HAVE_I686_INLINE @HAVE_I686_INLINE@
#define HAVE_MIPSFPU_INLINE @HAVE_MIPSFPU_INLINE@
#define HAVE_MIPS32R2_INLINE @HAVE_MIPS32R2_INLINE@
#define HAVE_MIPS32R5_INLINE @HAVE_MIPS32R5_INLINE@
#define HAVE_MIPS64R2_INLINE @HAVE_MIPS64R2_INLINE@
#define HAVE_MIPS32R6_INLINE @HAVE_MIPS32R6_INLINE@
#define HAVE_MIPS64R6_INLINE @HAVE_MIPS64R6_INLINE@
#define HAVE_MIPSDSP_INLINE @HAVE_MIPSDSP_INLINE@
#define HAVE_MIPSDSPR2_INLINE @HAVE_MIPSDSPR2_INLINE@
#define HAVE_MSA_INLINE @HAVE_MSA_INLINE@
#define HAVE_LOONGSON2_INLINE @HAVE_LOONGSON2_INLINE@
#define HAVE_LOONGSON3_INLINE @HAVE_LOONGSON3_INLINE@
#define HAVE_MMI_INLINE @HAVE_MMI_INLINE@
#define HAVE_ALIGNED_STACK @HAVE_ALIGNED_STACK@
#define HAVE_FAST_64BIT @HAVE_FAST_64BIT@
#define HAVE_FAST_CLZ @HAVE_FAST_CLZ@
#define HAVE_FAST_CMOV @HAVE_FAST_CMOV@
#define HAVE_LOCAL_ALIGNED_8 @HAVE_LOCAL_ALIGNED_8@
#define HAVE_LOCAL_ALIGNED_16 @HAVE_LOCAL_ALIGNED_16@
#define HAVE_LOCAL_ALIGNED_32 @HAVE_LOCAL_ALIGNED_32@
#define HAVE_SIMD_ALIGN_16 @HAVE_SIMD_ALIGN_16@
#define HAVE_ATOMICS_GCC @HAVE_ATOMICS_GCC@
#define HAVE_ATOMICS_SUNCC @HAVE_ATOMICS_SUNCC@
#define HAVE_ATOMICS_WIN32 @HAVE_ATOMICS_WIN32@
#define HAVE_ATOMIC_CAS_PTR @HAVE_ATOMIC_CAS_PTR@
#define HAVE_ATOMIC_COMPARE_EXCHANGE @HAVE_ATOMIC_COMPARE_EXCHANGE@
#define HAVE_MACHINE_RW_BARRIER @HAVE_MACHINE_RW_BARRIER@
#define HAVE_MEMORYBARRIER @HAVE_MEMORYBARRIER@
#define HAVE_MM_EMPTY @HAVE_MM_EMPTY@
#define HAVE_RDTSC @HAVE_RDTSC@
#define HAVE_SARESTART @HAVE_SARESTART@
#define HAVE_SYNC_VAL_COMPARE_AND_SWAP @HAVE_SYNC_VAL_COMPARE_AND_SWAP@
#define HAVE_CABS @HAVE_CABS@
#define HAVE_CEXP @HAVE_CEXP@
#define HAVE_INLINE_ASM @HAVE_INLINE_ASM@
#define HAVE_SYMVER @HAVE_SYMVER@
#define HAVE_YASM @HAVE_YASM@
#define HAVE_AESNI_INLINE 0
#define HAVE_AMD3DNOW_INLINE 0
#define HAVE_AMD3DNOWEXT_INLINE 0
#define HAVE_AVX_INLINE 0
#define HAVE_AVX2_INLINE 0
#define HAVE_FMA3_INLINE 0
#define HAVE_FMA4_INLINE 0
#define HAVE_MMX_INLINE 0
#define HAVE_MMXEXT_INLINE 0
#define HAVE_SSE_INLINE 0
#define HAVE_SSE2_INLINE 0
#define HAVE_SSE3_INLINE 0
#define HAVE_SSE4_INLINE 0
#define HAVE_SSE42_INLINE 0
#define HAVE_SSSE3_INLINE 0
#define HAVE_XOP_INLINE 0
#define HAVE_CPUNOP_INLINE 0
#define HAVE_I686_INLINE 0
#define HAVE_MIPSFPU_INLINE 0
#define HAVE_MIPS32R2_INLINE 0
#define HAVE_MIPS32R5_INLINE 0
#define HAVE_MIPS64R2_INLINE 0
#define HAVE_MIPS32R6_INLINE 0
#define HAVE_MIPS64R6_INLINE 0
#define HAVE_MIPSDSP_INLINE 0
#define HAVE_MIPSDSPR2_INLINE 0
#define HAVE_MSA_INLINE 0
#define HAVE_LOONGSON2_INLINE 0
#define HAVE_LOONGSON3_INLINE 0
#define HAVE_MMI_INLINE 0
#define HAVE_ALIGNED_STACK 0
#define HAVE_FAST_64BIT 0
#define HAVE_FAST_CLZ 0
#define HAVE_FAST_CMOV 0
#define HAVE_LOCAL_ALIGNED_8 FF_PPSSPP_GNUC
#define HAVE_LOCAL_ALIGNED_16 FF_PPSSPP_GNUC
#define HAVE_LOCAL_ALIGNED_32 FF_PPSSPP_GNUC
#define HAVE_SIMD_ALIGN_16 0
#define HAVE_ATOMICS_GCC FF_PPSSPP_GNUC
#define HAVE_ATOMICS_SUNCC 0
#define HAVE_ATOMICS_WIN32 FF_PPSSPP_WIN32_NOT_GNUC
#define HAVE_ATOMIC_CAS_PTR 0
#define HAVE_ATOMIC_COMPARE_EXCHANGE FF_PPSSPP_GNUC
#define HAVE_MACHINE_RW_BARRIER 0
#define HAVE_MEMORYBARRIER FF_PPSSPP_WIN32_NOT_GNUC
#define HAVE_MM_EMPTY 0
#define HAVE_RDTSC 0
#define HAVE_SARESTART 0
#define HAVE_SYNC_VAL_COMPARE_AND_SWAP FF_PPSSPP_GNUC
#define HAVE_CABS 0
#define HAVE_CEXP 0
#define HAVE_INLINE_ASM 0
#define HAVE_SYMVER 0
#define HAVE_YASM 0
#define HAVE_BIGENDIAN 0
#define HAVE_FAST_UNALIGNED @HAVE_FAST_UNALIGNED@
#define HAVE_FAST_UNALIGNED 0
#define HAVE_INCOMPATIBLE_LIBAV_ABI 0
#define HAVE_ALSA_ASOUNDLIB_H @HAVE_ALSA_ASOUNDLIB_H@
#define HAVE_ALTIVEC_H @HAVE_ALTIVEC_H@
#define HAVE_ARPA_INET_H @HAVE_ARPA_INET_H@
#define HAVE_ASM_TYPES_H @HAVE_ASM_TYPES_H@
#define HAVE_CDIO_PARANOIA_H @HAVE_CDIO_PARANOIA_H@
#define HAVE_CDIO_PARANOIA_PARANOIA_H @HAVE_CDIO_PARANOIA_PARANOIA_H@
#define HAVE_DEV_BKTR_IOCTL_BT848_H @HAVE_DEV_BKTR_IOCTL_BT848_H@
#define HAVE_DEV_BKTR_IOCTL_METEOR_H @HAVE_DEV_BKTR_IOCTL_METEOR_H@
#define HAVE_DEV_IC_BT8XX_H @HAVE_DEV_IC_BT8XX_H@
#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H @HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H@
#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H @HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H@
#define HAVE_DIRECT_H @HAVE_DIRECT_H@
#define HAVE_DIRENT_H @HAVE_DIRENT_H@
#define HAVE_DLFCN_H @HAVE_DLFCN_H@
#define HAVE_D3D11_H @HAVE_D3D11_H@
#define HAVE_DXVA_H @HAVE_DXVA_H@
#define HAVE_ES2_GL_H @HAVE_ES2_GL_H@
#define HAVE_GSM_H @HAVE_GSM_H@
#define HAVE_IO_H @HAVE_IO_H@
#define HAVE_MACH_MACH_TIME_H @HAVE_MACH_MACH_TIME_H@
#define HAVE_MACHINE_IOCTL_BT848_H @HAVE_MACHINE_IOCTL_BT848_H@
#define HAVE_MACHINE_IOCTL_METEOR_H @HAVE_MACHINE_IOCTL_METEOR_H@
#define HAVE_MALLOC_H @HAVE_MALLOC_H@
#define HAVE_OPENCV2_CORE_CORE_C_H @HAVE_OPENCV2_CORE_CORE_C_H@
#define HAVE_OPENJPEG_2_1_OPENJPEG_H @HAVE_OPENJPEG_2_1_OPENJPEG_H@
#define HAVE_OPENJPEG_2_0_OPENJPEG_H @HAVE_OPENJPEG_2_0_OPENJPEG_H@
#define HAVE_OPENJPEG_1_5_OPENJPEG_H @HAVE_OPENJPEG_1_5_OPENJPEG_H@
#define HAVE_OPENGL_GL3_H @HAVE_OPENGL_GL3_H@
#define HAVE_POLL_H @HAVE_POLL_H@
#define HAVE_SNDIO_H @HAVE_SNDIO_H@
#define HAVE_SOUNDCARD_H @HAVE_SOUNDCARD_H@
#define HAVE_SYS_MMAN_H @HAVE_SYS_MMAN_H@
#define HAVE_SYS_PARAM_H @HAVE_SYS_PARAM_H@
#define HAVE_SYS_RESOURCE_H @HAVE_SYS_RESOURCE_H@
#define HAVE_SYS_SELECT_H @HAVE_SYS_SELECT_H@
#define HAVE_SYS_SOUNDCARD_H @HAVE_SYS_SOUNDCARD_H@
#define HAVE_SYS_TIME_H @HAVE_SYS_TIME_H@
#define HAVE_SYS_UN_H @HAVE_SYS_UN_H@
#define HAVE_SYS_VIDEOIO_H @HAVE_SYS_VIDEOIO_H@
#define HAVE_TERMIOS_H @HAVE_TERMIOS_H@
#define HAVE_UDPLITE_H @HAVE_UDPLITE_H@
#define HAVE_UNISTD_H @HAVE_UNISTD_H@
#define HAVE_VALGRIND_VALGRIND_H @HAVE_VALGRIND_VALGRIND_H@
#define HAVE_WINDOWS_H @HAVE_WINDOWS_H@
#define HAVE_WINSOCK2_H @HAVE_WINSOCK2_H@
#define HAVE_INTRINSICS_NEON @HAVE_NEON@
#define HAVE_ATANF @HAVE_ATANF@
#define HAVE_ATAN2F @HAVE_ATAN2F@
#define HAVE_CBRT @HAVE_CBRT@
#define HAVE_CBRTF @HAVE_CBRTF@
#define HAVE_COPYSIGN @HAVE_COPYSIGN@
#define HAVE_COSF @HAVE_COSF@
#define HAVE_ERF @HAVE_ERF@
#define HAVE_EXP2 @HAVE_EXP2@
#define HAVE_EXP2F @HAVE_EXP2F@
#define HAVE_EXPF @HAVE_EXPF@
#define HAVE_HYPOT @HAVE_HYPOT@
#define HAVE_ISFINITE @HAVE_ISFINITE@
#define HAVE_ISINF @HAVE_ISINF@
#define HAVE_ISNAN @HAVE_ISNAN@
#define HAVE_LDEXPF @HAVE_LDEXPF@
#define HAVE_LLRINT @HAVE_LLRINT@
#define HAVE_LLRINTF @HAVE_LLRINTF@
#define HAVE_LOG2 @HAVE_LOG2@
#define HAVE_LOG2F @HAVE_LOG2F@
#define HAVE_LOG10F @HAVE_LOG10F@
#define HAVE_LRINT @HAVE_LRINT@
#define HAVE_LRINTF @HAVE_LRINTF@
#define HAVE_POWF @HAVE_POWF@
#define HAVE_RINT @HAVE_RINT@
#define HAVE_ROUND @HAVE_ROUND@
#define HAVE_ROUNDF @HAVE_ROUNDF@
#define HAVE_SINF @HAVE_SINF@
#define HAVE_TRUNC @HAVE_TRUNC@
#define HAVE_TRUNCF @HAVE_TRUNCF@
#define HAVE_ACCESS @HAVE_ACCESS@
#define HAVE_ALIGNED_MALLOC @HAVE_ALIGNED_MALLOC@
#define HAVE_ARC4RANDOM @HAVE_ARC4RANDOM@
#define HAVE_CLOCK_GETTIME @HAVE_CLOCK_GETTIME@
#define HAVE_CLOSESOCKET @HAVE_CLOSESOCKET@
#define HAVE_COMMANDLINETOARGVW @HAVE_COMMANDLINETOARGVW@
#define HAVE_COTASKMEMFREE @HAVE_COTASKMEMFREE@
#define HAVE_CRYPTGENRANDOM @HAVE_CRYPTGENRANDOM@
#define HAVE_DLOPEN @HAVE_DLOPEN@
#define HAVE_FCNTL @HAVE_FCNTL@
#define HAVE_FLT_LIM @HAVE_FLT_LIM@
#define HAVE_FORK @HAVE_FORK@
#define HAVE_GETADDRINFO @HAVE_GETADDRINFO@
#define HAVE_GETHRTIME @HAVE_GETHRTIME@
#define HAVE_GETOPT @HAVE_GETOPT@
#define HAVE_GETPROCESSAFFINITYMASK @HAVE_GETPROCESSAFFINITYMASK@
#define HAVE_GETPROCESSMEMORYINFO @HAVE_GETPROCESSMEMORYINFO@
#define HAVE_GETPROCESSTIMES @HAVE_GETPROCESSTIMES@
#define HAVE_GETRUSAGE @HAVE_GETRUSAGE@
#define HAVE_GETSYSTEMTIMEASFILETIME @HAVE_GETSYSTEMTIMEASFILETIME@
#define HAVE_GETTIMEOFDAY @HAVE_GETTIMEOFDAY@
#define HAVE_GLOB @HAVE_GLOB@
#define HAVE_GLXGETPROCADDRESS @HAVE_GLXGETPROCADDRESS@
#define HAVE_GMTIME_R @HAVE_GMTIME_R@
#define HAVE_INET_ATON @HAVE_INET_ATON@
#define HAVE_ISATTY @HAVE_ISATTY@
#define HAVE_JACK_PORT_GET_LATENCY_RANGE @HAVE_JACK_PORT_GET_LATENCY_RANGE@
#define HAVE_KBHIT @HAVE_KBHIT@
#define HAVE_LOCALTIME_R @HAVE_LOCALTIME_R@
#define HAVE_LSTAT @HAVE_LSTAT@
#define HAVE_LZO1X_999_COMPRESS @HAVE_LZO1X_999_COMPRESS@
#define HAVE_MACH_ABSOLUTE_TIME @HAVE_MACH_ABSOLUTE_TIME@
#define HAVE_MAPVIEWOFFILE @HAVE_MAPVIEWOFFILE@
#define HAVE_MEMALIGN @HAVE_MEMALIGN@
#define HAVE_MKSTEMP @HAVE_MKSTEMP@
#define HAVE_MMAP @HAVE_MMAP@
#define HAVE_MPROTECT @HAVE_MPROTECT@
#define HAVE_NANOSLEEP @HAVE_NANOSLEEP@
#define HAVE_PEEKNAMEDPIPE @HAVE_PEEKNAMEDPIPE@
#define HAVE_POSIX_MEMALIGN @HAVE_POSIX_MEMALIGN@
#define HAVE_PTHREAD_CANCEL @HAVE_PTHREAD_CANCEL@
#define HAVE_SCHED_GETAFFINITY @HAVE_SCHED_GETAFFINITY@
#define HAVE_SETCONSOLETEXTATTRIBUTE @HAVE_SETCONSOLETEXTATTRIBUTE@
#define HAVE_SETCONSOLECTRLHANDLER @HAVE_SETCONSOLECTRLHANDLER@
#define HAVE_SETMODE @HAVE_SETMODE@
#define HAVE_SETRLIMIT @HAVE_SETRLIMIT@
#define HAVE_SLEEP @HAVE_SLEEP@
#define HAVE_STRERROR_R @HAVE_STRERROR_R@
#define HAVE_SYSCONF @HAVE_SYSCONF@
#define HAVE_SYSCTL @HAVE_SYSCTL@
#define HAVE_USLEEP @HAVE_USLEEP@
#define HAVE_UTGETOSTYPEFROMSTRING @HAVE_UTGETOSTYPEFROMSTRING@
#define HAVE_VIRTUALALLOC @HAVE_VIRTUALALLOC@
#define HAVE_WGLGETPROCADDRESS @HAVE_WGLGETPROCADDRESS@
#define HAVE_PTHREADS @HAVE_PTHREADS@
#define HAVE_OS2THREADS @HAVE_OS2THREADS@
#define HAVE_W32THREADS @HAVE_W32THREADS@
#define HAVE_AS_DN_DIRECTIVE @HAVE_AS_DN_DIRECTIVE@
#define HAVE_AS_FUNC @HAVE_AS_FUNC@
#define HAVE_AS_OBJECT_ARCH @HAVE_AS_OBJECT_ARCH@
#define HAVE_ASM_MOD_Q @HAVE_ASM_MOD_Q@
#define HAVE_ATTRIBUTE_MAY_ALIAS @HAVE_ATTRIBUTE_MAY_ALIAS@
#define HAVE_ATTRIBUTE_PACKED @HAVE_ATTRIBUTE_PACKED@
#define HAVE_EBP_AVAILABLE @HAVE_EBP_AVAILABLE@
#define HAVE_EBX_AVAILABLE @HAVE_EBX_AVAILABLE@
#define HAVE_GNU_AS @HAVE_GNU_AS@
#define HAVE_GNU_WINDRES @HAVE_GNU_WINDRES@
#define HAVE_IBM_ASM @HAVE_IBM_ASM@
#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS @HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS@
#define HAVE_INLINE_ASM_LABELS @HAVE_INLINE_ASM_LABELS@
#define HAVE_INLINE_ASM_NONLOCAL_LABELS @HAVE_INLINE_ASM_NONLOCAL_LABELS@
#define HAVE_PRAGMA_DEPRECATED @HAVE_PRAGMA_DEPRECATED@
#define HAVE_RSYNC_CONTIMEOUT @HAVE_RSYNC_CONTIMEOUT@
#define HAVE_SYMVER_ASM_LABEL @HAVE_SYMVER_ASM_LABEL@
#define HAVE_SYMVER_GNU_ASM @HAVE_SYMVER_GNU_ASM@
#define HAVE_VFP_ARGS @HAVE_VFP_ARGS@
#define HAVE_XFORM_ASM @HAVE_XFORM_ASM@
#define HAVE_XMM_CLOBBERS @HAVE_XMM_CLOBBERS@
#define HAVE_CONDITION_VARIABLE_PTR @HAVE_CONDITION_VARIABLE_PTR@
#define HAVE_SOCKLEN_T @HAVE_SOCKLEN_T@
#define HAVE_STRUCT_ADDRINFO @HAVE_STRUCT_ADDRINFO@
#define HAVE_STRUCT_GROUP_SOURCE_REQ @HAVE_STRUCT_GROUP_SOURCE_REQ@
#define HAVE_STRUCT_IP_MREQ_SOURCE @HAVE_STRUCT_IP_MREQ_SOURCE@
#define HAVE_STRUCT_IPV6_MREQ @HAVE_STRUCT_IPV6_MREQ@
#define HAVE_STRUCT_POLLFD @HAVE_STRUCT_POLLFD@
#define HAVE_STRUCT_RUSAGE_RU_MAXRSS @HAVE_STRUCT_RUSAGE_RU_MAXRSS@
#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE @HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE@
#define HAVE_STRUCT_SOCKADDR_IN6 @HAVE_STRUCT_SOCKADDR_IN6@
#define HAVE_STRUCT_SOCKADDR_SA_LEN @HAVE_STRUCT_SOCKADDR_SA_LEN@
#define HAVE_STRUCT_SOCKADDR_STORAGE @HAVE_STRUCT_SOCKADDR_STORAGE@
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC @HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC@
#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE @HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE@
#define HAVE_ATOMICS_NATIVE @HAVE_ATOMICS_NATIVE@
#define HAVE_DOS_PATHS @HAVE_DOS_PATHS@
#define HAVE_DXVA2_LIB @HAVE_DXVA2_LIB@
#define HAVE_DXVA2API_COBJ @HAVE_DXVA2API_COBJ@
#define HAVE_LIBC_MSVCRT @HAVE_LIBC_MSVCRT@
#define HAVE_ALSA_ASOUNDLIB_H 0
#define HAVE_ALTIVEC_H 0
#define HAVE_ARPA_INET_H 0
#define HAVE_ASM_TYPES_H 0
#define HAVE_CDIO_PARANOIA_H 0
#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
#define HAVE_DEV_IC_BT8XX_H 0
#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
#define HAVE_DIRECT_H FF_PPSSPP_WIN32
#define HAVE_DIRENT_H FF_PPSSPP_POSIX
#define HAVE_DLFCN_H FF_PPSSPP_POSIX
#define HAVE_D3D11_H 0
#define HAVE_DXVA_H 0
#define HAVE_ES2_GL_H 0
#define HAVE_GSM_H 0
#define HAVE_IO_H FF_PPSSPP_WIN32
#define HAVE_MACH_MACH_TIME_H 0
#define HAVE_MACHINE_IOCTL_BT848_H 0
#define HAVE_MACHINE_IOCTL_METEOR_H 0
#define HAVE_MALLOC_H FF_PPSSPP_MALLOC_H
#define HAVE_OPENCV2_CORE_CORE_C_H 0
#define HAVE_OPENJPEG_2_1_OPENJPEG_H 0
#define HAVE_OPENJPEG_2_0_OPENJPEG_H 0
#define HAVE_OPENJPEG_1_5_OPENJPEG_H 0
#define HAVE_OPENGL_GL3_H 0
#define HAVE_POLL_H FF_PPSSPP_POSIX
#define HAVE_SNDIO_H 0
#define HAVE_SOUNDCARD_H 0
#define HAVE_SYS_MMAN_H FF_PPSSPP_POSIX
#define HAVE_SYS_PARAM_H FF_PPSSPP_POSIX
#define HAVE_SYS_RESOURCE_H FF_PPSSPP_POSIX
#define HAVE_SYS_SELECT_H FF_PPSSPP_POSIX
#define HAVE_SYS_SOUNDCARD_H 0
#define HAVE_SYS_TIME_H FF_PPSSPP_POSIX
#define HAVE_SYS_UN_H FF_PPSSPP_POSIX
#define HAVE_SYS_VIDEOIO_H 0
#define HAVE_TERMIOS_H 0
#define HAVE_UDPLITE_H 0
#define HAVE_UNISTD_H FF_PPSSPP_POSIX
#define HAVE_VALGRIND_VALGRIND_H 0
#define HAVE_WINDOWS_H FF_PPSSPP_WIN32
#define HAVE_WINSOCK2_H 0
#define HAVE_INTRINSICS_NEON 0
#define HAVE_ATANF 1
#define HAVE_ATAN2F 1
#define HAVE_CBRT 1
#define HAVE_CBRTF 1
#define HAVE_COPYSIGN 1
#define HAVE_COSF 1
#define HAVE_ERF 1
#define HAVE_EXP2 1
#define HAVE_EXP2F 1
#define HAVE_EXPF 1
#define HAVE_HYPOT 1
#define HAVE_ISFINITE 1
#define HAVE_ISINF 1
#define HAVE_ISNAN 1
#define HAVE_LDEXPF 1
#define HAVE_LLRINT 1
#define HAVE_LLRINTF 1
#define HAVE_LOG2 1
#define HAVE_LOG2F 1
#define HAVE_LOG10F 1
#define HAVE_LRINT 1
#define HAVE_LRINTF 1
#define HAVE_POWF 1
#define HAVE_RINT 1
#define HAVE_ROUND 1
#define HAVE_ROUNDF 1
#define HAVE_SINF 1
#define HAVE_TRUNC 1
#define HAVE_TRUNCF 1
#define HAVE_ACCESS FF_PPSSPP_POSIX
#define HAVE_ALIGNED_MALLOC FF_PPSSPP_WIN32
#define HAVE_ARC4RANDOM FF_PPSSPP_BSD
#define HAVE_CLOCK_GETTIME FF_PPSSPP_POSIX
#define HAVE_CLOSESOCKET 0
#define HAVE_COMMANDLINETOARGVW 0
#define HAVE_COTASKMEMFREE 0
#define HAVE_CRYPTGENRANDOM 0
#define HAVE_DLOPEN 0
#define HAVE_FCNTL FF_PPSSPP_POSIX
#define HAVE_FLT_LIM 1
#define HAVE_FORK 0
#define HAVE_GETADDRINFO 0
#define HAVE_GETHRTIME 0
#define HAVE_GETOPT 0
#define HAVE_GETPROCESSAFFINITYMASK FF_PPSSPP_WIN32_DESKTOP
#define HAVE_GETPROCESSMEMORYINFO 0
#define HAVE_GETPROCESSTIMES 0
#define HAVE_GETRUSAGE 0
#define HAVE_GETSYSTEMTIMEASFILETIME FF_PPSSPP_WIN32
#define HAVE_GETTIMEOFDAY FF_PPSSPP_POSIX
#define HAVE_GLOB 0
#define HAVE_GLXGETPROCADDRESS 0
#define HAVE_GMTIME_R FF_PPSSPP_POSIX
#define HAVE_INET_ATON 0
#define HAVE_ISATTY FF_PPSSPP_POSIX
#define HAVE_JACK_PORT_GET_LATENCY_RANGE 0
#define HAVE_KBHIT 0
#define HAVE_LOCALTIME_R FF_PPSSPP_POSIX
#define HAVE_LSTAT 0
#define HAVE_LZO1X_999_COMPRESS 0
#define HAVE_MACH_ABSOLUTE_TIME 0
#define HAVE_MAPVIEWOFFILE FF_PPSSPP_WIN32_DESKTOP
#define HAVE_MEMALIGN 0
#define HAVE_MKSTEMP FF_PPSSPP_POSIX
#define HAVE_MMAP FF_PPSSPP_POSIX
#define HAVE_MPROTECT FF_PPSSPP_POSIX
#define HAVE_NANOSLEEP FF_PPSSPP_POSIX
#define HAVE_PEEKNAMEDPIPE 0
#define HAVE_POSIX_MEMALIGN FF_PPSSPP_POSIX
#define HAVE_PTHREAD_CANCEL 0
#define HAVE_SCHED_GETAFFINITY FF_PPSSPP_LINUX
#define HAVE_SETCONSOLETEXTATTRIBUTE 0
#define HAVE_SETCONSOLECTRLHANDLER 0
#define HAVE_SETMODE 0
#define HAVE_SETRLIMIT 0
#define HAVE_SLEEP FF_PPSSPP_WIN32
#define HAVE_STRERROR_R 0
#define HAVE_SYSCONF FF_PPSSPP_POSIX
#define HAVE_SYSCTL FF_PPSSPP_BSD
#define HAVE_USLEEP FF_PPSSPP_POSIX
#define HAVE_UTGETOSTYPEFROMSTRING 0
#define HAVE_VIRTUALALLOC FF_PPSSPP_WIN32_DESKTOP
#define HAVE_WGLGETPROCADDRESS 0
#define HAVE_PTHREADS FF_PPSSPP_POSIX
#define HAVE_OS2THREADS 0
#define HAVE_W32THREADS FF_PPSSPP_WIN32
#define HAVE_AS_DN_DIRECTIVE 0
#define HAVE_AS_FUNC 0
#define HAVE_AS_OBJECT_ARCH 0
#define HAVE_ASM_MOD_Q 0
#define HAVE_ATTRIBUTE_MAY_ALIAS FF_PPSSPP_GNUC
#define HAVE_ATTRIBUTE_PACKED FF_PPSSPP_GNUC
#define HAVE_EBP_AVAILABLE 0
#define HAVE_EBX_AVAILABLE 0
#define HAVE_GNU_AS 0
#define HAVE_GNU_WINDRES 0
#define HAVE_IBM_ASM 0
#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 0
#define HAVE_INLINE_ASM_LABELS 0
#define HAVE_INLINE_ASM_NONLOCAL_LABELS 0
#define HAVE_PRAGMA_DEPRECATED FF_PPSSPP_GNUC
#define HAVE_RSYNC_CONTIMEOUT 0
#define HAVE_SYMVER_ASM_LABEL 0
#define HAVE_SYMVER_GNU_ASM 0
#define HAVE_VFP_ARGS 0
#define HAVE_XFORM_ASM 0
#define HAVE_XMM_CLOBBERS 0
#define HAVE_CONDITION_VARIABLE_PTR FF_PPSSPP_WIN32
#define HAVE_SOCKLEN_T 0
#define HAVE_STRUCT_ADDRINFO 0
#define HAVE_STRUCT_GROUP_SOURCE_REQ 0
#define HAVE_STRUCT_IP_MREQ_SOURCE 0
#define HAVE_STRUCT_IPV6_MREQ 0
#define HAVE_STRUCT_POLLFD 0
#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 0
#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
#define HAVE_STRUCT_SOCKADDR_IN6 0
#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
#define HAVE_STRUCT_SOCKADDR_STORAGE 0
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0
#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 0
#define HAVE_ATOMICS_NATIVE 1
#define HAVE_DOS_PATHS FF_PPSSPP_WIN32
#define HAVE_DXVA2_LIB 0
#define HAVE_DXVA2API_COBJ 0
#define HAVE_LIBC_MSVCRT FF_PPSSPP_MSVC
#define HAVE_LIBDC1394_1 0
#define HAVE_LIBDC1394_2 0
#define HAVE_MAKEINFO 0
@@ -376,17 +437,17 @@
#define HAVE_PERL 0
#define HAVE_POD2MAN 0
#define HAVE_SDL 0
#define HAVE_SECTION_DATA_REL_RO @HAVE_SECTION_DATA_REL_RO@
#define HAVE_SECTION_DATA_REL_RO 0
#define HAVE_TEXI2HTML 0
#define HAVE_THREADS @HAVE_THREADS@
#define HAVE_VAAPI_X11 @HAVE_VAAPI_X11@
#define HAVE_VDPAU_X11 @HAVE_VDPAU_X11@
#define HAVE_WINRT @HAVE_WINRT@
#define HAVE_XLIB @HAVE_XLIB@
#define HAVE_THREADS 1
#define HAVE_VAAPI_X11 0
#define HAVE_VDPAU_X11 0
#define HAVE_WINRT FF_PPSSPP_WINRT
#define HAVE_XLIB 0
#define CONFIG_BSFS 0
#define CONFIG_DECODERS 1
#define CONFIG_ENCODERS 1
#define CONFIG_HWACCELS @CONFIG_HWACCELS@
#define CONFIG_HWACCELS 0
#define CONFIG_PARSERS 1
#define CONFIG_INDEVS 0
#define CONFIG_OUTDEVS 0
@@ -479,10 +540,10 @@
#define CONFIG_LIBX264 0
#define CONFIG_LIBX265 0
#define CONFIG_LIBXAVS 0
#define CONFIG_LIBXCB @HAVE_XLIB@
#define CONFIG_LIBXCB_SHM @HAVE_XLIB@
#define CONFIG_LIBXCB_SHAPE @HAVE_XLIB@
#define CONFIG_LIBXCB_XFIXES @HAVE_XLIB@
#define CONFIG_LIBXCB 0
#define CONFIG_LIBXCB_SHM 0
#define CONFIG_LIBXCB_SHAPE 0
#define CONFIG_LIBXCB_XFIXES 0
#define CONFIG_LIBXVID 0
#define CONFIG_LIBZIMG 0
#define CONFIG_LIBZMQ 0
@@ -499,8 +560,8 @@
#define CONFIG_SDL 0
#define CONFIG_SECURETRANSPORT 0
#define CONFIG_X11GRAB 0
#define CONFIG_XLIB @CONFIG_XLIB@
#define CONFIG_ZLIB @CONFIG_ZLIB@
#define CONFIG_XLIB 0
#define CONFIG_ZLIB 0
#define CONFIG_FTRAPV 0
#define CONFIG_GRAY 0
#define CONFIG_HARDCODED_TABLES 0
@@ -511,12 +572,12 @@
#define CONFIG_STATIC 1
#define CONFIG_SWSCALE_ALPHA 1
#define CONFIG_D3D11VA 0
#define CONFIG_DXVA2 @HAVE_DXVA2_LIB@
#define CONFIG_VAAPI @CONFIG_VAAPI@
#define CONFIG_DXVA2 0
#define CONFIG_VAAPI 0
#define CONFIG_VDA 0
#define CONFIG_VDPAU @CONFIG_VDPAU@
#define CONFIG_VDPAU 0
#define CONFIG_VIDEOTOOLBOX 0
#define CONFIG_XVMC @CONFIG_XVMC@
#define CONFIG_XVMC 0
#define CONFIG_GPL 0
#define CONFIG_NONFREE 0
#define CONFIG_VERSION3 0
@@ -550,7 +611,7 @@
#define CONFIG_MEMALIGN_HACK 0
#define CONFIG_MEMORY_POISONING 0
#define CONFIG_NEON_CLOBBER_TEST 0
#define CONFIG_PIC @CONFIG_PIC@
#define CONFIG_PIC 1
#define CONFIG_POD2MAN 0
#define CONFIG_RAISE_MAJOR 0
#define CONFIG_THUMB 0
@@ -885,8 +946,8 @@
#define CONFIG_AMRWB_DECODER 0
#define CONFIG_APE_DECODER 0
#define CONFIG_ATRAC1_DECODER 0
#define CONFIG_ATRAC3_DECODER 0
#define CONFIG_ATRAC3P_DECODER 0
#define CONFIG_ATRAC3_DECODER 1
#define CONFIG_ATRAC3P_DECODER 1
#define CONFIG_BINKAUDIO_DCT_DECODER 0
#define CONFIG_BINKAUDIO_RDFT_DECODER 0
#define CONFIG_BMV_AUDIO_DECODER 0
-349
View File
@@ -1,349 +0,0 @@
# Before we compile ffmpeg libs, we need to generate config.h, (config.asm if enabling Assembly optimizations), libavutil/avconfig.h, and libavutil/ffversion.h.
include(configure_functions.cmake)
# Check for extern_prefix
check_cc(ffextern "int ff_extern;" HAVE_ff_extern)
execute_process(
COMMAND nm "${CONFIG_TESTS_DIR}/ffextern.o"
OUTPUT_VARIABLE NM_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
file(WRITE "${CONFIG_TESTS_DIR}/nm_ff_extern" "${NM_RESULT}")
execute_process(
COMMAND awk "/ff_extern/{ print substr($0, match($0, /[^ \t]*ff_extern/)) }" "${CONFIG_TESTS_DIR}/nm_ff_extern"
OUTPUT_VARIABLE AWK_RESULT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(extern_prefix_orig \"${AWK_RESULT}\")
string(REGEX REPLACE "ff_extern" "" extern_prefix "${extern_prefix_orig}")
set(extern_asm_orig "${AWK_RESULT}")
string(REGEX REPLACE "ff_extern" "" extern_asm "${extern_asm_orig}")
set(build_suffix \"\")
set(SLIBSUF \"${CMAKE_SHARED_LIBRARY_SUFFIX}\")
# See line 3055 of ffmpeg configure script, where 256 is hardcoded as the default
set(sws_max_filter_size 256)
# Check the restrict keyword and assign accordingly
set(_RESTRICT)
check_cc(restrict "void foo(char * restrict p);" restrict)
check_cc(__restrict__ "void foo(char * __restrict__ p);" __restrict__)
check_cc(__restrict "void foo(char * __restrict p);" __restrict)
if (restrict)
set(_RESTRICT "restrict")
elseif (__restrict__)
set(_RESTRICT "__restrict__")
elseif (__restrict)
set(_RESTRICT "__restrict")
else()
message(STATUS "restrict keyword not found!")
endif()
if (NOT _RESTRICT STREQUAL "restrict")
check_cc(restrict_cflags "__declspec(${_RESTRICT}) void* foo(int);" stdlib_cflag)
if (stdlib_cflag)
# Primarily needed with MSVC
add_compile_options(-FIstdlib.h)
endif()
endif()
# Get the compiler ident string in the same format as ffmpeg's configure script--retaining only the first line
if (MSVC AND NOT (CMAKE_C_COMPILER_ID STREQUAL "Clang")) # Real MSVC, not clang-cl emulating MSVC
execute_process(
COMMAND cl
ERROR_VARIABLE CC_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
else() # clang (including clang-cl) and gcc
execute_process(
COMMAND cc "--version"
OUTPUT_VARIABLE CC_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endif()
string(REGEX REPLACE "\n.*" "" CC_IDENT "${CC_VERSION}")
set(CC_IDENT \"${CC_IDENT}\")
# Check for PIC - see line 4845 of ffmpeg's configure script
set(CONFIG_PIC 1)
#check_cpp_condition(pic "stdlib.h" "defined(__PIC__) || defined(__pic__) || defined(PIC)" CONFIG_PIC)
# Note: the above check PASSES if cross-compiling for Windows targets, but fails for FreeBSD host; enabling always
# Line 4933
check_cc(pragma_deprecated [[void foo(void) { _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") }]] HAVE_PRAGMA_DEPRECATED)
check_cc(attribute_packed "struct { int x; } __attribute__((packed)) x;" HAVE_ATTRIBUTE_PACKED)
check_cc(attribute_may_alias "union { int x; } __attribute__((may_alias)) x;" HAVE_ATTRIBUTE_MAY_ALIAS)
check_func(dlopen "dlopen" HAVE_DLOPEN)
check_builtin(atomic_cas_ptr "<atomic.h>" "void **ptr; void *oldval, *newval; atomic_cas_ptr(ptr, oldval, newval)" HAVE_ATOMIC_CAS_PTR)
check_builtin(atomic_compare_exchange "" "int *ptr, *oldval; int newval; __atomic_compare_exchange_n(ptr, oldval, newval, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)" HAVE_ATOMIC_COMPARE_EXCHANGE)
check_builtin(machine_rw_barrier "<mbarrier.h>" "__machine_rw_barrier()" HAVE_MACHINE_RW_BARRIER)
check_builtin(MemoryBarrier "<windows.h>" "MemoryBarrier()" HAVE_MEMORYBARRIER)
check_builtin(sarestart "<signal.h>" "SA_RESTART" HAVE_SARESTART)
check_builtin(sync_val_compare_and_swap "" "int *ptr; int oldval, newval; __sync_val_compare_and_swap(ptr, oldval, newval)" HAVE_SYNC_VAL_COMPARE_AND_SWAP)
check_builtin(gmtime_r "<time.h>" "time_t *time; struct tm *tm; gmtime_r(time, tm)" HAVE_GMTIME_R)
check_builtin(localtime_r "<time.h>" "time_t *time; struct tm *tm; localtime_r(time, tm)" HAVE_LOCALTIME_R)
check_func_headers(aligned_malloc "<malloc.h>" "_aligned_malloc" "" HAVE_ALIGNED_MALLOC)
# Note: we don't have a 'custom_allocator' option set, so we don't need a malloc_prefix
check_func(memalign "memalign" HAVE_MEMALIGN)
if (NOT MINGW AND NOT MINGW_SYSROOT) # First of many MinGW-specific conditionals to prevent false-positives
check_func(posix_memalign "posix_memalign" HAVE_POSIX_MEMALIGN)
endif()
check_func(access "access" HAVE_ACCESS)
check_func_headers(arc4random "<stdlib.h>" "arc4random" "" HAVE_ARC4RANDOM)
check_func_headers(clock_gettime "<time.h>" "clock_gettime" "" HAVE_CLOCK_GETTIME)
if (NOT HAVE_CLOCK_GETTIME)
check_func_headers(clock_gettime "<time.h>" "clock_gettime" "-lrt" HAVE_CLOCK_GETTIME)
if (HAVE_CLOCK_GETTIME)
add_link_options(-lrt)
endif()
endif()
if (NOT MINGW AND NOT MINGW_SYSROOT)
check_func(fcntl "fcntl" HAVE_FCNTL)
endif()
check_func(flt_lim "flt_lim" HAVE_FLT_LIM) # Note: if this check fails, a second check is run later that can pass
check_func(fork "fork" HAVE_FORK)
if (NOT MINGW AND NOT MINGW_SYSROOT)
check_func(gethrtime "gethrtime" HAVE_GETHRTIME)
endif()
check_func(getopt "getopt" HAVE_GETOPT)
check_func(getrusage "getrusage" HAVE_GETRUSAGE)
check_func(gettimeofday "gettimeofday" HAVE_GETTIMEOFDAY)
check_func(isatty "isatty" HAVE_ISATTY)
if (NOT MINGW AND NOT MINGW_SYSROOT)
check_func(mach_absolute_time "mach_absolute_time" HAVE_MACH_ABSOLUTE_TIME)
endif()
check_func(mkstemp "mkstemp" HAVE_MKSTEMP)
if (NOT MINGW AND NOT MINGW_SYSROOT)
check_func(mmap "mmap" HAVE_MMAP)
endif()
check_func(mprotect "mprotect" HAVE_MPROTECT)
check_func_headers(nanosleep "<time.h>" "nanosleep" "" HAVE_NANOSLEEP)
if (NOT HAVE_NANOSLEEP)
check_func_headers(nanosleep "<time.h>" "nanosleep" "-lrt" HAVE_NANOSLEEP)
if (HAVE_NANOSLEEP)
add_link_options(-lrt)
endif()
endif()
if (NOT MINGW AND NOT MINGW_SYSROOT) # Failsafe against breaking MinGW builds at libavutil/cpu.c
check_func(sched_getaffinity "sched_getaffinity" HAVE_SCHED_GETAFFINITY)
endif()
check_func(setrlimit "setrlimit" HAVE_SETRLIMIT)
check_struct(st_mtim.tv_nsec "<sys/stat.h>" "struct stat" st_mtim.tv_nsec HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC "-D_DEFAULT_SOURCE")
# Note: -D_DEFAULT_SOURCE replaced -D_BSD_SOURCE as a flag to enable various extensions to POSIX in 2014
# Note 2: on Arch Linux at least, this is already defined in features.h, resulting in a -Wmacro-redefined warning
if (NOT MINGW AND NOT MINGW_SYSROOT)
check_func(strerror_r "strerror_r" HAVE_STRERROR_R)
endif()
check_func(sysconf "sysconf" HAVE_SYSCONF)
if (NOT MINGW AND NOT MINGW_SYSROOT AND NOT CMAKE_SYSTEM_NAME MATCHES "SunOS")
check_func(sysctl "sysctl" HAVE_SYSCTL)
endif()
check_func(usleep "usleep" HAVE_USLEEP)
check_func_headers(kbhit "<conio.h>" "kbhit" "" HAVE_KBHIT)
check_func_headers(setmode "<io.h>" "setmode" "" HAVE_SETMODE)
check_func_headers(lzo1x_999_compress "<lzo/lzo1x.h>" "lzo1x_999_compress" "" HAVE_LZO1X_999_COMPRESS)
check_func_headers(getenv "<stdlib.h>" "getenv" "" HAVE_GETENV)
check_func_headers(lstat "<sys/stat.h>" "lstat" "" HAVE_LSTAT)
# Note: lines 5318-5328 all rely on windows.h header--skip irrelevant checks if windows.h not found
check_header(windows "windows.h" "" HAVE_WINDOWS_H)
if (HAVE_WINDOWS_H)
check_func_headers(cotaskmemfree "<windows.h>" "CoTaskMemFree" "-lole32" HAVE_COTASKMEMFREE)
check_func_headers(getprocessaffinitymask "<windows.h>" "GetProcessAffinityMask" "" HAVE_GETPROCESSAFFINITYMASK)
check_func_headers(getprocesstimes "<windows.h>" "GetProcessTimes" "" HAVE_GETPROCESSTIMES)
check_func_headers(getsystemtimeasfiletime "<windows.h>" "GetSystemTimeAsFileTime" "" HAVE_GETSYSTEMTIMEASFILETIME)
check_func_headers(mapviewoffile "<windows.h>" "MapViewOfFile" "" HAVE_MAPVIEWOFFILE)
check_func_headers(peeknamedpipe "<windows.h>" "PeekNamedPipe" "" HAVE_PEEKNAMEDPIPE)
check_func_headers(setconsoletextattribute "<windows.h>" "SetConsoleTextAttribute" "" HAVE_SETCONSOLETEXTATTRIBUTE)
check_func_headers(setconsolectrlhandler "<windows.h>" "SetConsoleCtrlHandler" "" HAVE_SETCONSOLECTRLHANDLER)
check_func_headers(sleep "<windows.h>" "Sleep" "" HAVE_SLEEP)
check_func_headers(virtualalloc "<windows.h>" "VirtualAlloc" "" HAVE_VIRTUALALLOC)
check_struct(condition_variable_ptr "<windows.h>" "CONDITION_VARIABLE" "Ptr" HAVE_CONDITION_VARIABLE_PTR)
endif()
check_func_headers(glob "<glob.h>" "glob" "" HAVE_GLOB)
# Xlib check at lines 5330-5331
check_func_headers(xlib "<X11/Xlib.h>;<X11/extensions/Xvlib.h>" "XvGetPortAttribute" "-lXv;-lX11;-lXext" CONFIG_XLIB)
check_header(direct "direct.h" "" HAVE_DIRECT_H)
check_header(dirent "dirent.h" "" HAVE_DIRENT_H)
check_header(dlfcn "dlfcn.h" "" HAVE_DLFCN_H)
check_header(d3d11 "d3d11.h" "" HAVE_D3D11_H)
check_header(dxva "dxva.h" "" HAVE_DXVA_H)
check_header(dxva2api "windows.h;d3d9.h;dxva2api.h" "-D_WIN32_WINNT=0x0600" CONFIG_DXVA2)
check_header(io "io.h" "" HAVE_IO_H)
check_header(mach_time "mach/mach_time.h" "" HAVE_MACH_MACH_TIME_H)
check_header(malloc "malloc.h" "" HAVE_MALLOC_H)
check_header(udplite "net/udplite.h" "" HAVE_UDPLITE_H)
check_header(poll "poll.h" "" HAVE_POLL_H)
check_header(mman "sys/mman.h" "" HAVE_SYS_MMAN_H)
check_header(param "sys/param.h" "" HAVE_SYS_PARAM_H)
check_header(resource "sys/resource.h" "" HAVE_SYS_RESOURCE_H)
check_header(select "sys/select.h" "" HAVE_SYS_SELECT_H)
check_header(time "sys/time.h" "" HAVE_SYS_TIME_H)
check_header(un "sys/un.h" "" HAVE_SYS_UN_H)
check_header(termios "sys/termios.h" "" HAVE_TERMIOS_H)
check_header(unistd "sys/unistd.h" "" HAVE_UNISTD_H)
check_header(valgrind "valgrind/valgrind.h" "" HAVE_VALGRIND_VALGRIND_H)
# Line 5362 # NOTE: on Windows, "shell32.lib" does NOT start with "lib" or "-l", but for my check we need this
check_lib2(commandlinetoargvw "<windows.h>;<shellapi.h>" "CommandLineToArgvW" "-lshell32" HAVE_COMMANDLINETOARGVW)
check_lib2(cryptgenrandom "<windows.h>;<wincrypt.h>" "CryptGenRandom" "-ladvapi32" HAVE_CRYPTGENRANDOM)
check_lib2(getprocessmemoryinfo "<windows.h>;<psapi.h>" "GetProcessMemoryInfo" "-lpsapi" HAVE_GETPROCESSMEMORYINFO)
check_lib(utgetostypefromstring "CoreServices/CoreServices.h" "UTGetOSTypeFromString" "-framework CoreServices" HAVE_UTGETOSTYPEFROMSTRING)
check_struct(ru_maxrss "<sys/time.h>;<sys/resource.h>" "struct rusage" ru_maxrss HAVE_STRUCT_RUSAGE_RU_MAXRSS)
check_cpp_condition(winrt "windows.h" "!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)" HAVE_WINRT)
# pthreads vs w32threads - see lines 5382-5389. Note: since we're hardcoding configure 'options', slight change here
if (HAVE_WINDOWS_H) # Enable w32threads if either of configure script's conditions are met; deal with pthreads later
check_func_headers(beginthreadex "<windows.h>;<process.h>" "_beginthreadex" "" HAVE_W32THREADS)
if (NOT HAVE_W32THREADS)
if (HAVE_WINRT)
check_func_headers(createthread "<windows.h>" "CreateThread" "" HAVE_W32THREADS)
endif()
endif()
endif()
# pthreads - see lines 5391-5414
if (NOT HAVE_W32THREADS AND NOT HAVE_OS2THREADS)
check_func(pthread_join "pthread_join" HAVE_PTHREAD_JOIN)
if (ANDROID) # workaround for older Android omitting pthread_cancel for optimization purposes
set(HAVE_PTHREAD_CANCEL 1)
else()
check_func(pthread_cancel "pthread_cancel" HAVE_PTHREAD_CANCEL)
endif()
if (HAVE_PTHREAD_JOIN AND HAVE_PTHREAD_CANCEL)
set(HAVE_PTHREADS 1)
endif()
endif()
check_lib2(zlibversion "<zlib.h>" "zlibVersion" "-lz" CONFIG_ZLIB)
# check all listed math_funcs - see lines 5434-5436
set(mathfuncs "atanf;atan2f;cbrt;cbrtf;copysign;cosf;erf;exp2;exp2f;expf;hypot;isfinite;isinf;isnan;ldexpf;llrint;llrintf;log2;log2f;log10f;lrint;lrintf;powf;rint;round;roundf;sinf;trunc;truncf")
foreach(func IN LISTS mathfuncs)
string(TOUPPER ${func} uppercase_func)
if (MSVC)
check_mathfunc(${func} ${func} "-lmsvcrt" HAVE_${uppercase_func})
else()
check_mathfunc(${func} ${func} "-lm" HAVE_${uppercase_func})
endif()
endforeach()
# check all listed complex_funcs - see lines 5438-5440
check_complexfunc(cabs cabs HAVE_CABS)
check_complexfunc(cexp cexp HAVE_CEXP)
check_header(sys_videoio "sys/videoio.h" "" HAVE_SYS_VIDEOIO_H)
check_type(ibasefilter "<dshow.h>" "IBaseFilter" CONFIG_DSHOW_INDEV) # Note: not sure this is the right variable
# FIXME (or don't, as both CONFIG_SNDIO_INDEV and CONFIG_SNDIO_OUTDEV are set to "0"). The simplified check doesn't
# look in /usr/local/include and therefore fails on some targets like FreeBSD, albeit harmlessly
check_header(sndio "sndio.h" "" HAVE_SNDIO_H)
check_struct(audio_buf_info "<sys/soundcard.h>" "audio_buf_info bytes;" "audio_buf_info bytes" HAVE_SYS_SOUNDCARD_H)
if (NOT HAVE_SYS_SOUNDCARD_H)
check_cc(sys_soundcard "#include <sys/soundcard.h>\naudio_buf_info abc;" HAVE_SYS_SOUNDCARD_H "-D__BSD_VISIBLE;-D__XSI_VISIBLE")
endif()
check_header(soundcard "soundcard.h" "" HAVE_SOUNDCARD_H)
# Xlib: see lines 5718-5719
check_lib2(xopendisplay "<X11/Xlib.h>" "XOpenDisplay" "-lX11" HAVE_XLIB)
if (CONFIG_XLIB)
set(HAVE_XLIB 1)
endif()
# dxva2api_cobj - see line 5755
check_cc(dxva2api_cobj "#define _WIN32_WINNT 0x0600\n#define COBJMACROS\n#include <windows.h>\n#include <d3d9.h>\n#include <dxva2api.h>\nint main(void) { IDirectXVideoDecoder *o = NULL;\nIDirectXVideoDecoder_Release(o);\nreturn 0; }" HAVE_DXVA2API_COBJ)
# dxva2_lib - see line 6053
if (CONFIG_DXVA2 AND HAVE_DXVA2API_COBJ AND HAVE_COTASKMEMFREE)
set(HAVE_DXVA2_LIB 1)
endif()
# Threads - see line 6045
if (HAVE_SYNC_VAL_COMPARE_AND_SWAP OR HAVE_ATOMIC_COMPARE_EXCHANGE)
set(HAVE_ATOMICS_GCC 1)
endif()
if (HAVE_ATOMIC_CAS_PTR OR HAVE_MACHINE_RW_BARRIER)
set(HAVE_ATOMICS_SUNCC 1)
endif()
if (HAVE_MEMORYBARRIER)
set(HAVE_ATOMICS_WIN32 1)
endif()
if (HAVE_PTHREADS OR HAVE_OS2THREADS OR HAVE_W32THREADS)
set(HAVE_ATOMICS_NATIVE 1)
set(HAVE_THREADS 1)
endif()
# Backup/second test for flt_lim, see lines 4836-4837
check_code(flt_lim cc "<float.h>;<limits.h>" "char c[2 * !!(DBL_MAX == (double)DBL_MAX) - 1]" HAVE_FLT_LIM)
# Run convenience function to set "0" for any variables not set to "1"
set(settings-list "ARCH_AARCH64;ARCH_ALPHA;ARCH_AMD64;ARCH_ARM;ARCH_AVR32;ARCH_AVR32_AP;ARCH_AVR32_UC;ARCH_BFIN;ARCH_IA64;ARCH_M68K;ARCH_MIPS;ARCH_MIPS64;ARCH_PARISC;ARCH_PPC;ARCH_PPC64;ARCH_S390;ARCH_SH4;ARCH_SPARC;ARCH_SPARC64;ARCH_TILEGX;ARCH_TILEPRO;ARCH_TOMI;ARCH_X86;ARCH_X86_32;ARCH_X86_64;HAVE_ARMV5TE;HAVE_ARMV6;HAVE_ARMV6T2;HAVE_ARMV8;HAVE_NEON;HAVE_VFP;HAVE_VFPV3;HAVE_SETEND;HAVE_ALTIVEC;HAVE_DCBZL;HAVE_LDBRX;HAVE_POWER8;HAVE_PPC4XX;HAVE_VSX;HAVE_AESNI;HAVE_AMD3DNOW;HAVE_AMD3DNOWEXT;HAVE_AVX;HAVE_AVX2;HAVE_FMA3;HAVE_FMA4;HAVE_MMX;HAVE_MMXEXT;HAVE_SSE;HAVE_SSE2;HAVE_SSE3;HAVE_SSE4;HAVE_SSE42;HAVE_SSSE3;HAVE_XOP;HAVE_CPUNOP;HAVE_I686;HAVE_MIPSFPU;HAVE_MIPS32R2;HAVE_MIPS32R5;HAVE_MIPS64R2;HAVE_MIPS32R6;HAVE_MIPS64R6;HAVE_MIPSDSP;HAVE_MIPSDSPR2;HAVE_MSA;HAVE_LOONGSON2;HAVE_LOONGSON3;HAVE_MMI;HAVE_ARMV5TE_EXTERNAL;HAVE_ARMV6_EXTERNAL;HAVE_ARMV6T2_EXTERNAL;HAVE_ARMV8_EXTERNAL;HAVE_NEON_EXTERNAL;HAVE_VFP_EXTERNAL;HAVE_VFPV3_EXTERNAL;HAVE_SETEND_EXTERNAL;HAVE_ALTIVEC_EXTERNAL;HAVE_DCBZL_EXTERNAL;HAVE_LDBRX_EXTERNAL;HAVE_POWER8_EXTERNAL;HAVE_PPC4XX_EXTERNAL;HAVE_VSX_EXTERNAL;HAVE_AESNI_EXTERNAL;HAVE_AMD3DNOW_EXTERNAL;HAVE_AMD3DNOWEXT_EXTERNAL;HAVE_AVX_EXTERNAL;HAVE_AVX2_EXTERNAL;HAVE_FMA3_EXTERNAL;HAVE_FMA4_EXTERNAL;HAVE_MMX_EXTERNAL;HAVE_MMXEXT_EXTERNAL;HAVE_SSE_EXTERNAL;HAVE_SSE2_EXTERNAL;HAVE_SSE3_EXTERNAL;HAVE_SSE4_EXTERNAL;HAVE_SSE42_EXTERNAL;HAVE_SSSE3_EXTERNAL;HAVE_XOP_EXTERNAL;HAVE_CPUNOP_EXTERNAL;HAVE_I686_EXTERNAL;HAVE_MIPSFPU_EXTERNAL;HAVE_MIPS32R2_EXTERNAL;HAVE_MIPS32R5_EXTERNAL;HAVE_MIPS64R2_EXTERNAL;HAVE_MIPS32R6_EXTERNAL;HAVE_MIPS64R6_EXTERNAL;HAVE_MIPSDSP_EXTERNAL;HAVE_MIPSDSPR2_EXTERNAL;HAVE_MSA_EXTERNAL;HAVE_LOONGSON2_EXTERNAL;HAVE_LOONGSON3_EXTERNAL;HAVE_MMI_EXTERNAL;HAVE_ARMV5TE_INLINE;HAVE_ARMV6_INLINE;HAVE_ARMV6T2_INLINE;HAVE_ARMV8_INLINE;HAVE_NEON_INLINE;HAVE_VFP_INLINE;HAVE_VFPV3_INLINE;HAVE_SETEND_INLINE;HAVE_ALTIVEC_INLINE;HAVE_DCBZL_INLINE;HAVE_LDBRX_INLINE;HAVE_POWER8_INLINE;HAVE_PPC4XX_INLINE;HAVE_VSX_INLINE;HAVE_AESNI_INLINE;HAVE_AMD3DNOW_INLINE;HAVE_AMD3DNOWEXT_INLINE;HAVE_AVX_INLINE;HAVE_AVX2_INLINE;HAVE_FMA3_INLINE;HAVE_FMA4_INLINE;HAVE_MMX_INLINE;HAVE_MMXEXT_INLINE;HAVE_SSE_INLINE;HAVE_SSE2_INLINE;HAVE_SSE3_INLINE;HAVE_SSE4_INLINE;HAVE_SSE42_INLINE;HAVE_SSSE3_INLINE;HAVE_XOP_INLINE;HAVE_CPUNOP_INLINE;HAVE_I686_INLINE;HAVE_MIPSFPU_INLINE;HAVE_MIPS32R2_INLINE;HAVE_MIPS32R5_INLINE;HAVE_MIPS64R2_INLINE;HAVE_MIPS32R6_INLINE;HAVE_MIPS64R6_INLINE;HAVE_MIPSDSP_INLINE;HAVE_MIPSDSPR2_INLINE;HAVE_MSA_INLINE;HAVE_LOONGSON2_INLINE;HAVE_LOONGSON3_INLINE;HAVE_MMI_INLINE;HAVE_ALIGNED_STACK;HAVE_FAST_64BIT;HAVE_FAST_CLZ;HAVE_FAST_CMOV;HAVE_LOCAL_ALIGNED_8;HAVE_LOCAL_ALIGNED_16;HAVE_LOCAL_ALIGNED_32;HAVE_SIMD_ALIGN_16;HAVE_ATOMICS_GCC;HAVE_ATOMICS_SUNCC;HAVE_ATOMICS_WIN32;HAVE_ATOMIC_CAS_PTR;HAVE_ATOMIC_COMPARE_EXCHANGE;HAVE_MACHINE_RW_BARRIER;HAVE_MEMORYBARRIER;HAVE_MM_EMPTY;HAVE_RDTSC;HAVE_SARESTART;HAVE_SYNC_VAL_COMPARE_AND_SWAP;HAVE_CABS;HAVE_CEXP;HAVE_INLINE_ASM;HAVE_SYMVER;HAVE_YASM;HAVE_BIGENDIAN;HAVE_FAST_UNALIGNED;HAVE_INCOMPATIBLE_LIBAV_ABI;HAVE_ALSA_ASOUNDLIB_H;HAVE_ALTIVEC_H;HAVE_ARPA_INET_H;HAVE_ASM_TYPES_H;HAVE_CDIO_PARANOIA_H;HAVE_CDIO_PARANOIA_PARANOIA_H;HAVE_DEV_BKTR_IOCTL_BT848_H;HAVE_DEV_BKTR_IOCTL_METEOR_H;HAVE_DEV_IC_BT8XX_H;HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H;HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H;HAVE_DIRECT_H;HAVE_DIRENT_H;HAVE_DLFCN_H;HAVE_D3D11_H;HAVE_DXVA_H;HAVE_ES2_GL_H;HAVE_GSM_H;HAVE_IO_H;HAVE_MACH_MACH_TIME_H;HAVE_MACHINE_IOCTL_BT848_H;HAVE_MACHINE_IOCTL_METEOR_H;HAVE_MALLOC_H;HAVE_OPENCV2_CORE_CORE_C_H;HAVE_OPENJPEG_2_1_OPENJPEG_H;HAVE_OPENJPEG_2_0_OPENJPEG_H;HAVE_OPENJPEG_1_5_OPENJPEG_H;HAVE_OPENGL_GL3_H;HAVE_POLL_H;HAVE_SNDIO_H;HAVE_SOUNDCARD_H;HAVE_SYS_MMAN_H;HAVE_SYS_PARAM_H;HAVE_SYS_RESOURCE_H;HAVE_SYS_SELECT_H;HAVE_SYS_SOUNDCARD_H;HAVE_SYS_TIME_H;HAVE_SYS_UN_H;HAVE_SYS_VIDEOIO_H;HAVE_TERMIOS_H;HAVE_UDPLITE_H;HAVE_UNISTD_H;HAVE_VALGRIND_VALGRIND_H;HAVE_WINDOWS_H;HAVE_WINSOCK2_H;HAVE_INTRINSICS_NEON;HAVE_ATANF;HAVE_ATAN2F;HAVE_CBRT;HAVE_CBRTF;HAVE_COPYSIGN;HAVE_COSF;HAVE_ERF;HAVE_EXP2;HAVE_EXP2F;HAVE_EXPF;HAVE_HYPOT;HAVE_ISFINITE;HAVE_ISINF;HAVE_ISNAN;HAVE_LDEXPF;HAVE_LLRINT;HAVE_LLRINTF;HAVE_LOG2;HAVE_LOG2F;HAVE_LOG10F;HAVE_LRINT;HAVE_LRINTF;HAVE_POWF;HAVE_RINT;HAVE_ROUND;HAVE_ROUNDF;HAVE_SINF;HAVE_TRUNC;HAVE_TRUNCF;HAVE_ACCESS;HAVE_ALIGNED_MALLOC;HAVE_ARC4RANDOM;HAVE_CLOCK_GETTIME;HAVE_CLOSESOCKET;HAVE_COMMANDLINETOARGVW;HAVE_COTASKMEMFREE;HAVE_CRYPTGENRANDOM;HAVE_DLOPEN;HAVE_FCNTL;HAVE_FLT_LIM;HAVE_FORK;HAVE_GETADDRINFO;HAVE_GETHRTIME;HAVE_GETOPT;HAVE_GETPROCESSAFFINITYMASK;HAVE_GETPROCESSMEMORYINFO;HAVE_GETPROCESSTIMES;HAVE_GETRUSAGE;HAVE_GETSYSTEMTIMEASFILETIME;HAVE_GETTIMEOFDAY;HAVE_GLOB;HAVE_GLXGETPROCADDRESS;HAVE_GMTIME_R;HAVE_INET_ATON;HAVE_ISATTY;HAVE_JACK_PORT_GET_LATENCY_RANGE;HAVE_KBHIT;HAVE_LOCALTIME_R;HAVE_LSTAT;HAVE_LZO1X_999_COMPRESS;HAVE_MACH_ABSOLUTE_TIME;HAVE_MAPVIEWOFFILE;HAVE_MEMALIGN;HAVE_MKSTEMP;HAVE_MMAP;HAVE_MPROTECT;HAVE_NANOSLEEP;HAVE_PEEKNAMEDPIPE;HAVE_POSIX_MEMALIGN;HAVE_PTHREAD_CANCEL;HAVE_SCHED_GETAFFINITY;HAVE_SETCONSOLETEXTATLine truncated
foreach(option IN LISTS settings-list)
set_disabled_to_zero(${option})
endforeach()
# Generate config.h file
configure_file(config.h.in config.h @ONLY)
# Generate avconfig.h file
# Test for BIGENDIAN
if(CMAKE_C_BYTE_ORDER STREQUAL "BIG_ENDIAN")
set(IS_BIGENDIAN 1)
else()
set(IS_BIGENDIAN 0)
endif()
file(CONFIGURE
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libavutil/avconfig.h"
CONTENT
"
/* Generated by cmake for use with ppsspp-ffmpeg module */
#ifndef AVUTIL_AVCONFIG_H
#define AVUTIL_AVCONFIG_H
#define AV_HAVE_BIGENDIAN ${IS_BIGENDIAN}
#define AV_HAVE_FAST_UNALIGNED 0
#define AV_HAVE_INCOMPATIBLE_LIBAV_ABI 0
#endif /* AVUTIL_AVCONFIG_H */
"
NEWLINE_STYLE LF
)
# Generate ffversion.h header file
# In ffmpeg's version.sh script, 'git' is used, but that's an external dependency we don't otherwise need
# we can just output say the first 7 digits of .git/refs/heads/master, assuming it exists, with hardcoded fallback
set(FILE_PATH "${SRC_DIR}/.git/refs/heads/master")
if(EXISTS ${FILE_PATH})
file(READ "${FILE_PATH}" GIT_HASH)
string(SUBSTRING "${GIT_HASH}" 0 7 GIT_HASH)
set(GIT_HASH \"${GIT_HASH}\")
else()
set(GIT_HASH \"1e3b496\")
endif()
file(CONFIGURE
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/libavutil/ffversion.h"
CONTENT
"
/* Automatically generated by cmake for use with ppsspp-ffmpeg module */
#ifndef AVUTIL_FFVERSION_H
#define AVUTIL_FFVERSION_H
#define FFMPEG_VERSION ${GIT_HASH}
#endif /* AVUTIL_FFVERSION_H */
"
NEWLINE_STYLE LF
)
-289
View File
@@ -1,289 +0,0 @@
# configure_functions.cmake - various functions from ffmpeg's configure script rewritten for cmake
# Note: in order to not break ffmpeg, we need to arrive at the same result as ffmpeg's configure script's checks, so instead of relying solely on cmake modules, I ported ffmpeg's configure script's functions needed below.
# Create a directory to store all of our tests
set(CONFIG_TESTS_DIR "${CMAKE_CURRENT_BINARY_DIR}/configure_checks")
file(MAKE_DIRECTORY ${CONFIG_TESTS_DIR})
include(CheckIncludeFile)
include(CheckIncludeFiles)
# Rewrite of ffmpeg's check_cc function at line 866 of configure script
function(check_cc target ARGUMENTS RESULT_VAR)
set(EXTRA_LIBS "")
set(EXTRA_FLAGS "")
set(ADDL_LIB_DIRS_CLEAN "")
set(COMPILE_INCLUDES "")
foreach(arg IN ITEMS ${ARGN} ${ADDL_LIB_DIRS} ${ADDL_INCLUDES})
# Windows-specific libs
if(MSVC AND arg MATCHES "^-l(msvcrt|shell32|advapi32|user32|gdi32|kernel32|psapi|ws2_32)")
string(REGEX REPLACE "^-l" "" clean_lib "${arg}")
list(APPEND EXTRA_LIBS "${clean_lib}.lib")
# Standard UNIX linker flags
elseif(arg MATCHES "^-l")
list(APPEND EXTRA_LIBS "${arg}")
# Absolute library paths (.lib, .a, .so, etc.)
elseif(IS_ABSOLUTE "${arg}" AND arg MATCHES "\\.(lib|a|so|dylib)$")
list(APPEND EXTRA_LIBS "${arg}")
# Library Directory flags (Unix: -L, MSVC: /LIBPATH: or -libpath:)
elseif(arg MATCHES "^-L")
string(SUBSTRING "${arg}" 2 -1 clean_dir)
list(APPEND ADDL_LIB_DIRS_CLEAN "${clean_dir}")
elseif(arg MATCHES "^[-/][Ll][Ii][Bb][Pp][Aa][Tt][Hh]:")
string(REGEX REPLACE "^[-/][Ll][Ii][Bb][Pp][Aa][Tt][Hh]:" "" clean_dir "${arg}")
list(APPEND ADDL_LIB_DIRS_CLEAN "${clean_dir}")
# Include Directory flags (Unix: -I, MSVC: /I or -I) or raw paths from ADDL_INCLUDES
elseif(arg MATCHES "^[-/]I")
string(REGEX REPLACE "^[-/]I" "" clean_dir "${arg}")
list(APPEND COMPILE_INCLUDES "${clean_dir}")
# Deal with raw paths if they didn't match any of the above patterns
elseif(IS_DIRECTORY "${arg}")
if(arg IN_LIST ADDL_INCLUDES)
list(APPEND COMPILE_INCLUDES "${arg}")
else()
list(APPEND ADDL_LIB_DIRS_CLEAN "${arg}")
endif()
# Everything else is a compiler option flag
else()
list(APPEND EXTRA_FLAGS "${arg}")
endif()
endforeach()
# Clean up duplicate paths/extra libs
foreach(list_var IN ITEMS EXTRA_LIBS ADDL_LIB_DIRS_CLEAN EXTRA_FLAGS COMPILE_INCLUDES)
if(${list_var})
list(REMOVE_DUPLICATES ${list_var})
endif()
endforeach()
# Check if ARGUMENTS contains a variation of main function definition
string(REGEX MATCH "int[ \t\r\n]+main[ \t\r\n]*\\(" HAS_MAIN "${ARGUMENTS}")
if(NOT HAS_MAIN)
# Append a standard int main() block to the end of the existing source code as a failsafe
string(APPEND ARGUMENTS "\n\nint main(void) {\n return 0;\n}\n")
endif()
set(TEST_SOURCE "${CONFIG_TESTS_DIR}/${target}.c")
file(WRITE "${TEST_SOURCE}" "${ARGUMENTS}")
set(OUTPUT_OBJ "${CONFIG_TESTS_DIR}/${target}.o")
try_compile(COMPILE_RESULT
"${CONFIG_TESTS_DIR}"
"${TEST_SOURCE}"
COMPILE_DEFINITIONS ${EXTRA_FLAGS}
LINK_LIBRARIES ${EXTRA_LIBS}
CMAKE_FLAGS
"-DINCLUDE_DIRECTORIES:PATH=${COMPILE_INCLUDES}"
"-DLINK_DIRECTORIES:PATH=${ADDL_LIB_DIRS_CLEAN}"
COPY_FILE "${OUTPUT_OBJ}"
OUTPUT_VARIABLE COMPILE_OUTPUT
)
if(COMPILE_RESULT)
message(STATUS "${target} check passed")
set(${RESULT_VAR} 1 PARENT_SCOPE)
else()
message(STATUS "${target} check failed") # Standard message to not clutter build logs overmuch
# message(STATUS "${target} check failed. Error:\n${COMPILE_OUTPUT}")
# message(STATUS "${target} check failed. See ${target}_error.log for details")
# file(WRITE "${CONFIG_TESTS_DIR}/${target}_error.log" "${COMPILE_OUTPUT}")
endif()
endfunction()
# Rewrite of fmpeg's check_ld function at line 953 of configure script
function(check_ld target ARGUMENTS EXTERNAL_LIB RESULT_VAR)
set(ALL_ARGS ${ARGN})
list(APPEND ALL_ARGS "${EXTERNAL_LIB}")
check_cc("${target}" "${ARGUMENTS}" CC_RESULT ${ALL_ARGS})
if(CC_RESULT)
set(${RESULT_VAR} 1 PARENT_SCOPE)
endif()
endfunction()
# Rewrite of ffmpeg's check_code function at line 972 of configure script
function(check_code target compiler headers ARGUMENTS RESULT_VAR)
set(EXTRA_FLAGS "")
foreach(arg IN ITEMS ${ARGN})
# Append to EXTRA_FLAGS
if(EXTRA_FLAGS STREQUAL "")
set(EXTRA_FLAGS "${arg}")
else()
list(APPEND EXTRA_FLAGS "${arg}")
endif()
endforeach()
# Check whether more than 1 header file was passed as a function argument
list(LENGTH headers len)
if (len GREATER 1)
foreach(header IN LISTS headers)
string(APPEND HEADERS_STRING "#include ${header}\n")
endforeach()
elseif (headers STREQUAL "")
set(HEADERS_STRING "")
else()
set(HEADERS_STRING "#include ${headers}")
endif()
set(test_func "check_${compiler}")
if (NOT ${test_func} STREQUAL "check_ld")
set(TEST_CODE "${HEADERS_STRING}\nint main(void) { ${ARGUMENTS};\nreturn 0; }")
cmake_language(CALL ${test_func} ${target} "${TEST_CODE}" ${RESULT_VAR} ${EXTRA_FLAGS})
else()
set(TEST_CODE "${HEADERS_STRING}\nint main(void) { ${ARGUMENTS};\nreturn 0; }")
cmake_language(CALL ${test_func} ${target} "${TEST_CODE}" "" ${RESULT_VAR} ${EXTRA_FLAGS})
endif()
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
endfunction()
# Rewrite of ffmpeg's check_header function at line 1053 of configure script
function(check_header target header flag RESULT_VAR)
set(Backup_Flags ${CMAKE_REQUIRED_FLAGS})
if(flag)
string(APPEND CMAKE_REQUIRED_FLAGS " ${flag}")
endif()
if (header MATCHES ";")
check_include_files("${header}" ${RESULT_VAR})
else()
check_include_file(${header} ${RESULT_VAR} "${flag}")
endif()
set(CMAKE_REQUIRED_FLAGS ${Backup_Flags})
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
endfunction()
# Rewrite of ffmpeg's check_func function at line 1076 of configure script
function(check_func target func RESULT_VAR)
set(EXTRA_FLAGS "")
foreach(arg IN ITEMS ${ARGN})
# Append to EXTRA_FLAGS
if(EXTRA_FLAGS STREQUAL "")
set(EXTRA_FLAGS "${arg}")
else()
list(APPEND EXTRA_FLAGS "${arg}")
endif()
endforeach()
set(TEST_CODE "extern int ${func}();\nint main(void){ ${func}(); }")
check_ld(${target} "${TEST_CODE}" "" ${RESULT_VAR} ${EXTRA_FLAGS})
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
endfunction()
# Rewrite of ffmpeg's check_complexfunc function at line 1087 of configure script
function(check_complexfunc target func RESULT_VAR)
set(TEST_CODE "#include <complex.h>\n#include <math.h>\nfloat foo(complex float f, complex float g) { return ${func}(f * I); \}\nint main(void){ return (int) foo; \}")
if(MSVC)
check_ld(${target} "${TEST_CODE}" "-lmsvcrt" ${RESULT_VAR})
else()
check_ld(${target} "${TEST_CODE}" "-lm" ${RESULT_VAR})
endif()
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
endfunction()
# Rewrite of ffmpeg's check_mathfunc function at line 1102 of configure script
function(check_mathfunc target func lib RESULT_VAR)
set(args1 "f, g")
set(args2 "f")
if ("${target}" MATCHES "atan2f|copysign|hypot|ldexpf|powf")
set(TEST_CODE "#include <math.h>\nfloat foo(float f, float g) { return ${func}(${args1}); }\nint main(void){ return (int) foo; }")
else()
set(TEST_CODE "#include <math.h>\nfloat foo(float f, float g) { return ${func}(${args2}); }\nint main(void){ return (int) foo; }")
endif()
check_ld(${target} "${TEST_CODE}" "${lib}" ${RESULT_VAR})
if (${RESULT_VAR} EQUAL 1)
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
endif()
endfunction()
# Rewrite of ffmpeg's check_func_headers function at line 1116 of configure script
function(check_func_headers target headers funcs lib RESULT_VAR)
# Check whether more than 1 header file was passed as an argument
list(LENGTH headers len)
if (len GREATER 1)
foreach(header IN LISTS headers)
string(APPEND HEADERS_STRING "#include ${header}\n")
endforeach()
else()
set(HEADERS_STRING "#include ${headers}")
endif()
# Check whether more than 1 function to test was passed as an argument
list(LENGTH funcs len)
if (len GREATER 1)
foreach(func IN LISTS funcs)
string(APPEND FUNCS_STRING "long check_${func}(void) { return (long) ${func}; }\n")
endforeach()
else()
set(FUNCS_STRING "long check_${funcs}(void) { return (long) ${funcs}; }\n")
endif()
set(TEST_CODE "${HEADERS_STRING}\n${FUNCS_STRING}\nint main(void) { return 0; }")
check_ld(${target} "${TEST_CODE}" "${lib}" ${RESULT_VAR})
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
# To Do: in ffmpeg's configure script, some results prompt adding additional system libs.
endfunction()
# Rewrite of ffmpeg's check_cpp_condition function at line 1151 of configure script
function(check_cpp_condition target header condition RESULT_VAR)
set(HEADER_STRING "#include <${header}>")
set(CONDITION_STRING "#if !\(${condition})\n#error \"unsatisfied condition: ${condition}\"\n#endif")
set(TEST_CODE "${HEADER_STRING}\n${CONDITION_STRING}\nint x;")
check_cc(${target} "${TEST_CODE}" ${RESULT_VAR})
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
endfunction()
# Rewrite of ffmpeg's check_lib function at line 1164 of configure script
function(check_lib target header func flag RESULT_VAR)
set(HEADER_STRING "${header}")
set(FUNC_STRING "${func}")
set(HEADER_RESULT_VAR "HEADER_${RESULT_VAR}")
check_header("${target}_header" "${HEADER_STRING}" "${flag}" ${HEADER_RESULT_VAR})
if (${HEADER_RESULT_VAR} EQUAL 1)
check_func(${target} "${func}" ${RESULT_VAR} ${flag})
endif()
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
endfunction()
# Rewrite of ffmpeg's check_lib2 function at line 1164 of configure script
function(check_lib2 target headers funcs lib RESULT_VAR)
check_func_headers(${target} "${headers}" "${funcs}" "${lib}" ${RESULT_VAR})
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
endfunction()
# Rewrite of ffmpeg's check_type function at line 1237 of configure script
function(check_type target headers type RESULT_VAR)
check_code(${target} cc "${headers}" "${type} v" ${RESULT_VAR})
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
endfunction()
# Rewrite of ffmpeg's check_struct function at line 1246 of configure script
function(check_struct target headers struct member RESULT_VAR)
set(EXTRA_FLAGS "")
foreach(arg IN ITEMS ${ARGN})
# Append to EXTRA_FLAGS
if(EXTRA_FLAGS STREQUAL "")
set(EXTRA_FLAGS "${arg}")
else()
list(APPEND EXTRA_FLAGS "${arg}")
endif()
endforeach()
check_code(${target} cc "${headers}" "const void *p = &((${struct} *)0)->${member}" ${RESULT_VAR} ${EXTRA_FLAGS})
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
endfunction()
# Rewrite of ffmpeg's check_builtin function at line 1257 of configure script
function(check_builtin target headers builtin RESULT_VAR)
check_code(${target} ld "${headers}" "${builtin}" ${RESULT_VAR})
set(${RESULT_VAR} "${${RESULT_VAR}}" PARENT_SCOPE)
# Note: configure actually invokes check_code with an extra argument!
# Now that we've refactored check_cc to accept optional arguments, we could deal with this here if needed
endfunction()
# convenience function at the end that sets any truthy variables to "1" and any falsy variables to "0"
function(set_disabled_to_zero option)
if(${option})
set(${option} 1 PARENT_SCOPE)
else()
set(${option} 0 PARENT_SCOPE)
endif()
endfunction()
@@ -0,0 +1,7 @@
/* Written by FFmpeg's configure in a normal build. Kept by hand here, see ../../config.h. */
#ifndef AVUTIL_AVCONFIG_H
#define AVUTIL_AVCONFIG_H
#define AV_HAVE_BIGENDIAN 0
#define AV_HAVE_FAST_UNALIGNED 0
#define AV_HAVE_INCOMPATIBLE_LIBAV_ABI 0
#endif /* AVUTIL_AVCONFIG_H */
+5
View File
@@ -0,0 +1,5 @@
/* Written by FFmpeg's version.sh in a normal build. Kept by hand here, see ../config.h. */
#ifndef AVUTIL_FFVERSION_H
#define AVUTIL_FFVERSION_H
#define FFMPEG_VERSION "3.0.2-ppsspp"
#endif /* AVUTIL_FFVERSION_H */
-184
View File
@@ -1,184 +0,0 @@
# libavcodec source files (all platforms)
set(LIBAVCODEC_SOURCE_FILES
${LIBAVCODEC_SRC_DIR}/aac_ac3_parser.c
${LIBAVCODEC_SRC_DIR}/aac_parser.c
${LIBAVCODEC_SRC_DIR}/aacadtsdec.c
${LIBAVCODEC_SRC_DIR}/aacdec.c
${LIBAVCODEC_SRC_DIR}/aacps_float.c
${LIBAVCODEC_SRC_DIR}/aacpsdsp_float.c
${LIBAVCODEC_SRC_DIR}/aacsbr.c
${LIBAVCODEC_SRC_DIR}/aactab.c
${LIBAVCODEC_SRC_DIR}/aandcttab.c
${LIBAVCODEC_SRC_DIR}/allcodecs.c
${LIBAVCODEC_SRC_DIR}/audioconvert.c
${LIBAVCODEC_SRC_DIR}/avdct.c
${LIBAVCODEC_SRC_DIR}/avfft.c
${LIBAVCODEC_SRC_DIR}/avpacket.c
${LIBAVCODEC_SRC_DIR}/avpicture.c
${LIBAVCODEC_SRC_DIR}/bitstream_filter.c
${LIBAVCODEC_SRC_DIR}/bitstream.c
${LIBAVCODEC_SRC_DIR}/blockdsp.c
${LIBAVCODEC_SRC_DIR}/bswapdsp.c
${LIBAVCODEC_SRC_DIR}/cabac.c
${LIBAVCODEC_SRC_DIR}/codec_desc.c
${LIBAVCODEC_SRC_DIR}/d3d11va.c
${LIBAVCODEC_SRC_DIR}/dct.c
${LIBAVCODEC_SRC_DIR}/dct32_fixed.c
${LIBAVCODEC_SRC_DIR}/dct32_float.c
${LIBAVCODEC_SRC_DIR}/dirac.c
${LIBAVCODEC_SRC_DIR}/dv_profile.c
${LIBAVCODEC_SRC_DIR}/error_resilience.c
${LIBAVCODEC_SRC_DIR}/exif.c
${LIBAVCODEC_SRC_DIR}/faandct.c
${LIBAVCODEC_SRC_DIR}/faanidct.c
${LIBAVCODEC_SRC_DIR}/fdctdsp.c
${LIBAVCODEC_SRC_DIR}/fft_fixed_32.c
${LIBAVCODEC_SRC_DIR}/fft_fixed.c
${LIBAVCODEC_SRC_DIR}/fft_float.c
${LIBAVCODEC_SRC_DIR}/fft_init_table.c
${LIBAVCODEC_SRC_DIR}/ffv1.c
${LIBAVCODEC_SRC_DIR}/ffv1enc.c
${LIBAVCODEC_SRC_DIR}/flvdec.c
${LIBAVCODEC_SRC_DIR}/flvenc.c
${LIBAVCODEC_SRC_DIR}/frame_thread_encoder.c
${LIBAVCODEC_SRC_DIR}/golomb.c
${LIBAVCODEC_SRC_DIR}/h263_parser.c
${LIBAVCODEC_SRC_DIR}/h263.c
${LIBAVCODEC_SRC_DIR}/h263data.c
${LIBAVCODEC_SRC_DIR}/h263dec.c
${LIBAVCODEC_SRC_DIR}/h263dsp.c
${LIBAVCODEC_SRC_DIR}/h264_cabac.c
${LIBAVCODEC_SRC_DIR}/h264_cavlc.c
${LIBAVCODEC_SRC_DIR}/h264_direct.c
${LIBAVCODEC_SRC_DIR}/h264_loopfilter.c
${LIBAVCODEC_SRC_DIR}/h264_mb.c
${LIBAVCODEC_SRC_DIR}/h264_parser.c
${LIBAVCODEC_SRC_DIR}/h264_picture.c
${LIBAVCODEC_SRC_DIR}/h264_ps.c
${LIBAVCODEC_SRC_DIR}/h264_refs.c
${LIBAVCODEC_SRC_DIR}/h264_sei.c
${LIBAVCODEC_SRC_DIR}/h264_slice.c
${LIBAVCODEC_SRC_DIR}/h264.c
${LIBAVCODEC_SRC_DIR}/h264chroma.c
${LIBAVCODEC_SRC_DIR}/h264dsp.c
${LIBAVCODEC_SRC_DIR}/h264idct.c
${LIBAVCODEC_SRC_DIR}/h264pred.c
${LIBAVCODEC_SRC_DIR}/h264qpel.c
${LIBAVCODEC_SRC_DIR}/hpeldsp.c
${LIBAVCODEC_SRC_DIR}/huffman.c
${LIBAVCODEC_SRC_DIR}/huffyuv.c
${LIBAVCODEC_SRC_DIR}/huffyuvenc.c
${LIBAVCODEC_SRC_DIR}/huffyuvencdsp.c
${LIBAVCODEC_SRC_DIR}/idctdsp.c
${LIBAVCODEC_SRC_DIR}/imdct15.c
${LIBAVCODEC_SRC_DIR}/imgconvert.c
${LIBAVCODEC_SRC_DIR}/intelh263dec.c
${LIBAVCODEC_SRC_DIR}/ituh263dec.c
${LIBAVCODEC_SRC_DIR}/ituh263enc.c
${LIBAVCODEC_SRC_DIR}/jfdctfst.c
${LIBAVCODEC_SRC_DIR}/jfdctint.c
${LIBAVCODEC_SRC_DIR}/jpegtables.c
${LIBAVCODEC_SRC_DIR}/jrevdct.c
${LIBAVCODEC_SRC_DIR}/kbdwin.c
${LIBAVCODEC_SRC_DIR}/latm_parser.c
${LIBAVCODEC_SRC_DIR}/lossless_videodsp.c
${LIBAVCODEC_SRC_DIR}/mathtables.c
${LIBAVCODEC_SRC_DIR}/mdct_fixed_32.c
${LIBAVCODEC_SRC_DIR}/mdct_fixed.c
${LIBAVCODEC_SRC_DIR}/mdct_float.c
${LIBAVCODEC_SRC_DIR}/me_cmp.c
${LIBAVCODEC_SRC_DIR}/mjpegbdec.c
${LIBAVCODEC_SRC_DIR}/mjpegdec.c
${LIBAVCODEC_SRC_DIR}/motion_est.c
${LIBAVCODEC_SRC_DIR}/mpeg_er.c
${LIBAVCODEC_SRC_DIR}/mpeg12.c
${LIBAVCODEC_SRC_DIR}/mpeg12data.c
${LIBAVCODEC_SRC_DIR}/mpeg12dec.c
${LIBAVCODEC_SRC_DIR}/mpeg4audio.c
${LIBAVCODEC_SRC_DIR}/mpeg4video_parser.c
${LIBAVCODEC_SRC_DIR}/mpeg4video.c
${LIBAVCODEC_SRC_DIR}/mpeg4videodec.c
${LIBAVCODEC_SRC_DIR}/mpeg4videoenc.c
${LIBAVCODEC_SRC_DIR}/mpegaudio_parser.c
${LIBAVCODEC_SRC_DIR}/mpegaudio.c
${LIBAVCODEC_SRC_DIR}/mpegaudiodata.c
${LIBAVCODEC_SRC_DIR}/mpegaudiodec_fixed.c
${LIBAVCODEC_SRC_DIR}/mpegaudiodecheader.c
${LIBAVCODEC_SRC_DIR}/mpegaudiodsp_data.c
${LIBAVCODEC_SRC_DIR}/mpegaudiodsp_fixed.c
${LIBAVCODEC_SRC_DIR}/mpegaudiodsp_float.c
${LIBAVCODEC_SRC_DIR}/mpegaudiodsp.c
${LIBAVCODEC_SRC_DIR}/mpegpicture.c
${LIBAVCODEC_SRC_DIR}/mpegutils.c
${LIBAVCODEC_SRC_DIR}/mpegvideo_enc.c
${LIBAVCODEC_SRC_DIR}/mpegvideo_motion.c
${LIBAVCODEC_SRC_DIR}/mpegvideo_parser.c
${LIBAVCODEC_SRC_DIR}/mpegvideo.c
${LIBAVCODEC_SRC_DIR}/mpegvideodata.c
${LIBAVCODEC_SRC_DIR}/mpegvideodsp.c
${LIBAVCODEC_SRC_DIR}/mpegvideoencdsp.c
${LIBAVCODEC_SRC_DIR}/options.c
${LIBAVCODEC_SRC_DIR}/parser.c
${LIBAVCODEC_SRC_DIR}/pcm.c
${LIBAVCODEC_SRC_DIR}/pixblockdsp.c
${LIBAVCODEC_SRC_DIR}/profiles.c
${LIBAVCODEC_SRC_DIR}/qpeldsp.c
${LIBAVCODEC_SRC_DIR}/qsv_api.c
${LIBAVCODEC_SRC_DIR}/rangecoder.c
${LIBAVCODEC_SRC_DIR}/ratecontrol.c
${LIBAVCODEC_SRC_DIR}/raw.c
${LIBAVCODEC_SRC_DIR}/rdft.c
${LIBAVCODEC_SRC_DIR}/resample.c
${LIBAVCODEC_SRC_DIR}/resample2.c
${LIBAVCODEC_SRC_DIR}/rl.c
${LIBAVCODEC_SRC_DIR}/sbrdsp.c
${LIBAVCODEC_SRC_DIR}/simple_idct.c
${LIBAVCODEC_SRC_DIR}/sinewin_fixed.c
${LIBAVCODEC_SRC_DIR}/sinewin.c
${LIBAVCODEC_SRC_DIR}/startcode.c
${LIBAVCODEC_SRC_DIR}/tiff_common.c
${LIBAVCODEC_SRC_DIR}/utils.c
${LIBAVCODEC_SRC_DIR}/videodsp.c
${LIBAVCODEC_SRC_DIR}/vorbis_parser.c
${LIBAVCODEC_SRC_DIR}/xiph.c
${LIBAVCODEC_SRC_DIR}/xvididct.c
)
# includes to ship with libavcodec
set(LIBAVCODEC_HEADERS
${LIBAVCODEC_SRC_DIR}/avcodec.h
${LIBAVCODEC_SRC_DIR}/avdct.h
${LIBAVCODEC_SRC_DIR}/avfft.h
${LIBAVCODEC_SRC_DIR}/dv_profile.h
${LIBAVCODEC_SRC_DIR}/d3d11va.h
${LIBAVCODEC_SRC_DIR}/dirac.h
${LIBAVCODEC_SRC_DIR}/dxva2.h
${LIBAVCODEC_SRC_DIR}/qsv.h
${LIBAVCODEC_SRC_DIR}/vaapi.h
${LIBAVCODEC_SRC_DIR}/vda.h
${LIBAVCODEC_SRC_DIR}/vdpau.h
${LIBAVCODEC_SRC_DIR}/version.h
${LIBAVCODEC_SRC_DIR}/videotoolbox.h
${LIBAVCODEC_SRC_DIR}/vorbis_parser.h
${LIBAVCODEC_SRC_DIR}/xvmc.h
)
# OS and configure option/check specific additional sources
if (WIN32)
list(APPEND LIBAVCODEC_SOURCE_FILES ${LIBAVCODEC_SRC_DIR}/file_open.c)
if (CONFIG_DXVA2 AND HAVE_DXVA2_LIB)
list(APPEND LIBAVCODEC_SOURCE_FILES ${LIBAVCODEC_SRC_DIR}/dxva2.c)
endif()
endif()
if (Threads_FOUND)
list(APPEND LIBAVCODEC_SOURCE_FILES ${LIBAVCODEC_SRC_DIR}/pthread.c)
list(APPEND LIBAVCODEC_SOURCE_FILES ${LIBAVCODEC_SRC_DIR}/pthread_slice.c)
list(APPEND LIBAVCODEC_SOURCE_FILES ${LIBAVCODEC_SRC_DIR}/pthread_frame.c)
endif()
# Experimental addition to troubleshoot stubborn builds that inject ARCH_X86
if (ARCH_X86)
list(APPEND LIBAVCODEC_SOURCE_FILES ${LIBAVCODEC_SRC_DIR}/x86/lossless_videodsp_init.c)
endif()
-51
View File
@@ -1,51 +0,0 @@
# libavformat source files (all platforms)
set(LIBAVFORMAT_SOURCE_FILES
${LIBAVFORMAT_SRC_DIR}/aacdec.c
${LIBAVFORMAT_SRC_DIR}/allformats.c
${LIBAVFORMAT_SRC_DIR}/apetag.c
${LIBAVFORMAT_SRC_DIR}/avidec.c
${LIBAVFORMAT_SRC_DIR}/avienc.c
${LIBAVFORMAT_SRC_DIR}/avio.c
${LIBAVFORMAT_SRC_DIR}/aviobuf.c
${LIBAVFORMAT_SRC_DIR}/avlanguage.c
${LIBAVFORMAT_SRC_DIR}/cutils.c
${LIBAVFORMAT_SRC_DIR}/dump.c
${LIBAVFORMAT_SRC_DIR}/file.c
${LIBAVFORMAT_SRC_DIR}/format.c
${LIBAVFORMAT_SRC_DIR}/h263dec.c
${LIBAVFORMAT_SRC_DIR}/h264dec.c
${LIBAVFORMAT_SRC_DIR}/id3v1.c
${LIBAVFORMAT_SRC_DIR}/id3v2.c
${LIBAVFORMAT_SRC_DIR}/img2.c
${LIBAVFORMAT_SRC_DIR}/isom.c
${LIBAVFORMAT_SRC_DIR}/m4vdec.c
${LIBAVFORMAT_SRC_DIR}/metadata.c
${LIBAVFORMAT_SRC_DIR}/mp3dec.c
${LIBAVFORMAT_SRC_DIR}/mpeg.c
${LIBAVFORMAT_SRC_DIR}/mpegtsenc.c
${LIBAVFORMAT_SRC_DIR}/mpegvideodec.c
${LIBAVFORMAT_SRC_DIR}/mux.c
${LIBAVFORMAT_SRC_DIR}/oma.c
${LIBAVFORMAT_SRC_DIR}/omadec.c
${LIBAVFORMAT_SRC_DIR}/options.c
${LIBAVFORMAT_SRC_DIR}/os_support.c
${LIBAVFORMAT_SRC_DIR}/pcm.c
${LIBAVFORMAT_SRC_DIR}/pcmdec.c
${LIBAVFORMAT_SRC_DIR}/pmpdec.c
${LIBAVFORMAT_SRC_DIR}/qtpalette.c
${LIBAVFORMAT_SRC_DIR}/rawdec.c
${LIBAVFORMAT_SRC_DIR}/replaygain.c
${LIBAVFORMAT_SRC_DIR}/riff.c
${LIBAVFORMAT_SRC_DIR}/riffdec.c
${LIBAVFORMAT_SRC_DIR}/riffenc.c
${LIBAVFORMAT_SRC_DIR}/sdp.c
${LIBAVFORMAT_SRC_DIR}/url.c
${LIBAVFORMAT_SRC_DIR}/utils.c
${LIBAVFORMAT_SRC_DIR}/wavdec.c
)
set(LIBAVFORMAT_HEADERS
${LIBAVFORMAT_SRC_DIR}/avformat.h
${LIBAVFORMAT_SRC_DIR}/avio.h
${LIBAVFORMAT_SRC_DIR}/version.h
)
-141
View File
@@ -1,141 +0,0 @@
# libavutil source files (all platforms)
set(LIBAVUTIL_SOURCE_FILES
${LIBAVUTIL_SRC_DIR}/adler32.c
${LIBAVUTIL_SRC_DIR}/aes_ctr.c
${LIBAVUTIL_SRC_DIR}/aes.c
${LIBAVUTIL_SRC_DIR}/audio_fifo.c
${LIBAVUTIL_SRC_DIR}/avstring.c
${LIBAVUTIL_SRC_DIR}/base64.c
${LIBAVUTIL_SRC_DIR}/blowfish.c
${LIBAVUTIL_SRC_DIR}/bprint.c
${LIBAVUTIL_SRC_DIR}/buffer.c
${LIBAVUTIL_SRC_DIR}/camellia.c
${LIBAVUTIL_SRC_DIR}/cast5.c
${LIBAVUTIL_SRC_DIR}/channel_layout.c
${LIBAVUTIL_SRC_DIR}/color_utils.c
${LIBAVUTIL_SRC_DIR}/cpu.c
${LIBAVUTIL_SRC_DIR}/crc.c
${LIBAVUTIL_SRC_DIR}/des.c
${LIBAVUTIL_SRC_DIR}/dict.c
${LIBAVUTIL_SRC_DIR}/display.c
${LIBAVUTIL_SRC_DIR}/downmix_info.c
${LIBAVUTIL_SRC_DIR}/error.c
${LIBAVUTIL_SRC_DIR}/eval.c
${LIBAVUTIL_SRC_DIR}/fifo.c
${LIBAVUTIL_SRC_DIR}/file_open.c
${LIBAVUTIL_SRC_DIR}/file.c
${LIBAVUTIL_SRC_DIR}/fixed_dsp.c
${LIBAVUTIL_SRC_DIR}/float_dsp.c
${LIBAVUTIL_SRC_DIR}/frame.c
${LIBAVUTIL_SRC_DIR}/hash.c
${LIBAVUTIL_SRC_DIR}/hmac.c
${LIBAVUTIL_SRC_DIR}/imgutils.c
${LIBAVUTIL_SRC_DIR}/integer.c
${LIBAVUTIL_SRC_DIR}/intmath.c
${LIBAVUTIL_SRC_DIR}/lfg.c
${LIBAVUTIL_SRC_DIR}/lls.c
${LIBAVUTIL_SRC_DIR}/log.c
${LIBAVUTIL_SRC_DIR}/log2_tab.c
${LIBAVUTIL_SRC_DIR}/mastering_display_metadata.c
${LIBAVUTIL_SRC_DIR}/mathematics.c
${LIBAVUTIL_SRC_DIR}/md5.c
${LIBAVUTIL_SRC_DIR}/mem.c
${LIBAVUTIL_SRC_DIR}/murmur3.c
${LIBAVUTIL_SRC_DIR}/opt.c
${LIBAVUTIL_SRC_DIR}/parseutils.c
${LIBAVUTIL_SRC_DIR}/pixdesc.c
${LIBAVUTIL_SRC_DIR}/pixelutils.c
${LIBAVUTIL_SRC_DIR}/random_seed.c
${LIBAVUTIL_SRC_DIR}/rational.c
${LIBAVUTIL_SRC_DIR}/rc4.c
${LIBAVUTIL_SRC_DIR}/reverse.c
${LIBAVUTIL_SRC_DIR}/ripemd.c
${LIBAVUTIL_SRC_DIR}/samplefmt.c
${LIBAVUTIL_SRC_DIR}/sha.c
${LIBAVUTIL_SRC_DIR}/sha512.c
${LIBAVUTIL_SRC_DIR}/stereo3d.c
${LIBAVUTIL_SRC_DIR}/tea.c
${LIBAVUTIL_SRC_DIR}/threadmessage.c
${LIBAVUTIL_SRC_DIR}/time.c
${LIBAVUTIL_SRC_DIR}/timecode.c
${LIBAVUTIL_SRC_DIR}/tree.c
${LIBAVUTIL_SRC_DIR}/twofish.c
${LIBAVUTIL_SRC_DIR}/utils.c
${LIBAVUTIL_SRC_DIR}/xga_font_data.c
${LIBAVUTIL_SRC_DIR}/xtea.c
)
set(LIBAVUTIL_HEADERS
${LIBAVUTIL_SRC_DIR}/adler32.h
${LIBAVUTIL_SRC_DIR}/aes.h
${LIBAVUTIL_SRC_DIR}/aes_ctr.h
${LIBAVUTIL_SRC_DIR}/attributes.h
${LIBAVUTIL_SRC_DIR}/audio_fifo.h
${LIBAVUTIL_SRC_DIR}/avassert.h
${LIBAVUTIL_SRC_DIR}/avstring.h
${LIBAVUTIL_SRC_DIR}/avutil.h
${LIBAVUTIL_SRC_DIR}/base64.h
${LIBAVUTIL_SRC_DIR}/blowfish.h
${LIBAVUTIL_SRC_DIR}/bprint.h
${LIBAVUTIL_SRC_DIR}/bswap.h
${LIBAVUTIL_SRC_DIR}/buffer.h
${LIBAVUTIL_SRC_DIR}/cast5.h
${LIBAVUTIL_SRC_DIR}/camellia.h
${LIBAVUTIL_SRC_DIR}/channel_layout.h
${LIBAVUTIL_SRC_DIR}/common.h
${LIBAVUTIL_SRC_DIR}/cpu.h
${LIBAVUTIL_SRC_DIR}/crc.h
${LIBAVUTIL_SRC_DIR}/des.h
${LIBAVUTIL_SRC_DIR}/display.h
${LIBAVUTIL_SRC_DIR}/downmix_info.h
${LIBAVUTIL_SRC_DIR}/error.h
${LIBAVUTIL_SRC_DIR}/eval.h
${LIBAVUTIL_SRC_DIR}/fifo.h
${LIBAVUTIL_SRC_DIR}/file.h
${LIBAVUTIL_SRC_DIR}/frame.h
${LIBAVUTIL_SRC_DIR}/hash.h
${LIBAVUTIL_SRC_DIR}/hmac.h
${LIBAVUTIL_SRC_DIR}/imgutils.h
${LIBAVUTIL_SRC_DIR}/intfloat.h
${LIBAVUTIL_SRC_DIR}/intreadwrite.h
${LIBAVUTIL_SRC_DIR}/lfg.h
${LIBAVUTIL_SRC_DIR}/log.h
${LIBAVUTIL_SRC_DIR}/macros.h
${LIBAVUTIL_SRC_DIR}/mathematics.h
${LIBAVUTIL_SRC_DIR}/mastering_display_metadata.h
${LIBAVUTIL_SRC_DIR}/md5.h
${LIBAVUTIL_SRC_DIR}/mem.h
${LIBAVUTIL_SRC_DIR}/motion_vector.h
${LIBAVUTIL_SRC_DIR}/murmur3.h
${LIBAVUTIL_SRC_DIR}/dict.h
${LIBAVUTIL_SRC_DIR}/opt.h
${LIBAVUTIL_SRC_DIR}/parseutils.h
${LIBAVUTIL_SRC_DIR}/pixdesc.h
${LIBAVUTIL_SRC_DIR}/pixelutils.h
${LIBAVUTIL_SRC_DIR}/pixfmt.h
${LIBAVUTIL_SRC_DIR}/random_seed.h
${LIBAVUTIL_SRC_DIR}/rc4.h
${LIBAVUTIL_SRC_DIR}/replaygain.h
${LIBAVUTIL_SRC_DIR}/rational.h
${LIBAVUTIL_SRC_DIR}/ripemd.h
${LIBAVUTIL_SRC_DIR}/samplefmt.h
${LIBAVUTIL_SRC_DIR}/sha.h
${LIBAVUTIL_SRC_DIR}/sha512.h
${LIBAVUTIL_SRC_DIR}/stereo3d.h
${LIBAVUTIL_SRC_DIR}/threadmessage.h
${LIBAVUTIL_SRC_DIR}/time.h
${LIBAVUTIL_SRC_DIR}/timecode.h
${LIBAVUTIL_SRC_DIR}/timestamp.h
${LIBAVUTIL_SRC_DIR}/tree.h
${LIBAVUTIL_SRC_DIR}/twofish.h
${LIBAVUTIL_SRC_DIR}/version.h
${LIBAVUTIL_SRC_DIR}/xtea.h
${LIBAVUTIL_SRC_DIR}/tea.h
${CMAKE_CURRENT_BINARY_DIR}/libavutil/ffversion.h
${CMAKE_CURRENT_BINARY_DIR}/libavutil/avconfig.h
)
# Experimental addition to troubleshoot stubborn builds that inject ARCH_X86
if (ARCH_X86)
list(APPEND LIBAVUTIL_SOURCE_FILES ${LIBAVUTIL_SRC_DIR}/x86/cpu.c)
endif()
-22
View File
@@ -1,22 +0,0 @@
# libswresample source files (all platforms)
set(LIBSWRESAMPLE_SOURCE_FILES
${LIBSWRESAMPLE_SRC_DIR}/swresample.h
${LIBSWRESAMPLE_SRC_DIR}/audioconvert.c
${LIBSWRESAMPLE_SRC_DIR}/dither.c
${LIBSWRESAMPLE_SRC_DIR}/options.c
${LIBSWRESAMPLE_SRC_DIR}/rematrix.c
${LIBSWRESAMPLE_SRC_DIR}/resample_dsp.c
${LIBSWRESAMPLE_SRC_DIR}/resample.c
${LIBSWRESAMPLE_SRC_DIR}/swresample_frame.c
${LIBSWRESAMPLE_SRC_DIR}/swresample.c
)
set(LIBSWRESAMPLE_HEADERS
${LIBSWRESAMPLE_SRC_DIR}/swresample.h
${LIBSWRESAMPLE_SRC_DIR}/version.h
)
# Experimental addition to troubleshoot stubborn builds that inject ARCH_X86
if (ARCH_X86)
list(APPEND LIBSWRESAMPLE_SOURCE_FILES ${LIBSWRESAMPLE_SRC_DIR}/x86/resample_init.c)
endif()
-22
View File
@@ -1,22 +0,0 @@
# libswscale source files (all platforms)
set(LIBSWSCALE_SOURCE_FILES
${LIBSWSCALE_SRC_DIR}/alphablend.c
${LIBSWSCALE_SRC_DIR}/gamma.c
${LIBSWSCALE_SRC_DIR}/hscale_fast_bilinear.c
${LIBSWSCALE_SRC_DIR}/hscale.c
${LIBSWSCALE_SRC_DIR}/input.c
${LIBSWSCALE_SRC_DIR}/options.c
${LIBSWSCALE_SRC_DIR}/output.c
${LIBSWSCALE_SRC_DIR}/rgb2rgb.c
${LIBSWSCALE_SRC_DIR}/slice.c
${LIBSWSCALE_SRC_DIR}/swscale_unscaled.c
${LIBSWSCALE_SRC_DIR}/swscale.c
${LIBSWSCALE_SRC_DIR}/utils.c
${LIBSWSCALE_SRC_DIR}/vscale.c
${LIBSWSCALE_SRC_DIR}/yuv2rgb.c
)
set(LIBSWSCALE_HEADERS
${LIBSWSCALE_SRC_DIR}/swscale.h
${LIBSWSCALE_SRC_DIR}/version.h
)
+282
View File
@@ -0,0 +1,282 @@
# The FFmpeg sources PPSSPP builds, relative to the FFmpeg source tree. Every build system uses this
# list: CMake reads it (CMakeLists.txt here), ndk-build and libretro include it, and
# update_vcxproj.py copies it into ffmpeg.vcxproj. A component enabled in include/config.h needs
# its files here.
FFMPEG_SOURCES := \
libavcodec/aac_ac3_parser.c \
libavcodec/aac_parser.c \
libavcodec/aacadtsdec.c \
libavcodec/aacdec.c \
libavcodec/aacps_float.c \
libavcodec/aacpsdsp_float.c \
libavcodec/aacsbr.c \
libavcodec/aactab.c \
libavcodec/aandcttab.c \
libavcodec/allcodecs.c \
libavcodec/atrac.c \
libavcodec/atrac3.c \
libavcodec/atrac3plus.c \
libavcodec/atrac3plusdec.c \
libavcodec/atrac3plusdsp.c \
libavcodec/audioconvert.c \
libavcodec/avdct.c \
libavcodec/avfft.c \
libavcodec/avpacket.c \
libavcodec/avpicture.c \
libavcodec/bitstream.c \
libavcodec/bitstream_filter.c \
libavcodec/blockdsp.c \
libavcodec/bswapdsp.c \
libavcodec/cabac.c \
libavcodec/codec_desc.c \
libavcodec/d3d11va.c \
libavcodec/dct.c \
libavcodec/dct32_fixed.c \
libavcodec/dct32_float.c \
libavcodec/dirac.c \
libavcodec/dv_profile.c \
libavcodec/error_resilience.c \
libavcodec/exif.c \
libavcodec/faandct.c \
libavcodec/faanidct.c \
libavcodec/fdctdsp.c \
libavcodec/fft_fixed.c \
libavcodec/fft_fixed_32.c \
libavcodec/fft_float.c \
libavcodec/fft_init_table.c \
libavcodec/ffv1.c \
libavcodec/ffv1enc.c \
libavcodec/flvdec.c \
libavcodec/flvenc.c \
libavcodec/frame_thread_encoder.c \
libavcodec/golomb.c \
libavcodec/h263.c \
libavcodec/h263_parser.c \
libavcodec/h263data.c \
libavcodec/h263dec.c \
libavcodec/h263dsp.c \
libavcodec/h264.c \
libavcodec/h264_cabac.c \
libavcodec/h264_cavlc.c \
libavcodec/h264_direct.c \
libavcodec/h264_loopfilter.c \
libavcodec/h264_mb.c \
libavcodec/h264_parser.c \
libavcodec/h264_picture.c \
libavcodec/h264_ps.c \
libavcodec/h264_refs.c \
libavcodec/h264_sei.c \
libavcodec/h264_slice.c \
libavcodec/h264chroma.c \
libavcodec/h264dsp.c \
libavcodec/h264idct.c \
libavcodec/h264pred.c \
libavcodec/h264qpel.c \
libavcodec/hpeldsp.c \
libavcodec/huffman.c \
libavcodec/huffyuv.c \
libavcodec/huffyuvenc.c \
libavcodec/huffyuvencdsp.c \
libavcodec/idctdsp.c \
libavcodec/imdct15.c \
libavcodec/imgconvert.c \
libavcodec/intelh263dec.c \
libavcodec/ituh263dec.c \
libavcodec/ituh263enc.c \
libavcodec/jfdctfst.c \
libavcodec/jfdctint.c \
libavcodec/jpegtables.c \
libavcodec/jrevdct.c \
libavcodec/kbdwin.c \
libavcodec/latm_parser.c \
libavcodec/lossless_videodsp.c \
libavcodec/mathtables.c \
libavcodec/mdct_fixed.c \
libavcodec/mdct_fixed_32.c \
libavcodec/mdct_float.c \
libavcodec/me_cmp.c \
libavcodec/mjpegbdec.c \
libavcodec/mjpegdec.c \
libavcodec/motion_est.c \
libavcodec/mpeg12.c \
libavcodec/mpeg12data.c \
libavcodec/mpeg12dec.c \
libavcodec/mpeg4audio.c \
libavcodec/mpeg4video.c \
libavcodec/mpeg4video_parser.c \
libavcodec/mpeg4videodec.c \
libavcodec/mpeg4videoenc.c \
libavcodec/mpeg_er.c \
libavcodec/mpegaudio.c \
libavcodec/mpegaudio_parser.c \
libavcodec/mpegaudiodata.c \
libavcodec/mpegaudiodec_fixed.c \
libavcodec/mpegaudiodecheader.c \
libavcodec/mpegaudiodsp.c \
libavcodec/mpegaudiodsp_data.c \
libavcodec/mpegaudiodsp_fixed.c \
libavcodec/mpegaudiodsp_float.c \
libavcodec/mpegpicture.c \
libavcodec/mpegutils.c \
libavcodec/mpegvideo.c \
libavcodec/mpegvideo_enc.c \
libavcodec/mpegvideo_motion.c \
libavcodec/mpegvideo_parser.c \
libavcodec/mpegvideodata.c \
libavcodec/mpegvideodsp.c \
libavcodec/mpegvideoencdsp.c \
libavcodec/options.c \
libavcodec/parser.c \
libavcodec/pcm.c \
libavcodec/pixblockdsp.c \
libavcodec/profiles.c \
libavcodec/pthread.c \
libavcodec/pthread_frame.c \
libavcodec/pthread_slice.c \
libavcodec/qpeldsp.c \
libavcodec/qsv_api.c \
libavcodec/rangecoder.c \
libavcodec/ratecontrol.c \
libavcodec/raw.c \
libavcodec/rdft.c \
libavcodec/resample.c \
libavcodec/resample2.c \
libavcodec/rl.c \
libavcodec/sbrdsp.c \
libavcodec/simple_idct.c \
libavcodec/sinewin.c \
libavcodec/sinewin_fixed.c \
libavcodec/startcode.c \
libavcodec/tiff_common.c \
libavcodec/utils.c \
libavcodec/videodsp.c \
libavcodec/vorbis_parser.c \
libavcodec/xiph.c \
libavcodec/xvididct.c \
libavformat/aacdec.c \
libavformat/allformats.c \
libavformat/apetag.c \
libavformat/avidec.c \
libavformat/avienc.c \
libavformat/avio.c \
libavformat/aviobuf.c \
libavformat/avlanguage.c \
libavformat/cutils.c \
libavformat/dump.c \
libavformat/file.c \
libavformat/format.c \
libavformat/h263dec.c \
libavformat/h264dec.c \
libavformat/id3v1.c \
libavformat/id3v2.c \
libavformat/img2.c \
libavformat/isom.c \
libavformat/m4vdec.c \
libavformat/metadata.c \
libavformat/mp3dec.c \
libavformat/mpeg.c \
libavformat/mpegtsenc.c \
libavformat/mpegvideodec.c \
libavformat/mux.c \
libavformat/oma.c \
libavformat/omadec.c \
libavformat/options.c \
libavformat/os_support.c \
libavformat/pcm.c \
libavformat/pcmdec.c \
libavformat/pmpdec.c \
libavformat/qtpalette.c \
libavformat/rawdec.c \
libavformat/replaygain.c \
libavformat/riff.c \
libavformat/riffdec.c \
libavformat/riffenc.c \
libavformat/sdp.c \
libavformat/url.c \
libavformat/utils.c \
libavformat/wavdec.c \
libavutil/adler32.c \
libavutil/aes.c \
libavutil/aes_ctr.c \
libavutil/audio_fifo.c \
libavutil/avstring.c \
libavutil/base64.c \
libavutil/blowfish.c \
libavutil/bprint.c \
libavutil/buffer.c \
libavutil/camellia.c \
libavutil/cast5.c \
libavutil/channel_layout.c \
libavutil/color_utils.c \
libavutil/cpu.c \
libavutil/crc.c \
libavutil/des.c \
libavutil/dict.c \
libavutil/display.c \
libavutil/downmix_info.c \
libavutil/error.c \
libavutil/eval.c \
libavutil/fifo.c \
libavutil/file.c \
libavutil/file_open.c \
libavutil/fixed_dsp.c \
libavutil/float_dsp.c \
libavutil/frame.c \
libavutil/hash.c \
libavutil/hmac.c \
libavutil/imgutils.c \
libavutil/integer.c \
libavutil/intmath.c \
libavutil/lfg.c \
libavutil/lls.c \
libavutil/log.c \
libavutil/log2_tab.c \
libavutil/mastering_display_metadata.c \
libavutil/mathematics.c \
libavutil/md5.c \
libavutil/mem.c \
libavutil/murmur3.c \
libavutil/opt.c \
libavutil/parseutils.c \
libavutil/pixdesc.c \
libavutil/pixelutils.c \
libavutil/random_seed.c \
libavutil/rational.c \
libavutil/rc4.c \
libavutil/reverse.c \
libavutil/ripemd.c \
libavutil/samplefmt.c \
libavutil/sha.c \
libavutil/sha512.c \
libavutil/stereo3d.c \
libavutil/tea.c \
libavutil/threadmessage.c \
libavutil/time.c \
libavutil/timecode.c \
libavutil/tree.c \
libavutil/twofish.c \
libavutil/utils.c \
libavutil/xga_font_data.c \
libavutil/xtea.c \
libswresample/audioconvert.c \
libswresample/dither.c \
libswresample/options.c \
libswresample/rematrix.c \
libswresample/resample.c \
libswresample/resample_dsp.c \
libswresample/swresample.c \
libswresample/swresample_frame.c \
libswscale/alphablend.c \
libswscale/gamma.c \
libswscale/hscale.c \
libswscale/hscale_fast_bilinear.c \
libswscale/input.c \
libswscale/options.c \
libswscale/output.c \
libswscale/rgb2rgb.c \
libswscale/slice.c \
libswscale/swscale.c \
libswscale/swscale_unscaled.c \
libswscale/utils.c \
libswscale/vscale.c \
libswscale/yuv2rgb.c