[x265] why fail to build x265 with vmaf

Emily Bowman silverbacknet at gmail.com
Fri Sep 6 14:00:38 CEST 2019


Your libvmaf is way out of date; the current version includes <string> and
for whatever reason, yours doesn't. Pull from the head netflix vmaf repo.


From: qw <applemax82 at 163.com>


>
> Hi,
>
>
> My environment is :
> CentOS Linux release 7.4.1708 (Core)
> gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
> cmake version 3.15.2
>
>
> the version of x265 and vmaf is x265-3.1.1 and vmaf-1.3.14 respectively.
>
>
> First, I build and install vmaf. Second I build x265 using the following
> command, but fail:
> cmake -G "Unix Makefiles"-DENABLE_LIBVMAF=ON -DENABLE_SHARED=OFF
> -DSTATIC_LINK_CRT=ON -DCMAKE_BUILD_TYPE=Release
> -DCMAKE_CXX_FLAGS="-std=c++11" ../source/
> make
>
>
> Below is the error message:
>
>
> Scanning dependencies of target encoder
> [  1%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o
> [  2%] Building CXX object encoder/CMakeFiles/encoder.dir/search.cpp.o
> [  3%] Building CXX object encoder/CMakeFiles/encoder.dir/bitcost.cpp.o
> [  4%] Building CXX object encoder/CMakeFiles/encoder.dir/motion.cpp.o
> [  6%] Building CXX object encoder/CMakeFiles/encoder.dir/slicetype.cpp.o
> [  7%] Building CXX object
> encoder/CMakeFiles/encoder.dir/frameencoder.cpp.o
> [  8%] Building CXX object encoder/CMakeFiles/encoder.dir/framefilter.cpp.o
> [  9%] Building CXX object encoder/CMakeFiles/encoder.dir/level.cpp.o
> [ 10%] Building CXX object encoder/CMakeFiles/encoder.dir/nal.cpp.o
> [ 12%] Building CXX object encoder/CMakeFiles/encoder.dir/sei.cpp.o
> [ 13%] Building CXX object encoder/CMakeFiles/encoder.dir/sao.cpp.o
> [ 14%] Building CXX object encoder/CMakeFiles/encoder.dir/entropy.cpp.o
> [ 15%] Building CXX object encoder/CMakeFiles/encoder.dir/dpb.cpp.o
> [ 17%] Building CXX object encoder/CMakeFiles/encoder.dir/ratecontrol.cpp.o
> [ 18%] Building CXX object encoder/CMakeFiles/encoder.dir/reference.cpp.o
> [ 19%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.o
> [ 20%] Building CXX object encoder/CMakeFiles/encoder.dir/api.cpp.o
> In file included from
> /data2/qiang/vod_transcoder/add_vmaf/x265-3.1.1/source/encoder/api.cpp:36:0:
> /usr/local/include/libvmaf.h:95:27: error: 'string' in namespace 'std'
> does not name a type
>      void set_scores(const std::string &key, const StatVector &scores);
>                            ^
> /usr/local/include/libvmaf.h:96:33: error: 'string' in namespace 'std'
> does not name a type
>      StatVector get_scores(const std::string &key);
>                                  ^
> /usr/local/include/libvmaf.h:97:27: error: 'string' in namespace 'std'
> does not name a type
>      bool has_scores(const std::string &key);
>                            ^
> /usr/local/include/libvmaf.h:98:28: error: 'string' in namespace 'std'
> does not name a type
>      double get_score(const std::string &key);
>                             ^
> /usr/local/include/libvmaf.h:99:17: error: 'string' is not a member of
> 'std'
>      std::vector<std::string> get_keys();
>                  ^
> /usr/local/include/libvmaf.h:99:17: error: 'string' is not a member of
> 'std'
> /usr/local/include/libvmaf.h:99:28: error: template argument 1 is invalid
>      std::vector<std::string> get_keys();
>                             ^
> /usr/local/include/libvmaf.h:99:28: error: template argument 2 is invalid
> /usr/local/include/libvmaf.h:102:14: error: 'string' is not a member of
> 'std'
>      std::map<std::string, StatVector> d;
>               ^
> /usr/local/include/libvmaf.h:102:14: error: 'string' is not a member of
> 'std'
> /usr/local/include/libvmaf.h:102:37: error: template argument 1 is invalid
>      std::map<std::string, StatVector> d;
>                                      ^
> /usr/local/include/libvmaf.h:102:37: error: template argument 3 is invalid
> /usr/local/include/libvmaf.h:102:37: error: template argument 4 is invalid
> /usr/local/include/libvmaf.h:116:12: error: 'unique_ptr' in namespace
> 'std' does not name a type
>      static std::unique_ptr<IVmafQualityRunner>
>             ^
> make[2]: *** [encoder/CMakeFiles/encoder.dir/api.cpp.o] Error 1
> make[1]: *** [encoder/CMakeFiles/encoder.dir/all] Error 2
> make: *** [all] Error 2
>
>
>
>
> What's wrong with my building process?
>
>
> Thanks!
>
>
> Regards
>
>
> Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20190906/2d9f4112/attachment.html>


More information about the x265-devel mailing list