ffmpeg 을 static libaray로 링크해서 사용하는 프로그램을 작성중에
라이브러리 다시 컴파일 해서 바꿔치기 하는데 이런 에러 발생!!
 
/ffmpeg-1.0/libavformat/swfdec.c:116: undefined reference to `inflateInit_'
./lib/libavformat.a(swfdec.o): In function `zlib_refill':
/ffmpeg-1.0/libavformat/swfdec.c:84: undefined reference to `inflate'
./lib/libavformat.a(swfdec.o): In function `swf_read_close':
/ffmpeg-1.0/libavformat/swfdec.c:278: undefined reference to `inflateEnd'
./lib/libavcodec.a(cscd.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/cscd.c:95: undefined reference to `uncompress'
./lib/libavcodec.a(dxa.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/dxa.c:236: undefined reference to `uncompress'
./lib/libavcodec.a(exr.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/exr.c:551: undefined reference to `uncompress'
./lib/libavcodec.a(flashsv.o): In function `flashsv_decode_block':
/ffmpeg-1.0/libavcodec/flashsv.c:165: undefined reference to `inflateReset'
./lib/libavcodec.a(flashsv.o): In function `flashsv2_prime':
/ffmpeg-1.0/libavcodec/flashsv.c:138: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/flashsv.c:140: undefined reference to `deflateInit_'
/ffmpeg-1.0/libavcodec/flashsv.c:145: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/flashsv.c:146: undefined reference to `deflateEnd'
/ffmpeg-1.0/libavcodec/flashsv.c:148: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/flashsv.c:154: undefined reference to `inflate'
./lib/libavcodec.a(flashsv.o): In function `flashsv_decode_block':
/ffmpeg-1.0/libavcodec/flashsv.c:177: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/flashsv.c:180: undefined reference to `inflateSync'
/ffmpeg-1.0/libavcodec/flashsv.c:181: undefined reference to `inflate'
./lib/libavcodec.a(flashsv.o): In function `calc_deflate_block_size':
/ffmpeg-1.0/libavcodec/flashsv.c:222: undefined reference to `deflateInit_'
/ffmpeg-1.0/libavcodec/flashsv.c:224: undefined reference to `deflateBound'
/ffmpeg-1.0/libavcodec/flashsv.c:225: undefined reference to `deflateEnd'
./lib/libavcodec.a(flashsv.o): In function `flashsv_decode_end':
/ffmpeg-1.0/libavcodec/flashsv.c:443: undefined reference to `inflateEnd'
./lib/libavcodec.a(flashsv.o): In function `flashsv_decode_init':
/ffmpeg-1.0/libavcodec/flashsv.c:112: undefined reference to `inflateInit_'
./lib/libavcodec.a(flashsv2enc.o): In function `encode_zlib':
/ffmpeg-1.0/libavcodec/flashsv2enc.c:355: undefined reference to `compress2'
./lib/libavcodec.a(flashsv2enc.o): In function `encode_zlibprime':
/ffmpeg-1.0/libavcodec/flashsv2enc.c:367: undefined reference to `deflateInit_'
/ffmpeg-1.0/libavcodec/flashsv2enc.c:376: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/flashsv2enc.c:385: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/flashsv2enc.c:386: undefined reference to `deflateEnd'
./lib/libavcodec.a(flashsvenc.o): In function `encode_bitstream':
/ffmpeg-1.0/libavcodec/flashsvenc.c:170: undefined reference to `compress2'
./lib/libavcodec.a(flashsvenc.o): In function `flashsv_encode_end':
/ffmpeg-1.0/libavcodec/flashsvenc.c:269: undefined reference to `deflateEnd'
./lib/libavcodec.a(lcldec.o): In function `zlib_decomp':
/ffmpeg-1.0/libavcodec/lcldec.c:137: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/lcldec.c:146: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/lcldec.c:137: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/lcldec.c:146: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/lcldec.c:137: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/lcldec.c:146: undefined reference to `inflate'
./lib/libavcodec.a(lcldec.o): In function `decode_end':
/ffmpeg-1.0/libavcodec/lcldec.c:638: undefined reference to `inflateEnd'
./lib/libavcodec.a(lcldec.o): In function `decode_init':
/ffmpeg-1.0/libavcodec/lcldec.c:612: undefined reference to `inflateInit_'
./lib/libavcodec.a(lclenc.o): In function `encode_frame':
/ffmpeg-1.0/libavcodec/lclenc.c:82: undefined reference to `deflateBound'
/ffmpeg-1.0/libavcodec/lclenc.c:96: undefined reference to `deflateReset'
/ffmpeg-1.0/libavcodec/lclenc.c:107: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/lclenc.c:113: undefined reference to `deflate'
./lib/libavcodec.a(lclenc.o): In function `encode_end':
/ffmpeg-1.0/libavcodec/lclenc.c:181: undefined reference to `deflateEnd'
./lib/libavcodec.a(lclenc.o): In function `encode_init':
/ffmpeg-1.0/libavcodec/lclenc.c:162: undefined reference to `deflateInit_'
./lib/libavcodec.a(pngdec.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/pngdec.c:424: undefined reference to `inflateInit_'
./lib/libavcodec.a(pngdec.o): In function `png_decode_idat':
/ffmpeg-1.0/libavcodec/pngdec.c:373: undefined reference to `inflate'
./lib/libavcodec.a(pngdec.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/pngdec.c:708: undefined reference to `inflateEnd'
./lib/libavcodec.a(pngenc.o): In function `png_write_chunk':
/ffmpeg-1.0/libavcodec/pngenc.c:185: undefined reference to `crc32'
/ffmpeg-1.0/libavcodec/pngenc.c:187: undefined reference to `crc32'
/ffmpeg-1.0/libavcodec/pngenc.c:190: undefined reference to `crc32'
./lib/libavcodec.a(pngenc.o): In function `png_write_row':
/ffmpeg-1.0/libavcodec/pngenc.c:205: undefined reference to `deflate'
./lib/libavcodec.a(pngenc.o): In function `encode_frame':
/ffmpeg-1.0/libavcodec/pngenc.c:291: undefined reference to `deflateInit2_'
/ffmpeg-1.0/libavcodec/pngenc.c:296: undefined reference to `deflateBound'
/ffmpeg-1.0/libavcodec/pngenc.c:400: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/pngenc.c:425: undefined reference to `deflateEnd'
./lib/libavcodec.a(svq3.o): In function `svq3_decode_init':
/ffmpeg-1.0/libavcodec/svq3.c:915: undefined reference to `uncompress'
./lib/libavcodec.a(tiff.o): In function `tiff_uncompress':
/ffmpeg-1.0/libavcodec/tiff.c:339: undefined reference to `inflateInit_'
/ffmpeg-1.0/libavcodec/tiff.c:344: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/tiff.c:345: undefined reference to `inflateEnd'
./lib/libavcodec.a(tiffenc.o): In function `encode_strip':
/ffmpeg-1.0/libavcodec/tiffenc.c:177: undefined reference to `compress'
./lib/libavcodec.a(tscc.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/tscc.c:89: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/tscc.c:98: undefined reference to `inflate'
./lib/libavcodec.a(tscc.o): In function `decode_end':
/ffmpeg-1.0/libavcodec/tscc.c:198: undefined reference to `inflateEnd'
./lib/libavcodec.a(tscc.o): In function `decode_init':
/ffmpeg-1.0/libavcodec/tscc.c:174: undefined reference to `inflateInit_'
./lib/libavcodec.a(zerocodec.o): In function `zerocodec_decode_frame':
/ffmpeg-1.0/libavcodec/zerocodec.c:55: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/zerocodec.c:80: undefined reference to `inflate'
./lib/libavcodec.a(zerocodec.o): In function `zerocodec_decode_close':
/ffmpeg-1.0/libavcodec/zerocodec.c:115: undefined reference to `inflateEnd'
./lib/libavcodec.a(zerocodec.o): In function `zerocodec_decode_init':
/ffmpeg-1.0/libavcodec/zerocodec.c:142: undefined reference to `inflateInit_'
./lib/libavcodec.a(zmbv.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/zmbv.c:513: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/zmbv.c:484: undefined reference to `inflateReset'
./lib/libavcodec.a(zmbv.o): In function `decode_end':
/ffmpeg-1.0/libavcodec/zmbv.c:667: undefined reference to `inflateEnd'
./lib/libavcodec.a(zmbv.o): In function `decode_init':
/ffmpeg-1.0/libavcodec/zmbv.c:643: undefined reference to `inflateInit_'
./lib/libavcodec.a(zmbvenc.o): In function `encode_frame':
/ffmpeg-1.0/libavcodec/zmbvenc.c:226: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/zmbvenc.c:217: undefined reference to `deflateReset'
./lib/libavcodec.a(zmbvenc.o): In function `encode_end':
/ffmpeg-1.0/libavcodec/zmbvenc.c:332: undefined reference to `deflateEnd'
./lib/libavcodec.a(zmbvenc.o): In function `encode_init':
/ffmpeg-1.0/libavcodec/zmbvenc.c:309: undefined reference to `deflateInit_'
./lib/libavformat.a(id3v2.o): In function `ff_id3v2_parse':
/ffmpeg-1.0/libavformat/id3v2.c:686: undefined reference to `uncompress'
./lib/libavformat.a(matroskadec.o): In function `matroska_decode_buffer':
/ffmpeg-1.0/libavformat/matroskadec.c:1101: undefined reference to `inflateInit_'
/ffmpeg-1.0/libavformat/matroskadec.c:1116: undefined reference to `inflate'
/ffmpeg-1.0/libavformat/matroskadec.c:1109: undefined reference to `inflateEnd'
/ffmpeg-1.0/libavformat/matroskadec.c:1121: undefined reference to `inflateEnd'
./lib/libavformat.a(mov.o): In function `mov_read_cmov':
/ffmpeg-1.0/libavformat/mov.c:2605: undefined reference to `uncompress'
./lib/libavformat.a(rtmpproto.o): In function `rtmp_uncompress_swfplayer':
/ffmpeg-1.0/libavformat/rtmpproto.c:995: undefined reference to `inflateInit_'
/ffmpeg-1.0/libavformat/rtmpproto.c:1005: undefined reference to `inflate'
/ffmpeg-1.0/libavformat/rtmpproto.c:1023: undefined reference to `inflateEnd'
collect2: ld returned 1 exit status
make: *** [all] 오류 1

ffmpeg 옵션을 찾아보니 zlib / bzlib에 대한 옵션에 존재하는데
문제는 --disable-all을 해도 이녀석은 autodetect 라서 강제로 활성화 되는 것으로 보여진다.
그래서! 강제로 --disagle-zlib --disable-bzlib를 해주고
생성되는 .a 파일들을 다시 링크하니 위와 같은 문제 해결!

./configure --help
  --enable-bzlib           enable bzlib [autodetect]
  --enable-zlib            enable zlib [autodetect] 


'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

Mplayer 캐시 설정  (0) 2014.11.06
Mplayer 1.1 / ffmpeg 0.10.2 git  (0) 2014.10.22
MPlayer 1.1 크로스컴파일  (0) 2014.10.08
live555 관련링크  (0) 2014.10.07
ASLA 입출력 - mplayer / ffmpeg  (0) 2014.09.29
Posted by 구차니
프로그램 사용/valgrind2014. 10. 15. 17:34
valgrind 3.3 에 대한 tag를 svn으로 받아서 보니..
i?86 / x86_64/ powerpc / powerpc64 만을 지원한다 -_-

valgrind 3.8 에서는 ARM을 지원하나 ARMv7만을 지원하고
이녀석들은.. Cortex 시리즈용 아키텍쳐다 ㅠㅠ
ARM925 이런건 실행도 못해본다 -_ㅠ
ArchitectureBit
width
Cores designed by ARM HoldingsCores designed by third partiesCortex profileReferences
ARMv1
32/26
ARM1
ARMv2
32/26
ARM2ARM3 Amber, STORM Open Soft Core[28]
ARMv3
32
ARM6ARM7
ARMv4
32
ARM8 StrongARM, FA526
ARMv4T
32
ARM7TDMIARM9TDMI
ARMv5
32
ARM7EJARM9EARM10E XScale, FA626TE, Feroceon, PJ1/Mohawk
ARMv6
32
ARM11
ARMv6-M
32
ARM Cortex-M0ARM Cortex-M0+ARM Cortex-M1 Microcontroller
ARMv7-M
32
ARM Cortex-M3
Microcontroller
ARMv7E-M
32
ARM Cortex-M4
Microcontroller
ARMv7-R
32
ARM Cortex-R4ARM Cortex-R5ARM Cortex-R7
Real-time
ARMv7-A
32
ARM Cortex-A5ARM Cortex-A7ARM Cortex-A8ARM Cortex-A9ARM Cortex-A12ARM Cortex-A15ARM Cortex-A17 KraitScorpion, PJ4/Sheeva, Apple A6/A6X (Swift)
Application
ARMv8-A
64/32
ARM Cortex-A53ARM Cortex-A57[29] X-GeneNvidia Project DenverApple A7 (Cyclone), AMD K12Apple A8
Application
[30][31]
ARMv8-R
32
No announcements yet
Real-time
[32][33]
[링크 : http://en.wikipedia.org/wiki/ARM_architecture#Cores]

Current

Valgrind supports the following platforms:
x86/Linux: support is mature and almost complete.
AMD64/Linux: support is mature and almost complete. Note that AMD64 is just another name for x86-64, and that Valgrind works fine on Intel machines.
PPC32/Linux: support is new but fairly complete.
PPC64/Linux: support is new but fairly complete.
x86/Darwin (Mac OS X): support is new.
AMD64/Darwin (Mac OS X): support is new.
S390X/Linux: support is new in 3.7.0.
ARM/Linux support for ARMv7 is fairly complete.
ARM/Android support is new in 3.7.0.
MIPS32/Linux support is new in 3.8.0.
On Linux, you must be running kernel 2.6.X or later, and glibc 2.5.X or later. That covers the vast majority of installed systems at present. On Mac OS X you must be running 10.7.x or later.

For details of which distributions the current release (valgrind-3.10.0) builds and runs its regression tests on, see the release notes.
[링크 : http://valgrind.org/info/platforms.html

'프로그램 사용 > valgrind' 카테고리의 다른 글

valgrind callgrind  (0) 2023.07.07
valgrind 누수 종류  (0) 2022.01.18
vaglind 사용  (0) 2022.01.14
valgrind GUI frontend- kcachegrind / valkyrie  (0) 2014.10.15
Posted by 구차니
프로그램 사용/valgrind2014. 10. 15. 17:25
valgrind에서 cache 로그를 분석하기 위한 GUI front-end로 kcachegrind가 있고
valgind log를 XML로 출력해서 분석하기 위한 valkyrie가 존재하는데.

valkyrie는 Ubuntu 10.04에서는 1.4.0 이기에
해당 valgrind 버전은 3.3.x 대의 XML 파일이 나와야 한다 -_-a
(문제는 3.3.x를 받아서 arm용으로 크로스 컴파일 하려니 지원하지 않는다는 점..
configure를 뒤져보니 x86 / powerpc 정도만 지원하는 것으로 보인다)

일단 둘다 QT를 지원해야 한다

[링크 : http://kcachegrind.sourceforge.net/] cachegrind 로그 뷰어
[링크 : http://www.open-works.net/projects/valkyrie.html] valkyrie (XML 파일 뷰어)



+
alleyoop 이라는 녀석도 우분투에서 패키지로 지원하나.. 10.04에서는 역시 구버전만.. 

'프로그램 사용 > valgrind' 카테고리의 다른 글

valgrind callgrind  (0) 2023.07.07
valgrind 누수 종류  (0) 2022.01.18
vaglind 사용  (0) 2022.01.14
valgrind 지원 플랫폼  (0) 2014.10.15
Posted by 구차니
프로그램 사용/apache2014. 10. 10. 11:31
ab는 아파치에서 제공하는 벤치마킹 툴로 우분투에서 아래의 패키지로 제공된다.
 $ sudo apt-get install apache2-utils

특이한건...
 $ ab http://localhost
는 안되고
 
 $ ab http://localhost/
 $ ab http://localhost/index.html
은 된다 -_-

[링크 : http://stackoverflow.com/.../apache-ab-will-not-work-ab-invalid-url-when-testing-python-cyclone]

-c 를 천단위로 할 수는 없는 듯 하다.
(1020을 넘어서니 socket: Too many open files(24) 에러를 발생한다)
-c concurrency
    Number of multiple requests to perform at a time. Default is one request at a time.

-n requests
    Number of requests to perform for the benchmarking session. The default is to just perform a single request which usually leads to non-representative benchmarking results. 

[링크 : http://linux.die.net/man/1/ab

Posted by 구차니
MPlayer 1.1을 크로스컴파일 하는데
가장 마지막 단계에서 배째는지라 죽어라 검색.. -_-

/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -o mplayer command.o m_property.o mixer.o mp_fifo.o mplayer.o parser-mpcmd.o pnm_loader.o input/input.o libao2/ao_mpegpes.o libao2/ao_null.o libao2/ao_pcm.o libao2/audio_out.o libvo/aspect.o libvo/geometry.o libvo/video_out.o libvo/vo_mpegpes.o libvo/vo_null.o sub/spuenc.o libao2/ao_alsa.o input/appleir.o libvo/vo_png.o udp_sync.o asxparser.o bstr.o codec-cfg.o cpudetect.o edl.o fmt-conversion.o m_config.o m_option.o m_struct.o mp_msg.o mp_strings.o mpcommon.o parser-cfg.o path.o playtree.o playtreeparser.o subopt-helper.o libaf/af.o libaf/af_center.o libaf/af_channels.o libaf/af_comp.o libaf/af_delay.o libaf/af_dummy.o libaf/af_equalizer.o libaf/af_extrastereo.o libaf/af_format.o libaf/af_gate.o libaf/af_hrtf.o libaf/af_karaoke.o libaf/af_pan.o libaf/af_resample.o libaf/af_scaletempo.o libaf/af_sinesuppress.o libaf/af_stats.o libaf/af_sub.o libaf/af_surround.o libaf/af_sweep.o libaf/af_tools.o libaf/af_volnorm.o libaf/af_volume.o libaf/filter.o libaf/format.o libaf/reorder_ch.o libaf/window.o libmpcodecs/ad.o libmpcodecs/ad_alaw.o libmpcodecs/ad_dk3adpcm.o libmpcodecs/ad_dvdpcm.o libmpcodecs/ad_hwac3.o libmpcodecs/ad_hwmpa.o libmpcodecs/ad_imaadpcm.o libmpcodecs/ad_msadpcm.o libmpcodecs/ad_pcm.o libmpcodecs/dec_audio.o libmpcodecs/dec_teletext.o libmpcodecs/dec_video.o libmpcodecs/img_format.o libmpcodecs/mp_image.o libmpcodecs/pullup.o libmpcodecs/vd.o libmpcodecs/vd_hmblck.o libmpcodecs/vd_lzo.o libmpcodecs/vd_mpegpes.o libmpcodecs/vd_mtga.o libmpcodecs/vd_null.o libmpcodecs/vd_raw.o libmpcodecs/vd_sgi.o libmpcodecs/vf.o libmpcodecs/vf_1bpp.o libmpcodecs/vf_2xsai.o libmpcodecs/vf_blackframe.o libmpcodecs/vf_boxblur.o libmpcodecs/vf_crop.o libmpcodecs/vf_cropdetect.o libmpcodecs/vf_decimate.o libmpcodecs/vf_delogo.o libmpcodecs/vf_denoise3d.o libmpcodecs/vf_detc.o libmpcodecs/vf_dint.o libmpcodecs/vf_divtc.o libmpcodecs/vf_down3dright.o libmpcodecs/vf_dsize.o libmpcodecs/vf_dvbscale.o libmpcodecs/vf_eq.o libmpcodecs/vf_eq2.o libmpcodecs/vf_expand.o libmpcodecs/vf_field.o libmpcodecs/vf_fil.o libmpcodecs/vf_filmdint.o libmpcodecs/vf_fixpts.o libmpcodecs/vf_flip.o libmpcodecs/vf_format.o libmpcodecs/vf_framestep.o libmpcodecs/vf_gradfun.o libmpcodecs/vf_halfpack.o libmpcodecs/vf_harddup.o libmpcodecs/vf_hqdn3d.o libmpcodecs/vf_hue.o libmpcodecs/vf_il.o libmpcodecs/vf_ilpack.o libmpcodecs/vf_ivtc.o libmpcodecs/vf_kerndeint.o libmpcodecs/vf_mirror.o libmpcodecs/vf_noformat.o libmpcodecs/vf_noise.o libmpcodecs/vf_ow.o libmpcodecs/vf_palette.o libmpcodecs/vf_perspective.o libmpcodecs/vf_phase.o libmpcodecs/vf_pp7.o libmpcodecs/vf_pullup.o libmpcodecs/vf_rectangle.o libmpcodecs/vf_remove_logo.o libmpcodecs/vf_rgbtest.o libmpcodecs/vf_rotate.o libmpcodecs/vf_sab.o libmpcodecs/vf_scale.o libmpcodecs/vf_smartblur.o libmpcodecs/vf_softpulldown.o libmpcodecs/vf_stereo3d.o libmpcodecs/vf_softskip.o libmpcodecs/vf_swapuv.o libmpcodecs/vf_telecine.o libmpcodecs/vf_test.o libmpcodecs/vf_tfields.o libmpcodecs/vf_tile.o libmpcodecs/vf_tinterlace.o libmpcodecs/vf_unsharp.o libmpcodecs/vf_vo.o libmpcodecs/vf_yadif.o libmpcodecs/vf_yuvcsp.o libmpcodecs/vf_yvu9.o libmpdemux/aac_hdr.o libmpdemux/asfheader.o libmpdemux/aviheader.o libmpdemux/aviprint.o libmpdemux/demuxer.o libmpdemux/demux_aac.o libmpdemux/demux_asf.o libmpdemux/demux_audio.o libmpdemux/demux_avi.o libmpdemux/demux_demuxers.o libmpdemux/demux_film.o libmpdemux/demux_fli.o libmpdemux/demux_lmlm4.o libmpdemux/demux_mf.o libmpdemux/demux_mkv.o libmpdemux/demux_mov.o libmpdemux/demux_mpg.o libmpdemux/demux_nsv.o libmpdemux/demux_pva.o libmpdemux/demux_rawaudio.o libmpdemux/demux_rawvideo.o libmpdemux/demux_realaud.o libmpdemux/demux_real.o libmpdemux/demux_roq.o libmpdemux/demux_smjpeg.o libmpdemux/demux_ts.o libmpdemux/demux_ty.o libmpdemux/demux_ty_osd.o libmpdemux/demux_viv.o libmpdemux/demux_vqf.o libmpdemux/demux_y4m.o libmpdemux/ebml.o libmpdemux/extension.o libmpdemux/mf.o libmpdemux/mp3_hdr.o libmpdemux/mp_taglists.o libmpdemux/mpeg_hdr.o libmpdemux/mpeg_packetizer.o libmpdemux/parse_es.o libmpdemux/parse_mp4.o libmpdemux/video.o libmpdemux/yuv4mpeg.o libmpdemux/yuv4mpeg_ratio.o osdep/getch2.o osdep/timer-linux.o stream/open.o stream/stream.o stream/stream_bd.o stream/stream_cue.o stream/stream_file.o stream/stream_mf.o stream/stream_null.o stream/url.o sub/eosd.o sub/find_sub.o sub/osd.o sub/spudec.o sub/sub.o sub/sub_cc.o sub/subreader.o sub/vobsub.o sub/font_load.o stream/dvb_tune.o stream/stream_dvb.o libvo/aclib.o av_helpers.o av_opts.o libaf/af_lavcac3enc.o libaf/af_lavcresample.o libmpcodecs/ad_ffmpeg.o libmpcodecs/ad_spdif.o libmpcodecs/vd_ffmpeg.o libmpcodecs/vf_geq.o libmpcodecs/vf_lavc.o libmpcodecs/vf_lavcdeint.o libmpcodecs/vf_screenshot.o libmpdemux/demux_lavf.o stream/stream_ffmpeg.o sub/av_sub.o libmpcodecs/vf_fspp.o libmpcodecs/vf_mcdeint.o libmpcodecs/vf_qp.o libmpcodecs/vf_spp.o libmpcodecs/vf_uspp.o sub/font_load_ft.o libmpcodecs/vf_bmovl.o libaf/af_export.o osdep/mmap_anon.o libmpcodecs/vf_ass.o sub/ass_mp.o sub/subassconvert.o libass/ass.o libass/ass_bitmap.o libass/ass_cache.o libass/ass_drawing.o libass/ass_font.o libass/ass_fontconfig.o libass/ass_library.o libass/ass_parse.o libass/ass_render.o libass/ass_render_api.o libass/ass_shaper.o libass/ass_strtod.o libass/ass_utils.o libmpcodecs/ad_libmad.o libmpcodecs/vd_libmpeg2.o libmpeg2/alloc.o libmpeg2/cpu_accel.o libmpeg2/cpu_state.o libmpeg2/decode.o libmpeg2/header.o libmpeg2/idct.o libmpeg2/motion_comp.o libmpeg2/slice.o libmpeg2/motion_comp_arm.o libmpeg2/motion_comp_arm_s.o libmpdemux/demux_rtp.o libmpdemux/demux_rtp_codec.o stream/stream_live555.o libmpcodecs/ad_mpg123.o libmpcodecs/ad_mp3lib.o mp3lib/sr1.o stream/stream_rtsp.o stream/freesdp/common.o stream/freesdp/errorlist.o stream/freesdp/parser.o stream/librtsp/rtsp.o stream/librtsp/rtsp_rtp.o stream/librtsp/rtsp_session.o stream/stream_netstream.o stream/asf_mmst_streaming.o stream/asf_streaming.o stream/cookies.o stream/http.o stream/network.o stream/pnm.o stream/rtp.o stream/udp.o stream/tcp.o stream/stream_rtp.o stream/stream_udp.o stream/realrtsp/asmrp.o stream/realrtsp/real.o stream/realrtsp/rmff.o stream/realrtsp/sdpplin.o stream/realrtsp/xbuffer.o libmpcodecs/vf_pp.o libmpcodecs/ad_realaud.o libmpcodecs/vd_realvid.o stream/cache2.o tremor/bitwise.o tremor/block.o tremor/codebook.o tremor/floor0.o tremor/floor1.o tremor/framing.o tremor/info.o tremor/mapping0.o tremor/mdct.o tremor/registry.o tremor/res012.o tremor/sharedbook.o tremor/synthesis.o tremor/window.o sub/unrar_exec.o libmpcodecs/ad_libvorbis.o libmpdemux/demux_ogg.o libmpcodecs/vd_xanim.o osdep/shmem.o ffmpeg/libpostproc/libpostproc.a ffmpeg/libavfilter/libavfilter.a ffmpeg/libavformat/libavformat.a ffmpeg/libavcodec/libavcodec.a ffmpeg/libswscale/libswscale.a ffmpeg/libswresample/libswresample.a ffmpeg/libavutil/libavutil.a -Wl,-z,noexecstack -lm -L/home/minimonk/work/live/liveMedia -L/home/minimonk/work/live/UsageEnvironment -L/home/minimonk/work/live/groupsock -L/home/minimonk/work/live/BasicUsageEnvironment -L/home/paseries/trunk/build/ltib/rootfs//usr/lib -ffast-math   -lncurses -lasound -ldl -lpthread -lfreetype -lz -lz -lbz2 -lmad -lmpg123 -lpthread -ldl -rdynamic  -lliveMedia -lUsageEnvironment -lgroupsock -lBasicUsageEnvironment

libmpdemux/demux_rtp.o: In function `demux_close_rtp':
demux_rtp.cpp:(.text+0x300): undefined reference to `operator delete[](void*)'
demux_rtp.cpp:(.text+0x308): undefined reference to `operator delete(void*)'
libmpdemux/demux_rtp.o: In function `demux_open_rtp':
demux_rtp.cpp:(.text+0x7ac): undefined reference to `operator new(unsigned int)'
demux_rtp.cpp:(.text+0xaac): undefined reference to `operator new(unsigned int)'
demux_rtp.cpp:(.text+0xb20): undefined reference to `operator new(unsigned int)'
demux_rtp.cpp:(.text+0xdf4): undefined reference to `__cxa_end_cleanup'
libmpdemux/demux_rtp.o: In function `ReadBufferQueue::~ReadBufferQueue()':
demux_rtp.cpp:(.text+0x1170): undefined reference to `operator delete(void*)'
libmpdemux/demux_rtp.o:(.ARM.extab+0x0): undefined reference to `__gxx_personality_v0'
libmpdemux/demux_rtp.o:(.rodata+0x24): undefined reference to `vtable for __cxxabiv1::__class_type_info'
libmpdemux/demux_rtp_codec.o: In function `rtpCodecInitialize_video(demuxer*, MediaSubsession*, unsigned int&)':
demux_rtp_codec.cpp:(.text+0xd00): undefined reference to `operator new[](unsigned int)'
demux_rtp_codec.cpp:(.text+0xe1c): undefined reference to `operator delete[](void*)'
/home/minimonk/work/live/liveMedia/libliveMedia.a(Media.o): In function `MediaLookupTable::~MediaLookupTable()':
Media.cpp:(.text+0x25c): undefined reference to `operator delete(void*)'
/home/minimonk/work/live/liveMedia/libliveMedia.a(Media.o): In function `_Tables::~_Tables()':
Media.cpp:(.text+0x280): undefined reference to `operator delete(void*)'
/home/minimonk/work/live/liveMedia/libliveMedia.a(Media.o): In function `Medium::~Medium()':
Media.cpp:(.text+0x2c8): undefined reference to `operator delete(void*)'
/home/minimonk/work/live/liveMedia/libliveMedia.a(Media.o): In function `_Tables::getOurTables(UsageEnvironment&, unsigned int)':
Media.cpp:(.text+0x3b4): undefined reference to `operator new(unsigned int)'
/home/minimonk/work/live/liveMedia/libliveMedia.a(Media.o): In function `MediaLookupTable::ourMedia(UsageEnvironment&)':
Media.cpp:(.text+0x4ac): undefined reference to `operator new(unsigned int)'
Media.cpp:(.text+0x4d0): undefined reference to `operator delete(void*)'
Media.cpp:(.text+0x4d8): undefined reference to `__cxa_end_cleanup'
/home/minimonk/work/live/liveMedia/libliveMedia.a(Media.o):(.ARM.extab+0x0): undefined reference to `__gxx_personality_v0'
/home/minimonk/work/live/liveMedia/libliveMedia.a(Media.o):(.rodata+0x64): undefined reference to `vtable for __cxxabiv1::__class_type_info'
/home/minimonk/work/live/liveMedia/libliveMedia.a(Media.o):(.rodata+0x78): undefined reference to `vtable for __cxxabiv1::__class_type_info'
/home/minimonk/work/live/liveMedia/libliveMedia.a(Media.o):(.rodata+0x88): undefined reference to `vtable for __cxxabiv1::__class_type_info'
/home/minimonk/work/live/liveMedia/libliveMedia.a(FramedSource.o): In function `FramedSource::~FramedSource()':
FramedSource.cpp:(.text+0x284): undefined reference to `operator delete(void*)'
/home/minimonk/work/live/liveMedia/libliveMedia.a(FramedSource.o):(.rodata+0x5c): undefined reference to `__cxa_pure_virtual'
/home/minimonk/work/live/liveMedia/libliveMedia.a(FramedSource.o):(.rodata+0x74): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/home/minimonk/work/live/liveMedia/libliveMedia.a(MPEG4LATMAudioRTPSource.o): In function `parseGeneralConfigStr(char const*, unsigned int&)': 

Take a look here: Linux C++: Linker is outputting strange errors.
In Android's Application.mk this would be:
APP_CPPFLAGS := -frtti
[링크 : http://stackoverflow.com/.../linker-errors-in-android-ndk-undefined-reference-to-cxa-end-cleanup]

It looks like you are not linking the proper C++ runtime libraries (which can be different then libstdc++). You should try using the C++ compiler to drive the linker rather then invoking the linker directly.
If you need to pass linker specific options via the compiler, you can use -Wl: 
[링크 : http://stackoverflow.com/questions/2665255/linux-c-linker-is-outputting-strange-errors]

아무튼.. g++로 컴파일 해야 하는데 gcc로 하는 바람에
c++ 그게 모에요? 우걱우걱 하는 현상으로 저런 말도 안되는 이상한 에러를 뿜뿜하는 상황
CC를 CXX로 바꾸면 된다. 
$ vi Makefile
 793 mencoder$(EXESUF) mplayer$(EXESUF):
 794     $(CXX) -o $@ $^ $(EXTRALIBS) 

물론  CXX로 쓰려면 config.mak 에서 CXX 변수도 gcc에서 g++로 변경해 주어야 한다.
$ vi config.mak
27 CC      = /opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linu     x-gnueabi-gcc
28 CXX     = /opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linu     x-gnueabi-g++ 

Posted by 구차니
ffmpeg을 사용한 녀석중에 하나인 Mplayer에
rtsp를 넣기 위해서는 live555를 활성화 시켜야 한다.

설명상에는 이것저것 넣으라고 하는데..
일단 1.1 버전에서는

--enable-live          enable LIVE555 Streaming Media [autodetect]

이런 옵션이 존재하고
옵션을 통해 live555의 라이브러리 및 inlcude를 지정해 주어야 한다.

[링크 : http://www.live555.com/mplayer/]
[링크 : http://www.live555.com/liveMedia/public/changelog.txt
[링크 : https://code.google.com/p/live555sourcecontrol/downloads/list]
[링크 : http://www.live555.com/liveMedia/public/
Posted by 구차니

일단, 이렇게 하드웨어 가상화 부분을 끄면 아래와 같이 경고를 발생하게 된다.


혹시나 해서 테스트 겸
bios에서 가상화를 끄고 왔더니 "가속" 탭 자체가 비활성화 되어버린다.


실행하면 에러가 발생하고
커널에서 부팅을 못하면서 먹통이 되어버려서.. ctrl-alt-del로 겨우 탈출 -_-

Posted by 구차니
virtualbox 4.3.12 버전에서 사용가능한 네트워크는


Not attached

NAT - Network Address Translation

NAT Network

Bridged networking

Internal networking

Host-only networking

Generic networking
7가지인데

인터넷이 되는 설정은 NAT / Bridged networking 뿐이다?
NAT Network 로 설정하면
NAT Network 로 설정한 VM 들 끼리는 통신이 가능하지만
외부로 인터넷 접속이 안된다 -_-

(제대로 된 테스트 필요)

   internet  other VMs
 Not attached  x  x
 NAT   o  x / DHCP
 NAT Network  x  o / DHCP
 Bridged networking  o  o (단, 다른 VM도 Bridged)
 Internal networking    
 Host-only networking  x  x

[링크 : https://www.virtualbox.org/manual/ch06.html]
[링크 : https://www.virtualbox.org/manual/ch06.html#network_nat_service

 Network Address Translation (NAT) is the simplest way of accessing an external network from a virtual machine. Usually, it does not require any configuration on the host network and guest system. For this reason, it is the default networking mode in VirtualBox.

 The Network Address Translation (NAT) service works in a similar way to a home router, grouping the systems using it into a network and preventing systems outside of this network from directly accessing systems inside it, but letting systems inside communicate with each other and with systems outside using TCP and UDP over IPv4 and IPv6.

 Internal Networking is similar to bridged networking in that the VM can directly communicate with the outside world. However, the "outside world" is limited to other VMs on the same host which connect to the same internal network.

 With bridged networking, VirtualBox uses a device driver on your host system that filters data from your physical network adapter.

 Host-only networking is another networking mode that was added with version 2.2 of VirtualBox. It can be thought of as a hybrid between the bridged and internal networking modes: as with bridged networking, the virtual machines can talk to each other and the host as if they were connected through a physical Ethernet switch. 
Posted by 구차니
mplayer에서는 -ao alsa:device=hw:0.0 식으로 음악을 바로 재생을 할 수 있는데..
ffmpeg은 입력을 받아서 저장은 되도.. 플레이는 안되나.. 보다 싶긴하다.
$ man ffmpeg
   Video and Audio grabbing
       If you specify the input format and device then ffmpeg can grab video and audio directly.

               ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg

       Or with an ALSA audio source (mono input, card id 1) instead of OSS:

               ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/out.mpg

       Note that you must activate the right video source and channel before launching ffmpeg with any TV viewer
       such as <http://linux.bytesex.org/xawtv/> by Gerd Knorr. You also have to set the audio recording levels
       correctly with a standard mixer. 

$ mam mplayer
AUDIO OUTPUT DRIVERS (MPLAYER ONLY)
       Audio output drivers are interfaces to different audio output facilities.  The syntax is:

       -ao <driver1[:suboption1[=value]:...],driver2,...[,]>
              Specify a priority list of audio output drivers to be used.

       If  the  list has a trailing ',' MPlayer will fall back on drivers not contained in the list.  Suboptions
       are optional and can mostly be omitted.
       NOTE: See -ao help for a list of compiled-in audio output drivers.

       EXAMPLE:
                 -ao alsa,oss,
                      Try the ALSA driver, then the OSS driver, then others.
                 -ao alsa:noblock:device=hw=0.3
                      Sets noblock-mode and the device-name as first card, fourth device. 

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

MPlayer 1.1 크로스컴파일  (0) 2014.10.08
live555 관련링크  (0) 2014.10.07
ffmpeg armv5te performance  (0) 2014.09.26
ffmpeg armv5te 옵션  (0) 2014.09.25
lame을 이용한 mp3 포맷변경  (0) 2014.09.24
Posted by 구차니

mp3만 가속됨
flac wav 는 거의 cpu를 소비하지 않는 수준
wmv ogg aac aacp는 우걱우걱이라 armv5te 에서는 무리 

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

live555 관련링크  (0) 2014.10.07
ASLA 입출력 - mplayer / ffmpeg  (0) 2014.09.29
ffmpeg armv5te 옵션  (0) 2014.09.25
lame을 이용한 mp3 포맷변경  (0) 2014.09.24
ubuntu에서 ffmpeg 컴파일하기  (0) 2010.01.14
Posted by 구차니