GithubHelp home page GithubHelp logo

ffmpeg-development-kit's Introduction

FFmpeg Development Kit

Main purpose of this repository is to help people in building FFmpeg, mainly on mobile platforms (I tested this on Android, but armv7 shared libraries should be ok for iOS too).

Building

The project contains Android project called ffmpeg-sample which should be ready to build.

  • Make sure to hit "Refresh linked C++ project"
  • Run "Build"
  • Let it build
  • Run sample app on phone or emulator

Integrating in custom project

Navigate to app/src/main/cpp. Copy files ffmpeg.cmake, ffmpeg_build_system.cmake and copy_headers.cmake, libx264.cmake and libx264_build_system.cmake to your cpp folder. In your CMakeLists.txt file include following lines:

link_directories(${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
include_directories(${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/include)

include(ExternalProject)

set(FFMPEG_LIBS avutil swresample avcodec avformat swscale avfilter avdevice)
set(FFMPEG_CONFIGURE_EXTRAS --enable-jni)
IF (${LIB_X264_ENABLED})
    include(libx264.cmake)

    set(FFMPEG_DEPENDS libx264_target)
    set(FFMPEG_EXTRA_C_FLAGS "-I${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/include")
    set(FFMPEG_EXTRA_LD_FLAGS "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")

    list(APPEND FFMPEG_CONFIGURE_EXTRAS --enable-gpl --enable-libx264 --enable-nonfree)
    list(APPEND FFMPEG_LIBS postproc x264)
ENDIF()
include(ffmpeg.cmake)

and modify your native library to include ${ffmpeg_src} and add dependency to the FFmpeg's target:

add_dependencies(<your target> ffmpeg_target)

Also make sure to link FFmpeg libs to your target:

target_link_libraries(<your target> ${log-lib} ${FFMPEG_LIBS})

Also add flag indicating if you want to add libx264 to your project or not to your module build.gradle like this:

externalNativeBuild {
    cmake {
        arguments "-DLIB_X264_ENABLED:BOOL=ON|OFF"
    }
}

That should be it. Sync your project with Gradle and you should have FFmpeg integrated.

ffmpeg-development-kit's People

Contributors

iljakosynkin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ffmpeg-development-kit's Issues

Two-Pass with libx264

According to documentation for using this method we have to run ffmpeg twice like this:

Example:
`

ffmpeg -y -i input -c:v libx264 -b:v 2600k -pass 1 -an -f mp4 /dev/null && \

ffmpeg -i input -c:v libx264 -b:v 2600k -pass 2 -c:a aac -b:a 128k output.mp4

`

but I don't know how to run ffmpeg twice in android!

Not compiling in Linux mint 18.3

Hi,
Thanks for making the library, I'm trying to compile ffprobe and ffmpeg for various android platforms for release with an app

  • I've downloaded the repo
  • Installed yasm
  • Downloaded and extracted NDK r14b
  • Extracted the repo to the sources dir
  • Added an env variable for NDK to point to r14b root dir
  • I've copied the included JNI folder to multiple places, root of NDK
  • One level above NDK (I ended up deleting this one but it gets recreated by the scripts)

Running ./build_all.sh > output.txt so i can see the entire output shows

doc/Makefile:152: recipe for target 'install-man' failed Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: /home/myusername/Software/android-ndk-r14b/jni/Android.mk

The file doesn't exist at that location i do see Android.mk in the NDK/JNI/app/jni directory

There seems to be a bit of confusion in the scripts between cases sometimes looking for JNI othertimes jni which would fail in linux

Is there any steps missing? or something to try next i suspect I'm missing something that isn't in the readme?

ffmpeg build error

JNI Wrapper Query:
As per ReadMe file we should update the "Java_processing_ffmpeg_videokit_VideoKit_run" function in vidokit.c according to the package name of VideoKit.java file. In master branch:

  • videokit.c run method name is "Java_processing_ffmpeg_videokit_VideoKit_run"
  • VideoKit.Java package name is "com.ulab.wowsdk"
    Since package name is different, so native method will not get invoked.
    Query: Does my understanding is correct? If yes then probably we should update the function name in video.kit to avoid confusion.

Android NDK error when "ndk-build" command running:
While building the ffmpeg I am getting below error:

Android NDK: Could not find application project directory !    
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.

Please let me know if I have to set environment variable to fix this error.

Clang is unable to create executable file

Hi,
I tried several times as your instructions to compile ffmpeg but every time I got this error:

cp: cannot stat '/home/majid/A/JNI/app/libs/armeabi-v7a': No such file or directory
/home/majid/A/NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/clang is unable to create an executable file.
C compiler test failed.

in ffmpeg folder in build.sh file in this line:
HOST="darwin-x86_64"
there is no such a folder in ndk and I replaced it by:
HOST="linux-x86_64"
which exists in ndk.
This is only change that I did to those files and folders.
and when it finishes its work prints these messages:

cp: cannot create regular file 'android/arm64-v8a/Android.mk': No such file or directory
Android NDK: /home/majid/A/JNI/app/jni/Android.mk: Cannot find module with tag 'ffmpeg/android/arm64-v8a' in import path
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
Android NDK: The following directories were searched:
Android NDK:
/home/majid/A/JNI/app/jni/Android.mk:11: *** Android NDK: Aborting. . Stop.
cp: cannot stat '/home/majid/A/JNI/app/libs/arm64-v8a': No such file or directory

Please help me! I've been dealing with this all past two weeks!

how libvideokit.so file generated

I have followed your steps to generate .so files, the so file is generated for following library:
libavcodec, libavdevice, libavfilter, libavformat, libavutil, libswresample, libswscale

but how the libvideokit.so file generated. I did not get this file.

Please help

Where do i find build.sh file?

I have cloned ffmpeg for macos and copy pasted in source directory under ndk folder but i am not able to find build.sh file.

How to get Progress from ffmpeg command

Hello, First of all i want to say thanks to you for your library which is simple to use.

Now i am successfully executing commands on Android but sometimes to user i need to show progress in percentage or seconds, when FFMPEG is performing its command execution.

Can you please help me to how to get progress value from ffmpeg.

Thanks in Advance

I don't see any processing logs

// If loglevel greater then 0 there will VERY BIG AND ANNOYING LOG of ffmpeg working process
    // that however could be very useful in case return code didn't help a lot
    private native int run(int loglevel, String[] args);

all I see is (when setting videoKit.setLogLevel(LogLevel.FULL);):

    Option: /storage/emulated/0/test5.mkv
    Option: -y
    Option: -map
    Option: 0:s:2
    Option: -strict
    Option: -2
    Option: /storage/emulated/0/test5.mkvsubs.srt

but it's just my parameters which I already know

reserved or not valid for certain CMake features

Dear Sir

sorry for my poor English

i try export build pure ffmpeg as module project ( at Mac OSX 10.5 not windows )

i get error

PS. about PR & issue i will re-write reason sorry for my poor englisg can not full expression

`Execution failed for task ':library_ffmpeg:generateJsonModelFreeDebug'.

...\CMakeLists.txt : C/C++ freeDebug|armeabi-v7a : CMake Error at ..CMakeLists.txt:188 (add_library):
The target name
"..cmdutils.c"
is reserved or not valid for certain CMake features, such as generator
expressions, and may result in undefined behavior.`

[QUESTION] FFMPEG code source

Hello Ilja,

Could you inform me the source of the ffmpeg repo inside of this project? I have been trying to compile ffmpeg from the source and have had several issues with libavformat/udp.c. Looking at the source of this project I noticed that the buggy section has been modified and would love to know who did it.

Thanks in advance

Caio Guedes

Performance other than lib size

As I understand parameters --disable-asm --enable-small for building FFmpeg disimproves its performance

--disable-asm disable all assembly optimizations
--enable-small optimize for size instead of speed

or --disable-asm does something else?

./build.sh execution not generate libvideokit.so inside JNI/app/out folder

build.sh file having one entry like : PROJECT_LIBS="$PROJECT/libs"
Do we need to specify that folder libs inside JNI/app/ .
If yes then what would be the value inside it as one more entry in build.sh file is like
yes | cp -rf "$PROJECT_LIBS/$ARCH" "$PROJECT/out/$ARCH"

it looks like copy the entry from libs/arch to out/arch.

Right now I have just downloaded the JNI and put it with NDK and run ./build.sh on ffmpeg directory location then it only generate android folder with architecture inside the sources/ffmpeg/android but nothing is generated in JNI/app/out folder

Please help

Possibly no need to remove strtod.o in the build script

I ran into the same issue as you when compiling for arm64.

libavutil/../compat/strtod.o: error adding symbols: File in wrong format

However, after running make clean the error went away (because strtod.o is then compiled for the correct architecture). You have make clean in your build script so rm -f $(pwd)/compat/strtod.o shouldn't be required. Just thought you should know.

Access denied on windows

Dear Sir

I try ref this post : #29 to fix

and then i can start build

but when step [5/17] Performing configure step for 'ffmpeg_target'

i get error "FAILED: ffmpeg_pref/src/ffmpeg_target-stamp/ffmpeg_target-configure "

i google the error maybe like this post ninja-build/ninja#1646

THX

FFmpeg 4.1 build errors

Currently this git has 4.0.2 FFmpeg
The same script can also build 4.0.3

I downloaded https://github.com/FFmpeg/FFmpeg/tree/n4.0.3

changed only

SHFLAGS='-shared -Wl,-soname,$(SLIBNAME)' to SHFLAGS='-shared -soname $(SLIBNAME)'

no need to change

int (*ioctl_f)(int fd, unsigned long request, ...); to int (*ioctl_f)(int fd, unsigned int request, ...);

because now it looks like int (*ioctl_f)(int fd, unsigned long int request, ...);
https://github.com/FFmpeg/FFmpeg/blob/n4.0.3/libavdevice/v4l2.c#L98

I use the next a little bit edited script

DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PARENT="$(dirname "${DIR}")"
NDK="$(dirname "${PARENT}")"
SYSROOT="$NDK/sysroot"
HOST="linux-x86_64"
LLVM_TOOLCHAIN="$NDK/toolchains/llvm/prebuilt/$HOST/bin"

CFLAGS="-O3 -fPIC"
LDFLAGS="-lc"

build () {
    ARCH=$1
    LEVEL=$2
    CONFIGURATION="--enable-cross-compile --disable-static --disable-programs --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-shared --disable-protocols --enable-protocol=file --enable-pic --disable-hwaccels --disable-parsers --disable-bsfs --disable-indevs --disable-outdevs --disable-devices --disable-filters --disable-network $3"
    LIB_FOLDER="lib"

    case $ARCH in
        "armeabi-v7a")
            TARGET="arm-linux-androideabi"
            CC_FLAGS="-target thumbv7-none-linux-androideabi -mfpu=vfpv3-d16 -mfloat-abi=soft"
            LDFLAGS="--fix-cortex-a8 $LDFLAGS"
            PLATFORM_ARCH="arm"
            TOOLCHAIN_FOLDER=$TARGET
        ;;
        "arm64-v8a")
            TARGET="aarch64-linux-android"
            CC_FLAGS="-target aarch64-none-linux-android -mfpu=neon -mfloat-abi=soft"
            PLATFORM_ARCH="arm64"
            TOOLCHAIN_FOLDER=$TARGET
        ;;
        "x86")
            TARGET="i686-linux-android"
            CC_FLAGS="-target i686-none-linux-androideabi -mtune=intel -mssse3 -mfpmath=sse -m32"
            PLATFORM_ARCH="x86"
            TOOLCHAIN_FOLDER=$PLATFORM_ARCH
        ;;
        "x86_64")
            TARGET="x86_64-linux-android"
            CC_FLAGS="-target x86_64-none-linux-androideabi -msse4.2 -mpopcnt -m64 -mtune=intel"
            PLATFORM_ARCH="x86_64"
            LIB_FOLDER="lib64"
            TOOLCHAIN_FOLDER=$PLATFORM_ARCH
        ;;
    esac

    TOOLCHAIN=$NDK/toolchains/$TOOLCHAIN_FOLDER-4.9/prebuilt/$HOST/bin

    CC=$LLVM_TOOLCHAIN/clang
    CXX=$LLVM_TOOLCHAIN/clang++
    AS=$CC

    AR=$TOOLCHAIN/$TARGET-ar
    LD=$TOOLCHAIN/$TARGET-ld
    STRIP=$TOOLCHAIN/$TARGET-strip

    PREFIX="android/$ARCH"

    ./configure --prefix=$PREFIX  \
                $CONFIGURATION \
                --ar=$AR --strip=$STRIP --ld=$LD --cc=$CC --cxx=$CXX --as=$AS \
                --target-os=android \
                --extra-cflags="$CC_FLAGS -I$SYSROOT/usr/include/$TARGET $CFLAGS" \
                --extra-ldflags="-L$NDK/toolchains/$TOOLCHAIN_FOLDER-4.9/prebuilt/$HOST/lib/gcc/$TARGET/4.9.x -L$NDK/platforms/android-$LEVEL/arch-$PLATFORM_ARCH/usr/$LIB_FOLDER $LDFLAGS" \
                --sysroot=$SYSROOT --extra-libs=-lgcc

    $NDK/prebuilt/$HOST/bin/make clean
    $NDK/prebuilt/$HOST/bin/make -j4
    $NDK/prebuilt/$HOST/bin/make install
}

