[MPlayer-users] Compile MEncoder with x264 in libavcodec

Pedro A. Aranda paaguti at hotmail.com
Wed May 7 09:13:19 CEST 2008


Mark Himsley <mark <at> mdsh.com> writes:

> 
> Reimar Döffinger wrote:
> > On Tue, May 06, 2008 at 08:56:46PM +0700, ajaxas wrote:
> >> On Tue, 6 May 2008 15:36:52 +0200
> >> Reimar Döffinger <Reimar.Doeffinger <at> stud.uni-karlsruhe.de> wrote:
> >>
> >>> On Mon, May 05, 2008 at 05:28:04PM +0100, Mark Himsley wrote:
> >>>> I've been compiling Mplayer and MEncoder on Linux every now-and-then. I 
> >>>> don't remember having to do anything too special to get x264 into 
> >>>> libavcodec but currently ./configure --enable-menu results in:
> >>>>
> >>>> [SNIP]
> >>>> Checking for x264 ... yes (in libavcodec: no)
> >>>> [SNIP]
> >>> This is not happening for me, and after looking at the configure code I
> >>> can't see how this can happen. Are you sure you have a proper configure
> >>> and not some bad hacks in it?
> >> I got the same result by running original ./configure without any options
passed.
> > 
> > Oh. Diego broke it...
> 
> Diego thinks he's fixed it (according to the SVN log) and when running 
> `./configure --enable-menu` but I now get:
> 
> [SNIP]
> Result is: yes (in libavcodec: )
> [SNIP]
> 
> So compile mplayer/mencoder and running my script to convert a folder of 
> MPEG2 videos to MP4 H.264 I get a segfault...
> 


Hi all,

I have at this point both mplayer and x264 at their most updated status
and experience the following:

1) with ./configure libx264 doesn't get even detected and thus I get an
executable which is not able to do x264

2) with ./configure --enable-x264 --enable-menu && make I have two test cases
a) with the original yasm shipped with Ubuntu 8.04, when making libx264 I get:
paag at paag:~/Personal/Devel/x264$ ./configure
No suitable assembler found.  x264 will be several times slower.
Please install 'yasm' to get MMX/SSE optimized code.
Platform:   X86
System:     LINUX
avis input: no
mp4 output: no
pthread:    yes
gtk:        no
debug:      no
gprof:      no
PIC:        no
shared:     no
visualize:  no

But then, when I compile mplayer, I get working (though slow) X264 encoding

