Building FFmpeg with trustzone SDK

Hello,
We are trying to build FFmpeg with trustzone SDK.
1. Copied LIBSDL and FFmpeg tarballs (26th April 2012) into sdk_path/trustzone/package/storage
2. Enabled the options from config.package file
3. Modified ffmpeg patch file to remove patch for codec_names.h file ( not able to locate codecs_names.h during build process).
4. The build was successfull but with no ffmpeg binaries; so patch file was modified for config options to enable ffplay ,ffprobe and ffmpeg binaries.
5. Following is the error log

make[3]: Leaving directory `/home/kaushik/open-virtialization/trustzone/package/build/libsdl'
make[2]: Leaving directory `/home/kaushik/open-virtialization/trustzone/package'
make -f Makefile.ffmpeg
make[2]: Entering directory `/home/kaushik/open-virtialization/trustzone/package'
mkdir -p /home/kaushik/open-virtialization/trustzone/tzone_sdk/../package/build; \
if [ ! -d /home/kaushik/open-virtialization/trustzone/tzone_sdk/../package/build/ffmpeg ]; then \
cd /home/kaushik/open-virtialization/trustzone/tzone_sdk/../package/build ; tar -jxf /home/kaushik/open-virtialization/trustzone/tzone_sdk/../package/storage/ffmpeg-git-26th-April-2012.tar.bz2; \
cd /home/kaushik/open-virtialization/trustzone/tzone_sdk/../package/build/ffmpeg; patch -p1 < /home/kaushik/open-virtialization/trustzone/tzone_sdk/../package/patches/ffmpeg.patch; \
fi
make -C /home/kaushik/open-virtialization/trustzone/tzone_sdk/../package/build/ffmpeg;
make[3]: Entering directory `/home/kaushik/open-virtialization/trustzone/package/build/ffmpeg'

WARNING: alldevices.c allfilters.c allformats.c allcodecs.c newer than config.h, rerun configure

LD ffplay_g
/home/kaushik/open-virtialization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: ffplay.o uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
......
.....
.....
......

/home/kaushik/open-virtialization/trustzone/package/build/ffmpeg/ffplay.c:1750: undefined reference to `av_buffersink_params_alloc'
ffplay.o: In function `refresh_thread':
/home/kaushik/open-virtialization/trustzone/package/build/ffmpeg/ffplay.c:1002: undefined reference to `usleep'
ffplay.o: In function `video_image_display':
/home/kaushik/open-virtialization/trustzone/package/build/ffmpeg/ffplay.c:716: undefined reference to `rint'
/home/kaushik/open-virtialization/trustzone/package/build/ffmpeg/ffplay.c:719: undefined reference to `rint'
ffplay.o: In function `video_audio_display':
/home/kaushik/open-virtialization/trustzone/package/build/ffmpeg/ffplay.c:834: undefined reference to `av_rdft_end'
/home/kaushik/open-virtialization/trustzone/package/build/ffmpeg/ffplay.c:836: undefined reference to `av_rdft_init'
/home/kaushik/open-virtialization/trustzone/package/build/ffmpeg/ffplay.c:852: undefined reference to `av_rdft_calc'
.....
.....
.....
......
collect2: ld returned 1 exit status
make[3]: *** [ffplay_g] Error 1
make[3]: Leaving directory `/home/kaushik/open-virtialization/trustzone/package/build/ffmpeg'
make[2]: *** [make] Error 2
make[2]: Leaving directory `/home/kaushik/open-virtialization/trustzone/package'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/kaushik/open-virtialization/trustzone/package'
make: *** [all] Error 2

Is arm-none-eabi-pkg-config required for successfull build. Please let us know if we are missing somethings and apologies for the elaborate error log.

Thanks in advance.

Much of your build logs seems to have been filtered out.

You may have to tweak the makefiles to include the appropriate libraries, and/or provide some more options to the configure script that would build a few more libraries within the ffmpgeg sources. Further, the newlib toolchain will not have the implementations of certain functions (usleep), which are included in the SDK. You may have to include them into your build too.

The normal way to use ffmpeg in these kind of systems is to build the libraries, and write a function along the lines of ffplay that uses these libraries to perfom the functions that would be needed.

Where did you obtain your newlib toolchain from ?

I see that "rint" seems to be un-defined, which is a part of the math library. You may need to add -lm to the build.

Hello Shyam,
Thanks for your reply. However we were not able to resolve the issue yet.
We are using the toolchain provided by Sierraware along with the SDK.

We have done the following steps.