build "armeabi-v7a" "19" "--disable-asm"
build "arm64-v8a" "21" "--disable-asm --disable-pthreads"
build "x86" "19"
build "x86_64" "21" "--disable-asm"

And for the latest FFmpeg 4.1 it fails with the next errors:

/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/stdlib.h:61:7: error: 
      expected identifier or '('
char* getenv(const char* __name);
      ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:./config.h296:
:In file included from 17./libavutil/common.h::19491::
 In file included from ./libavutil/internal.h:note176: :
expanded./libavutil/libm.h :from54 :macro32 :'getenv' 
error: static#define getenv(x) NULL 
declaration                   ^of
 'cbrt' follows /home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/include/stddef.hnon-static:
105      :declaration18:
 note: 
      expanded from macro 'NULL'
static av_always_inline double cbrt(double x)
#  define NULL ((void*)0)
                               ^
                 ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:
:In file included from 191./libavformat/avformat.h::8319::
 In file included from ./libavcodec/avcodec.h:note31: :
In file included from 
./libavutil/samplefmt.h      :previous24 :
declarationIn file included from  ./libavutil/avutil.his: 296here:
In file included from 
./libavutil/common.h:39:
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/stdlib.h:61double cbrt(double __x);:
7:       ^ 
error: 
      expected ')'
