View Single Post
Old 2nd December 2008, 18:50   #2  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
You must make sure that you use the same core version of libx264-xx.dll that Avidemux was compiled for!

Usually the x264 API is unchanged over several revisions, but once it is changed, Avidemux needs to be re-compiled with latest x264.h too!

For example if a Avidemux shipped with libx264-65.dll, then it will only work with libx264 core version 65...


BTW: You need to apply the alignment fix patch to make libx264-xx.dll work properly, otherwise it will crash when executing some of the SSE functions.

And you need GCC 4.2.x or newer to make the alignment fix work. Also Avisynth input is useless for the x264 DLL.


My build script looks like this:
Code:
git clone git://git.videolan.org/x264.git
echo 
echo --------------------------------------------------------------------------
echo 
cd x264
patch -p1 < ../avidemux.diff
echo 
echo --------------------------------------------------------------------------
echo 
./configure --enable-shared --extra-cflags="-march=pentium2"
echo 
echo --------------------------------------------------------------------------
echo 
make fprofiled VIDS="../sample.avs ../sample2.avs"
echo 
echo --------------------------------------------------------------------------
The patch is as follows:
Code:
*** a/encoder/encoder.c	Fri Sep 19 23:19:33 2008
--- b/encoder/encoder.c	Sat Sep 20 03:38:48 2008
*************** static int x264_slices_write( x264_t *h 
*** 1328,1329 ****
--- 1341,1343 ----
   ****************************************************************************/
+ __attribute__((force_align_arg_pointer))
  int     x264_encoder_encode( x264_t *h,

Last but not least, latest libx264-65.dll for Avidemux r4494 can be found here:
http://forum.doom9.org/showthread.ph...26#post1218226
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 2nd December 2008 at 20:08.
LoRd_MuldeR is offline   Reply With Quote