FS#16736 - [mplayer] Recent update to mplayer/mencoder doesn't encode x264 anymore
Attached to Project:
Arch Linux
Opened by Karthik Periagaram (karthikp) - Monday, 19 October 2009, 07:35 GMT
Last edited by Ionut Biru (wonder) - Monday, 08 February 2010, 00:22 GMT
Opened by Karthik Periagaram (karthikp) - Monday, 19 October 2009, 07:35 GMT
Last edited by Ionut Biru (wonder) - Monday, 08 February 2010, 00:22 GMT
|
Details
Description:
The recent update to mplayer (29776) seems to break the x264 encoder. It doesn't encode to x264 anymore, even if the x264 package is installed. Additional info: mplayer-29776-1-x86_64 Steps to reproduce: 1) Update to above version of mplayer. 2) mencoder (...) -ovc x264 -x264encopts (...) 3) An error is thrown saying, "-x264encopts is not an MEncoder option" |
This task depends upon
x264 20091024
mplayer 29796
The problem:
libavcodec/libavcodec.a(libx264.o): In function `X264_frame':
libx264.c:(.text+0x1d0): undefined reference to `x264_encoder_encode'
libavcodec/libavcodec.a(libx264.o): In function `X264_close':
libx264.c:(.text.unlikely+0x35): undefined reference to `x264_encoder_close'
libavcodec/libavcodec.a(libx264.o): In function `X264_init':
libx264.c:(.text.unlikely+0x5d): undefined reference to `x264_param_default'
libx264.c:(.text.unlikely+0x43d): undefined reference to `x264_encoder_open_78'
libx264.c:(.text.unlikely+0x47e): undefined reference to `x264_encoder_headers'
collect2: ld returned 1 exit status
make: *** [mplayer] Error 1
I tried some other combinations of mplayer/x264 too. I trying to figure out what's the problem. What's your gcc version?
$ pacman -Q gcc x264 mplayer
gcc 4.4.1-1
x264 20090416-1
mplayer 29776-1
$ ldd /usr/bin/mplayer | grep x264
$ ldd /usr/bin/mencoder | grep x264
---------------
$ pacman -Q gcc x264 mplayer
gcc 4.4.1-1
x264 20091024-1
mplayer 29796-1
$ ldd /usr/bin/mplayer | grep x264
libx264.so.78 => /usr/lib/libx264.so.78 (0xb6b78000)
$ ldd /usr/bin/mencoder | grep x264
libx264.so.78 => /usr/lib/libx264.so.78 (0xb6ecf000)
ERROR: libx264 not found
If you think configure made a mistake, make sure you are using the latest
version from SVN. If the latest version fails, report the problem to the
ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.err" produced by configure as this will help
solving the problem.
[1] http://secunia.com/advisories/36805/
Does someone know what could be messing my build?
Probably, my build logs can help you to find the issue.
mplayer-29796-1-x86_64-build.... (835 KiB)
When I add --enable-x264 to the PKGBUILD, I get the same error like you. For my builds, I just changed the package version and the versioned dependency for x264.
Hopefully, you added this flag to to configure line. :)
http://forum.doom9.org/showthread.php?t=149593&highlight=x264+api
Also, having in extra an ffmpeg svn build newer than 0.5, will solve other problems as well.
For example, audacity later than 1.3.7 (we are at 1.3.9 now) needs an ffmpeg later than 0.5 to be able to import files from it.
IMHO, it is time to move to a more recent build of ffmpeg.
- mplayer (svn version 30051), ffmpeg (svn version 20889), xine-lib, mlt and vlc compile and run fine with x264 support.
- avidemux 2.5.1 (current stable version for Arch) didn't compile, but the recently released version 2.5.2 compiles and runs fine with x264 support.
- libquicktime and cinelerra-cv don't compile anymore ; cinelerra crashes and openmovieeditor (which depends on libquicktime) still imports mpeg1-2 videos but not mpeg4 nor mjpeg.
So reintroducing x264 support in mencoder breaks at least libquicktime and cinelerra, for the moment (I didn't try the development version of libquicktime yet).
- libquicktime without x264 support (option '--without-x264' passed to configure)
- cinelerra-cv with internal ffmpeg libs (by removing '--with-external-ffmpeg'in the PKGBUILD) AND by removing 10 or 12 files that conflicted with installed ffmpeg files. These files can be removed by rm commands inside the PKGBUILD, and cinelerra seems to work properly without them (more precisely, with the external ffmpeg ones).
So, here's an option to consider : upgrade x264, ffmpeg, mplayer, etc., at the price of removing x264 support from libquicktime and applying a little hack to cinelerra-cv.
I think this bug can now be closed.
Additional info:
mplayer-30519-1-x86_64