./config.h:17:19: note: expanded from macro 'getenv'
#define getenv(x) NULL
                  ^
/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/include/stddef.h:105:18: note: 
      expanded from macro 'NULL'
#  define NULL ((void*)0)
                 ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/stdlib.h:61In file included from :libavdevice/utils.c7::19 :
In file included from libavdevice/internal.hnote:: 22:
toIn file included from 
./libavformat/avformat.h      :match319 :
thisIn file included from  ./libavcodec/avcodec.h'(':31
:
In file included from ./config.h./libavutil/samplefmt.h::1724::
19In file included from :./libavutil/avutil.h :296:
noteIn file included from : ./libavutil/common.h:expanded491:
 In file included from from./libavutil/internal.h :macro176 :
'getenv'./libavutil/libm.h
:61:31: #define getenv(x) NULL
error:                   ^
static declaration/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/include/stddef.h :of105 :17'cbrtf':  follows
      notenon-static:  declaration
      
expanded from macro 'NULL'
static av_always_inline float cbrtf(float x)
#  define NULL ((void*)0)                              ^

                ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:In file included from 192libavdevice/alldevices.c::723::
 In file included from ./libavformat/internal.h:note27: :
In file included from 
./libavformat/avformat.h      :previous319 :
declarationIn file included from  ./libavcodec/avcodec.his: 31here:
In file included from 
./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296float cbrtf(float __x);:

