Recherche avancée

Médias (0)

Mot : - Tags -/presse-papier

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (36)

  • Demande de création d’un canal

    12 mars 2010, par

    En fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
    Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (3292)

  • Build latest version of FFMPEG with libx264 Android

    12 novembre 2016, par Biraj Zalavadia

    I was able to Build FFMPEG with libx264 Android successfully and was working well before 2 months.

    I uses halfninja for building.

    Today I take latest source of ffmpeg and libX264 from here.

    git clone git://git.videolan.org/x264.git

    git clone git://git.videolan.org/ffmpeg.git

    And try to rebuild whole project. But now it throws following errors.

    ffmpeg.c:2406: error: undefined reference to 'hwaccels'
    ffmpeg.c:3390: error: undefined reference to 'qp_hist'
    ffmpeg.c:3390: error: undefined reference to 'do_hex_dump'
    ffmpeg.c:3390: error: undefined reference to 'do_pkt_dump'
    ffmpeg.c:576: error: undefined reference to 'do_benchmark_all'
    ffmpeg.c:657: error: undefined reference to 'audio_sync_method'
    ffmpeg.c:1222: error: undefined reference to 'vstats_filename'
    ffmpeg.c:972: error: undefined reference to 'frame_drop_threshold'
    ffmpeg.c:1181: error: undefined reference to 'debug_ts'
    ffmpeg.c:2742: error: undefined reference to 'copy_tb'
    ffmpeg.c:2846: error: undefined reference to 'audio_volume'
    ffmpeg.c:2862: error: undefined reference to 'init_simple_filtergraph'
    ffmpeg.c:2863: error: undefined reference to 'configure_filtergraph'
    ffmpeg.c:2923: error: undefined reference to 'video_sync_method'
    ffmpeg.c:2538: error: undefined reference to 'frame_bits_per_raw_sample'
    ffmpeg.c:3258: error: undefined reference to 'sdp_filename'
    ffmpeg.c:2087: error: undefined reference to 'ist_in_filtergraph'
    ffmpeg.c:4069: error: undefined reference to 'ffmpeg_parse_options'
    ffmpeg.c:4074: error: undefined reference to 'show_usage'
    ffmpeg.c:3303: error: undefined reference to 'options'
    ffmpeg.c:3303: error: undefined reference to 'stdin_interaction'
    ffmpeg.c:2553: error: undefined reference to 'exit_on_error'
    ffmpeg.c:2553: error: undefined reference to 'do_pkt_dump'
    ffmpeg.c:2553: error: undefined reference to 'do_hex_dump'
    ffmpeg.c:3727: error: undefined reference to 'copy_ts'
    ffmpeg.c:3727: error: undefined reference to 'dts_delta_threshold'
    ffmpeg.c:268: error: undefined reference to 'dts_error_threshold'
    ffmpeg.c:3976: error: undefined reference to 'print_stats'
    ffmpeg.c:1694: error: undefined reference to 'do_benchmark'
    ffmpeg.c:1694: error: undefined reference to 'max_error_rate'

    Please help me out to resolve this.

    Please look at my script.

    build_android.sh

    #!/bin/bash
    #
    # build_android.sh
    # Copyright (c) 2012 Jacek Marchwicki
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.

    export NDK=/home/tasol/DEVELOPMENT/IJOOMER_DEVELOPMENT/NDK/android-ndk-r10d

    if [ "$NDK" = "" ]; then
       echo NDK variable not set, exiting
       echo "Use: export NDK=/your/path/to/android-ndk"
       exit 1
    fi

    OS=`uname -s | tr '[A-Z]' '[a-z]'`
    function build_x264
    {
       PLATFORM=$NDK/platforms/$PLATFORM_VERSION/arch-$ARCH/
       export PATH=${PATH}:$PREBUILT/bin/
       CROSS_COMPILE=$PREBUILT/bin/$EABIARCH-
       CFLAGS=$OPTIMIZE_CFLAGS
    #CFLAGS=" -I$ARM_INC -fpic -DANDROID -fpic -mthumb-interwork -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__  -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID  -Wa,--noexecstack -MMD -MP "
       export CPPFLAGS="$CFLAGS"
       export CFLAGS="$CFLAGS"
       export CXXFLAGS="$CFLAGS"
       export CXX="${CROSS_COMPILE}g++ --sysroot=$PLATFORM"
       export AS="${CROSS_COMPILE}gcc --sysroot=$PLATFORM"
       export CC="${CROSS_COMPILE}gcc --sysroot=$PLATFORM"
       export NM="${CROSS_COMPILE}nm"
       export STRIP="${CROSS_COMPILE}strip"
       export RANLIB="${CROSS_COMPILE}ranlib"
       export AR="${CROSS_COMPILE}ar"
       #export LDFLAGS="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog"

       cd x264
       ./configure --disable-asm --prefix=$(pwd)/$PREFIX --host=$ARCH-linux --enable-static $ADDITIONAL_CONFIGURE_FLAG || exit 1

       make clean || exit 1
       make -j4 install || exit 1
       cd ..
    }

    function build_ffmpeg
    {
       PLATFORM=$NDK/platforms/$PLATFORM_VERSION/arch-$ARCH/
       CC=$PREBUILT/bin/$EABIARCH-gcc
       CROSS_PREFIX=$PREBUILT/bin/$EABIARCH-
       PKG_CONFIG=${CROSS_PREFIX}pkg-config
       if [ ! -f $PKG_CONFIG ];
       then
           cat > $PKG_CONFIG << EOF
    #!/bin/bash
    pkg-config \$*
    EOF
           chmod u+x $PKG_CONFIG
       fi
       NM=$PREBUILT/bin/$EABIARCH-nm
       cd ffmpeg
       export PKG_CONFIG_LIBDIR=$(pwd)/$PREFIX/lib/pkgconfig/
       export PKG_CONFIG_PATH=$(pwd)/$PREFIX/lib/pkgconfig/
       ./configure --target-os=linux \
           --prefix=$PREFIX \
           --enable-cross-compile \
           --extra-libs="-lgcc" \
           --arch=$ARCH \
           --cc=$CC \
           --cross-prefix=$CROSS_PREFIX \
           --nm=$NM \
           --sysroot=$PLATFORM \
           --extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums  -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS " \
           --disable-shared \
           --disable-stripping \
           --enable-static \
           --enable-runtime-cpudetect \
           --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib  -nostdlib -lc -lm -ldl -llog -L$PREFIX/lib" \
           --extra-cflags="-I$PREFIX/include" \
               --enable-gpl \
           --enable-encoder=libx264 \
           --enable-libx264 \
           --enable-parser=mjpeg \
           --enable-demuxer=image2 \
           --enable-hwaccel=h264_vaapi \
           --enable-hwaccel=h264_vaapi \
           --enable-hwaccel=h264_dxva2 \
           --enable-hwaccel=mpeg4_vaapi \
           --enable-demuxer=mov \
           --enable-demuxer=h264 \
           --enable-demuxer=mpegvideo \
           --enable-demuxer=h263 \
           --enable-demuxer=mpegps \
           --enable-demuxer=mjpeg \
           --enable-demuxer=rtsp \
           --enable-demuxer=rtp \
           --enable-demuxer=hls \
           --enable-demuxer=matroska \
           --enable-muxer=rtsp \
           --enable-muxer=mp4 \
           --enable-muxer=mov \
           --enable-muxer=mjpeg \
           --enable-muxer=matroska \
           --enable-protocol=crypto \
           --enable-protocol=jni \
           --enable-protocol=file \
           --disable-network \
               --enable-filter=buffer \
           --enable-filter=buffersink \
           --enable-filter=scale \
           --enable-protocol=rtp \
           --enable-protocol=tcp \
           --enable-protocol=udp \
           --enable-protocol=applehttp \
           --enable-protocol=hls \
           --enable-protocol=http \
           --enable-decoder=xsub \
           --enable-decoder=jacosub \
           --enable-decoder=dvdsub \
           --enable-decoder=dvbsub \
           --enable-decoder=subviewer \
           --enable-decoder=rawvideo \
           --enable-encoder=rawvideo \
           --enable-decoder=mjpeg \
           --enable-encoder=mjpeg \
           --enable-decoder=h263 \
           --enable-decoder=mpeg4 \
           --enable-encoder=mpeg4 \
           --enable-decoder=h264 \
           --enable-encoder=h264 \
           --enable-decoder=aac \
           --enable-encoder=aac \
           --enable-parser=h264 \
           --enable-encoder=mp2 \
           --enable-decoder=mp2 \
           --enable-encoder=libvo_amrwbenc \
           --enable-decoder=amrwb \
           --enable-muxer=mp2 \
           --enable-bsfs \
           --enable-decoders \
           --enable-encoders \
           --enable-parsers \
           --enable-hwaccels \
           --enable-muxers \
           --enable-avformat \
           --enable-avcodec \
           --disable-demuxer=v4l \
           --disable-demuxer=v4l2 \
           --disable-indev=v4l \
           --disable-indev=v4l2 \
           --disable-ffplay \
           --disable-ffmpeg \
           --disable-ffplay \
           --disable-ffprobe \
           --disable-ffserver \
           --enable-nonfree \
           --enable-version3 \
           --enable-memalign-hack \
           --disable-asm \
           $ADDITIONAL_CONFIGURE_FLAG \
           || exit 1
       make clean || exit 1
       make -j4 install || exit 1

       cd ..
    }

    function build_one {
       cd ffmpeg
       cd ..
    }

    #arm v5
    EABIARCH=arm-linux-androideabi
    ARCH=arm
    CPU=armv5
    OPTIMIZE_CFLAGS="-marm -march=$CPU"
    PREFIX=../ffmpeg-build/armeabi
    OUT_LIBRARY=$PREFIX/libffmpeg.so
    ADDITIONAL_CONFIGURE_FLAG=
    SONAME=libffmpeg.so
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/$OS-x86_64
    #PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/$OS-x86
    PLATFORM_VERSION=android-5
    build_x264
    build_ffmpeg
    build_one


    #arm v7vfpv3
    #EABIARCH=arm-linux-androideabi
    #ARCH=arm
    #CPU=armv7-a
    #OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=$CPU "
    #PREFIX=../ffmpeg-build/armeabi-v7a
    #OUT_LIBRARY=$PREFIX/libffmpeg.so
    #ADDITIONAL_CONFIGURE_FLAG=
    #SONAME=libffmpeg.so
    #PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/$OS-x86_64
    #PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/$OS-x86
    #PLATFORM_VERSION=android-5
    #build_x264
    #build_ffmpeg
    #build_one

    #arm v7 + neon (neon also include vfpv3-32)
    EABIARCH=arm-linux-androideabi
    ARCH=arm
    CPU=armv7-a
    OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -march=$CPU -mtune=cortex-a8 -mthumb -D__thumb__ "
    PREFIX=../ffmpeg-build/armeabi-v7a
    #PREFIX=../ffmpeg-build/armeabi-v7a-neon
    OUT_LIBRARY=../ffmpeg-build/armeabi-v7a/libffmpeg-neon.so
    ADDITIONAL_CONFIGURE_FLAG=--enable-neon
    SONAME=libffmpeg-neon.so
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/$OS-x86_64
    #PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/$OS-x86
    PLATFORM_VERSION=android-9
    build_x264
    build_ffmpeg
    build_one

    #x86
    EABIARCH=i686-linux-android
    ARCH=x86
    OPTIMIZE_CFLAGS="-m32"
    PREFIX=../ffmpeg-build/x86
    OUT_LIBRARY=$PREFIX/libffmpeg.so
    ADDITIONAL_CONFIGURE_FLAG=--disable-asm
    SONAME=libffmpeg.so
    PREBUILT=$NDK/toolchains/x86-4.8/prebuilt/$OS-x86_64
    #PREBUILT=$NDK/toolchains/x86-4.6/prebuilt/$OS-x86
    PLATFORM_VERSION=android-9
    build_x264
    build_ffmpeg
    build_one

    #mips
    EABIARCH=mipsel-linux-android
    ARCH=mips
    OPTIMIZE_CFLAGS="-EL -march=mips32 -mips32 -mhard-float"
    PREFIX=../ffmpeg-build/mips
    OUT_LIBRARY=$PREFIX/libffmpeg.so
    ADDITIONAL_CONFIGURE_FLAG=""
    SONAME=libffmpeg.so
    PREBUILT=$NDK/toolchains/mipsel-linux-android-4.8/prebuilt/$OS-x86_64
    #PREBUILT=$NDK/toolchains/mipsel-linux-android-4.6/prebuilt/$OS-x86
    PLATFORM_VERSION=android-9
    build_x264
    build_ffmpeg
    build_one

    build_all.sh

    #!/bin/bash
    #
    # build_all.sh

    export NDK=/home/tasol/DEVELOPMENT/IJOOMER_DEVELOPMENT/NDK/android-ndk-r10d
    sudo ./build_android.sh
    $NDK/ndk-build

    echo "Done Dona Done!!!"

    Android.mk

    LOCAL_PATH := $(call my-dir)

    include $(CLEAR_VARS)
    LOCAL_MODULE  := videokit
    # These need to be in the right order
    FFMPEG_LIBS := $(addprefix ffmpeg-build/$(TARGET_ARCH_ABI)/lib/, \
    libavdevice.a \
    libavformat.a \
    libavfilter.a \
    libavcodec.a \
    libswscale.a \
    libavutil.a \
    libswresample.a \
    libpostproc.a )
    # ffmpeg uses its own deprecated functions liberally, so turn off that annoying noise
    LOCAL_CFLAGS += -g -Iffmpeg -Ivideokit -Wno-deprecated-declarations
    LOCAL_LDLIBS += -llog -lz $(FFMPEG_LIBS) ffmpeg-build/$(TARGET_ARCH_ABI)/lib/libx264.a
    LOCAL_SRC_FILES := videokit/uk_co_halfninja_videokit_Videokit.c videokit/ffmpeg.c videokit/cmdutils.c
    include $(BUILD_SHARED_LIBRARY)


    include $(CLEAR_VARS)
    LOCAL_MODULE  := ffmpeg
    FFMPEG_LIBS := $(addprefix ffmpeg-build/$(TARGET_ARCH_ABI)/lib/, \
    libavdevice.a \
    libavformat.a \
    libavfilter.a \
    libavcodec.a \
    libswscale.a \
    libavutil.a \
    libswresample.a \
    libpostproc.a )
    LOCAL_CFLAGS += -g -Iffmpeg -Ivideokit -Wno-deprecated-declarations
    LOCAL_LDLIBS += -llog -lz $(FFMPEG_LIBS) ffmpeg-build/$(TARGET_ARCH_ABI)/lib/libx264.a
    LOCAL_SRC_FILES := ffmpeg/ffmpeg.c ffmpeg/cmdutils.c
    include $(BUILD_EXECUTABLE)

    Application.mk

    APP_ABI := armeabi,armeabi-v7a,x86,mips
    APP_PLATFORM := android-10
    APP_STL := gnustl_static

    UPDATE

    Finally Got success

  • Build latest version of FFMPEG with libx264 Android

    12 novembre 2016, par Biraj Zalavadia

    I was able to Build FFMPEG with libx264 Android successfully and was working well before 2 months.

    I uses halfninja for building.

    Today I take latest source of ffmpeg and libX264 from here.

    git clone git://git.videolan.org/x264.git

    git clone git://git.videolan.org/ffmpeg.git

    And try to rebuild whole project. But now it throws following errors.

    ffmpeg.c:2406: error: undefined reference to 'hwaccels'
    ffmpeg.c:3390: error: undefined reference to 'qp_hist'
    ffmpeg.c:3390: error: undefined reference to 'do_hex_dump'
    ffmpeg.c:3390: error: undefined reference to 'do_pkt_dump'
    ffmpeg.c:576: error: undefined reference to 'do_benchmark_all'
    ffmpeg.c:657: error: undefined reference to 'audio_sync_method'
    ffmpeg.c:1222: error: undefined reference to 'vstats_filename'
    ffmpeg.c:972: error: undefined reference to 'frame_drop_threshold'
    ffmpeg.c:1181: error: undefined reference to 'debug_ts'
    ffmpeg.c:2742: error: undefined reference to 'copy_tb'
    ffmpeg.c:2846: error: undefined reference to 'audio_volume'
    ffmpeg.c:2862: error: undefined reference to 'init_simple_filtergraph'
    ffmpeg.c:2863: error: undefined reference to 'configure_filtergraph'
    ffmpeg.c:2923: error: undefined reference to 'video_sync_method'
    ffmpeg.c:2538: error: undefined reference to 'frame_bits_per_raw_sample'
    ffmpeg.c:3258: error: undefined reference to 'sdp_filename'
    ffmpeg.c:2087: error: undefined reference to 'ist_in_filtergraph'
    ffmpeg.c:4069: error: undefined reference to 'ffmpeg_parse_options'
    ffmpeg.c:4074: error: undefined reference to 'show_usage'
    ffmpeg.c:3303: error: undefined reference to 'options'
    ffmpeg.c:3303: error: undefined reference to 'stdin_interaction'
    ffmpeg.c:2553: error: undefined reference to 'exit_on_error'
    ffmpeg.c:2553: error: undefined reference to 'do_pkt_dump'
    ffmpeg.c:2553: error: undefined reference to 'do_hex_dump'
    ffmpeg.c:3727: error: undefined reference to 'copy_ts'
    ffmpeg.c:3727: error: undefined reference to 'dts_delta_threshold'
    ffmpeg.c:268: error: undefined reference to 'dts_error_threshold'
    ffmpeg.c:3976: error: undefined reference to 'print_stats'
    ffmpeg.c:1694: error: undefined reference to 'do_benchmark'
    ffmpeg.c:1694: error: undefined reference to 'max_error_rate'

    Please help me out to resolve this.

    Please look at my script.

    build_android.sh

    #!/bin/bash
    #
    # build_android.sh
    # Copyright (c) 2012 Jacek Marchwicki
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.

    export NDK=/home/tasol/DEVELOPMENT/IJOOMER_DEVELOPMENT/NDK/android-ndk-r10d

    if [ "$NDK" = "" ]; then
       echo NDK variable not set, exiting
       echo "Use: export NDK=/your/path/to/android-ndk"
       exit 1
    fi

    OS=`uname -s | tr '[A-Z]' '[a-z]'`
    function build_x264
    {
       PLATFORM=$NDK/platforms/$PLATFORM_VERSION/arch-$ARCH/
       export PATH=${PATH}:$PREBUILT/bin/
       CROSS_COMPILE=$PREBUILT/bin/$EABIARCH-
       CFLAGS=$OPTIMIZE_CFLAGS
    #CFLAGS=" -I$ARM_INC -fpic -DANDROID -fpic -mthumb-interwork -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__  -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID  -Wa,--noexecstack -MMD -MP "
       export CPPFLAGS="$CFLAGS"
       export CFLAGS="$CFLAGS"
       export CXXFLAGS="$CFLAGS"
       export CXX="${CROSS_COMPILE}g++ --sysroot=$PLATFORM"
       export AS="${CROSS_COMPILE}gcc --sysroot=$PLATFORM"
       export CC="${CROSS_COMPILE}gcc --sysroot=$PLATFORM"
       export NM="${CROSS_COMPILE}nm"
       export STRIP="${CROSS_COMPILE}strip"
       export RANLIB="${CROSS_COMPILE}ranlib"
       export AR="${CROSS_COMPILE}ar"
       #export LDFLAGS="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog"

       cd x264
       ./configure --disable-asm --prefix=$(pwd)/$PREFIX --host=$ARCH-linux --enable-static $ADDITIONAL_CONFIGURE_FLAG || exit 1

       make clean || exit 1
       make -j4 install || exit 1
       cd ..
    }

    function build_ffmpeg
    {
       PLATFORM=$NDK/platforms/$PLATFORM_VERSION/arch-$ARCH/
       CC=$PREBUILT/bin/$EABIARCH-gcc
       CROSS_PREFIX=$PREBUILT/bin/$EABIARCH-
       PKG_CONFIG=${CROSS_PREFIX}pkg-config
       if [ ! -f $PKG_CONFIG ];
       then
           cat > $PKG_CONFIG << EOF
    #!/bin/bash
    pkg-config \$*
    EOF
           chmod u+x $PKG_CONFIG
       fi
       NM=$PREBUILT/bin/$EABIARCH-nm
       cd ffmpeg
       export PKG_CONFIG_LIBDIR=$(pwd)/$PREFIX/lib/pkgconfig/
       export PKG_CONFIG_PATH=$(pwd)/$PREFIX/lib/pkgconfig/
       ./configure --target-os=linux \
           --prefix=$PREFIX \
           --enable-cross-compile \
           --extra-libs="-lgcc" \
           --arch=$ARCH \
           --cc=$CC \
           --cross-prefix=$CROSS_PREFIX \
           --nm=$NM \
           --sysroot=$PLATFORM \
           --extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums  -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS " \
           --disable-shared \
           --disable-stripping \
           --enable-static \
           --enable-runtime-cpudetect \
           --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib  -nostdlib -lc -lm -ldl -llog -L$PREFIX/lib" \
           --extra-cflags="-I$PREFIX/include" \
               --enable-gpl \
           --enable-encoder=libx264 \
           --enable-libx264 \
           --enable-parser=mjpeg \
           --enable-demuxer=image2 \
           --enable-hwaccel=h264_vaapi \
           --enable-hwaccel=h264_vaapi \
           --enable-hwaccel=h264_dxva2 \
           --enable-hwaccel=mpeg4_vaapi \
           --enable-demuxer=mov \
           --enable-demuxer=h264 \
           --enable-demuxer=mpegvideo \
           --enable-demuxer=h263 \
           --enable-demuxer=mpegps \
           --enable-demuxer=mjpeg \
           --enable-demuxer=rtsp \
           --enable-demuxer=rtp \
           --enable-demuxer=hls \
           --enable-demuxer=matroska \
           --enable-muxer=rtsp \
           --enable-muxer=mp4 \
           --enable-muxer=mov \
           --enable-muxer=mjpeg \
           --enable-muxer=matroska \
           --enable-protocol=crypto \
           --enable-protocol=jni \
           --enable-protocol=file \
           --disable-network \
               --enable-filter=buffer \
           --enable-filter=buffersink \
           --enable-filter=scale \
           --enable-protocol=rtp \
           --enable-protocol=tcp \
           --enable-protocol=udp \
           --enable-protocol=applehttp \
           --enable-protocol=hls \
           --enable-protocol=http \
           --enable-decoder=xsub \
           --enable-decoder=jacosub \
           --enable-decoder=dvdsub \
           --enable-decoder=dvbsub \
           --enable-decoder=subviewer \
           --enable-decoder=rawvideo \
           --enable-encoder=rawvideo \
           --enable-decoder=mjpeg \
           --enable-encoder=mjpeg \
           --enable-decoder=h263 \
           --enable-decoder=mpeg4 \
           --enable-encoder=mpeg4 \
           --enable-decoder=h264 \
           --enable-encoder=h264 \
           --enable-decoder=aac \
           --enable-encoder=aac \
           --enable-parser=h264 \
           --enable-encoder=mp2 \
           --enable-decoder=mp2 \
           --enable-encoder=libvo_amrwbenc \
           --enable-decoder=amrwb \
           --enable-muxer=mp2 \
           --enable-bsfs \
           --enable-decoders \
           --enable-encoders \
           --enable-parsers \
           --enable-hwaccels \
           --enable-muxers \
           --enable-avformat \
           --enable-avcodec \
           --disable-demuxer=v4l \
           --disable-demuxer=v4l2 \
           --disable-indev=v4l \
           --disable-indev=v4l2 \
           --disable-ffplay \
           --disable-ffmpeg \
           --disable-ffplay \
           --disable-ffprobe \
           --disable-ffserver \
           --enable-nonfree \
           --enable-version3 \
           --enable-memalign-hack \
           --disable-asm \
           $ADDITIONAL_CONFIGURE_FLAG \
           || exit 1
       make clean || exit 1
       make -j4 install || exit 1

       cd ..
    }

    function build_one {
       cd ffmpeg
       cd ..
    }

    #arm v5
    EABIARCH=arm-linux-androideabi
    ARCH=arm
    CPU=armv5
    OPTIMIZE_CFLAGS="-marm -march=$CPU"
    PREFIX=../ffmpeg-build/armeabi
    OUT_LIBRARY=$PREFIX/libffmpeg.so
    ADDITIONAL_CONFIGURE_FLAG=
    SONAME=libffmpeg.so
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/$OS-x86_64
    #PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/$OS-x86
    PLATFORM_VERSION=android-5
    build_x264
    build_ffmpeg
    build_one


    #arm v7vfpv3
    #EABIARCH=arm-linux-androideabi
    #ARCH=arm
    #CPU=armv7-a
    #OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=$CPU "
    #PREFIX=../ffmpeg-build/armeabi-v7a
    #OUT_LIBRARY=$PREFIX/libffmpeg.so
    #ADDITIONAL_CONFIGURE_FLAG=
    #SONAME=libffmpeg.so
    #PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/$OS-x86_64
    #PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/$OS-x86
    #PLATFORM_VERSION=android-5
    #build_x264
    #build_ffmpeg
    #build_one

    #arm v7 + neon (neon also include vfpv3-32)
    EABIARCH=arm-linux-androideabi
    ARCH=arm
    CPU=armv7-a
    OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -march=$CPU -mtune=cortex-a8 -mthumb -D__thumb__ "
    PREFIX=../ffmpeg-build/armeabi-v7a
    #PREFIX=../ffmpeg-build/armeabi-v7a-neon
    OUT_LIBRARY=../ffmpeg-build/armeabi-v7a/libffmpeg-neon.so
    ADDITIONAL_CONFIGURE_FLAG=--enable-neon
    SONAME=libffmpeg-neon.so
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/$OS-x86_64
    #PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/$OS-x86
    PLATFORM_VERSION=android-9
    build_x264
    build_ffmpeg
    build_one

    #x86
    EABIARCH=i686-linux-android
    ARCH=x86
    OPTIMIZE_CFLAGS="-m32"
    PREFIX=../ffmpeg-build/x86
    OUT_LIBRARY=$PREFIX/libffmpeg.so
    ADDITIONAL_CONFIGURE_FLAG=--disable-asm
    SONAME=libffmpeg.so
    PREBUILT=$NDK/toolchains/x86-4.8/prebuilt/$OS-x86_64
    #PREBUILT=$NDK/toolchains/x86-4.6/prebuilt/$OS-x86
    PLATFORM_VERSION=android-9
    build_x264
    build_ffmpeg
    build_one

    #mips
    EABIARCH=mipsel-linux-android
    ARCH=mips
    OPTIMIZE_CFLAGS="-EL -march=mips32 -mips32 -mhard-float"
    PREFIX=../ffmpeg-build/mips
    OUT_LIBRARY=$PREFIX/libffmpeg.so
    ADDITIONAL_CONFIGURE_FLAG=""
    SONAME=libffmpeg.so
    PREBUILT=$NDK/toolchains/mipsel-linux-android-4.8/prebuilt/$OS-x86_64
    #PREBUILT=$NDK/toolchains/mipsel-linux-android-4.6/prebuilt/$OS-x86
    PLATFORM_VERSION=android-9
    build_x264
    build_ffmpeg
    build_one

    build_all.sh

    #!/bin/bash
    #
    # build_all.sh

    export NDK=/home/tasol/DEVELOPMENT/IJOOMER_DEVELOPMENT/NDK/android-ndk-r10d
    sudo ./build_android.sh
    $NDK/ndk-build

    echo "Done Dona Done!!!"

    Android.mk

    LOCAL_PATH := $(call my-dir)

    include $(CLEAR_VARS)
    LOCAL_MODULE  := videokit
    # These need to be in the right order
    FFMPEG_LIBS := $(addprefix ffmpeg-build/$(TARGET_ARCH_ABI)/lib/, \
    libavdevice.a \
    libavformat.a \
    libavfilter.a \
    libavcodec.a \
    libswscale.a \
    libavutil.a \
    libswresample.a \
    libpostproc.a )
    # ffmpeg uses its own deprecated functions liberally, so turn off that annoying noise
    LOCAL_CFLAGS += -g -Iffmpeg -Ivideokit -Wno-deprecated-declarations
    LOCAL_LDLIBS += -llog -lz $(FFMPEG_LIBS) ffmpeg-build/$(TARGET_ARCH_ABI)/lib/libx264.a
    LOCAL_SRC_FILES := videokit/uk_co_halfninja_videokit_Videokit.c videokit/ffmpeg.c videokit/cmdutils.c
    include $(BUILD_SHARED_LIBRARY)


    include $(CLEAR_VARS)
    LOCAL_MODULE  := ffmpeg
    FFMPEG_LIBS := $(addprefix ffmpeg-build/$(TARGET_ARCH_ABI)/lib/, \
    libavdevice.a \
    libavformat.a \
    libavfilter.a \
    libavcodec.a \
    libswscale.a \
    libavutil.a \
    libswresample.a \
    libpostproc.a )
    LOCAL_CFLAGS += -g -Iffmpeg -Ivideokit -Wno-deprecated-declarations
    LOCAL_LDLIBS += -llog -lz $(FFMPEG_LIBS) ffmpeg-build/$(TARGET_ARCH_ABI)/lib/libx264.a
    LOCAL_SRC_FILES := ffmpeg/ffmpeg.c ffmpeg/cmdutils.c
    include $(BUILD_EXECUTABLE)

    Application.mk

    APP_ABI := armeabi,armeabi-v7a,x86,mips
    APP_PLATFORM := android-10
    APP_STL := gnustl_static

    UPDATE

    Finally Got success

  • PLAYBACK AUDIO USING FFMPEG in C [on hold]

    4 avril 2019, par GOBI
    I have some Errors in the Below code. what can I do to run this code?

    #include
    #include
    #include
    #include
    #include <sys></sys>types.h>

    #include
    #include <alsa></alsa>asoundlib.h>

    #include <libavutil></libavutil>opt.h>
    #include <libavutil></libavutil>mem.h>
    #include <libavcodec></libavcodec>avcodec.h>  
    #include <libavformat></libavformat>avformat.h>
    #include <libavutil></libavutil>samplefmt.h>
    #include <libswresample></libswresample>swresample.h>

    #define INBUF_SIZE          4096
    #define AUDIO_INBUF_SIZE    20480
    #define AUDIO_REFILL_THRESH 4096
    #define FF_INPUT_BUFFER_PADDING_SIZE 4096


    void audio_decode_file(const char *outfilename, const char *filename)
    {
       AVCodec *codec;
       AVCodecContext *c= NULL;
       int len;
       FILE *f, *outfile;
       uint8_t inbuf[AUDIO_INBUF_SIZE + FF_INPUT_BUFFER_PADDING_SIZE];
       AVPacket avpkt;
       AVFrame *decoded_frame = NULL;

       av_init_packet(&amp;avpkt);

       printf("Decode audio file %s to %s\n", filename, outfilename);

       /* find the mpeg audio decoder */
       codec = avcodec_find_decoder(AV_CODEC_ID_MP3);
       if (!codec) {
           printf("Codec not found\n");
           exit(1);
       }

       c = avcodec_alloc_context3(codec);
       if (!c) {
           printf("Could not allocate audio codec context\n");
           exit(1);
       }

       /* open it */
       if (avcodec_open2(c, codec, NULL) &lt; 0) {
           printf("Could not open codec\n");
           exit(1);
       }

       f = fopen(filename, "rb");
       if (!f) {
           printf("Could not open %s\n", filename);
           exit(1);
       }
       outfile = fopen(outfilename, "wb");
       if (!outfile) {
           av_free(c);
           exit(1);
       }

       /* decode until eof */
       avpkt.data = inbuf;
       avpkt.size = fread(inbuf, 1, AUDIO_INBUF_SIZE, f);

       while (avpkt.size > 0) {
           int got_frame = 0;

           if (!decoded_frame) {
               if (!(decoded_frame = av_frame_alloc())) {
                   printf("Could not allocate audio frame\n");
                   exit(1);
               }
           }

           len = avcodec_decode_audio4(c, decoded_frame, &amp;got_frame, &amp;avpkt);
           if (len &lt; 0) {
               printf("Error while decoding\n");
               exit(1);
           }
           if (got_frame) {
               /* if a frame has been decoded, output it */
               int data_size = av_samples_get_buffer_size(NULL, c->channels,
                                                          decoded_frame->nb_samples,
                                                          c->sample_fmt, 1);
               if (data_size &lt; 0) {
                   /* This should not occur, checking just for paranoia */
                   printf("Failed to calculate data size\n");
                   exit(1);
               }
               fwrite(decoded_frame->data[0], 1, data_size, outfile);
           }
           avpkt.size -= len;
           avpkt.data += len;
           avpkt.dts =
           avpkt.pts = AV_NOPTS_VALUE;
           if (avpkt.size &lt; AUDIO_REFILL_THRESH) {
               /* Refill the input buffer, to avoid trying to decode
                * incomplete frames. Instead of this, one could also use
                * a parser, or use a proper container format through
                * libavformat. */
               memmove(inbuf, avpkt.data, avpkt.size);
               avpkt.data = inbuf;
               len = fread(avpkt.data + avpkt.size, 1,
                           AUDIO_INBUF_SIZE - avpkt.size, f);
               if (len > 0)
                   avpkt.size += len;
           }
       }

       fclose(outfile);
       fclose(f);

       avcodec_close(c);
       av_free(c);
       av_frame_free(&amp;decoded_frame);
    }

    int snd_ctl_set_volume(int val)
    {
       int err;  
       int orig_volume = 0;
       //unsigned int count;
       static snd_ctl_t *handle = NULL;  
       snd_ctl_elem_info_t *info;  
       snd_ctl_elem_id_t *id;  
       snd_ctl_elem_value_t *control;  
       //snd_ctl_elem_type_t type;

       snd_ctl_elem_info_alloca(&amp;info);  
       snd_ctl_elem_id_alloca(&amp;id);  
       snd_ctl_elem_value_alloca(&amp;control);    

       snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER);
       snd_ctl_elem_id_set_name(id, "Headphone Playback Volume");
       // snd_ctl_elem_id_set_name(id, "PCM Playback Volume");
       // snd_ctl_elem_id_set_index(id, 1);  // "Mic Capture Volume" does not have index.  

       if ((err = snd_ctl_open(&amp;handle, "default", 0)) &lt; 0) {
           printf("Control open error: %s\n", snd_strerror(err));
           return -1;
       }  

       snd_ctl_elem_info_set_id(info, id);  
       if ((err = snd_ctl_elem_info(handle, info)) &lt; 0) {  
           printf("Cannot find the given element from control: %s\n", snd_strerror(err));  
           snd_ctl_close(handle);
           return -1;
       }

       //type = snd_ctl_elem_info_get_type(info);  
       //count = snd_ctl_elem_info_get_count(info);

       snd_ctl_elem_value_set_id(control, id);  

       if (!snd_ctl_elem_read(handle, control)) {  
           orig_volume = snd_ctl_elem_value_get_integer(control, 0);
       }

       if(val != orig_volume) {  
           printf("new_value(%d) orgin_value(%d)\n", val, orig_volume);
           snd_ctl_elem_value_set_integer(control, 0, (long)(val));
           snd_ctl_elem_value_set_integer(control, 1, (long)(val));

           if ((err = snd_ctl_elem_write(handle, control)) &lt; 0) {  
               printf("Control element write error: %s\n", snd_strerror(err));  
               snd_ctl_close(handle);  
               return -1;
           }
       }  
       snd_ctl_close(handle);  
       return 0;
    }

    snd_pcm_t *pcm_init(int bitrate)
    {
       int res;
       unsigned int val;

       snd_pcm_t *handle;
       snd_pcm_hw_params_t *params;
       // snd_pcm_uframes_t frames;

       res = snd_pcm_open(&amp;handle, "default", SND_PCM_STREAM_PLAYBACK, 0);
       //res = snd_pcm_open(&amp;handle, "plug:dmixer", SND_PCM_STREAM_PLAYBACK, 0);
       if (res &lt; 0) {
           printf("unable to open pcm device: %s\n", snd_strerror(res));
           return NULL;
       }

       snd_pcm_hw_params_alloca(&amp;params);
       snd_pcm_hw_params_any(handle, params);
       snd_pcm_hw_params_set_access(handle, params, SND_PCM_ACCESS_RW_INTERLEAVED);
       snd_pcm_hw_params_set_format(handle, params, SND_PCM_FORMAT_S16_LE);
       snd_pcm_hw_params_set_channels(handle, params, 2);

       val = bitrate - 1;
       snd_pcm_hw_params_set_rate_near(handle, params, &amp;val, 0);

       unsigned period_time = 0;
       unsigned buffer_time = 0;
       snd_pcm_hw_params_get_buffer_time_max(params, &amp;buffer_time, 0);
       if (buffer_time > 500000) buffer_time = 500000;
       period_time = buffer_time >> 2;
       snd_pcm_hw_params_set_period_time_near(handle, params, &amp;period_time, 0);
       snd_pcm_hw_params_set_buffer_time_near(handle, params, &amp;buffer_time, 0);
       //frames = 32;
       //snd_pcm_hw_params_set_period_size_near(handle, params, &amp;frames, &amp;dir);
       res = snd_pcm_hw_params(handle, params);
       if (res &lt; 0) {
           printf("unable to set hw parameters: %s\n", snd_strerror(res));
           snd_pcm_close(handle);
           return NULL;
       }

       snd_ctl_set_volume(10);

       return handle;
    }


    #define AVCODEC_MAX_AUDIO_FRAME_SIZE    512
    // uint8_t inbuf[AVCODEC_MAX_AUDIO_FRAME_SIZE * 100];
    int main(int argc, char *argv[])
    {
       if(argc &lt; 2) {
           printf("Usage : %s [mp3 file]\n", argv[0]);
           exit(1);
       }

       av_register_all();

       int i, audioStream, res;
       AVCodecContext *    pCodecCtx;
       AVFormatContext *   pFormatCtx;
       AVCodec *           pCodec;
       AVFrame *           pFrame;
       AVPacket            packet;

       uint8_t * pktdata;
       int pktsize;

       pFormatCtx = avformat_alloc_context();

       if (avformat_open_input(&amp;pFormatCtx, argv[1], NULL, NULL) != 0) {
           printf("can,t open file");
           return -1;
       }

       //if (av_find_stream_info(pFormatCtx) &lt; 0)
       if (avformat_find_stream_info(pFormatCtx, NULL) &lt; 0)
           return -1;

       av_dump_format(pFormatCtx, 0, argv[1], 0);

       audioStream = -1;
       for (i = 0; i &lt; pFormatCtx->nb_streams; ++i)  
       {
           if (pFormatCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
           {
               audioStream = i;
               break;
           }
       }

       if (audioStream == -1) {
           printf("no audio stream\n");
           return -1;
       }

       pCodecCtx = pFormatCtx->streams[audioStream]->codec;

       printf(" codec_id   = 0x%08X\n", pCodecCtx->codec_id);
       printf(" nb_samples = %d\n", pCodecCtx->frame_size);
       printf(" format     = %d\n", pCodecCtx->sample_fmt);

       pCodec = avcodec_find_decoder(pCodecCtx->codec_id);
       if (pCodec == NULL) {
           printf("avcodec_find_decoder error\n");
           return -1;
       }


       // Inform the codec that we can handle truncated bitstreams
       // bitstreams where frame boundaries can fall in the middle of packets
       if (pCodec->capabilities &amp; AV_CODEC_CAP_TRUNCATED)
       {
           pCodecCtx->flags |= AV_CODEC_CAP_TRUNCATED;
       }

       if (avcodec_open2(pCodecCtx, pCodec, NULL) &lt; 0) {
           printf("avcodec_open error\n");
           return -1;
       }

       struct SwrContext *swr = swr_alloc();
       av_opt_set_int(swr, "in_channel_layout",  pCodecCtx->channel_layout, 0);
       av_opt_set_int(swr, "out_channel_layout", AV_CH_LAYOUT_STEREO,  0);
       av_opt_set_int(swr, "in_sample_rate",     pCodecCtx->sample_rate, 0);
       av_opt_set_int(swr, "out_sample_rate",    pCodecCtx->sample_rate, 0);
       av_opt_set_sample_fmt(swr, "in_sample_fmt",  pCodecCtx->sample_fmt, 0);
       av_opt_set_sample_fmt(swr, "out_sample_fmt", AV_SAMPLE_FMT_S16,  0);
       swr_init(swr);

       // Hack to correct wrong frame rates that seem to be generated by some
       // codecs

       pFrame = av_frame_alloc();

       pFrame->nb_samples     = pCodecCtx->frame_size;
       pFrame->format         = pCodecCtx->sample_fmt;
       pFrame->channel_layout = pCodecCtx->channel_layout;
       pFrame->sample_rate    = pCodecCtx->sample_rate;
       av_frame_set_channels(pFrame, pCodecCtx->channels);

       snd_pcm_t *handle = pcm_init(pFrame->sample_rate);

       printf(" == PCM init ==\n");

       int got_frame;
       //int data_size;
       int dst_linesize = 0;
       uint8_t **dst_data = NULL;

       av_samples_alloc_array_and_samples(&amp;dst_data, &amp;dst_linesize, 2,
               pFrame->nb_samples, AV_SAMPLE_FMT_S16, 0);

       printf("dst_data = %p\tnb_samples = %d\n", dst_data, pFrame->nb_samples);

       while(av_read_frame(pFormatCtx, &amp;packet) >= 0)
       {
           if (packet.stream_index == audioStream)
           {
               pktdata = packet.data;
               pktsize = packet.size;


               while (pktsize > 0)
               {
                   got_frame = 0;
                   int len = avcodec_decode_audio4(pCodecCtx, pFrame, &amp;got_frame, &amp;packet);
                   //data_size = av_samples_get_buffer_size(NULL, pCodecCtx->channels,
                   //  pFrame->nb_samples, pCodecCtx->sample_fmt, 1);

                   if (len &lt; 0) {
                       printf("error\n");
                       break;
                   }

                   if (got_frame > 0) {
                       i = swr_convert(swr, dst_data, pFrame->nb_samples, (const uint8_t **)pFrame->data, pFrame->nb_samples);
                       // printf("i = %d\n", i);
                       res = snd_pcm_writei(handle, dst_data[0], pFrame->nb_samples);
                       if (res == -EPIPE) {
                           // EPIPE means underrun
                           printf("underrun occurred\n");
                           snd_pcm_prepare(handle);
                       } else if (res &lt; 0) {
                           printf("error from writei: %s\n", snd_strerror(res));
                           break;
                       }
                   }

                   pktsize -= len;
                   pktdata += len;
               }
               av_free_packet(&amp;packet);
           }
       }

       av_freep(&amp;dst_data[0]);

       av_frame_free(&amp;pFrame);
       avcodec_close(pCodecCtx);
       avformat_close_input(&amp;pFormatCtx);

       return 0;
    }

    ******By Running the Above Code :******

    gcc -std=c99 2.c -o main -I./include -L./lib -lavformat -lavcodec -lswscale -lavdevice -lavfilter -lswresample -lavutil -lpthread -lm -lasound -lrt -lz

    From the Above Code I Got the Errors like this ?

    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:345 : undefined reference to

    av_buffer_unref'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:345: undefined reference to

    av_buffer_ref’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:346 : undefined reference to

    av_buffer_unref'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:346: undefined reference to

    av_buffer_ref’
    /usr/local/lib/libavcodec.a(mpegpicture.o) : In function

    ff_free_picture_tables':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:472: undefined reference to

    av_buffer_unref’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:473 : undefined reference to

    av_buffer_unref'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:474: undefined reference to

    av_buffer_unref’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:475 : undefined reference to

    av_buffer_unref'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:476: undefined reference to

    av_buffer_unref’
    /usr/local/lib/libavcodec.a(mpegpicture.o) :/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:477 : more undefined references to

    av_buffer_unref' follow
    /usr/local/lib/libavcodec.a(mpegpicture.o): In function

    ff_mpeg_ref_picture’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:384 : undefined reference to

    av_buffer_ref'
    /usr/local/lib/libavcodec.a(mpegpicture.o): In function

    ff_mpeg_unref_picture’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:311 : undefined reference to

    av_frame_unref'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:313: undefined reference to

    av_buffer_unref’
    /usr/local/lib/libavcodec.a(mpegpicture.o) : In function

    ff_free_picture_tables':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:472: undefined reference to

    av_buffer_unref’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:473 : undefined reference to

    av_buffer_unref'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:474: undefined reference to

    av_buffer_unref’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:475 : undefined reference to

    av_buffer_unref'
    /usr/local/lib/libavcodec.a(mpegpicture.o):/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:476: more undefined references to

    av_buffer_unref’ follow
    /usr/local/lib/libavcodec.a(mpegutils.o) : In function

    ff_draw_horiz_band':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegutils.c:56: undefined reference to

    av_pix_fmt_desc_get’
    /usr/local/lib/libavcodec.a(mpegutils.o) : In function

    ff_print_debug_info2':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegutils.c:118: undefined reference to

    av_malloc_array’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegutils.c:180 : undefined reference to

    av_frame_new_side_data'
    /usr/local/lib/libavcodec.a(mpl2dec.o): In function

    mpl2_decode_frame’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:74 : undefined reference to

    av_bprint_init'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:77: undefined reference to

    av_bprint_finalize’
    /usr/local/lib/libavcodec.a(mpl2dec.o) : In function

    mpl2_event_to_ass':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:41: undefined reference to

    av_bprintf’
    /usr/local/lib/libavcodec.a(mpl2dec.o) : In function

    mpl2_decode_frame':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:77: undefined reference to

    av_bprint_finalize’
    /usr/local/lib/libavcodec.a(mpl2dec.o) : In function

    mpl2_event_to_ass':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:57: undefined reference to

    av_bprintf’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:42 : undefined reference to

    av_bprintf'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:43: undefined reference to

    av_bprintf’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:50 : undefined reference to

    av_bprint_chars'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:56: undefined reference to

    av_bprintf’
    /usr/local/lib/libavcodec.a(options.o) : In function

    copy_context_reset':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:197: undefined reference to

    av_frame_free’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:205 : undefined reference to

    av_buffer_unref'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:206: undefined reference to

    av_buffer_unref’
    /usr/local/lib/libavcodec.a(options.o) : In function

    avcodec_copy_context':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:230: undefined reference to

    av_opt_copy’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:237 : undefined reference to

    av_opt_copy'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:281: undefined reference to

    av_buffer_ref’
    /usr/local/lib/libavcodec.a(parser.o) : In function

    ff_combine_frame':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/parser.c:278: undefined reference to

    av_fast_realloc’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/parser.c:256 : undefined reference to

    av_fast_realloc'
    /usr/local/lib/libavcodec.a(pictordec.o): In function

    decode_frame’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pictordec.c:126 : undefined reference to

    avpriv_request_sample'
    /usr/local/lib/libavcodec.a(pnm_parser.o): In function

    pnm_parse’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pnm_parser.c:66 : undefined reference to

    av_image_get_buffer_size'
    /usr/local/lib/libavcodec.a(psd.o): In function

    decode_frame’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:417 : undefined reference to

    avpriv_report_missing_feature'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:408: undefined reference to

    avpriv_report_missing_feature’
    /usr/local/lib/libavcodec.a(psd.o) : In function

    decode_header':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:216: undefined reference to

    avpriv_request_sample’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:212 : undefined reference to

    avpriv_request_sample'
    /usr/local/lib/libavcodec.a(psd.o): In function

    decode_frame’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:380 : undefined reference to

    avpriv_report_missing_feature'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:384: undefined reference to

    avpriv_report_missing_feature’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:356 : undefined reference to

    avpriv_report_missing_feature'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:360: undefined reference to

    avpriv_report_missing_feature’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:412 : undefined reference to

    avpriv_report_missing_feature'
    /usr/local/lib/libavcodec.a(psd.o):/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:399: more undefined references to

    avpriv_report_missing_feature’ follow
    /usr/local/lib/libavcodec.a(pthread_slice.o) : In function

    thread_execute':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:110: undefined reference to

    avpriv_slicethread_execute’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:110 : undefined reference to

    avpriv_slicethread_execute'
    /usr/local/lib/libavcodec.a(pthread_slice.o): In function

    ff_slice_thread_free’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:82 : undefined reference to

    avpriv_slicethread_free'
    /usr/local/lib/libavcodec.a(pthread_slice.o): In function

    thread_execute’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:110 : undefined reference to

    avpriv_slicethread_execute'
    /usr/local/lib/libavcodec.a(pthread_slice.o): In function

    ff_slice_thread_init’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:159 : undefined reference to

    avpriv_slicethread_create'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:161: undefined reference to

    avpriv_slicethread_free’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:142 : undefined reference to

    av_cpu_count'
    /usr/local/lib/libavcodec.a(pthread_slice.o): In function

    ff_alloc_entries’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:214 : undefined reference to

    av_mallocz_array'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:217: undefined reference to

    av_malloc_array’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:218 : undefined reference to

    av_malloc_array'
    /usr/local/lib/libavcodec.a(ptx.o): In function

    ptx_decode_frame’ :
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/ptx.c:54 : undefined reference to

    avpriv_request_sample'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/ptx.c:45: undefined reference to

    avpriv_request_sample’
    /usr/local/lib/libavcodec.a(qdrw.o) : In function

    decode_frame':
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:417: undefined reference to

    avpriv_report_missing_feature’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:466 : undefined reference to

    avpriv_report_missing_feature'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:395: undefined reference to

    avpriv_report_missing_feature’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:329 : undefined reference to

    avpriv_request_sample'
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:455: undefined reference to

    avpriv_request_sample’
    /home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:326 : undefined reference to `avpriv_request_sample’