1. In the ffmpeg.patch file we have enabled ffmpeg,ffprobe and ffplay options and removed the patch for codec_names.h. The patch was successfully applied and make process continued.
2. The math library -lm option is already present in otzone/Makefile.ffmpeg
but the build failed with following errors
......................................................
......
......
......
LD ffmpeg_g
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: ffmpeg.o uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: cmdutils.o uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavdevice/libavdevice.a(alldevices.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavdevice/libavdevice.a(avdevice.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavfilter/libavfilter.a(allfilters.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavfilter/libavfilter.a(avcodec.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavfilter/libavfilter.a(avfilter.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavfilter/libavfilter.a(avfiltergraph.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavfilter/libavfilter.a(defaults.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavfilter/libavfilter.a(formats.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavfilter/libavfilter.a(graphparser.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavfilter/libavfilter.a(vsrc_buffer.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(allformats.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(avio.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(aviobuf.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(h264dec.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(options.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(rawdec.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(sdp.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(utils.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(id3v2.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(metadata.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(riff.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavformat/libavformat.a(id3v1.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(allcodecs.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(avpacket.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(bitstream_filter.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264_cabac.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264_cavlc.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264_direct.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264_loopfilter.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264_parser.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264_ps.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264_refs.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264_sei.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264dsp.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264idct.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264pred.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(imgconvert.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(mpegvideo.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(options.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(parser.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(raw.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(rawdec.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(utils.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264dsp_init_arm.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(h264pred_init_arm.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(mpegvideo_arm.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(mpegvideo_armv5te.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(bitstream.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(cabac.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(dsputil.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(error_resilience.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(faanidct.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(golomb.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(jrevdct.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(simple_idct.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(dsputil_init_arm.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(dsputil_init_armv5te.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavcodec/libavcodec.a(dsputil_init_armv6.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswresample/libswresample.a(resample.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswresample/libswresample.a(swresample.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswresample/libswresample.a(audioconvert.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswresample/libswresample.a(dither.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswresample/libswresample.a(rematrix.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswscale/libswscale.a(options.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswscale/libswscale.a(utils.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswscale/libswscale.a(yuv2rgb.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswscale/libswscale.a(output.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswscale/libswscale.a(rgb2rgb.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswscale/libswscale.a(swscale.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswscale/libswscale.a(swscale_unscaled.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libswscale/libswscale.a(input.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(audioconvert.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(avstring.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(cpu.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(crc.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(dict.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(error.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(eval.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(fifo.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(imgutils.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(inverse.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(log.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(mathematics.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(mem.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(opt.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(parseutils.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(pixdesc.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(random_seed.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(rational.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(samplefmt.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(utils.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: libavutil/libavutil.a(cpu.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
/home/amit/Desktop/open_virtualization/arm-sw-newlib/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol _start; defaulting to 00008020
ffmpeg.o: In function `print_report':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2202: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2206: undefined reference to `log'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2206: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2206: undefined reference to `log'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2206: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2206: undefined reference to `log'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2206: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2206: undefined reference to `log'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2206: undefined reference to `lrintf'
ffmpeg.o: In function `psnr':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:1857: undefined reference to `log'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:1857: undefined reference to `log'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:1857: undefined reference to `log'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:1857: undefined reference to `log'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:1857: undefined reference to `log'
ffmpeg.o: In function `configure_output_filter':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:928: undefined reference to `av_buffersink_params_alloc'
ffmpeg.o: In function `configure_video_filters':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:734: undefined reference to `av_buffersink_params_alloc'
ffmpeg.o: In function `rate_emu_sleep':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2450: undefined reference to `usleep'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2450: undefined reference to `usleep'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2450: undefined reference to `usleep'
ffmpeg.o: In function `do_audio_out':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:1711: undefined reference to `lrintf'
ffmpeg.o: In function `rate_emu_sleep':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2450: undefined reference to `usleep'
ffmpeg.o: In function `poll_filters':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:2084: undefined reference to `av_buffersink_get_buffer_ref'
ffmpeg.o: In function `do_video_out':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:1949: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:1939: undefined reference to `lrintf'
ffmpeg.o: In function `psnr':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:1857: undefined reference to `log'
ffmpeg.o: In function `transcode':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/ffmpeg.c:3550: undefined reference to `usleep'
libavformat/libavformat.a(avio.o): In function `retry_transfer_wrapper':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavformat/avio.c:271: undefined reference to `usleep'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavformat/avio.c:271: undefined reference to `usleep'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavformat/avio.c:271: undefined reference to `usleep'
libavformat/libavformat.a(utils.o): In function `print_fps':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavformat/utils.c:3648: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavformat/utils.c:3648: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavformat/utils.c:3648: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavformat/utils.c:3648: undefined reference to `lrintf'
libavformat/libavformat.a(utils.o): In function `avformat_find_stream_info':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavformat/utils.c:2578: undefined reference to `lrintf'
libavformat/libavformat.a(utils.o):/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavformat/utils.c:2578: more undefined references to `lrintf' follow
libswresample/libswresample.a(resample.o): In function `swri_resample_init':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/resample.c:198: undefined reference to `ceil'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/resample.c:227: undefined reference to `ceil'
libswresample/libswresample.a(resample.o): In function `build_filter':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/resample.c:110: undefined reference to `sin'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/resample.c:193: undefined reference to `sqrt'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/resample.c:140: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/resample.c:140: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/resample.c:140: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/resample.c:140: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/resample.c:140: undefined reference to `lrintf'
libswresample/libswresample.a(resample.o):/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/resample.c:140: more undefined references to `lrintf' follow
libswresample/libswresample.a(audioconvert.o): In function `conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S32':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/audioconvert.c:78: undefined reference to `llrint'
libswresample/libswresample.a(audioconvert.o): In function `conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_S16':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/audioconvert.c:77: undefined reference to `lrint'
libswresample/libswresample.a(audioconvert.o): In function `conv_AV_SAMPLE_FMT_DBL_to_AV_SAMPLE_FMT_U8':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/audioconvert.c:76: undefined reference to `lrint'
libswresample/libswresample.a(audioconvert.o): In function `conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S32':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/audioconvert.c:73: undefined reference to `llrintf'
libswresample/libswresample.a(audioconvert.o): In function `conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_S16':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/audioconvert.c:72: undefined reference to `lrintf'
libswresample/libswresample.a(audioconvert.o): In function `conv_AV_SAMPLE_FMT_FLT_to_AV_SAMPLE_FMT_U8':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/audioconvert.c:71: undefined reference to `lrintf'
libswresample/libswresample.a(rematrix.o): In function `swri_rematrix_init':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/rematrix.c:266: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/rematrix.c:266: undefined reference to `lrintf'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/rematrix.c:266: undefined reference to `lrintf'
libswresample/libswresample.a(rematrix.o):/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswresample/rematrix.c:266: more undefined references to `lrintf' follow
libswscale/libswscale.a(utils.o): In function `initFilter':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:352: undefined reference to `cos'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:358: undefined reference to `pow'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:376: undefined reference to `sin'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:376: undefined reference to `sin'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:371: undefined reference to `pow'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:373: undefined reference to `sin'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:281: undefined reference to `ceil'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:199: undefined reference to `pow'
libswscale/libswscale.a(utils.o): In function `sws_getGaussianVec':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:1400: undefined reference to `sqrt'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:1412: undefined reference to `exp'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:1412: undefined reference to `exp'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:1412: undefined reference to `exp'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libswscale/utils.c:1412: undefined reference to `exp'
libavutil/libavutil.a(eval.o): In function `eval_expr':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:168: undefined reference to `sqrt'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:167: undefined reference to `trunc'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:166: undefined reference to `ceil'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:165: undefined reference to `floor'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:212: undefined reference to `pow'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:162: undefined reference to `exp'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:161: undefined reference to `exp'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:262: undefined reference to `sqrt'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:256: undefined reference to `pow'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:249: undefined reference to `floor'
libavutil/libavutil.a(eval.o): In function `av_strtod':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:102: undefined reference to `pow'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:99: undefined reference to `pow'
libavutil/libavutil.a(eval.o): In function `parse_primary':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `sin'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `sinh'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `cosh'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `tanh'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `cos'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `tan'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `atan'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `asin'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `acos'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `exp'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `log'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/eval.c:415: undefined reference to `fabs'
libavutil/libavutil.a(opt.o): In function `write_number':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/opt.c:90: undefined reference to `llrint'
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/opt.c:89: undefined reference to `llrint'
libavutil/libavutil.a(rational.o): In function `av_d2q':
/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg/libavutil/rational.c:116: undefined reference to `log'
collect2: ld returned 1 exit status
make[3]: *** [ffmpeg_g] Error 1
make[3]: Leaving directory `/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg'
make[2]: *** [make] Error 2
make[2]: Leaving directory `/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package'
make: *** [all] Error 2
....................................................................................

Is there anything else we are missing still??

Thanks in Advance.

Can you plese elaborate on how to add the implementation of usleep into the build? Also for the math library I have added the following lines in package/Makefile.ffmpeg file
........................

INCLUDES:= -I$(SDL_DIR)/include -I/home/amit/Desktop/open_virtualization/arm-sw-newlib/arm-none-eabi/include
DEFINES:= $(INCLUDES)
export CFLAGS += $(DEFINES)
export CXXFLAGS += $(DEFINES)
export LDFLAGS += -L$(SDL_DIR) -lSDL -L/home/amit/Desktop/open_virtualization/arm-sw-newlib/arm-none-eabi/lib -lm
................................................

The toolchain is provided by Sierraware with the SDK.
Please correct me if I have to use different toolchain?

I think your toolchain seems to be alright. The functions that may be required by newlib are implemented in the files inside the directory tzone_sdk/otzone/src/lib.

If you include ffplay, ffmpeg and other executables, they would be built under the "build" directory located in the "package" directory. However, the functions needed by newlib would be located in a different directory.

Try to see if you can do the following --

1. Rename the "main" function in ffplay.c.
2. Create the libraries needed for ffmpeg, but add the option --enable-ffplay so that the file ffplay.c gets included. Since we have renamed the "main" function, we would now have a library that can do the same functionality of ffplay, but without the "main" function.
3. Create a task structure that is quite similar to one that is used by the file "crypto_task.c". Instead of invoking the rc4 function, invoke the function that you just wrote inside the file ffplay.c

Shyam

Hello,
As suggested by you I followed the steps but while compiling ffplay.c I got the following error
"SDL.h not found". Now I think it is due to SDL support not being configured.
In the Makefile of ffmpeg in package directory it configures cflags and libs by running sdl-config script from SDL directory.
After invoking make from tzone_sdk SDL component gets compiled successfully. But in the package/build/libsdl directory there is no sdl-config file.
Please guide as to how I make the SDL support on in order to get ffplay compiled successfully.

I have cross compiled ffmeg for ARM without sdk. In order to make SDL support on; In the ffmpeg configure file I made some changes after which sdl_cflags and libs were configured correctly and ffplay binary was generated successfully.

You would need to manually modify the ffmpeg config files to include the sdl directories.

Shyam

I have made the following changes to the config files of ffmpeg manually

1. config.h file

#define FFMPEG_CONFIGURATION "--disable-vaapi --disable-vdpau --disable-hwaccels --disable-mmx --disable-mmx2 --disable-sse --disable-ssse3 --disable-avx --disable-amd3dnow --disable-amd3dnowext --disable-vis --disable-mmi --disable-doc --disable-yasm --disable-ffmpeg --enable-ffplay --disable-ffprobe --disable-ffserver --enable-rdft --disable-dxva2 --enable-encoders --enable-decoders --enable-decoder=h264 --disable-bsfs --disable-protocols --disable-indevs --disable-outdevs --disable-devices --enable-filters --disable-demuxers --enable-demuxer=h264 --disable-muxers --disable-parsers --enable-parser=h264 --enable-cross-compile --arch=arm --target-os=linux --enable-pic --prefix=/home/amit/Desktop/open_virtualization/SDK_june_4_2012/trustzone/package/build/ffmpeg --enable-cross-compile --target-os=linux --arch=arm --host-cc=gcc --disable-stripping --cross-prefix=arm-none-eabi- --nm=arm-none-eabi-nm --ar=arm-none-eabi-ar --as=arm-none-eabi-gcc --cc=arm-none-eabi-gcc --ld=arm-none-eabi-gcc --extra-cflags='-msoft-float -mno-thumb-interwork -marm -march=armv7-a -fno-short-enums -g -Wall' --disable-pthreads --disable-shared --enable-static --disable-ffmpeg --disable-ffprobe --disable-ffserver --disable-debug --disable-network"

#define HAVE_STRPTIME 0
#define HAVE_STRERROR_R 0
#define HAVE_MKSTEMP 0
#define CONFIG_RDFT 1
#define CONFIG_POSTPROC 1
#define CONFIG_FFPLAY 1
#define CONFIG_AVRESAMPLE 1
#define CONFIG_AVFILTER 1
#define CONFIG_RESAMPLE_FILTER 1

2. config.mak file

CFLAGS= -I$(SDL_DIR)/include -msoft-float -mno-thumb-interwork -marm -march=armv7-a -fno-short-enums -g -Wall -std=c99 -fomit-frame-pointer -fPIC -marm -Wdeclaration-after-statement -Wall -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=implicit-function-declaration -Werror=missing-prototypes
CXXFLAGS= -D__STDC_CONSTANT_MACROS

HOSTCFLAGS=-D_ISOC99_SOURCE -O3 -g -std=c99 -Wall
SDL_LIBS=-L$(SDL_DIR)/ -lSDL
SDL_CFLAGS=-I$(SDL_DIR)/include/ -g -Wall -msoft-float -mno-thumb-interwork -marm -march=armv7-a -fno-short-enums
LIB_INSTALL_EXTRA_CMD=$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"
EXTRALIBS=-L$(SDL_DIR)/ -lSDL -lm

CONFIG_FFPLAY=yes
CONFIG_AVRESAMPLE=yes
CONFIG_RESAMPLE_FILTER =yes

I was able to compile ffplay binary in the prefix path provided with the ffmpeg config file.

but I was enable to run ffplay in fast mode.
Size of ffplay generated is about 42 MB.

I guess 42 MB is too big a size. What do you mean when you say you have built ffplay ? Can you please explain ?