In file included from ./libavutil/common.h      ^:
39:
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/stdlib.h:61:7: error: 
      expected ')'
char* getenv(const char* __name);
      ^
./config.h:17:19: note: expanded from macro 'getenv'
#define getenv(x) NULL
                  ^
/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/include/stddef.h:105:24: note: In file included from libavdevice/utils.c
:      19expanded:
 In file included from fromlibavdevice/internal.h :macro22 :
'NULL'In file included from ./libavformat/avformat.h
:319:
In file included from ./libavcodec/avcodec.h:31#  define NULL ((void*)0):

In file included from ./libavutil/samplefmt.h                       ^:
24:
In file included from ./libavutil/avutil.h/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/stdlib.h::29661:
:In file included from 7./libavutil/common.h:: 491:
In file included from note./libavutil/internal.h: :176to:

      ./libavutil/libm.hmatch: 68this: 32'(': 
error./config.h: :17:static19 :declaration  of note'copysign':  followsexpanded
       fromnon-static  macrodeclaration 'getenv'

#define getenv(x) NULL
                  ^
/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/include/stddef.hstatic av_always_inline double copysign(double x, double y):
105:                               ^16:
 /home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.hnote:: 279:
8      :expanded  from notemacro:  'NULL'
      
previous declaration is here#  define NULL ((void*)0)

               ^
double copysign(double __value, double __sign) __attribute_const__;
       ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:121:22: error: static declaration of 'erf' follows non-static
      declaration
static inline double erf(double z)
                     ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:211:8: note: 
      previous declaration is here
double erf(double __x);
       ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:340:9: warning: 'isnan' macro redefined [-Wmacro-redefined]
#define isnan(x)                  \
        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:69:9: note: 
      previous definition is here
#define isnan(x) __builtin_isnan(x)
        ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:359:9: warning: 'isfinite' macro redefined
      [-Wmacro-redefined]
#define isfinite(x)                  \
        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:65:9: note: 
      previous definition is here
#define isfinite(x) __builtin_isfinite(x)
        ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:366:31: error: static declaration of 'hypot' follows
      non-static declaration
static inline av_const double hypot(double x, double y)
                              ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:199:8: note: 
      previous declaration is here
double hypot(double __x, double __y);
       ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:423:22: error: static declaration of 'rint' follows
      non-static declaration
static inline double rint(double x)
                     ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:239:8: note: 
      previous declaration is here
double rint(double __x);
       ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:430:43: error: static declaration of 'lrint' follows
      non-static declaration
static av_always_inline av_const long int lrint(double x)
                                          ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:243:6: note: 
      previous declaration is here
long lrint(double __x);
     ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:437:43: error: static declaration of 'lrintf' follows
      non-static declaration
static av_always_inline av_const long int lrintf(float x)
                                          ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:244:6: note: 
      previous declaration is here
long lrintf(float __x);
     ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:444:41: error: static declaration of 'round' follows
      non-static declaration
static av_always_inline av_const double round(double x)
                                        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:251:8: note: 
      previous declaration is here
double round(double __x);
       ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:451:40: error: static declaration of 'roundf' follows
      non-static declaration
static av_always_inline av_const float roundf(float x)
                                       ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:252:7: note: 
      previous declaration is here
float roundf(float __x);
      ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:458:41: error: static declaration of 'trunc' follows
      non-static declaration
static av_always_inline av_const double trunc(double x)
                                        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:263:8: note: 
      previous declaration is here
double trunc(double __x);
       ^
In file included from libavdevice/utils.c:19:
In file included from libavdevice/internal.h:22:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:465:40: error: static declaration of 'truncf' follows
      non-static declaration
static av_always_inline av_const float truncf(float x)
                                       ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:264:7: note: 
      previous declaration is here
float truncf(float __x);
      ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:54:32: error: static declaration of 'cbrt' follows non-static
      declaration
static av_always_inline double cbrt(double x)
                               ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:191:8: note: 
      previous declaration is here
double cbrt(double __x);
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:61:31: error: static declaration of 'cbrtf' follows
      non-static declaration
static av_always_inline float cbrtf(float x)
                              ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:192:7: note: 
      previous declaration is here
float cbrtf(float __x);
      ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:68:32: error: static declaration of 'copysign' follows
      non-static declaration
static av_always_inline double copysign(double x, double y)
                               ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:279:8: note: 
      previous declaration is here
double copysign(double __value, double __sign) __attribute_const__;
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:121:22: error: static declaration of 'erf' follows non-static
      declaration
static inline double erf(double z)
                     ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:211:8: note: 
      previous declaration is here
double erf(double __x);
       ^
In file included from libavdevice/avdevice.c:19:
In file included from ./libavutil/avassert.h:31:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:54:32: error: static declaration of 'cbrt' follows non-static
      declaration
