Ubuntu 14.10
**************************
*** Optional Library ***
*** Summary ***
**************************
*** Video Encoder ***
x264 Yes
x265 Yes
*** Miscellaneous ***
OpenGL Yes
FreeType2 Yes
FontConfig Yes
FRIBIDI Yes
FontConfig Yes
*** User Interface ***
Common No
GTK+ No
Qt 4 Yes
CLI No
**************************
*** Release Build ***
**************************
-- Packager=deb, valid choices= {deb,rpm,tgz,none}
-- Configuring done
-- Generating done
-- Build files have been written to: /media/tux/Development/avidemux2/buildPluginsQt4
** Failed at make, result in /tmp/logbuildPluginsQt4**
tux@tux:/media/tux/Development/avidemux2$
/media/tux/Development/avidemux2/avidemux_plugins/ADM_videoEncoder/x264/ADM_x264Setup.cpp:146:2: warning: #warning FIXME [-Wcpp]
#warning FIXME
^
/media/tux/Development/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp: In member function ââ,¬Ëœvirtual bool x265Encoder::setup()ââ,¬â,,¢:
/media/tux/Development/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:218:15: error: ââ,¬Ëœstruct x265_param::<anonymous>ââ,¬â,,¢ has no member named ââ,¬ËœrateToleranceââ,¬â,,¢
MKPARAM(rateTolerance,rate_tolerance);
^
/media/tux/Development/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:213:35: note: in definition of macro ââ,¬ËœMKPARAMââ,¬â,,¢
#define MKPARAM(x,y) {param.rc.x = x265Settings.ratecontrol.y;aprintf("[x265] rc."#x" = %d\n",param.rc.x);}
^
/media/tux/Development/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp: In function ââ,¬Ëœvoid dumpx265Setup(x265_param*)ââ,¬â,,¢:
/media/tux/Development/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:270:50: warning: format ââ,¬Ëœ%dââ,¬â,,¢ expects argument of type ââ,¬Ëœintââ,¬â,,¢, but argument 2 has type ââ,¬Ëœdoubleââ,¬â,,¢ [-Wformat=]
#define PD(x) printf(#x"\t:%d\n",(double)param->x)
^
/media/tux/Development/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:352:5: note: in expansion of macro ââ,¬ËœPDââ,¬â,,¢
PD(psyRd);
^
/media/tux/Development/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:397:8: error: ââ,¬Ëœstruct x265_param::<anonymous>ââ,¬â,,¢ has no member named ââ,¬ËœrateToleranceââ,¬â,,¢
RD(rateTolerance);
^
/media/tux/Development/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:389:52: note: in definition of macro ââ,¬ËœRDââ,¬â,,¢
#define RD(x) printf(#x"\t:%f\n",(double)param->rc.x)
^
ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_QT4.dir/build.make:116: recipe for target 'ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_QT4.dir/ADM_x265Setup.cpp.o' failed
make[2]: *** [ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_QT4.dir/ADM_x265Setup.cpp.o] Error 1
make[2]: Leaving directory '/media/tux/Development/avidemux2/buildPluginsQt4'
CMakeFiles/Makefile2:149: recipe for target 'ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_QT4.dir/all' failed
make[1]: *** [ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_QT4.dir/all] Error 2
Important information is missing like hardware, OS details:
Quote_____________________________________________
Avidemux v2.6.8 (#hash)
_____________________________________________
Compiler: GCC 4.8.2
cmake: 2.8.12.2
Build Target: Linux (x86-64)
User Interface: Qt (4.8.6)
_____________________________________________
Kernel: Linux 3.13.0-45-generic (x86_64) (linux-image-3.13.0-45-generic 3.13.0-45.74)
Distribution: Linux Ubuntu 14.04.1 LTS (Trusty)
Intel Core i7-3770K @ 3.50GHz (4 Cores/8 Threads) with 16 GB ram
Desktop: Unity 7.2.4
Display Server: X Server 1.15.1
Display Driver: nouveau 1.0.11
OpenGL: 2.1.2
OpenGL Vendor: NVIDIA Corporation
OpenGL Renderer: GeForce GT 520/PCIe/SSE2 1024MB (810/535MHz)
OpenGL: 4.2.0 NVIDIA 304.125
Compiler: GCC 4.8 + CUDA 5.5
vdpauinfo:
---------
API version: 1
NVIDIA VDPAU Driver Shared Library 304.125
_____________________________________________
What/how do you have installed as x265
x265 --version
x265 [info]: HEVC encoder version 1.4+201-b1c2ef980dfe
x265 [info]: build info [Linux][GCC 4.8.2][64 bit] 8bpp
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
Where do you get source from? How do you start avidemux build?
Attach the complete concerned log (zip file)
Looks similar to this report: http://avidemux.org/smuf/index.php/topic,16247.msg71402.html#msg71402
If you used: https://bitbucket.org/multicoreware/x265/get/1.4.tar.bz2 ?
Please
try this: build x265 videolan (http://avidemux.org/smuf/index.php/topic,16331.msg71655.html#msg71655)
rateTolerance was recently removed
https://bitbucket.org/multicoreware/x265/commits/ac94f35f450546c90bf46d431cc9d6651347fa2f
they forgot to bump X265_BUILD (it was eventually bumped for something else)
https://bitbucket.org/multicoreware/x265/src/154445474462/source/CMakeLists.txt
If you have build 41, we can't reliably detect whether you have rateTolerance or not.
We are still using x265 videolan, do we?
I use https://bitbucket.org/multicoreware/x265
What is the different between https://bitbucket.org/multicoreware/x265 and videolan. What is the leading repository?
for what is MKPARAM(rateTolerance,rate_tolerance); needed?
What happens, if I delete this Line?
Quote from: plux7887 on February 11, 2015, 09:26:38 PM
I use https://bitbucket.org/multicoreware/x265
What is the different between https://bitbucket.org/multicoreware/x265 and videolan. What is the leading repository?
for what is MKPARAM(rateTolerance,rate_tolerance); needed?
What happens, if I delete this Line?
Sorry about this. x265 is still relatively new and the public API is constantly changing on us.
To answer your questions above, MKPARAM(rateTolerance,rate_tolerance) sets the rateTolerance variable from the avgBitrateToleranceSpinBox in the x265 GUI. This is the "Average Bitrate Tolerance" option in the "quantiser" tab. If you remove that line (and the debug printf line at the bottom of ADM_x265Setup), you will indeed fix the problem. That particular option will no longer work; however, it seems like the x265 developers are no longer supporting that feature anyway. What they are supporting instead is the bStrictCbr option, so I am adding that option to the GUI when I fix the incompatibility above.
I am in the process of testing a patch which will permanently fix this problem and disable the option in the UI for newer versions of x265.
Update: The patch is ready. http://avidemux.org/smuf/index.php/topic,16354.0.html
Just tested avidemux commit
663f6c3 against current: multicoreware x265
api: drop fast-cbf option https://bitbucket.org/multicoreware/x265/commits/9ab104096834f51bd799ea1cf1160092f8182944
avidemux:
Quote-- Build files have been written to: /home/jan/avidemux2/buildPluginsQt4
** Failed at make, result in /tmp/logbuildPluginsQt4**
/home/jan/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp: In function ââ,¬Ëœvoid dumpx265Setup(x265_param*)ââ,¬â,,¢:
/home/jan/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:354:8: error: ââ,¬Ëœx265_paramââ,¬â,,¢ has no member named ââ,¬ËœbEnableCbfFastModeââ,¬â,,¢
PI(bEnableCbfFastMode);
^
/home/jan/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:275:46: note: in definition of macro ââ,¬ËœPIââ,¬â,,¢
#define PI(x) printf(#x"\t:%d\n",(int)param->x)
^
/home/jan/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:276:50: warning: format ââ,¬Ëœ%dââ,¬â,,¢ expects argument of type ââ,¬Ëœintââ,¬â,,¢, but argument 2 has type ââ,¬Ëœdoubleââ,¬â,,¢ [-Wformat=]
#define PD(x) printf(#x"\t:%d\n",(double)param->x)
^
/home/jan/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:358:5: note: in expansion of macro ââ,¬ËœPDââ,¬â,,¢
PD(psyRd);
^
make[2]: *** [ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_QT4.dir/ADM_x265Setup.cpp.o] Error 1
make[2]: Leaving directory `/home/jan/avidemux2/buildPluginsQt4'
make[1]: *** [ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_QT4.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
so I'm moving back to http://hg.videolan.org/x265. Until you devs tell me otherwisex265 went to version 1.5
Quote from: Jan Gruuthuse on February 12, 2015, 07:31:06 PM
Just tested avidemux commit 663f6c3 against current: multicoreware x265
api: drop fast-cbf option https://bitbucket.org/multicoreware/x265/commits/9ab104096834f51bd799ea1cf1160092f8182944
avidemux:
Quote-- Build files have been written to: /home/jan/avidemux2/buildPluginsQt4
** Failed at make, result in /tmp/logbuildPluginsQt4**
/home/jan/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp: In function ââ,¬Ëœvoid dumpx265Setup(x265_param*)ââ,¬â,,¢:
/home/jan/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:354:8: error: ââ,¬Ëœx265_paramââ,¬â,,¢ has no member named ââ,¬ËœbEnableCbfFastModeââ,¬â,,¢
PI(bEnableCbfFastMode);
^
/home/jan/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:275:46: note: in definition of macro ââ,¬ËœPIââ,¬â,,¢
#define PI(x) printf(#x"\t:%d\n",(int)param->x)
^
/home/jan/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:276:50: warning: format ââ,¬Ëœ%dââ,¬â,,¢ expects argument of type ââ,¬Ëœintââ,¬â,,¢, but argument 2 has type ââ,¬Ëœdoubleââ,¬â,,¢ [-Wformat=]
#define PD(x) printf(#x"\t:%d\n",(double)param->x)
^
/home/jan/avidemux2/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:358:5: note: in expansion of macro ââ,¬ËœPDââ,¬â,,¢
PD(psyRd);
^
make[2]: *** [ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_QT4.dir/ADM_x265Setup.cpp.o] Error 1
make[2]: Leaving directory `/home/jan/avidemux2/buildPluginsQt4'
make[1]: *** [ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_QT4.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
so I'm moving back to http://hg.videolan.org/x265. Until you devs tell me otherwise
x265 went to version 1.5
Looks like they removed the fast cbf mode within the last 24 hours. I will update the x265 plugin again tonight. For now, we can guarantee support for X265_VERSION < 45. Any higher has too many api changes...
Update: The patch is available. http://avidemux.org/smuf/index.php?topic=16355.msg71946#msg71946 It now builds on trunk again!
Thanks.
As user this is a big struggle. x265 can't find a relation with online source the version (1.4,1.5,...) and the reference used by you: X265_VERSION < 45
The big question building avidemux 2.6.8 distribution in relation to x265 version: do you build against latest stable 1.5 and will this work with users who have installed x265 1.4 or do these need to match?
What I found out by now, please correct me, if I have made the wrong assumptions.
Users should use x265 stable from http://hg.videolan.org/x265
Get source in to your home directory:
cd ~
hg clone http://hg.videolan.org/x265
Build from source:
cd ~/x265/build
cmake ../source
make
sudo make install
Test installation:
cd ~
x265 --version
x265 [info]: HEVC encoder version 1.5+1-32d72a0285e0
x265 [info]: build info [Linux][GCC 4.8.2][64 bit] 8bpp
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
Update the source files:
cd ~/x265
hg update stable
Switch versions:
hg up -r 1.4
build again and test:
x265 [info]: HEVC encoder version 1.4
x265 [info]: build info [Linux][GCC 4.8.2][64 bit] 8bpp
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
Quote from: Jan Gruuthuse on February 13, 2015, 09:13:10 AM
Thanks.
As user this is a big struggle. x265 can't find a relation with online source the version (1.4,1.5,...) and the reference used by you: X265_VERSION < 45
The big question building avidemux 2.6.8 distribution in relation to x265 version: do you build against latest stable 1.5 and will this work with users who have installed x265 1.4 or do these need to match?
What I found out by now, please correct me, if I have made the wrong assumptions.
Users should use x265 stable from http://hg.videolan.org/x265
Get source in to your home directory:
cd ~
hg clone http://hg.videolan.org/x265
Build from source:
cd ~/x265/build
cmake ../source
make
sudo make install
Test installation:
cd ~
x265 --version
x265 [info]: HEVC encoder version 1.5+1-32d72a0285e0
x265 [info]: build info [Linux][GCC 4.8.2][64 bit] 8bpp
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
Update the source files:
cd ~/x265
hg update stable
Switch versions:
hg up -r 1.4
build again and test:
x265 [info]: HEVC encoder version 1.4
x265 [info]: build info [Linux][GCC 4.8.2][64 bit] 8bpp
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
The X265_VERSION param is defined in x265_config.h. You can type "locate x265_config.h" on a unix-like system to find the file location.
As for supported versions of X265-- all stable versions of X265 >= 1.0 should work with avidemux. Trunk will also typically work; however, the X265 developers have been making large changes to their API lately. These changes have introduced incompatibilities which need to be resolved through code changes. It is particularly annoying when they make a public API change and forget to increment the X265_VERSION number.
x265 [info]: HEVC encoder version 1.5+1-32d72a0285e0
~/x265/build/x265_config.h
#define X265_BUILD 43
Quote from: Jan Gruuthuse on February 13, 2015, 05:10:52 PM
x265 [info]: HEVC encoder version 1.5+1-32d72a0285e0
~/x265/build/x265_config.h
#define X265_BUILD 43
And this is compiling and working, correct? Last night I compiled and tested with trunk (X265_BUILD 45) and it was working fine.
Yes it does: avidemux Cli/Qt 2.6.8-150213 64-bit deb download ubuntu LTS (http://avidemux.org/smuf/index.php/topic,16266.msg71952.html#msg71952)
Things did get troublesome while using the developers multicore source. Most likely did mess up with ./make-Makefiles.bash, the install did get in the wrong folders. libx265.so.43 would not load
ldd /usr/local/bin/x265
for 14.04.1 this should show:
linux-vdso.so.1 => (0x00007fff5edfe000)
libx265.so.43 => /usr/local/lib/libx265.so.43 (0x00007f9e1d801000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9e1d5e3000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9e1d2de000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9e1cf18000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9e1cc12000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9e1dc56000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9e1c9fb000)
All seems to work well (18fps) 720p avc to hvec (default settings), a file reduction +- 4.5 times (68.8 MB -> 14.9 MB)
source: 68.8 MB 720p4audioTracks3sat.ts (https://www.dropbox.com/s/a8scxh0m134zxh0/720p4audioTracks3sat.ts?dl=0)
result : 14.9 MB 3satHEVCx265.mkv (https://www.dropbox.com/s/wy2o62b9vom3jhc/3satHEVCx265.mkv?dl=0)
If you are making and installing from the x265 developer source code, the library might be installed in /usr/local/lib64. That could not be present in your PATH (as you probably meant to place it in /usr/lib64 instead), in which case you will have to move or symlink the library. You can also use ldd to ensure all dependencies are being linked appropriately, for example, "ldd libx265.so.43". Any dependency which does not produce a hexcode is failing to properly link, although based on what you said above, you already knew that ;).