Re: libx264 fix WORKED! was Re: newbie here, was Re: [CinCVS] Will not compile - Open SUSE 10.1
On Sunday 27 August 2006 23:28, Yama Ploskonka wrote: ln -s libx264.so.46 libx264.so.45 This apparently (?) makes Cinelerra believe you have libx264.so.45 while it actually uses libx264.so.46. This will likely crash cinelerra, _if_ you use h264 encoding. It still has that runaway thing that when I start play, sometimes it will not want to stop and will become completely unresponsive. Any fix for that? Go to Settings-Preferences-Playback; if you have choosen the ALSA audio driver, then enable Stop playback locks up. -- Hannes ___ Cinelerra mailing list Cinelerra@skolelinux.no https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra
newbie here, was Re: [CinCVS] Will not compile - Open SUSE 10.1
oh my. How do I run Alexis' patch? BTW, it seems a bunch of people have this issue, http://www.google.com/search?q=libx264+cinelerra+suse one interesting suggestion (that didn't work for me) was to try this from console su /usr/lib ln -s libx264.so.48 libx264.so.45 Yama Alexis Ballier wrote: Hi, I've had exactly the same problem and wrote a patch to fix this. It seems to work, but I think more tests are needed. I'm attaching the patch (against svn of trunk/hvirtual rev 840). Regards, --- cinelerra-cvs-20060827/quicktime/qth264.c 2006-08-27 00:32:07.130566427 +0200 +++ working/quicktime/qth264.c2006-08-27 03:00:58.486699204 +0200 @@ -136,7 +136,11 @@ x264_param_t default_params; x264_param_default(default_params); // Reset quantizer if fixed bitrate +#if X264_BUILD 48 if(codec-param.rc.b_cbr) +#else + if(codec-param.rc.i_rc_method == X264_RC_ABR ) +#endif { codec-param.rc.i_qp_constant = default_params.rc.i_qp_constant; codec-param.rc.i_qp_min = default_params.rc.i_qp_min; @@ -469,7 +473,11 @@ } else if(!strcasecmp(key, h264_fix_bitrate)) +#if X264_BUILD 48 codec-param.rc.b_cbr = (*(int*)value) / 1000; +#else + codec-param.rc.i_bitrate = (*(int*)value) / 1000; +#endif } } --- cinelerra-cvs-20060827/quicktime/ffmpeg/libavcodec/x264.c 2006-08-27 00:32:00.564013252 +0200 +++ working/quicktime/ffmpeg/libavcodec/x264.c2006-08-27 02:47:49.224599225 +0200 @@ -135,8 +135,13 @@ x4-params.i_keyint_max = avctx-gop_size; x4-params.rc.i_bitrate = avctx-bit_rate / 1000; x4-params.rc.i_vbv_buffer_size = avctx-rc_buffer_size / 1000; -if(avctx-rc_buffer_size) +if(avctx-rc_buffer_size){ +#if X264_BUILD 48 x4-params.rc.b_cbr = 1; +#else + x4-params.rc.i_rc_method = X264_RC_ABR; +#endif +} x4-params.i_bframe = avctx-max_b_frames; x4-params.b_cabac = avctx-coder_type == FF_CODER_TYPE_AC; ___ Cinelerra mailing list Cinelerra@skolelinux.no https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra
libx264 fix WORKED! was Re: newbie here, was Re: [CinCVS] Will not compile - Open SUSE 10.1
actually a bit differently from what I posted previously 1) Run Cinelerra from console /usr/bin/cinelerra in my case that told me that libx264.so.45 was missing. 2) see what libx264 you have. in the console, cd /usr/lib ls libx264* that showed me I had libx264.so.46 3) link that libx264 version to the one Cinelerra requests You will need to enter as root su (enter password) ln -s libx264.so.46 libx264.so.45 This apparently (?) makes Cinelerra believe you have libx264.so.45 while it actually uses libx264.so.46. 4) Run Cinelerra well, it hasn't crashed yet. It complains it cannot find a couple plugins and cannot open the usr/bin/cinelerra directory, but otherwise seems fine. It still has that runaway thing that when I start play, sometimes it will not want to stop and will become completely unresponsive. Any fix for that? Yama Yama Ploskonka wrote: one interesting suggestion (that didn't work for me) was to try this from console su /usr/lib ln -s libx264.so.48 libx264.so.45 ___ Cinelerra mailing list Cinelerra@skolelinux.no https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra
Re: newbie here, was Re: [CinCVS] Will not compile - Open SUSE 10.1
Hi, Here is how I applied the patch to the SVN source tree. - download patch to the hvirtual directory SVN created - from a terminal window cd to the hvirtual directory - run command : patch -i x264.patch it will display something like this: Perhaps you should have used the -p or --strip option? The text leading up to this was: -- |--- cinelerra-cvs-20060827/quicktime/qth264.c 2006-08-27 00:32:07.130566427 +0200 |+++ working/quicktime/qth264.c 2006-08-27 03:00:58.486699204 +0200 -- File to patch: Type in the path to file as ./quicktime/qth264.c The next file will be ./quicktime/ffmpeg/libavcodec/x264.c That should do it, you can now do a make clean, a ./config and build with make. It should compile fine, then install from root with make install. Hope this helps... Scott Yama Ploskonka wrote: oh my. How do I run Alexis' patch? BTW, it seems a bunch of people have this issue, http://www.google.com/search?q=libx264+cinelerra+suse one interesting suggestion (that didn't work for me) was to try this from console su /usr/lib ln -s libx264.so.48 libx264.so.45 Yama Alexis Ballier wrote: Hi, I've had exactly the same problem and wrote a patch to fix this. It seems to work, but I think more tests are needed. I'm attaching the patch (against svn of trunk/hvirtual rev 840). Regards, --- cinelerra-cvs-20060827/quicktime/qth264.c2006-08-27 00:32:07.130566427 +0200 +++ working/quicktime/qth264.c 2006-08-27 03:00:58.486699204 +0200 @@ -136,7 +136,11 @@ x264_param_t default_params; x264_param_default(default_params); // Reset quantizer if fixed bitrate +#if X264_BUILD 48 if(codec-param.rc.b_cbr) +#else +if(codec-param.rc.i_rc_method == X264_RC_ABR ) +#endif { codec-param.rc.i_qp_constant = default_params.rc.i_qp_constant; codec-param.rc.i_qp_min = default_params.rc.i_qp_min; @@ -469,7 +473,11 @@ } else if(!strcasecmp(key, h264_fix_bitrate)) +#if X264_BUILD 48 codec-param.rc.b_cbr = (*(int*)value) / 1000; +#else +codec-param.rc.i_bitrate = (*(int*)value) / 1000; +#endif } } --- cinelerra-cvs-20060827/quicktime/ffmpeg/libavcodec/x264.c 2006-08-27 00:32:00.564013252 +0200 +++ working/quicktime/ffmpeg/libavcodec/x264.c 2006-08-27 02:47:49.224599225 +0200 @@ -135,8 +135,13 @@ x4-params.i_keyint_max = avctx-gop_size; x4-params.rc.i_bitrate = avctx-bit_rate / 1000; x4-params.rc.i_vbv_buffer_size = avctx-rc_buffer_size / 1000; -if(avctx-rc_buffer_size) +if(avctx-rc_buffer_size){ +#if X264_BUILD 48 x4-params.rc.b_cbr = 1; +#else +x4-params.rc.i_rc_method = X264_RC_ABR; +#endif +} x4-params.i_bframe = avctx-max_b_frames; x4-params.b_cabac = avctx-coder_type == FF_CODER_TYPE_AC; ___ Cinelerra mailing list Cinelerra@skolelinux.no https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra ___ Cinelerra mailing list Cinelerra@skolelinux.no https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra
Re: newbie here, was Re: [CinCVS] Will not compile - Open SUSE 10.1
Hi, cd hvirtualpatch -p1 /path/to/the/patch/x264.patchit was intended to be used like that and it should patch without asking questions ;)Btw, doing a symbolic link of the library will probably make cinelerra unstable, you can expect seg faults when using x264 stuff. -- Alexis Ballier.