static av_always_inline double cbrt(double x)
                               ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:191:8: note: 
      previous declaration is here
double cbrt(double __x);
       ^
In file included from libavdevice/avdevice.c:19:
In file included from ./libavutil/avassert.h:31:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:61:31: error: static declaration of 'cbrtf' follows
      non-static declaration
static av_always_inline float cbrtf(float x)
                              ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:192:7: note: 
      previous declaration is here
float cbrtf(float __x);
      ^
In file included from libavdevice/avdevice.c:19:
In file included from ./libavutil/avassert.h:31:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:68:32: error: static declaration of 'copysign' follows
      non-static declaration
static av_always_inline double copysign(double x, double y)
                               ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:279:8: note: 
      previous declaration is here
double copysign(double __value, double __sign) __attribute_const__;
       ^
In file included from libavdevice/avdevice.c:19:
In file included from ./libavutil/avassert.h:31:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:121:22: error: static declaration of 'erf' follows non-static
      declaration
static inline double erf(double z)
                     ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:211:8: note: 
      previous declaration is here
double erf(double __x);
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:340:9: warning: 'isnan' macro redefined [-Wmacro-redefined]
#define isnan(x)                  \
        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:69:9: note: 
      previous definition is here
#define isnan(x) __builtin_isnan(x)
        ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:359:9: warning: 'isfinite' macro redefined
      [-Wmacro-redefined]
#define isfinite(x)                  \
        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:65:9: note: 
      previous definition is here
#define isfinite(x) __builtin_isfinite(x)
        ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:366:31: error: static declaration of 'hypot' follows
      non-static declaration
static inline av_const double hypot(double x, double y)
                              ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:199:8: note: 
      previous declaration is here
double hypot(double __x, double __y);
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:423:22: error: static declaration of 'rint' follows
      non-static declaration
static inline double rint(double x)
                     ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:239:8: note: 
      previous declaration is here
double rint(double __x);
       ^
In file included from libavdevice/avdevice.c:19:
In file included from ./libavutil/avassert.h:31:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.hIn file included from :libavdevice/alldevices.c176::
23:
./libavutil/libm.hIn file included from :./libavformat/internal.h340::279:
:In file included from  ./libavformat/avformat.h:319warning:
: In file included from ./libavcodec/avcodec.h:'isnan'31 :
macroIn file included from  ./libavutil/samplefmt.hredefined: 24[-Wmacro-redefined]:
In file included from 
./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:#define isnan(x)                  \176
:
        ^./libavutil/libm.h
:430:43:/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h :69:error9: : static notedeclaration:  of
       'lrint'previous  followsdefinition
       isnon-static  heredeclaration

#define isnan(x) __builtin_isnan(x)
        ^
static av_always_inline av_const long int lrint(double x)
                                          ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:243:6: note: 
      previous declaration is here
long lrint(double __x);
     ^
In file included from In file included from libavdevice/alldevices.clibavdevice/avdevice.c::2319:
:
In file included from In file included from ./libavformat/internal.h./libavutil/avassert.h::2731:
:
In file included from In file included from ./libavformat/avformat.h./libavutil/avutil.h::319296:
:
In file included from In file included from ./libavcodec/avcodec.h./libavutil/common.h::31491:
:
In file included from In file included from ./libavutil/samplefmt.h./libavutil/internal.h::24176:
:
In file included from ./libavutil/avutil.h./libavutil/libm.h::296359:
:In file included from 9./libavutil/common.h:: 491:
In file included from warning./libavutil/internal.h: :176:
'isfinite' ./libavutil/libm.hmacro: 437redefined:
43      :[-Wmacro-redefined] 
error: static declaration of 'lrintf' #define isfinite(x)                  \follows

              ^non-static
 declaration
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:65:9: note: 
      previous definition is static av_always_inline av_const long int lrintf(float x)here

                                          ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:244:6: #define isfinite(x) __builtin_isfinite(x)note
:         ^

      previous declaration is here
long lrintf(float __x);In file included from 
libavdevice/avdevice.c:     ^19
:
In file included from ./libavutil/avassert.h:31:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:366:31: error: static declaration of 'hypot'In file included from  libavdevice/alldevices.cfollows:
23      :
non-staticIn file included from  ./libavformat/internal.hdeclaration:27
:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.hstatic inline av_const double hypot(double x, double y):
296:
                              ^In file included from 
./libavutil/common.h:491/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:
:In file included from 199./libavutil/internal.h::1768:
: ./libavutil/libm.h:444note:: 41:
       previous errordeclaration:  is statichere declaration
 of 'round' follows
      non-static declaration
double hypot(double __x, double __y);
       ^
static av_always_inline av_const double round(double x)
                                        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:251:8: note: 
      previous declaration is here
double round(double __x);
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:451:40: error: static declaration of 'roundf' follows
      non-static declaration
In file included from libavdevice/avdevice.c:19static av_always_inline av_const float roundf(float x):

In file included from ./libavutil/avassert.h                                       ^:
31:
In file included from /home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h./libavutil/avutil.h::252296::
7In file included from :./libavutil/common.h :491:
noteIn file included from : ./libavutil/internal.h:
176      :
previous ./libavutil/libm.hdeclaration: 423is: 22here: 
error: staticfloat roundf(float __x); 
declaration       ^of
 'rint' follows
      non-static declaration
