
Recherche avancée
Autres articles (36)
-
Demande de création d’un canal
12 mars 2010, parEn 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, parCette 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 2011MediaSPIP 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 ZalavadiaI 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.gitAnd 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_onebuild_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_staticUPDATE
Finally Got success
-
Build latest version of FFMPEG with libx264 Android
12 novembre 2016, par Biraj ZalavadiaI 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.gitAnd 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_onebuild_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_staticUPDATE
Finally Got success
-
PLAYBACK AUDIO USING FFMPEG in C [on hold]
4 avril 2019, par GOBII 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(&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) < 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, &got_frame, &avpkt);
if (len < 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 < 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 < 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(&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(&info);
snd_ctl_elem_id_alloca(&id);
snd_ctl_elem_value_alloca(&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(&handle, "default", 0)) < 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)) < 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)) < 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(&handle, "default", SND_PCM_STREAM_PLAYBACK, 0);
//res = snd_pcm_open(&handle, "plug:dmixer", SND_PCM_STREAM_PLAYBACK, 0);
if (res < 0) {
printf("unable to open pcm device: %s\n", snd_strerror(res));
return NULL;
}
snd_pcm_hw_params_alloca(&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, &val, 0);
unsigned period_time = 0;
unsigned buffer_time = 0;
snd_pcm_hw_params_get_buffer_time_max(params, &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, &period_time, 0);
snd_pcm_hw_params_set_buffer_time_near(handle, params, &buffer_time, 0);
//frames = 32;
//snd_pcm_hw_params_set_period_size_near(handle, params, &frames, &dir);
res = snd_pcm_hw_params(handle, params);
if (res < 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 < 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(&pFormatCtx, argv[1], NULL, NULL) != 0) {
printf("can,t open file");
return -1;
}
//if (av_find_stream_info(pFormatCtx) < 0)
if (avformat_find_stream_info(pFormatCtx, NULL) < 0)
return -1;
av_dump_format(pFormatCtx, 0, argv[1], 0);
audioStream = -1;
for (i = 0; i < 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 & AV_CODEC_CAP_TRUNCATED)
{
pCodecCtx->flags |= AV_CODEC_CAP_TRUNCATED;
}
if (avcodec_open2(pCodecCtx, pCodec, NULL) < 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(&dst_data, &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, &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, &got_frame, &packet);
//data_size = av_samples_get_buffer_size(NULL, pCodecCtx->channels,
// pFrame->nb_samples, pCodecCtx->sample_fmt, 1);
if (len < 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 < 0) {
printf("error from writei: %s\n", snd_strerror(res));
break;
}
}
pktsize -= len;
pktdata += len;
}
av_free_packet(&packet);
}
}
av_freep(&dst_data[0]);
av_frame_free(&pFrame);
avcodec_close(pCodecCtx);
avformat_close_input(&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 toav_buffer_ref’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:346 : undefined reference toav_buffer_unref'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:346: undefined reference toav_buffer_ref’
/usr/local/lib/libavcodec.a(mpegpicture.o) : In functionff_free_picture_tables':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:472: undefined reference toav_buffer_unref’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:473 : undefined reference toav_buffer_unref'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:474: undefined reference toav_buffer_unref’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:475 : undefined reference toav_buffer_unref'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:476: undefined reference toav_buffer_unref’
/usr/local/lib/libavcodec.a(mpegpicture.o) :/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:477 : more undefined references toav_buffer_unref' follow
/usr/local/lib/libavcodec.a(mpegpicture.o): In functionff_mpeg_ref_picture’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:384 : undefined reference toav_buffer_ref'
/usr/local/lib/libavcodec.a(mpegpicture.o): In functionff_mpeg_unref_picture’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:311 : undefined reference toav_frame_unref'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:313: undefined reference toav_buffer_unref’
/usr/local/lib/libavcodec.a(mpegpicture.o) : In functionff_free_picture_tables':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:472: undefined reference toav_buffer_unref’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:473 : undefined reference toav_buffer_unref'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:474: undefined reference toav_buffer_unref’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:475 : undefined reference toav_buffer_unref'
/usr/local/lib/libavcodec.a(mpegpicture.o):/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegpicture.c:476: more undefined references toav_buffer_unref’ follow
/usr/local/lib/libavcodec.a(mpegutils.o) : In functionff_draw_horiz_band':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegutils.c:56: undefined reference toav_pix_fmt_desc_get’
/usr/local/lib/libavcodec.a(mpegutils.o) : In functionff_print_debug_info2':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegutils.c:118: undefined reference toav_malloc_array’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpegutils.c:180 : undefined reference toav_frame_new_side_data'
/usr/local/lib/libavcodec.a(mpl2dec.o): In functionmpl2_decode_frame’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:74 : undefined reference toav_bprint_init'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:77: undefined reference toav_bprint_finalize’
/usr/local/lib/libavcodec.a(mpl2dec.o) : In functionmpl2_event_to_ass':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:41: undefined reference toav_bprintf’
/usr/local/lib/libavcodec.a(mpl2dec.o) : In functionmpl2_decode_frame':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:77: undefined reference toav_bprint_finalize’
/usr/local/lib/libavcodec.a(mpl2dec.o) : In functionmpl2_event_to_ass':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:57: undefined reference toav_bprintf’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:42 : undefined reference toav_bprintf'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:43: undefined reference toav_bprintf’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:50 : undefined reference toav_bprint_chars'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/mpl2dec.c:56: undefined reference toav_bprintf’
/usr/local/lib/libavcodec.a(options.o) : In functioncopy_context_reset':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:197: undefined reference toav_frame_free’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:205 : undefined reference toav_buffer_unref'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:206: undefined reference toav_buffer_unref’
/usr/local/lib/libavcodec.a(options.o) : In functionavcodec_copy_context':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:230: undefined reference toav_opt_copy’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:237 : undefined reference toav_opt_copy'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/options.c:281: undefined reference toav_buffer_ref’
/usr/local/lib/libavcodec.a(parser.o) : In functionff_combine_frame':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/parser.c:278: undefined reference toav_fast_realloc’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/parser.c:256 : undefined reference toav_fast_realloc'
/usr/local/lib/libavcodec.a(pictordec.o): In functiondecode_frame’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pictordec.c:126 : undefined reference toavpriv_request_sample'
/usr/local/lib/libavcodec.a(pnm_parser.o): In functionpnm_parse’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pnm_parser.c:66 : undefined reference toav_image_get_buffer_size'
/usr/local/lib/libavcodec.a(psd.o): In functiondecode_frame’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:417 : undefined reference toavpriv_report_missing_feature'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:408: undefined reference toavpriv_report_missing_feature’
/usr/local/lib/libavcodec.a(psd.o) : In functiondecode_header':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:216: undefined reference toavpriv_request_sample’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:212 : undefined reference toavpriv_request_sample'
/usr/local/lib/libavcodec.a(psd.o): In functiondecode_frame’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:380 : undefined reference toavpriv_report_missing_feature'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:384: undefined reference toavpriv_report_missing_feature’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:356 : undefined reference toavpriv_report_missing_feature'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:360: undefined reference toavpriv_report_missing_feature’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:412 : undefined reference toavpriv_report_missing_feature'
/usr/local/lib/libavcodec.a(psd.o):/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/psd.c:399: more undefined references toavpriv_report_missing_feature’ follow
/usr/local/lib/libavcodec.a(pthread_slice.o) : In functionthread_execute':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:110: undefined reference toavpriv_slicethread_execute’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:110 : undefined reference toavpriv_slicethread_execute'
/usr/local/lib/libavcodec.a(pthread_slice.o): In functionff_slice_thread_free’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:82 : undefined reference toavpriv_slicethread_free'
/usr/local/lib/libavcodec.a(pthread_slice.o): In functionthread_execute’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:110 : undefined reference toavpriv_slicethread_execute'
/usr/local/lib/libavcodec.a(pthread_slice.o): In functionff_slice_thread_init’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:159 : undefined reference toavpriv_slicethread_create'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:161: undefined reference toavpriv_slicethread_free’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:142 : undefined reference toav_cpu_count'
/usr/local/lib/libavcodec.a(pthread_slice.o): In functionff_alloc_entries’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:214 : undefined reference toav_mallocz_array'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:217: undefined reference toav_malloc_array’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/pthread_slice.c:218 : undefined reference toav_malloc_array'
/usr/local/lib/libavcodec.a(ptx.o): In functionptx_decode_frame’ :
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/ptx.c:54 : undefined reference toavpriv_request_sample'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/ptx.c:45: undefined reference toavpriv_request_sample’
/usr/local/lib/libavcodec.a(qdrw.o) : In functiondecode_frame':
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:417: undefined reference toavpriv_report_missing_feature’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:466 : undefined reference toavpriv_report_missing_feature'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:395: undefined reference toavpriv_report_missing_feature’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:329 : undefined reference toavpriv_request_sample'
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:455: undefined reference toavpriv_request_sample’
/home/gobi/basics/packages/ffmpeg_package/ffmpeg/libavcodec/qdrw.c:326 : undefined reference to `avpriv_request_sample’