b)with the last yasm, I get an MMX/SSE optimised libx264, but when compiling
mplayer, I get:
cc -o mplayer mplayer.o m_property.o mp_fifo.o mp_msg.o mixer.o parser-mpcmd.o
command.o input/input.o libao2/audio_out.o libao2/ao_mpegpes.o libao2/ao_null.o
libao2/ao_pcm.o libao2/ao_v4l2.o libao2/ao_oss.o libao2/ao_alsa.o libvo/aspect.o
libvo/geometry.o libvo/spuenc.o libvo/video_out.o libvo/vo_mpegpes.o
libvo/vo_null.o libvo/vo_yuv4mpeg.o libvo/vo_tga.o libvo/vo_md5sum.o
libvo/x11_common.o libvo/vo_x11.o libvo/vo_xover.o libvo/vo_xv.o libvo/vo_dga.o
libvo/vo_cvidix.o libvo/vo_xvidix.o libvo/vo_fbdev.o libvo/vo_fbdev2.o
libvo/vo_png.o libvo/vo_pnm.o libvo/vo_v4l2.o libmenu/menu.o
libmenu/menu_chapsel.o libmenu/menu_cmdlist.o libmenu/menu_console.o
libmenu/menu_filesel.o libmenu/menu_list.o libmenu/menu_param.o
libmenu/menu_pt.o libmenu/menu_txt.o libmenu/vf_menu.o libmenu/menu_dvbin.o
libvo/vosub_vidix.o vidix/vidixlib.o vidix/drivers.o vidix/dha.o vidix/mtrr.o
vidix/pci.o vidix/pci_names.o vidix/pci_dev_ids.o vidix/cyberblade_vid.o
vidix/mach64_vid.o vidix/mga_vid.o vidix/mga_crtc2_vid.o vidix/nvidia_vid.o
vidix/pm2_vid.o vidix/pm3_vid.o vidix/radeon_vid.o vidix/rage128_vid.o
vidix/s3_vid.o vidix/sis_vid.o vidix/sis_bridge.o vidix/unichrome_vid.o
asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o get_path.o m_config.o
m_option.o m_struct.o mpcommon.o parser-cfg.o playtree.o playtreeparser.o
spudec.o sub_cc.o subopt-helper.o subreader.o vobsub.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_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_msgsm.o
libmpcodecs/ad_pcm.o libmpcodecs/dec_audio.o libmpcodecs/dec_video.o
libmpcodecs/img_format.o libmpcodecs/mp_image.o libmpcodecs/native/nuppelvideo.o
libmpcodecs/native/rtjpegn.o libmpcodecs/native/xa_gsm.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_nuv.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_flip.o libmpcodecs/vf_format.o libmpcodecs/vf_framestep.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_rgb2bgr.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_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_yuy2.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_nuv.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
libvo/aclib.o libvo/osd.o libvo/sub.o osdep/getch2.o osdep/timer-linux.o
stream/open.o stream/stream.o stream/stream_cue.o stream/stream_file.o
stream/stream_mf.o stream/stream_null.o stream/url.o libvo/font_load.o
stream/dvb_tune.o stream/stream_dvb.o stream/stream_dvd.o
stream/stream_dvd_common.o dvdread/cmd_print.o dvdread/dvd_input.o
dvdread/dvd_reader.o dvdread/dvd_udf.o dvdread/ifo_print.o dvdread/ifo_read.o
dvdread/md5.o dvdread/nav_print.o dvdread/nav_read.o libmpcodecs/ad_faad.o
libvo/font_load_ft.o stream/stream_ftp.o libmpcodecs/vf_bmovl.o
osdep/mmap_anon.o libaf/af_export.o libmpcodecs/ad_liba52.o liba52/crc.o
liba52/resample.o liba52/bit_allocate.o liba52/bitstream.o liba52/downmix.o
liba52/imdct.o liba52/parse.o libass/ass.o libass/ass_bitmap.o
libass/ass_cache.o libass/ass_font.o libass/ass_fontconfig.o
libass/ass_library.o libass/ass_mp.o libass/ass_render.o libass/ass_utils.o
libmpcodecs/vf_ass.o libaf/af_lavcresample.o libmpcodecs/ad_ffmpeg.o
libmpcodecs/vd_ffmpeg.o libmpcodecs/vf_lavc.o libmpcodecs/vf_lavcdeint.o
libmpcodecs/vf_screenshot.o libaf/af_lavcac3enc.o libmpcodecs/vf_fspp.o
libmpcodecs/vf_geq.o libmpcodecs/vf_mcdeint.o libmpcodecs/vf_qp.o
libmpcodecs/vf_spp.o libmpcodecs/vf_uspp.o libmpdemux/demux_lavf.o
libdvdcss/css.o libdvdcss/device.o libdvdcss/error.o libdvdcss/ioctl.o
libdvdcss/libdvdcss.o libfaad2/bits.o libfaad2/cfft.o libfaad2/common.o
libfaad2/decoder.o libfaad2/drc.o libfaad2/drm_dec.o libfaad2/error.o
libfaad2/filtbank.o libfaad2/hcr.o libfaad2/huffman.o libfaad2/ic_predict.o
libfaad2/is.o libfaad2/lt_predict.o libfaad2/mdct.o libfaad2/mp4.o libfaad2/ms.o
libfaad2/output.o libfaad2/pns.o libfaad2/ps_dec.o libfaad2/ps_syntax.o
libfaad2/pulse.o libfaad2/rvlc.o libfaad2/sbr_dct.o libfaad2/sbr_dec.o
libfaad2/sbr_e_nf.o libfaad2/sbr_fbt.o libfaad2/sbr_hfadj.o libfaad2/sbr_hfgen.o
libfaad2/sbr_huff.o libfaad2/sbr_qmf.o libfaad2/sbr_syntax.o
libfaad2/sbr_tf_grid.o libfaad2/specrec.o libfaad2/ssr.o libfaad2/ssr_fb.o
libfaad2/ssr_ipqf.o libfaad2/syntax.o libfaad2/tns.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
libmpcodecs/vf_pp.o libmpcodecs/ad_libvorbis.o libmpdemux/demux_ogg.o
libmpcodecs/ad_mp3lib.o mp3lib/sr1.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/librtsp/rtsp.o
stream/realrtsp/asmrp.o stream/realrtsp/real.o stream/realrtsp/rmff.o
stream/realrtsp/sdpplin.o stream/realrtsp/xbuffer.o stream/stream_rtsp.o
stream/freesdp/common.o stream/freesdp/errorlist.o stream/freesdp/parser.o
stream/librtsp/rtsp_rtp.o stream/librtsp/rtsp_session.o osdep/shmem.o
libmpcodecs/vd_mpng.o stream/stream_pvr.o libmpcodecs/ad_qtaudio.o
libmpcodecs/vd_qtvideo.o loader/wrapper.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 stream/stream_tv.o
stream/tv.o stream/frequencies.o stream/tvi_dummy.o stream/tvi_vbi.o
stream/tvi_v4l.o stream/audio_in.o stream/tvi_v4l2.o unrar_exec.o
stream/stream_vcd.o loader/elfdll.o loader/ext.o loader/ldt_keeper.o
loader/module.o loader/pe_image.o loader/pe_resource.o loader/registry.o
loader/resource.o loader/win32.o libmpcodecs/ad_acm.o libmpcodecs/ad_dmo.o
libmpcodecs/ad_dshow.o libmpcodecs/ad_twin.o libmpcodecs/vd_dmo.o
libmpcodecs/vd_dshow.o libmpcodecs/vd_vfw.o libmpcodecs/vd_vfwex.o
libmpdemux/demux_avs.o loader/afl.o loader/driver.o loader/vfl.o
loader/dshow/DS_AudioDecoder.o loader/dshow/DS_Filter.o
loader/dshow/DS_VideoDecoder.o loader/dshow/allocator.o
loader/dshow/cmediasample.o loader/dshow/guids.o loader/dshow/inputpin.o
loader/dshow/mediatype.o loader/dshow/outputpin.o loader/dmo/DMO_AudioDecoder.o
loader/dmo/DMO_VideoDecoder.o loader/dmo/buffer.o loader/dmo/dmo.o
loader/dmo/dmo_guids.o libmpcodecs/vd_xanim.o stream/ai_alsa1x.o stream/ai_oss.o
libmpeg2/idct_mmx.o libmpeg2/motion_comp_mmx.o mp3lib/decode_i586.o
mp3lib/decode_mmx.o mp3lib/dct64_sse.o mp3lib/dct64_mmx.o
libswscale/libswscale.a libavformat/libavformat.a libavcodec/libavcodec.a
libavutil/libavutil.a libpostproc/libpostproc.a -lXext -lX11 -lpthread -lXss
-lXv -lXinerama -lXxf86vm -lXxf86dga -Wl,-z,noexecstack    -lncurses -lpng -lz
-lasound -ldl -lpthread -lfreetype -lz -lfontconfig  -lz -lpthread -ldl
-rdynamic  -lm   
libavcodec/libavcodec.a(libx264.o): In function `X264_close':
libx264.c:(.text+0x1b): undefined reference to `x264_encoder_close'
libavcodec/libavcodec.a(libx264.o): In function `X264_init':
libx264.c:(.text+0x45): undefined reference to `x264_param_default'
libx264.c:(.text+0x3db): undefined reference to `x264_encoder_open'
libx264.c:(.text+0x4be): undefined reference to `x264_encoder_headers'
libx264.c:(.text+0x557): undefined reference to `x264_nal_encode'
libavcodec/libavcodec.a(libx264.o): In function `X264_frame':
libx264.c:(.text+0x692): undefined reference to `x264_encoder_encode'
libx264.c:(.text+0x6ee): undefined reference to `x264_nal_encode'
collect2: ld returned 1 exit status
make: *** [mplayer] Error 1






More information about the MPlayer-users mailing list