static inline double rint(double x)
                     ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:239:8: note: 
      previous In file included from declarationlibavdevice/alldevices.c :is23 :
hereIn file included from ./libavformat/internal.h
:27:
In file included from ./libavformat/avformat.h:319:
In file included from double rint(double __x);./libavcodec/avcodec.h
:31       ^:

In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:458:41: error: static declaration of 'trunc' follows
      non-static declaration
In file included from libavdevice/avdevice.c:19:
In file included from ./libavutil/avassert.h:31:
static av_always_inline av_const double trunc(double x)In file included from 
./libavutil/avutil.h:                                        ^296
:
In file included from ./libavutil/common.h:/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h491::
263In file included from :./libavutil/internal.h8::176 :
./libavutil/libm.hnote:: 430:
43      :previous  declaration erroris:  here
static declaration of 'lrint' follows
double trunc(double __x);      
non-static        ^declaration

static av_always_inline av_const long int lrint(double x)
                                          ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:243:6: note: 
In file included from       libavdevice/alldevices.cprevious: 23declaration:
 In file included from is./libavformat/internal.h :here27:

In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31long lrint(double __x);:

In file included from ./libavutil/samplefmt.h     ^:
24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:465:40: error: static In file included from declarationlibavdevice/avdevice.c :of19 :
'truncf'In file included from  ./libavutil/avassert.hfollows:
31      :
non-staticIn file included from  ./libavutil/avutil.hdeclaration:296
:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:437:43: static av_always_inline av_const float truncf(float x)
error:                                        ^
static /home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.hdeclaration: 264of: 7'lrintf':  follows
      notenon-static:  declaration
      
previous declaration is here
float truncf(float __x);
      ^static av_always_inline av_const long int lrintf(float x)

                                          ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:244:6: note: 
      previous declaration is here
long lrintf(float __x);
     ^
In file included from libavdevice/avdevice.c:19:
In file included from ./libavutil/avassert.h:31:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:444:41: error: static declaration of 'round' follows
      non-static declaration
static av_always_inline av_const double round(double x)
                                        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:251:8: note: 
      previous declaration is here
double round(double __x);
       ^
In file included from libavdevice/avdevice.c:19:
In file included from ./libavutil/avassert.h:31:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:451:40: error: static declaration of 'roundf' follows
      non-static declaration
static av_always_inline av_const float roundf(float x)
                                       ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:252:7: note: 
      previous declaration is here
float roundf(float __x);
      ^
In file included from libavdevice/avdevice.c:19:
In file included from ./libavutil/avassert.h:31:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:458:41: error: static declaration of 'trunc' follows
      non-static declaration
static av_always_inline av_const double trunc(double x)
                                        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:263:8: note: 
      previous declaration is here
double trunc(double __x);
       ^
In file included from libavdevice/avdevice.c:19:
In file included from ./libavutil/avassert.h:31:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:465:40: error: static declaration of 'truncf' follows
      non-static declaration
static av_always_inline av_const float truncf(float x)
                                       ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:264:7: note: 
      previous declaration is here
float truncf(float __x);
      ^
CC	libavformat/3dostr.o
2 warnings and 12 errors generated.
make: *** [libavdevice/utils.o] Error 1
make: *** Waiting for unfinished jobs....
2 warnings and 15 errors generated.
libavdevice/avdevice.c:88:26: warning: 'av_oformat_next' is deprecated
      [-Wdeprecated-declarations]
            if (!(prev = av_oformat_next(prev)))
                         ^
./libavformat/avformat.h:2087:1: note: 'av_oformat_next' has been explicitly
      marked deprecated here
attribute_deprecated
^
./libavutil/attributes.h:94:49: note: expanded from macro 'attribute_deprecated'
#    define attribute_deprecated __attribute__((deprecated))
                                                ^
libavdevice/avdevice.c:92:26: warning: 'av_iformat_next' is deprecated
      [-Wdeprecated-declarations]
            if (!(prev = av_iformat_next(prev)))
                         ^
./libavformat/avformat.h:2079:1: note: 'av_iformat_next' has been explicitly
      marked deprecated here
attribute_deprecated
^
./libavutil/attributes.h:94:49: note: expanded from macro 'attribute_deprecated'
#    define attribute_deprecated __attribute__((deprecated))
                                                ^
make: *** [libavdevice/alldevices.o] Error 1
4 warnings and 12 errors generated.
make: *** [libavdevice/avdevice.o] Error 1
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:54:32: error: static declaration of 'cbrt' follows non-static
      declaration
static av_always_inline double cbrt(double x)
                               ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:191:8: note: 
      previous declaration is here
double cbrt(double __x);
       ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:61:31: error: static declaration of 'cbrtf' follows
      non-static declaration
static av_always_inline float cbrtf(float x)
                              ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:192:7: note: 
      previous declaration is here
float cbrtf(float __x);
      ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:68:32: error: static declaration of 'copysign' follows
      non-static declaration
static av_always_inline double copysign(double x, double y)
                               ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:279:8: note: 
      previous declaration is here
double copysign(double __value, double __sign) __attribute_const__;
       ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:121:22: error: static declaration of 'erf' follows non-static
      declaration
