Since the release of the latest x264 versions (in my case 20081012-2245), there have been some problems compiling MPlayer with x264 support. These problems express themselves in these error messages:
libx264.c: In function ‘X264_init’:
libx264.c:165: error: ‘x264_param_t’ has no member named ‘b_bframe_adaptive’
libx264.c:228: error: ‘struct <anonymous>’ has no member named ‘b_bidir_me’
libx264.c:229: error: ‘struct <anonymous>’ has no member named ‘b_bframe_rdo’
libx264.c:254: error: ‘struct <anonymous>’ has no member named ‘psz_rc_eq’
make[1]: *** [libx264.o] Error 1
These problems stem from the latest versions having some members of a struct renamed. There is a thread on mplayer-devel concerning exactly this problem, but sadly the patch doesn’t seem to go far enough since I still get some compiler errors even after applying the patch (the first error goes away, the others stay – figures). Therefore I scurried around the interwebs a bit and found this thread on gentoo bugzilla, which supplies a working patch.
At this point some of you may actually be wondering how to apply one of these patch files – Simply place the patch file in your mplayer root folder (where the configure script is and so on), open your console, change to the mplayer root directory, and type in:
patch -p0 < patchname
So if your patch file is named “ff.patch”, type in:
patch -p0 < ff.patch
Now if you have used the second patch you may have noticed that the patch program says that it cant find the file to patch. This is normal since patch assumes the file is in another directory altogether, which you can see by looking at the patch file with a normal text editor. When asked which file to patch type in:
libavcodec/libx264.c
After that you can simply resume by running make again. Happy compiling.
One Comment
thanks a lot. it is an amazing solusion.
just i was in the midst of nothing when i find the solusion and thats it.