static inline double erf(double z)
                     ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:211:8: note: 
      previous declaration is here
double erf(double __x);
       ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:340:9: warning: 'isnan' macro redefined [-Wmacro-redefined]
#define isnan(x)                  \
        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:69:9: note: 
      previous definition is here
#define isnan(x) __builtin_isnan(x)
        ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:359:9: warning: 'isfinite' macro redefined
      [-Wmacro-redefined]
#define isfinite(x)                  \
        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:65:9: note: 
      previous definition is here
#define isfinite(x) __builtin_isfinite(x)
        ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:366:31: error: static declaration of 'hypot' follows
      non-static declaration
static inline av_const double hypot(double x, double y)
                              ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:199:8: note: 
      previous declaration is here
double hypot(double __x, double __y);
       ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:423:22: error: static declaration of 'rint' follows
      non-static declaration
static inline double rint(double x)
                     ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:239:8: note: 
      previous declaration is here
double rint(double __x);
       ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:430:43: error: static declaration of 'lrint' follows
      non-static declaration
static av_always_inline av_const long int lrint(double x)
                                          ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:243:6: note: 
      previous declaration is here
long lrint(double __x);
     ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:437:43: error: static declaration of 'lrintf' follows
      non-static declaration
static av_always_inline av_const long int lrintf(float x)
                                          ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:244:6: note: 
      previous declaration is here
long lrintf(float __x);
     ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:444:41: error: static declaration of 'round' follows
      non-static declaration
static av_always_inline av_const double round(double x)
                                        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:251:8: note: 
      previous declaration is here
double round(double __x);
       ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:451:40: error: static declaration of 'roundf' follows
      non-static declaration
static av_always_inline av_const float roundf(float x)
                                       ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:252:7: note: 
      previous declaration is here
float roundf(float __x);
      ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:458:41: error: static declaration of 'trunc' follows
      non-static declaration
static av_always_inline av_const double trunc(double x)
                                        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:263:8: note: 
      previous declaration is here
double trunc(double __x);
       ^
In file included from libavformat/3dostr.c:22:
In file included from libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:465:40: error: static declaration of 'truncf' follows
      non-static declaration
static av_always_inline av_const float truncf(float x)
                                       ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:264:7: note: 
      previous declaration is here
float truncf(float __x);
      ^
2 warnings and 12 errors generated.
make: *** [libavformat/3dostr.o] Error 1
INSTALL	doc/examples/avio_dir_cmd.c
INSTALL	doc/examples/avio_reading.c
INSTALL	doc/examples/decode_audio.c
INSTALL	doc/examples/decode_video.c
INSTALL	doc/examples/demuxing_decoding.c
INSTALL	doc/examples/encode_audio.c
INSTALL	doc/examples/encode_video.c
INSTALL	doc/examples/extract_mvs.c
INSTALL	doc/examples/filter_audio.c
INSTALL	doc/examples/filtering_audio.c
INSTALL	doc/examples/filtering_video.c
INSTALL	doc/examples/http_multiclient.c
INSTALL	doc/examples/hw_decode.c
INSTALL	doc/examples/metadata.c
INSTALL	doc/examples/muxing.c
INSTALL	doc/examples/qsvdec.c
INSTALL	doc/examples/remuxing.c
INSTALL	doc/examples/resampling_audio.c
INSTALL	doc/examples/scaling_video.c
INSTALL	doc/examples/transcode_aac.c
INSTALL	doc/examples/transcoding.c
INSTALL	doc/examples/vaapi_encode.c
INSTALL	doc/examples/vaapi_transcode.c
INSTALL	doc/examples/README
INSTALL	doc/examples/Makefile
INSTALL	doc/examples/avio_dir_cmd.c
INSTALL	doc/examples/avio_reading.c
INSTALL	doc/examples/decode_audio.c
INSTALL	doc/examples/decode_video.c
INSTALL	doc/examples/demuxing_decoding.c
INSTALL	doc/examples/encode_audio.c
INSTALL	doc/examples/encode_video.c
INSTALL	doc/examples/extract_mvs.c
INSTALL	doc/examples/filter_audio.c
INSTALL	doc/examples/filtering_audio.c
INSTALL	doc/examples/filtering_video.c
INSTALL	doc/examples/http_multiclient.c
INSTALL	doc/examples/hw_decode.c
INSTALL	doc/examples/metadata.c
INSTALL	doc/examples/muxing.c
INSTALL	doc/examples/qsvdec.c
INSTALL	doc/examples/remuxing.c
INSTALL	doc/examples/resampling_audio.c
INSTALL	doc/examples/scaling_video.c
INSTALL	doc/examples/transcode_aac.c
INSTALL	doc/examples/transcoding.c
INSTALL	doc/examples/vaapi_encode.c
INSTALL	doc/examples/vaapi_transcode.c
INSTALL	doc/examples/README
INSTALL	doc/examples/Makefile
CC	libavdevice/alldevices.o
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:39:
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/stdlib.h:61:7: error: 
      expected identifier or '('
char* getenv(const char* __name);
      ^
./config.h:17:19: note: expanded from macro 'getenv'
#define getenv(x) NULL
                  ^
/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/include/stddef.h:105:18: note: 
      expanded from macro 'NULL'
#  define NULL ((void*)0)
                 ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:39:
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/stdlib.h:61:7: error: 
      expected ')'
./config.h:17:19: note: expanded from macro 'getenv'
#define getenv(x) NULL
                  ^
/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/include/stddef.h:105:18: note: 
      expanded from macro 'NULL'
#  define NULL ((void*)0)
                 ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/stdlib.h:61:7: note: to
      match this '('
./config.h:17:19: note: expanded from macro 'getenv'
#define getenv(x) NULL
                  ^
/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/include/stddef.h:105:17: note: 
      expanded from macro 'NULL'
#  define NULL ((void*)0)
                ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:39:
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/stdlib.h:61:7: error: 
      expected ')'
char* getenv(const char* __name);
      ^
./config.h:17:19: note: expanded from macro 'getenv'
#define getenv(x) NULL
                  ^
/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/include/stddef.h:105:24: note: 
      expanded from macro 'NULL'
#  define NULL ((void*)0)
                       ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/stdlib.h:61:7: note: to
      match this '('
./config.h:17:19: note: expanded from macro 'getenv'
#define getenv(x) NULL
                  ^
/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/include/stddef.h:105:16: note: 
      expanded from macro 'NULL'
#  define NULL ((void*)0)
               ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:54:32: error: static declaration of 'cbrt' follows non-static
      declaration
static av_always_inline double cbrt(double x)
                               ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:191:8: note: 
      previous declaration is here
double cbrt(double __x);
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:61:31: error: static declaration of 'cbrtf' follows
      non-static declaration
static av_always_inline float cbrtf(float x)
                              ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:192:7: note: 
      previous declaration is here
float cbrtf(float __x);
      ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:68:32: error: static declaration of 'copysign' follows
      non-static declaration
static av_always_inline double copysign(double x, double y)
                               ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:279:8: note: 
      previous declaration is here
double copysign(double __value, double __sign) __attribute_const__;
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:121:22: error: static declaration of 'erf' follows non-static
      declaration
static inline double erf(double z)
                     ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:211:8: note: 
      previous declaration is here
double erf(double __x);
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:340:9: warning: 'isnan' macro redefined [-Wmacro-redefined]
#define isnan(x)                  \
        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:69:9: note: 
      previous definition is here
#define isnan(x) __builtin_isnan(x)
        ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:359:9: warning: 'isfinite' macro redefined
      [-Wmacro-redefined]
#define isfinite(x)                  \
        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:65:9: note: 
      previous definition is here
#define isfinite(x) __builtin_isfinite(x)
        ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:366:31: error: static declaration of 'hypot' follows
      non-static declaration
static inline av_const double hypot(double x, double y)
                              ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:199:8: note: 
      previous declaration is here
double hypot(double __x, double __y);
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:423:22: error: static declaration of 'rint' follows
      non-static declaration
static inline double rint(double x)
                     ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:239:8: note: 
      previous declaration is here
double rint(double __x);
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:430:43: error: static declaration of 'lrint' follows
      non-static declaration
static av_always_inline av_const long int lrint(double x)
                                          ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:243:6: note: 
      previous declaration is here
long lrint(double __x);
     ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:437:43: error: static declaration of 'lrintf' follows
      non-static declaration
static av_always_inline av_const long int lrintf(float x)
                                          ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:244:6: note: 
      previous declaration is here
long lrintf(float __x);
     ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:444:41: error: static declaration of 'round' follows
      non-static declaration
static av_always_inline av_const double round(double x)
                                        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:251:8: note: 
      previous declaration is here
double round(double __x);
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:451:40: error: static declaration of 'roundf' follows
      non-static declaration
static av_always_inline av_const float roundf(float x)
                                       ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:252:7: note: 
      previous declaration is here
float roundf(float __x);
      ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:458:41: error: static declaration of 'trunc' follows
      non-static declaration
static av_always_inline av_const double trunc(double x)
                                        ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:263:8: note: 
      previous declaration is here
double trunc(double __x);
       ^
In file included from libavdevice/alldevices.c:23:
In file included from ./libavformat/internal.h:27:
In file included from ./libavformat/avformat.h:319:
In file included from ./libavcodec/avcodec.h:31:
In file included from ./libavutil/samplefmt.h:24:
In file included from ./libavutil/avutil.h:296:
In file included from ./libavutil/common.h:491:
In file included from ./libavutil/internal.h:176:
./libavutil/libm.h:465:40: error: static declaration of 'truncf' follows
      non-static declaration
static av_always_inline av_const float truncf(float x)
                                       ^
/home/user/Android/Sdk/ndk-bundle/sysroot/usr/include/math.h:264:7: note: 
      previous declaration is here
float truncf(float __x);
      ^
2 warnings and 15 errors generated.
make: *** [libavdevice/alldevices.o] Error 1
user@user-PC:~/Android/Sdk/ndk-bundle/sources/ffmpeg$ ^C
user@user-PC:~/Android/Sdk/ndk-bundle/sources/ffmpeg$ 

how libvideokit.so file generated

I have followed your steps to generate .so files, the so file is generated for following library:
libavcodec, libavdevice, libavfilter, libavformat, libavutil, libswresample, libswscale

but how the libvideokit.so file generated. I did not get this file.

Please help

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.